1*2fafc335SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*2fafc335SKrzysztof Kozlowski%YAML 1.2
3*2fafc335SKrzysztof Kozlowski---
4*2fafc335SKrzysztof Kozlowski$id: http://devicetree.org/schemas/interconnect/qcom,sm8450-rpmh.yaml#
5*2fafc335SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2fafc335SKrzysztof Kozlowski
7*2fafc335SKrzysztof Kozlowskititle: Qualcomm RPMh Network-On-Chip Interconnect on SM8450
8*2fafc335SKrzysztof Kozlowski
9*2fafc335SKrzysztof Kozlowskimaintainers:
10*2fafc335SKrzysztof Kozlowski  - Bjorn Andersson <andersson@kernel.org>
11*2fafc335SKrzysztof Kozlowski  - Konrad Dybcio <konrad.dybcio@linaro.org>
12*2fafc335SKrzysztof Kozlowski
13*2fafc335SKrzysztof Kozlowskidescription: |
14*2fafc335SKrzysztof Kozlowski  RPMh interconnect providers support system bandwidth requirements through
15*2fafc335SKrzysztof Kozlowski  RPMh hardware accelerators known as Bus Clock Manager (BCM).
16*2fafc335SKrzysztof Kozlowski
17*2fafc335SKrzysztof Kozlowski  See also:: include/dt-bindings/interconnect/qcom,sm8450.h
18*2fafc335SKrzysztof Kozlowski
19*2fafc335SKrzysztof Kozlowskiproperties:
20*2fafc335SKrzysztof Kozlowski  compatible:
21*2fafc335SKrzysztof Kozlowski    enum:
22*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-aggre1-noc
23*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-aggre2-noc
24*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-clk-virt
25*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-config-noc
26*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-gem-noc
27*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-lpass-ag-noc
28*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-mc-virt
29*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-mmss-noc
30*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-nsp-noc
31*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-pcie-anoc
32*2fafc335SKrzysztof Kozlowski      - qcom,sm8450-system-noc
33*2fafc335SKrzysztof Kozlowski
34*2fafc335SKrzysztof Kozlowski  reg:
35*2fafc335SKrzysztof Kozlowski    maxItems: 1
36*2fafc335SKrzysztof Kozlowski
37*2fafc335SKrzysztof Kozlowski  clocks:
38*2fafc335SKrzysztof Kozlowski    minItems: 1
39*2fafc335SKrzysztof Kozlowski    maxItems: 4
40*2fafc335SKrzysztof Kozlowski
41*2fafc335SKrzysztof Kozlowskirequired:
42*2fafc335SKrzysztof Kozlowski  - compatible
43*2fafc335SKrzysztof Kozlowski
44*2fafc335SKrzysztof KozlowskiallOf:
45*2fafc335SKrzysztof Kozlowski  - $ref: qcom,rpmh-common.yaml#
46*2fafc335SKrzysztof Kozlowski  - if:
47*2fafc335SKrzysztof Kozlowski      properties:
48*2fafc335SKrzysztof Kozlowski        compatible:
49*2fafc335SKrzysztof Kozlowski          contains:
50*2fafc335SKrzysztof Kozlowski            enum:
51*2fafc335SKrzysztof Kozlowski              - qcom,sm8450-clk-virt
52*2fafc335SKrzysztof Kozlowski              - qcom,sm8450-mc-virt
53*2fafc335SKrzysztof Kozlowski    then:
54*2fafc335SKrzysztof Kozlowski      properties:
55*2fafc335SKrzysztof Kozlowski        reg: false
56*2fafc335SKrzysztof Kozlowski    else:
57*2fafc335SKrzysztof Kozlowski      required:
58*2fafc335SKrzysztof Kozlowski        - reg
59*2fafc335SKrzysztof Kozlowski
60*2fafc335SKrzysztof Kozlowski  - if:
61*2fafc335SKrzysztof Kozlowski      properties:
62*2fafc335SKrzysztof Kozlowski        compatible:
63*2fafc335SKrzysztof Kozlowski          contains:
64*2fafc335SKrzysztof Kozlowski            enum:
65*2fafc335SKrzysztof Kozlowski              - qcom,sm8450-aggre1-noc
66*2fafc335SKrzysztof Kozlowski    then:
67*2fafc335SKrzysztof Kozlowski      properties:
68*2fafc335SKrzysztof Kozlowski        clocks:
69*2fafc335SKrzysztof Kozlowski          items:
70*2fafc335SKrzysztof Kozlowski            - description: aggre UFS PHY AXI clock
71*2fafc335SKrzysztof Kozlowski            - description: aggre USB3 PRIM AXI clock
72*2fafc335SKrzysztof Kozlowski
73*2fafc335SKrzysztof Kozlowski  - if:
74*2fafc335SKrzysztof Kozlowski      properties:
75*2fafc335SKrzysztof Kozlowski        compatible:
76*2fafc335SKrzysztof Kozlowski          contains:
77*2fafc335SKrzysztof Kozlowski            enum:
78*2fafc335SKrzysztof Kozlowski              - qcom,sm8450-aggre2-noc
79*2fafc335SKrzysztof Kozlowski    then:
80*2fafc335SKrzysztof Kozlowski      properties:
81*2fafc335SKrzysztof Kozlowski        clocks:
82*2fafc335SKrzysztof Kozlowski          items:
83*2fafc335SKrzysztof Kozlowski            - description: aggre-NOC PCIe 0 AXI clock
84*2fafc335SKrzysztof Kozlowski            - description: aggre-NOC PCIe 1 AXI clock
85*2fafc335SKrzysztof Kozlowski            - description: aggre UFS PHY AXI clock
86*2fafc335SKrzysztof Kozlowski            - description: RPMH CC IPA clock
87*2fafc335SKrzysztof Kozlowski
88*2fafc335SKrzysztof Kozlowski  - if:
89*2fafc335SKrzysztof Kozlowski      properties:
90*2fafc335SKrzysztof Kozlowski        compatible:
91*2fafc335SKrzysztof Kozlowski          contains:
92*2fafc335SKrzysztof Kozlowski            enum:
93*2fafc335SKrzysztof Kozlowski              - qcom,sm8450-aggre1-noc
94*2fafc335SKrzysztof Kozlowski              - qcom,sm8450-aggre2-noc
95*2fafc335SKrzysztof Kozlowski    then:
96*2fafc335SKrzysztof Kozlowski      required:
97*2fafc335SKrzysztof Kozlowski        - clocks
98*2fafc335SKrzysztof Kozlowski    else:
99*2fafc335SKrzysztof Kozlowski      properties:
100*2fafc335SKrzysztof Kozlowski        clocks: false
101*2fafc335SKrzysztof Kozlowski
102*2fafc335SKrzysztof KozlowskiunevaluatedProperties: false
103*2fafc335SKrzysztof Kozlowski
104*2fafc335SKrzysztof Kozlowskiexamples:
105*2fafc335SKrzysztof Kozlowski  - |
106*2fafc335SKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,gcc-sm8450.h>
107*2fafc335SKrzysztof Kozlowski    #include <dt-bindings/clock/qcom,rpmh.h>
108*2fafc335SKrzysztof Kozlowski
109*2fafc335SKrzysztof Kozlowski    interconnect-0 {
110*2fafc335SKrzysztof Kozlowski        compatible = "qcom,sm8450-clk-virt";
111*2fafc335SKrzysztof Kozlowski        #interconnect-cells = <2>;
112*2fafc335SKrzysztof Kozlowski        qcom,bcm-voters = <&apps_bcm_voter>;
113*2fafc335SKrzysztof Kozlowski    };
114*2fafc335SKrzysztof Kozlowski
115*2fafc335SKrzysztof Kozlowski    interconnect@1700000 {
116*2fafc335SKrzysztof Kozlowski        compatible = "qcom,sm8450-aggre2-noc";
117*2fafc335SKrzysztof Kozlowski        reg = <0x01700000 0x31080>;
118*2fafc335SKrzysztof Kozlowski        #interconnect-cells = <2>;
119*2fafc335SKrzysztof Kozlowski        qcom,bcm-voters = <&apps_bcm_voter>;
120*2fafc335SKrzysztof Kozlowski        clocks = <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>,
121*2fafc335SKrzysztof Kozlowski                 <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>,
122*2fafc335SKrzysztof Kozlowski                 <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
123*2fafc335SKrzysztof Kozlowski                 <&rpmhcc RPMH_IPA_CLK>;
124*2fafc335SKrzysztof Kozlowski    };
125