xref: /freebsd/sys/contrib/device-tree/Bindings/interconnect/qcom,sm8650-rpmh.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
18d13bc63SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
28d13bc63SEmmanuel Vadot%YAML 1.2
38d13bc63SEmmanuel Vadot---
48d13bc63SEmmanuel Vadot$id: http://devicetree.org/schemas/interconnect/qcom,sm8650-rpmh.yaml#
58d13bc63SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68d13bc63SEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: Qualcomm RPMh Network-On-Chip Interconnect on SM8650
88d13bc63SEmmanuel Vadot
98d13bc63SEmmanuel Vadotmaintainers:
108d13bc63SEmmanuel Vadot  - Abel Vesa <abel.vesa@linaro.org>
118d13bc63SEmmanuel Vadot  - Neil Armstrong <neil.armstrong@linaro.org>
128d13bc63SEmmanuel Vadot
138d13bc63SEmmanuel Vadotdescription: |
148d13bc63SEmmanuel Vadot  RPMh interconnect providers support system bandwidth requirements through
158d13bc63SEmmanuel Vadot  RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
168d13bc63SEmmanuel Vadot  able to communicate with the BCM through the Resource State Coordinator (RSC)
178d13bc63SEmmanuel Vadot  associated with each execution environment. Provider nodes must point to at
188d13bc63SEmmanuel Vadot  least one RPMh device child node pertaining to their RSC and each provider
198d13bc63SEmmanuel Vadot  can map to multiple RPMh resources.
208d13bc63SEmmanuel Vadot
21*833e5d42SEmmanuel Vadot  See also: include/dt-bindings/interconnect/qcom,sm8650-rpmh.h
228d13bc63SEmmanuel Vadot
238d13bc63SEmmanuel Vadotproperties:
248d13bc63SEmmanuel Vadot  compatible:
258d13bc63SEmmanuel Vadot    enum:
268d13bc63SEmmanuel Vadot      - qcom,sm8650-aggre1-noc
278d13bc63SEmmanuel Vadot      - qcom,sm8650-aggre2-noc
288d13bc63SEmmanuel Vadot      - qcom,sm8650-clk-virt
298d13bc63SEmmanuel Vadot      - qcom,sm8650-cnoc-main
308d13bc63SEmmanuel Vadot      - qcom,sm8650-config-noc
318d13bc63SEmmanuel Vadot      - qcom,sm8650-gem-noc
328d13bc63SEmmanuel Vadot      - qcom,sm8650-lpass-ag-noc
338d13bc63SEmmanuel Vadot      - qcom,sm8650-lpass-lpiaon-noc
348d13bc63SEmmanuel Vadot      - qcom,sm8650-lpass-lpicx-noc
358d13bc63SEmmanuel Vadot      - qcom,sm8650-mc-virt
368d13bc63SEmmanuel Vadot      - qcom,sm8650-mmss-noc
378d13bc63SEmmanuel Vadot      - qcom,sm8650-nsp-noc
388d13bc63SEmmanuel Vadot      - qcom,sm8650-pcie-anoc
398d13bc63SEmmanuel Vadot      - qcom,sm8650-system-noc
408d13bc63SEmmanuel Vadot
418d13bc63SEmmanuel Vadot  reg:
428d13bc63SEmmanuel Vadot    maxItems: 1
438d13bc63SEmmanuel Vadot
448d13bc63SEmmanuel Vadot  clocks:
458d13bc63SEmmanuel Vadot    minItems: 1
468d13bc63SEmmanuel Vadot    maxItems: 2
478d13bc63SEmmanuel Vadot
488d13bc63SEmmanuel Vadotrequired:
498d13bc63SEmmanuel Vadot  - compatible
508d13bc63SEmmanuel Vadot
518d13bc63SEmmanuel VadotallOf:
528d13bc63SEmmanuel Vadot  - $ref: qcom,rpmh-common.yaml#
538d13bc63SEmmanuel Vadot  - if:
548d13bc63SEmmanuel Vadot      properties:
558d13bc63SEmmanuel Vadot        compatible:
568d13bc63SEmmanuel Vadot          contains:
578d13bc63SEmmanuel Vadot            enum:
588d13bc63SEmmanuel Vadot              - qcom,sm8650-clk-virt
598d13bc63SEmmanuel Vadot              - qcom,sm8650-mc-virt
608d13bc63SEmmanuel Vadot    then:
618d13bc63SEmmanuel Vadot      properties:
628d13bc63SEmmanuel Vadot        reg: false
638d13bc63SEmmanuel Vadot    else:
648d13bc63SEmmanuel Vadot      required:
658d13bc63SEmmanuel Vadot        - reg
668d13bc63SEmmanuel Vadot
678d13bc63SEmmanuel Vadot  - if:
688d13bc63SEmmanuel Vadot      properties:
698d13bc63SEmmanuel Vadot        compatible:
708d13bc63SEmmanuel Vadot          contains:
718d13bc63SEmmanuel Vadot            enum:
728d13bc63SEmmanuel Vadot              - qcom,sm8650-pcie-anoc
738d13bc63SEmmanuel Vadot    then:
748d13bc63SEmmanuel Vadot      properties:
758d13bc63SEmmanuel Vadot        clocks:
768d13bc63SEmmanuel Vadot          items:
778d13bc63SEmmanuel Vadot            - description: aggre-NOC PCIe AXI clock
788d13bc63SEmmanuel Vadot            - description: cfg-NOC PCIe a-NOC AHB clock
798d13bc63SEmmanuel Vadot
808d13bc63SEmmanuel Vadot  - if:
818d13bc63SEmmanuel Vadot      properties:
828d13bc63SEmmanuel Vadot        compatible:
838d13bc63SEmmanuel Vadot          contains:
848d13bc63SEmmanuel Vadot            enum:
858d13bc63SEmmanuel Vadot              - qcom,sm8650-aggre1-noc
868d13bc63SEmmanuel Vadot    then:
878d13bc63SEmmanuel Vadot      properties:
888d13bc63SEmmanuel Vadot        clocks:
898d13bc63SEmmanuel Vadot          items:
908d13bc63SEmmanuel Vadot            - description: aggre UFS PHY AXI clock
918d13bc63SEmmanuel Vadot            - description: aggre USB3 PRIM AXI clock
928d13bc63SEmmanuel Vadot
938d13bc63SEmmanuel Vadot  - if:
948d13bc63SEmmanuel Vadot      properties:
958d13bc63SEmmanuel Vadot        compatible:
968d13bc63SEmmanuel Vadot          contains:
978d13bc63SEmmanuel Vadot            enum:
988d13bc63SEmmanuel Vadot              - qcom,sm8650-aggre2-noc
998d13bc63SEmmanuel Vadot    then:
1008d13bc63SEmmanuel Vadot      properties:
1018d13bc63SEmmanuel Vadot        clocks:
1028d13bc63SEmmanuel Vadot          items:
1038d13bc63SEmmanuel Vadot            - description: RPMH CC IPA clock
1048d13bc63SEmmanuel Vadot
1058d13bc63SEmmanuel Vadot  - if:
1068d13bc63SEmmanuel Vadot      properties:
1078d13bc63SEmmanuel Vadot        compatible:
1088d13bc63SEmmanuel Vadot          contains:
1098d13bc63SEmmanuel Vadot            enum:
1108d13bc63SEmmanuel Vadot              - qcom,sm8650-aggre1-noc
1118d13bc63SEmmanuel Vadot              - qcom,sm8650-aggre2-noc
1128d13bc63SEmmanuel Vadot              - qcom,sm8650-pcie-anoc
1138d13bc63SEmmanuel Vadot    then:
1148d13bc63SEmmanuel Vadot      required:
1158d13bc63SEmmanuel Vadot        - clocks
1168d13bc63SEmmanuel Vadot    else:
1178d13bc63SEmmanuel Vadot      properties:
1188d13bc63SEmmanuel Vadot        clocks: false
1198d13bc63SEmmanuel Vadot
1208d13bc63SEmmanuel VadotunevaluatedProperties: false
1218d13bc63SEmmanuel Vadot
1228d13bc63SEmmanuel Vadotexamples:
1238d13bc63SEmmanuel Vadot  - |
1248d13bc63SEmmanuel Vadot    clk_virt: interconnect-0 {
1258d13bc63SEmmanuel Vadot      compatible = "qcom,sm8650-clk-virt";
1268d13bc63SEmmanuel Vadot      #interconnect-cells = <2>;
1278d13bc63SEmmanuel Vadot      qcom,bcm-voters = <&apps_bcm_voter>;
1288d13bc63SEmmanuel Vadot    };
1298d13bc63SEmmanuel Vadot
1308d13bc63SEmmanuel Vadot    aggre1_noc: interconnect@16e0000 {
1318d13bc63SEmmanuel Vadot      compatible = "qcom,sm8650-aggre1-noc";
1328d13bc63SEmmanuel Vadot      reg = <0x016e0000 0x14400>;
1338d13bc63SEmmanuel Vadot      #interconnect-cells = <2>;
1348d13bc63SEmmanuel Vadot      clocks = <&gcc_phy_axi_clk>, <&gcc_prim_axi_clk>;
1358d13bc63SEmmanuel Vadot      qcom,bcm-voters = <&apps_bcm_voter>;
1368d13bc63SEmmanuel Vadot    };
137