xref: /freebsd/sys/contrib/device-tree/Bindings/interconnect/qcom,sdx75-rpmh.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
1*84943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*84943d6fSEmmanuel Vadot%YAML 1.2
3*84943d6fSEmmanuel Vadot---
4*84943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/interconnect/qcom,sdx75-rpmh.yaml#
5*84943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*84943d6fSEmmanuel Vadot
7*84943d6fSEmmanuel Vadottitle: Qualcomm RPMh Network-On-Chip Interconnect on SDX75
8*84943d6fSEmmanuel Vadot
9*84943d6fSEmmanuel Vadotmaintainers:
10*84943d6fSEmmanuel Vadot  - Rohit Agarwal <quic_rohiagar@quicinc.com>
11*84943d6fSEmmanuel Vadot
12*84943d6fSEmmanuel Vadotdescription:
13*84943d6fSEmmanuel Vadot  RPMh interconnect providers support system bandwidth requirements through
14*84943d6fSEmmanuel Vadot  RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
15*84943d6fSEmmanuel Vadot  able to communicate with the BCM through the Resource State Coordinator (RSC)
16*84943d6fSEmmanuel Vadot  associated with each execution environment. Provider nodes must point to at
17*84943d6fSEmmanuel Vadot  least one RPMh device child node pertaining to their RSC and each provider
18*84943d6fSEmmanuel Vadot  can map to multiple RPMh resources.
19*84943d6fSEmmanuel Vadot
20*84943d6fSEmmanuel Vadotproperties:
21*84943d6fSEmmanuel Vadot  compatible:
22*84943d6fSEmmanuel Vadot    enum:
23*84943d6fSEmmanuel Vadot      - qcom,sdx75-clk-virt
24*84943d6fSEmmanuel Vadot      - qcom,sdx75-dc-noc
25*84943d6fSEmmanuel Vadot      - qcom,sdx75-gem-noc
26*84943d6fSEmmanuel Vadot      - qcom,sdx75-mc-virt
27*84943d6fSEmmanuel Vadot      - qcom,sdx75-pcie-anoc
28*84943d6fSEmmanuel Vadot      - qcom,sdx75-system-noc
29*84943d6fSEmmanuel Vadot
30*84943d6fSEmmanuel Vadot  '#interconnect-cells': true
31*84943d6fSEmmanuel Vadot
32*84943d6fSEmmanuel Vadot  reg:
33*84943d6fSEmmanuel Vadot    maxItems: 1
34*84943d6fSEmmanuel Vadot
35*84943d6fSEmmanuel Vadot  clocks:
36*84943d6fSEmmanuel Vadot    maxItems: 1
37*84943d6fSEmmanuel Vadot
38*84943d6fSEmmanuel Vadotrequired:
39*84943d6fSEmmanuel Vadot  - compatible
40*84943d6fSEmmanuel Vadot
41*84943d6fSEmmanuel VadotallOf:
42*84943d6fSEmmanuel Vadot  - $ref: qcom,rpmh-common.yaml#
43*84943d6fSEmmanuel Vadot  - if:
44*84943d6fSEmmanuel Vadot      properties:
45*84943d6fSEmmanuel Vadot        compatible:
46*84943d6fSEmmanuel Vadot          contains:
47*84943d6fSEmmanuel Vadot            enum:
48*84943d6fSEmmanuel Vadot              - qcom,sdx75-clk-virt
49*84943d6fSEmmanuel Vadot              - qcom,sdx75-mc-virt
50*84943d6fSEmmanuel Vadot    then:
51*84943d6fSEmmanuel Vadot      properties:
52*84943d6fSEmmanuel Vadot        reg: false
53*84943d6fSEmmanuel Vadot    else:
54*84943d6fSEmmanuel Vadot      required:
55*84943d6fSEmmanuel Vadot        - reg
56*84943d6fSEmmanuel Vadot
57*84943d6fSEmmanuel Vadot  - if:
58*84943d6fSEmmanuel Vadot      properties:
59*84943d6fSEmmanuel Vadot        compatible:
60*84943d6fSEmmanuel Vadot          contains:
61*84943d6fSEmmanuel Vadot            enum:
62*84943d6fSEmmanuel Vadot              - qcom,sdx75-clk-virt
63*84943d6fSEmmanuel Vadot    then:
64*84943d6fSEmmanuel Vadot      properties:
65*84943d6fSEmmanuel Vadot        clocks:
66*84943d6fSEmmanuel Vadot          items:
67*84943d6fSEmmanuel Vadot            - description: RPMH CC QPIC Clock
68*84943d6fSEmmanuel Vadot      required:
69*84943d6fSEmmanuel Vadot        - clocks
70*84943d6fSEmmanuel Vadot    else:
71*84943d6fSEmmanuel Vadot      properties:
72*84943d6fSEmmanuel Vadot        clocks: false
73*84943d6fSEmmanuel Vadot
74*84943d6fSEmmanuel VadotunevaluatedProperties: false
75*84943d6fSEmmanuel Vadot
76*84943d6fSEmmanuel Vadotexamples:
77*84943d6fSEmmanuel Vadot  - |
78*84943d6fSEmmanuel Vadot    #include <dt-bindings/clock/qcom,rpmh.h>
79*84943d6fSEmmanuel Vadot
80*84943d6fSEmmanuel Vadot    clk_virt: interconnect-0 {
81*84943d6fSEmmanuel Vadot        compatible = "qcom,sdx75-clk-virt";
82*84943d6fSEmmanuel Vadot        #interconnect-cells = <2>;
83*84943d6fSEmmanuel Vadot        qcom,bcm-voters = <&apps_bcm_voter>;
84*84943d6fSEmmanuel Vadot        clocks = <&rpmhcc RPMH_QPIC_CLK>;
85*84943d6fSEmmanuel Vadot    };
86*84943d6fSEmmanuel Vadot
87*84943d6fSEmmanuel Vadot    system_noc: interconnect@1640000 {
88*84943d6fSEmmanuel Vadot        compatible = "qcom,sdx75-system-noc";
89*84943d6fSEmmanuel Vadot        reg = <0x1640000 0x4b400>;
90*84943d6fSEmmanuel Vadot        #interconnect-cells = <2>;
91*84943d6fSEmmanuel Vadot        qcom,bcm-voters = <&apps_bcm_voter>;
92*84943d6fSEmmanuel Vadot    };
93