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