| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/interconnect/qcom,sm6350-rpmh.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Qualcomm SM6350 RPMh Network-On-Chip Interconnect |
| |
| maintainers: |
| - Luca Weiss <luca.weiss@fairphone.com> |
| |
| description: |
| Qualcomm RPMh-based interconnect provider on SM6350. |
| |
| properties: |
| compatible: |
| enum: |
| - qcom,sm6350-aggre1-noc |
| - qcom,sm6350-aggre2-noc |
| - qcom,sm6350-config-noc |
| - qcom,sm6350-dc-noc |
| - qcom,sm6350-gem-noc |
| - qcom,sm6350-mmss-noc |
| - qcom,sm6350-npu-noc |
| - qcom,sm6350-system-noc |
| |
| reg: |
| maxItems: 1 |
| |
| clocks: |
| minItems: 1 |
| maxItems: 2 |
| |
| patternProperties: |
| '^interconnect-[a-z0-9\-]+$': |
| type: object |
| description: |
| The interconnect providers do not have a separate QoS register space, |
| but share parent's space. |
| $ref: qcom,rpmh-common.yaml# |
| |
| properties: |
| compatible: |
| enum: |
| - qcom,sm6350-clk-virt |
| - qcom,sm6350-compute-noc |
| |
| required: |
| - compatible |
| |
| unevaluatedProperties: false |
| |
| required: |
| - compatible |
| - reg |
| |
| allOf: |
| - $ref: qcom,rpmh-common.yaml# |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,sm6350-aggre1-noc |
| then: |
| properties: |
| clocks: |
| items: |
| - description: aggre UFS PHY AXI clock |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,sm6350-aggre2-noc |
| then: |
| properties: |
| clocks: |
| items: |
| - description: aggre USB3 PRIM AXI clock |
| - description: RPMH CC IPA clock |
| |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - qcom,sm6350-aggre1-noc |
| - qcom,sm6350-aggre2-noc |
| then: |
| required: |
| - clocks |
| else: |
| properties: |
| clocks: false |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/clock/qcom,gcc-sm6350.h> |
| #include <dt-bindings/clock/qcom,rpmh.h> |
| |
| config_noc: interconnect@1500000 { |
| compatible = "qcom,sm6350-config-noc"; |
| reg = <0x01500000 0x28000>; |
| #interconnect-cells = <2>; |
| qcom,bcm-voters = <&apps_bcm_voter>; |
| }; |
| |
| aggre2_noc: interconnect@1700000 { |
| compatible = "qcom,sm6350-aggre2-noc"; |
| reg = <0x01700000 0x1f880>; |
| #interconnect-cells = <2>; |
| qcom,bcm-voters = <&apps_bcm_voter>; |
| clocks = <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, |
| <&rpmhcc RPMH_IPA_CLK>; |
| |
| compute_noc: interconnect-compute-noc { |
| compatible = "qcom,sm6350-compute-noc"; |
| #interconnect-cells = <2>; |
| qcom,bcm-voters = <&apps_bcm_voter>; |
| }; |
| }; |