xref: /freebsd/sys/contrib/device-tree/Bindings/interconnect/qcom,rpmh.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
46be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/interconnect/qcom,rpmh.yaml#
56be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
76be33864SEmmanuel Vadottitle: Qualcomm RPMh Network-On-Chip Interconnect
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - Georgi Djakov <georgi.djakov@linaro.org>
116be33864SEmmanuel Vadot  - Odelu Kukatla <okukatla@codeaurora.org>
126be33864SEmmanuel Vadot
136be33864SEmmanuel Vadotdescription: |
146be33864SEmmanuel Vadot   RPMh interconnect providers support system bandwidth requirements through
156be33864SEmmanuel Vadot   RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
166be33864SEmmanuel Vadot   able to communicate with the BCM through the Resource State Coordinator (RSC)
176be33864SEmmanuel Vadot   associated with each execution environment. Provider nodes must point to at
186be33864SEmmanuel Vadot   least one RPMh device child node pertaining to their RSC and each provider
196be33864SEmmanuel Vadot   can map to multiple RPMh resources.
206be33864SEmmanuel Vadot
216be33864SEmmanuel Vadotproperties:
226be33864SEmmanuel Vadot  reg:
236be33864SEmmanuel Vadot    maxItems: 1
246be33864SEmmanuel Vadot
256be33864SEmmanuel Vadot  compatible:
266be33864SEmmanuel Vadot    enum:
276be33864SEmmanuel Vadot      - qcom,sc7180-aggre1-noc
286be33864SEmmanuel Vadot      - qcom,sc7180-aggre2-noc
296be33864SEmmanuel Vadot      - qcom,sc7180-camnoc-virt
306be33864SEmmanuel Vadot      - qcom,sc7180-compute-noc
316be33864SEmmanuel Vadot      - qcom,sc7180-config-noc
326be33864SEmmanuel Vadot      - qcom,sc7180-dc-noc
336be33864SEmmanuel Vadot      - qcom,sc7180-gem-noc
346be33864SEmmanuel Vadot      - qcom,sc7180-mc-virt
356be33864SEmmanuel Vadot      - qcom,sc7180-mmss-noc
366be33864SEmmanuel Vadot      - qcom,sc7180-npu-noc
376be33864SEmmanuel Vadot      - qcom,sc7180-qup-virt
386be33864SEmmanuel Vadot      - qcom,sc7180-system-noc
39354d7675SEmmanuel Vadot      - qcom,sc8180x-aggre1-noc
40354d7675SEmmanuel Vadot      - qcom,sc8180x-aggre2-noc
41354d7675SEmmanuel Vadot      - qcom,sc8180x-camnoc-virt
42354d7675SEmmanuel Vadot      - qcom,sc8180x-compute-noc
43354d7675SEmmanuel Vadot      - qcom,sc8180x-config-noc
44354d7675SEmmanuel Vadot      - qcom,sc8180x-dc-noc
45354d7675SEmmanuel Vadot      - qcom,sc8180x-gem-noc
46354d7675SEmmanuel Vadot      - qcom,sc8180x-mc-virt
47354d7675SEmmanuel Vadot      - qcom,sc8180x-mmss-noc
48d5b0e70fSEmmanuel Vadot      - qcom,sc8180x-qup-virt
49354d7675SEmmanuel Vadot      - qcom,sc8180x-system-noc
50cb7aa33aSEmmanuel Vadot      - qcom,sdm670-aggre1-noc
51cb7aa33aSEmmanuel Vadot      - qcom,sdm670-aggre2-noc
52cb7aa33aSEmmanuel Vadot      - qcom,sdm670-config-noc
53cb7aa33aSEmmanuel Vadot      - qcom,sdm670-dc-noc
54cb7aa33aSEmmanuel Vadot      - qcom,sdm670-gladiator-noc
55cb7aa33aSEmmanuel Vadot      - qcom,sdm670-mem-noc
56cb7aa33aSEmmanuel Vadot      - qcom,sdm670-mmss-noc
57cb7aa33aSEmmanuel Vadot      - qcom,sdm670-system-noc
586be33864SEmmanuel Vadot      - qcom,sdm845-aggre1-noc
596be33864SEmmanuel Vadot      - qcom,sdm845-aggre2-noc
606be33864SEmmanuel Vadot      - qcom,sdm845-config-noc
616be33864SEmmanuel Vadot      - qcom,sdm845-dc-noc
626be33864SEmmanuel Vadot      - qcom,sdm845-gladiator-noc
636be33864SEmmanuel Vadot      - qcom,sdm845-mem-noc
646be33864SEmmanuel Vadot      - qcom,sdm845-mmss-noc
656be33864SEmmanuel Vadot      - qcom,sdm845-system-noc
665def4c47SEmmanuel Vadot      - qcom,sdx55-mc-virt
675def4c47SEmmanuel Vadot      - qcom,sdx55-mem-noc
685def4c47SEmmanuel Vadot      - qcom,sdx55-system-noc
69d5b0e70fSEmmanuel Vadot      - qcom,sdx65-mc-virt
70d5b0e70fSEmmanuel Vadot      - qcom,sdx65-mem-noc
71d5b0e70fSEmmanuel Vadot      - qcom,sdx65-system-noc
726be33864SEmmanuel Vadot      - qcom,sm8150-aggre1-noc
736be33864SEmmanuel Vadot      - qcom,sm8150-aggre2-noc
746be33864SEmmanuel Vadot      - qcom,sm8150-camnoc-noc
756be33864SEmmanuel Vadot      - qcom,sm8150-compute-noc
766be33864SEmmanuel Vadot      - qcom,sm8150-config-noc
776be33864SEmmanuel Vadot      - qcom,sm8150-dc-noc
786be33864SEmmanuel Vadot      - qcom,sm8150-gem-noc
796be33864SEmmanuel Vadot      - qcom,sm8150-mc-virt
806be33864SEmmanuel Vadot      - qcom,sm8150-mmss-noc
816be33864SEmmanuel Vadot      - qcom,sm8150-system-noc
826be33864SEmmanuel Vadot      - qcom,sm8250-aggre1-noc
836be33864SEmmanuel Vadot      - qcom,sm8250-aggre2-noc
846be33864SEmmanuel Vadot      - qcom,sm8250-compute-noc
856be33864SEmmanuel Vadot      - qcom,sm8250-config-noc
866be33864SEmmanuel Vadot      - qcom,sm8250-dc-noc
876be33864SEmmanuel Vadot      - qcom,sm8250-gem-noc
886be33864SEmmanuel Vadot      - qcom,sm8250-mc-virt
896be33864SEmmanuel Vadot      - qcom,sm8250-mmss-noc
906be33864SEmmanuel Vadot      - qcom,sm8250-npu-noc
91aa1a8ff2SEmmanuel Vadot      - qcom,sm8250-qup-virt
926be33864SEmmanuel Vadot      - qcom,sm8250-system-noc
932eb4d8dcSEmmanuel Vadot      - qcom,sm8350-aggre1-noc
942eb4d8dcSEmmanuel Vadot      - qcom,sm8350-aggre2-noc
952eb4d8dcSEmmanuel Vadot      - qcom,sm8350-config-noc
962eb4d8dcSEmmanuel Vadot      - qcom,sm8350-dc-noc
972eb4d8dcSEmmanuel Vadot      - qcom,sm8350-gem-noc
982eb4d8dcSEmmanuel Vadot      - qcom,sm8350-lpass-ag-noc
992eb4d8dcSEmmanuel Vadot      - qcom,sm8350-mc-virt
1002eb4d8dcSEmmanuel Vadot      - qcom,sm8350-mmss-noc
1012eb4d8dcSEmmanuel Vadot      - qcom,sm8350-compute-noc
1022eb4d8dcSEmmanuel Vadot      - qcom,sm8350-system-noc
1036be33864SEmmanuel Vadot
104b97ee269SEmmanuel Vadot  '#interconnect-cells': true
1056be33864SEmmanuel Vadot
1066be33864SEmmanuel Vadotrequired:
1076be33864SEmmanuel Vadot  - compatible
108aa1a8ff2SEmmanuel Vadot
109aa1a8ff2SEmmanuel VadotallOf:
110aa1a8ff2SEmmanuel Vadot  - $ref: qcom,rpmh-common.yaml#
111aa1a8ff2SEmmanuel Vadot  - if:
112aa1a8ff2SEmmanuel Vadot      not:
113aa1a8ff2SEmmanuel Vadot        properties:
114aa1a8ff2SEmmanuel Vadot          compatible:
115aa1a8ff2SEmmanuel Vadot            enum:
116*84943d6fSEmmanuel Vadot              - qcom,sdx65-mc-virt
117aa1a8ff2SEmmanuel Vadot              - qcom,sm8250-qup-virt
118aa1a8ff2SEmmanuel Vadot    then:
119aa1a8ff2SEmmanuel Vadot      required:
1206be33864SEmmanuel Vadot        - reg
1216be33864SEmmanuel Vadot
122aa1a8ff2SEmmanuel Vadot
123b97ee269SEmmanuel VadotunevaluatedProperties: false
1246be33864SEmmanuel Vadot
1256be33864SEmmanuel Vadotexamples:
1266be33864SEmmanuel Vadot  - |
1276be33864SEmmanuel Vadot      #include <dt-bindings/interconnect/qcom,sdm845.h>
1286be33864SEmmanuel Vadot
1296be33864SEmmanuel Vadot      mem_noc: interconnect@1380000 {
1306be33864SEmmanuel Vadot             compatible = "qcom,sdm845-mem-noc";
1316be33864SEmmanuel Vadot             reg = <0x01380000 0x27200>;
1326be33864SEmmanuel Vadot             #interconnect-cells = <1>;
1336be33864SEmmanuel Vadot             qcom,bcm-voters = <&apps_bcm_voter>;
1346be33864SEmmanuel Vadot      };
1356be33864SEmmanuel Vadot
1366be33864SEmmanuel Vadot      mmss_noc: interconnect@1740000 {
1376be33864SEmmanuel Vadot             compatible = "qcom,sdm845-mmss-noc";
1386be33864SEmmanuel Vadot             reg = <0x01740000 0x1c1000>;
1396be33864SEmmanuel Vadot             #interconnect-cells = <1>;
1406be33864SEmmanuel Vadot             qcom,bcm-voter-names = "apps", "disp";
1416be33864SEmmanuel Vadot             qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>;
1426be33864SEmmanuel Vadot      };
143