blob: 8f6bc6399626b61394ced40c70105ac6f8c88767 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Qualcomm SDM660 Network-On-Chip interconnect
8
9maintainers:
10 - Konrad Dybcio <konradybcio@kernel.org>
11
12description: |
13 The Qualcomm SDM660 interconnect providers support adjusting the
14 bandwidth requirements between the various NoC fabrics.
15
16properties:
17 compatible:
18 enum:
19 - qcom,sdm660-a2noc
20 - qcom,sdm660-bimc
21 - qcom,sdm660-cnoc
22 - qcom,sdm660-gnoc
23 - qcom,sdm660-mnoc
24 - qcom,sdm660-snoc
25
26 reg:
27 maxItems: 1
28
29 clock-names:
30 minItems: 1
31 maxItems: 5
32
33 clocks:
34 minItems: 1
35 maxItems: 5
36
37required:
38 - compatible
39 - reg
40
41unevaluatedProperties: false
42
43allOf:
44 - $ref: qcom,rpm-common.yaml#
45 - if:
46 properties:
47 compatible:
48 const: qcom,sdm660-mnoc
49
50 then:
51 properties:
52 clocks:
53 items:
54 - description: CPU-NoC High-performance Bus Clock.
55
56 clock-names:
57 const: iface
58
59 - if:
60 properties:
61 compatible:
62 const: qcom,sdm660-a2noc
63
64 then:
65 properties:
66 clocks:
67 items:
68 - description: IPA Clock.
69 - description: UFS AXI Clock.
70 - description: Aggregate2 UFS AXI Clock.
71 - description: Aggregate2 USB3 AXI Clock.
72 - description: Config NoC USB2 AXI Clock.
73
74 clock-names:
75 items:
76 - const: ipa
77 - const: ufs_axi
78 - const: aggre2_ufs_axi
79 - const: aggre2_usb3_axi
80 - const: cfg_noc_usb2_axi
81
82examples:
83 - |
84 #include <dt-bindings/clock/qcom,gcc-sdm660.h>
85 #include <dt-bindings/clock/qcom,mmcc-sdm660.h>
86 #include <dt-bindings/clock/qcom,rpmcc.h>
87
88 bimc: interconnect@1008000 {
89 compatible = "qcom,sdm660-bimc";
90 reg = <0x01008000 0x78000>;
91 #interconnect-cells = <1>;
92 };
93
94 a2noc: interconnect@1704000 {
95 compatible = "qcom,sdm660-a2noc";
96 reg = <0x01704000 0xc100>;
97 #interconnect-cells = <1>;
98 clocks = <&rpmcc RPM_SMD_IPA_CLK>,
99 <&gcc GCC_UFS_AXI_CLK>,
100 <&gcc GCC_AGGRE2_UFS_AXI_CLK>,
101 <&gcc GCC_AGGRE2_USB3_AXI_CLK>,
102 <&gcc GCC_CFG_NOC_USB2_AXI_CLK>;
103 clock-names = "ipa",
104 "ufs_axi",
105 "aggre2_ufs_axi",
106 "aggre2_usb3_axi",
107 "cfg_noc_usb2_axi";
108 };