/* * Device Tree Source for AM43xx clock data * * Copyright (C) 2013 Texas Instruments, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ &scrm_clocks { sys_clkin_ck: sys_clkin_ck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&virt_19200000_ck>, <&virt_24000000_ck>, <&virt_25000000_ck>, <&virt_26000000_ck>; ti,bit-shift = <22>; reg = <0x0040>; }; adc_tsc_fck: adc_tsc_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; dcan0_fck: dcan0_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; dcan1_fck: dcan1_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; mcasp0_fck: mcasp0_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; mcasp1_fck: mcasp1_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; smartreflex0_fck: smartreflex0_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; smartreflex1_fck: smartreflex1_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; sha0_fck: sha0_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; aes0_fck: aes0_fck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <1>; }; }; &prcm_clocks { clk_32768_ck: clk_32768_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <32768>; }; clk_rc32k_ck: clk_rc32k_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <32768>; }; virt_19200000_ck: virt_19200000_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <19200000>; }; virt_24000000_ck: virt_24000000_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <24000000>; }; virt_25000000_ck: virt_25000000_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <25000000>; }; virt_26000000_ck: virt_26000000_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <26000000>; }; tclkin_ck: tclkin_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <26000000>; }; dpll_core_ck: dpll_core_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-core-clock"; clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; reg = <0x2d20>, <0x2d24>, <0x2d2c>; }; dpll_core_x2_ck: dpll_core_x2_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-x2-clock"; clocks = <&dpll_core_ck>; }; dpll_core_m4_ck: dpll_core_m4_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_core_x2_ck>; ti,max-div = <31>; ti,autoidle-shift = <8>; reg = <0x2d38>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; dpll_core_m5_ck: dpll_core_m5_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_core_x2_ck>; ti,max-div = <31>; ti,autoidle-shift = <8>; reg = <0x2d3c>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; dpll_core_m6_ck: dpll_core_m6_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_core_x2_ck>; ti,max-div = <31>; ti,autoidle-shift = <8>; reg = <0x2d40>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; dpll_mpu_ck: dpll_mpu_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-clock"; clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; reg = <0x2d60>, <0x2d64>, <0x2d6c>; }; dpll_mpu_m2_ck: dpll_mpu_m2_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_mpu_ck>; ti,max-div = <31>; ti,autoidle-shift = <8>; reg = <0x2d70>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; dpll_ddr_ck: dpll_ddr_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-clock"; clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; reg = <0x2da0>, <0x2da4>, <0x2dac>; }; dpll_ddr_m2_ck: dpll_ddr_m2_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_ddr_ck>; ti,max-div = <31>; ti,autoidle-shift = <8>; reg = <0x2db0>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; dpll_disp_ck: dpll_disp_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-clock"; clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; reg = <0x2e20>, <0x2e24>, <0x2e2c>; }; dpll_disp_m2_ck: dpll_disp_m2_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_disp_ck>; ti,max-div = <31>; ti,autoidle-shift = <8>; reg = <0x2e30>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; dpll_per_ck: dpll_per_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-j-type-clock"; clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; reg = <0x2de0>, <0x2de4>, <0x2dec>; }; dpll_per_m2_ck: dpll_per_m2_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_per_ck>; ti,max-div = <127>; ti,autoidle-shift = <8>; reg = <0x2df0>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; dpll_per_m2_div4_wkupdm_ck: dpll_per_m2_div4_wkupdm_ck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_per_m2_ck>; clock-mult = <1>; clock-div = <4>; }; dpll_per_m2_div4_ck: dpll_per_m2_div4_ck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_per_m2_ck>; clock-mult = <1>; clock-div = <4>; }; clk_24mhz: clk_24mhz { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_per_m2_ck>; clock-mult = <1>; clock-div = <8>; }; clkdiv32k_ck: clkdiv32k_ck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&clk_24mhz>; clock-mult = <1>; clock-div = <732>; }; clkdiv32k_ick: clkdiv32k_ick { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&clkdiv32k_ck>; ti,bit-shift = <8>; reg = <0x2a38>; }; sysclk_div: sysclk_div { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_core_m4_ck>; clock-mult = <1>; clock-div = <1>; }; pruss_ocp_gclk: pruss_ocp_gclk { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&sysclk_div>, <&dpll_disp_m2_ck>; reg = <0x4248>; }; clk_32k_tpm_ck: clk_32k_tpm_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <32768>; }; timer1_fck: timer1_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&sys_clkin_ck>, <&clkdiv32k_ick>, <&tclkin_ck>, <&clk_rc32k_ck>, <&clk_32768_ck>, <&clk_32k_tpm_ck>; reg = <0x4200>; }; timer2_fck: timer2_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; reg = <0x4204>; }; timer3_fck: timer3_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; reg = <0x4208>; }; timer4_fck: timer4_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; reg = <0x420c>; }; timer5_fck: timer5_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; reg = <0x4210>; }; timer6_fck: timer6_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; reg = <0x4214>; }; timer7_fck: timer7_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>; reg = <0x4218>; }; wdt1_fck: wdt1_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&clk_rc32k_ck>, <&clkdiv32k_ick>; reg = <0x422c>; }; l3_gclk: l3_gclk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_core_m4_ck>; clock-mult = <1>; clock-div = <1>; }; dpll_core_m4_div2_ck: dpll_core_m4_div2_ck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sysclk_div>; clock-mult = <1>; clock-div = <2>; }; l4hs_gclk: l4hs_gclk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_core_m4_ck>; clock-mult = <1>; clock-div = <1>; }; l3s_gclk: l3s_gclk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_core_m4_div2_ck>; clock-mult = <1>; clock-div = <1>; }; l4ls_gclk: l4ls_gclk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_core_m4_div2_ck>; clock-mult = <1>; clock-div = <1>; }; cpsw_125mhz_gclk: cpsw_125mhz_gclk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_core_m5_ck>; clock-mult = <1>; clock-div = <2>; }; cpsw_cpts_rft_clk: cpsw_cpts_rft_clk { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&sysclk_div>, <&dpll_core_m5_ck>, <&dpll_disp_m2_ck>; reg = <0x4238>; }; clk_32k_mosc_ck: clk_32k_mosc_ck { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <32768>; }; gpio0_dbclk_mux_ck: gpio0_dbclk_mux_ck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&clk_rc32k_ck>, <&clk_32768_ck>, <&clkdiv32k_ick>, <&clk_32k_mosc_ck>, <&clk_32k_tpm_ck>; reg = <0x4240>; }; gpio0_dbclk: gpio0_dbclk { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&gpio0_dbclk_mux_ck>; ti,bit-shift = <8>; reg = <0x2b68>; }; gpio1_dbclk: gpio1_dbclk { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&clkdiv32k_ick>; ti,bit-shift = <8>; reg = <0x8c78>; }; gpio2_dbclk: gpio2_dbclk { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&clkdiv32k_ick>; ti,bit-shift = <8>; reg = <0x8c80>; }; gpio3_dbclk: gpio3_dbclk { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&clkdiv32k_ick>; ti,bit-shift = <8>; reg = <0x8c88>; }; gpio4_dbclk: gpio4_dbclk { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&clkdiv32k_ick>; ti,bit-shift = <8>; reg = <0x8c90>; }; gpio5_dbclk: gpio5_dbclk { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&clkdiv32k_ick>; ti,bit-shift = <8>; reg = <0x8c98>; }; mmc_clk: mmc_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_per_m2_ck>; clock-mult = <1>; clock-div = <2>; }; gfx_fclk_clksel_ck: gfx_fclk_clksel_ck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&sysclk_div>, <&dpll_per_m2_ck>; ti,bit-shift = <1>; reg = <0x423c>; }; gfx_fck_div_ck: gfx_fck_div_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&gfx_fclk_clksel_ck>; reg = <0x423c>; ti,max-div = <2>; }; disp_clk: disp_clk { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&dpll_disp_m2_ck>, <&dpll_core_m5_ck>, <&dpll_per_m2_ck>; reg = <0x4244>; }; dpll_extdev_ck: dpll_extdev_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-clock"; clocks = <&sys_clkin_ck>, <&sys_clkin_ck>; reg = <0x2e60>, <0x2e64>, <0x2e6c>; }; dpll_extdev_m2_ck: dpll_extdev_m2_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_extdev_ck>; ti,max-div = <127>; ti,autoidle-shift = <8>; reg = <0x2e70>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; mux_synctimer32k_ck: mux_synctimer32k_ck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>, <&clkdiv32k_ick>; reg = <0x4230>; }; synctimer_32kclk: synctimer_32kclk { #clock-cells = <0>; compatible = "ti,gate-clock"; clocks = <&mux_synctimer32k_ck>; ti,bit-shift = <8>; reg = <0x2a30>; }; timer8_fck: timer8_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>; reg = <0x421c>; }; timer9_fck: timer9_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>; reg = <0x4220>; }; timer10_fck: timer10_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>; reg = <0x4224>; }; timer11_fck: timer11_fck { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&tclkin_ck>, <&sys_clkin_ck>, <&clkdiv32k_ick>, <&clk_32k_tpm_ck>; reg = <0x4228>; }; cpsw_50m_clkdiv: cpsw_50m_clkdiv { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_core_m5_ck>; clock-mult = <1>; clock-div = <1>; }; cpsw_5m_clkdiv: cpsw_5m_clkdiv { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&cpsw_50m_clkdiv>; clock-mult = <1>; clock-div = <10>; }; dpll_ddr_x2_ck: dpll_ddr_x2_ck { #clock-cells = <0>; compatible = "ti,am3-dpll-x2-clock"; clocks = <&dpll_ddr_ck>; }; dpll_ddr_m4_ck: dpll_ddr_m4_ck { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&dpll_ddr_x2_ck>; ti,max-div = <31>; ti,autoidle-shift = <8>; reg = <0x2db8>; ti,index-starts-at-one; ti,invert-autoidle-bit; }; dpll_per_clkdcoldo: dpll_per_clkdcoldo { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_per_ck>; clock-mult = <1>; clock-div = <1>; }; dll_aging_clk_div: dll_aging_clk_div { #clock-cells = <0>; compatible = "ti,divider-clock"; clocks = <&sys_clkin_ck>; reg = <0x4250>; ti,dividers = <8>, <16>, <32>; }; div_core_25m_ck: div_core_25m_ck { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sysclk_div>; clock-mult = <1>; clock-div = <8>; }; func_12m_clk: func_12m_clk { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&dpll_per_m2_ck>; clock-mult = <1>; clock-div = <16>; }; vtp_clk_div: vtp_clk_div { #clock-cells = <0>; compatible = "fixed-factor-clock"; clocks = <&sys_clkin_ck>; clock-mult = <1>; clock-div = <2>; }; usbphy_32khz_clkmux: usbphy_32khz_clkmux { #clock-cells = <0>; compatible = "ti,mux-clock"; clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>; reg = <0x4260>; }; };