xref: /freebsd/sys/contrib/device-tree/Bindings/interconnect/qcom,sm8450-rpmh.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
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