1cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2cb7aa33aSEmmanuel Vadot%YAML 1.2 3cb7aa33aSEmmanuel Vadot--- 4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/interconnect/qcom,sm8450-rpmh.yaml# 5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6cb7aa33aSEmmanuel Vadot 7cb7aa33aSEmmanuel Vadottitle: Qualcomm RPMh Network-On-Chip Interconnect on SM8450 8cb7aa33aSEmmanuel Vadot 9cb7aa33aSEmmanuel Vadotmaintainers: 10cb7aa33aSEmmanuel Vadot - Bjorn Andersson <andersson@kernel.org> 11*0e8011faSEmmanuel Vadot - Konrad Dybcio <konradybcio@kernel.org> 12cb7aa33aSEmmanuel Vadot 13cb7aa33aSEmmanuel Vadotdescription: | 14cb7aa33aSEmmanuel Vadot RPMh interconnect providers support system bandwidth requirements through 15cb7aa33aSEmmanuel Vadot RPMh hardware accelerators known as Bus Clock Manager (BCM). 16cb7aa33aSEmmanuel Vadot 17cb7aa33aSEmmanuel Vadot See also:: include/dt-bindings/interconnect/qcom,sm8450.h 18cb7aa33aSEmmanuel Vadot 19cb7aa33aSEmmanuel Vadotproperties: 20cb7aa33aSEmmanuel Vadot compatible: 21cb7aa33aSEmmanuel Vadot enum: 22cb7aa33aSEmmanuel Vadot - qcom,sm8450-aggre1-noc 23cb7aa33aSEmmanuel Vadot - qcom,sm8450-aggre2-noc 24cb7aa33aSEmmanuel Vadot - qcom,sm8450-clk-virt 25cb7aa33aSEmmanuel Vadot - qcom,sm8450-config-noc 26cb7aa33aSEmmanuel Vadot - qcom,sm8450-gem-noc 27cb7aa33aSEmmanuel Vadot - qcom,sm8450-lpass-ag-noc 28cb7aa33aSEmmanuel Vadot - qcom,sm8450-mc-virt 29cb7aa33aSEmmanuel Vadot - qcom,sm8450-mmss-noc 30cb7aa33aSEmmanuel Vadot - qcom,sm8450-nsp-noc 31cb7aa33aSEmmanuel Vadot - qcom,sm8450-pcie-anoc 32cb7aa33aSEmmanuel Vadot - qcom,sm8450-system-noc 33cb7aa33aSEmmanuel Vadot 34cb7aa33aSEmmanuel Vadot reg: 35cb7aa33aSEmmanuel Vadot maxItems: 1 36cb7aa33aSEmmanuel Vadot 37cb7aa33aSEmmanuel Vadot clocks: 38cb7aa33aSEmmanuel Vadot minItems: 1 39cb7aa33aSEmmanuel Vadot maxItems: 4 40cb7aa33aSEmmanuel Vadot 41cb7aa33aSEmmanuel Vadotrequired: 42cb7aa33aSEmmanuel Vadot - compatible 43cb7aa33aSEmmanuel Vadot 44cb7aa33aSEmmanuel VadotallOf: 45cb7aa33aSEmmanuel Vadot - $ref: qcom,rpmh-common.yaml# 46cb7aa33aSEmmanuel Vadot - if: 47cb7aa33aSEmmanuel Vadot properties: 48cb7aa33aSEmmanuel Vadot compatible: 49cb7aa33aSEmmanuel Vadot contains: 50cb7aa33aSEmmanuel Vadot enum: 51cb7aa33aSEmmanuel Vadot - qcom,sm8450-clk-virt 52cb7aa33aSEmmanuel Vadot - qcom,sm8450-mc-virt 53cb7aa33aSEmmanuel Vadot then: 54cb7aa33aSEmmanuel Vadot properties: 55cb7aa33aSEmmanuel Vadot reg: false 56cb7aa33aSEmmanuel Vadot else: 57cb7aa33aSEmmanuel Vadot required: 58cb7aa33aSEmmanuel Vadot - reg 59cb7aa33aSEmmanuel Vadot 60cb7aa33aSEmmanuel Vadot - if: 61cb7aa33aSEmmanuel Vadot properties: 62cb7aa33aSEmmanuel Vadot compatible: 63cb7aa33aSEmmanuel Vadot contains: 64cb7aa33aSEmmanuel Vadot enum: 65cb7aa33aSEmmanuel Vadot - qcom,sm8450-aggre1-noc 66cb7aa33aSEmmanuel Vadot then: 67cb7aa33aSEmmanuel Vadot properties: 68cb7aa33aSEmmanuel Vadot clocks: 69cb7aa33aSEmmanuel Vadot items: 70cb7aa33aSEmmanuel Vadot - description: aggre UFS PHY AXI clock 71cb7aa33aSEmmanuel Vadot - description: aggre USB3 PRIM AXI clock 72cb7aa33aSEmmanuel Vadot 73cb7aa33aSEmmanuel Vadot - if: 74cb7aa33aSEmmanuel Vadot properties: 75cb7aa33aSEmmanuel Vadot compatible: 76cb7aa33aSEmmanuel Vadot contains: 77cb7aa33aSEmmanuel Vadot enum: 78cb7aa33aSEmmanuel Vadot - qcom,sm8450-aggre2-noc 79cb7aa33aSEmmanuel Vadot then: 80cb7aa33aSEmmanuel Vadot properties: 81cb7aa33aSEmmanuel Vadot clocks: 82cb7aa33aSEmmanuel Vadot items: 83cb7aa33aSEmmanuel Vadot - description: aggre-NOC PCIe 0 AXI clock 84cb7aa33aSEmmanuel Vadot - description: aggre-NOC PCIe 1 AXI clock 85cb7aa33aSEmmanuel Vadot - description: aggre UFS PHY AXI clock 86cb7aa33aSEmmanuel Vadot - description: RPMH CC IPA clock 87cb7aa33aSEmmanuel Vadot 88cb7aa33aSEmmanuel Vadot - if: 89cb7aa33aSEmmanuel Vadot properties: 90cb7aa33aSEmmanuel Vadot compatible: 91cb7aa33aSEmmanuel Vadot contains: 92cb7aa33aSEmmanuel Vadot enum: 93cb7aa33aSEmmanuel Vadot - qcom,sm8450-aggre1-noc 94cb7aa33aSEmmanuel Vadot - qcom,sm8450-aggre2-noc 95cb7aa33aSEmmanuel Vadot then: 96cb7aa33aSEmmanuel Vadot required: 97cb7aa33aSEmmanuel Vadot - clocks 98cb7aa33aSEmmanuel Vadot else: 99cb7aa33aSEmmanuel Vadot properties: 100cb7aa33aSEmmanuel Vadot clocks: false 101cb7aa33aSEmmanuel Vadot 102cb7aa33aSEmmanuel VadotunevaluatedProperties: false 103cb7aa33aSEmmanuel Vadot 104cb7aa33aSEmmanuel Vadotexamples: 105cb7aa33aSEmmanuel Vadot - | 106cb7aa33aSEmmanuel Vadot #include <dt-bindings/clock/qcom,gcc-sm8450.h> 107cb7aa33aSEmmanuel Vadot #include <dt-bindings/clock/qcom,rpmh.h> 108cb7aa33aSEmmanuel Vadot 109cb7aa33aSEmmanuel Vadot interconnect-0 { 110cb7aa33aSEmmanuel Vadot compatible = "qcom,sm8450-clk-virt"; 111cb7aa33aSEmmanuel Vadot #interconnect-cells = <2>; 112cb7aa33aSEmmanuel Vadot qcom,bcm-voters = <&apps_bcm_voter>; 113cb7aa33aSEmmanuel Vadot }; 114cb7aa33aSEmmanuel Vadot 115cb7aa33aSEmmanuel Vadot interconnect@1700000 { 116cb7aa33aSEmmanuel Vadot compatible = "qcom,sm8450-aggre2-noc"; 117cb7aa33aSEmmanuel Vadot reg = <0x01700000 0x31080>; 118cb7aa33aSEmmanuel Vadot #interconnect-cells = <2>; 119cb7aa33aSEmmanuel Vadot qcom,bcm-voters = <&apps_bcm_voter>; 120cb7aa33aSEmmanuel Vadot clocks = <&gcc GCC_AGGRE_NOC_PCIE_0_AXI_CLK>, 121cb7aa33aSEmmanuel Vadot <&gcc GCC_AGGRE_NOC_PCIE_1_AXI_CLK>, 122cb7aa33aSEmmanuel Vadot <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, 123cb7aa33aSEmmanuel Vadot <&rpmhcc RPMH_IPA_CLK>; 124cb7aa33aSEmmanuel Vadot }; 125