xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,eliza-rpmh.yaml (revision 0990a71f678aa0f045f2c126b39b6b581844d3b0)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interconnect/qcom,eliza-rpmh.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm RPMh Network-On-Chip Interconnect on Eliza SoC
8
9maintainers:
10  - Odelu Kukatla <odelu.kukatla@oss.qualcomm.com>
11
12description: |
13  RPMh interconnect providers support system bandwidth requirements through
14  RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
15  able to communicate with the BCM through the Resource State Coordinator (RSC)
16  associated with each execution environment. Provider nodes must point to at
17  least one RPMh device child node pertaining to their RSC and each provider
18  can map to multiple RPMh resources.
19
20  See also: include/dt-bindings/interconnect/qcom,eliza-rpmh.h
21
22properties:
23  compatible:
24    enum:
25      - qcom,eliza-aggre1-noc
26      - qcom,eliza-aggre2-noc
27      - qcom,eliza-clk-virt
28      - qcom,eliza-cnoc-cfg
29      - qcom,eliza-cnoc-main
30      - qcom,eliza-gem-noc
31      - qcom,eliza-lpass-ag-noc
32      - qcom,eliza-lpass-lpiaon-noc
33      - qcom,eliza-lpass-lpicx-noc
34      - qcom,eliza-mc-virt
35      - qcom,eliza-mmss-noc
36      - qcom,eliza-nsp-noc
37      - qcom,eliza-pcie-anoc
38      - qcom,eliza-system-noc
39
40  reg:
41    maxItems: 1
42
43  clocks:
44    minItems: 1
45    maxItems: 2
46
47required:
48  - compatible
49
50allOf:
51  - $ref: qcom,rpmh-common.yaml#
52  - if:
53      properties:
54        compatible:
55          contains:
56            enum:
57              - qcom,eliza-clk-virt
58              - qcom,eliza-mc-virt
59    then:
60      properties:
61        reg: false
62    else:
63      required:
64        - reg
65
66  - if:
67      properties:
68        compatible:
69          contains:
70            enum:
71              - qcom,eliza-aggre1-noc
72    then:
73      properties:
74        clocks:
75          items:
76            - description: aggre UFS PHY AXI clock
77            - description: aggre USB3 PRIM AXI clock
78
79  - if:
80      properties:
81        compatible:
82          contains:
83            enum:
84              - qcom,eliza-aggre2-noc
85    then:
86      properties:
87        clocks:
88          items:
89            - description: RPMH CC IPA clock
90
91  - if:
92      properties:
93        compatible:
94          contains:
95            enum:
96              - qcom,eliza-pcie-anoc
97    then:
98      properties:
99        clocks:
100          items:
101            - description: aggre-NOC PCIe AXI clock
102            - description: cfg-NOC PCIe a-NOC AHB clock
103
104  - if:
105      properties:
106        compatible:
107          contains:
108            enum:
109              - qcom,eliza-aggre1-noc
110              - qcom,eliza-aggre2-noc
111              - qcom,eliza-pcie-anoc
112    then:
113      required:
114        - clocks
115    else:
116      properties:
117        clocks: false
118
119unevaluatedProperties: false
120
121examples:
122  - |
123    gem_noc: interconnect@24100000 {
124        compatible = "qcom,eliza-gem-noc";
125        reg = <0x24100000 0x163080>;
126        #interconnect-cells = <2>;
127        qcom,bcm-voters = <&apps_bcm_voter>;
128    };
129
130    mc_virt: interconnect-2 {
131        compatible = "qcom,eliza-mc-virt";
132        #interconnect-cells = <2>;
133        qcom,bcm-voters = <&apps_bcm_voter>;
134    };
135
136    aggre1_noc: interconnect@16e0000 {
137        compatible = "qcom,eliza-aggre1-noc";
138        reg = <0x16e0000 0x16400>;
139        #interconnect-cells = <2>;
140        clocks = <&gcc_phy_axi_clk>, <&gcc_prim_axi_clk>;
141        qcom,bcm-voters = <&apps_bcm_voter>;
142    };
143