xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,nord-rpmh.yaml (revision efe86f088f48f18c27b648e5724048947f3b7fb4)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interconnect/qcom,nord-rpmh.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm RPMh Network-On-Chip Interconnect on Nord
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,nord-rpmh.h
21
22properties:
23  compatible:
24    enum:
25      - qcom,nord-aggre1-noc
26      - qcom,nord-aggre1-noc-tile
27      - qcom,nord-aggre2-noc
28      - qcom,nord-aggre2-noc-tile
29      - qcom,nord-clk-virt
30      - qcom,nord-cnoc-cfg
31      - qcom,nord-cnoc-main
32      - qcom,nord-hpass-ag-noc
33      - qcom,nord-hscnoc
34      - qcom,nord-mc-virt
35      - qcom,nord-mmss-noc
36      - qcom,nord-nsp-data-noc-0
37      - qcom,nord-nsp-data-noc-1
38      - qcom,nord-nsp-data-noc-2
39      - qcom,nord-nsp-data-noc-3
40      - qcom,nord-pcie-cfg
41      - qcom,nord-pcie-data-inbound
42      - qcom,nord-pcie-data-outbound
43      - qcom,nord-system-noc
44
45  reg:
46    maxItems: 1
47
48  clocks:
49    minItems: 1
50    maxItems: 4
51
52required:
53  - compatible
54
55allOf:
56  - $ref: qcom,rpmh-common.yaml#
57  - if:
58      properties:
59        compatible:
60          contains:
61            enum:
62              - qcom,nord-clk-virt
63              - qcom,nord-mc-virt
64    then:
65      properties:
66        reg: false
67    else:
68      required:
69        - reg
70
71  - if:
72      properties:
73        compatible:
74          contains:
75            enum:
76              - qcom,nord-aggre1-noc-tile
77    then:
78      properties:
79        clocks:
80          items:
81            - description: aggre UFS PHY AXI clock
82            - description: aggre USB2 AXI clock
83            - description: aggre USB3 PRIM AXI clock
84            - description: aggre USB3 SEC AXI clock
85
86  - if:
87      properties:
88        compatible:
89          contains:
90            enum:
91              - qcom,nord-aggre2-noc
92    then:
93      properties:
94        clocks:
95          items:
96            - description: RPMH CC IPA clock
97
98  - if:
99      properties:
100        compatible:
101          contains:
102            enum:
103              - qcom,nord-aggre1-noc-tile
104              - qcom,nord-aggre2-noc
105    then:
106      required:
107        - clocks
108    else:
109      properties:
110        clocks: false
111
112unevaluatedProperties: false
113
114examples:
115  - |
116    clk_virt: interconnect-clk-virt {
117      compatible = "qcom,nord-clk-virt";
118      #interconnect-cells = <2>;
119      qcom,bcm-voters = <&apps_bcm_voter>;
120    };
121
122    aggre1_noc_tile: interconnect@1720000 {
123      compatible = "qcom,nord-aggre1-noc-tile";
124      reg = <0x01720000 0x23400>;
125      #interconnect-cells = <2>;
126      qcom,bcm-voters = <&apps_bcm_voter>;
127      clocks = <&ne_gcc_aggre_noc_ufs_phy_axi_clk>,
128               <&ne_gcc_aggre_noc_usb2_axi_clk>,
129               <&ne_gcc_aggre_noc_usb3_prim_axi_clk>,
130               <&ne_gcc_aggre_noc_usb3_sec_axi_clk>;
131    };
132