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,rpm.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm RPM Network-On-Chip Interconnect 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Georgi Djakov <georgi.djakov@linaro.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci RPM interconnect providers support system bandwidth requirements through 1462306a36Sopenharmony_ci RPM processor. The provider is able to communicate with the RPM through 1562306a36Sopenharmony_ci the RPM shared memory device. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciproperties: 1862306a36Sopenharmony_ci reg: 1962306a36Sopenharmony_ci maxItems: 1 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci compatible: 2262306a36Sopenharmony_ci enum: 2362306a36Sopenharmony_ci - qcom,msm8916-bimc 2462306a36Sopenharmony_ci - qcom,msm8916-pcnoc 2562306a36Sopenharmony_ci - qcom,msm8916-snoc 2662306a36Sopenharmony_ci - qcom,msm8939-bimc 2762306a36Sopenharmony_ci - qcom,msm8939-pcnoc 2862306a36Sopenharmony_ci - qcom,msm8939-snoc 2962306a36Sopenharmony_ci - qcom,msm8996-a0noc 3062306a36Sopenharmony_ci - qcom,msm8996-a1noc 3162306a36Sopenharmony_ci - qcom,msm8996-a2noc 3262306a36Sopenharmony_ci - qcom,msm8996-bimc 3362306a36Sopenharmony_ci - qcom,msm8996-cnoc 3462306a36Sopenharmony_ci - qcom,msm8996-mnoc 3562306a36Sopenharmony_ci - qcom,msm8996-pnoc 3662306a36Sopenharmony_ci - qcom,msm8996-snoc 3762306a36Sopenharmony_ci - qcom,qcs404-bimc 3862306a36Sopenharmony_ci - qcom,qcs404-pcnoc 3962306a36Sopenharmony_ci - qcom,qcs404-snoc 4062306a36Sopenharmony_ci - qcom,sdm660-a2noc 4162306a36Sopenharmony_ci - qcom,sdm660-bimc 4262306a36Sopenharmony_ci - qcom,sdm660-cnoc 4362306a36Sopenharmony_ci - qcom,sdm660-gnoc 4462306a36Sopenharmony_ci - qcom,sdm660-mnoc 4562306a36Sopenharmony_ci - qcom,sdm660-snoc 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci '#interconnect-cells': 4862306a36Sopenharmony_ci description: | 4962306a36Sopenharmony_ci Value: <1> is one cell in an interconnect specifier for the 5062306a36Sopenharmony_ci interconnect node id, <2> requires the interconnect node id and an 5162306a36Sopenharmony_ci extra path tag. 5262306a36Sopenharmony_ci enum: [ 1, 2 ] 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci clocks: 5562306a36Sopenharmony_ci minItems: 2 5662306a36Sopenharmony_ci maxItems: 7 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci clock-names: 5962306a36Sopenharmony_ci minItems: 2 6062306a36Sopenharmony_ci maxItems: 7 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci power-domains: 6362306a36Sopenharmony_ci maxItems: 1 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci# Child node's properties 6662306a36Sopenharmony_cipatternProperties: 6762306a36Sopenharmony_ci '^interconnect-[a-z0-9]+$': 6862306a36Sopenharmony_ci type: object 6962306a36Sopenharmony_ci additionalProperties: false 7062306a36Sopenharmony_ci description: 7162306a36Sopenharmony_ci snoc-mm is a child of snoc, sharing snoc's register address space. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci properties: 7462306a36Sopenharmony_ci compatible: 7562306a36Sopenharmony_ci enum: 7662306a36Sopenharmony_ci - qcom,msm8939-snoc-mm 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci '#interconnect-cells': 7962306a36Sopenharmony_ci const: 1 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci clock-names: 8262306a36Sopenharmony_ci items: 8362306a36Sopenharmony_ci - const: bus 8462306a36Sopenharmony_ci - const: bus_a 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci clocks: 8762306a36Sopenharmony_ci items: 8862306a36Sopenharmony_ci - description: Bus Clock 8962306a36Sopenharmony_ci - description: Bus A Clock 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci required: 9262306a36Sopenharmony_ci - compatible 9362306a36Sopenharmony_ci - '#interconnect-cells' 9462306a36Sopenharmony_ci - clock-names 9562306a36Sopenharmony_ci - clocks 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_cirequired: 9862306a36Sopenharmony_ci - compatible 9962306a36Sopenharmony_ci - reg 10062306a36Sopenharmony_ci - '#interconnect-cells' 10162306a36Sopenharmony_ci - clock-names 10262306a36Sopenharmony_ci - clocks 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ciadditionalProperties: false 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ciallOf: 10762306a36Sopenharmony_ci - if: 10862306a36Sopenharmony_ci properties: 10962306a36Sopenharmony_ci compatible: 11062306a36Sopenharmony_ci contains: 11162306a36Sopenharmony_ci enum: 11262306a36Sopenharmony_ci - qcom,msm8916-bimc 11362306a36Sopenharmony_ci - qcom,msm8916-pcnoc 11462306a36Sopenharmony_ci - qcom,msm8916-snoc 11562306a36Sopenharmony_ci - qcom,msm8939-bimc 11662306a36Sopenharmony_ci - qcom,msm8939-pcnoc 11762306a36Sopenharmony_ci - qcom,msm8939-snoc 11862306a36Sopenharmony_ci - qcom,msm8996-a1noc 11962306a36Sopenharmony_ci - qcom,msm8996-bimc 12062306a36Sopenharmony_ci - qcom,msm8996-cnoc 12162306a36Sopenharmony_ci - qcom,msm8996-pnoc 12262306a36Sopenharmony_ci - qcom,msm8996-snoc 12362306a36Sopenharmony_ci - qcom,qcs404-bimc 12462306a36Sopenharmony_ci - qcom,qcs404-pcnoc 12562306a36Sopenharmony_ci - qcom,qcs404-snoc 12662306a36Sopenharmony_ci - qcom,sdm660-bimc 12762306a36Sopenharmony_ci - qcom,sdm660-cnoc 12862306a36Sopenharmony_ci - qcom,sdm660-gnoc 12962306a36Sopenharmony_ci - qcom,sdm660-snoc 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci then: 13262306a36Sopenharmony_ci properties: 13362306a36Sopenharmony_ci clock-names: 13462306a36Sopenharmony_ci items: 13562306a36Sopenharmony_ci - const: bus 13662306a36Sopenharmony_ci - const: bus_a 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci clocks: 13962306a36Sopenharmony_ci items: 14062306a36Sopenharmony_ci - description: Bus Clock 14162306a36Sopenharmony_ci - description: Bus A Clock 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci - if: 14462306a36Sopenharmony_ci properties: 14562306a36Sopenharmony_ci compatible: 14662306a36Sopenharmony_ci contains: 14762306a36Sopenharmony_ci enum: 14862306a36Sopenharmony_ci - qcom,msm8996-mnoc 14962306a36Sopenharmony_ci - qcom,sdm660-mnoc 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci then: 15262306a36Sopenharmony_ci properties: 15362306a36Sopenharmony_ci clock-names: 15462306a36Sopenharmony_ci items: 15562306a36Sopenharmony_ci - const: bus 15662306a36Sopenharmony_ci - const: bus_a 15762306a36Sopenharmony_ci - const: iface 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci clocks: 16062306a36Sopenharmony_ci items: 16162306a36Sopenharmony_ci - description: Bus Clock. 16262306a36Sopenharmony_ci - description: Bus A Clock. 16362306a36Sopenharmony_ci - description: CPU-NoC High-performance Bus Clock. 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci - if: 16662306a36Sopenharmony_ci properties: 16762306a36Sopenharmony_ci compatible: 16862306a36Sopenharmony_ci contains: 16962306a36Sopenharmony_ci enum: 17062306a36Sopenharmony_ci - qcom,msm8996-a0noc 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci then: 17362306a36Sopenharmony_ci properties: 17462306a36Sopenharmony_ci clock-names: 17562306a36Sopenharmony_ci items: 17662306a36Sopenharmony_ci - const: aggre0_snoc_axi 17762306a36Sopenharmony_ci - const: aggre0_cnoc_ahb 17862306a36Sopenharmony_ci - const: aggre0_noc_mpu_cfg 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci clocks: 18162306a36Sopenharmony_ci items: 18262306a36Sopenharmony_ci - description: Aggregate0 System NoC AXI Clock. 18362306a36Sopenharmony_ci - description: Aggregate0 Config NoC AHB Clock. 18462306a36Sopenharmony_ci - description: Aggregate0 NoC MPU Clock. 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci required: 18762306a36Sopenharmony_ci - power-domains 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci - if: 19062306a36Sopenharmony_ci properties: 19162306a36Sopenharmony_ci compatible: 19262306a36Sopenharmony_ci contains: 19362306a36Sopenharmony_ci enum: 19462306a36Sopenharmony_ci - qcom,msm8996-a2noc 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci then: 19762306a36Sopenharmony_ci properties: 19862306a36Sopenharmony_ci clock-names: 19962306a36Sopenharmony_ci items: 20062306a36Sopenharmony_ci - const: bus 20162306a36Sopenharmony_ci - const: bus_a 20262306a36Sopenharmony_ci - const: aggre2_ufs_axi 20362306a36Sopenharmony_ci - const: ufs_axi 20462306a36Sopenharmony_ci 20562306a36Sopenharmony_ci clocks: 20662306a36Sopenharmony_ci items: 20762306a36Sopenharmony_ci - description: Bus Clock 20862306a36Sopenharmony_ci - description: Bus A Clock 20962306a36Sopenharmony_ci - description: Aggregate2 NoC UFS AXI Clock 21062306a36Sopenharmony_ci - description: UFS AXI Clock 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci - if: 21362306a36Sopenharmony_ci properties: 21462306a36Sopenharmony_ci compatible: 21562306a36Sopenharmony_ci contains: 21662306a36Sopenharmony_ci enum: 21762306a36Sopenharmony_ci - qcom,sdm660-a2noc 21862306a36Sopenharmony_ci 21962306a36Sopenharmony_ci then: 22062306a36Sopenharmony_ci properties: 22162306a36Sopenharmony_ci clock-names: 22262306a36Sopenharmony_ci items: 22362306a36Sopenharmony_ci - const: bus 22462306a36Sopenharmony_ci - const: bus_a 22562306a36Sopenharmony_ci - const: ipa 22662306a36Sopenharmony_ci - const: ufs_axi 22762306a36Sopenharmony_ci - const: aggre2_ufs_axi 22862306a36Sopenharmony_ci - const: aggre2_usb3_axi 22962306a36Sopenharmony_ci - const: cfg_noc_usb2_axi 23062306a36Sopenharmony_ci 23162306a36Sopenharmony_ci clocks: 23262306a36Sopenharmony_ci items: 23362306a36Sopenharmony_ci - description: Bus Clock. 23462306a36Sopenharmony_ci - description: Bus A Clock. 23562306a36Sopenharmony_ci - description: IPA Clock. 23662306a36Sopenharmony_ci - description: UFS AXI Clock. 23762306a36Sopenharmony_ci - description: Aggregate2 UFS AXI Clock. 23862306a36Sopenharmony_ci - description: Aggregate2 USB3 AXI Clock. 23962306a36Sopenharmony_ci - description: Config NoC USB2 AXI Clock. 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci - if: 24262306a36Sopenharmony_ci not: 24362306a36Sopenharmony_ci properties: 24462306a36Sopenharmony_ci compatible: 24562306a36Sopenharmony_ci contains: 24662306a36Sopenharmony_ci enum: 24762306a36Sopenharmony_ci - qcom,msm8939-snoc 24862306a36Sopenharmony_ci then: 24962306a36Sopenharmony_ci patternProperties: 25062306a36Sopenharmony_ci '^interconnect-[a-z0-9]+$': false 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ciexamples: 25362306a36Sopenharmony_ci - | 25462306a36Sopenharmony_ci #include <dt-bindings/clock/qcom,rpmcc.h> 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci bimc: interconnect@400000 { 25762306a36Sopenharmony_ci compatible = "qcom,msm8916-bimc"; 25862306a36Sopenharmony_ci reg = <0x00400000 0x62000>; 25962306a36Sopenharmony_ci #interconnect-cells = <1>; 26062306a36Sopenharmony_ci clock-names = "bus", "bus_a"; 26162306a36Sopenharmony_ci clocks = <&rpmcc RPM_SMD_BIMC_CLK>, 26262306a36Sopenharmony_ci <&rpmcc RPM_SMD_BIMC_A_CLK>; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci pcnoc: interconnect@500000 { 26662306a36Sopenharmony_ci compatible = "qcom,msm8916-pcnoc"; 26762306a36Sopenharmony_ci reg = <0x00500000 0x11000>; 26862306a36Sopenharmony_ci #interconnect-cells = <1>; 26962306a36Sopenharmony_ci clock-names = "bus", "bus_a"; 27062306a36Sopenharmony_ci clocks = <&rpmcc RPM_SMD_PCNOC_CLK>, 27162306a36Sopenharmony_ci <&rpmcc RPM_SMD_PCNOC_A_CLK>; 27262306a36Sopenharmony_ci }; 27362306a36Sopenharmony_ci 27462306a36Sopenharmony_ci snoc: interconnect@580000 { 27562306a36Sopenharmony_ci compatible = "qcom,msm8916-snoc"; 27662306a36Sopenharmony_ci reg = <0x00580000 0x14000>; 27762306a36Sopenharmony_ci #interconnect-cells = <1>; 27862306a36Sopenharmony_ci clock-names = "bus", "bus_a"; 27962306a36Sopenharmony_ci clocks = <&rpmcc RPM_SMD_SNOC_CLK>, 28062306a36Sopenharmony_ci <&rpmcc RPM_SMD_SNOC_A_CLK>; 28162306a36Sopenharmony_ci }; 282