selftests: drivers/dma-buf: Fix implicit declaration warns
[platform/kernel/linux-rpi.git] / Documentation / devicetree / bindings / interconnect / qcom,sdm660.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,sdm660.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm SDM660 Network-On-Chip interconnect
8
9 maintainers:
10   - AngeloGioacchino Del Regno <kholk11@gmail.com>
11
12 description: |
13   The Qualcomm SDM660 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,sdm660-a2noc
23       - qcom,sdm660-bimc
24       - qcom,sdm660-cnoc
25       - qcom,sdm660-gnoc
26       - qcom,sdm660-mnoc
27       - qcom,sdm660-snoc
28
29   '#interconnect-cells':
30     const: 1
31
32   clocks:
33     minItems: 1
34     maxItems: 3
35
36   clock-names:
37     minItems: 1
38     maxItems: 3
39
40 required:
41   - compatible
42   - reg
43   - '#interconnect-cells'
44   - clock-names
45   - clocks
46
47 additionalProperties: false
48
49 allOf:
50   - if:
51       properties:
52         compatible:
53           contains:
54             enum:
55               - qcom,sdm660-mnoc
56     then:
57       properties:
58         clocks:
59           items:
60             - description: Bus Clock.
61             - description: Bus A Clock.
62             - description: CPU-NoC High-performance Bus Clock.
63         clock-names:
64           items:
65             - const: bus
66             - const: bus_a
67             - const: iface
68
69   - if:
70       properties:
71         compatible:
72           contains:
73             enum:
74               - qcom,sdm660-a2noc
75               - qcom,sdm660-bimc
76               - qcom,sdm660-cnoc
77               - qcom,sdm660-gnoc
78               - qcom,sdm660-snoc
79     then:
80       properties:
81         clocks:
82           items:
83             - description: Bus Clock.
84             - description: Bus A Clock.
85         clock-names:
86           items:
87             - const: bus
88             - const: bus_a
89
90 examples:
91   - |
92       #include <dt-bindings/clock/qcom,rpmcc.h>
93       #include <dt-bindings/clock/qcom,mmcc-sdm660.h>
94
95       bimc: interconnect@1008000 {
96               compatible = "qcom,sdm660-bimc";
97               reg = <0x01008000 0x78000>;
98               #interconnect-cells = <1>;
99               clock-names = "bus", "bus_a";
100               clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
101                        <&rpmcc RPM_SMD_BIMC_A_CLK>;
102       };
103
104       cnoc: interconnect@1500000 {
105               compatible = "qcom,sdm660-cnoc";
106               reg = <0x01500000 0x10000>;
107               #interconnect-cells = <1>;
108               clock-names = "bus", "bus_a";
109               clocks = <&rpmcc RPM_SMD_CNOC_CLK>,
110                        <&rpmcc RPM_SMD_CNOC_A_CLK>;
111       };
112
113       snoc: interconnect@1626000 {
114               compatible = "qcom,sdm660-snoc";
115               reg = <0x01626000 0x7090>;
116               #interconnect-cells = <1>;
117               clock-names = "bus", "bus_a";
118               clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
119                        <&rpmcc RPM_SMD_SNOC_A_CLK>;
120       };
121
122       a2noc: interconnect@1704000 {
123               compatible = "qcom,sdm660-a2noc";
124               reg = <0x01704000 0xc100>;
125               #interconnect-cells = <1>;
126               clock-names = "bus", "bus_a";
127               clocks = <&rpmcc RPM_SMD_AGGR2_NOC_CLK>,
128                        <&rpmcc RPM_SMD_AGGR2_NOC_A_CLK>;
129       };
130
131       mnoc: interconnect@1745000 {
132               compatible = "qcom,sdm660-mnoc";
133               reg = <0x01745000 0xa010>;
134               #interconnect-cells = <1>;
135               clock-names = "bus", "bus_a", "iface";
136               clocks = <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK>,
137                        <&rpmcc RPM_SMD_MMSSNOC_AXI_CLK_A>,
138                        <&mmcc AHB_CLK_SRC>;
139       };
140
141       gnoc: interconnect@17900000 {
142               compatible = "qcom,sdm660-gnoc";
143               reg = <0x17900000 0xe000>;
144               #interconnect-cells = <1>;
145               clock-names = "bus", "bus_a";
146               clocks = <&xo_board>, <&xo_board>;
147       };