1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interconnect/qcom,qdu1000-rpmh.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm RPMh Network-On-Chip Interconnect on QDU1000
8
9maintainers:
10  - Georgi Djakov <djakov@kernel.org>
11  - Odelu Kukatla <quic_okukatla@quicinc.com>
12
13description: |
14   RPMh interconnect providers support system bandwidth requirements through
15   RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
16   able to communicate with the BCM through the Resource State Coordinator (RSC)
17   associated with each execution environment. Provider nodes must point to at
18   least one RPMh device child node pertaining to their RSC and each provider
19   can map to multiple RPMh resources.
20
21properties:
22  compatible:
23    enum:
24      - qcom,qdu1000-clk-virt
25      - qcom,qdu1000-gem-noc
26      - qcom,qdu1000-mc-virt
27      - qcom,qdu1000-system-noc
28
29  '#interconnect-cells': true
30
31  reg:
32    maxItems: 1
33
34allOf:
35  - $ref: qcom,rpmh-common.yaml#
36  - if:
37      properties:
38        compatible:
39          contains:
40            enum:
41              - qcom,qdu1000-clk-virt
42              - qcom,qdu1000-mc-virt
43    then:
44      properties:
45        reg: false
46    else:
47      required:
48        - reg
49
50required:
51  - compatible
52
53unevaluatedProperties: false
54
55examples:
56  - |
57    #include <dt-bindings/interconnect/qcom,qdu1000-rpmh.h>
58
59    system_noc: interconnect@1640000 {
60        compatible = "qcom,qdu1000-system-noc";
61        reg = <0x1640000 0x45080>;
62        #interconnect-cells = <2>;
63        qcom,bcm-voters = <&apps_bcm_voter>;
64    };
65
66    clk_virt: interconnect-0 {
67        compatible = "qcom,qdu1000-clk-virt";
68        #interconnect-cells = <2>;
69        qcom,bcm-voters = <&apps_bcm_voter>;
70    };
71