blob: aa35a40648ba8a606c9d6286a1916e2cff339f1a [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/clock/qcom,mmcc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Multimedia Clock & Reset Controller
8
9maintainers:
10 - Jeffrey Hugo <quic_jhugo@quicinc.com>
11 - Taniya Das <quic_tdas@quicinc.com>
12
13description: |
14 Qualcomm multimedia clock control module provides the clocks, resets and
15 power domains.
16
17properties:
18 compatible:
19 enum:
20 - qcom,mmcc-apq8064
21 - qcom,mmcc-apq8084
22 - qcom,mmcc-msm8226
23 - qcom,mmcc-msm8660
24 - qcom,mmcc-msm8960
25 - qcom,mmcc-msm8974
26 - qcom,mmcc-msm8992
27 - qcom,mmcc-msm8994
28 - qcom,mmcc-msm8996
29 - qcom,mmcc-msm8998
30 - qcom,mmcc-sdm630
31 - qcom,mmcc-sdm660
32
33 clocks:
34 minItems: 7
35 maxItems: 13
36
37 clock-names:
38 minItems: 7
39 maxItems: 13
40
41 '#clock-cells':
42 const: 1
43
44 '#reset-cells':
45 const: 1
46
47 '#power-domain-cells':
48 const: 1
49
50 reg:
51 maxItems: 1
52
53 protected-clocks:
54 description:
55 Protected clock specifier list as per common clock binding
56
57 vdd-gfx-supply:
58 description:
59 Regulator supply for the GPU_GX GDSC
60
61required:
62 - compatible
63 - reg
64 - '#clock-cells'
65 - '#reset-cells'
66 - '#power-domain-cells'
67
68additionalProperties: false
69
70allOf:
71 - if:
72 properties:
73 compatible:
74 contains:
75 enum:
76 - qcom,mmcc-apq8064
77 - qcom,mmcc-msm8960
78 then:
79 properties:
80 clocks:
81 items:
82 - description: Board PXO source
83 - description: PLL 3 clock
84 - description: PLL 3 Vote clock
85 - description: DSI phy instance 1 dsi clock
86 - description: DSI phy instance 1 byte clock
87 - description: DSI phy instance 2 dsi clock
88 - description: DSI phy instance 2 byte clock
89 - description: HDMI phy PLL clock
90
91 clock-names:
92 items:
93 - const: pxo
94 - const: pll3
95 - const: pll8_vote
96 - const: dsi1pll
97 - const: dsi1pllbyte
98 - const: dsi2pll
99 - const: dsi2pllbyte
100 - const: hdmipll
101
102 - if:
103 properties:
104 compatible:
105 contains:
106 enum:
107 - qcom,mmcc-msm8226
108 then:
109 properties:
110 clocks:
111 items:
112 - description: Board XO source
113 - description: MMSS GPLL0 voted clock
114 - description: GPLL0 voted clock
115 - description: GPLL1 voted clock
116 - description: GFX3D clock source
117 - description: DSI phy instance 0 dsi clock
118 - description: DSI phy instance 0 byte clock
119
120 clock-names:
121 items:
122 - const: xo
123 - const: mmss_gpll0_vote
124 - const: gpll0_vote
125 - const: gpll1_vote
126 - const: gfx3d_clk_src
127 - const: dsi0pll
128 - const: dsi0pllbyte
129
130 - if:
131 properties:
132 compatible:
133 contains:
134 enum:
135 - qcom,mmcc-msm8974
136 then:
137 properties:
138 clocks:
139 items:
140 - description: Board XO source
141 - description: MMSS GPLL0 voted clock
142 - description: GPLL0 voted clock
143 - description: GPLL1 voted clock
144 - description: GFX3D clock source
145 - description: DSI phy instance 0 dsi clock
146 - description: DSI phy instance 0 byte clock
147 - description: DSI phy instance 1 dsi clock
148 - description: DSI phy instance 1 byte clock
149 - description: HDMI phy PLL clock
150 - description: eDP phy PLL link clock
151 - description: eDP phy PLL vco clock
152
153 clock-names:
154 items:
155 - const: xo
156 - const: mmss_gpll0_vote
157 - const: gpll0_vote
158 - const: gpll1_vote
159 - const: gfx3d_clk_src
160 - const: dsi0pll
161 - const: dsi0pllbyte
162 - const: dsi1pll
163 - const: dsi1pllbyte
164 - const: hdmipll
165 - const: edp_link_clk
166 - const: edp_vco_div
167
168 - if:
169 properties:
170 compatible:
171 contains:
172 enum:
173 - qcom,mmcc-apq8084
174 then:
175 properties:
176 clocks:
177 items:
178 - description: Board XO source
179 - description: Board sleep source
180 - description: MMSS GPLL0 voted clock
181 - description: GPLL0 clock
182 - description: GPLL0 voted clock
183 - description: GPLL1 clock
184 - description: DSI phy instance 0 dsi clock
185 - description: DSI phy instance 0 byte clock
186 - description: DSI phy instance 1 dsi clock
187 - description: DSI phy instance 1 byte clock
188 - description: HDMI phy PLL clock
189 - description: eDP phy PLL link clock
190 - description: eDP phy PLL vco clock
191
192 clock-names:
193 items:
194 - const: xo
195 - const: sleep_clk
196 - const: mmss_gpll0_vote
197 - const: gpll0
198 - const: gpll0_vote
199 - const: gpll1
200 - const: dsi0pll
201 - const: dsi0pllbyte
202 - const: dsi1pll
203 - const: dsi1pllbyte
204 - const: hdmipll
205 - const: edp_link_clk
206 - const: edp_vco_div
207
208 - if:
209 properties:
210 compatible:
211 contains:
212 enum:
213 - qcom,mmcc-msm8994
214 - qcom,mmcc-msm8998
215 - qcom,mmcc-sdm630
216 - qcom,mmcc-sdm660
217 then:
218 required:
219 - clocks
220 - clock-names
221
222 - if:
223 properties:
224 compatible:
225 contains:
226 const: qcom,mmcc-msm8994
227 then:
228 properties:
229 clocks:
230 items:
231 - description: Board XO source
232 - description: Global PLL 0 clock
233 - description: MMSS NoC AHB clock
234 - description: GFX3D clock
235 - description: DSI phy instance 0 dsi clock
236 - description: DSI phy instance 0 byte clock
237 - description: DSI phy instance 1 dsi clock
238 - description: DSI phy instance 1 byte clock
239 - description: HDMI phy PLL clock
240
241 clock-names:
242 items:
243 - const: xo
244 - const: gpll0
245 - const: mmssnoc_ahb
246 - const: oxili_gfx3d_clk_src
247 - const: dsi0pll
248 - const: dsi0pllbyte
249 - const: dsi1pll
250 - const: dsi1pllbyte
251 - const: hdmipll
252
253 - if:
254 properties:
255 compatible:
256 contains:
257 const: qcom,mmcc-msm8996
258 then:
259 properties:
260 clocks:
261 items:
262 - description: Board XO source
263 - description: Global PLL 0 clock
264 - description: MMSS NoC AHB clock
265 - description: DSI phy instance 0 dsi clock
266 - description: DSI phy instance 0 byte clock
267 - description: DSI phy instance 1 dsi clock
268 - description: DSI phy instance 1 byte clock
269 - description: HDMI phy PLL clock
270
271 clock-names:
272 items:
273 - const: xo
274 - const: gpll0
275 - const: gcc_mmss_noc_cfg_ahb_clk
276 - const: dsi0pll
277 - const: dsi0pllbyte
278 - const: dsi1pll
279 - const: dsi1pllbyte
280 - const: hdmipll
281
282 - if:
283 properties:
284 compatible:
285 contains:
286 const: qcom,mmcc-msm8998
287 then:
288 properties:
289 clocks:
290 items:
291 - description: Board XO source
292 - description: Global PLL 0 clock
293 - description: DSI phy instance 0 dsi clock
294 - description: DSI phy instance 0 byte clock
295 - description: DSI phy instance 1 dsi clock
296 - description: DSI phy instance 1 byte clock
297 - description: HDMI phy PLL clock
298 - description: DisplayPort phy PLL link clock
299 - description: DisplayPort phy PLL vco clock
300 - description: Global PLL 0 DIV clock
301
302 clock-names:
303 items:
304 - const: xo
305 - const: gpll0
306 - const: dsi0dsi
307 - const: dsi0byte
308 - const: dsi1dsi
309 - const: dsi1byte
310 - const: hdmipll
311 - const: dplink
312 - const: dpvco
313 - const: gpll0_div
314
315 - if:
316 properties:
317 compatible:
318 contains:
319 enum:
320 - qcom,mmcc-sdm630
321 - qcom,mmcc-sdm660
322 then:
323 properties:
324 clocks:
325 items:
326 - description: Board XO source
327 - description: Board sleep source
328 - description: Global PLL 0 clock
329 - description: Global PLL 0 DIV clock
330 - description: DSI phy instance 0 dsi clock
331 - description: DSI phy instance 0 byte clock
332 - description: DSI phy instance 1 dsi clock
333 - description: DSI phy instance 1 byte clock
334 - description: DisplayPort phy PLL link clock
335 - description: DisplayPort phy PLL vco clock
336
337 clock-names:
338 items:
339 - const: xo
340 - const: sleep_clk
341 - const: gpll0
342 - const: gpll0_div
343 - const: dsi0pll
344 - const: dsi0pllbyte
345 - const: dsi1pll
346 - const: dsi1pllbyte
347 - const: dp_link_2x_clk_divsel_five
348 - const: dp_vco_divided_clk_src_mux
349
350examples:
351 # Example for MMCC for MSM8960:
352 - |
353 clock-controller@4000000 {
354 compatible = "qcom,mmcc-msm8960";
355 reg = <0x4000000 0x1000>;
356 #clock-cells = <1>;
357 #reset-cells = <1>;
358 #power-domain-cells = <1>;
359 };
360...