Skip to content

Commit 956329e

Browse files
RohitAgarwalQUICGeorgi Djakov
authored andcommitted
dt-bindings: interconnect: Add compatibles for SDX75
Add dt-bindings compatibles and interconnect IDs for Qualcomm SDX75 platform. Signed-off-by: Rohit Agarwal <quic_rohiagar@quicinc.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/1694614256-24109-2-git-send-email-quic_rohiagar@quicinc.com Signed-off-by: Georgi Djakov <djakov@kernel.org>
1 parent 0bb80ec commit 956329e

2 files changed

Lines changed: 194 additions & 0 deletions

File tree

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/interconnect/qcom,sdx75-rpmh.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm RPMh Network-On-Chip Interconnect on SDX75
8+
9+
maintainers:
10+
- Rohit Agarwal <quic_rohiagar@quicinc.com>
11+
12+
description:
13+
RPMh interconnect providers support system bandwidth requirements through
14+
RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
15+
able to communicate with the BCM through the Resource State Coordinator (RSC)
16+
associated with each execution environment. Provider nodes must point to at
17+
least one RPMh device child node pertaining to their RSC and each provider
18+
can map to multiple RPMh resources.
19+
20+
properties:
21+
compatible:
22+
enum:
23+
- qcom,sdx75-clk-virt
24+
- qcom,sdx75-dc-noc
25+
- qcom,sdx75-gem-noc
26+
- qcom,sdx75-mc-virt
27+
- qcom,sdx75-pcie-anoc
28+
- qcom,sdx75-system-noc
29+
30+
'#interconnect-cells': true
31+
32+
reg:
33+
maxItems: 1
34+
35+
clocks:
36+
maxItems: 1
37+
38+
required:
39+
- compatible
40+
41+
allOf:
42+
- $ref: qcom,rpmh-common.yaml#
43+
- if:
44+
properties:
45+
compatible:
46+
contains:
47+
enum:
48+
- qcom,sdx75-clk-virt
49+
- qcom,sdx75-mc-virt
50+
then:
51+
properties:
52+
reg: false
53+
else:
54+
required:
55+
- reg
56+
57+
- if:
58+
properties:
59+
compatible:
60+
contains:
61+
enum:
62+
- qcom,sdx75-clk-virt
63+
then:
64+
properties:
65+
clocks:
66+
items:
67+
- description: RPMH CC QPIC Clock
68+
required:
69+
- clocks
70+
else:
71+
properties:
72+
clocks: false
73+
74+
unevaluatedProperties: false
75+
76+
examples:
77+
- |
78+
#include <dt-bindings/clock/qcom,rpmh.h>
79+
80+
clk_virt: interconnect-0 {
81+
compatible = "qcom,sdx75-clk-virt";
82+
#interconnect-cells = <2>;
83+
qcom,bcm-voters = <&apps_bcm_voter>;
84+
clocks = <&rpmhcc RPMH_QPIC_CLK>;
85+
};
86+
87+
system_noc: interconnect@1640000 {
88+
compatible = "qcom,sdx75-system-noc";
89+
reg = <0x1640000 0x4b400>;
90+
#interconnect-cells = <2>;
91+
qcom,bcm-voters = <&apps_bcm_voter>;
92+
};
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
/* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */
2+
/*
3+
* Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
4+
*/
5+
6+
#ifndef __DT_BINDINGS_INTERCONNECT_QCOM_SDX75_H
7+
#define __DT_BINDINGS_INTERCONNECT_QCOM_SDX75_H
8+
9+
#define MASTER_QPIC_CORE 0
10+
#define MASTER_QUP_CORE_0 1
11+
#define SLAVE_QPIC_CORE 2
12+
#define SLAVE_QUP_CORE_0 3
13+
14+
#define MASTER_LLCC 0
15+
#define SLAVE_EBI1 1
16+
17+
#define MASTER_CNOC_DC_NOC 0
18+
#define SLAVE_LAGG_CFG 1
19+
#define SLAVE_MCCC_MASTER 2
20+
#define SLAVE_GEM_NOC_CFG 3
21+
#define SLAVE_SNOOP_BWMON 4
22+
23+
#define MASTER_SYS_TCU 0
24+
#define MASTER_APPSS_PROC 1
25+
#define MASTER_GEM_NOC_CFG 2
26+
#define MASTER_MSS_PROC 3
27+
#define MASTER_ANOC_PCIE_GEM_NOC 4
28+
#define MASTER_SNOC_SF_MEM_NOC 5
29+
#define MASTER_GIC 6
30+
#define MASTER_IPA_PCIE 7
31+
#define SLAVE_GEM_NOC_CNOC 8
32+
#define SLAVE_LLCC 9
33+
#define SLAVE_MEM_NOC_PCIE_SNOC 10
34+
#define SLAVE_SERVICE_GEM_NOC 11
35+
36+
#define MASTER_PCIE_0 0
37+
#define MASTER_PCIE_1 1
38+
#define MASTER_PCIE_2 2
39+
#define SLAVE_ANOC_PCIE_GEM_NOC 3
40+
41+
#define MASTER_AUDIO 0
42+
#define MASTER_GIC_AHB 1
43+
#define MASTER_PCIE_RSCC 2
44+
#define MASTER_QDSS_BAM 3
45+
#define MASTER_QPIC 4
46+
#define MASTER_QUP_0 5
47+
#define MASTER_ANOC_SNOC 6
48+
#define MASTER_GEM_NOC_CNOC 7
49+
#define MASTER_GEM_NOC_PCIE_SNOC 8
50+
#define MASTER_SNOC_CFG 9
51+
#define MASTER_PCIE_ANOC_CFG 10
52+
#define MASTER_CRYPTO 11
53+
#define MASTER_IPA 12
54+
#define MASTER_MVMSS 13
55+
#define MASTER_EMAC_0 14
56+
#define MASTER_EMAC_1 15
57+
#define MASTER_QDSS_ETR 16
58+
#define MASTER_QDSS_ETR_1 17
59+
#define MASTER_SDCC_1 18
60+
#define MASTER_SDCC_4 19
61+
#define MASTER_USB3_0 20
62+
#define SLAVE_ETH0_CFG 21
63+
#define SLAVE_ETH1_CFG 22
64+
#define SLAVE_AUDIO 23
65+
#define SLAVE_CLK_CTL 24
66+
#define SLAVE_CRYPTO_0_CFG 25
67+
#define SLAVE_IMEM_CFG 26
68+
#define SLAVE_IPA_CFG 27
69+
#define SLAVE_IPC_ROUTER_CFG 28
70+
#define SLAVE_CNOC_MSS 29
71+
#define SLAVE_ICBDI_MVMSS_CFG 30
72+
#define SLAVE_PCIE_0_CFG 31
73+
#define SLAVE_PCIE_1_CFG 32
74+
#define SLAVE_PCIE_2_CFG 33
75+
#define SLAVE_PCIE_RSC_CFG 34
76+
#define SLAVE_PDM 35
77+
#define SLAVE_PRNG 36
78+
#define SLAVE_QDSS_CFG 37
79+
#define SLAVE_QPIC 38
80+
#define SLAVE_QUP_0 39
81+
#define SLAVE_SDCC_1 40
82+
#define SLAVE_SDCC_4 41
83+
#define SLAVE_SPMI_VGI_COEX 42
84+
#define SLAVE_TCSR 43
85+
#define SLAVE_TLMM 44
86+
#define SLAVE_USB3 45
87+
#define SLAVE_USB3_PHY_CFG 46
88+
#define SLAVE_A1NOC_CFG 47
89+
#define SLAVE_DDRSS_CFG 48
90+
#define SLAVE_SNOC_GEM_NOC_SF 49
91+
#define SLAVE_SNOC_CFG 50
92+
#define SLAVE_PCIE_ANOC_CFG 51
93+
#define SLAVE_IMEM 52
94+
#define SLAVE_SERVICE_PCIE_ANOC 53
95+
#define SLAVE_SERVICE_SNOC 54
96+
#define SLAVE_PCIE_0 55
97+
#define SLAVE_PCIE_1 56
98+
#define SLAVE_PCIE_2 57
99+
#define SLAVE_QDSS_STM 58
100+
#define SLAVE_TCU 59
101+
102+
#endif

0 commit comments

Comments
 (0)