162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/interconnect/qcom,rpmh.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: Qualcomm RPMh Network-On-Chip Interconnect
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Georgi Djakov <georgi.djakov@linaro.org>
1162306a36Sopenharmony_ci  - Odelu Kukatla <okukatla@codeaurora.org>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: |
1462306a36Sopenharmony_ci   RPMh interconnect providers support system bandwidth requirements through
1562306a36Sopenharmony_ci   RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
1662306a36Sopenharmony_ci   able to communicate with the BCM through the Resource State Coordinator (RSC)
1762306a36Sopenharmony_ci   associated with each execution environment. Provider nodes must point to at
1862306a36Sopenharmony_ci   least one RPMh device child node pertaining to their RSC and each provider
1962306a36Sopenharmony_ci   can map to multiple RPMh resources.
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ciproperties:
2262306a36Sopenharmony_ci  reg:
2362306a36Sopenharmony_ci    maxItems: 1
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci  compatible:
2662306a36Sopenharmony_ci    enum:
2762306a36Sopenharmony_ci      - qcom,sc7180-aggre1-noc
2862306a36Sopenharmony_ci      - qcom,sc7180-aggre2-noc
2962306a36Sopenharmony_ci      - qcom,sc7180-camnoc-virt
3062306a36Sopenharmony_ci      - qcom,sc7180-compute-noc
3162306a36Sopenharmony_ci      - qcom,sc7180-config-noc
3262306a36Sopenharmony_ci      - qcom,sc7180-dc-noc
3362306a36Sopenharmony_ci      - qcom,sc7180-gem-noc
3462306a36Sopenharmony_ci      - qcom,sc7180-mc-virt
3562306a36Sopenharmony_ci      - qcom,sc7180-mmss-noc
3662306a36Sopenharmony_ci      - qcom,sc7180-npu-noc
3762306a36Sopenharmony_ci      - qcom,sc7180-qup-virt
3862306a36Sopenharmony_ci      - qcom,sc7180-system-noc
3962306a36Sopenharmony_ci      - qcom,sc8180x-aggre1-noc
4062306a36Sopenharmony_ci      - qcom,sc8180x-aggre2-noc
4162306a36Sopenharmony_ci      - qcom,sc8180x-camnoc-virt
4262306a36Sopenharmony_ci      - qcom,sc8180x-compute-noc
4362306a36Sopenharmony_ci      - qcom,sc8180x-config-noc
4462306a36Sopenharmony_ci      - qcom,sc8180x-dc-noc
4562306a36Sopenharmony_ci      - qcom,sc8180x-gem-noc
4662306a36Sopenharmony_ci      - qcom,sc8180x-mc-virt
4762306a36Sopenharmony_ci      - qcom,sc8180x-mmss-noc
4862306a36Sopenharmony_ci      - qcom,sc8180x-qup-virt
4962306a36Sopenharmony_ci      - qcom,sc8180x-system-noc
5062306a36Sopenharmony_ci      - qcom,sdm670-aggre1-noc
5162306a36Sopenharmony_ci      - qcom,sdm670-aggre2-noc
5262306a36Sopenharmony_ci      - qcom,sdm670-config-noc
5362306a36Sopenharmony_ci      - qcom,sdm670-dc-noc
5462306a36Sopenharmony_ci      - qcom,sdm670-gladiator-noc
5562306a36Sopenharmony_ci      - qcom,sdm670-mem-noc
5662306a36Sopenharmony_ci      - qcom,sdm670-mmss-noc
5762306a36Sopenharmony_ci      - qcom,sdm670-system-noc
5862306a36Sopenharmony_ci      - qcom,sdm845-aggre1-noc
5962306a36Sopenharmony_ci      - qcom,sdm845-aggre2-noc
6062306a36Sopenharmony_ci      - qcom,sdm845-config-noc
6162306a36Sopenharmony_ci      - qcom,sdm845-dc-noc
6262306a36Sopenharmony_ci      - qcom,sdm845-gladiator-noc
6362306a36Sopenharmony_ci      - qcom,sdm845-mem-noc
6462306a36Sopenharmony_ci      - qcom,sdm845-mmss-noc
6562306a36Sopenharmony_ci      - qcom,sdm845-system-noc
6662306a36Sopenharmony_ci      - qcom,sdx55-mc-virt
6762306a36Sopenharmony_ci      - qcom,sdx55-mem-noc
6862306a36Sopenharmony_ci      - qcom,sdx55-system-noc
6962306a36Sopenharmony_ci      - qcom,sdx65-mc-virt
7062306a36Sopenharmony_ci      - qcom,sdx65-mem-noc
7162306a36Sopenharmony_ci      - qcom,sdx65-system-noc
7262306a36Sopenharmony_ci      - qcom,sm8150-aggre1-noc
7362306a36Sopenharmony_ci      - qcom,sm8150-aggre2-noc
7462306a36Sopenharmony_ci      - qcom,sm8150-camnoc-noc
7562306a36Sopenharmony_ci      - qcom,sm8150-compute-noc
7662306a36Sopenharmony_ci      - qcom,sm8150-config-noc
7762306a36Sopenharmony_ci      - qcom,sm8150-dc-noc
7862306a36Sopenharmony_ci      - qcom,sm8150-gem-noc
7962306a36Sopenharmony_ci      - qcom,sm8150-mc-virt
8062306a36Sopenharmony_ci      - qcom,sm8150-mmss-noc
8162306a36Sopenharmony_ci      - qcom,sm8150-system-noc
8262306a36Sopenharmony_ci      - qcom,sm8250-aggre1-noc
8362306a36Sopenharmony_ci      - qcom,sm8250-aggre2-noc
8462306a36Sopenharmony_ci      - qcom,sm8250-compute-noc
8562306a36Sopenharmony_ci      - qcom,sm8250-config-noc
8662306a36Sopenharmony_ci      - qcom,sm8250-dc-noc
8762306a36Sopenharmony_ci      - qcom,sm8250-gem-noc
8862306a36Sopenharmony_ci      - qcom,sm8250-mc-virt
8962306a36Sopenharmony_ci      - qcom,sm8250-mmss-noc
9062306a36Sopenharmony_ci      - qcom,sm8250-npu-noc
9162306a36Sopenharmony_ci      - qcom,sm8250-qup-virt
9262306a36Sopenharmony_ci      - qcom,sm8250-system-noc
9362306a36Sopenharmony_ci      - qcom,sm8350-aggre1-noc
9462306a36Sopenharmony_ci      - qcom,sm8350-aggre2-noc
9562306a36Sopenharmony_ci      - qcom,sm8350-config-noc
9662306a36Sopenharmony_ci      - qcom,sm8350-dc-noc
9762306a36Sopenharmony_ci      - qcom,sm8350-gem-noc
9862306a36Sopenharmony_ci      - qcom,sm8350-lpass-ag-noc
9962306a36Sopenharmony_ci      - qcom,sm8350-mc-virt
10062306a36Sopenharmony_ci      - qcom,sm8350-mmss-noc
10162306a36Sopenharmony_ci      - qcom,sm8350-compute-noc
10262306a36Sopenharmony_ci      - qcom,sm8350-system-noc
10362306a36Sopenharmony_ci
10462306a36Sopenharmony_ci  '#interconnect-cells': true
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_cirequired:
10762306a36Sopenharmony_ci  - compatible
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciallOf:
11062306a36Sopenharmony_ci  - $ref: qcom,rpmh-common.yaml#
11162306a36Sopenharmony_ci  - if:
11262306a36Sopenharmony_ci      not:
11362306a36Sopenharmony_ci        properties:
11462306a36Sopenharmony_ci          compatible:
11562306a36Sopenharmony_ci            enum:
11662306a36Sopenharmony_ci              - qcom,sm8250-qup-virt
11762306a36Sopenharmony_ci    then:
11862306a36Sopenharmony_ci      required:
11962306a36Sopenharmony_ci        - reg
12062306a36Sopenharmony_ci
12162306a36Sopenharmony_ci
12262306a36Sopenharmony_ciunevaluatedProperties: false
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ciexamples:
12562306a36Sopenharmony_ci  - |
12662306a36Sopenharmony_ci      #include <dt-bindings/interconnect/qcom,sdm845.h>
12762306a36Sopenharmony_ci
12862306a36Sopenharmony_ci      mem_noc: interconnect@1380000 {
12962306a36Sopenharmony_ci             compatible = "qcom,sdm845-mem-noc";
13062306a36Sopenharmony_ci             reg = <0x01380000 0x27200>;
13162306a36Sopenharmony_ci             #interconnect-cells = <1>;
13262306a36Sopenharmony_ci             qcom,bcm-voters = <&apps_bcm_voter>;
13362306a36Sopenharmony_ci      };
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci      mmss_noc: interconnect@1740000 {
13662306a36Sopenharmony_ci             compatible = "qcom,sdm845-mmss-noc";
13762306a36Sopenharmony_ci             reg = <0x01740000 0x1c1000>;
13862306a36Sopenharmony_ci             #interconnect-cells = <1>;
13962306a36Sopenharmony_ci             qcom,bcm-voter-names = "apps", "disp";
14062306a36Sopenharmony_ci             qcom,bcm-voters = <&apps_bcm_voter>, <&disp_bcm_voter>;
14162306a36Sopenharmony_ci      };
142