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 {
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 {
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 ehrpwm0_tbclk: ehrpwm0_tbclk {
108 #clock-cells = <0>;
109 compatible = "ti,gate-clock";
110 clocks = <&l4ls_gclk>;
111 ti,bit-shift = <0>;
112 reg = <0x0664>;
113 };
114
115 ehrpwm1_tbclk: ehrpwm1_tbclk {
116 #clock-cells = <0>;
117 compatible = "ti,gate-clock";
118 clocks = <&l4ls_gclk>;
119 ti,bit-shift = <1>;
120 reg = <0x0664>;
121 };
122
123 ehrpwm2_tbclk: ehrpwm2_tbclk {
124 #clock-cells = <0>;
125 compatible = "ti,gate-clock";
126 clocks = <&l4ls_gclk>;
127 ti,bit-shift = <2>;
128 reg = <0x0664>;
129 };
130
131 ehrpwm3_tbclk: ehrpwm3_tbclk {
132 #clock-cells = <0>;
133 compatible = "ti,gate-clock";
134 clocks = <&l4ls_gclk>;
135 ti,bit-shift = <4>;
136 reg = <0x0664>;
137 };
138
139 ehrpwm4_tbclk: ehrpwm4_tbclk {
140 #clock-cells = <0>;
141 compatible = "ti,gate-clock";
142 clocks = <&l4ls_gclk>;
143 ti,bit-shift = <5>;
144 reg = <0x0664>;
145 };
146
147 ehrpwm5_tbclk: ehrpwm5_tbclk {
148 #clock-cells = <0>;
149 compatible = "ti,gate-clock";
150 clocks = <&l4ls_gclk>;
151 ti,bit-shift = <6>;
152 reg = <0x0664>;
153 };
154};
155&prcm_clocks {
156 clk_32768_ck: clk_32768_ck {
157 #clock-cells = <0>;
158 compatible = "fixed-clock";
159 clock-frequency = <32768>;
160 };
161
162 clk_rc32k_ck: clk_rc32k_ck {
163 #clock-cells = <0>;
164 compatible = "fixed-clock";
165 clock-frequency = <32768>;
166 };
167
168 virt_19200000_ck: virt_19200000_ck {
169 #clock-cells = <0>;
170 compatible = "fixed-clock";
171 clock-frequency = <19200000>;
172 };
173
174 virt_24000000_ck: virt_24000000_ck {
175 #clock-cells = <0>;
176 compatible = "fixed-clock";
177 clock-frequency = <24000000>;
178 };
179
180 virt_25000000_ck: virt_25000000_ck {
181 #clock-cells = <0>;
182 compatible = "fixed-clock";
183 clock-frequency = <25000000>;
184 };
185
186 virt_26000000_ck: virt_26000000_ck {
187 #clock-cells = <0>;
188 compatible = "fixed-clock";
189 clock-frequency = <26000000>;
190 };
191
192 tclkin_ck: tclkin_ck {
193 #clock-cells = <0>;
194 compatible = "fixed-clock";
195 clock-frequency = <26000000>;
196 };
197
198 dpll_core_ck: dpll_core_ck {
199 #clock-cells = <0>;
200 compatible = "ti,am3-dpll-core-clock";
201 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
202 reg = <0x2d20>, <0x2d24>, <0x2d2c>;
203 };
204
205 dpll_core_x2_ck: dpll_core_x2_ck {
206 #clock-cells = <0>;
207 compatible = "ti,am3-dpll-x2-clock";
208 clocks = <&dpll_core_ck>;
209 };
210
211 dpll_core_m4_ck: dpll_core_m4_ck {
212 #clock-cells = <0>;
213 compatible = "ti,divider-clock";
214 clocks = <&dpll_core_x2_ck>;
215 ti,max-div = <31>;
216 ti,autoidle-shift = <8>;
217 reg = <0x2d38>;
218 ti,index-starts-at-one;
219 ti,invert-autoidle-bit;
220 };
221
222 dpll_core_m5_ck: dpll_core_m5_ck {
223 #clock-cells = <0>;
224 compatible = "ti,divider-clock";
225 clocks = <&dpll_core_x2_ck>;
226 ti,max-div = <31>;
227 ti,autoidle-shift = <8>;
228 reg = <0x2d3c>;
229 ti,index-starts-at-one;
230 ti,invert-autoidle-bit;
231 };
232
233 dpll_core_m6_ck: dpll_core_m6_ck {
234 #clock-cells = <0>;
235 compatible = "ti,divider-clock";
236 clocks = <&dpll_core_x2_ck>;
237 ti,max-div = <31>;
238 ti,autoidle-shift = <8>;
239 reg = <0x2d40>;
240 ti,index-starts-at-one;
241 ti,invert-autoidle-bit;
242 };
243
244 dpll_mpu_ck: dpll_mpu_ck {
245 #clock-cells = <0>;
246 compatible = "ti,am3-dpll-clock";
247 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
248 reg = <0x2d60>, <0x2d64>, <0x2d6c>;
249 };
250
251 dpll_mpu_m2_ck: dpll_mpu_m2_ck {
252 #clock-cells = <0>;
253 compatible = "ti,divider-clock";
254 clocks = <&dpll_mpu_ck>;
255 ti,max-div = <31>;
256 ti,autoidle-shift = <8>;
257 reg = <0x2d70>;
258 ti,index-starts-at-one;
259 ti,invert-autoidle-bit;
260 };
261
262 mpu_periphclk: mpu_periphclk {
263 #clock-cells = <0>;
264 compatible = "fixed-factor-clock";
265 clocks = <&dpll_mpu_m2_ck>;
266 clock-mult = <1>;
267 clock-div = <2>;
268 };
269
270 dpll_ddr_ck: dpll_ddr_ck {
271 #clock-cells = <0>;
272 compatible = "ti,am3-dpll-clock";
273 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
274 reg = <0x2da0>, <0x2da4>, <0x2dac>;
275 };
276
277 dpll_ddr_m2_ck: dpll_ddr_m2_ck {
278 #clock-cells = <0>;
279 compatible = "ti,divider-clock";
280 clocks = <&dpll_ddr_ck>;
281 ti,max-div = <31>;
282 ti,autoidle-shift = <8>;
283 reg = <0x2db0>;
284 ti,index-starts-at-one;
285 ti,invert-autoidle-bit;
286 };
287
288 dpll_disp_ck: dpll_disp_ck {
289 #clock-cells = <0>;
290 compatible = "ti,am3-dpll-clock";
291 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
292 reg = <0x2e20>, <0x2e24>, <0x2e2c>;
293 };
294
295 dpll_disp_m2_ck: dpll_disp_m2_ck {
296 #clock-cells = <0>;
297 compatible = "ti,divider-clock";
298 clocks = <&dpll_disp_ck>;
299 ti,max-div = <31>;
300 ti,autoidle-shift = <8>;
301 reg = <0x2e30>;
302 ti,index-starts-at-one;
303 ti,invert-autoidle-bit;
304 ti,set-rate-parent;
305 };
306
307 dpll_per_ck: dpll_per_ck {
308 #clock-cells = <0>;
309 compatible = "ti,am3-dpll-j-type-clock";
310 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
311 reg = <0x2de0>, <0x2de4>, <0x2dec>;
312 };
313
314 dpll_per_m2_ck: dpll_per_m2_ck {
315 #clock-cells = <0>;
316 compatible = "ti,divider-clock";
317 clocks = <&dpll_per_ck>;
318 ti,max-div = <127>;
319 ti,autoidle-shift = <8>;
320 reg = <0x2df0>;
321 ti,index-starts-at-one;
322 ti,invert-autoidle-bit;
323 };
324
325 dpll_per_m2_div4_wkupdm_ck: dpll_per_m2_div4_wkupdm_ck {
326 #clock-cells = <0>;
327 compatible = "fixed-factor-clock";
328 clocks = <&dpll_per_m2_ck>;
329 clock-mult = <1>;
330 clock-div = <4>;
331 };
332
333 dpll_per_m2_div4_ck: dpll_per_m2_div4_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 clk_24mhz: clk_24mhz {
342 #clock-cells = <0>;
343 compatible = "fixed-factor-clock";
344 clocks = <&dpll_per_m2_ck>;
345 clock-mult = <1>;
346 clock-div = <8>;
347 };
348
349 clkdiv32k_ck: clkdiv32k_ck {
350 #clock-cells = <0>;
351 compatible = "fixed-factor-clock";
352 clocks = <&clk_24mhz>;
353 clock-mult = <1>;
354 clock-div = <732>;
355 };
356
357 clkdiv32k_ick: clkdiv32k_ick {
358 #clock-cells = <0>;
359 compatible = "ti,gate-clock";
360 clocks = <&clkdiv32k_ck>;
361 ti,bit-shift = <8>;
362 reg = <0x2a38>;
363 };
364
365 sysclk_div: sysclk_div {
366 #clock-cells = <0>;
367 compatible = "fixed-factor-clock";
368 clocks = <&dpll_core_m4_ck>;
369 clock-mult = <1>;
370 clock-div = <1>;
371 };
372
373 pruss_ocp_gclk: pruss_ocp_gclk {
374 #clock-cells = <0>;
375 compatible = "ti,mux-clock";
376 clocks = <&sysclk_div>, <&dpll_disp_m2_ck>;
377 reg = <0x4248>;
378 };
379
380 clk_32k_tpm_ck: clk_32k_tpm_ck {
381 #clock-cells = <0>;
382 compatible = "fixed-clock";
383 clock-frequency = <32768>;
384 };
385
386 timer1_fck: timer1_fck {
387 #clock-cells = <0>;
388 compatible = "ti,mux-clock";
389 clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>, <&clk_32k_tpm_ck>;
390 reg = <0x4200>;
391 };
392
393 timer2_fck: timer2_fck {
394 #clock-cells = <0>;
395 compatible = "ti,mux-clock";
396 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
397 reg = <0x4204>;
398 };
399
400 timer3_fck: timer3_fck {
401 #clock-cells = <0>;
402 compatible = "ti,mux-clock";
403 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
404 reg = <0x4208>;
405 };
406
407 timer4_fck: timer4_fck {
408 #clock-cells = <0>;
409 compatible = "ti,mux-clock";
410 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
411 reg = <0x420c>;
412 };
413
414 timer5_fck: timer5_fck {
415 #clock-cells = <0>;
416 compatible = "ti,mux-clock";
417 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
418 reg = <0x4210>;
419 };
420
421 timer6_fck: timer6_fck {
422 #clock-cells = <0>;
423 compatible = "ti,mux-clock";
424 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
425 reg = <0x4214>;
426 };
427
428 timer7_fck: timer7_fck {
429 #clock-cells = <0>;
430 compatible = "ti,mux-clock";
431 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
432 reg = <0x4218>;
433 };
434
435 wdt1_fck: wdt1_fck {
436 #clock-cells = <0>;
437 compatible = "ti,mux-clock";
438 clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
439 reg = <0x422c>;
440 };
441
442 l3_gclk: l3_gclk {
443 #clock-cells = <0>;
444 compatible = "fixed-factor-clock";
445 clocks = <&dpll_core_m4_ck>;
446 clock-mult = <1>;
447 clock-div = <1>;
448 };
449
450 dpll_core_m4_div2_ck: dpll_core_m4_div2_ck {
451 #clock-cells = <0>;
452 compatible = "fixed-factor-clock";
453 clocks = <&sysclk_div>;
454 clock-mult = <1>;
455 clock-div = <2>;
456 };
457
458 l4hs_gclk: l4hs_gclk {
459 #clock-cells = <0>;
460 compatible = "fixed-factor-clock";
461 clocks = <&dpll_core_m4_ck>;
462 clock-mult = <1>;
463 clock-div = <1>;
464 };
465
466 l3s_gclk: l3s_gclk {
467 #clock-cells = <0>;
468 compatible = "fixed-factor-clock";
469 clocks = <&dpll_core_m4_div2_ck>;
470 clock-mult = <1>;
471 clock-div = <1>;
472 };
473
474 l4ls_gclk: l4ls_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 cpsw_125mhz_gclk: cpsw_125mhz_gclk {
483 #clock-cells = <0>;
484 compatible = "fixed-factor-clock";
485 clocks = <&dpll_core_m5_ck>;
486 clock-mult = <1>;
487 clock-div = <2>;
488 };
489
490 cpsw_cpts_rft_clk: cpsw_cpts_rft_clk {
491 #clock-cells = <0>;
492 compatible = "ti,mux-clock";
493 clocks = <&sysclk_div>, <&dpll_core_m5_ck>, <&dpll_disp_m2_ck>;
494 reg = <0x4238>;
495 };
496
497 dpll_clksel_mac_clk: dpll_clksel_mac_clk {
498 #clock-cells = <0>;
499 compatible = "ti,divider-clock";
500 clocks = <&dpll_core_m5_ck>;
501 reg = <0x4234>;
502 ti,bit-shift = <2>;
503 ti,dividers = <2>, <5>;
504 };
505
506 clk_32k_mosc_ck: clk_32k_mosc_ck {
507 #clock-cells = <0>;
508 compatible = "fixed-clock";
509 clock-frequency = <32768>;
510 };
511
512 gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck {
513 #clock-cells = <0>;
514 compatible = "ti,mux-clock";
515 clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>, <&clk_32k_mosc_ck>, <&clk_32k_tpm_ck>;
516 reg = <0x4240>;
517 };
518
519 gpio0_dbclk: gpio0_dbclk {
520 #clock-cells = <0>;
521 compatible = "ti,gate-clock";
522 clocks = <&gpio0_dbclk_mux_ck>;
523 ti,bit-shift = <8>;
524 reg = <0x2b68>;
525 };
526
527 gpio1_dbclk: gpio1_dbclk {
528 #clock-cells = <0>;
529 compatible = "ti,gate-clock";
530 clocks = <&clkdiv32k_ick>;
531 ti,bit-shift = <8>;
532 reg = <0x8c78>;
533 };
534
535 gpio2_dbclk: gpio2_dbclk {
536 #clock-cells = <0>;
537 compatible = "ti,gate-clock";
538 clocks = <&clkdiv32k_ick>;
539 ti,bit-shift = <8>;
540 reg = <0x8c80>;
541 };
542
543 gpio3_dbclk: gpio3_dbclk {
544 #clock-cells = <0>;
545 compatible = "ti,gate-clock";
546 clocks = <&clkdiv32k_ick>;
547 ti,bit-shift = <8>;
548 reg = <0x8c88>;
549 };
550
551 gpio4_dbclk: gpio4_dbclk {
552 #clock-cells = <0>;
553 compatible = "ti,gate-clock";
554 clocks = <&clkdiv32k_ick>;
555 ti,bit-shift = <8>;
556 reg = <0x8c90>;
557 };
558
559 gpio5_dbclk: gpio5_dbclk {
560 #clock-cells = <0>;
561 compatible = "ti,gate-clock";
562 clocks = <&clkdiv32k_ick>;
563 ti,bit-shift = <8>;
564 reg = <0x8c98>;
565 };
566
567 mmc_clk: mmc_clk {
568 #clock-cells = <0>;
569 compatible = "fixed-factor-clock";
570 clocks = <&dpll_per_m2_ck>;
571 clock-mult = <1>;
572 clock-div = <2>;
573 };
574
575 gfx_fclk_clksel_ck: gfx_fclk_clksel_ck {
576 #clock-cells = <0>;
577 compatible = "ti,mux-clock";
578 clocks = <&sysclk_div>, <&dpll_per_m2_ck>;
579 ti,bit-shift = <1>;
580 reg = <0x423c>;
581 };
582
583 gfx_fck_div_ck: gfx_fck_div_ck {
584 #clock-cells = <0>;
585 compatible = "ti,divider-clock";
586 clocks = <&gfx_fclk_clksel_ck>;
587 reg = <0x423c>;
588 ti,max-div = <2>;
589 };
590
591 disp_clk: disp_clk {
592 #clock-cells = <0>;
593 compatible = "ti,mux-clock";
594 clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
595 reg = <0x4244>;
596 ti,set-rate-parent;
597 };
598
599 dpll_extdev_ck: dpll_extdev_ck {
600 #clock-cells = <0>;
601 compatible = "ti,am3-dpll-clock";
602 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
603 reg = <0x2e60>, <0x2e64>, <0x2e6c>;
604 };
605
606 dpll_extdev_m2_ck: dpll_extdev_m2_ck {
607 #clock-cells = <0>;
608 compatible = "ti,divider-clock";
609 clocks = <&dpll_extdev_ck>;
610 ti,max-div = <127>;
611 ti,autoidle-shift = <8>;
612 reg = <0x2e70>;
613 ti,index-starts-at-one;
614 ti,invert-autoidle-bit;
615 };
616
617 mux_synctimer32k_ck: mux_synctimer32k_ck {
618 #clock-cells = <0>;
619 compatible = "ti,mux-clock";
620 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>, <&clkdiv32k_ick>;
621 reg = <0x4230>;
622 };
623
624 synctimer_32kclk: synctimer_32kclk {
625 #clock-cells = <0>;
626 compatible = "ti,gate-clock";
627 clocks = <&mux_synctimer32k_ck>;
628 ti,bit-shift = <8>;
629 reg = <0x2a30>;
630 };
631
632 timer8_fck: timer8_fck {
633 #clock-cells = <0>;
634 compatible = "ti,mux-clock";
635 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
636 reg = <0x421c>;
637 };
638
639 timer9_fck: timer9_fck {
640 #clock-cells = <0>;
641 compatible = "ti,mux-clock";
642 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
643 reg = <0x4220>;
644 };
645
646 timer10_fck: timer10_fck {
647 #clock-cells = <0>;
648 compatible = "ti,mux-clock";
649 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
650 reg = <0x4224>;
651 };
652
653 timer11_fck: timer11_fck {
654 #clock-cells = <0>;
655 compatible = "ti,mux-clock";
656 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
657 reg = <0x4228>;
658 };
659
660 cpsw_50m_clkdiv: cpsw_50m_clkdiv {
661 #clock-cells = <0>;
662 compatible = "fixed-factor-clock";
663 clocks = <&dpll_core_m5_ck>;
664 clock-mult = <1>;
665 clock-div = <1>;
666 };
667
668 cpsw_5m_clkdiv: cpsw_5m_clkdiv {
669 #clock-cells = <0>;
670 compatible = "fixed-factor-clock";
671 clocks = <&cpsw_50m_clkdiv>;
672 clock-mult = <1>;
673 clock-div = <10>;
674 };
675
676 dpll_ddr_x2_ck: dpll_ddr_x2_ck {
677 #clock-cells = <0>;
678 compatible = "ti,am3-dpll-x2-clock";
679 clocks = <&dpll_ddr_ck>;
680 };
681
682 dpll_ddr_m4_ck: dpll_ddr_m4_ck {
683 #clock-cells = <0>;
684 compatible = "ti,divider-clock";
685 clocks = <&dpll_ddr_x2_ck>;
686 ti,max-div = <31>;
687 ti,autoidle-shift = <8>;
688 reg = <0x2db8>;
689 ti,index-starts-at-one;
690 ti,invert-autoidle-bit;
691 };
692
693 dpll_per_clkdcoldo: dpll_per_clkdcoldo {
694 #clock-cells = <0>;
695 compatible = "ti,fixed-factor-clock";
696 clocks = <&dpll_per_ck>;
697 ti,clock-mult = <1>;
698 ti,clock-div = <1>;
699 ti,autoidle-shift = <8>;
700 reg = <0x2e14>;
701 ti,invert-autoidle-bit;
702 };
703
704 dll_aging_clk_div: dll_aging_clk_div {
705 #clock-cells = <0>;
706 compatible = "ti,divider-clock";
707 clocks = <&sys_clkin_ck>;
708 reg = <0x4250>;
709 ti,dividers = <8>, <16>, <32>;
710 };
711
712 div_core_25m_ck: div_core_25m_ck {
713 #clock-cells = <0>;
714 compatible = "fixed-factor-clock";
715 clocks = <&sysclk_div>;
716 clock-mult = <1>;
717 clock-div = <8>;
718 };
719
720 func_12m_clk: func_12m_clk {
721 #clock-cells = <0>;
722 compatible = "fixed-factor-clock";
723 clocks = <&dpll_per_m2_ck>;
724 clock-mult = <1>;
725 clock-div = <16>;
726 };
727
728 vtp_clk_div: vtp_clk_div {
729 #clock-cells = <0>;
730 compatible = "fixed-factor-clock";
731 clocks = <&sys_clkin_ck>;
732 clock-mult = <1>;
733 clock-div = <2>;
734 };
735
736 usbphy_32khz_clkmux: usbphy_32khz_clkmux {
737 #clock-cells = <0>;
738 compatible = "ti,mux-clock";
739 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>;
740 reg = <0x4260>;
741 };
742
743 usb_phy0_always_on_clk32k: usb_phy0_always_on_clk32k {
744 #clock-cells = <0>;
745 compatible = "ti,gate-clock";
746 clocks = <&usbphy_32khz_clkmux>;
747 ti,bit-shift = <8>;
748 reg = <0x2a40>;
749 };
750
751 usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k {
752 #clock-cells = <0>;
753 compatible = "ti,gate-clock";
754 clocks = <&usbphy_32khz_clkmux>;
755 ti,bit-shift = <8>;
756 reg = <0x2a48>;
757 };
758
759 usb_otg_ss0_refclk960m: usb_otg_ss0_refclk960m {
760 #clock-cells = <0>;
761 compatible = "ti,gate-clock";
762 clocks = <&dpll_per_clkdcoldo>;
763 ti,bit-shift = <8>;
764 reg = <0x8a60>;
765 };
766
767 usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m {
768 #clock-cells = <0>;
769 compatible = "ti,gate-clock";
770 clocks = <&dpll_per_clkdcoldo>;
771 ti,bit-shift = <8>;
772 reg = <0x8a68>;
773 };
774};