xref: /freebsd/sys/contrib/device-tree/Bindings/interconnect/qcom,sm8750-rpmh.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
12846c905SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
22846c905SEmmanuel Vadot%YAML 1.2
32846c905SEmmanuel Vadot---
42846c905SEmmanuel Vadot$id: http://devicetree.org/schemas/interconnect/qcom,sm8750-rpmh.yaml#
52846c905SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
62846c905SEmmanuel Vadot
72846c905SEmmanuel Vadottitle: Qualcomm RPMh Network-On-Chip Interconnect on SM8750
82846c905SEmmanuel Vadot
92846c905SEmmanuel Vadotmaintainers:
102846c905SEmmanuel Vadot  - Abel Vesa <abel.vesa@linaro.org>
112846c905SEmmanuel Vadot  - Neil Armstrong <neil.armstrong@linaro.org>
122846c905SEmmanuel Vadot
132846c905SEmmanuel Vadotdescription: |
142846c905SEmmanuel Vadot  RPMh interconnect providers support system bandwidth requirements through
152846c905SEmmanuel Vadot  RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
162846c905SEmmanuel Vadot  able to communicate with the BCM through the Resource State Coordinator (RSC)
172846c905SEmmanuel Vadot  associated with each execution environment. Provider nodes must point to at
182846c905SEmmanuel Vadot  least one RPMh device child node pertaining to their RSC and each provider
192846c905SEmmanuel Vadot  can map to multiple RPMh resources.
202846c905SEmmanuel Vadot
21*833e5d42SEmmanuel Vadot  See also: include/dt-bindings/interconnect/qcom,sm8750-rpmh.h
222846c905SEmmanuel Vadot
232846c905SEmmanuel Vadotproperties:
242846c905SEmmanuel Vadot  compatible:
252846c905SEmmanuel Vadot    enum:
262846c905SEmmanuel Vadot      - qcom,sm8750-aggre1-noc
272846c905SEmmanuel Vadot      - qcom,sm8750-aggre2-noc
282846c905SEmmanuel Vadot      - qcom,sm8750-clk-virt
292846c905SEmmanuel Vadot      - qcom,sm8750-cnoc-main
302846c905SEmmanuel Vadot      - qcom,sm8750-config-noc
312846c905SEmmanuel Vadot      - qcom,sm8750-gem-noc
322846c905SEmmanuel Vadot      - qcom,sm8750-lpass-ag-noc
332846c905SEmmanuel Vadot      - qcom,sm8750-lpass-lpiaon-noc
342846c905SEmmanuel Vadot      - qcom,sm8750-lpass-lpicx-noc
352846c905SEmmanuel Vadot      - qcom,sm8750-mc-virt
362846c905SEmmanuel Vadot      - qcom,sm8750-mmss-noc
372846c905SEmmanuel Vadot      - qcom,sm8750-nsp-noc
382846c905SEmmanuel Vadot      - qcom,sm8750-pcie-anoc
392846c905SEmmanuel Vadot      - qcom,sm8750-system-noc
402846c905SEmmanuel Vadot
412846c905SEmmanuel Vadot  reg:
422846c905SEmmanuel Vadot    maxItems: 1
432846c905SEmmanuel Vadot
442846c905SEmmanuel Vadot  clocks:
452846c905SEmmanuel Vadot    minItems: 1
462846c905SEmmanuel Vadot    maxItems: 2
472846c905SEmmanuel Vadot
482846c905SEmmanuel Vadotrequired:
492846c905SEmmanuel Vadot  - compatible
502846c905SEmmanuel Vadot
512846c905SEmmanuel VadotallOf:
522846c905SEmmanuel Vadot  - $ref: qcom,rpmh-common.yaml#
532846c905SEmmanuel Vadot  - if:
542846c905SEmmanuel Vadot      properties:
552846c905SEmmanuel Vadot        compatible:
562846c905SEmmanuel Vadot          contains:
572846c905SEmmanuel Vadot            enum:
582846c905SEmmanuel Vadot              - qcom,sm8750-clk-virt
592846c905SEmmanuel Vadot              - qcom,sm8750-mc-virt
602846c905SEmmanuel Vadot    then:
612846c905SEmmanuel Vadot      properties:
622846c905SEmmanuel Vadot        reg: false
632846c905SEmmanuel Vadot    else:
642846c905SEmmanuel Vadot      required:
652846c905SEmmanuel Vadot        - reg
662846c905SEmmanuel Vadot
672846c905SEmmanuel Vadot  - if:
682846c905SEmmanuel Vadot      properties:
692846c905SEmmanuel Vadot        compatible:
702846c905SEmmanuel Vadot          contains:
712846c905SEmmanuel Vadot            enum:
722846c905SEmmanuel Vadot              - qcom,sm8750-pcie-anoc
732846c905SEmmanuel Vadot    then:
742846c905SEmmanuel Vadot      properties:
752846c905SEmmanuel Vadot        clocks:
762846c905SEmmanuel Vadot          items:
772846c905SEmmanuel Vadot            - description: aggre-NOC PCIe AXI clock
782846c905SEmmanuel Vadot            - description: cfg-NOC PCIe a-NOC AHB clock
792846c905SEmmanuel Vadot
802846c905SEmmanuel Vadot  - if:
812846c905SEmmanuel Vadot      properties:
822846c905SEmmanuel Vadot        compatible:
832846c905SEmmanuel Vadot          contains:
842846c905SEmmanuel Vadot            enum:
852846c905SEmmanuel Vadot              - qcom,sm8750-aggre1-noc
862846c905SEmmanuel Vadot    then:
872846c905SEmmanuel Vadot      properties:
882846c905SEmmanuel Vadot        clocks:
892846c905SEmmanuel Vadot          items:
902846c905SEmmanuel Vadot            - description: aggre UFS PHY AXI clock
912846c905SEmmanuel Vadot            - description: aggre USB3 PRIM AXI clock
922846c905SEmmanuel Vadot
932846c905SEmmanuel Vadot  - if:
942846c905SEmmanuel Vadot      properties:
952846c905SEmmanuel Vadot        compatible:
962846c905SEmmanuel Vadot          contains:
972846c905SEmmanuel Vadot            enum:
982846c905SEmmanuel Vadot              - qcom,sm8750-aggre2-noc
992846c905SEmmanuel Vadot    then:
1002846c905SEmmanuel Vadot      properties:
1012846c905SEmmanuel Vadot        clocks:
1022846c905SEmmanuel Vadot          items:
1032846c905SEmmanuel Vadot            - description: RPMH CC IPA clock
1042846c905SEmmanuel Vadot
1052846c905SEmmanuel Vadot  - if:
1062846c905SEmmanuel Vadot      properties:
1072846c905SEmmanuel Vadot        compatible:
1082846c905SEmmanuel Vadot          contains:
1092846c905SEmmanuel Vadot            enum:
1102846c905SEmmanuel Vadot              - qcom,sm8750-aggre1-noc
1112846c905SEmmanuel Vadot              - qcom,sm8750-aggre2-noc
1122846c905SEmmanuel Vadot              - qcom,sm8750-pcie-anoc
1132846c905SEmmanuel Vadot    then:
1142846c905SEmmanuel Vadot      required:
1152846c905SEmmanuel Vadot        - clocks
1162846c905SEmmanuel Vadot    else:
1172846c905SEmmanuel Vadot      properties:
1182846c905SEmmanuel Vadot        clocks: false
1192846c905SEmmanuel Vadot
1202846c905SEmmanuel VadotunevaluatedProperties: false
1212846c905SEmmanuel Vadot
1222846c905SEmmanuel Vadotexamples:
1232846c905SEmmanuel Vadot  - |
1242846c905SEmmanuel Vadot    clk_virt: interconnect-0 {
1252846c905SEmmanuel Vadot      compatible = "qcom,sm8750-clk-virt";
1262846c905SEmmanuel Vadot      #interconnect-cells = <2>;
1272846c905SEmmanuel Vadot      qcom,bcm-voters = <&apps_bcm_voter>;
1282846c905SEmmanuel Vadot    };
1292846c905SEmmanuel Vadot
1302846c905SEmmanuel Vadot    aggre1_noc: interconnect@16e0000 {
1312846c905SEmmanuel Vadot      compatible = "qcom,sm8750-aggre1-noc";
1322846c905SEmmanuel Vadot      reg = <0x016e0000 0x16400>;
1332846c905SEmmanuel Vadot      #interconnect-cells = <2>;
1342846c905SEmmanuel Vadot      clocks = <&gcc_phy_axi_clk>, <&gcc_prim_axi_clk>;
1352846c905SEmmanuel Vadot      qcom,bcm-voters = <&apps_bcm_voter>;
1362846c905SEmmanuel Vadot    };
137