xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,msm8996.yaml (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1*d03374a6SKonrad Dybcio# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*d03374a6SKonrad Dybcio%YAML 1.2
3*d03374a6SKonrad Dybcio---
4*d03374a6SKonrad Dybcio$id: http://devicetree.org/schemas/interconnect/qcom,msm8996.yaml#
5*d03374a6SKonrad Dybcio$schema: http://devicetree.org/meta-schemas/core.yaml#
6*d03374a6SKonrad Dybcio
7*d03374a6SKonrad Dybciotitle: Qualcomm MSM8996 Network-On-Chip interconnect
8*d03374a6SKonrad Dybcio
9*d03374a6SKonrad Dybciomaintainers:
10*d03374a6SKonrad Dybcio  - Konrad Dybcio <konradybcio@kernel.org>
11*d03374a6SKonrad Dybcio
12*d03374a6SKonrad Dybciodescription: |
13*d03374a6SKonrad Dybcio  The Qualcomm MSM8996 interconnect providers support adjusting the
14*d03374a6SKonrad Dybcio  bandwidth requirements between the various NoC fabrics.
15*d03374a6SKonrad Dybcio
16*d03374a6SKonrad Dybcioproperties:
17*d03374a6SKonrad Dybcio  compatible:
18*d03374a6SKonrad Dybcio    enum:
19*d03374a6SKonrad Dybcio      - qcom,msm8996-a0noc
20*d03374a6SKonrad Dybcio      - qcom,msm8996-a1noc
21*d03374a6SKonrad Dybcio      - qcom,msm8996-a2noc
22*d03374a6SKonrad Dybcio      - qcom,msm8996-bimc
23*d03374a6SKonrad Dybcio      - qcom,msm8996-cnoc
24*d03374a6SKonrad Dybcio      - qcom,msm8996-mnoc
25*d03374a6SKonrad Dybcio      - qcom,msm8996-pnoc
26*d03374a6SKonrad Dybcio      - qcom,msm8996-snoc
27*d03374a6SKonrad Dybcio
28*d03374a6SKonrad Dybcio  reg:
29*d03374a6SKonrad Dybcio    maxItems: 1
30*d03374a6SKonrad Dybcio
31*d03374a6SKonrad Dybcio  clock-names:
32*d03374a6SKonrad Dybcio    minItems: 1
33*d03374a6SKonrad Dybcio    maxItems: 3
34*d03374a6SKonrad Dybcio
35*d03374a6SKonrad Dybcio  clocks:
36*d03374a6SKonrad Dybcio    minItems: 1
37*d03374a6SKonrad Dybcio    maxItems: 3
38*d03374a6SKonrad Dybcio
39*d03374a6SKonrad Dybcio  power-domains:
40*d03374a6SKonrad Dybcio    maxItems: 1
41*d03374a6SKonrad Dybcio
42*d03374a6SKonrad Dybciorequired:
43*d03374a6SKonrad Dybcio  - compatible
44*d03374a6SKonrad Dybcio  - reg
45*d03374a6SKonrad Dybcio
46*d03374a6SKonrad DybciounevaluatedProperties: false
47*d03374a6SKonrad Dybcio
48*d03374a6SKonrad DybcioallOf:
49*d03374a6SKonrad Dybcio  - $ref: qcom,rpm-common.yaml#
50*d03374a6SKonrad Dybcio  - if:
51*d03374a6SKonrad Dybcio      properties:
52*d03374a6SKonrad Dybcio        compatible:
53*d03374a6SKonrad Dybcio          const: qcom,msm8996-a0noc
54*d03374a6SKonrad Dybcio
55*d03374a6SKonrad Dybcio    then:
56*d03374a6SKonrad Dybcio      properties:
57*d03374a6SKonrad Dybcio        clocks:
58*d03374a6SKonrad Dybcio          items:
59*d03374a6SKonrad Dybcio            - description: Aggregate0 System NoC AXI Clock.
60*d03374a6SKonrad Dybcio            - description: Aggregate0 Config NoC AHB Clock.
61*d03374a6SKonrad Dybcio            - description: Aggregate0 NoC MPU Clock.
62*d03374a6SKonrad Dybcio
63*d03374a6SKonrad Dybcio        clock-names:
64*d03374a6SKonrad Dybcio          items:
65*d03374a6SKonrad Dybcio            - const: aggre0_snoc_axi
66*d03374a6SKonrad Dybcio            - const: aggre0_cnoc_ahb
67*d03374a6SKonrad Dybcio            - const: aggre0_noc_mpu_cfg
68*d03374a6SKonrad Dybcio
69*d03374a6SKonrad Dybcio      required:
70*d03374a6SKonrad Dybcio        - power-domains
71*d03374a6SKonrad Dybcio
72*d03374a6SKonrad Dybcio  - if:
73*d03374a6SKonrad Dybcio      properties:
74*d03374a6SKonrad Dybcio        compatible:
75*d03374a6SKonrad Dybcio          const: qcom,msm8996-mnoc
76*d03374a6SKonrad Dybcio
77*d03374a6SKonrad Dybcio    then:
78*d03374a6SKonrad Dybcio      properties:
79*d03374a6SKonrad Dybcio        clocks:
80*d03374a6SKonrad Dybcio          items:
81*d03374a6SKonrad Dybcio            - description: CPU-NoC High-performance Bus Clock.
82*d03374a6SKonrad Dybcio
83*d03374a6SKonrad Dybcio        clock-names:
84*d03374a6SKonrad Dybcio          const: iface
85*d03374a6SKonrad Dybcio
86*d03374a6SKonrad Dybcio  - if:
87*d03374a6SKonrad Dybcio      properties:
88*d03374a6SKonrad Dybcio        compatible:
89*d03374a6SKonrad Dybcio          const: qcom,msm8996-a2noc
90*d03374a6SKonrad Dybcio
91*d03374a6SKonrad Dybcio    then:
92*d03374a6SKonrad Dybcio      properties:
93*d03374a6SKonrad Dybcio        clocks:
94*d03374a6SKonrad Dybcio          items:
95*d03374a6SKonrad Dybcio            - description: Aggregate2 NoC UFS AXI Clock
96*d03374a6SKonrad Dybcio            - description: UFS AXI Clock
97*d03374a6SKonrad Dybcio
98*d03374a6SKonrad Dybcio        clock-names:
99*d03374a6SKonrad Dybcio          items:
100*d03374a6SKonrad Dybcio            - const: aggre2_ufs_axi
101*d03374a6SKonrad Dybcio            - const: ufs_axi
102*d03374a6SKonrad Dybcio
103*d03374a6SKonrad Dybcioexamples:
104*d03374a6SKonrad Dybcio  - |
105*d03374a6SKonrad Dybcio    #include <dt-bindings/clock/qcom,gcc-msm8996.h>
106*d03374a6SKonrad Dybcio    #include <dt-bindings/clock/qcom,mmcc-msm8996.h>
107*d03374a6SKonrad Dybcio    #include <dt-bindings/clock/qcom,rpmcc.h>
108*d03374a6SKonrad Dybcio
109*d03374a6SKonrad Dybcio    bimc: interconnect@408000 {
110*d03374a6SKonrad Dybcio        compatible = "qcom,msm8996-bimc";
111*d03374a6SKonrad Dybcio        reg = <0x00408000 0x5a000>;
112*d03374a6SKonrad Dybcio        #interconnect-cells = <1>;
113*d03374a6SKonrad Dybcio    };
114*d03374a6SKonrad Dybcio
115*d03374a6SKonrad Dybcio    a0noc: interconnect@543000 {
116*d03374a6SKonrad Dybcio        compatible = "qcom,msm8996-a0noc";
117*d03374a6SKonrad Dybcio        reg = <0x00543000 0x6000>;
118*d03374a6SKonrad Dybcio        #interconnect-cells = <1>;
119*d03374a6SKonrad Dybcio        clocks = <&gcc GCC_AGGRE0_SNOC_AXI_CLK>,
120*d03374a6SKonrad Dybcio                 <&gcc GCC_AGGRE0_CNOC_AHB_CLK>,
121*d03374a6SKonrad Dybcio                 <&gcc GCC_AGGRE0_NOC_MPU_CFG_AHB_CLK>;
122*d03374a6SKonrad Dybcio        clock-names = "aggre0_snoc_axi",
123*d03374a6SKonrad Dybcio                      "aggre0_cnoc_ahb",
124*d03374a6SKonrad Dybcio                      "aggre0_noc_mpu_cfg";
125*d03374a6SKonrad Dybcio        power-domains = <&gcc AGGRE0_NOC_GDSC>;
126*d03374a6SKonrad Dybcio    };
127