Loading...
1// 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};
1/*
2 * Device Tree Source for AM43xx clock data
3 *
4 * Copyright (C) 2013 Texas Instruments, Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10&scm_clocks {
11 sys_clkin_ck: sys_clkin_ck@40 {
12 #clock-cells = <0>;
13 compatible = "ti,mux-clock";
14 clocks = <&sysboot_freq_sel_ck>, <&crystal_freq_sel_ck>;
15 ti,bit-shift = <31>;
16 reg = <0x0040>;
17 };
18
19 crystal_freq_sel_ck: crystal_freq_sel_ck@40 {
20 #clock-cells = <0>;
21 compatible = "ti,mux-clock";
22 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
23 ti,bit-shift = <29>;
24 reg = <0x0040>;
25 };
26
27 sysboot_freq_sel_ck: sysboot_freq_sel_ck@44e10040 {
28 #clock-cells = <0>;
29 compatible = "ti,mux-clock";
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: adc_tsc_fck {
36 #clock-cells = <0>;
37 compatible = "fixed-factor-clock";
38 clocks = <&sys_clkin_ck>;
39 clock-mult = <1>;
40 clock-div = <1>;
41 };
42
43 dcan0_fck: dcan0_fck {
44 #clock-cells = <0>;
45 compatible = "fixed-factor-clock";
46 clocks = <&sys_clkin_ck>;
47 clock-mult = <1>;
48 clock-div = <1>;
49 };
50
51 dcan1_fck: dcan1_fck {
52 #clock-cells = <0>;
53 compatible = "fixed-factor-clock";
54 clocks = <&sys_clkin_ck>;
55 clock-mult = <1>;
56 clock-div = <1>;
57 };
58
59 mcasp0_fck: mcasp0_fck {
60 #clock-cells = <0>;
61 compatible = "fixed-factor-clock";
62 clocks = <&sys_clkin_ck>;
63 clock-mult = <1>;
64 clock-div = <1>;
65 };
66
67 mcasp1_fck: mcasp1_fck {
68 #clock-cells = <0>;
69 compatible = "fixed-factor-clock";
70 clocks = <&sys_clkin_ck>;
71 clock-mult = <1>;
72 clock-div = <1>;
73 };
74
75 smartreflex0_fck: smartreflex0_fck {
76 #clock-cells = <0>;
77 compatible = "fixed-factor-clock";
78 clocks = <&sys_clkin_ck>;
79 clock-mult = <1>;
80 clock-div = <1>;
81 };
82
83 smartreflex1_fck: smartreflex1_fck {
84 #clock-cells = <0>;
85 compatible = "fixed-factor-clock";
86 clocks = <&sys_clkin_ck>;
87 clock-mult = <1>;
88 clock-div = <1>;
89 };
90
91 sha0_fck: sha0_fck {
92 #clock-cells = <0>;
93 compatible = "fixed-factor-clock";
94 clocks = <&sys_clkin_ck>;
95 clock-mult = <1>;
96 clock-div = <1>;
97 };
98
99 aes0_fck: aes0_fck {
100 #clock-cells = <0>;
101 compatible = "fixed-factor-clock";
102 clocks = <&sys_clkin_ck>;
103 clock-mult = <1>;
104 clock-div = <1>;
105 };
106
107 rng_fck: rng_fck {
108 #clock-cells = <0>;
109 compatible = "fixed-factor-clock";
110 clocks = <&sys_clkin_ck>;
111 clock-mult = <1>;
112 clock-div = <1>;
113 };
114
115 ehrpwm0_tbclk: ehrpwm0_tbclk@664 {
116 #clock-cells = <0>;
117 compatible = "ti,gate-clock";
118 clocks = <&l4ls_gclk>;
119 ti,bit-shift = <0>;
120 reg = <0x0664>;
121 };
122
123 ehrpwm1_tbclk: ehrpwm1_tbclk@664 {
124 #clock-cells = <0>;
125 compatible = "ti,gate-clock";
126 clocks = <&l4ls_gclk>;
127 ti,bit-shift = <1>;
128 reg = <0x0664>;
129 };
130
131 ehrpwm2_tbclk: ehrpwm2_tbclk@664 {
132 #clock-cells = <0>;
133 compatible = "ti,gate-clock";
134 clocks = <&l4ls_gclk>;
135 ti,bit-shift = <2>;
136 reg = <0x0664>;
137 };
138
139 ehrpwm3_tbclk: ehrpwm3_tbclk@664 {
140 #clock-cells = <0>;
141 compatible = "ti,gate-clock";
142 clocks = <&l4ls_gclk>;
143 ti,bit-shift = <4>;
144 reg = <0x0664>;
145 };
146
147 ehrpwm4_tbclk: ehrpwm4_tbclk@664 {
148 #clock-cells = <0>;
149 compatible = "ti,gate-clock";
150 clocks = <&l4ls_gclk>;
151 ti,bit-shift = <5>;
152 reg = <0x0664>;
153 };
154
155 ehrpwm5_tbclk: ehrpwm5_tbclk@664 {
156 #clock-cells = <0>;
157 compatible = "ti,gate-clock";
158 clocks = <&l4ls_gclk>;
159 ti,bit-shift = <6>;
160 reg = <0x0664>;
161 };
162};
163&prcm_clocks {
164 clk_32768_ck: clk_32768_ck {
165 #clock-cells = <0>;
166 compatible = "fixed-clock";
167 clock-frequency = <32768>;
168 };
169
170 clk_rc32k_ck: clk_rc32k_ck {
171 #clock-cells = <0>;
172 compatible = "fixed-clock";
173 clock-frequency = <32768>;
174 };
175
176 virt_19200000_ck: virt_19200000_ck {
177 #clock-cells = <0>;
178 compatible = "fixed-clock";
179 clock-frequency = <19200000>;
180 };
181
182 virt_24000000_ck: virt_24000000_ck {
183 #clock-cells = <0>;
184 compatible = "fixed-clock";
185 clock-frequency = <24000000>;
186 };
187
188 virt_25000000_ck: virt_25000000_ck {
189 #clock-cells = <0>;
190 compatible = "fixed-clock";
191 clock-frequency = <25000000>;
192 };
193
194 virt_26000000_ck: virt_26000000_ck {
195 #clock-cells = <0>;
196 compatible = "fixed-clock";
197 clock-frequency = <26000000>;
198 };
199
200 tclkin_ck: tclkin_ck {
201 #clock-cells = <0>;
202 compatible = "fixed-clock";
203 clock-frequency = <26000000>;
204 };
205
206 dpll_core_ck: dpll_core_ck@2d20 {
207 #clock-cells = <0>;
208 compatible = "ti,am3-dpll-core-clock";
209 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
210 reg = <0x2d20>, <0x2d24>, <0x2d2c>;
211 };
212
213 dpll_core_x2_ck: dpll_core_x2_ck {
214 #clock-cells = <0>;
215 compatible = "ti,am3-dpll-x2-clock";
216 clocks = <&dpll_core_ck>;
217 };
218
219 dpll_core_m4_ck: dpll_core_m4_ck@2d38 {
220 #clock-cells = <0>;
221 compatible = "ti,divider-clock";
222 clocks = <&dpll_core_x2_ck>;
223 ti,max-div = <31>;
224 ti,autoidle-shift = <8>;
225 reg = <0x2d38>;
226 ti,index-starts-at-one;
227 ti,invert-autoidle-bit;
228 };
229
230 dpll_core_m5_ck: dpll_core_m5_ck@2d3c {
231 #clock-cells = <0>;
232 compatible = "ti,divider-clock";
233 clocks = <&dpll_core_x2_ck>;
234 ti,max-div = <31>;
235 ti,autoidle-shift = <8>;
236 reg = <0x2d3c>;
237 ti,index-starts-at-one;
238 ti,invert-autoidle-bit;
239 };
240
241 dpll_core_m6_ck: dpll_core_m6_ck@2d40 {
242 #clock-cells = <0>;
243 compatible = "ti,divider-clock";
244 clocks = <&dpll_core_x2_ck>;
245 ti,max-div = <31>;
246 ti,autoidle-shift = <8>;
247 reg = <0x2d40>;
248 ti,index-starts-at-one;
249 ti,invert-autoidle-bit;
250 };
251
252 dpll_mpu_ck: dpll_mpu_ck@2d60 {
253 #clock-cells = <0>;
254 compatible = "ti,am3-dpll-clock";
255 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
256 reg = <0x2d60>, <0x2d64>, <0x2d6c>;
257 };
258
259 dpll_mpu_m2_ck: dpll_mpu_m2_ck@2d70 {
260 #clock-cells = <0>;
261 compatible = "ti,divider-clock";
262 clocks = <&dpll_mpu_ck>;
263 ti,max-div = <31>;
264 ti,autoidle-shift = <8>;
265 reg = <0x2d70>;
266 ti,index-starts-at-one;
267 ti,invert-autoidle-bit;
268 };
269
270 mpu_periphclk: mpu_periphclk {
271 #clock-cells = <0>;
272 compatible = "fixed-factor-clock";
273 clocks = <&dpll_mpu_m2_ck>;
274 clock-mult = <1>;
275 clock-div = <2>;
276 };
277
278 dpll_ddr_ck: dpll_ddr_ck@2da0 {
279 #clock-cells = <0>;
280 compatible = "ti,am3-dpll-clock";
281 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
282 reg = <0x2da0>, <0x2da4>, <0x2dac>;
283 };
284
285 dpll_ddr_m2_ck: dpll_ddr_m2_ck@2db0 {
286 #clock-cells = <0>;
287 compatible = "ti,divider-clock";
288 clocks = <&dpll_ddr_ck>;
289 ti,max-div = <31>;
290 ti,autoidle-shift = <8>;
291 reg = <0x2db0>;
292 ti,index-starts-at-one;
293 ti,invert-autoidle-bit;
294 };
295
296 dpll_disp_ck: dpll_disp_ck@2e20 {
297 #clock-cells = <0>;
298 compatible = "ti,am3-dpll-clock";
299 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
300 reg = <0x2e20>, <0x2e24>, <0x2e2c>;
301 };
302
303 dpll_disp_m2_ck: dpll_disp_m2_ck@2e30 {
304 #clock-cells = <0>;
305 compatible = "ti,divider-clock";
306 clocks = <&dpll_disp_ck>;
307 ti,max-div = <31>;
308 ti,autoidle-shift = <8>;
309 reg = <0x2e30>;
310 ti,index-starts-at-one;
311 ti,invert-autoidle-bit;
312 ti,set-rate-parent;
313 };
314
315 dpll_per_ck: dpll_per_ck@2de0 {
316 #clock-cells = <0>;
317 compatible = "ti,am3-dpll-j-type-clock";
318 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
319 reg = <0x2de0>, <0x2de4>, <0x2dec>;
320 };
321
322 dpll_per_m2_ck: dpll_per_m2_ck@2df0 {
323 #clock-cells = <0>;
324 compatible = "ti,divider-clock";
325 clocks = <&dpll_per_ck>;
326 ti,max-div = <127>;
327 ti,autoidle-shift = <8>;
328 reg = <0x2df0>;
329 ti,index-starts-at-one;
330 ti,invert-autoidle-bit;
331 };
332
333 dpll_per_m2_div4_wkupdm_ck: dpll_per_m2_div4_wkupdm_ck {
334 #clock-cells = <0>;
335 compatible = "fixed-factor-clock";
336 clocks = <&dpll_per_m2_ck>;
337 clock-mult = <1>;
338 clock-div = <4>;
339 };
340
341 dpll_per_m2_div4_ck: dpll_per_m2_div4_ck {
342 #clock-cells = <0>;
343 compatible = "fixed-factor-clock";
344 clocks = <&dpll_per_m2_ck>;
345 clock-mult = <1>;
346 clock-div = <4>;
347 };
348
349 clk_24mhz: clk_24mhz {
350 #clock-cells = <0>;
351 compatible = "fixed-factor-clock";
352 clocks = <&dpll_per_m2_ck>;
353 clock-mult = <1>;
354 clock-div = <8>;
355 };
356
357 clkdiv32k_ck: clkdiv32k_ck {
358 #clock-cells = <0>;
359 compatible = "fixed-factor-clock";
360 clocks = <&clk_24mhz>;
361 clock-mult = <1>;
362 clock-div = <732>;
363 };
364
365 clkdiv32k_ick: clkdiv32k_ick@2a38 {
366 #clock-cells = <0>;
367 compatible = "ti,gate-clock";
368 clocks = <&clkdiv32k_ck>;
369 ti,bit-shift = <8>;
370 reg = <0x2a38>;
371 };
372
373 sysclk_div: sysclk_div {
374 #clock-cells = <0>;
375 compatible = "fixed-factor-clock";
376 clocks = <&dpll_core_m4_ck>;
377 clock-mult = <1>;
378 clock-div = <1>;
379 };
380
381 pruss_ocp_gclk: pruss_ocp_gclk@4248 {
382 #clock-cells = <0>;
383 compatible = "ti,mux-clock";
384 clocks = <&sysclk_div>, <&dpll_disp_m2_ck>;
385 reg = <0x4248>;
386 };
387
388 clk_32k_tpm_ck: clk_32k_tpm_ck {
389 #clock-cells = <0>;
390 compatible = "fixed-clock";
391 clock-frequency = <32768>;
392 };
393
394 timer1_fck: timer1_fck@4200 {
395 #clock-cells = <0>;
396 compatible = "ti,mux-clock";
397 clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>, <&clk_32k_tpm_ck>;
398 reg = <0x4200>;
399 };
400
401 timer2_fck: timer2_fck@4204 {
402 #clock-cells = <0>;
403 compatible = "ti,mux-clock";
404 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
405 reg = <0x4204>;
406 };
407
408 timer3_fck: timer3_fck@4208 {
409 #clock-cells = <0>;
410 compatible = "ti,mux-clock";
411 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
412 reg = <0x4208>;
413 };
414
415 timer4_fck: timer4_fck@420c {
416 #clock-cells = <0>;
417 compatible = "ti,mux-clock";
418 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
419 reg = <0x420c>;
420 };
421
422 timer5_fck: timer5_fck@4210 {
423 #clock-cells = <0>;
424 compatible = "ti,mux-clock";
425 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
426 reg = <0x4210>;
427 };
428
429 timer6_fck: timer6_fck@4214 {
430 #clock-cells = <0>;
431 compatible = "ti,mux-clock";
432 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
433 reg = <0x4214>;
434 };
435
436 timer7_fck: timer7_fck@4218 {
437 #clock-cells = <0>;
438 compatible = "ti,mux-clock";
439 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
440 reg = <0x4218>;
441 };
442
443 wdt1_fck: wdt1_fck@422c {
444 #clock-cells = <0>;
445 compatible = "ti,mux-clock";
446 clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
447 reg = <0x422c>;
448 };
449
450 l3_gclk: l3_gclk {
451 #clock-cells = <0>;
452 compatible = "fixed-factor-clock";
453 clocks = <&dpll_core_m4_ck>;
454 clock-mult = <1>;
455 clock-div = <1>;
456 };
457
458 dpll_core_m4_div2_ck: dpll_core_m4_div2_ck {
459 #clock-cells = <0>;
460 compatible = "fixed-factor-clock";
461 clocks = <&sysclk_div>;
462 clock-mult = <1>;
463 clock-div = <2>;
464 };
465
466 l4hs_gclk: l4hs_gclk {
467 #clock-cells = <0>;
468 compatible = "fixed-factor-clock";
469 clocks = <&dpll_core_m4_ck>;
470 clock-mult = <1>;
471 clock-div = <1>;
472 };
473
474 l3s_gclk: l3s_gclk {
475 #clock-cells = <0>;
476 compatible = "fixed-factor-clock";
477 clocks = <&dpll_core_m4_div2_ck>;
478 clock-mult = <1>;
479 clock-div = <1>;
480 };
481
482 l4ls_gclk: l4ls_gclk {
483 #clock-cells = <0>;
484 compatible = "fixed-factor-clock";
485 clocks = <&dpll_core_m4_div2_ck>;
486 clock-mult = <1>;
487 clock-div = <1>;
488 };
489
490 cpsw_125mhz_gclk: cpsw_125mhz_gclk {
491 #clock-cells = <0>;
492 compatible = "fixed-factor-clock";
493 clocks = <&dpll_core_m5_ck>;
494 clock-mult = <1>;
495 clock-div = <2>;
496 };
497
498 cpsw_cpts_rft_clk: cpsw_cpts_rft_clk@4238 {
499 #clock-cells = <0>;
500 compatible = "ti,mux-clock";
501 clocks = <&sysclk_div>, <&dpll_core_m5_ck>, <&dpll_disp_m2_ck>;
502 reg = <0x4238>;
503 };
504
505 dpll_clksel_mac_clk: dpll_clksel_mac_clk@4234 {
506 #clock-cells = <0>;
507 compatible = "ti,divider-clock";
508 clocks = <&dpll_core_m5_ck>;
509 reg = <0x4234>;
510 ti,bit-shift = <2>;
511 ti,dividers = <2>, <5>;
512 };
513
514 clk_32k_mosc_ck: clk_32k_mosc_ck {
515 #clock-cells = <0>;
516 compatible = "fixed-clock";
517 clock-frequency = <32768>;
518 };
519
520 gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck@4240 {
521 #clock-cells = <0>;
522 compatible = "ti,mux-clock";
523 clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>, <&clk_32k_mosc_ck>, <&clk_32k_tpm_ck>;
524 reg = <0x4240>;
525 };
526
527 gpio0_dbclk: gpio0_dbclk@2b68 {
528 #clock-cells = <0>;
529 compatible = "ti,gate-clock";
530 clocks = <&gpio0_dbclk_mux_ck>;
531 ti,bit-shift = <8>;
532 reg = <0x2b68>;
533 };
534
535 gpio1_dbclk: gpio1_dbclk@8c78 {
536 #clock-cells = <0>;
537 compatible = "ti,gate-clock";
538 clocks = <&clkdiv32k_ick>;
539 ti,bit-shift = <8>;
540 reg = <0x8c78>;
541 };
542
543 gpio2_dbclk: gpio2_dbclk@8c80 {
544 #clock-cells = <0>;
545 compatible = "ti,gate-clock";
546 clocks = <&clkdiv32k_ick>;
547 ti,bit-shift = <8>;
548 reg = <0x8c80>;
549 };
550
551 gpio3_dbclk: gpio3_dbclk@8c88 {
552 #clock-cells = <0>;
553 compatible = "ti,gate-clock";
554 clocks = <&clkdiv32k_ick>;
555 ti,bit-shift = <8>;
556 reg = <0x8c88>;
557 };
558
559 gpio4_dbclk: gpio4_dbclk@8c90 {
560 #clock-cells = <0>;
561 compatible = "ti,gate-clock";
562 clocks = <&clkdiv32k_ick>;
563 ti,bit-shift = <8>;
564 reg = <0x8c90>;
565 };
566
567 gpio5_dbclk: gpio5_dbclk@8c98 {
568 #clock-cells = <0>;
569 compatible = "ti,gate-clock";
570 clocks = <&clkdiv32k_ick>;
571 ti,bit-shift = <8>;
572 reg = <0x8c98>;
573 };
574
575 mmc_clk: mmc_clk {
576 #clock-cells = <0>;
577 compatible = "fixed-factor-clock";
578 clocks = <&dpll_per_m2_ck>;
579 clock-mult = <1>;
580 clock-div = <2>;
581 };
582
583 gfx_fclk_clksel_ck: gfx_fclk_clksel_ck@423c {
584 #clock-cells = <0>;
585 compatible = "ti,mux-clock";
586 clocks = <&sysclk_div>, <&dpll_per_m2_ck>;
587 ti,bit-shift = <1>;
588 reg = <0x423c>;
589 };
590
591 gfx_fck_div_ck: gfx_fck_div_ck@423c {
592 #clock-cells = <0>;
593 compatible = "ti,divider-clock";
594 clocks = <&gfx_fclk_clksel_ck>;
595 reg = <0x423c>;
596 ti,max-div = <2>;
597 };
598
599 disp_clk: disp_clk@4244 {
600 #clock-cells = <0>;
601 compatible = "ti,mux-clock";
602 clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
603 reg = <0x4244>;
604 ti,set-rate-parent;
605 };
606
607 dpll_extdev_ck: dpll_extdev_ck@2e60 {
608 #clock-cells = <0>;
609 compatible = "ti,am3-dpll-clock";
610 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
611 reg = <0x2e60>, <0x2e64>, <0x2e6c>;
612 };
613
614 dpll_extdev_m2_ck: dpll_extdev_m2_ck@2e70 {
615 #clock-cells = <0>;
616 compatible = "ti,divider-clock";
617 clocks = <&dpll_extdev_ck>;
618 ti,max-div = <127>;
619 ti,autoidle-shift = <8>;
620 reg = <0x2e70>;
621 ti,index-starts-at-one;
622 ti,invert-autoidle-bit;
623 };
624
625 mux_synctimer32k_ck: mux_synctimer32k_ck@4230 {
626 #clock-cells = <0>;
627 compatible = "ti,mux-clock";
628 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>, <&clkdiv32k_ick>;
629 reg = <0x4230>;
630 };
631
632 synctimer_32kclk: synctimer_32kclk@2a30 {
633 #clock-cells = <0>;
634 compatible = "ti,gate-clock";
635 clocks = <&mux_synctimer32k_ck>;
636 ti,bit-shift = <8>;
637 reg = <0x2a30>;
638 };
639
640 timer8_fck: timer8_fck@421c {
641 #clock-cells = <0>;
642 compatible = "ti,mux-clock";
643 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
644 reg = <0x421c>;
645 };
646
647 timer9_fck: timer9_fck@4220 {
648 #clock-cells = <0>;
649 compatible = "ti,mux-clock";
650 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
651 reg = <0x4220>;
652 };
653
654 timer10_fck: timer10_fck@4224 {
655 #clock-cells = <0>;
656 compatible = "ti,mux-clock";
657 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
658 reg = <0x4224>;
659 };
660
661 timer11_fck: timer11_fck@4228 {
662 #clock-cells = <0>;
663 compatible = "ti,mux-clock";
664 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
665 reg = <0x4228>;
666 };
667
668 cpsw_50m_clkdiv: cpsw_50m_clkdiv {
669 #clock-cells = <0>;
670 compatible = "fixed-factor-clock";
671 clocks = <&dpll_core_m5_ck>;
672 clock-mult = <1>;
673 clock-div = <1>;
674 };
675
676 cpsw_5m_clkdiv: cpsw_5m_clkdiv {
677 #clock-cells = <0>;
678 compatible = "fixed-factor-clock";
679 clocks = <&cpsw_50m_clkdiv>;
680 clock-mult = <1>;
681 clock-div = <10>;
682 };
683
684 dpll_ddr_x2_ck: dpll_ddr_x2_ck {
685 #clock-cells = <0>;
686 compatible = "ti,am3-dpll-x2-clock";
687 clocks = <&dpll_ddr_ck>;
688 };
689
690 dpll_ddr_m4_ck: dpll_ddr_m4_ck@2db8 {
691 #clock-cells = <0>;
692 compatible = "ti,divider-clock";
693 clocks = <&dpll_ddr_x2_ck>;
694 ti,max-div = <31>;
695 ti,autoidle-shift = <8>;
696 reg = <0x2db8>;
697 ti,index-starts-at-one;
698 ti,invert-autoidle-bit;
699 };
700
701 dpll_per_clkdcoldo: dpll_per_clkdcoldo@2e14 {
702 #clock-cells = <0>;
703 compatible = "ti,fixed-factor-clock";
704 clocks = <&dpll_per_ck>;
705 ti,clock-mult = <1>;
706 ti,clock-div = <1>;
707 ti,autoidle-shift = <8>;
708 reg = <0x2e14>;
709 ti,invert-autoidle-bit;
710 };
711
712 dll_aging_clk_div: dll_aging_clk_div@4250 {
713 #clock-cells = <0>;
714 compatible = "ti,divider-clock";
715 clocks = <&sys_clkin_ck>;
716 reg = <0x4250>;
717 ti,dividers = <8>, <16>, <32>;
718 };
719
720 div_core_25m_ck: div_core_25m_ck {
721 #clock-cells = <0>;
722 compatible = "fixed-factor-clock";
723 clocks = <&sysclk_div>;
724 clock-mult = <1>;
725 clock-div = <8>;
726 };
727
728 func_12m_clk: func_12m_clk {
729 #clock-cells = <0>;
730 compatible = "fixed-factor-clock";
731 clocks = <&dpll_per_m2_ck>;
732 clock-mult = <1>;
733 clock-div = <16>;
734 };
735
736 vtp_clk_div: vtp_clk_div {
737 #clock-cells = <0>;
738 compatible = "fixed-factor-clock";
739 clocks = <&sys_clkin_ck>;
740 clock-mult = <1>;
741 clock-div = <2>;
742 };
743
744 usbphy_32khz_clkmux: usbphy_32khz_clkmux@4260 {
745 #clock-cells = <0>;
746 compatible = "ti,mux-clock";
747 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>;
748 reg = <0x4260>;
749 };
750
751 usb_phy0_always_on_clk32k: usb_phy0_always_on_clk32k@2a40 {
752 #clock-cells = <0>;
753 compatible = "ti,gate-clock";
754 clocks = <&usbphy_32khz_clkmux>;
755 ti,bit-shift = <8>;
756 reg = <0x2a40>;
757 };
758
759 usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k@2a48 {
760 #clock-cells = <0>;
761 compatible = "ti,gate-clock";
762 clocks = <&usbphy_32khz_clkmux>;
763 ti,bit-shift = <8>;
764 reg = <0x2a48>;
765 };
766
767 usb_otg_ss0_refclk960m: usb_otg_ss0_refclk960m@8a60 {
768 #clock-cells = <0>;
769 compatible = "ti,gate-clock";
770 clocks = <&dpll_per_clkdcoldo>;
771 ti,bit-shift = <8>;
772 reg = <0x8a60>;
773 };
774
775 usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m@8a68 {
776 #clock-cells = <0>;
777 compatible = "ti,gate-clock";
778 clocks = <&dpll_per_clkdcoldo>;
779 ti,bit-shift = <8>;
780 reg = <0x8a68>;
781 };
782
783 clkout1_osc_div_ck: clkout1_osc_div_ck {
784 #clock-cells = <0>;
785 compatible = "ti,divider-clock";
786 clocks = <&sys_clkin_ck>;
787 ti,bit-shift = <20>;
788 ti,max-div = <4>;
789 reg = <0x4100>;
790 };
791
792 clkout1_src2_mux_ck: clkout1_src2_mux_ck {
793 #clock-cells = <0>;
794 compatible = "ti,mux-clock";
795 clocks = <&clk_rc32k_ck>, <&sysclk_div>, <&dpll_ddr_m2_ck>,
796 <&dpll_per_m2_ck>, <&dpll_disp_m2_ck>,
797 <&dpll_mpu_m2_ck>;
798 reg = <0x4100>;
799 };
800
801 clkout1_src2_pre_div_ck: clkout1_src2_pre_div_ck {
802 #clock-cells = <0>;
803 compatible = "ti,divider-clock";
804 clocks = <&clkout1_src2_mux_ck>;
805 ti,bit-shift = <4>;
806 ti,max-div = <8>;
807 reg = <0x4100>;
808 };
809
810 clkout1_src2_post_div_ck: clkout1_src2_post_div_ck {
811 #clock-cells = <0>;
812 compatible = "ti,divider-clock";
813 clocks = <&clkout1_src2_pre_div_ck>;
814 ti,bit-shift = <8>;
815 ti,max-div = <32>;
816 ti,index-power-of-two;
817 reg = <0x4100>;
818 };
819
820 clkout1_mux_ck: clkout1_mux_ck {
821 #clock-cells = <0>;
822 compatible = "ti,mux-clock";
823 clocks = <&clkout1_osc_div_ck>, <&clk_rc32k_ck>,
824 <&clkout1_src2_post_div_ck>, <&dpll_extdev_m2_ck>;
825 ti,bit-shift = <16>;
826 reg = <0x4100>;
827 };
828
829 clkout1_ck: clkout1_ck {
830 #clock-cells = <0>;
831 compatible = "ti,gate-clock";
832 clocks = <&clkout1_mux_ck>;
833 ti,bit-shift = <23>;
834 reg = <0x4100>;
835 };
836};