xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml (revision 3a39d672e7f48b8d6b91a09afa4b55352773b4b5)
13c733a75SJonathan Marek# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
23c733a75SJonathan Marek%YAML 1.2
33c733a75SJonathan Marek---
43c733a75SJonathan Marek$id: http://devicetree.org/schemas/interconnect/qcom,rpmh.yaml#
53c733a75SJonathan Marek$schema: http://devicetree.org/meta-schemas/core.yaml#
63c733a75SJonathan Marek
73c733a75SJonathan Marektitle: Qualcomm RPMh Network-On-Chip Interconnect
83c733a75SJonathan Marek
93c733a75SJonathan Marekmaintainers:
103c733a75SJonathan Marek  - Georgi Djakov <georgi.djakov@linaro.org>
1164eec958SJeffrey Hugo  - Odelu Kukatla <quic_okukatla@quicinc.com>
123c733a75SJonathan Marek
133c733a75SJonathan Marekdescription: |
143c733a75SJonathan Marek   RPMh interconnect providers support system bandwidth requirements through
153c733a75SJonathan Marek   RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
163c733a75SJonathan Marek   able to communicate with the BCM through the Resource State Coordinator (RSC)
173c733a75SJonathan Marek   associated with each execution environment. Provider nodes must point to at
183c733a75SJonathan Marek   least one RPMh device child node pertaining to their RSC and each provider
193c733a75SJonathan Marek   can map to multiple RPMh resources.
203c733a75SJonathan Marek
213c733a75SJonathan Marekproperties:
223c733a75SJonathan Marek  reg:
233c733a75SJonathan Marek    maxItems: 1
243c733a75SJonathan Marek
253c733a75SJonathan Marek  compatible:
263c733a75SJonathan Marek    enum:
273c733a75SJonathan Marek      - qcom,sc7180-aggre1-noc
283c733a75SJonathan Marek      - qcom,sc7180-aggre2-noc
293c733a75SJonathan Marek      - qcom,sc7180-camnoc-virt
303c733a75SJonathan Marek      - qcom,sc7180-compute-noc
313c733a75SJonathan Marek      - qcom,sc7180-config-noc
323c733a75SJonathan Marek      - qcom,sc7180-dc-noc
333c733a75SJonathan Marek      - qcom,sc7180-gem-noc
343c733a75SJonathan Marek      - qcom,sc7180-mc-virt
353c733a75SJonathan Marek      - qcom,sc7180-mmss-noc
363c733a75SJonathan Marek      - qcom,sc7180-npu-noc
373c733a75SJonathan Marek      - qcom,sc7180-qup-virt
383c733a75SJonathan Marek      - qcom,sc7180-system-noc
39d81274f8SGeorgi Djakov      - qcom,sc8180x-aggre1-noc
40d81274f8SGeorgi Djakov      - qcom,sc8180x-aggre2-noc
41d81274f8SGeorgi Djakov      - qcom,sc8180x-camnoc-virt
42d81274f8SGeorgi Djakov      - qcom,sc8180x-compute-noc
43d81274f8SGeorgi Djakov      - qcom,sc8180x-config-noc
44d81274f8SGeorgi Djakov      - qcom,sc8180x-dc-noc
45d81274f8SGeorgi Djakov      - qcom,sc8180x-gem-noc
46d81274f8SGeorgi Djakov      - qcom,sc8180x-mc-virt
47d81274f8SGeorgi Djakov      - qcom,sc8180x-mmss-noc
48b9e2a1d5SBjorn Andersson      - qcom,sc8180x-qup-virt
49d81274f8SGeorgi Djakov      - qcom,sc8180x-system-noc
5081ccf455SRichard Acayan      - qcom,sdm670-aggre1-noc
5181ccf455SRichard Acayan      - qcom,sdm670-aggre2-noc
5281ccf455SRichard Acayan      - qcom,sdm670-config-noc
5381ccf455SRichard Acayan      - qcom,sdm670-dc-noc
5481ccf455SRichard Acayan      - qcom,sdm670-gladiator-noc
5581ccf455SRichard Acayan      - qcom,sdm670-mem-noc
5681ccf455SRichard Acayan      - qcom,sdm670-mmss-noc
5781ccf455SRichard Acayan      - qcom,sdm670-system-noc
583c733a75SJonathan Marek      - qcom,sdm845-aggre1-noc
593c733a75SJonathan Marek      - qcom,sdm845-aggre2-noc
603c733a75SJonathan Marek      - qcom,sdm845-config-noc
613c733a75SJonathan Marek      - qcom,sdm845-dc-noc
623c733a75SJonathan Marek      - qcom,sdm845-gladiator-noc
633c733a75SJonathan Marek      - qcom,sdm845-mem-noc
643c733a75SJonathan Marek      - qcom,sdm845-mmss-noc
653c733a75SJonathan Marek      - qcom,sdm845-system-noc
66acda3618SManivannan Sadhasivam      - qcom,sdx55-mc-virt
67acda3618SManivannan Sadhasivam      - qcom,sdx55-mem-noc
68acda3618SManivannan Sadhasivam      - qcom,sdx55-system-noc
69d405ac52SRohit Agarwal      - qcom,sdx65-mc-virt
70d405ac52SRohit Agarwal      - qcom,sdx65-mem-noc
71d405ac52SRohit Agarwal      - qcom,sdx65-system-noc
723fe3578cSJonathan Marek      - qcom,sm8150-aggre1-noc
733fe3578cSJonathan Marek      - qcom,sm8150-aggre2-noc
747d59b1ffSRayyan Ansari      - qcom,sm8150-camnoc-virt
753fe3578cSJonathan Marek      - qcom,sm8150-compute-noc
763fe3578cSJonathan Marek      - qcom,sm8150-config-noc
773fe3578cSJonathan Marek      - qcom,sm8150-dc-noc
783fe3578cSJonathan Marek      - qcom,sm8150-gem-noc
793fe3578cSJonathan Marek      - qcom,sm8150-mc-virt
803fe3578cSJonathan Marek      - qcom,sm8150-mmss-noc
813fe3578cSJonathan Marek      - qcom,sm8150-system-noc
82cb6ffd71SJonathan Marek      - qcom,sm8250-aggre1-noc
83cb6ffd71SJonathan Marek      - qcom,sm8250-aggre2-noc
84cb6ffd71SJonathan Marek      - qcom,sm8250-compute-noc
85cb6ffd71SJonathan Marek      - qcom,sm8250-config-noc
86cb6ffd71SJonathan Marek      - qcom,sm8250-dc-noc
87cb6ffd71SJonathan Marek      - qcom,sm8250-gem-noc
88cb6ffd71SJonathan Marek      - qcom,sm8250-mc-virt
89cb6ffd71SJonathan Marek      - qcom,sm8250-mmss-noc
90cb6ffd71SJonathan Marek      - qcom,sm8250-npu-noc
916fed6f35SKonrad Dybcio      - qcom,sm8250-qup-virt
92cb6ffd71SJonathan Marek      - qcom,sm8250-system-noc
93c009ffe6SVinod Koul      - qcom,sm8350-aggre1-noc
94c009ffe6SVinod Koul      - qcom,sm8350-aggre2-noc
95c009ffe6SVinod Koul      - qcom,sm8350-config-noc
96c009ffe6SVinod Koul      - qcom,sm8350-dc-noc
97c009ffe6SVinod Koul      - qcom,sm8350-gem-noc
98c009ffe6SVinod Koul      - qcom,sm8350-lpass-ag-noc
99c009ffe6SVinod Koul      - qcom,sm8350-mc-virt
100c009ffe6SVinod Koul      - qcom,sm8350-mmss-noc
101c009ffe6SVinod Koul      - qcom,sm8350-compute-noc
102c009ffe6SVinod Koul      - qcom,sm8350-system-noc
1033c733a75SJonathan Marek
10423c136bbSLuca Weiss  '#interconnect-cells': true
1053c733a75SJonathan Marek
1063c733a75SJonathan Marekrequired:
1073c733a75SJonathan Marek  - compatible
1086fed6f35SKonrad Dybcio
1096fed6f35SKonrad DybcioallOf:
1106fed6f35SKonrad Dybcio  - $ref: qcom,rpmh-common.yaml#
1116fed6f35SKonrad Dybcio  - if:
1126fed6f35SKonrad Dybcio      not:
1136fed6f35SKonrad Dybcio        properties:
1146fed6f35SKonrad Dybcio          compatible:
1156fed6f35SKonrad Dybcio            enum:
116*0af96a3eSGeorgi Djakov              - qcom,sc8180x-camnoc-virt
117*0af96a3eSGeorgi Djakov              - qcom,sc8180x-mc-virt
118*0af96a3eSGeorgi Djakov              - qcom,sc8180x-qup-virt
1194d8784d8SKrzysztof Kozlowski              - qcom,sdx65-mc-virt
1206fed6f35SKonrad Dybcio              - qcom,sm8250-qup-virt
1216fed6f35SKonrad Dybcio    then:
1226fed6f35SKonrad Dybcio      required:
1233c733a75SJonathan Marek        - reg
1243c733a75SJonathan Marek
1256fed6f35SKonrad Dybcio
12623c136bbSLuca WeissunevaluatedProperties: false
1273c733a75SJonathan Marek
1283c733a75SJonathan Marekexamples:
1293c733a75SJonathan Marek  - |
1303c733a75SJonathan Marek      #include <dt-bindings/interconnect/qcom,sdm845.h>
1313c733a75SJonathan Marek
1323c733a75SJonathan Marek      mem_noc: interconnect@1380000 {
1333c733a75SJonathan Marek             compatible = "qcom,sdm845-mem-noc";
1343c733a75SJonathan Marek             reg = <0x01380000 0x27200>;
1353c733a75SJonathan Marek             #interconnect-cells = <1>;
1363c733a75SJonathan Marek             qcom,bcm-voters = <&apps_bcm_voter>;
1373c733a75SJonathan Marek      };
1383c733a75SJonathan Marek
1393c733a75SJonathan Marek      mmss_noc: interconnect@1740000 {
1403c733a75SJonathan Marek             compatible = "qcom,sdm845-mmss-noc";
1413c733a75SJonathan Marek             reg = <0x01740000 0x1c1000>;
1423c733a75SJonathan Marek             #interconnect-cells = <1>;
1433c733a75SJonathan Marek             qcom,bcm-voter-names = "apps", "disp";
1443c733a75SJonathan Marek             qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>;
1453c733a75SJonathan Marek      };
146