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