# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/interconnect/qcom,sc8280xp-rpmh.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm RPMh Network-On-Chip Interconnect on SC8280XP maintainers: - Bjorn Andersson - Konrad Dybcio description: | RPMh interconnect providers support system bandwidth requirements through RPMh hardware accelerators known as Bus Clock Manager (BCM). See also: include/dt-bindings/interconnect/qcom,sc8280xp.h properties: compatible: enum: - qcom,sc8280xp-aggre1-noc - qcom,sc8280xp-aggre2-noc - qcom,sc8280xp-clk-virt - qcom,sc8280xp-config-noc - qcom,sc8280xp-dc-noc - qcom,sc8280xp-gem-noc - qcom,sc8280xp-lpass-ag-noc - qcom,sc8280xp-mc-virt - qcom,sc8280xp-mmss-noc - qcom,sc8280xp-nspa-noc - qcom,sc8280xp-nspb-noc - qcom,sc8280xp-system-noc reg: maxItems: 1 clocks: minItems: 7 maxItems: 8 required: - compatible allOf: - $ref: qcom,rpmh-common.yaml# - if: properties: compatible: contains: enum: - qcom,sc8280xp-clk-virt - qcom,sc8280xp-mc-virt then: properties: reg: false clocks: false else: required: - reg - if: properties: compatible: contains: enum: - qcom,sc8280xp-aggre1-noc then: properties: clocks: items: - description: aggre UFS PHY AXI clock - description: aggre USB3 PRIM AXI clock - description: aggre USB3 SEC AXI clock - description: aggre USB3 MP AXI clock - description: aggre USB4 AXI clock - description: aggre USB4 1 AXI clock - description: aggre USB NOC SOUTH AXI clock - description: RPMH CC IPA clock - if: properties: compatible: contains: enum: - qcom,sc8280xp-aggre2-noc then: properties: clocks: items: - description: aggre NOC PCIE0 tunnel AXI clock - description: aggre NOC PCIE1 tunnel AXI clock - description: aggre NOC PCIE 4 AXI clock - description: aggre NOC PCIE SOUTH SF AXI clock - description: aggre UFS CARD AXI clock - description: DDRSS GPU AXI clock - description: DDRSS PCIE SF TBU clock - if: properties: compatible: contains: enum: - qcom,sc8280xp-aggre1-noc - qcom,sc8280xp-aggre2-noc then: required: - clocks else: properties: clocks: false unevaluatedProperties: false examples: - | #include #include interconnect { compatible = "qcom,sc8280xp-clk-virt"; #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; interconnect@9100000 { compatible = "qcom,sc8280xp-gem-noc"; reg = <0x9100000 0xb8400>; #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; }; interconnect@16c0000 { compatible = "qcom,sc8280xp-aggre1-noc"; reg = <0x16c0000 0x3af80>; #interconnect-cells = <2>; qcom,bcm-voters = <&apps_bcm_voter>; clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, <&gcc GCC_AGGRE_USB3_SEC_AXI_CLK>, <&gcc GCC_AGGRE_USB3_MP_AXI_CLK>, <&gcc GCC_AGGRE_USB4_AXI_CLK>, <&gcc GCC_AGGRE_USB4_1_AXI_CLK>, <&gcc GCC_AGGRE_USB_NOC_SOUTH_AXI_CLK>, <&rpmhcc RPMH_IPA_CLK>; };