xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml (revision c009ffe661f68236deb37c91fa1c1c82e9ecdd9c)
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>
113c733a75SJonathan Marek  - Odelu Kukatla <okukatla@codeaurora.org>
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-ipa-virt
353c733a75SJonathan Marek      - qcom,sc7180-mc-virt
363c733a75SJonathan Marek      - qcom,sc7180-mmss-noc
373c733a75SJonathan Marek      - qcom,sc7180-npu-noc
383c733a75SJonathan Marek      - qcom,sc7180-qup-virt
393c733a75SJonathan Marek      - qcom,sc7180-system-noc
403c733a75SJonathan Marek      - qcom,sdm845-aggre1-noc
413c733a75SJonathan Marek      - qcom,sdm845-aggre2-noc
423c733a75SJonathan Marek      - qcom,sdm845-config-noc
433c733a75SJonathan Marek      - qcom,sdm845-dc-noc
443c733a75SJonathan Marek      - qcom,sdm845-gladiator-noc
453c733a75SJonathan Marek      - qcom,sdm845-mem-noc
463c733a75SJonathan Marek      - qcom,sdm845-mmss-noc
473c733a75SJonathan Marek      - qcom,sdm845-system-noc
48acda3618SManivannan Sadhasivam      - qcom,sdx55-ipa-virt
49acda3618SManivannan Sadhasivam      - qcom,sdx55-mc-virt
50acda3618SManivannan Sadhasivam      - qcom,sdx55-mem-noc
51acda3618SManivannan Sadhasivam      - qcom,sdx55-system-noc
523fe3578cSJonathan Marek      - qcom,sm8150-aggre1-noc
533fe3578cSJonathan Marek      - qcom,sm8150-aggre2-noc
543fe3578cSJonathan Marek      - qcom,sm8150-camnoc-noc
553fe3578cSJonathan Marek      - qcom,sm8150-compute-noc
563fe3578cSJonathan Marek      - qcom,sm8150-config-noc
573fe3578cSJonathan Marek      - qcom,sm8150-dc-noc
583fe3578cSJonathan Marek      - qcom,sm8150-gem-noc
593fe3578cSJonathan Marek      - qcom,sm8150-ipa-virt
603fe3578cSJonathan Marek      - qcom,sm8150-mc-virt
613fe3578cSJonathan Marek      - qcom,sm8150-mmss-noc
623fe3578cSJonathan Marek      - qcom,sm8150-system-noc
63cb6ffd71SJonathan Marek      - qcom,sm8250-aggre1-noc
64cb6ffd71SJonathan Marek      - qcom,sm8250-aggre2-noc
65cb6ffd71SJonathan Marek      - qcom,sm8250-compute-noc
66cb6ffd71SJonathan Marek      - qcom,sm8250-config-noc
67cb6ffd71SJonathan Marek      - qcom,sm8250-dc-noc
68cb6ffd71SJonathan Marek      - qcom,sm8250-gem-noc
69cb6ffd71SJonathan Marek      - qcom,sm8250-ipa-virt
70cb6ffd71SJonathan Marek      - qcom,sm8250-mc-virt
71cb6ffd71SJonathan Marek      - qcom,sm8250-mmss-noc
72cb6ffd71SJonathan Marek      - qcom,sm8250-npu-noc
73cb6ffd71SJonathan Marek      - qcom,sm8250-system-noc
74*c009ffe6SVinod Koul      - qcom,sm8350-aggre1-noc
75*c009ffe6SVinod Koul      - qcom,sm8350-aggre2-noc
76*c009ffe6SVinod Koul      - qcom,sm8350-config-noc
77*c009ffe6SVinod Koul      - qcom,sm8350-dc-noc
78*c009ffe6SVinod Koul      - qcom,sm8350-gem-noc
79*c009ffe6SVinod Koul      - qcom,sm8350-lpass-ag-noc
80*c009ffe6SVinod Koul      - qcom,sm8350-mc-virt
81*c009ffe6SVinod Koul      - qcom,sm8350-mmss-noc
82*c009ffe6SVinod Koul      - qcom,sm8350-compute-noc
83*c009ffe6SVinod Koul      - qcom,sm8350-system-noc
843c733a75SJonathan Marek
853c733a75SJonathan Marek  '#interconnect-cells':
861a41bd22SGeorgi Djakov    enum: [ 1, 2 ]
873c733a75SJonathan Marek
883c733a75SJonathan Marek  qcom,bcm-voters:
893c733a75SJonathan Marek    $ref: /schemas/types.yaml#/definitions/phandle-array
903c733a75SJonathan Marek    description: |
913c733a75SJonathan Marek      List of phandles to qcom,bcm-voter nodes that are required by
923c733a75SJonathan Marek      this interconnect to send RPMh commands.
933c733a75SJonathan Marek
943c733a75SJonathan Marek  qcom,bcm-voter-names:
953c733a75SJonathan Marek    $ref: /schemas/types.yaml#/definitions/string-array
963c733a75SJonathan Marek    description: |
973c733a75SJonathan Marek      Names for each of the qcom,bcm-voters specified.
983c733a75SJonathan Marek
993c733a75SJonathan Marekrequired:
1003c733a75SJonathan Marek  - compatible
1013c733a75SJonathan Marek  - reg
1023c733a75SJonathan Marek  - '#interconnect-cells'
1033c733a75SJonathan Marek  - qcom,bcm-voters
1043c733a75SJonathan Marek
1053c733a75SJonathan MarekadditionalProperties: false
1063c733a75SJonathan Marek
1073c733a75SJonathan Marekexamples:
1083c733a75SJonathan Marek  - |
1093c733a75SJonathan Marek      #include <dt-bindings/interconnect/qcom,sdm845.h>
1103c733a75SJonathan Marek
1113c733a75SJonathan Marek      mem_noc: interconnect@1380000 {
1123c733a75SJonathan Marek             compatible = "qcom,sdm845-mem-noc";
1133c733a75SJonathan Marek             reg = <0x01380000 0x27200>;
1143c733a75SJonathan Marek             #interconnect-cells = <1>;
1153c733a75SJonathan Marek             qcom,bcm-voters = <&apps_bcm_voter>;
1163c733a75SJonathan Marek      };
1173c733a75SJonathan Marek
1183c733a75SJonathan Marek      mmss_noc: interconnect@1740000 {
1193c733a75SJonathan Marek             compatible = "qcom,sdm845-mmss-noc";
1203c733a75SJonathan Marek             reg = <0x01740000 0x1c1000>;
1213c733a75SJonathan Marek             #interconnect-cells = <1>;
1223c733a75SJonathan Marek             qcom,bcm-voter-names = "apps", "disp";
1233c733a75SJonathan Marek             qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>;
1243c733a75SJonathan Marek      };
125