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