1 // SPDX-License-Identifier: GPL-2.0-only
3 * Device Tree Source for AM43xx clock data
5 * Copyright (C) 2013 Texas Instruments, Inc.
8 sys_clkin_ck: sys_clkin_ck@40 {
10 compatible = "ti,mux-clock";
11 clocks = <&sysboot_freq_sel_ck>, <&crystal_freq_sel_ck>;
16 crystal_freq_sel_ck: crystal_freq_sel_ck@40 {
18 compatible = "ti,mux-clock";
19 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
24 sysboot_freq_sel_ck: sysboot_freq_sel_ck@44e10040 {
26 compatible = "ti,mux-clock";
27 clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>;
32 adc_tsc_fck: adc_tsc_fck {
34 compatible = "fixed-factor-clock";
35 clocks = <&sys_clkin_ck>;
40 dcan0_fck: dcan0_fck {
42 compatible = "fixed-factor-clock";
43 clocks = <&sys_clkin_ck>;
48 dcan1_fck: dcan1_fck {
50 compatible = "fixed-factor-clock";
51 clocks = <&sys_clkin_ck>;
56 mcasp0_fck: mcasp0_fck {
58 compatible = "fixed-factor-clock";
59 clocks = <&sys_clkin_ck>;
64 mcasp1_fck: mcasp1_fck {
66 compatible = "fixed-factor-clock";
67 clocks = <&sys_clkin_ck>;
72 smartreflex0_fck: smartreflex0_fck {
74 compatible = "fixed-factor-clock";
75 clocks = <&sys_clkin_ck>;
80 smartreflex1_fck: smartreflex1_fck {
82 compatible = "fixed-factor-clock";
83 clocks = <&sys_clkin_ck>;
90 compatible = "fixed-factor-clock";
91 clocks = <&sys_clkin_ck>;
98 compatible = "fixed-factor-clock";
99 clocks = <&sys_clkin_ck>;
106 compatible = "fixed-factor-clock";
107 clocks = <&sys_clkin_ck>;
112 ehrpwm0_tbclk: ehrpwm0_tbclk@664 {
114 compatible = "ti,gate-clock";
115 clocks = <&l4ls_gclk>;
120 ehrpwm1_tbclk: ehrpwm1_tbclk@664 {
122 compatible = "ti,gate-clock";
123 clocks = <&l4ls_gclk>;
128 ehrpwm2_tbclk: ehrpwm2_tbclk@664 {
130 compatible = "ti,gate-clock";
131 clocks = <&l4ls_gclk>;
136 ehrpwm3_tbclk: ehrpwm3_tbclk@664 {
138 compatible = "ti,gate-clock";
139 clocks = <&l4ls_gclk>;
144 ehrpwm4_tbclk: ehrpwm4_tbclk@664 {
146 compatible = "ti,gate-clock";
147 clocks = <&l4ls_gclk>;
152 ehrpwm5_tbclk: ehrpwm5_tbclk@664 {
154 compatible = "ti,gate-clock";
155 clocks = <&l4ls_gclk>;
161 clk_32768_ck: clk_32768_ck {
163 compatible = "fixed-clock";
164 clock-frequency = <32768>;
167 clk_rc32k_ck: clk_rc32k_ck {
169 compatible = "fixed-clock";
170 clock-frequency = <32768>;
173 virt_19200000_ck: virt_19200000_ck {
175 compatible = "fixed-clock";
176 clock-frequency = <19200000>;
179 virt_24000000_ck: virt_24000000_ck {
181 compatible = "fixed-clock";
182 clock-frequency = <24000000>;
185 virt_25000000_ck: virt_25000000_ck {
187 compatible = "fixed-clock";
188 clock-frequency = <25000000>;
191 virt_26000000_ck: virt_26000000_ck {
193 compatible = "fixed-clock";
194 clock-frequency = <26000000>;
197 tclkin_ck: tclkin_ck {
199 compatible = "fixed-clock";
200 clock-frequency = <26000000>;
203 dpll_core_ck: dpll_core_ck@2d20 {
205 compatible = "ti,am3-dpll-core-clock";
206 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
207 reg = <0x2d20>, <0x2d24>, <0x2d2c>;
210 dpll_core_x2_ck: dpll_core_x2_ck {
212 compatible = "ti,am3-dpll-x2-clock";
213 clocks = <&dpll_core_ck>;
216 dpll_core_m4_ck: dpll_core_m4_ck@2d38 {
218 compatible = "ti,divider-clock";
219 clocks = <&dpll_core_x2_ck>;
221 ti,autoidle-shift = <8>;
223 ti,index-starts-at-one;
224 ti,invert-autoidle-bit;
227 dpll_core_m5_ck: dpll_core_m5_ck@2d3c {
229 compatible = "ti,divider-clock";
230 clocks = <&dpll_core_x2_ck>;
232 ti,autoidle-shift = <8>;
234 ti,index-starts-at-one;
235 ti,invert-autoidle-bit;
238 dpll_core_m6_ck: dpll_core_m6_ck@2d40 {
240 compatible = "ti,divider-clock";
241 clocks = <&dpll_core_x2_ck>;
243 ti,autoidle-shift = <8>;
245 ti,index-starts-at-one;
246 ti,invert-autoidle-bit;
249 dpll_mpu_ck: dpll_mpu_ck@2d60 {
251 compatible = "ti,am3-dpll-clock";
252 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
253 reg = <0x2d60>, <0x2d64>, <0x2d6c>;
256 dpll_mpu_m2_ck: dpll_mpu_m2_ck@2d70 {
258 compatible = "ti,divider-clock";
259 clocks = <&dpll_mpu_ck>;
261 ti,autoidle-shift = <8>;
263 ti,index-starts-at-one;
264 ti,invert-autoidle-bit;
267 mpu_periphclk: mpu_periphclk {
269 compatible = "fixed-factor-clock";
270 clocks = <&dpll_mpu_m2_ck>;
275 dpll_ddr_ck: dpll_ddr_ck@2da0 {
277 compatible = "ti,am3-dpll-clock";
278 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
279 reg = <0x2da0>, <0x2da4>, <0x2dac>;
282 dpll_ddr_m2_ck: dpll_ddr_m2_ck@2db0 {
284 compatible = "ti,divider-clock";
285 clocks = <&dpll_ddr_ck>;
287 ti,autoidle-shift = <8>;
289 ti,index-starts-at-one;
290 ti,invert-autoidle-bit;
293 dpll_disp_ck: dpll_disp_ck@2e20 {
295 compatible = "ti,am3-dpll-clock";
296 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
297 reg = <0x2e20>, <0x2e24>, <0x2e2c>;
300 dpll_disp_m2_ck: dpll_disp_m2_ck@2e30 {
302 compatible = "ti,divider-clock";
303 clocks = <&dpll_disp_ck>;
305 ti,autoidle-shift = <8>;
307 ti,index-starts-at-one;
308 ti,invert-autoidle-bit;
312 dpll_per_ck: dpll_per_ck@2de0 {
314 compatible = "ti,am3-dpll-j-type-clock";
315 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
316 reg = <0x2de0>, <0x2de4>, <0x2dec>;
319 dpll_per_m2_ck: dpll_per_m2_ck@2df0 {
321 compatible = "ti,divider-clock";
322 clocks = <&dpll_per_ck>;
324 ti,autoidle-shift = <8>;
326 ti,index-starts-at-one;
327 ti,invert-autoidle-bit;
330 dpll_per_m2_div4_wkupdm_ck: dpll_per_m2_div4_wkupdm_ck {
332 compatible = "fixed-factor-clock";
333 clocks = <&dpll_per_m2_ck>;
338 dpll_per_m2_div4_ck: dpll_per_m2_div4_ck {
340 compatible = "fixed-factor-clock";
341 clocks = <&dpll_per_m2_ck>;
346 clk_24mhz: clk_24mhz {
348 compatible = "fixed-factor-clock";
349 clocks = <&dpll_per_m2_ck>;
354 clkdiv32k_ck: clkdiv32k_ck {
356 compatible = "fixed-factor-clock";
357 clocks = <&clk_24mhz>;
362 clkdiv32k_ick: clkdiv32k_ick@2a38 {
364 compatible = "ti,gate-clock";
365 clocks = <&clkdiv32k_ck>;
370 sysclk_div: sysclk_div {
372 compatible = "fixed-factor-clock";
373 clocks = <&dpll_core_m4_ck>;
378 pruss_ocp_gclk: pruss_ocp_gclk@4248 {
380 compatible = "ti,mux-clock";
381 clocks = <&sysclk_div>, <&dpll_disp_m2_ck>;
385 clk_32k_tpm_ck: clk_32k_tpm_ck {
387 compatible = "fixed-clock";
388 clock-frequency = <32768>;
391 timer1_fck: timer1_fck@4200 {
393 compatible = "ti,mux-clock";
394 clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>, <&clk_32k_tpm_ck>;
398 timer2_fck: timer2_fck@4204 {
400 compatible = "ti,mux-clock";
401 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
405 timer3_fck: timer3_fck@4208 {
407 compatible = "ti,mux-clock";
408 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
412 timer4_fck: timer4_fck@420c {
414 compatible = "ti,mux-clock";
415 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
419 timer5_fck: timer5_fck@4210 {
421 compatible = "ti,mux-clock";
422 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
426 timer6_fck: timer6_fck@4214 {
428 compatible = "ti,mux-clock";
429 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
433 timer7_fck: timer7_fck@4218 {
435 compatible = "ti,mux-clock";
436 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>;
440 wdt1_fck: wdt1_fck@422c {
442 compatible = "ti,mux-clock";
443 clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>;
449 compatible = "fixed-factor-clock";
450 clocks = <&dpll_core_m4_ck>;
455 dpll_core_m4_div2_ck: dpll_core_m4_div2_ck {
457 compatible = "fixed-factor-clock";
458 clocks = <&sysclk_div>;
463 l4hs_gclk: l4hs_gclk {
465 compatible = "fixed-factor-clock";
466 clocks = <&dpll_core_m4_ck>;
473 compatible = "fixed-factor-clock";
474 clocks = <&dpll_core_m4_div2_ck>;
479 l4ls_gclk: l4ls_gclk {
481 compatible = "fixed-factor-clock";
482 clocks = <&dpll_core_m4_div2_ck>;
487 cpsw_125mhz_gclk: cpsw_125mhz_gclk {
489 compatible = "fixed-factor-clock";
490 clocks = <&dpll_core_m5_ck>;
495 cpsw_cpts_rft_clk: cpsw_cpts_rft_clk@4238 {
497 compatible = "ti,mux-clock";
498 clocks = <&sysclk_div>, <&dpll_core_m5_ck>, <&dpll_disp_m2_ck>;
502 dpll_clksel_mac_clk: dpll_clksel_mac_clk@4234 {
504 compatible = "ti,divider-clock";
505 clocks = <&dpll_core_m5_ck>;
508 ti,dividers = <2>, <5>;
511 clk_32k_mosc_ck: clk_32k_mosc_ck {
513 compatible = "fixed-clock";
514 clock-frequency = <32768>;
517 gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck@4240 {
519 compatible = "ti,mux-clock";
520 clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>, <&clk_32k_mosc_ck>, <&clk_32k_tpm_ck>;
526 compatible = "fixed-factor-clock";
527 clocks = <&dpll_per_m2_ck>;
532 gfx_fclk_clksel_ck: gfx_fclk_clksel_ck@423c {
534 compatible = "ti,mux-clock";
535 clocks = <&sysclk_div>, <&dpll_per_m2_ck>;
540 gfx_fck_div_ck: gfx_fck_div_ck@423c {
542 compatible = "ti,divider-clock";
543 clocks = <&gfx_fclk_clksel_ck>;
548 disp_clk: disp_clk@4244 {
550 compatible = "ti,mux-clock";
551 clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>;
556 dpll_extdev_ck: dpll_extdev_ck@2e60 {
558 compatible = "ti,am3-dpll-clock";
559 clocks = <&sys_clkin_ck>, <&sys_clkin_ck>;
560 reg = <0x2e60>, <0x2e64>, <0x2e6c>;
563 dpll_extdev_m2_ck: dpll_extdev_m2_ck@2e70 {
565 compatible = "ti,divider-clock";
566 clocks = <&dpll_extdev_ck>;
568 ti,autoidle-shift = <8>;
570 ti,index-starts-at-one;
571 ti,invert-autoidle-bit;
574 mux_synctimer32k_ck: mux_synctimer32k_ck@4230 {
576 compatible = "ti,mux-clock";
577 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>, <&clkdiv32k_ick>;
581 timer8_fck: timer8_fck@421c {
583 compatible = "ti,mux-clock";
584 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
588 timer9_fck: timer9_fck@4220 {
590 compatible = "ti,mux-clock";
591 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
595 timer10_fck: timer10_fck@4224 {
597 compatible = "ti,mux-clock";
598 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
602 timer11_fck: timer11_fck@4228 {
604 compatible = "ti,mux-clock";
605 clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>;
609 cpsw_50m_clkdiv: cpsw_50m_clkdiv {
611 compatible = "fixed-factor-clock";
612 clocks = <&dpll_core_m5_ck>;
617 cpsw_5m_clkdiv: cpsw_5m_clkdiv {
619 compatible = "fixed-factor-clock";
620 clocks = <&cpsw_50m_clkdiv>;
625 dpll_ddr_x2_ck: dpll_ddr_x2_ck {
627 compatible = "ti,am3-dpll-x2-clock";
628 clocks = <&dpll_ddr_ck>;
631 dpll_ddr_m4_ck: dpll_ddr_m4_ck@2db8 {
633 compatible = "ti,divider-clock";
634 clocks = <&dpll_ddr_x2_ck>;
636 ti,autoidle-shift = <8>;
638 ti,index-starts-at-one;
639 ti,invert-autoidle-bit;
642 dpll_per_clkdcoldo: dpll_per_clkdcoldo@2e14 {
644 compatible = "ti,fixed-factor-clock";
645 clocks = <&dpll_per_ck>;
648 ti,autoidle-shift = <8>;
650 ti,invert-autoidle-bit;
653 dll_aging_clk_div: dll_aging_clk_div@4250 {
655 compatible = "ti,divider-clock";
656 clocks = <&sys_clkin_ck>;
658 ti,dividers = <8>, <16>, <32>;
661 div_core_25m_ck: div_core_25m_ck {
663 compatible = "fixed-factor-clock";
664 clocks = <&sysclk_div>;
669 func_12m_clk: func_12m_clk {
671 compatible = "fixed-factor-clock";
672 clocks = <&dpll_per_m2_ck>;
677 vtp_clk_div: vtp_clk_div {
679 compatible = "fixed-factor-clock";
680 clocks = <&sys_clkin_ck>;
685 usbphy_32khz_clkmux: usbphy_32khz_clkmux@4260 {
687 compatible = "ti,mux-clock";
688 clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>;
692 usb_phy0_always_on_clk32k: usb_phy0_always_on_clk32k@2a40 {
694 compatible = "ti,gate-clock";
695 clocks = <&usbphy_32khz_clkmux>;
700 usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k@2a48 {
702 compatible = "ti,gate-clock";
703 clocks = <&usbphy_32khz_clkmux>;
708 clkout1_osc_div_ck: clkout1-osc-div-ck {
710 compatible = "ti,divider-clock";
711 clocks = <&sys_clkin_ck>;
717 clkout1_src2_mux_ck: clkout1-src2-mux-ck {
719 compatible = "ti,mux-clock";
720 clocks = <&clk_rc32k_ck>, <&sysclk_div>, <&dpll_ddr_m2_ck>,
721 <&dpll_per_m2_ck>, <&dpll_disp_m2_ck>,
726 clkout1_src2_pre_div_ck: clkout1-src2-pre-div-ck {
728 compatible = "ti,divider-clock";
729 clocks = <&clkout1_src2_mux_ck>;
735 clkout1_src2_post_div_ck: clkout1-src2-post-div-ck {
737 compatible = "ti,divider-clock";
738 clocks = <&clkout1_src2_pre_div_ck>;
741 ti,index-power-of-two;
745 clkout1_mux_ck: clkout1-mux-ck {
747 compatible = "ti,mux-clock";
748 clocks = <&clkout1_osc_div_ck>, <&clk_rc32k_ck>,
749 <&clkout1_src2_post_div_ck>, <&dpll_extdev_m2_ck>;
754 clkout1_ck: clkout1-ck {
756 compatible = "ti,gate-clock";
757 clocks = <&clkout1_mux_ck>;
764 wkup_cm: wkup-cm@2800 {
765 compatible = "ti,omap4-cm";
766 reg = <0x2800 0x400>;
767 #address-cells = <1>;
769 ranges = <0 0x2800 0x400>;
771 l3s_tsc_clkctrl: l3s-tsc-clkctrl@120 {
772 compatible = "ti,clkctrl";
777 l4_wkup_aon_clkctrl: l4-wkup-aon-clkctrl@228 {
778 compatible = "ti,clkctrl";
783 l4_wkup_clkctrl: l4-wkup-clkctrl@220 {
784 compatible = "ti,clkctrl";
785 reg = <0x220 0x4>, <0x328 0x44>;
791 mpu_cm: mpu-cm@8300 {
792 compatible = "ti,omap4-cm";
793 reg = <0x8300 0x100>;
794 #address-cells = <1>;
796 ranges = <0 0x8300 0x100>;
798 mpu_clkctrl: mpu-clkctrl@20 {
799 compatible = "ti,clkctrl";
805 gfx_l3_cm: gfx-l3-cm@8400 {
806 compatible = "ti,omap4-cm";
807 reg = <0x8400 0x100>;
808 #address-cells = <1>;
810 ranges = <0 0x8400 0x100>;
812 gfx_l3_clkctrl: gfx-l3-clkctrl@20 {
813 compatible = "ti,clkctrl";
819 l4_rtc_cm: l4-rtc-cm@8500 {
820 compatible = "ti,omap4-cm";
821 reg = <0x8500 0x100>;
822 #address-cells = <1>;
824 ranges = <0 0x8500 0x100>;
826 l4_rtc_clkctrl: l4-rtc-clkctrl@20 {
827 compatible = "ti,clkctrl";
833 per_cm: per-cm@8800 {
834 compatible = "ti,omap4-cm";
835 reg = <0x8800 0xc00>;
836 #address-cells = <1>;
838 ranges = <0 0x8800 0xc00>;
840 l3_clkctrl: l3-clkctrl@20 {
841 compatible = "ti,clkctrl";
842 reg = <0x20 0x3c>, <0x78 0x2c>;
846 l3s_clkctrl: l3s-clkctrl@68 {
847 compatible = "ti,clkctrl";
848 reg = <0x68 0xc>, <0x220 0x4c>;
852 pruss_ocp_clkctrl: pruss-ocp-clkctrl@320 {
853 compatible = "ti,clkctrl";
858 l4ls_clkctrl: l4ls-clkctrl@420 {
859 compatible = "ti,clkctrl";
864 emif_clkctrl: emif-clkctrl@720 {
865 compatible = "ti,clkctrl";
870 dss_clkctrl: dss-clkctrl@a20 {
871 compatible = "ti,clkctrl";
876 cpsw_125mhz_clkctrl: cpsw-125mhz-clkctrl@b20 {
877 compatible = "ti,clkctrl";