blob: 9a5437b3d6a8ea5b064a8437e66de2f4327bd7f2 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Device Tree Source for AM43xx clock data
4 *
5 * Copyright (C) 2013 Texas Instruments, Inc.
6 */
7&scm_clocks {
8 sys_clkin_ck: clock-sys-clkin-31@40 {
9 #clock-cells = <0>;
10 compatible = "ti,mux-clock";
11 clock-output-names = "sys_clkin_ck";
12 clocks = <&sysboot_freq_sel_ck>, <&crystal_freq_sel_ck>;
13 ti,bit-shift = <31>;
14 reg = <0x0040>;
15 };
16
17 crystal_freq_sel_ck: clock-crystal-freq-sel-29@40 {
18 #clock-cells = <0>;
19 compatible = "ti,mux-clock";
20 clock-output-names = "crystal_freq_sel_ck";
21 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
22 ti,bit-shift = <29>;
23 reg = <0x0040>;
24 };
25
26 sysboot_freq_sel_ck: clock-sysboot-freq-sel-22@44e10040 {
27 #clock-cells = <0>;
28 compatible = "ti,mux-clock";
29 clock-output-names = "sysboot_freq_sel_ck";
30 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
31 ti,bit-shift = <22>;
32 reg = <0x0040>;
33 };
34
35 adc_tsc_fck: clock-adc-tsc-fck {
36 #clock-cells = <0>;
37 compatible = "fixed-factor-clock";
38 clock-output-names = "adc_tsc_fck";
39 clocks = <&sys_clkin_ck>;
40 clock-mult = <1>;
41 clock-div = <1>;
42 };
43
44 dcan0_fck: clock-dcan0-fck {
45 #clock-cells = <0>;
46 compatible = "fixed-factor-clock";
47 clock-output-names = "dcan0_fck";
48 clocks = <&sys_clkin_ck>;
49 clock-mult = <1>;
50 clock-div = <1>;
51 };
52
53 dcan1_fck: clock-dcan1-fck {
54 #clock-cells = <0>;
55 compatible = "fixed-factor-clock";
56 clock-output-names = "dcan1_fck";
57 clocks = <&sys_clkin_ck>;
58 clock-mult = <1>;
59 clock-div = <1>;
60 };
61
62 mcasp0_fck: clock-mcasp0-fck {
63 #clock-cells = <0>;
64 compatible = "fixed-factor-clock";
65 clock-output-names = "mcasp0_fck";
66 clocks = <&sys_clkin_ck>;
67 clock-mult = <1>;
68 clock-div = <1>;
69 };
70
71 mcasp1_fck: clock-mcasp1-fck {
72 #clock-cells = <0>;
73 compatible = "fixed-factor-clock";
74 clock-output-names = "mcasp1_fck";
75 clocks = <&sys_clkin_ck>;
76 clock-mult = <1>;
77 clock-div = <1>;
78 };
79
80 smartreflex0_fck: clock-smartreflex0-fck {
81 #clock-cells = <0>;
82 compatible = "fixed-factor-clock";
83 clock-output-names = "smartreflex0_fck";
84 clocks = <&sys_clkin_ck>;
85 clock-mult = <1>;
86 clock-div = <1>;
87 };
88
89 smartreflex1_fck: clock-smartreflex1-fck {
90 #clock-cells = <0>;
91 compatible = "fixed-factor-clock";
92 clock-output-names = "smartreflex1_fck";
93 clocks = <&sys_clkin_ck>;
94 clock-mult = <1>;
95 clock-div = <1>;
96 };
97
98 sha0_fck: clock-sha0-fck {
99 #clock-cells = <0>;
100 compatible = "fixed-factor-clock";
101 clock-output-names = "sha0_fck";
102 clocks = <&sys_clkin_ck>;
103 clock-mult = <1>;
104 clock-div = <1>;
105 };
106
107 aes0_fck: clock-aes0-fck {
108 #clock-cells = <0>;
109 compatible = "fixed-factor-clock";
110 clock-output-names = "aes0_fck";
111 clocks = <&sys_clkin_ck>;
112 clock-mult = <1>;
113 clock-div = <1>;
114 };
115
116 rng_fck: clock-rng-fck {
117 #clock-cells = <0>;
118 compatible = "fixed-factor-clock";
119 clock-output-names = "rng_fck";
120 clocks = <&sys_clkin_ck>;
121 clock-mult = <1>;
122 clock-div = <1>;
123 };
124
125 ehrpwm0_tbclk: clock-ehrpwm0-tbclk-0@664 {
126 #clock-cells = <0>;
127 compatible = "ti,gate-clock";
128 clock-output-names = "ehrpwm0_tbclk";
129 clocks = <&l4ls_gclk>;
130 ti,bit-shift = <0>;
131 reg = <0x0664>;
132 };
133
134 ehrpwm1_tbclk: clock-ehrpwm1-tbclk-1@664 {
135 #clock-cells = <0>;
136 compatible = "ti,gate-clock";
137 clock-output-names = "ehrpwm1_tbclk";
138 clocks = <&l4ls_gclk>;
139 ti,bit-shift = <1>;
140 reg = <0x0664>;
141 };
142
143 ehrpwm2_tbclk: clock-ehrpwm2-tbclk-2@664 {
144 #clock-cells = <0>;
145 compatible = "ti,gate-clock";
146 clock-output-names = "ehrpwm2_tbclk";
147 clocks = <&l4ls_gclk>;
148 ti,bit-shift = <2>;
149 reg = <0x0664>;
150 };
151
152 ehrpwm3_tbclk: clock-ehrpwm3-tbclk-4@664 {
153 #clock-cells = <0>;
154 compatible = "ti,gate-clock";
155 clock-output-names = "ehrpwm3_tbclk";
156 clocks = <&l4ls_gclk>;
157 ti,bit-shift = <4>;
158 reg = <0x0664>;
159 };
160
161 ehrpwm4_tbclk: clock-ehrpwm4-tbclk-5@664 {
162 #clock-cells = <0>;
163 compatible = "ti,gate-clock";
164 clock-output-names = "ehrpwm4_tbclk";
165 clocks = <&l4ls_gclk>;
166 ti,bit-shift = <5>;
167 reg = <0x0664>;
168 };
169
170 ehrpwm5_tbclk: clock-ehrpwm5-tbclk-6@664 {
171 #clock-cells = <0>;
172 compatible = "ti,gate-clock";
173 clock-output-names = "ehrpwm5_tbclk";
174 clocks = <&l4ls_gclk>;
175 ti,bit-shift = <6>;
176 reg = <0x0664>;
177 };
178};
179&prcm_clocks {
180 clk_32768_ck: clock-clk-32768 {
181 #clock-cells = <0>;
182 compatible = "fixed-clock";
183 clock-output-names = "clk_32768_ck";
184 clock-frequency = <32768>;
185 };
186
187 clk_rc32k_ck: clock-clk-rc32k {
188 #clock-cells = <0>;
189 compatible = "fixed-clock";
190 clock-output-names = "clk_rc32k_ck";
191 clock-frequency = <32768>;
192 };
193
194 virt_19200000_ck: clock-virt-19200000 {
195 #clock-cells = <0>;
196 compatible = "fixed-clock";
197 clock-output-names = "virt_19200000_ck";
198 clock-frequency = <19200000>;
199 };
200
201 virt_24000000_ck: clock-virt-24000000 {
202 #clock-cells = <0>;
203 compatible = "fixed-clock";
204 clock-output-names = "virt_24000000_ck";
205 clock-frequency = <24000000>;
206 };
207
208 virt_25000000_ck: clock-virt-25000000 {
209 #clock-cells = <0>;
210 compatible = "fixed-clock";
211 clock-output-names = "virt_25000000_ck";
212 clock-frequency = <25000000>;
213 };
214
215 virt_26000000_ck: clock-virt-26000000 {
216 #clock-cells = <0>;
217 compatible = "fixed-clock";
218 clock-output-names = "virt_26000000_ck";
219 clock-frequency = <26000000>;
220 };
221
222 tclkin_ck: clock-tclkin {
223 #clock-cells = <0>;
224 compatible = "fixed-clock";
225 clock-output-names = "tclkin_ck";
226 clock-frequency = <26000000>;
227 };
228
229 dpll_core_ck: clock@2d20 {
230 #clock-cells = <0>;
231 compatible = "ti,am3-dpll-core-clock";
232 clock-output-names = "dpll_core_ck";
233 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
234 reg = <0x2d20>, <0x2d24>, <0x2d2c>, <0x2d48>, <0x2d4c>;
235 };
236
237 dpll_core_x2_ck: clock-dpll-core-x2 {
238 #clock-cells = <0>;
239 compatible = "ti,am3-dpll-x2-clock";
240 clock-output-names = "dpll_core_x2_ck";
241 clocks = <&dpll_core_ck>;
242 };
243
244 dpll_core_m4_ck: clock-dpll-core-m4-8@2d38 {
245 #clock-cells = <0>;
246 compatible = "ti,divider-clock";
247 clock-output-names = "dpll_core_m4_ck";
248 clocks = <&dpll_core_x2_ck>;
249 ti,max-div = <31>;
250 ti,autoidle-shift = <8>;
251 reg = <0x2d38>;
252 ti,index-starts-at-one;
253 ti,invert-autoidle-bit;
254 };
255
256 dpll_core_m5_ck: clock-dpll-core-m5-8@2d3c {
257 #clock-cells = <0>;
258 compatible = "ti,divider-clock";
259 clock-output-names = "dpll_core_m5_ck";
260 clocks = <&dpll_core_x2_ck>;
261 ti,max-div = <31>;
262 ti,autoidle-shift = <8>;
263 reg = <0x2d3c>;
264 ti,index-starts-at-one;
265 ti,invert-autoidle-bit;
266 };
267
268 dpll_core_m6_ck: clock-dpll-core-m6-8@2d40 {
269 #clock-cells = <0>;
270 compatible = "ti,divider-clock";
271 clock-output-names = "dpll_core_m6_ck";
272 clocks = <&dpll_core_x2_ck>;
273 ti,max-div = <31>;
274 ti,autoidle-shift = <8>;
275 reg = <0x2d40>;
276 ti,index-starts-at-one;
277 ti,invert-autoidle-bit;
278 };
279
280 dpll_mpu_ck: clock@2d60 {
281 #clock-cells = <0>;
282 compatible = "ti,am3-dpll-clock";
283 clock-output-names = "dpll_mpu_ck";
284 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
285 reg = <0x2d60>, <0x2d64>, <0x2d6c>, <0x2d88>, <0x2d8c>;
286 };
287
288 dpll_mpu_m2_ck: clock-dpll-mpu-m2-8@2d70 {
289 #clock-cells = <0>;
290 compatible = "ti,divider-clock";
291 clock-output-names = "dpll_mpu_m2_ck";
292 clocks = <&dpll_mpu_ck>;
293 ti,max-div = <31>;
294 ti,autoidle-shift = <8>;
295 reg = <0x2d70>;
296 ti,index-starts-at-one;
297 ti,invert-autoidle-bit;
298 };
299
300 mpu_periphclk: clock-mpu-periphclk {
301 #clock-cells = <0>;
302 compatible = "fixed-factor-clock";
303 clock-output-names = "mpu_periphclk";
304 clocks = <&dpll_mpu_m2_ck>;
305 clock-mult = <1>;
306 clock-div = <2>;
307 };
308
309 dpll_ddr_ck: clock@2da0 {
310 #clock-cells = <0>;
311 compatible = "ti,am3-dpll-clock";
312 clock-output-names = "dpll_ddr_ck";
313 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
314 reg = <0x2da0>, <0x2da4>, <0x2dac>, <0x2dc8>, <0x2dcc>;
315 };
316
317 dpll_ddr_m2_ck: clock-dpll-ddr-m2-8@2db0 {
318 #clock-cells = <0>;
319 compatible = "ti,divider-clock";
320 clock-output-names = "dpll_ddr_m2_ck";
321 clocks = <&dpll_ddr_ck>;
322 ti,max-div = <31>;
323 ti,autoidle-shift = <8>;
324 reg = <0x2db0>;
325 ti,index-starts-at-one;
326 ti,invert-autoidle-bit;
327 };
328
329 dpll_disp_ck: clock@2e20 {
330 #clock-cells = <0>;
331 compatible = "ti,am3-dpll-clock";
332 clock-output-names = "dpll_disp_ck";
333 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
334 reg = <0x2e20>, <0x2e24>, <0x2e2c>, <0x2e48>, <0x2e4c>;
335 };
336
337 dpll_disp_m2_ck: clock-dpll-disp-m2-8@2e30 {
338 #clock-cells = <0>;
339 compatible = "ti,divider-clock";
340 clock-output-names = "dpll_disp_m2_ck";
341 clocks = <&dpll_disp_ck>;
342 ti,max-div = <31>;
343 ti,autoidle-shift = <8>;
344 reg = <0x2e30>;
345 ti,index-starts-at-one;
346 ti,invert-autoidle-bit;
347 ti,set-rate-parent;
348 };
349
350 dpll_per_ck: clock@2de0 {
351 #clock-cells = <0>;
352 compatible = "ti,am3-dpll-j-type-clock";
353 clock-output-names = "dpll_per_ck";
354 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
355 reg = <0x2de0>, <0x2de4>, <0x2dec>, <0x2e08>, <0x2e0c>;
356 };
357
358 dpll_per_m2_ck: clock-dpll-per-m2-8@2df0 {
359 #clock-cells = <0>;
360 compatible = "ti,divider-clock";
361 clock-output-names = "dpll_per_m2_ck";
362 clocks = <&dpll_per_ck>;
363 ti,max-div = <127>;
364 ti,autoidle-shift = <8>;
365 reg = <0x2df0>;
366 ti,index-starts-at-one;
367 ti,invert-autoidle-bit;
368 };
369
370 dpll_per_m2_div4_wkupdm_ck: clock-dpll-per-m2-div4-wkupdm {
371 #clock-cells = <0>;
372 compatible = "fixed-factor-clock";
373 clock-output-names = "dpll_per_m2_div4_wkupdm_ck";
374 clocks = <&dpll_per_m2_ck>;
375 clock-mult = <1>;
376 clock-div = <4>;
377 };
378
379 dpll_per_m2_div4_ck: clock-dpll-per-m2-div4 {
380 #clock-cells = <0>;
381 compatible = "fixed-factor-clock";
382 clock-output-names = "dpll_per_m2_div4_ck";
383 clocks = <&dpll_per_m2_ck>;
384 clock-mult = <1>;
385 clock-div = <4>;
386 };
387
388 clk_24mhz: clock-clk-24mhz {
389 #clock-cells = <0>;
390 compatible = "fixed-factor-clock";
391 clock-output-names = "clk_24mhz";
392 clocks = <&dpll_per_m2_ck>;
393 clock-mult = <1>;
394 clock-div = <8>;
395 };
396
397 clkdiv32k_ck: clock-clkdiv32k {
398 #clock-cells = <0>;
399 compatible = "fixed-factor-clock";
400 clock-output-names = "clkdiv32k_ck";
401 clocks = <&clk_24mhz>;
402 clock-mult = <1>;
403 clock-div = <732>;
404 };
405
406 clkdiv32k_ick: clock-clkdiv32k-ick-8@2a38 {
407 #clock-cells = <0>;
408 compatible = "ti,gate-clock";
409 clock-output-names = "clkdiv32k_ick";
410 clocks = <&clkdiv32k_ck>;
411 ti,bit-shift = <8>;
412 reg = <0x2a38>;
413 };
414
415 sysclk_div: clock-sysclk-div {
416 #clock-cells = <0>;
417 compatible = "fixed-factor-clock";
418 clock-output-names = "sysclk_div";
419 clocks = <&dpll_core_m4_ck>;
420 clock-mult = <1>;
421 clock-div = <1>;
422 };
423
424 pruss_ocp_gclk: clock-pruss-ocp-gclk@4248 {
425 #clock-cells = <0>;
426 compatible = "ti,mux-clock";
427 clock-output-names = "pruss_ocp_gclk";
428 clocks = <&sysclk_div>, <&dpll_disp_m2_ck>;
429 reg = <0x4248>;
430 };
431
432 clk_32k_tpm_ck: clock-clk-32k-tpm {
433 #clock-cells = <0>;
434 compatible = "fixed-clock";
435 clock-output-names = "clk_32k_tpm_ck";
436 clock-frequency = <32768>;
437 };
438
439 timer1_fck: clock-timer1-fck@4200 {
440 #clock-cells = <0>;
441 compatible = "ti,mux-clock";
442 clock-output-names = "timer1_fck";
443 clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>, <&clk_32k_tpm_ck>;
444 reg = <0x4200>;
445 };
446
447 timer2_fck: clock-timer2-fck@4204 {
448 #clock-cells = <0>;
449 compatible = "ti,mux-clock";
450 clock-output-names = "timer2_fck";
451 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
452 reg = <0x4204>;
453 };
454
455 timer3_fck: clock-timer3-fck@4208 {
456 #clock-cells = <0>;
457 compatible = "ti,mux-clock";
458 clock-output-names = "timer3_fck";
459 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
460 reg = <0x4208>;
461 };
462
463 timer4_fck: clock-timer4-fck@420c {
464 #clock-cells = <0>;
465 compatible = "ti,mux-clock";
466 clock-output-names = "timer4_fck";
467 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
468 reg = <0x420c>;
469 };
470
471 timer5_fck: clock-timer5-fck@4210 {
472 #clock-cells = <0>;
473 compatible = "ti,mux-clock";
474 clock-output-names = "timer5_fck";
475 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
476 reg = <0x4210>;
477 };
478
479 timer6_fck: clock-timer6-fck@4214 {
480 #clock-cells = <0>;
481 compatible = "ti,mux-clock";
482 clock-output-names = "timer6_fck";
483 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
484 reg = <0x4214>;
485 };
486
487 timer7_fck: clock-timer7-fck@4218 {
488 #clock-cells = <0>;
489 compatible = "ti,mux-clock";
490 clock-output-names = "timer7_fck";
491 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
492 reg = <0x4218>;
493 };
494
495 wdt1_fck: clock-wdt1-fck@422c {
496 #clock-cells = <0>;
497 compatible = "ti,mux-clock";
498 clock-output-names = "wdt1_fck";
499 clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
500 reg = <0x422c>;
501 };
502
503 adc_mag_fck: adc_mag_fck@424c {
504 #clock-cells = <0>;
505 compatible = "ti,mux-clock";
506 clocks = <&sys_clkin_ck>, <&dpll_per_m2_ck>;
507 reg = <0x424c>;
508 };
509
510 l3_gclk: clock-l3-gclk {
511 #clock-cells = <0>;
512 compatible = "fixed-factor-clock";
513 clock-output-names = "l3_gclk";
514 clocks = <&dpll_core_m4_ck>;
515 clock-mult = <1>;
516 clock-div = <1>;
517 };
518
519 dpll_core_m4_div2_ck: clock-dpll-core-m4-div2 {
520 #clock-cells = <0>;
521 compatible = "fixed-factor-clock";
522 clock-output-names = "dpll_core_m4_div2_ck";
523 clocks = <&sysclk_div>;
524 clock-mult = <1>;
525 clock-div = <2>;
526 };
527
528 l4hs_gclk: clock-l4hs-gclk {
529 #clock-cells = <0>;
530 compatible = "fixed-factor-clock";
531 clock-output-names = "l4hs_gclk";
532 clocks = <&dpll_core_m4_ck>;
533 clock-mult = <1>;
534 clock-div = <1>;
535 };
536
537 l3s_gclk: clock-l3s-gclk {
538 #clock-cells = <0>;
539 compatible = "fixed-factor-clock";
540 clock-output-names = "l3s_gclk";
541 clocks = <&dpll_core_m4_div2_ck>;
542 clock-mult = <1>;
543 clock-div = <1>;
544 };
545
546 l4ls_gclk: clock-l4ls-gclk {
547 #clock-cells = <0>;
548 compatible = "fixed-factor-clock";
549 clock-output-names = "l4ls_gclk";
550 clocks = <&dpll_core_m4_div2_ck>;
551 clock-mult = <1>;
552 clock-div = <1>;
553 };
554
555 cpsw_125mhz_gclk: clock-cpsw-125mhz-gclk {
556 #clock-cells = <0>;
557 compatible = "fixed-factor-clock";
558 clock-output-names = "cpsw_125mhz_gclk";
559 clocks = <&dpll_core_m5_ck>;
560 clock-mult = <1>;
561 clock-div = <2>;
562 };
563
564 cpsw_cpts_rft_clk: clock-cpsw-cpts-rft@4238 {
565 #clock-cells = <0>;
566 compatible = "ti,mux-clock";
567 clock-output-names = "cpsw_cpts_rft_clk";
568 clocks = <&sysclk_div>, <&dpll_core_m5_ck>, <&dpll_disp_m2_ck>;
569 reg = <0x4238>;
570 };
571
572 dpll_clksel_mac_clk: clock-dpll-clksel-mac-2@4234 {
573 #clock-cells = <0>;
574 compatible = "ti,divider-clock";
575 clock-output-names = "dpll_clksel_mac_clk";
576 clocks = <&dpll_core_m5_ck>;
577 reg = <0x4234>;
578 ti,bit-shift = <2>;
579 ti,dividers = <2>, <5>;
580 };
581
582 clk_32k_mosc_ck: clock-clk-32k-mosc {
583 #clock-cells = <0>;
584 compatible = "fixed-clock";
585 clock-output-names = "clk_32k_mosc_ck";
586 clock-frequency = <32768>;
587 };
588
589 gpio0_dbclk_mux_ck: clock-gpio0-dbclk-mux@4240 {
590 #clock-cells = <0>;
591 compatible = "ti,mux-clock";
592 clock-output-names = "gpio0_dbclk_mux_ck";
593 clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>, <&clk_32k_mosc_ck>, <&clk_32k_tpm_ck>;
594 reg = <0x4240>;
595 };
596
597 mmc_clk: clock-mmc {
598 #clock-cells = <0>;
599 compatible = "fixed-factor-clock";
600 clock-output-names = "mmc_clk";
601 clocks = <&dpll_per_m2_ck>;
602 clock-mult = <1>;
603 clock-div = <2>;
604 };
605
606 gfx_fclk_clksel_ck: clock-gfx-fclk-clksel-1@423c {
607 #clock-cells = <0>;
608 compatible = "ti,mux-clock";
609 clock-output-names = "gfx_fclk_clksel_ck";
610 clocks = <&sysclk_div>, <&dpll_per_m2_ck>;
611 ti,bit-shift = <1>;
612 reg = <0x423c>;
613 };
614
615 gfx_fck_div_ck: clock-gfx-fck-div@423c {
616 #clock-cells = <0>;
617 compatible = "ti,divider-clock";
618 clock-output-names = "gfx_fck_div_ck";
619 clocks = <&gfx_fclk_clksel_ck>;
620 reg = <0x423c>;
621 ti,max-div = <2>;
622 };
623
624 disp_clk: clock-disp@4244 {
625 #clock-cells = <0>;
626 compatible = "ti,mux-clock";
627 clock-output-names = "disp_clk";
628 clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
629 reg = <0x4244>;
630 ti,set-rate-parent;
631 };
632
633 dpll_extdev_ck: clock@2e60 {
634 #clock-cells = <0>;
635 compatible = "ti,am3-dpll-clock";
636 clock-output-names = "dpll_extdev_ck";
637 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
638 reg = <0x2e60>, <0x2e64>, <0x2e6c>, <0x2e88>, <0x2e8c>;
639 };
640
641 dpll_extdev_m2_ck: clock-dpll-extdev-m2-8@2e70 {
642 #clock-cells = <0>;
643 compatible = "ti,divider-clock";
644 clock-output-names = "dpll_extdev_m2_ck";
645 clocks = <&dpll_extdev_ck>;
646 ti,max-div = <127>;
647 ti,autoidle-shift = <8>;
648 reg = <0x2e70>;
649 ti,index-starts-at-one;
650 ti,invert-autoidle-bit;
651 };
652
653 mux_synctimer32k_ck: clock-mux-synctimer32k@4230 {
654 #clock-cells = <0>;
655 compatible = "ti,mux-clock";
656 clock-output-names = "mux_synctimer32k_ck";
657 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>, <&clkdiv32k_ick>;
658 reg = <0x4230>;
659 };
660
661 timer8_fck: clock-timer8-fck@421c {
662 #clock-cells = <0>;
663 compatible = "ti,mux-clock";
664 clock-output-names = "timer8_fck";
665 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
666 reg = <0x421c>;
667 };
668
669 timer9_fck: clock-timer9-fck@4220 {
670 #clock-cells = <0>;
671 compatible = "ti,mux-clock";
672 clock-output-names = "timer9_fck";
673 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
674 reg = <0x4220>;
675 };
676
677 timer10_fck: clock-timer10-fck@4224 {
678 #clock-cells = <0>;
679 compatible = "ti,mux-clock";
680 clock-output-names = "timer10_fck";
681 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
682 reg = <0x4224>;
683 };
684
685 timer11_fck: clock-timer11-fck@4228 {
686 #clock-cells = <0>;
687 compatible = "ti,mux-clock";
688 clock-output-names = "timer11_fck";
689 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
690 reg = <0x4228>;
691 };
692
693 cpsw_50m_clkdiv: clock-cpsw-50m-clkdiv {
694 #clock-cells = <0>;
695 compatible = "fixed-factor-clock";
696 clock-output-names = "cpsw_50m_clkdiv";
697 clocks = <&dpll_core_m5_ck>;
698 clock-mult = <1>;
699 clock-div = <1>;
700 };
701
702 cpsw_5m_clkdiv: clock-cpsw-5m-clkdiv {
703 #clock-cells = <0>;
704 compatible = "fixed-factor-clock";
705 clock-output-names = "cpsw_5m_clkdiv";
706 clocks = <&cpsw_50m_clkdiv>;
707 clock-mult = <1>;
708 clock-div = <10>;
709 };
710
711 dpll_ddr_x2_ck: clock-dpll-ddr-x2 {
712 #clock-cells = <0>;
713 compatible = "ti,am3-dpll-x2-clock";
714 clock-output-names = "dpll_ddr_x2_ck";
715 clocks = <&dpll_ddr_ck>;
716 };
717
718 dpll_ddr_m4_ck: clock-dpll-ddr-m4-8@2db8 {
719 #clock-cells = <0>;
720 compatible = "ti,divider-clock";
721 clock-output-names = "dpll_ddr_m4_ck";
722 clocks = <&dpll_ddr_x2_ck>;
723 ti,max-div = <31>;
724 ti,autoidle-shift = <8>;
725 reg = <0x2db8>;
726 ti,index-starts-at-one;
727 ti,invert-autoidle-bit;
728 };
729
730 dpll_per_clkdcoldo: clock-dpll-per-clkdcoldo-8@2e14 {
731 #clock-cells = <0>;
732 compatible = "ti,fixed-factor-clock";
733 clock-output-names = "dpll_per_clkdcoldo";
734 clocks = <&dpll_per_ck>;
735 ti,clock-mult = <1>;
736 ti,clock-div = <1>;
737 ti,autoidle-shift = <8>;
738 reg = <0x2e14>;
739 ti,invert-autoidle-bit;
740 };
741
742 dll_aging_clk_div: clock-dll-aging-clk-div@4250 {
743 #clock-cells = <0>;
744 compatible = "ti,divider-clock";
745 clock-output-names = "dll_aging_clk_div";
746 clocks = <&sys_clkin_ck>;
747 reg = <0x4250>;
748 ti,dividers = <8>, <16>, <32>;
749 };
750
751 div_core_25m_ck: clock-div-core-25m {
752 #clock-cells = <0>;
753 compatible = "fixed-factor-clock";
754 clock-output-names = "div_core_25m_ck";
755 clocks = <&sysclk_div>;
756 clock-mult = <1>;
757 clock-div = <8>;
758 };
759
760 func_12m_clk: clock-func-12m {
761 #clock-cells = <0>;
762 compatible = "fixed-factor-clock";
763 clock-output-names = "func_12m_clk";
764 clocks = <&dpll_per_m2_ck>;
765 clock-mult = <1>;
766 clock-div = <16>;
767 };
768
769 vtp_clk_div: clock-vtp-clk-div {
770 #clock-cells = <0>;
771 compatible = "fixed-factor-clock";
772 clock-output-names = "vtp_clk_div";
773 clocks = <&sys_clkin_ck>;
774 clock-mult = <1>;
775 clock-div = <2>;
776 };
777
778 usbphy_32khz_clkmux: clock-usbphy-32khz-clkmux@4260 {
779 #clock-cells = <0>;
780 compatible = "ti,mux-clock";
781 clock-output-names = "usbphy_32khz_clkmux";
782 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>;
783 reg = <0x4260>;
784 };
785
786 usb_phy0_always_on_clk32k: clock-usb-phy0-always-on-clk32k-8@2a40 {
787 #clock-cells = <0>;
788 compatible = "ti,gate-clock";
789 clock-output-names = "usb_phy0_always_on_clk32k";
790 clocks = <&usbphy_32khz_clkmux>;
791 ti,bit-shift = <8>;
792 reg = <0x2a40>;
793 };
794
795 usb_phy1_always_on_clk32k: clock-usb-phy1-always-on-clk32k-8@2a48 {
796 #clock-cells = <0>;
797 compatible = "ti,gate-clock";
798 clock-output-names = "usb_phy1_always_on_clk32k";
799 clocks = <&usbphy_32khz_clkmux>;
800 ti,bit-shift = <8>;
801 reg = <0x2a48>;
802 };
803
804 clkout1_osc_div_ck: clock-clkout1-osc-div-ck {
805 #clock-cells = <0>;
806 compatible = "ti,divider-clock";
807 clock-output-names = "clkout1_osc_div_ck";
808 clocks = <&sys_clkin_ck>;
809 ti,bit-shift = <20>;
810 ti,max-div = <4>;
811 reg = <0x4100>;
812 };
813
814 clkout1_src2_mux_ck: clock-clkout1-src2-mux-ck {
815 #clock-cells = <0>;
816 compatible = "ti,mux-clock";
817 clock-output-names = "clkout1_src2_mux_ck";
818 clocks = <&clk_rc32k_ck>, <&sysclk_div>, <&dpll_ddr_m2_ck>,
819 <&dpll_per_m2_ck>, <&dpll_disp_m2_ck>,
820 <&dpll_mpu_m2_ck>;
821 reg = <0x4100>;
822 };
823
824 clkout1_src2_pre_div_ck: clock-clkout1-src2-pre-div-ck {
825 #clock-cells = <0>;
826 compatible = "ti,divider-clock";
827 clock-output-names = "clkout1_src2_pre_div_ck";
828 clocks = <&clkout1_src2_mux_ck>;
829 ti,bit-shift = <4>;
830 ti,max-div = <8>;
831 reg = <0x4100>;
832 };
833
834 clkout1_src2_post_div_ck: clock-clkout1-src2-post-div-ck {
835 #clock-cells = <0>;
836 compatible = "ti,divider-clock";
837 clock-output-names = "clkout1_src2_post_div_ck";
838 clocks = <&clkout1_src2_pre_div_ck>;
839 ti,bit-shift = <8>;
840 ti,max-div = <32>;
841 ti,index-power-of-two;
842 reg = <0x4100>;
843 };
844
845 clkout1_mux_ck: clock-clkout1-mux-ck {
846 #clock-cells = <0>;
847 compatible = "ti,mux-clock";
848 clock-output-names = "clkout1_mux_ck";
849 clocks = <&clkout1_osc_div_ck>, <&clk_rc32k_ck>,
850 <&clkout1_src2_post_div_ck>, <&dpll_extdev_m2_ck>;
851 ti,bit-shift = <16>;
852 reg = <0x4100>;
853 };
854
855 clkout1_ck: clock-clkout1-ck {
856 #clock-cells = <0>;
857 compatible = "ti,gate-clock";
858 clock-output-names = "clkout1_ck";
859 clocks = <&clkout1_mux_ck>;
860 ti,bit-shift = <23>;
861 reg = <0x4100>;
862 };
863};
864
865&prcm {
866 wkup_cm: clock@2800 {
867 compatible = "ti,omap4-cm";
868 clock-output-names = "wkup_cm";
869 reg = <0x2800 0x400>;
870 #address-cells = <1>;
871 #size-cells = <1>;
872 ranges = <0 0x2800 0x400>;
873
874 l3s_tsc_clkctrl: clock@120 {
875 compatible = "ti,clkctrl";
876 clock-output-names = "l3s_tsc_clkctrl";
877 reg = <0x120 0x4>;
878 #clock-cells = <2>;
879 };
880
881 l4_wkup_aon_clkctrl: clock@228 {
882 compatible = "ti,clkctrl";
883 clock-output-names = "l4_wkup_aon_clkctrl";
884 reg = <0x228 0xc>;
885 #clock-cells = <2>;
886 };
887
888 l4_wkup_clkctrl: clock@220 {
889 compatible = "ti,clkctrl";
890 clock-output-names = "l4_wkup_clkctrl";
891 reg = <0x220 0x4>, <0x328 0x44>;
892 #clock-cells = <2>;
893 };
894
895 };
896
897 mpu_cm: clock@8300 {
898 compatible = "ti,omap4-cm";
899 clock-output-names = "mpu_cm";
900 reg = <0x8300 0x100>;
901 #address-cells = <1>;
902 #size-cells = <1>;
903 ranges = <0 0x8300 0x100>;
904
905 mpu_clkctrl: clock@20 {
906 compatible = "ti,clkctrl";
907 clock-output-names = "mpu_clkctrl";
908 reg = <0x20 0x4>;
909 #clock-cells = <2>;
910 };
911 };
912
913 gfx_l3_cm: clock@8400 {
914 compatible = "ti,omap4-cm";
915 clock-output-names = "gfx_l3_cm";
916 reg = <0x8400 0x100>;
917 #address-cells = <1>;
918 #size-cells = <1>;
919 ranges = <0 0x8400 0x100>;
920
921 gfx_l3_clkctrl: clock@20 {
922 compatible = "ti,clkctrl";
923 clock-output-names = "gfx_l3_clkctrl";
924 reg = <0x20 0x4>;
925 #clock-cells = <2>;
926 };
927 };
928
929 l4_rtc_cm: clock@8500 {
930 compatible = "ti,omap4-cm";
931 clock-output-names = "l4_rtc_cm";
932 reg = <0x8500 0x100>;
933 #address-cells = <1>;
934 #size-cells = <1>;
935 ranges = <0 0x8500 0x100>;
936
937 l4_rtc_clkctrl: clock@20 {
938 compatible = "ti,clkctrl";
939 clock-output-names = "l4_rtc_clkctrl";
940 reg = <0x20 0x4>;
941 #clock-cells = <2>;
942 };
943 };
944
945 per_cm: clock@8800 {
946 compatible = "ti,omap4-cm";
947 clock-output-names = "per_cm";
948 reg = <0x8800 0xc00>;
949 #address-cells = <1>;
950 #size-cells = <1>;
951 ranges = <0 0x8800 0xc00>;
952
953 l3_clkctrl: clock@20 {
954 compatible = "ti,clkctrl";
955 clock-output-names = "l3_clkctrl";
956 reg = <0x20 0x3c>, <0x78 0x2c>;
957 #clock-cells = <2>;
958 };
959
960 l3s_clkctrl: clock@68 {
961 compatible = "ti,clkctrl";
962 clock-output-names = "l3s_clkctrl";
963 reg = <0x68 0xc>, <0x220 0x4c>;
964 #clock-cells = <2>;
965 };
966
967 pruss_ocp_clkctrl: clock@320 {
968 compatible = "ti,clkctrl";
969 clock-output-names = "pruss_ocp_clkctrl";
970 reg = <0x320 0x4>;
971 #clock-cells = <2>;
972 };
973
974 l4ls_clkctrl: clock@420 {
975 compatible = "ti,clkctrl";
976 clock-output-names = "l4ls_clkctrl";
977 reg = <0x420 0x1a4>;
978 #clock-cells = <2>;
979 };
980
981 emif_clkctrl: clock@720 {
982 compatible = "ti,clkctrl";
983 clock-output-names = "emif_clkctrl";
984 reg = <0x720 0x4>;
985 #clock-cells = <2>;
986 };
987
988 dss_clkctrl: clock@a20 {
989 compatible = "ti,clkctrl";
990 clock-output-names = "dss_clkctrl";
991 reg = <0xa20 0x4>;
992 #clock-cells = <2>;
993 };
994
995 cpsw_125mhz_clkctrl: clock@b20 {
996 compatible = "ti,clkctrl";
997 clock-output-names = "cpsw_125mhz_clkctrl";
998 reg = <0xb20 0x4>;
999 #clock-cells = <2>;
1000 };
1001
1002 };
1003};