1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/interconnect/qcom,qcm2290.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm QCM2290 Network-On-Chip interconnect
8
9 maintainers:
10 - Shawn Guo <shawn.guo@linaro.org>
11
12 description: |
13 The Qualcomm QCM2290 interconnect providers support adjusting the
14 bandwidth requirements between the various NoC fabrics.
15
16 properties:
17 reg:
18 maxItems: 1
19
20 compatible:
21 enum:
22 - qcom,qcm2290-bimc
23 - qcom,qcm2290-cnoc
24 - qcom,qcm2290-snoc
25
26 '#interconnect-cells':
27 const: 1
28
29 clock-names:
30 items:
31 - const: bus
32 - const: bus_a
33
34 clocks:
35 items:
36 - description: Bus Clock
37 - description: Bus A Clock
38
39 # Child node's properties
40 patternProperties:
41 '^interconnect-[a-z0-9]+$':
42 type: object
43 description:
44 The interconnect providers do not have a separate QoS register space,
45 but share parent's space.
46
47 properties:
48 compatible:
49 enum:
50 - qcom,qcm2290-qup-virt
51 - qcom,qcm2290-mmrt-virt
52 - qcom,qcm2290-mmnrt-virt
53
54 '#interconnect-cells':
55 const: 1
56
57 clock-names:
58 items:
59 - const: bus
60 - const: bus_a
61
62 clocks:
63 items:
64 - description: Bus Clock
65 - description: Bus A Clock
66
67 required:
68 - compatible
69 - '#interconnect-cells'
70 - clock-names
71 - clocks
72
73 additionalProperties: false
74
75 required:
76 - compatible
77 - reg
78 - '#interconnect-cells'
79 - clock-names
80 - clocks
81
82 additionalProperties: false
83
84 examples:
85 - |
86 #include <dt-bindings/clock/qcom,rpmcc.h>
87
88 snoc: interconnect@1880000 {
89 compatible = "qcom,qcm2290-snoc";
90 reg = <0x01880000 0x60200>;
91 #interconnect-cells = <1>;
92 clock-names = "bus", "bus_a";
93 clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
94 <&rpmcc RPM_SMD_SNOC_A_CLK>;
95
96 qup_virt: interconnect-qup {
97 compatible = "qcom,qcm2290-qup-virt";
98 #interconnect-cells = <1>;
99 clock-names = "bus", "bus_a";
100 clocks = <&rpmcc RPM_SMD_QUP_CLK>,
101 <&rpmcc RPM_SMD_QUP_A_CLK>;
102 };
103
104 mmnrt_virt: interconnect-mmnrt {
105 compatible = "qcom,qcm2290-mmnrt-virt";
106 #interconnect-cells = <1>;
107 clock-names = "bus", "bus_a";
108 clocks = <&rpmcc RPM_SMD_MMNRT_CLK>,
109 <&rpmcc RPM_SMD_MMNRT_A_CLK>;
110 };
111
112 mmrt_virt: interconnect-mmrt {
113 compatible = "qcom,qcm2290-mmrt-virt";
114 #interconnect-cells = <1>;
115 clock-names = "bus", "bus_a";
116 clocks = <&rpmcc RPM_SMD_MMRT_CLK>,
117 <&rpmcc RPM_SMD_MMRT_A_CLK>;
118 };
119 };
120
121 cnoc: interconnect@1900000 {
122 compatible = "qcom,qcm2290-cnoc";
123 reg = <0x01900000 0x8200>;
124 #interconnect-cells = <1>;
125 clock-names = "bus", "bus_a";
126 clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
127 <&rpmcc RPM_SMD_CNOC_A_CLK>;
128 };
129
130 bimc: interconnect@4480000 {
131 compatible = "qcom,qcm2290-bimc";
132 reg = <0x04480000 0x80000>;
133 #interconnect-cells = <1>;
134 clock-names = "bus", "bus_a";
135 clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
136 <&rpmcc RPM_SMD_BIMC_A_CLK>;
137 };
Cache object: 527a5e3065de40f394799e9ea6f0f830
|