Merge tag 'tegra-for-5.17-arm-dt-fixes' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / interconnect / qcom,rpm.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/interconnect/qcom,rpm.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm RPM Network-On-Chip Interconnect
8
9 maintainers:
10   - Georgi Djakov <georgi.djakov@linaro.org>
11
12 description: |
13   RPM interconnect providers support system bandwidth requirements through
14   RPM processor. The provider is able to communicate with the RPM through
15   the RPM shared memory device.
16
17 properties:
18   reg:
19     maxItems: 1
20
21   compatible:
22     enum:
23       - qcom,msm8916-bimc
24       - qcom,msm8916-pcnoc
25       - qcom,msm8916-snoc
26       - qcom,msm8939-bimc
27       - qcom,msm8939-pcnoc
28       - qcom,msm8939-snoc
29       - qcom,msm8939-snoc-mm
30       - qcom,msm8996-a0noc
31       - qcom,msm8996-a1noc
32       - qcom,msm8996-a2noc
33       - qcom,msm8996-bimc
34       - qcom,msm8996-cnoc
35       - qcom,msm8996-mnoc
36       - qcom,msm8996-pnoc
37       - qcom,msm8996-snoc
38       - qcom,qcs404-bimc
39       - qcom,qcs404-pcnoc
40       - qcom,qcs404-snoc
41       - qcom,sdm660-a2noc
42       - qcom,sdm660-bimc
43       - qcom,sdm660-cnoc
44       - qcom,sdm660-gnoc
45       - qcom,sdm660-mnoc
46       - qcom,sdm660-snoc
47
48   '#interconnect-cells':
49     const: 1
50
51   clocks:
52     minItems: 2
53     maxItems: 7
54
55   clock-names:
56     minItems: 2
57     maxItems: 7
58
59   power-domains:
60     maxItems: 1
61
62 required:
63   - compatible
64   - reg
65   - '#interconnect-cells'
66   - clock-names
67   - clocks
68
69 additionalProperties: false
70
71 allOf:
72   - if:
73       properties:
74         compatible:
75           contains:
76             enum:
77               - qcom,msm8916-bimc
78               - qcom,msm8916-pcnoc
79               - qcom,msm8916-snoc
80               - qcom,msm8939-bimc
81               - qcom,msm8939-pcnoc
82               - qcom,msm8939-snoc
83               - qcom,msm8939-snoc-mm
84               - qcom,msm8996-a1noc
85               - qcom,msm8996-a2noc
86               - qcom,msm8996-bimc
87               - qcom,msm8996-cnoc
88               - qcom,msm8996-pnoc
89               - qcom,msm8996-snoc
90               - qcom,qcs404-bimc
91               - qcom,qcs404-pcnoc
92               - qcom,qcs404-snoc
93               - qcom,sdm660-bimc
94               - qcom,sdm660-cnoc
95               - qcom,sdm660-gnoc
96               - qcom,sdm660-snoc
97
98       then:
99         properties:
100           clock-names:
101             items:
102               - const: bus
103               - const: bus_a
104
105           clocks:
106             items:
107               - description: Bus Clock
108               - description: Bus A Clock
109
110   - if:
111       properties:
112         compatible:
113           contains:
114             enum:
115               - qcom,msm8996-mnoc
116               - qcom,sdm660-mnoc
117
118     then:
119       properties:
120         clock-names:
121           items:
122             - const: bus
123             - const: bus_a
124             - const: iface
125
126         clocks:
127           items:
128             - description: Bus Clock.
129             - description: Bus A Clock.
130             - description: CPU-NoC High-performance Bus Clock.
131
132   - if:
133       properties:
134         compatible:
135           contains:
136             enum:
137               - qcom,msm8996-a0noc
138
139     then:
140       properties:
141         clock-names:
142           items:
143             - const: aggre0_snoc_axi
144             - const: aggre0_cnoc_ahb
145             - const: aggre0_noc_mpu_cfg
146
147         clocks:
148           items:
149             - description: Aggregate0 System NoC AXI Clock.
150             - description: Aggregate0 Config NoC AHB Clock.
151             - description: Aggregate0 NoC MPU Clock.
152
153       required:
154         - power-domains
155
156   - if:
157       properties:
158         compatible:
159           contains:
160             enum:
161               - qcom,sdm660-a2noc
162
163     then:
164       properties:
165         clock-names:
166           items:
167             - const: bus
168             - const: bus_a
169             - const: ipa
170             - const: ufs_axi
171             - const: aggre2_ufs_axi
172             - const: aggre2_usb3_axi
173             - const: cfg_noc_usb2_axi
174
175         clocks:
176           items:
177             - description: Bus Clock.
178             - description: Bus A Clock.
179             - description: IPA Clock.
180             - description: UFS AXI Clock.
181             - description: Aggregate2 UFS AXI Clock.
182             - description: Aggregate2 USB3 AXI Clock.
183             - description: Config NoC USB2 AXI Clock.
184
185 examples:
186   - |
187       #include <dt-bindings/clock/qcom,rpmcc.h>
188
189       bimc: interconnect@400000 {
190               compatible = "qcom,msm8916-bimc";
191               reg = <0x00400000 0x62000>;
192               #interconnect-cells = <1>;
193               clock-names = "bus", "bus_a";
194               clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
195                        <&rpmcc RPM_SMD_BIMC_A_CLK>;
196       };
197
198       pcnoc: interconnect@500000 {
199               compatible = "qcom,msm8916-pcnoc";
200               reg = <0x00500000 0x11000>;
201               #interconnect-cells = <1>;
202               clock-names = "bus", "bus_a";
203               clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
204                        <&rpmcc RPM_SMD_PCNOC_A_CLK>;
205       };
206
207       snoc: interconnect@580000 {
208               compatible = "qcom,msm8916-snoc";
209               reg = <0x00580000 0x14000>;
210               #interconnect-cells = <1>;
211               clock-names = "bus", "bus_a";
212               clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
213                        <&rpmcc RPM_SMD_SNOC_A_CLK>;
214       };