blob: 982c741e622513953af64e3d133a0257631eea82 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm APCS global block
8
9description:
10 This binding describes the APCS "global" block found in various Qualcomm
11 platforms.
12
13maintainers:
14 - Jassi Brar <jassisinghbrar@gmail.com>
15
16properties:
17 compatible:
18 oneOf:
19 - items:
20 - enum:
21 - qcom,ipq5018-apcs-apps-global
22 - qcom,ipq5332-apcs-apps-global
23 - qcom,ipq8074-apcs-apps-global
24 - qcom,ipq9574-apcs-apps-global
25 - const: qcom,ipq6018-apcs-apps-global
26 - items:
27 - enum:
Tom Rini93743d22024-04-01 09:08:13 -040028 - qcom,qcs404-apcs-apps-global
29 - const: qcom,msm8916-apcs-kpss-global
30 - const: syscon
31 - items:
32 - enum:
Tom Rini762f85b2024-07-20 11:15:10 -060033 - qcom,msm8974-apcs-kpss-global
Tom Rini93743d22024-04-01 09:08:13 -040034 - qcom,msm8976-apcs-kpss-global
35 - const: qcom,msm8994-apcs-kpss-global
36 - const: syscon
37 - items:
38 - enum:
39 - qcom,msm8998-apcs-hmss-global
40 - qcom,sdm660-apcs-hmss-global
41 - qcom,sm4250-apcs-hmss-global
42 - qcom,sm6115-apcs-hmss-global
43 - qcom,sm6125-apcs-hmss-global
44 - const: qcom,msm8994-apcs-kpss-global
45 - items:
46 - enum:
Tom Rini53633a82024-02-29 12:33:36 -050047 - qcom,sc7180-apss-shared
48 - qcom,sc8180x-apss-shared
49 - qcom,sm8150-apss-shared
50 - const: qcom,sdm845-apss-shared
51 - items:
52 - enum:
53 - qcom,msm8916-apcs-kpss-global
54 - qcom,msm8939-apcs-kpss-global
55 - qcom,msm8953-apcs-kpss-global
Tom Rini53633a82024-02-29 12:33:36 -050056 - qcom,msm8994-apcs-kpss-global
Tom Rini53633a82024-02-29 12:33:36 -050057 - qcom,sdx55-apcs-gcc
58 - const: syscon
59 - enum:
60 - qcom,ipq6018-apcs-apps-global
Tom Rini53633a82024-02-29 12:33:36 -050061 - qcom,msm8996-apcs-hmss-global
Tom Rini53633a82024-02-29 12:33:36 -050062 - qcom,qcm2290-apcs-hmss-global
Tom Rini53633a82024-02-29 12:33:36 -050063 - qcom,sdm845-apss-shared
Tom Rini53633a82024-02-29 12:33:36 -050064
65 reg:
66 maxItems: 1
67
68 clocks:
69 description: phandles to the parent clocks of the clock driver
70 minItems: 2
71 maxItems: 3
72
73 '#mbox-cells':
74 const: 1
75
76 '#clock-cells':
77 enum: [0, 1]
78
79 clock-names:
80 minItems: 2
81 maxItems: 3
82
83required:
84 - compatible
85 - reg
86 - '#mbox-cells'
87
88additionalProperties: false
89
90allOf:
91 - if:
92 properties:
93 compatible:
Tom Rini93743d22024-04-01 09:08:13 -040094 contains:
95 enum:
96 - qcom,msm8916-apcs-kpss-global
Tom Rini53633a82024-02-29 12:33:36 -050097 then:
98 properties:
99 clocks:
100 items:
101 - description: primary pll parent of the clock driver
102 - description: auxiliary parent
103 clock-names:
104 items:
105 - const: pll
106 - const: aux
107
108 - if:
109 properties:
110 compatible:
111 contains:
112 enum:
Tom Rini93743d22024-04-01 09:08:13 -0400113 - qcom,msm8939-apcs-kpss-global
114 then:
115 properties:
116 clocks:
117 items:
118 - description: primary pll parent of the clock driver
119 - description: auxiliary parent
120 - description: reference clock
121 clock-names:
122 items:
123 - const: pll
124 - const: aux
125 - const: ref
126
127 - if:
128 properties:
129 compatible:
130 contains:
131 enum:
Tom Rini53633a82024-02-29 12:33:36 -0500132 - qcom,sdx55-apcs-gcc
133 then:
134 properties:
135 clocks:
136 items:
137 - description: reference clock
138 - description: primary pll parent of the clock driver
139 - description: auxiliary parent
140 clock-names:
141 items:
142 - const: ref
143 - const: pll
144 - const: aux
Tom Rini93743d22024-04-01 09:08:13 -0400145
Tom Rini53633a82024-02-29 12:33:36 -0500146 - if:
147 properties:
148 compatible:
149 contains:
150 enum:
151 - qcom,ipq6018-apcs-apps-global
152 then:
153 properties:
154 clocks:
155 items:
156 - description: primary pll parent of the clock driver
157 - description: XO clock
158 - description: GCC GPLL0 clock source
159 clock-names:
160 items:
161 - const: pll
162 - const: xo
163 - const: gpll0
164
165 - if:
166 properties:
167 compatible:
168 enum:
169 - qcom,msm8953-apcs-kpss-global
Tom Rini53633a82024-02-29 12:33:36 -0500170 - qcom,msm8994-apcs-kpss-global
171 - qcom,msm8996-apcs-hmss-global
Tom Rini53633a82024-02-29 12:33:36 -0500172 - qcom,qcm2290-apcs-hmss-global
Tom Rini53633a82024-02-29 12:33:36 -0500173 - qcom,sdm845-apss-shared
Tom Rini53633a82024-02-29 12:33:36 -0500174 then:
175 properties:
176 clocks: false
177 clock-names: false
178
179 - if:
180 properties:
181 compatible:
182 contains:
183 enum:
184 - qcom,ipq6018-apcs-apps-global
185 then:
186 properties:
187 '#clock-cells':
188 const: 1
189 else:
190 properties:
191 '#clock-cells':
192 const: 0
193
194examples:
195
196 # Example apcs with msm8996
197 - |
198 #include <dt-bindings/interrupt-controller/arm-gic.h>
199 apcs_glb: mailbox@9820000 {
200 compatible = "qcom,msm8996-apcs-hmss-global";
201 reg = <0x9820000 0x1000>;
202
203 #mbox-cells = <1>;
204 #clock-cells = <0>;
205 };
206
207 rpm-glink {
208 compatible = "qcom,glink-rpm";
209 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
210 qcom,rpm-msg-ram = <&rpm_msg_ram>;
211 mboxes = <&apcs_glb 0>;
212 };
213
214 # Example apcs with qcs404
215 - |
216 #define GCC_APSS_AHB_CLK_SRC 1
217 #define GCC_GPLL0_AO_OUT_MAIN 123
218 apcs: mailbox@b011000 {
Tom Rini93743d22024-04-01 09:08:13 -0400219 compatible = "qcom,qcs404-apcs-apps-global",
220 "qcom,msm8916-apcs-kpss-global", "syscon";
Tom Rini53633a82024-02-29 12:33:36 -0500221 reg = <0x0b011000 0x1000>;
222 #mbox-cells = <1>;
223 clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>;
224 clock-names = "pll", "aux";
225 #clock-cells = <0>;
226 };