2015-01-29 22:25:40 +02:00
/*
* OMAP3 Legacy clock data
*
* Copyright ( C ) 2014 Texas Instruments , Inc
* Tero Kristo ( t - kristo @ ti . com )
*
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation version 2.
*
* This program is distributed " as is " WITHOUT ANY WARRANTY of any
* kind , whether express or implied ; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*/
# include <linux/kernel.h>
2015-06-19 15:00:46 -07:00
# include <linux/clk.h>
2015-01-29 22:25:40 +02:00
# include <linux/clk-provider.h>
# include <linux/clk/ti.h>
# include "clock.h"
static struct ti_clk_fixed virt_12m_ck_data = {
. frequency = 12000000 ,
} ;
static struct ti_clk virt_12m_ck = {
. name = " virt_12m_ck " ,
. type = TI_CLK_FIXED ,
. data = & virt_12m_ck_data ,
} ;
static struct ti_clk_fixed virt_13m_ck_data = {
. frequency = 13000000 ,
} ;
static struct ti_clk virt_13m_ck = {
. name = " virt_13m_ck " ,
. type = TI_CLK_FIXED ,
. data = & virt_13m_ck_data ,
} ;
static struct ti_clk_fixed virt_19200000_ck_data = {
. frequency = 19200000 ,
} ;
static struct ti_clk virt_19200000_ck = {
. name = " virt_19200000_ck " ,
. type = TI_CLK_FIXED ,
. data = & virt_19200000_ck_data ,
} ;
static struct ti_clk_fixed virt_26000000_ck_data = {
. frequency = 26000000 ,
} ;
static struct ti_clk virt_26000000_ck = {
. name = " virt_26000000_ck " ,
. type = TI_CLK_FIXED ,
. data = & virt_26000000_ck_data ,
} ;
static struct ti_clk_fixed virt_38_4m_ck_data = {
. frequency = 38400000 ,
} ;
static struct ti_clk virt_38_4m_ck = {
. name = " virt_38_4m_ck " ,
. type = TI_CLK_FIXED ,
. data = & virt_38_4m_ck_data ,
} ;
static struct ti_clk_fixed virt_16_8m_ck_data = {
. frequency = 16800000 ,
} ;
static struct ti_clk virt_16_8m_ck = {
. name = " virt_16_8m_ck " ,
. type = TI_CLK_FIXED ,
. data = & virt_16_8m_ck_data ,
} ;
static const char * osc_sys_ck_parents [ ] = {
" virt_12m_ck " ,
" virt_13m_ck " ,
" virt_19200000_ck " ,
" virt_26000000_ck " ,
" virt_38_4m_ck " ,
" virt_16_8m_ck " ,
} ;
static struct ti_clk_mux osc_sys_ck_data = {
. num_parents = ARRAY_SIZE ( osc_sys_ck_parents ) ,
. reg = 0xd40 ,
. module = TI_CLKM_PRM ,
. parents = osc_sys_ck_parents ,
} ;
static struct ti_clk osc_sys_ck = {
. name = " osc_sys_ck " ,
. type = TI_CLK_MUX ,
. data = & osc_sys_ck_data ,
} ;
static struct ti_clk_divider sys_ck_data = {
. parent = " osc_sys_ck " ,
. bit_shift = 6 ,
. max_div = 3 ,
. reg = 0x1270 ,
. module = TI_CLKM_PRM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk sys_ck = {
. name = " sys_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & sys_ck_data ,
} ;
static const char * dpll3_ck_parents [ ] = {
" sys_ck " ,
" sys_ck " ,
} ;
static struct ti_clk_dpll dpll3_ck_data = {
. num_parents = ARRAY_SIZE ( dpll3_ck_parents ) ,
. control_reg = 0xd00 ,
. idlest_reg = 0xd20 ,
. mult_div1_reg = 0xd40 ,
. autoidle_reg = 0xd30 ,
. module = TI_CLKM_CM ,
. parents = dpll3_ck_parents ,
. flags = CLKF_CORE ,
. freqsel_mask = 0xf0 ,
. div1_mask = 0x7f00 ,
. idlest_mask = 0x1 ,
. auto_recal_bit = 0x3 ,
. max_divider = 0x80 ,
. min_divider = 0x1 ,
. recal_en_bit = 0x5 ,
. max_multiplier = 0x7ff ,
. enable_mask = 0x7 ,
. mult_mask = 0x7ff0000 ,
. recal_st_bit = 0x5 ,
. autoidle_mask = 0x7 ,
} ;
static struct ti_clk dpll3_ck = {
. name = " dpll3_ck " ,
. clkdm_name = " dpll3_clkdm " ,
. type = TI_CLK_DPLL ,
. data = & dpll3_ck_data ,
} ;
static struct ti_clk_divider dpll3_m2_ck_data = {
. parent = " dpll3_ck " ,
. bit_shift = 27 ,
. max_div = 31 ,
. reg = 0xd40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll3_m2_ck = {
. name = " dpll3_m2_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll3_m2_ck_data ,
} ;
static struct ti_clk_fixed_factor core_ck_data = {
. parent = " dpll3_m2_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk core_ck = {
. name = " core_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_ck_data ,
} ;
static struct ti_clk_divider l3_ick_data = {
. parent = " core_ck " ,
. max_div = 3 ,
. reg = 0xa40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk l3_ick = {
. name = " l3_ick " ,
. type = TI_CLK_DIVIDER ,
. data = & l3_ick_data ,
} ;
static struct ti_clk_fixed_factor security_l3_ick_data = {
. parent = " l3_ick " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk security_l3_ick = {
. name = " security_l3_ick " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & security_l3_ick_data ,
} ;
static struct ti_clk_fixed_factor wkup_l4_ick_data = {
. parent = " sys_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk wkup_l4_ick = {
. name = " wkup_l4_ick " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & wkup_l4_ick_data ,
} ;
static struct ti_clk_gate usim_ick_data = {
. parent = " wkup_l4_ick " ,
. bit_shift = 9 ,
. reg = 0xc10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk usim_ick = {
. name = " usim_ick " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & usim_ick_data ,
} ;
static struct ti_clk_gate dss2_alwon_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 1 ,
. reg = 0xe00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk dss2_alwon_fck = {
. name = " dss2_alwon_fck " ,
. clkdm_name = " dss_clkdm " ,
. type = TI_CLK_GATE ,
. data = & dss2_alwon_fck_data ,
} ;
static struct ti_clk_divider l4_ick_data = {
. parent = " l3_ick " ,
. bit_shift = 2 ,
. max_div = 3 ,
. reg = 0xa40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk l4_ick = {
. name = " l4_ick " ,
. type = TI_CLK_DIVIDER ,
. data = & l4_ick_data ,
} ;
static struct ti_clk_fixed_factor core_l4_ick_data = {
. parent = " l4_ick " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk core_l4_ick = {
. name = " core_l4_ick " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_l4_ick_data ,
} ;
static struct ti_clk_gate mmchs2_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 25 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mmchs2_ick = {
. name = " mmchs2_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mmchs2_ick_data ,
} ;
static const char * dpll4_ck_parents [ ] = {
" sys_ck " ,
" sys_ck " ,
} ;
static struct ti_clk_dpll dpll4_ck_data = {
. num_parents = ARRAY_SIZE ( dpll4_ck_parents ) ,
. control_reg = 0xd00 ,
. idlest_reg = 0xd20 ,
. mult_div1_reg = 0xd44 ,
. autoidle_reg = 0xd30 ,
. module = TI_CLKM_CM ,
. parents = dpll4_ck_parents ,
. flags = CLKF_PER ,
. freqsel_mask = 0xf00000 ,
. modes = 0x82 ,
. div1_mask = 0x7f ,
. idlest_mask = 0x2 ,
. auto_recal_bit = 0x13 ,
. max_divider = 0x80 ,
. min_divider = 0x1 ,
. recal_en_bit = 0x6 ,
. max_multiplier = 0x7ff ,
. enable_mask = 0x70000 ,
. mult_mask = 0x7ff00 ,
. recal_st_bit = 0x6 ,
. autoidle_mask = 0x38 ,
} ;
static struct ti_clk dpll4_ck = {
. name = " dpll4_ck " ,
. clkdm_name = " dpll4_clkdm " ,
. type = TI_CLK_DPLL ,
. data = & dpll4_ck_data ,
} ;
static struct ti_clk_divider dpll4_m2_ck_data = {
. parent = " dpll4_ck " ,
. max_div = 63 ,
. reg = 0xd48 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll4_m2_ck = {
. name = " dpll4_m2_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll4_m2_ck_data ,
} ;
static struct ti_clk_fixed_factor dpll4_m2x2_mul_ck_data = {
. parent = " dpll4_m2_ck " ,
. div = 1 ,
. mult = 2 ,
} ;
static struct ti_clk dpll4_m2x2_mul_ck = {
. name = " dpll4_m2x2_mul_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll4_m2x2_mul_ck_data ,
} ;
static struct ti_clk_gate dpll4_m2x2_ck_data = {
. parent = " dpll4_m2x2_mul_ck " ,
. bit_shift = 0x1b ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m2x2_ck = {
. name = " dpll4_m2x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m2x2_ck_data ,
} ;
static struct ti_clk_fixed_factor omap_96m_alwon_fck_data = {
. parent = " dpll4_m2x2_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk omap_96m_alwon_fck = {
. name = " omap_96m_alwon_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & omap_96m_alwon_fck_data ,
} ;
static struct ti_clk_fixed_factor cm_96m_fck_data = {
. parent = " omap_96m_alwon_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk cm_96m_fck = {
. name = " cm_96m_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & cm_96m_fck_data ,
} ;
static const char * omap_96m_fck_parents [ ] = {
" cm_96m_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux omap_96m_fck_data = {
. bit_shift = 6 ,
. num_parents = ARRAY_SIZE ( omap_96m_fck_parents ) ,
. reg = 0xd40 ,
. module = TI_CLKM_CM ,
. parents = omap_96m_fck_parents ,
} ;
static struct ti_clk omap_96m_fck = {
. name = " omap_96m_fck " ,
. type = TI_CLK_MUX ,
. data = & omap_96m_fck_data ,
} ;
static struct ti_clk_fixed_factor core_96m_fck_data = {
. parent = " omap_96m_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk core_96m_fck = {
. name = " core_96m_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_96m_fck_data ,
} ;
static struct ti_clk_gate mspro_fck_data = {
. parent = " core_96m_fck " ,
. bit_shift = 23 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk mspro_fck = {
. name = " mspro_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mspro_fck_data ,
} ;
static struct ti_clk_gate dss_ick_3430es2_data = {
. parent = " l4_ick " ,
. bit_shift = 0 ,
. reg = 0xe10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_DSS | CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk dss_ick_3430es2 = {
. name = " dss_ick " ,
. clkdm_name = " dss_clkdm " ,
. type = TI_CLK_GATE ,
. data = & dss_ick_3430es2_data ,
} ;
static struct ti_clk_gate uart4_ick_am35xx_data = {
. parent = " core_l4_ick " ,
. bit_shift = 23 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk uart4_ick_am35xx = {
. name = " uart4_ick_am35xx " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart4_ick_am35xx_data ,
} ;
static struct ti_clk_fixed_factor security_l4_ick2_data = {
. parent = " l4_ick " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk security_l4_ick2 = {
. name = " security_l4_ick2 " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & security_l4_ick2_data ,
} ;
static struct ti_clk_gate aes1_ick_data = {
. parent = " security_l4_ick2 " ,
. bit_shift = 3 ,
. reg = 0xa14 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk aes1_ick = {
. name = " aes1_ick " ,
. type = TI_CLK_GATE ,
. data = & aes1_ick_data ,
} ;
static const char * dpll5_ck_parents [ ] = {
" sys_ck " ,
" sys_ck " ,
} ;
static struct ti_clk_dpll dpll5_ck_data = {
. num_parents = ARRAY_SIZE ( dpll5_ck_parents ) ,
. control_reg = 0xd04 ,
. idlest_reg = 0xd24 ,
. mult_div1_reg = 0xd4c ,
. autoidle_reg = 0xd34 ,
. module = TI_CLKM_CM ,
. parents = dpll5_ck_parents ,
. freqsel_mask = 0xf0 ,
. modes = 0x82 ,
. div1_mask = 0x7f ,
. idlest_mask = 0x1 ,
. auto_recal_bit = 0x3 ,
. max_divider = 0x80 ,
. min_divider = 0x1 ,
. recal_en_bit = 0x19 ,
. max_multiplier = 0x7ff ,
. enable_mask = 0x7 ,
. mult_mask = 0x7ff00 ,
. recal_st_bit = 0x19 ,
. autoidle_mask = 0x7 ,
} ;
static struct ti_clk dpll5_ck = {
. name = " dpll5_ck " ,
. clkdm_name = " dpll5_clkdm " ,
. type = TI_CLK_DPLL ,
. data = & dpll5_ck_data ,
} ;
static struct ti_clk_divider dpll5_m2_ck_data = {
. parent = " dpll5_ck " ,
. max_div = 31 ,
. reg = 0xd50 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll5_m2_ck = {
. name = " dpll5_m2_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll5_m2_ck_data ,
} ;
static struct ti_clk_gate usbhost_120m_fck_data = {
. parent = " dpll5_m2_ck " ,
. bit_shift = 1 ,
. reg = 0x1400 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk usbhost_120m_fck = {
. name = " usbhost_120m_fck " ,
. clkdm_name = " usbhost_clkdm " ,
. type = TI_CLK_GATE ,
. data = & usbhost_120m_fck_data ,
} ;
static struct ti_clk_fixed_factor cm_96m_d2_fck_data = {
. parent = " cm_96m_fck " ,
. div = 2 ,
. mult = 1 ,
} ;
static struct ti_clk cm_96m_d2_fck = {
. name = " cm_96m_d2_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & cm_96m_d2_fck_data ,
} ;
static struct ti_clk_fixed sys_altclk_data = {
. frequency = 0x0 ,
} ;
static struct ti_clk sys_altclk = {
. name = " sys_altclk " ,
. type = TI_CLK_FIXED ,
. data = & sys_altclk_data ,
} ;
static const char * omap_48m_fck_parents [ ] = {
" cm_96m_d2_fck " ,
" sys_altclk " ,
} ;
static struct ti_clk_mux omap_48m_fck_data = {
. bit_shift = 3 ,
. num_parents = ARRAY_SIZE ( omap_48m_fck_parents ) ,
. reg = 0xd40 ,
. module = TI_CLKM_CM ,
. parents = omap_48m_fck_parents ,
} ;
static struct ti_clk omap_48m_fck = {
. name = " omap_48m_fck " ,
. type = TI_CLK_MUX ,
. data = & omap_48m_fck_data ,
} ;
static struct ti_clk_fixed_factor core_48m_fck_data = {
. parent = " omap_48m_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk core_48m_fck = {
. name = " core_48m_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_48m_fck_data ,
} ;
static struct ti_clk_fixed mcbsp_clks_data = {
. frequency = 0x0 ,
} ;
static struct ti_clk mcbsp_clks = {
. name = " mcbsp_clks " ,
. type = TI_CLK_FIXED ,
. data = & mcbsp_clks_data ,
} ;
static struct ti_clk_gate mcbsp2_gate_fck_data = {
. parent = " mcbsp_clks " ,
. bit_shift = 0 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_fixed_factor per_96m_fck_data = {
. parent = " omap_96m_alwon_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk per_96m_fck = {
. name = " per_96m_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & per_96m_fck_data ,
} ;
static const char * mcbsp2_mux_fck_parents [ ] = {
" per_96m_fck " ,
" mcbsp_clks " ,
} ;
static struct ti_clk_mux mcbsp2_mux_fck_data = {
. bit_shift = 6 ,
. num_parents = ARRAY_SIZE ( mcbsp2_mux_fck_parents ) ,
. reg = 0x274 ,
. module = TI_CLKM_SCRM ,
. parents = mcbsp2_mux_fck_parents ,
} ;
static struct ti_clk_composite mcbsp2_fck_data = {
. mux = & mcbsp2_mux_fck_data ,
. gate = & mcbsp2_gate_fck_data ,
} ;
static struct ti_clk mcbsp2_fck = {
. name = " mcbsp2_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & mcbsp2_fck_data ,
} ;
static struct ti_clk_fixed_factor dpll3_m2x2_ck_data = {
. parent = " dpll3_m2_ck " ,
. div = 1 ,
. mult = 2 ,
} ;
static struct ti_clk dpll3_m2x2_ck = {
. name = " dpll3_m2x2_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll3_m2x2_ck_data ,
} ;
static struct ti_clk_fixed_factor corex2_fck_data = {
. parent = " dpll3_m2x2_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk corex2_fck = {
. name = " corex2_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & corex2_fck_data ,
} ;
static struct ti_clk_gate ssi_ssr_gate_fck_3430es1_data = {
. parent = " corex2_fck " ,
. bit_shift = 0 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_NO_WAIT ,
} ;
static int ssi_ssr_div_fck_3430es1_divs [ ] = {
0 ,
1 ,
2 ,
3 ,
4 ,
0 ,
6 ,
0 ,
8 ,
} ;
static struct ti_clk_divider ssi_ssr_div_fck_3430es1_data = {
. num_dividers = ARRAY_SIZE ( ssi_ssr_div_fck_3430es1_divs ) ,
. parent = " corex2_fck " ,
. bit_shift = 8 ,
. dividers = ssi_ssr_div_fck_3430es1_divs ,
. reg = 0xa40 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_composite ssi_ssr_fck_3430es1_data = {
. gate = & ssi_ssr_gate_fck_3430es1_data ,
. divider = & ssi_ssr_div_fck_3430es1_data ,
} ;
static struct ti_clk ssi_ssr_fck_3430es1 = {
. name = " ssi_ssr_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & ssi_ssr_fck_3430es1_data ,
} ;
static struct ti_clk_fixed_factor ssi_sst_fck_3430es1_data = {
. parent = " ssi_ssr_fck " ,
. div = 2 ,
. mult = 1 ,
} ;
static struct ti_clk ssi_sst_fck_3430es1 = {
. name = " ssi_sst_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & ssi_sst_fck_3430es1_data ,
} ;
static struct ti_clk_fixed omap_32k_fck_data = {
. frequency = 32768 ,
} ;
static struct ti_clk omap_32k_fck = {
. name = " omap_32k_fck " ,
. type = TI_CLK_FIXED ,
. data = & omap_32k_fck_data ,
} ;
static struct ti_clk_fixed_factor per_32k_alwon_fck_data = {
. parent = " omap_32k_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk per_32k_alwon_fck = {
. name = " per_32k_alwon_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & per_32k_alwon_fck_data ,
} ;
static struct ti_clk_gate gpio5_dbck_data = {
. parent = " per_32k_alwon_fck " ,
. bit_shift = 16 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk gpio5_dbck = {
. name = " gpio5_dbck " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio5_dbck_data ,
} ;
static struct ti_clk_gate gpt1_ick_data = {
. parent = " wkup_l4_ick " ,
. bit_shift = 0 ,
. reg = 0xc10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt1_ick = {
. name = " gpt1_ick " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt1_ick_data ,
} ;
static struct ti_clk_gate mcspi3_fck_data = {
. parent = " core_48m_fck " ,
. bit_shift = 20 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk mcspi3_fck = {
. name = " mcspi3_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcspi3_fck_data ,
} ;
static struct ti_clk_gate gpt2_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 3 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static const char * gpt2_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt2_mux_fck_data = {
. num_parents = ARRAY_SIZE ( gpt2_mux_fck_parents ) ,
. reg = 0x1040 ,
. module = TI_CLKM_CM ,
. parents = gpt2_mux_fck_parents ,
} ;
static struct ti_clk_composite gpt2_fck_data = {
. mux = & gpt2_mux_fck_data ,
. gate = & gpt2_gate_fck_data ,
} ;
static struct ti_clk gpt2_fck = {
. name = " gpt2_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt2_fck_data ,
} ;
static struct ti_clk_gate gpt10_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 11 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt10_ick = {
. name = " gpt10_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt10_ick_data ,
} ;
static struct ti_clk_gate uart2_fck_data = {
. parent = " core_48m_fck " ,
. bit_shift = 14 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk uart2_fck = {
. name = " uart2_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart2_fck_data ,
} ;
static struct ti_clk_fixed_factor sr_l4_ick_data = {
. parent = " l4_ick " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk sr_l4_ick = {
. name = " sr_l4_ick " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & sr_l4_ick_data ,
} ;
static struct ti_clk_fixed_factor omap_96m_d8_fck_data = {
. parent = " omap_96m_fck " ,
. div = 8 ,
. mult = 1 ,
} ;
static struct ti_clk omap_96m_d8_fck = {
. name = " omap_96m_d8_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & omap_96m_d8_fck_data ,
} ;
static struct ti_clk_divider dpll4_m5_ck_data = {
. parent = " dpll4_ck " ,
. max_div = 63 ,
. reg = 0xf40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll4_m5_ck = {
. name = " dpll4_m5_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll4_m5_ck_data ,
} ;
static struct ti_clk_fixed_factor dpll4_m5x2_mul_ck_data = {
. parent = " dpll4_m5_ck " ,
. div = 1 ,
. mult = 2 ,
. flags = CLKF_SET_RATE_PARENT ,
} ;
static struct ti_clk dpll4_m5x2_mul_ck = {
. name = " dpll4_m5x2_mul_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll4_m5x2_mul_ck_data ,
} ;
static struct ti_clk_gate dpll4_m5x2_ck_data = {
. parent = " dpll4_m5x2_mul_ck " ,
. bit_shift = 0x1e ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m5x2_ck = {
. name = " dpll4_m5x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m5x2_ck_data ,
} ;
static struct ti_clk_gate cam_mclk_data = {
. parent = " dpll4_m5x2_ck " ,
. bit_shift = 0 ,
. reg = 0xf00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SET_RATE_PARENT ,
} ;
static struct ti_clk cam_mclk = {
. name = " cam_mclk " ,
. type = TI_CLK_GATE ,
. data = & cam_mclk_data ,
} ;
static struct ti_clk_gate mcbsp3_gate_fck_data = {
. parent = " mcbsp_clks " ,
. bit_shift = 1 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static const char * mcbsp3_mux_fck_parents [ ] = {
" per_96m_fck " ,
" mcbsp_clks " ,
} ;
static struct ti_clk_mux mcbsp3_mux_fck_data = {
. num_parents = ARRAY_SIZE ( mcbsp3_mux_fck_parents ) ,
. reg = 0x2d8 ,
. module = TI_CLKM_SCRM ,
. parents = mcbsp3_mux_fck_parents ,
} ;
static struct ti_clk_composite mcbsp3_fck_data = {
. mux = & mcbsp3_mux_fck_data ,
. gate = & mcbsp3_gate_fck_data ,
} ;
static struct ti_clk mcbsp3_fck = {
. name = " mcbsp3_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & mcbsp3_fck_data ,
} ;
static struct ti_clk_gate csi2_96m_fck_data = {
. parent = " core_96m_fck " ,
. bit_shift = 1 ,
. reg = 0xf00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk csi2_96m_fck = {
. name = " csi2_96m_fck " ,
. clkdm_name = " cam_clkdm " ,
. type = TI_CLK_GATE ,
. data = & csi2_96m_fck_data ,
} ;
static struct ti_clk_gate gpt9_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 10 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static const char * gpt9_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt9_mux_fck_data = {
. bit_shift = 7 ,
. num_parents = ARRAY_SIZE ( gpt9_mux_fck_parents ) ,
. reg = 0x1040 ,
. module = TI_CLKM_CM ,
. parents = gpt9_mux_fck_parents ,
} ;
static struct ti_clk_composite gpt9_fck_data = {
. mux = & gpt9_mux_fck_data ,
. gate = & gpt9_gate_fck_data ,
} ;
static struct ti_clk gpt9_fck = {
. name = " gpt9_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt9_fck_data ,
} ;
static struct ti_clk_divider dpll3_m3_ck_data = {
. parent = " dpll3_ck " ,
. bit_shift = 16 ,
. max_div = 31 ,
. reg = 0x1140 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll3_m3_ck = {
. name = " dpll3_m3_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll3_m3_ck_data ,
} ;
static struct ti_clk_fixed_factor dpll3_m3x2_mul_ck_data = {
. parent = " dpll3_m3_ck " ,
. div = 1 ,
. mult = 2 ,
} ;
static struct ti_clk dpll3_m3x2_mul_ck = {
. name = " dpll3_m3x2_mul_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll3_m3x2_mul_ck_data ,
} ;
static struct ti_clk_gate sr2_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 7 ,
. reg = 0xc00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk sr2_fck = {
. name = " sr2_fck " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & sr2_fck_data ,
} ;
static struct ti_clk_fixed pclk_ck_data = {
. frequency = 27000000 ,
} ;
static struct ti_clk pclk_ck = {
. name = " pclk_ck " ,
. type = TI_CLK_FIXED ,
. data = & pclk_ck_data ,
} ;
static struct ti_clk_gate wdt2_ick_data = {
. parent = " wkup_l4_ick " ,
. bit_shift = 5 ,
. reg = 0xc10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk wdt2_ick = {
. name = " wdt2_ick " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & wdt2_ick_data ,
} ;
static struct ti_clk_fixed_factor core_l3_ick_data = {
. parent = " l3_ick " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk core_l3_ick = {
. name = " core_l3_ick " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_l3_ick_data ,
} ;
static struct ti_clk_gate mcspi4_fck_data = {
. parent = " core_48m_fck " ,
. bit_shift = 21 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk mcspi4_fck = {
. name = " mcspi4_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcspi4_fck_data ,
} ;
static struct ti_clk_fixed_factor per_48m_fck_data = {
. parent = " omap_48m_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk per_48m_fck = {
. name = " per_48m_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & per_48m_fck_data ,
} ;
static struct ti_clk_gate uart4_fck_data = {
. parent = " per_48m_fck " ,
. bit_shift = 18 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk uart4_fck = {
. name = " uart4_fck " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart4_fck_data ,
} ;
static struct ti_clk_fixed_factor omap_96m_d10_fck_data = {
. parent = " omap_96m_fck " ,
. div = 10 ,
. mult = 1 ,
} ;
static struct ti_clk omap_96m_d10_fck = {
. name = " omap_96m_d10_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & omap_96m_d10_fck_data ,
} ;
static struct ti_clk_gate usim_gate_fck_data = {
. parent = " omap_96m_fck " ,
. bit_shift = 9 ,
. reg = 0xc00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_fixed_factor per_l4_ick_data = {
. parent = " l4_ick " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk per_l4_ick = {
. name = " per_l4_ick " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & per_l4_ick_data ,
} ;
static struct ti_clk_gate gpt5_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 6 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt5_ick = {
. name = " gpt5_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt5_ick_data ,
} ;
static struct ti_clk_gate mcspi2_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 19 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcspi2_ick = {
. name = " mcspi2_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcspi2_ick_data ,
} ;
static struct ti_clk_fixed_factor ssi_l4_ick_data = {
. parent = " l4_ick " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk ssi_l4_ick = {
. name = " ssi_l4_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & ssi_l4_ick_data ,
} ;
static struct ti_clk_gate ssi_ick_3430es1_data = {
. parent = " ssi_l4_ick " ,
. bit_shift = 0 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_NO_WAIT | CLKF_INTERFACE ,
} ;
static struct ti_clk ssi_ick_3430es1 = {
. name = " ssi_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & ssi_ick_3430es1_data ,
} ;
static struct ti_clk_gate i2c2_fck_data = {
. parent = " core_96m_fck " ,
. bit_shift = 16 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk i2c2_fck = {
. name = " i2c2_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & i2c2_fck_data ,
} ;
static struct ti_clk_divider dpll1_fck_data = {
. parent = " core_ck " ,
. bit_shift = 19 ,
. max_div = 7 ,
. reg = 0x940 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll1_fck = {
. name = " dpll1_fck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll1_fck_data ,
} ;
static const char * dpll1_ck_parents [ ] = {
" sys_ck " ,
" dpll1_fck " ,
} ;
static struct ti_clk_dpll dpll1_ck_data = {
. num_parents = ARRAY_SIZE ( dpll1_ck_parents ) ,
. control_reg = 0x904 ,
. idlest_reg = 0x924 ,
. mult_div1_reg = 0x940 ,
. autoidle_reg = 0x934 ,
. module = TI_CLKM_CM ,
. parents = dpll1_ck_parents ,
. freqsel_mask = 0xf0 ,
. modes = 0xa0 ,
. div1_mask = 0x7f ,
. idlest_mask = 0x1 ,
. auto_recal_bit = 0x3 ,
. max_divider = 0x80 ,
. min_divider = 0x1 ,
. recal_en_bit = 0x7 ,
. max_multiplier = 0x7ff ,
. enable_mask = 0x7 ,
. mult_mask = 0x7ff00 ,
. recal_st_bit = 0x7 ,
. autoidle_mask = 0x7 ,
} ;
static struct ti_clk dpll1_ck = {
. name = " dpll1_ck " ,
. clkdm_name = " dpll1_clkdm " ,
. type = TI_CLK_DPLL ,
. data = & dpll1_ck_data ,
} ;
static struct ti_clk_fixed secure_32k_fck_data = {
. frequency = 32768 ,
} ;
static struct ti_clk secure_32k_fck = {
. name = " secure_32k_fck " ,
. type = TI_CLK_FIXED ,
. data = & secure_32k_fck_data ,
} ;
static struct ti_clk_gate gpio5_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 16 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpio5_ick = {
. name = " gpio5_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio5_ick_data ,
} ;
static struct ti_clk_divider dpll4_m4_ck_data = {
. parent = " dpll4_ck " ,
. max_div = 32 ,
. reg = 0xe40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll4_m4_ck = {
. name = " dpll4_m4_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll4_m4_ck_data ,
} ;
static struct ti_clk_fixed_factor dpll4_m4x2_mul_ck_data = {
. parent = " dpll4_m4_ck " ,
. div = 1 ,
. mult = 2 ,
. flags = CLKF_SET_RATE_PARENT ,
} ;
static struct ti_clk dpll4_m4x2_mul_ck = {
. name = " dpll4_m4x2_mul_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll4_m4x2_mul_ck_data ,
} ;
static struct ti_clk_gate dpll4_m4x2_ck_data = {
. parent = " dpll4_m4x2_mul_ck " ,
. bit_shift = 0x1d ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SET_RATE_PARENT | CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m4x2_ck = {
. name = " dpll4_m4x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m4x2_ck_data ,
} ;
static struct ti_clk_gate dss1_alwon_fck_3430es2_data = {
. parent = " dpll4_m4x2_ck " ,
. bit_shift = 0 ,
. reg = 0xe00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_DSS | CLKF_SET_RATE_PARENT ,
} ;
static struct ti_clk dss1_alwon_fck_3430es2 = {
. name = " dss1_alwon_fck " ,
. clkdm_name = " dss_clkdm " ,
. type = TI_CLK_GATE ,
. data = & dss1_alwon_fck_3430es2_data ,
} ;
static struct ti_clk_gate uart3_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 11 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk uart3_ick = {
. name = " uart3_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart3_ick_data ,
} ;
static struct ti_clk_divider dpll4_m3_ck_data = {
. parent = " dpll4_ck " ,
. bit_shift = 8 ,
. max_div = 32 ,
. reg = 0xe40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll4_m3_ck = {
. name = " dpll4_m3_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll4_m3_ck_data ,
} ;
static struct ti_clk_gate mcbsp3_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 1 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcbsp3_ick = {
. name = " mcbsp3_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcbsp3_ick_data ,
} ;
static struct ti_clk_gate gpio3_dbck_data = {
. parent = " per_32k_alwon_fck " ,
. bit_shift = 14 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk gpio3_dbck = {
. name = " gpio3_dbck " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio3_dbck_data ,
} ;
static struct ti_clk_gate fac_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 8 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk fac_ick = {
. name = " fac_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & fac_ick_data ,
} ;
static struct ti_clk_gate clkout2_src_gate_ck_data = {
. parent = " core_ck " ,
. bit_shift = 7 ,
. reg = 0xd70 ,
. module = TI_CLKM_CM ,
. flags = CLKF_NO_WAIT ,
} ;
static struct ti_clk_fixed_factor dpll4_m3x2_mul_ck_data = {
. parent = " dpll4_m3_ck " ,
. div = 1 ,
. mult = 2 ,
} ;
static struct ti_clk dpll4_m3x2_mul_ck = {
. name = " dpll4_m3x2_mul_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll4_m3x2_mul_ck_data ,
} ;
static struct ti_clk_gate dpll4_m3x2_ck_data = {
. parent = " dpll4_m3x2_mul_ck " ,
. bit_shift = 0x1c ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m3x2_ck = {
. name = " dpll4_m3x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m3x2_ck_data ,
} ;
static const char * omap_54m_fck_parents [ ] = {
" dpll4_m3x2_ck " ,
" sys_altclk " ,
} ;
static struct ti_clk_mux omap_54m_fck_data = {
. bit_shift = 5 ,
. num_parents = ARRAY_SIZE ( omap_54m_fck_parents ) ,
. reg = 0xd40 ,
. module = TI_CLKM_CM ,
. parents = omap_54m_fck_parents ,
} ;
static struct ti_clk omap_54m_fck = {
. name = " omap_54m_fck " ,
. type = TI_CLK_MUX ,
. data = & omap_54m_fck_data ,
} ;
static const char * clkout2_src_mux_ck_parents [ ] = {
" core_ck " ,
" sys_ck " ,
" cm_96m_fck " ,
" omap_54m_fck " ,
} ;
static struct ti_clk_mux clkout2_src_mux_ck_data = {
. num_parents = ARRAY_SIZE ( clkout2_src_mux_ck_parents ) ,
. reg = 0xd70 ,
. module = TI_CLKM_CM ,
. parents = clkout2_src_mux_ck_parents ,
} ;
static struct ti_clk_composite clkout2_src_ck_data = {
. mux = & clkout2_src_mux_ck_data ,
. gate = & clkout2_src_gate_ck_data ,
} ;
static struct ti_clk clkout2_src_ck = {
. name = " clkout2_src_ck " ,
. type = TI_CLK_COMPOSITE ,
. data = & clkout2_src_ck_data ,
} ;
static struct ti_clk_gate i2c1_fck_data = {
. parent = " core_96m_fck " ,
. bit_shift = 15 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk i2c1_fck = {
. name = " i2c1_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & i2c1_fck_data ,
} ;
static struct ti_clk_gate wdt3_fck_data = {
. parent = " per_32k_alwon_fck " ,
. bit_shift = 12 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk wdt3_fck = {
. name = " wdt3_fck " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & wdt3_fck_data ,
} ;
static struct ti_clk_gate gpt7_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 8 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static const char * gpt7_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt7_mux_fck_data = {
. bit_shift = 5 ,
. num_parents = ARRAY_SIZE ( gpt7_mux_fck_parents ) ,
. reg = 0x1040 ,
. module = TI_CLKM_CM ,
. parents = gpt7_mux_fck_parents ,
} ;
static struct ti_clk_composite gpt7_fck_data = {
. mux = & gpt7_mux_fck_data ,
. gate = & gpt7_gate_fck_data ,
} ;
static struct ti_clk gpt7_fck = {
. name = " gpt7_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt7_fck_data ,
} ;
static struct ti_clk_gate usb_l4_gate_ick_data = {
. parent = " l4_ick " ,
. bit_shift = 5 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INTERFACE ,
} ;
static struct ti_clk_divider usb_l4_div_ick_data = {
. parent = " l4_ick " ,
. bit_shift = 4 ,
. max_div = 1 ,
. reg = 0xa40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk_composite usb_l4_ick_data = {
. gate = & usb_l4_gate_ick_data ,
. divider = & usb_l4_div_ick_data ,
} ;
static struct ti_clk usb_l4_ick = {
. name = " usb_l4_ick " ,
. type = TI_CLK_COMPOSITE ,
. data = & usb_l4_ick_data ,
} ;
static struct ti_clk_gate uart4_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 18 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk uart4_ick = {
. name = " uart4_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart4_ick_data ,
} ;
static struct ti_clk_fixed dummy_ck_data = {
. frequency = 0 ,
} ;
static struct ti_clk dummy_ck = {
. name = " dummy_ck " ,
. type = TI_CLK_FIXED ,
. data = & dummy_ck_data ,
} ;
static const char * gpt3_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt3_mux_fck_data = {
. bit_shift = 1 ,
. num_parents = ARRAY_SIZE ( gpt3_mux_fck_parents ) ,
. reg = 0x1040 ,
. module = TI_CLKM_CM ,
. parents = gpt3_mux_fck_parents ,
} ;
static struct ti_clk_gate gpt9_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 10 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt9_ick = {
. name = " gpt9_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt9_ick_data ,
} ;
static struct ti_clk_gate gpt10_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 11 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_gate dss_ick_3430es1_data = {
. parent = " l4_ick " ,
. bit_shift = 0 ,
. reg = 0xe10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_NO_WAIT | CLKF_INTERFACE ,
} ;
static struct ti_clk dss_ick_3430es1 = {
. name = " dss_ick " ,
. clkdm_name = " dss_clkdm " ,
. type = TI_CLK_GATE ,
. data = & dss_ick_3430es1_data ,
} ;
static struct ti_clk_gate gpt11_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 12 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt11_ick = {
. name = " gpt11_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt11_ick_data ,
} ;
static struct ti_clk_divider dpll2_fck_data = {
. parent = " core_ck " ,
. bit_shift = 19 ,
. max_div = 7 ,
. reg = 0x40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll2_fck = {
. name = " dpll2_fck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll2_fck_data ,
} ;
static struct ti_clk_gate uart1_fck_data = {
. parent = " core_48m_fck " ,
. bit_shift = 13 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk uart1_fck = {
. name = " uart1_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart1_fck_data ,
} ;
static struct ti_clk_gate hsotgusb_ick_3430es1_data = {
. parent = " core_l3_ick " ,
. bit_shift = 4 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_NO_WAIT | CLKF_INTERFACE ,
} ;
static struct ti_clk hsotgusb_ick_3430es1 = {
. name = " hsotgusb_ick_3430es1 " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & hsotgusb_ick_3430es1_data ,
} ;
static struct ti_clk_gate gpio2_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 13 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpio2_ick = {
. name = " gpio2_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio2_ick_data ,
} ;
static struct ti_clk_gate mmchs1_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 24 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mmchs1_ick = {
. name = " mmchs1_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mmchs1_ick_data ,
} ;
static struct ti_clk_gate modem_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 31 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk modem_fck = {
. name = " modem_fck " ,
. clkdm_name = " d2d_clkdm " ,
. type = TI_CLK_GATE ,
. data = & modem_fck_data ,
} ;
static struct ti_clk_gate mcbsp4_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 2 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcbsp4_ick = {
. name = " mcbsp4_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcbsp4_ick_data ,
} ;
static struct ti_clk_gate gpio1_ick_data = {
. parent = " wkup_l4_ick " ,
. bit_shift = 3 ,
. reg = 0xc10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpio1_ick = {
. name = " gpio1_ick " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio1_ick_data ,
} ;
static const char * gpt6_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt6_mux_fck_data = {
. bit_shift = 4 ,
. num_parents = ARRAY_SIZE ( gpt6_mux_fck_parents ) ,
. reg = 0x1040 ,
. module = TI_CLKM_CM ,
. parents = gpt6_mux_fck_parents ,
} ;
static struct ti_clk_fixed_factor dpll1_x2_ck_data = {
. parent = " dpll1_ck " ,
. div = 1 ,
. mult = 2 ,
} ;
static struct ti_clk dpll1_x2_ck = {
. name = " dpll1_x2_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll1_x2_ck_data ,
} ;
static struct ti_clk_divider dpll1_x2m2_ck_data = {
. parent = " dpll1_x2_ck " ,
. max_div = 31 ,
. reg = 0x944 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll1_x2m2_ck = {
. name = " dpll1_x2m2_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll1_x2m2_ck_data ,
} ;
static struct ti_clk_fixed_factor mpu_ck_data = {
. parent = " dpll1_x2m2_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk mpu_ck = {
. name = " mpu_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & mpu_ck_data ,
} ;
static struct ti_clk_divider arm_fck_data = {
. parent = " mpu_ck " ,
. max_div = 2 ,
. reg = 0x924 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk arm_fck = {
. name = " arm_fck " ,
. type = TI_CLK_DIVIDER ,
. data = & arm_fck_data ,
} ;
static struct ti_clk_fixed_factor core_d3_ck_data = {
. parent = " core_ck " ,
. div = 3 ,
. mult = 1 ,
} ;
static struct ti_clk core_d3_ck = {
. name = " core_d3_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_d3_ck_data ,
} ;
static struct ti_clk_gate gpt11_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 12 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
} ;
static const char * gpt11_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt11_mux_fck_data = {
. bit_shift = 7 ,
. num_parents = ARRAY_SIZE ( gpt11_mux_fck_parents ) ,
. reg = 0xa40 ,
. module = TI_CLKM_CM ,
. parents = gpt11_mux_fck_parents ,
} ;
static struct ti_clk_composite gpt11_fck_data = {
. mux = & gpt11_mux_fck_data ,
. gate = & gpt11_gate_fck_data ,
} ;
static struct ti_clk gpt11_fck = {
. name = " gpt11_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt11_fck_data ,
} ;
static struct ti_clk_fixed_factor core_d6_ck_data = {
. parent = " core_ck " ,
. div = 6 ,
. mult = 1 ,
} ;
static struct ti_clk core_d6_ck = {
. name = " core_d6_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_d6_ck_data ,
} ;
static struct ti_clk_gate uart4_fck_am35xx_data = {
. parent = " core_48m_fck " ,
. bit_shift = 23 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk uart4_fck_am35xx = {
. name = " uart4_fck_am35xx " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart4_fck_am35xx_data ,
} ;
static struct ti_clk_gate dpll3_m3x2_ck_data = {
. parent = " dpll3_m3x2_mul_ck " ,
. bit_shift = 0xc ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll3_m3x2_ck = {
. name = " dpll3_m3x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll3_m3x2_ck_data ,
} ;
static struct ti_clk_fixed_factor emu_core_alwon_ck_data = {
. parent = " dpll3_m3x2_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk emu_core_alwon_ck = {
. name = " emu_core_alwon_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & emu_core_alwon_ck_data ,
} ;
static struct ti_clk_divider dpll4_m6_ck_data = {
. parent = " dpll4_ck " ,
. bit_shift = 24 ,
. max_div = 63 ,
. reg = 0x1140 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll4_m6_ck = {
. name = " dpll4_m6_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll4_m6_ck_data ,
} ;
static struct ti_clk_fixed_factor dpll4_m6x2_mul_ck_data = {
. parent = " dpll4_m6_ck " ,
. div = 1 ,
. mult = 2 ,
} ;
static struct ti_clk dpll4_m6x2_mul_ck = {
. name = " dpll4_m6x2_mul_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll4_m6x2_mul_ck_data ,
} ;
static struct ti_clk_gate dpll4_m6x2_ck_data = {
. parent = " dpll4_m6x2_mul_ck " ,
. bit_shift = 0x1f ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m6x2_ck = {
. name = " dpll4_m6x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m6x2_ck_data ,
} ;
static struct ti_clk_fixed_factor emu_per_alwon_ck_data = {
. parent = " dpll4_m6x2_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk emu_per_alwon_ck = {
. name = " emu_per_alwon_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & emu_per_alwon_ck_data ,
} ;
static struct ti_clk_fixed_factor emu_mpu_alwon_ck_data = {
. parent = " mpu_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk emu_mpu_alwon_ck = {
. name = " emu_mpu_alwon_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & emu_mpu_alwon_ck_data ,
} ;
static const char * emu_src_mux_ck_parents [ ] = {
" sys_ck " ,
" emu_core_alwon_ck " ,
" emu_per_alwon_ck " ,
" emu_mpu_alwon_ck " ,
} ;
static struct ti_clk_mux emu_src_mux_ck_data = {
. num_parents = ARRAY_SIZE ( emu_src_mux_ck_parents ) ,
. reg = 0x1140 ,
. module = TI_CLKM_CM ,
. parents = emu_src_mux_ck_parents ,
} ;
static struct ti_clk emu_src_mux_ck = {
. name = " emu_src_mux_ck " ,
. type = TI_CLK_MUX ,
. data = & emu_src_mux_ck_data ,
} ;
static struct ti_clk_gate emu_src_ck_data = {
. parent = " emu_src_mux_ck " ,
. flags = CLKF_CLKDM ,
} ;
static struct ti_clk emu_src_ck = {
. name = " emu_src_ck " ,
. clkdm_name = " emu_clkdm " ,
. type = TI_CLK_GATE ,
. data = & emu_src_ck_data ,
} ;
static struct ti_clk_divider atclk_fck_data = {
. parent = " emu_src_ck " ,
. bit_shift = 4 ,
. max_div = 3 ,
. reg = 0x1140 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk atclk_fck = {
. name = " atclk_fck " ,
. type = TI_CLK_DIVIDER ,
. data = & atclk_fck_data ,
} ;
static struct ti_clk_gate ipss_ick_data = {
. parent = " core_l3_ick " ,
. bit_shift = 4 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_AM35XX | CLKF_INTERFACE ,
} ;
static struct ti_clk ipss_ick = {
. name = " ipss_ick " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & ipss_ick_data ,
} ;
static struct ti_clk_gate emac_ick_data = {
. parent = " ipss_ick " ,
. bit_shift = 1 ,
. reg = 0x59c ,
. module = TI_CLKM_SCRM ,
. flags = CLKF_AM35XX ,
} ;
static struct ti_clk emac_ick = {
. name = " emac_ick " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & emac_ick_data ,
} ;
static struct ti_clk_gate vpfe_ick_data = {
. parent = " ipss_ick " ,
. bit_shift = 2 ,
. reg = 0x59c ,
. module = TI_CLKM_SCRM ,
. flags = CLKF_AM35XX ,
} ;
static struct ti_clk vpfe_ick = {
. name = " vpfe_ick " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & vpfe_ick_data ,
} ;
static const char * dpll2_ck_parents [ ] = {
" sys_ck " ,
" dpll2_fck " ,
} ;
static struct ti_clk_dpll dpll2_ck_data = {
. num_parents = ARRAY_SIZE ( dpll2_ck_parents ) ,
. control_reg = 0x4 ,
. idlest_reg = 0x24 ,
. mult_div1_reg = 0x40 ,
. autoidle_reg = 0x34 ,
. module = TI_CLKM_CM ,
. parents = dpll2_ck_parents ,
. freqsel_mask = 0xf0 ,
. modes = 0xa2 ,
. div1_mask = 0x7f ,
. idlest_mask = 0x1 ,
. auto_recal_bit = 0x3 ,
. max_divider = 0x80 ,
. min_divider = 0x1 ,
. recal_en_bit = 0x8 ,
. max_multiplier = 0x7ff ,
. enable_mask = 0x7 ,
. mult_mask = 0x7ff00 ,
. recal_st_bit = 0x8 ,
. autoidle_mask = 0x7 ,
} ;
static struct ti_clk dpll2_ck = {
. name = " dpll2_ck " ,
. clkdm_name = " dpll2_clkdm " ,
. type = TI_CLK_DPLL ,
. data = & dpll2_ck_data ,
} ;
static struct ti_clk_divider dpll2_m2_ck_data = {
. parent = " dpll2_ck " ,
. max_div = 31 ,
. reg = 0x44 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk dpll2_m2_ck = {
. name = " dpll2_m2_ck " ,
. type = TI_CLK_DIVIDER ,
. data = & dpll2_m2_ck_data ,
} ;
static const char * mcbsp4_mux_fck_parents [ ] = {
" per_96m_fck " ,
" mcbsp_clks " ,
} ;
static struct ti_clk_mux mcbsp4_mux_fck_data = {
. bit_shift = 2 ,
. num_parents = ARRAY_SIZE ( mcbsp4_mux_fck_parents ) ,
. reg = 0x2d8 ,
. module = TI_CLKM_SCRM ,
. parents = mcbsp4_mux_fck_parents ,
} ;
static const char * mcbsp1_mux_fck_parents [ ] = {
" core_96m_fck " ,
" mcbsp_clks " ,
} ;
static struct ti_clk_mux mcbsp1_mux_fck_data = {
. bit_shift = 2 ,
. num_parents = ARRAY_SIZE ( mcbsp1_mux_fck_parents ) ,
. reg = 0x274 ,
. module = TI_CLKM_SCRM ,
. parents = mcbsp1_mux_fck_parents ,
} ;
static struct ti_clk_gate gpt8_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 9 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_gate gpt8_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 9 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt8_ick = {
. name = " gpt8_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt8_ick_data ,
} ;
static const char * gpt10_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt10_mux_fck_data = {
. bit_shift = 6 ,
. num_parents = ARRAY_SIZE ( gpt10_mux_fck_parents ) ,
. reg = 0xa40 ,
. module = TI_CLKM_CM ,
. parents = gpt10_mux_fck_parents ,
} ;
static struct ti_clk_gate mmchs3_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 30 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mmchs3_ick = {
. name = " mmchs3_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mmchs3_ick_data ,
} ;
static struct ti_clk_gate gpio3_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 14 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpio3_ick = {
. name = " gpio3_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio3_ick_data ,
} ;
static const char * traceclk_src_fck_parents [ ] = {
" sys_ck " ,
" emu_core_alwon_ck " ,
" emu_per_alwon_ck " ,
" emu_mpu_alwon_ck " ,
} ;
static struct ti_clk_mux traceclk_src_fck_data = {
. bit_shift = 2 ,
. num_parents = ARRAY_SIZE ( traceclk_src_fck_parents ) ,
. reg = 0x1140 ,
. module = TI_CLKM_CM ,
. parents = traceclk_src_fck_parents ,
} ;
static struct ti_clk traceclk_src_fck = {
. name = " traceclk_src_fck " ,
. type = TI_CLK_MUX ,
. data = & traceclk_src_fck_data ,
} ;
static struct ti_clk_divider traceclk_fck_data = {
. parent = " traceclk_src_fck " ,
. bit_shift = 11 ,
. max_div = 7 ,
. reg = 0x1140 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk traceclk_fck = {
. name = " traceclk_fck " ,
. type = TI_CLK_DIVIDER ,
. data = & traceclk_fck_data ,
} ;
static struct ti_clk_gate mcbsp5_gate_fck_data = {
. parent = " mcbsp_clks " ,
. bit_shift = 10 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_gate sad2d_ick_data = {
. parent = " l3_ick " ,
. bit_shift = 3 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk sad2d_ick = {
. name = " sad2d_ick " ,
. clkdm_name = " d2d_clkdm " ,
. type = TI_CLK_GATE ,
. data = & sad2d_ick_data ,
} ;
static const char * gpt1_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt1_mux_fck_data = {
. num_parents = ARRAY_SIZE ( gpt1_mux_fck_parents ) ,
. reg = 0xc40 ,
. module = TI_CLKM_CM ,
. parents = gpt1_mux_fck_parents ,
} ;
static struct ti_clk_gate hecc_ck_data = {
. parent = " sys_ck " ,
. bit_shift = 3 ,
. reg = 0x59c ,
. module = TI_CLKM_SCRM ,
. flags = CLKF_AM35XX ,
} ;
static struct ti_clk hecc_ck = {
. name = " hecc_ck " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & hecc_ck_data ,
} ;
static struct ti_clk_gate gpt1_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 0 ,
. reg = 0xc00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_composite gpt1_fck_data = {
. mux = & gpt1_mux_fck_data ,
. gate = & gpt1_gate_fck_data ,
} ;
static struct ti_clk gpt1_fck = {
. name = " gpt1_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt1_fck_data ,
} ;
static struct ti_clk_gate dpll4_m2x2_ck_omap36xx_data = {
. parent = " dpll4_m2x2_mul_ck " ,
. bit_shift = 0x1b ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_HSDIV | CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m2x2_ck_omap36xx = {
. name = " dpll4_m2x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m2x2_ck_omap36xx_data ,
. patch = & dpll4_m2x2_ck ,
} ;
static struct ti_clk_divider gfx_l3_fck_data = {
. parent = " l3_ick " ,
. max_div = 7 ,
. reg = 0xb40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk gfx_l3_fck = {
. name = " gfx_l3_fck " ,
. type = TI_CLK_DIVIDER ,
. data = & gfx_l3_fck_data ,
} ;
static struct ti_clk_gate gfx_cg1_ck_data = {
. parent = " gfx_l3_fck " ,
. bit_shift = 1 ,
. reg = 0xb00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk gfx_cg1_ck = {
. name = " gfx_cg1_ck " ,
. clkdm_name = " gfx_3430es1_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gfx_cg1_ck_data ,
} ;
static struct ti_clk_gate mailboxes_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 7 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mailboxes_ick = {
. name = " mailboxes_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mailboxes_ick_data ,
} ;
static struct ti_clk_gate sha11_ick_data = {
. parent = " security_l4_ick2 " ,
. bit_shift = 1 ,
. reg = 0xa14 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk sha11_ick = {
. name = " sha11_ick " ,
. type = TI_CLK_GATE ,
. data = & sha11_ick_data ,
} ;
static struct ti_clk_gate hsotgusb_ick_am35xx_data = {
. parent = " ipss_ick " ,
. bit_shift = 0 ,
. reg = 0x59c ,
. module = TI_CLKM_SCRM ,
. flags = CLKF_AM35XX ,
} ;
static struct ti_clk hsotgusb_ick_am35xx = {
. name = " hsotgusb_ick_am35xx " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & hsotgusb_ick_am35xx_data ,
} ;
static struct ti_clk_gate mmchs3_fck_data = {
. parent = " core_96m_fck " ,
. bit_shift = 30 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk mmchs3_fck = {
. name = " mmchs3_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mmchs3_fck_data ,
} ;
static struct ti_clk_divider pclk_fck_data = {
. parent = " emu_src_ck " ,
. bit_shift = 8 ,
. max_div = 7 ,
. reg = 0x1140 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk pclk_fck = {
. name = " pclk_fck " ,
. type = TI_CLK_DIVIDER ,
. data = & pclk_fck_data ,
} ;
static const char * dpll4_ck_omap36xx_parents [ ] = {
" sys_ck " ,
" sys_ck " ,
} ;
static struct ti_clk_dpll dpll4_ck_omap36xx_data = {
. num_parents = ARRAY_SIZE ( dpll4_ck_omap36xx_parents ) ,
. control_reg = 0xd00 ,
. idlest_reg = 0xd20 ,
. mult_div1_reg = 0xd44 ,
. autoidle_reg = 0xd30 ,
. module = TI_CLKM_CM ,
. parents = dpll4_ck_omap36xx_parents ,
. modes = 0x82 ,
. div1_mask = 0x7f ,
. idlest_mask = 0x2 ,
. auto_recal_bit = 0x13 ,
. max_divider = 0x80 ,
. min_divider = 0x1 ,
. recal_en_bit = 0x6 ,
. max_multiplier = 0xfff ,
. enable_mask = 0x70000 ,
. mult_mask = 0xfff00 ,
. recal_st_bit = 0x6 ,
. autoidle_mask = 0x38 ,
. sddiv_mask = 0xff000000 ,
. dco_mask = 0xe00000 ,
. flags = CLKF_PER | CLKF_J_TYPE ,
} ;
static struct ti_clk dpll4_ck_omap36xx = {
. name = " dpll4_ck " ,
. type = TI_CLK_DPLL ,
. data = & dpll4_ck_omap36xx_data ,
. patch = & dpll4_ck ,
} ;
static struct ti_clk_gate uart3_fck_data = {
. parent = " per_48m_fck " ,
. bit_shift = 11 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk uart3_fck = {
. name = " uart3_fck " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart3_fck_data ,
} ;
static struct ti_clk_fixed_factor wkup_32k_fck_data = {
. parent = " omap_32k_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk wkup_32k_fck = {
. name = " wkup_32k_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & wkup_32k_fck_data ,
} ;
static struct ti_clk_gate sys_clkout1_data = {
. parent = " osc_sys_ck " ,
. bit_shift = 7 ,
. reg = 0xd70 ,
. module = TI_CLKM_PRM ,
} ;
static struct ti_clk sys_clkout1 = {
. name = " sys_clkout1 " ,
. type = TI_CLK_GATE ,
. data = & sys_clkout1_data ,
} ;
static struct ti_clk_fixed_factor gpmc_fck_data = {
. parent = " core_l3_ick " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk gpmc_fck = {
. name = " gpmc_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & gpmc_fck_data ,
} ;
static struct ti_clk_fixed_factor dpll5_m2_d20_ck_data = {
. parent = " dpll5_m2_ck " ,
. div = 20 ,
. mult = 1 ,
} ;
static struct ti_clk dpll5_m2_d20_ck = {
. name = " dpll5_m2_d20_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll5_m2_d20_ck_data ,
} ;
static struct ti_clk_gate dpll4_m5x2_ck_omap36xx_data = {
. parent = " dpll4_m5x2_mul_ck " ,
. bit_shift = 0x1e ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_HSDIV | CLKF_SET_RATE_PARENT | CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m5x2_ck_omap36xx = {
. name = " dpll4_m5x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m5x2_ck_omap36xx_data ,
. patch = & dpll4_m5x2_ck ,
} ;
static struct ti_clk_gate ssi_ssr_gate_fck_3430es2_data = {
. parent = " corex2_fck " ,
. bit_shift = 0 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_NO_WAIT ,
} ;
static struct ti_clk_gate uart1_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 13 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk uart1_ick = {
. name = " uart1_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart1_ick_data ,
} ;
static struct ti_clk_gate iva2_ck_data = {
. parent = " dpll2_m2_ck " ,
. bit_shift = 0 ,
. reg = 0x0 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk iva2_ck = {
. name = " iva2_ck " ,
. clkdm_name = " iva2_clkdm " ,
. type = TI_CLK_GATE ,
. data = & iva2_ck_data ,
} ;
static struct ti_clk_gate pka_ick_data = {
. parent = " security_l3_ick " ,
. bit_shift = 4 ,
. reg = 0xa14 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk pka_ick = {
. name = " pka_ick " ,
. type = TI_CLK_GATE ,
. data = & pka_ick_data ,
} ;
static struct ti_clk_gate gpt12_ick_data = {
. parent = " wkup_l4_ick " ,
. bit_shift = 1 ,
. reg = 0xc10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt12_ick = {
. name = " gpt12_ick " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt12_ick_data ,
} ;
static const char * mcbsp5_mux_fck_parents [ ] = {
" core_96m_fck " ,
" mcbsp_clks " ,
} ;
static struct ti_clk_mux mcbsp5_mux_fck_data = {
. bit_shift = 4 ,
. num_parents = ARRAY_SIZE ( mcbsp5_mux_fck_parents ) ,
. reg = 0x2d8 ,
. module = TI_CLKM_SCRM ,
. parents = mcbsp5_mux_fck_parents ,
} ;
static struct ti_clk_composite mcbsp5_fck_data = {
. mux = & mcbsp5_mux_fck_data ,
. gate = & mcbsp5_gate_fck_data ,
} ;
static struct ti_clk mcbsp5_fck = {
. name = " mcbsp5_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & mcbsp5_fck_data ,
} ;
static struct ti_clk_gate usbhost_48m_fck_data = {
. parent = " omap_48m_fck " ,
. bit_shift = 0 ,
. reg = 0x1400 ,
. module = TI_CLKM_CM ,
. flags = CLKF_DSS ,
} ;
static struct ti_clk usbhost_48m_fck = {
. name = " usbhost_48m_fck " ,
. clkdm_name = " usbhost_clkdm " ,
. type = TI_CLK_GATE ,
. data = & usbhost_48m_fck_data ,
} ;
static struct ti_clk_gate des1_ick_data = {
. parent = " security_l4_ick2 " ,
. bit_shift = 0 ,
. reg = 0xa14 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk des1_ick = {
. name = " des1_ick " ,
. type = TI_CLK_GATE ,
. data = & des1_ick_data ,
} ;
static struct ti_clk_gate sgx_gate_fck_data = {
. parent = " core_ck " ,
. bit_shift = 1 ,
. reg = 0xb00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_fixed_factor core_d4_ck_data = {
. parent = " core_ck " ,
. div = 4 ,
. mult = 1 ,
} ;
static struct ti_clk core_d4_ck = {
. name = " core_d4_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_d4_ck_data ,
} ;
static struct ti_clk_fixed_factor omap_192m_alwon_fck_data = {
. parent = " dpll4_m2x2_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk omap_192m_alwon_fck = {
. name = " omap_192m_alwon_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & omap_192m_alwon_fck_data ,
} ;
static struct ti_clk_fixed_factor core_d2_ck_data = {
. parent = " core_ck " ,
. div = 2 ,
. mult = 1 ,
} ;
static struct ti_clk core_d2_ck = {
. name = " core_d2_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_d2_ck_data ,
} ;
static struct ti_clk_fixed_factor corex2_d3_fck_data = {
. parent = " corex2_fck " ,
. div = 3 ,
. mult = 1 ,
} ;
static struct ti_clk corex2_d3_fck = {
. name = " corex2_d3_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & corex2_d3_fck_data ,
} ;
static struct ti_clk_fixed_factor corex2_d5_fck_data = {
. parent = " corex2_fck " ,
. div = 5 ,
. mult = 1 ,
} ;
static struct ti_clk corex2_d5_fck = {
. name = " corex2_d5_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & corex2_d5_fck_data ,
} ;
static const char * sgx_mux_fck_parents [ ] = {
" core_d3_ck " ,
" core_d4_ck " ,
" core_d6_ck " ,
" cm_96m_fck " ,
" omap_192m_alwon_fck " ,
" core_d2_ck " ,
" corex2_d3_fck " ,
" corex2_d5_fck " ,
} ;
static struct ti_clk_mux sgx_mux_fck_data = {
. num_parents = ARRAY_SIZE ( sgx_mux_fck_parents ) ,
. reg = 0xb40 ,
. module = TI_CLKM_CM ,
. parents = sgx_mux_fck_parents ,
} ;
static struct ti_clk_composite sgx_fck_data = {
. mux = & sgx_mux_fck_data ,
. gate = & sgx_gate_fck_data ,
} ;
static struct ti_clk sgx_fck = {
. name = " sgx_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & sgx_fck_data ,
} ;
static struct ti_clk_gate mcspi1_fck_data = {
. parent = " core_48m_fck " ,
. bit_shift = 18 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk mcspi1_fck = {
. name = " mcspi1_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcspi1_fck_data ,
} ;
static struct ti_clk_gate mmchs2_fck_data = {
. parent = " core_96m_fck " ,
. bit_shift = 25 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk mmchs2_fck = {
. name = " mmchs2_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mmchs2_fck_data ,
} ;
static struct ti_clk_gate mcspi2_fck_data = {
. parent = " core_48m_fck " ,
. bit_shift = 19 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk mcspi2_fck = {
. name = " mcspi2_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcspi2_fck_data ,
} ;
static struct ti_clk_gate vpfe_fck_data = {
. parent = " pclk_ck " ,
. bit_shift = 10 ,
. reg = 0x59c ,
. module = TI_CLKM_SCRM ,
} ;
static struct ti_clk vpfe_fck = {
. name = " vpfe_fck " ,
. type = TI_CLK_GATE ,
. data = & vpfe_fck_data ,
} ;
static struct ti_clk_gate gpt4_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 5 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_gate mcbsp1_gate_fck_data = {
. parent = " mcbsp_clks " ,
. bit_shift = 9 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_gate gpt5_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 6 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static const char * gpt5_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt5_mux_fck_data = {
. bit_shift = 3 ,
. num_parents = ARRAY_SIZE ( gpt5_mux_fck_parents ) ,
. reg = 0x1040 ,
. module = TI_CLKM_CM ,
. parents = gpt5_mux_fck_parents ,
} ;
static struct ti_clk_composite gpt5_fck_data = {
. mux = & gpt5_mux_fck_data ,
. gate = & gpt5_gate_fck_data ,
} ;
static struct ti_clk gpt5_fck = {
. name = " gpt5_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt5_fck_data ,
} ;
static struct ti_clk_gate ts_fck_data = {
. parent = " omap_32k_fck " ,
. bit_shift = 1 ,
. reg = 0xa08 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk ts_fck = {
. name = " ts_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & ts_fck_data ,
} ;
static struct ti_clk_fixed_factor wdt1_fck_data = {
. parent = " secure_32k_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk wdt1_fck = {
. name = " wdt1_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & wdt1_fck_data ,
} ;
static struct ti_clk_gate dpll4_m6x2_ck_omap36xx_data = {
. parent = " dpll4_m6x2_mul_ck " ,
. bit_shift = 0x1f ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_HSDIV | CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m6x2_ck_omap36xx = {
. name = " dpll4_m6x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m6x2_ck_omap36xx_data ,
. patch = & dpll4_m6x2_ck ,
} ;
static const char * gpt4_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt4_mux_fck_data = {
. bit_shift = 2 ,
. num_parents = ARRAY_SIZE ( gpt4_mux_fck_parents ) ,
. reg = 0x1040 ,
. module = TI_CLKM_CM ,
. parents = gpt4_mux_fck_parents ,
} ;
static struct ti_clk_gate usbhost_ick_data = {
. parent = " l4_ick " ,
. bit_shift = 0 ,
. reg = 0x1410 ,
. module = TI_CLKM_CM ,
. flags = CLKF_DSS | CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk usbhost_ick = {
. name = " usbhost_ick " ,
. clkdm_name = " usbhost_clkdm " ,
. type = TI_CLK_GATE ,
. data = & usbhost_ick_data ,
} ;
static struct ti_clk_gate mcbsp2_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 0 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcbsp2_ick = {
. name = " mcbsp2_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcbsp2_ick_data ,
} ;
static struct ti_clk_gate omapctrl_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 6 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk omapctrl_ick = {
. name = " omapctrl_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & omapctrl_ick_data ,
} ;
static struct ti_clk_fixed_factor omap_96m_d4_fck_data = {
. parent = " omap_96m_fck " ,
. div = 4 ,
. mult = 1 ,
} ;
static struct ti_clk omap_96m_d4_fck = {
. name = " omap_96m_d4_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & omap_96m_d4_fck_data ,
} ;
static struct ti_clk_gate gpt6_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 7 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt6_ick = {
. name = " gpt6_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt6_ick_data ,
} ;
static struct ti_clk_gate dpll3_m3x2_ck_omap36xx_data = {
. parent = " dpll3_m3x2_mul_ck " ,
. bit_shift = 0xc ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_HSDIV | CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll3_m3x2_ck_omap36xx = {
. name = " dpll3_m3x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll3_m3x2_ck_omap36xx_data ,
. patch = & dpll3_m3x2_ck ,
} ;
static struct ti_clk_gate i2c3_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 17 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk i2c3_ick = {
. name = " i2c3_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & i2c3_ick_data ,
} ;
static struct ti_clk_gate gpio6_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 17 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpio6_ick = {
. name = " gpio6_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio6_ick_data ,
} ;
static struct ti_clk_gate mspro_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 23 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mspro_ick = {
. name = " mspro_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mspro_ick_data ,
} ;
static struct ti_clk_composite mcbsp1_fck_data = {
. mux = & mcbsp1_mux_fck_data ,
. gate = & mcbsp1_gate_fck_data ,
} ;
static struct ti_clk mcbsp1_fck = {
. name = " mcbsp1_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & mcbsp1_fck_data ,
} ;
static struct ti_clk_gate gpt3_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 4 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_fixed rmii_ck_data = {
. frequency = 50000000 ,
} ;
static struct ti_clk rmii_ck = {
. name = " rmii_ck " ,
. type = TI_CLK_FIXED ,
. data = & rmii_ck_data ,
} ;
static struct ti_clk_gate gpt6_gate_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 7 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_composite gpt6_fck_data = {
. mux = & gpt6_mux_fck_data ,
. gate = & gpt6_gate_fck_data ,
} ;
static struct ti_clk gpt6_fck = {
. name = " gpt6_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt6_fck_data ,
} ;
static struct ti_clk_fixed_factor dpll5_m2_d4_ck_data = {
. parent = " dpll5_m2_ck " ,
. div = 4 ,
. mult = 1 ,
} ;
static struct ti_clk dpll5_m2_d4_ck = {
. name = " dpll5_m2_d4_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll5_m2_d4_ck_data ,
} ;
static struct ti_clk_fixed_factor sys_d2_ck_data = {
. parent = " sys_ck " ,
. div = 2 ,
. mult = 1 ,
} ;
static struct ti_clk sys_d2_ck = {
. name = " sys_d2_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & sys_d2_ck_data ,
} ;
static struct ti_clk_fixed_factor omap_96m_d2_fck_data = {
. parent = " omap_96m_fck " ,
. div = 2 ,
. mult = 1 ,
} ;
static struct ti_clk omap_96m_d2_fck = {
. name = " omap_96m_d2_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & omap_96m_d2_fck_data ,
} ;
static struct ti_clk_fixed_factor dpll5_m2_d8_ck_data = {
. parent = " dpll5_m2_ck " ,
. div = 8 ,
. mult = 1 ,
} ;
static struct ti_clk dpll5_m2_d8_ck = {
. name = " dpll5_m2_d8_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll5_m2_d8_ck_data ,
} ;
static struct ti_clk_fixed_factor dpll5_m2_d16_ck_data = {
. parent = " dpll5_m2_ck " ,
. div = 16 ,
. mult = 1 ,
} ;
static struct ti_clk dpll5_m2_d16_ck = {
. name = " dpll5_m2_d16_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll5_m2_d16_ck_data ,
} ;
static const char * usim_mux_fck_parents [ ] = {
" sys_ck " ,
" sys_d2_ck " ,
" omap_96m_d2_fck " ,
" omap_96m_d4_fck " ,
" omap_96m_d8_fck " ,
" omap_96m_d10_fck " ,
" dpll5_m2_d4_ck " ,
" dpll5_m2_d8_ck " ,
" dpll5_m2_d16_ck " ,
" dpll5_m2_d20_ck " ,
} ;
static struct ti_clk_mux usim_mux_fck_data = {
. bit_shift = 3 ,
. num_parents = ARRAY_SIZE ( usim_mux_fck_parents ) ,
. reg = 0xc40 ,
. module = TI_CLKM_CM ,
. parents = usim_mux_fck_parents ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk_composite usim_fck_data = {
. mux = & usim_mux_fck_data ,
. gate = & usim_gate_fck_data ,
} ;
static struct ti_clk usim_fck = {
. name = " usim_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & usim_fck_data ,
} ;
static int ssi_ssr_div_fck_3430es2_divs [ ] = {
0 ,
1 ,
2 ,
3 ,
4 ,
0 ,
6 ,
0 ,
8 ,
} ;
static struct ti_clk_divider ssi_ssr_div_fck_3430es2_data = {
. num_dividers = ARRAY_SIZE ( ssi_ssr_div_fck_3430es2_divs ) ,
. parent = " corex2_fck " ,
. bit_shift = 8 ,
. dividers = ssi_ssr_div_fck_3430es2_divs ,
. reg = 0xa40 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_composite ssi_ssr_fck_3430es2_data = {
. gate = & ssi_ssr_gate_fck_3430es2_data ,
. divider = & ssi_ssr_div_fck_3430es2_data ,
} ;
static struct ti_clk ssi_ssr_fck_3430es2 = {
. name = " ssi_ssr_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & ssi_ssr_fck_3430es2_data ,
} ;
static struct ti_clk_gate dss1_alwon_fck_3430es1_data = {
. parent = " dpll4_m4x2_ck " ,
. bit_shift = 0 ,
. reg = 0xe00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SET_RATE_PARENT ,
} ;
static struct ti_clk dss1_alwon_fck_3430es1 = {
. name = " dss1_alwon_fck " ,
. clkdm_name = " dss_clkdm " ,
. type = TI_CLK_GATE ,
. data = & dss1_alwon_fck_3430es1_data ,
} ;
static struct ti_clk_gate gpt3_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 4 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt3_ick = {
. name = " gpt3_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt3_ick_data ,
} ;
static struct ti_clk_fixed_factor omap_12m_fck_data = {
. parent = " omap_48m_fck " ,
. div = 4 ,
. mult = 1 ,
} ;
static struct ti_clk omap_12m_fck = {
. name = " omap_12m_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & omap_12m_fck_data ,
} ;
static struct ti_clk_fixed_factor core_12m_fck_data = {
. parent = " omap_12m_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk core_12m_fck = {
. name = " core_12m_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & core_12m_fck_data ,
} ;
static struct ti_clk_gate hdq_fck_data = {
. parent = " core_12m_fck " ,
. bit_shift = 22 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk hdq_fck = {
. name = " hdq_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & hdq_fck_data ,
} ;
static struct ti_clk_gate usbtll_fck_data = {
. parent = " dpll5_m2_ck " ,
. bit_shift = 2 ,
. reg = 0xa08 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk usbtll_fck = {
. name = " usbtll_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & usbtll_fck_data ,
} ;
static struct ti_clk_gate hsotgusb_fck_am35xx_data = {
. parent = " sys_ck " ,
. bit_shift = 8 ,
. reg = 0x59c ,
. module = TI_CLKM_SCRM ,
} ;
static struct ti_clk hsotgusb_fck_am35xx = {
. name = " hsotgusb_fck_am35xx " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & hsotgusb_fck_am35xx_data ,
} ;
static struct ti_clk_gate hsotgusb_ick_3430es2_data = {
. parent = " core_l3_ick " ,
. bit_shift = 4 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_HSOTGUSB | CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk hsotgusb_ick_3430es2 = {
. name = " hsotgusb_ick_3430es2 " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & hsotgusb_ick_3430es2_data ,
} ;
static struct ti_clk_gate gfx_l3_ck_data = {
. parent = " l3_ick " ,
. bit_shift = 0 ,
. reg = 0xb10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk gfx_l3_ck = {
. name = " gfx_l3_ck " ,
. clkdm_name = " gfx_3430es1_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gfx_l3_ck_data ,
} ;
static struct ti_clk_fixed_factor gfx_l3_ick_data = {
. parent = " gfx_l3_ck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk gfx_l3_ick = {
. name = " gfx_l3_ick " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & gfx_l3_ick_data ,
} ;
static struct ti_clk_gate mcbsp1_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 9 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcbsp1_ick = {
. name = " mcbsp1_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcbsp1_ick_data ,
} ;
static struct ti_clk_fixed_factor gpt12_fck_data = {
. parent = " secure_32k_fck " ,
. div = 1 ,
. mult = 1 ,
} ;
static struct ti_clk gpt12_fck = {
. name = " gpt12_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & gpt12_fck_data ,
} ;
static struct ti_clk_gate gfx_cg2_ck_data = {
. parent = " gfx_l3_fck " ,
. bit_shift = 2 ,
. reg = 0xb00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk gfx_cg2_ck = {
. name = " gfx_cg2_ck " ,
. clkdm_name = " gfx_3430es1_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gfx_cg2_ck_data ,
} ;
static struct ti_clk_gate i2c2_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 16 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk i2c2_ick = {
. name = " i2c2_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & i2c2_ick_data ,
} ;
static struct ti_clk_gate gpio4_dbck_data = {
. parent = " per_32k_alwon_fck " ,
. bit_shift = 15 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk gpio4_dbck = {
. name = " gpio4_dbck " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio4_dbck_data ,
} ;
static struct ti_clk_gate i2c3_fck_data = {
. parent = " core_96m_fck " ,
. bit_shift = 17 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk i2c3_fck = {
. name = " i2c3_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & i2c3_fck_data ,
} ;
static struct ti_clk_composite gpt3_fck_data = {
. mux = & gpt3_mux_fck_data ,
. gate = & gpt3_gate_fck_data ,
} ;
static struct ti_clk gpt3_fck = {
. name = " gpt3_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt3_fck_data ,
} ;
static struct ti_clk_gate i2c1_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 15 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk i2c1_ick = {
. name = " i2c1_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & i2c1_ick_data ,
} ;
static struct ti_clk_gate omap_32ksync_ick_data = {
. parent = " wkup_l4_ick " ,
. bit_shift = 2 ,
. reg = 0xc10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk omap_32ksync_ick = {
. name = " omap_32ksync_ick " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & omap_32ksync_ick_data ,
} ;
static struct ti_clk_gate aes2_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 28 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk aes2_ick = {
. name = " aes2_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & aes2_ick_data ,
} ;
static const char * gpt8_mux_fck_parents [ ] = {
" omap_32k_fck " ,
" sys_ck " ,
} ;
static struct ti_clk_mux gpt8_mux_fck_data = {
. bit_shift = 6 ,
. num_parents = ARRAY_SIZE ( gpt8_mux_fck_parents ) ,
. reg = 0x1040 ,
. module = TI_CLKM_CM ,
. parents = gpt8_mux_fck_parents ,
} ;
static struct ti_clk_composite gpt8_fck_data = {
. mux = & gpt8_mux_fck_data ,
. gate = & gpt8_gate_fck_data ,
} ;
static struct ti_clk gpt8_fck = {
. name = " gpt8_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt8_fck_data ,
} ;
static struct ti_clk_gate mcbsp4_gate_fck_data = {
. parent = " mcbsp_clks " ,
. bit_shift = 2 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk_composite mcbsp4_fck_data = {
. mux = & mcbsp4_mux_fck_data ,
. gate = & mcbsp4_gate_fck_data ,
} ;
static struct ti_clk mcbsp4_fck = {
. name = " mcbsp4_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & mcbsp4_fck_data ,
} ;
static struct ti_clk_gate gpio2_dbck_data = {
. parent = " per_32k_alwon_fck " ,
. bit_shift = 13 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk gpio2_dbck = {
. name = " gpio2_dbck " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio2_dbck_data ,
} ;
static struct ti_clk_gate usbtll_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 2 ,
. reg = 0xa18 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk usbtll_ick = {
. name = " usbtll_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & usbtll_ick_data ,
} ;
static struct ti_clk_gate mcspi4_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 21 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcspi4_ick = {
. name = " mcspi4_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcspi4_ick_data ,
} ;
static struct ti_clk_gate dss_96m_fck_data = {
. parent = " omap_96m_fck " ,
. bit_shift = 2 ,
. reg = 0xe00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk dss_96m_fck = {
. name = " dss_96m_fck " ,
. clkdm_name = " dss_clkdm " ,
. type = TI_CLK_GATE ,
. data = & dss_96m_fck_data ,
} ;
static struct ti_clk_divider rm_ick_data = {
. parent = " l4_ick " ,
. bit_shift = 1 ,
. max_div = 3 ,
. reg = 0xc40 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk rm_ick = {
. name = " rm_ick " ,
. type = TI_CLK_DIVIDER ,
. data = & rm_ick_data ,
} ;
static struct ti_clk_gate hdq_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 22 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk hdq_ick = {
. name = " hdq_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & hdq_ick_data ,
} ;
static struct ti_clk_fixed_factor dpll3_x2_ck_data = {
. parent = " dpll3_ck " ,
. div = 1 ,
. mult = 2 ,
} ;
static struct ti_clk dpll3_x2_ck = {
. name = " dpll3_x2_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll3_x2_ck_data ,
} ;
static struct ti_clk_gate mad2d_ick_data = {
. parent = " l3_ick " ,
. bit_shift = 3 ,
. reg = 0xa18 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mad2d_ick = {
. name = " mad2d_ick " ,
. clkdm_name = " d2d_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mad2d_ick_data ,
} ;
static struct ti_clk_gate fshostusb_fck_data = {
. parent = " core_48m_fck " ,
. bit_shift = 5 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk fshostusb_fck = {
. name = " fshostusb_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & fshostusb_fck_data ,
} ;
static struct ti_clk_gate sr1_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 6 ,
. reg = 0xc00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk sr1_fck = {
. name = " sr1_fck " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & sr1_fck_data ,
} ;
static struct ti_clk_gate des2_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 26 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk des2_ick = {
. name = " des2_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & des2_ick_data ,
} ;
static struct ti_clk_gate sdrc_ick_data = {
. parent = " core_l3_ick " ,
. bit_shift = 1 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk sdrc_ick = {
. name = " sdrc_ick " ,
. clkdm_name = " core_l3_clkdm " ,
. type = TI_CLK_GATE ,
. data = & sdrc_ick_data ,
} ;
static struct ti_clk_composite gpt4_fck_data = {
. mux = & gpt4_mux_fck_data ,
. gate = & gpt4_gate_fck_data ,
} ;
static struct ti_clk gpt4_fck = {
. name = " gpt4_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt4_fck_data ,
} ;
static struct ti_clk_gate dpll4_m3x2_ck_omap36xx_data = {
. parent = " dpll4_m3x2_mul_ck " ,
. bit_shift = 0x1c ,
. reg = 0xd00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_HSDIV | CLKF_SET_BIT_TO_DISABLE ,
} ;
static struct ti_clk dpll4_m3x2_ck_omap36xx = {
. name = " dpll4_m3x2_ck " ,
. type = TI_CLK_GATE ,
. data = & dpll4_m3x2_ck_omap36xx_data ,
. patch = & dpll4_m3x2_ck ,
} ;
static struct ti_clk_gate cpefuse_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 0 ,
. reg = 0xa08 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk cpefuse_fck = {
. name = " cpefuse_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & cpefuse_fck_data ,
} ;
static struct ti_clk_gate mcspi3_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 20 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcspi3_ick = {
. name = " mcspi3_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcspi3_ick_data ,
} ;
static struct ti_clk_fixed_factor ssi_sst_fck_3430es2_data = {
. parent = " ssi_ssr_fck " ,
. div = 2 ,
. mult = 1 ,
} ;
static struct ti_clk ssi_sst_fck_3430es2 = {
. name = " ssi_sst_fck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & ssi_sst_fck_3430es2_data ,
} ;
static struct ti_clk_gate gpio1_dbck_data = {
. parent = " wkup_32k_fck " ,
. bit_shift = 3 ,
. reg = 0xc00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk gpio1_dbck = {
. name = " gpio1_dbck " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio1_dbck_data ,
} ;
static struct ti_clk_gate gpt4_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 5 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt4_ick = {
. name = " gpt4_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt4_ick_data ,
} ;
static struct ti_clk_gate gpt2_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 3 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt2_ick = {
. name = " gpt2_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt2_ick_data ,
} ;
static struct ti_clk_gate mmchs1_fck_data = {
. parent = " core_96m_fck " ,
. bit_shift = 24 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk mmchs1_fck = {
. name = " mmchs1_fck " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mmchs1_fck_data ,
} ;
static struct ti_clk_fixed dummy_apb_pclk_data = {
. frequency = 0x0 ,
} ;
static struct ti_clk dummy_apb_pclk = {
. name = " dummy_apb_pclk " ,
. type = TI_CLK_FIXED ,
. data = & dummy_apb_pclk_data ,
} ;
static struct ti_clk_gate gpio6_dbck_data = {
. parent = " per_32k_alwon_fck " ,
. bit_shift = 17 ,
. reg = 0x1000 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk gpio6_dbck = {
. name = " gpio6_dbck " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio6_dbck_data ,
} ;
static struct ti_clk_gate uart2_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 14 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk uart2_ick = {
. name = " uart2_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & uart2_ick_data ,
} ;
static struct ti_clk_fixed_factor dpll4_x2_ck_data = {
. parent = " dpll4_ck " ,
. div = 1 ,
. mult = 2 ,
} ;
static struct ti_clk dpll4_x2_ck = {
. name = " dpll4_x2_ck " ,
. type = TI_CLK_FIXED_FACTOR ,
. data = & dpll4_x2_ck_data ,
} ;
static struct ti_clk_gate gpt7_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 8 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpt7_ick = {
. name = " gpt7_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpt7_ick_data ,
} ;
static struct ti_clk_gate dss_tv_fck_data = {
. parent = " omap_54m_fck " ,
. bit_shift = 2 ,
. reg = 0xe00 ,
. module = TI_CLKM_CM ,
} ;
static struct ti_clk dss_tv_fck = {
. name = " dss_tv_fck " ,
. clkdm_name = " dss_clkdm " ,
. type = TI_CLK_GATE ,
. data = & dss_tv_fck_data ,
} ;
static struct ti_clk_gate mcbsp5_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 10 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcbsp5_ick = {
. name = " mcbsp5_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcbsp5_ick_data ,
} ;
static struct ti_clk_gate mcspi1_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 18 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk mcspi1_ick = {
. name = " mcspi1_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & mcspi1_ick_data ,
} ;
static struct ti_clk_gate d2d_26m_fck_data = {
. parent = " sys_ck " ,
. bit_shift = 3 ,
. reg = 0xa00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk d2d_26m_fck = {
. name = " d2d_26m_fck " ,
. clkdm_name = " d2d_clkdm " ,
. type = TI_CLK_GATE ,
. data = & d2d_26m_fck_data ,
} ;
static struct ti_clk_gate wdt3_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 12 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk wdt3_ick = {
. name = " wdt3_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & wdt3_ick_data ,
} ;
static struct ti_clk_divider pclkx2_fck_data = {
. parent = " emu_src_ck " ,
. bit_shift = 6 ,
. max_div = 3 ,
. reg = 0x1140 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_STARTS_AT_ONE ,
} ;
static struct ti_clk pclkx2_fck = {
. name = " pclkx2_fck " ,
. type = TI_CLK_DIVIDER ,
. data = & pclkx2_fck_data ,
} ;
static struct ti_clk_gate sha12_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 27 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk sha12_ick = {
. name = " sha12_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & sha12_ick_data ,
} ;
static struct ti_clk_gate emac_fck_data = {
. parent = " rmii_ck " ,
. bit_shift = 9 ,
. reg = 0x59c ,
. module = TI_CLKM_SCRM ,
} ;
static struct ti_clk emac_fck = {
. name = " emac_fck " ,
. type = TI_CLK_GATE ,
. data = & emac_fck_data ,
} ;
static struct ti_clk_composite gpt10_fck_data = {
. mux = & gpt10_mux_fck_data ,
. gate = & gpt10_gate_fck_data ,
} ;
static struct ti_clk gpt10_fck = {
. name = " gpt10_fck " ,
. type = TI_CLK_COMPOSITE ,
. data = & gpt10_fck_data ,
} ;
static struct ti_clk_gate wdt2_fck_data = {
. parent = " wkup_32k_fck " ,
. bit_shift = 5 ,
. reg = 0xc00 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk wdt2_fck = {
. name = " wdt2_fck " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & wdt2_fck_data ,
} ;
static struct ti_clk_gate cam_ick_data = {
. parent = " l4_ick " ,
. bit_shift = 0 ,
. reg = 0xf10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_NO_WAIT | CLKF_INTERFACE ,
} ;
static struct ti_clk cam_ick = {
. name = " cam_ick " ,
. clkdm_name = " cam_clkdm " ,
. type = TI_CLK_GATE ,
. data = & cam_ick_data ,
} ;
static struct ti_clk_gate ssi_ick_3430es2_data = {
. parent = " ssi_l4_ick " ,
. bit_shift = 0 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_SSI | CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk ssi_ick_3430es2 = {
. name = " ssi_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & ssi_ick_3430es2_data ,
} ;
static struct ti_clk_gate gpio4_ick_data = {
. parent = " per_l4_ick " ,
. bit_shift = 15 ,
. reg = 0x1010 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk gpio4_ick = {
. name = " gpio4_ick " ,
. clkdm_name = " per_clkdm " ,
. type = TI_CLK_GATE ,
. data = & gpio4_ick_data ,
} ;
static struct ti_clk_gate wdt1_ick_data = {
. parent = " wkup_l4_ick " ,
. bit_shift = 4 ,
. reg = 0xc10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk wdt1_ick = {
. name = " wdt1_ick " ,
. clkdm_name = " wkup_clkdm " ,
. type = TI_CLK_GATE ,
. data = & wdt1_ick_data ,
} ;
static struct ti_clk_gate rng_ick_data = {
. parent = " security_l4_ick2 " ,
. bit_shift = 2 ,
. reg = 0xa14 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk rng_ick = {
. name = " rng_ick " ,
. type = TI_CLK_GATE ,
. data = & rng_ick_data ,
} ;
static struct ti_clk_gate icr_ick_data = {
. parent = " core_l4_ick " ,
. bit_shift = 29 ,
. reg = 0xa10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_OMAP3 | CLKF_INTERFACE ,
} ;
static struct ti_clk icr_ick = {
. name = " icr_ick " ,
. clkdm_name = " core_l4_clkdm " ,
. type = TI_CLK_GATE ,
. data = & icr_ick_data ,
} ;
static struct ti_clk_gate sgx_ick_data = {
. parent = " l3_ick " ,
. bit_shift = 0 ,
. reg = 0xb10 ,
. module = TI_CLKM_CM ,
. flags = CLKF_WAIT ,
} ;
static struct ti_clk sgx_ick = {
. name = " sgx_ick " ,
. clkdm_name = " sgx_clkdm " ,
. type = TI_CLK_GATE ,
. data = & sgx_ick_data ,
} ;
static struct ti_clk_divider sys_clkout2_data = {
. parent = " clkout2_src_ck " ,
. bit_shift = 3 ,
. max_div = 64 ,
. reg = 0xd70 ,
. module = TI_CLKM_CM ,
. flags = CLKF_INDEX_POWER_OF_TWO ,
} ;
static struct ti_clk sys_clkout2 = {
. name = " sys_clkout2 " ,
. type = TI_CLK_DIVIDER ,
. data = & sys_clkout2_data ,
} ;
static struct ti_clk_alias omap34xx_omap36xx_clks [ ] = {
CLK ( NULL , " security_l4_ick2 " , & security_l4_ick2 ) ,
CLK ( NULL , " aes1_ick " , & aes1_ick ) ,
CLK ( " omap_rng " , " ick " , & rng_ick ) ,
CLK ( " omap3-rom-rng " , " ick " , & rng_ick ) ,
CLK ( NULL , " sha11_ick " , & sha11_ick ) ,
CLK ( NULL , " des1_ick " , & des1_ick ) ,
CLK ( NULL , " cam_mclk " , & cam_mclk ) ,
CLK ( NULL , " cam_ick " , & cam_ick ) ,
CLK ( NULL , " csi2_96m_fck " , & csi2_96m_fck ) ,
CLK ( NULL , " security_l3_ick " , & security_l3_ick ) ,
CLK ( NULL , " pka_ick " , & pka_ick ) ,
CLK ( NULL , " icr_ick " , & icr_ick ) ,
CLK ( NULL , " des2_ick " , & des2_ick ) ,
CLK ( NULL , " mspro_ick " , & mspro_ick ) ,
CLK ( NULL , " mailboxes_ick " , & mailboxes_ick ) ,
CLK ( NULL , " ssi_l4_ick " , & ssi_l4_ick ) ,
CLK ( NULL , " sr1_fck " , & sr1_fck ) ,
CLK ( NULL , " sr2_fck " , & sr2_fck ) ,
CLK ( NULL , " sr_l4_ick " , & sr_l4_ick ) ,
CLK ( NULL , " dpll2_fck " , & dpll2_fck ) ,
CLK ( NULL , " dpll2_ck " , & dpll2_ck ) ,
CLK ( NULL , " dpll2_m2_ck " , & dpll2_m2_ck ) ,
CLK ( NULL , " iva2_ck " , & iva2_ck ) ,
CLK ( NULL , " modem_fck " , & modem_fck ) ,
CLK ( NULL , " sad2d_ick " , & sad2d_ick ) ,
CLK ( NULL , " mad2d_ick " , & mad2d_ick ) ,
CLK ( NULL , " mspro_fck " , & mspro_fck ) ,
{ NULL } ,
} ;
static struct ti_clk_alias omap36xx_omap3430es2plus_clks [ ] = {
CLK ( NULL , " ssi_ssr_fck " , & ssi_ssr_fck_3430es2 ) ,
CLK ( NULL , " ssi_sst_fck " , & ssi_sst_fck_3430es2 ) ,
CLK ( " musb-omap2430 " , " ick " , & hsotgusb_ick_3430es2 ) ,
CLK ( NULL , " hsotgusb_ick " , & hsotgusb_ick_3430es2 ) ,
CLK ( NULL , " ssi_ick " , & ssi_ick_3430es2 ) ,
CLK ( NULL , " sys_d2_ck " , & sys_d2_ck ) ,
CLK ( NULL , " omap_96m_d2_fck " , & omap_96m_d2_fck ) ,
CLK ( NULL , " omap_96m_d4_fck " , & omap_96m_d4_fck ) ,
CLK ( NULL , " omap_96m_d8_fck " , & omap_96m_d8_fck ) ,
CLK ( NULL , " omap_96m_d10_fck " , & omap_96m_d10_fck ) ,
CLK ( NULL , " dpll5_m2_d4_ck " , & dpll5_m2_d4_ck ) ,
CLK ( NULL , " dpll5_m2_d8_ck " , & dpll5_m2_d8_ck ) ,
CLK ( NULL , " dpll5_m2_d16_ck " , & dpll5_m2_d16_ck ) ,
CLK ( NULL , " dpll5_m2_d20_ck " , & dpll5_m2_d20_ck ) ,
CLK ( NULL , " usim_fck " , & usim_fck ) ,
CLK ( NULL , " usim_ick " , & usim_ick ) ,
{ NULL } ,
} ;
static struct ti_clk_alias omap3xxx_clks [ ] = {
CLK ( NULL , " apb_pclk " , & dummy_apb_pclk ) ,
CLK ( NULL , " omap_32k_fck " , & omap_32k_fck ) ,
CLK ( NULL , " virt_12m_ck " , & virt_12m_ck ) ,
CLK ( NULL , " virt_13m_ck " , & virt_13m_ck ) ,
CLK ( NULL , " virt_19200000_ck " , & virt_19200000_ck ) ,
CLK ( NULL , " virt_26000000_ck " , & virt_26000000_ck ) ,
CLK ( NULL , " virt_38_4m_ck " , & virt_38_4m_ck ) ,
CLK ( NULL , " virt_16_8m_ck " , & virt_16_8m_ck ) ,
CLK ( NULL , " osc_sys_ck " , & osc_sys_ck ) ,
CLK ( " twl " , " fck " , & osc_sys_ck ) ,
CLK ( NULL , " sys_ck " , & sys_ck ) ,
CLK ( NULL , " timer_sys_ck " , & sys_ck ) ,
CLK ( NULL , " dpll4_ck " , & dpll4_ck ) ,
CLK ( NULL , " dpll4_m2_ck " , & dpll4_m2_ck ) ,
CLK ( NULL , " dpll4_m2x2_mul_ck " , & dpll4_m2x2_mul_ck ) ,
CLK ( NULL , " dpll4_m2x2_ck " , & dpll4_m2x2_ck ) ,
CLK ( NULL , " omap_96m_alwon_fck " , & omap_96m_alwon_fck ) ,
CLK ( NULL , " dpll3_ck " , & dpll3_ck ) ,
CLK ( NULL , " dpll3_m3_ck " , & dpll3_m3_ck ) ,
CLK ( NULL , " dpll3_m3x2_mul_ck " , & dpll3_m3x2_mul_ck ) ,
CLK ( NULL , " dpll3_m3x2_ck " , & dpll3_m3x2_ck ) ,
CLK ( " etb " , " emu_core_alwon_ck " , & emu_core_alwon_ck ) ,
CLK ( NULL , " sys_altclk " , & sys_altclk ) ,
CLK ( NULL , " sys_clkout1 " , & sys_clkout1 ) ,
CLK ( NULL , " dpll3_m2_ck " , & dpll3_m2_ck ) ,
CLK ( NULL , " core_ck " , & core_ck ) ,
CLK ( NULL , " dpll1_fck " , & dpll1_fck ) ,
CLK ( NULL , " dpll1_ck " , & dpll1_ck ) ,
CLK ( NULL , " cpufreq_ck " , & dpll1_ck ) ,
CLK ( NULL , " dpll1_x2_ck " , & dpll1_x2_ck ) ,
CLK ( NULL , " dpll1_x2m2_ck " , & dpll1_x2m2_ck ) ,
CLK ( NULL , " dpll3_x2_ck " , & dpll3_x2_ck ) ,
CLK ( NULL , " dpll3_m2x2_ck " , & dpll3_m2x2_ck ) ,
CLK ( NULL , " dpll4_x2_ck " , & dpll4_x2_ck ) ,
CLK ( NULL , " cm_96m_fck " , & cm_96m_fck ) ,
CLK ( NULL , " omap_96m_fck " , & omap_96m_fck ) ,
CLK ( NULL , " dpll4_m3_ck " , & dpll4_m3_ck ) ,
CLK ( NULL , " dpll4_m3x2_mul_ck " , & dpll4_m3x2_mul_ck ) ,
CLK ( NULL , " dpll4_m3x2_ck " , & dpll4_m3x2_ck ) ,
CLK ( NULL , " omap_54m_fck " , & omap_54m_fck ) ,
CLK ( NULL , " cm_96m_d2_fck " , & cm_96m_d2_fck ) ,
CLK ( NULL , " omap_48m_fck " , & omap_48m_fck ) ,
CLK ( NULL , " omap_12m_fck " , & omap_12m_fck ) ,
CLK ( NULL , " dpll4_m4_ck " , & dpll4_m4_ck ) ,
CLK ( NULL , " dpll4_m4x2_mul_ck " , & dpll4_m4x2_mul_ck ) ,
CLK ( NULL , " dpll4_m4x2_ck " , & dpll4_m4x2_ck ) ,
CLK ( NULL , " dpll4_m5_ck " , & dpll4_m5_ck ) ,
CLK ( NULL , " dpll4_m5x2_mul_ck " , & dpll4_m5x2_mul_ck ) ,
CLK ( NULL , " dpll4_m5x2_ck " , & dpll4_m5x2_ck ) ,
CLK ( NULL , " dpll4_m6_ck " , & dpll4_m6_ck ) ,
CLK ( NULL , " dpll4_m6x2_mul_ck " , & dpll4_m6x2_mul_ck ) ,
CLK ( NULL , " dpll4_m6x2_ck " , & dpll4_m6x2_ck ) ,
CLK ( " etb " , " emu_per_alwon_ck " , & emu_per_alwon_ck ) ,
CLK ( NULL , " clkout2_src_ck " , & clkout2_src_ck ) ,
CLK ( NULL , " sys_clkout2 " , & sys_clkout2 ) ,
CLK ( NULL , " corex2_fck " , & corex2_fck ) ,
CLK ( NULL , " mpu_ck " , & mpu_ck ) ,
CLK ( NULL , " arm_fck " , & arm_fck ) ,
CLK ( " etb " , " emu_mpu_alwon_ck " , & emu_mpu_alwon_ck ) ,
CLK ( NULL , " l3_ick " , & l3_ick ) ,
CLK ( NULL , " l4_ick " , & l4_ick ) ,
CLK ( NULL , " rm_ick " , & rm_ick ) ,
CLK ( NULL , " timer_32k_ck " , & omap_32k_fck ) ,
CLK ( NULL , " gpt10_fck " , & gpt10_fck ) ,
CLK ( NULL , " gpt11_fck " , & gpt11_fck ) ,
CLK ( NULL , " core_96m_fck " , & core_96m_fck ) ,
CLK ( NULL , " mmchs2_fck " , & mmchs2_fck ) ,
CLK ( NULL , " mmchs1_fck " , & mmchs1_fck ) ,
CLK ( NULL , " i2c3_fck " , & i2c3_fck ) ,
CLK ( NULL , " i2c2_fck " , & i2c2_fck ) ,
CLK ( NULL , " i2c1_fck " , & i2c1_fck ) ,
CLK ( NULL , " core_48m_fck " , & core_48m_fck ) ,
CLK ( NULL , " mcspi4_fck " , & mcspi4_fck ) ,
CLK ( NULL , " mcspi3_fck " , & mcspi3_fck ) ,
CLK ( NULL , " mcspi2_fck " , & mcspi2_fck ) ,
CLK ( NULL , " mcspi1_fck " , & mcspi1_fck ) ,
CLK ( NULL , " uart2_fck " , & uart2_fck ) ,
CLK ( NULL , " uart1_fck " , & uart1_fck ) ,
CLK ( NULL , " core_12m_fck " , & core_12m_fck ) ,
CLK ( " omap_hdq.0 " , " fck " , & hdq_fck ) ,
CLK ( NULL , " hdq_fck " , & hdq_fck ) ,
CLK ( NULL , " core_l3_ick " , & core_l3_ick ) ,
CLK ( NULL , " sdrc_ick " , & sdrc_ick ) ,
CLK ( NULL , " gpmc_fck " , & gpmc_fck ) ,
CLK ( NULL , " core_l4_ick " , & core_l4_ick ) ,
CLK ( " omap_hsmmc.1 " , " ick " , & mmchs2_ick ) ,
CLK ( " omap_hsmmc.0 " , " ick " , & mmchs1_ick ) ,
CLK ( NULL , " mmchs2_ick " , & mmchs2_ick ) ,
CLK ( NULL , " mmchs1_ick " , & mmchs1_ick ) ,
CLK ( " omap_hdq.0 " , " ick " , & hdq_ick ) ,
CLK ( NULL , " hdq_ick " , & hdq_ick ) ,
CLK ( " omap2_mcspi.4 " , " ick " , & mcspi4_ick ) ,
CLK ( " omap2_mcspi.3 " , " ick " , & mcspi3_ick ) ,
CLK ( " omap2_mcspi.2 " , " ick " , & mcspi2_ick ) ,
CLK ( " omap2_mcspi.1 " , " ick " , & mcspi1_ick ) ,
CLK ( NULL , " mcspi4_ick " , & mcspi4_ick ) ,
CLK ( NULL , " mcspi3_ick " , & mcspi3_ick ) ,
CLK ( NULL , " mcspi2_ick " , & mcspi2_ick ) ,
CLK ( NULL , " mcspi1_ick " , & mcspi1_ick ) ,
CLK ( " omap_i2c.3 " , " ick " , & i2c3_ick ) ,
CLK ( " omap_i2c.2 " , " ick " , & i2c2_ick ) ,
CLK ( " omap_i2c.1 " , " ick " , & i2c1_ick ) ,
CLK ( NULL , " i2c3_ick " , & i2c3_ick ) ,
CLK ( NULL , " i2c2_ick " , & i2c2_ick ) ,
CLK ( NULL , " i2c1_ick " , & i2c1_ick ) ,
CLK ( NULL , " uart2_ick " , & uart2_ick ) ,
CLK ( NULL , " uart1_ick " , & uart1_ick ) ,
CLK ( NULL , " gpt11_ick " , & gpt11_ick ) ,
CLK ( NULL , " gpt10_ick " , & gpt10_ick ) ,
CLK ( NULL , " mcbsp5_ick " , & mcbsp5_ick ) ,
CLK ( NULL , " mcbsp1_ick " , & mcbsp1_ick ) ,
CLK ( NULL , " omapctrl_ick " , & omapctrl_ick ) ,
CLK ( NULL , " dss_tv_fck " , & dss_tv_fck ) ,
CLK ( NULL , " dss_96m_fck " , & dss_96m_fck ) ,
CLK ( NULL , " dss2_alwon_fck " , & dss2_alwon_fck ) ,
CLK ( NULL , " init_60m_fclk " , & dummy_ck ) ,
CLK ( NULL , " gpt1_fck " , & gpt1_fck ) ,
CLK ( NULL , " aes2_ick " , & aes2_ick ) ,
CLK ( NULL , " wkup_32k_fck " , & wkup_32k_fck ) ,
CLK ( NULL , " gpio1_dbck " , & gpio1_dbck ) ,
CLK ( NULL , " sha12_ick " , & sha12_ick ) ,
CLK ( NULL , " wdt2_fck " , & wdt2_fck ) ,
CLK ( NULL , " wkup_l4_ick " , & wkup_l4_ick ) ,
CLK ( " omap_wdt " , " ick " , & wdt2_ick ) ,
CLK ( NULL , " wdt2_ick " , & wdt2_ick ) ,
CLK ( NULL , " wdt1_ick " , & wdt1_ick ) ,
CLK ( NULL , " gpio1_ick " , & gpio1_ick ) ,
CLK ( NULL , " omap_32ksync_ick " , & omap_32ksync_ick ) ,
CLK ( NULL , " gpt12_ick " , & gpt12_ick ) ,
CLK ( NULL , " gpt1_ick " , & gpt1_ick ) ,
CLK ( NULL , " per_96m_fck " , & per_96m_fck ) ,
CLK ( NULL , " per_48m_fck " , & per_48m_fck ) ,
CLK ( NULL , " uart3_fck " , & uart3_fck ) ,
CLK ( NULL , " gpt2_fck " , & gpt2_fck ) ,
CLK ( NULL , " gpt3_fck " , & gpt3_fck ) ,
CLK ( NULL , " gpt4_fck " , & gpt4_fck ) ,
CLK ( NULL , " gpt5_fck " , & gpt5_fck ) ,
CLK ( NULL , " gpt6_fck " , & gpt6_fck ) ,
CLK ( NULL , " gpt7_fck " , & gpt7_fck ) ,
CLK ( NULL , " gpt8_fck " , & gpt8_fck ) ,
CLK ( NULL , " gpt9_fck " , & gpt9_fck ) ,
CLK ( NULL , " per_32k_alwon_fck " , & per_32k_alwon_fck ) ,
CLK ( NULL , " gpio6_dbck " , & gpio6_dbck ) ,
CLK ( NULL , " gpio5_dbck " , & gpio5_dbck ) ,
CLK ( NULL , " gpio4_dbck " , & gpio4_dbck ) ,
CLK ( NULL , " gpio3_dbck " , & gpio3_dbck ) ,
CLK ( NULL , " gpio2_dbck " , & gpio2_dbck ) ,
CLK ( NULL , " wdt3_fck " , & wdt3_fck ) ,
CLK ( NULL , " per_l4_ick " , & per_l4_ick ) ,
CLK ( NULL , " gpio6_ick " , & gpio6_ick ) ,
CLK ( NULL , " gpio5_ick " , & gpio5_ick ) ,
CLK ( NULL , " gpio4_ick " , & gpio4_ick ) ,
CLK ( NULL , " gpio3_ick " , & gpio3_ick ) ,
CLK ( NULL , " gpio2_ick " , & gpio2_ick ) ,
CLK ( NULL , " wdt3_ick " , & wdt3_ick ) ,
CLK ( NULL , " uart3_ick " , & uart3_ick ) ,
CLK ( NULL , " uart4_ick " , & uart4_ick ) ,
CLK ( NULL , " gpt9_ick " , & gpt9_ick ) ,
CLK ( NULL , " gpt8_ick " , & gpt8_ick ) ,
CLK ( NULL , " gpt7_ick " , & gpt7_ick ) ,
CLK ( NULL , " gpt6_ick " , & gpt6_ick ) ,
CLK ( NULL , " gpt5_ick " , & gpt5_ick ) ,
CLK ( NULL , " gpt4_ick " , & gpt4_ick ) ,
CLK ( NULL , " gpt3_ick " , & gpt3_ick ) ,
CLK ( NULL , " gpt2_ick " , & gpt2_ick ) ,
2015-03-16 12:40:58 +02:00
CLK ( NULL , " mcbsp_clks " , & mcbsp_clks ) ,
CLK ( " omap-mcbsp.1 " , " ick " , & mcbsp1_ick ) ,
2015-01-29 22:25:40 +02:00
CLK ( " omap-mcbsp.2 " , " ick " , & mcbsp2_ick ) ,
CLK ( " omap-mcbsp.3 " , " ick " , & mcbsp3_ick ) ,
CLK ( " omap-mcbsp.4 " , " ick " , & mcbsp4_ick ) ,
2015-03-16 12:40:58 +02:00
CLK ( " omap-mcbsp.5 " , " ick " , & mcbsp5_ick ) ,
CLK ( NULL , " mcbsp1_ick " , & mcbsp1_ick ) ,
CLK ( NULL , " mcbsp2_ick " , & mcbsp2_ick ) ,
2015-01-29 22:25:40 +02:00
CLK ( NULL , " mcbsp3_ick " , & mcbsp3_ick ) ,
2015-03-16 12:40:58 +02:00
CLK ( NULL , " mcbsp4_ick " , & mcbsp4_ick ) ,
CLK ( NULL , " mcbsp5_ick " , & mcbsp5_ick ) ,
CLK ( NULL , " mcbsp1_fck " , & mcbsp1_fck ) ,
2015-01-29 22:25:40 +02:00
CLK ( NULL , " mcbsp2_fck " , & mcbsp2_fck ) ,
CLK ( NULL , " mcbsp3_fck " , & mcbsp3_fck ) ,
CLK ( NULL , " mcbsp4_fck " , & mcbsp4_fck ) ,
2015-03-16 12:40:58 +02:00
CLK ( NULL , " mcbsp5_fck " , & mcbsp5_fck ) ,
2015-01-29 22:25:40 +02:00
CLK ( NULL , " emu_src_mux_ck " , & emu_src_mux_ck ) ,
CLK ( " etb " , " emu_src_ck " , & emu_src_ck ) ,
CLK ( NULL , " emu_src_mux_ck " , & emu_src_mux_ck ) ,
CLK ( NULL , " emu_src_ck " , & emu_src_ck ) ,
CLK ( NULL , " pclk_fck " , & pclk_fck ) ,
CLK ( NULL , " pclkx2_fck " , & pclkx2_fck ) ,
CLK ( NULL , " atclk_fck " , & atclk_fck ) ,
CLK ( NULL , " traceclk_src_fck " , & traceclk_src_fck ) ,
CLK ( NULL , " traceclk_fck " , & traceclk_fck ) ,
CLK ( NULL , " secure_32k_fck " , & secure_32k_fck ) ,
CLK ( NULL , " gpt12_fck " , & gpt12_fck ) ,
CLK ( NULL , " wdt1_fck " , & wdt1_fck ) ,
{ NULL } ,
} ;
static struct ti_clk_alias omap36xx_am35xx_omap3430es2plus_clks [ ] = {
CLK ( NULL , " dpll5_ck " , & dpll5_ck ) ,
CLK ( NULL , " dpll5_m2_ck " , & dpll5_m2_ck ) ,
CLK ( NULL , " core_d3_ck " , & core_d3_ck ) ,
CLK ( NULL , " core_d4_ck " , & core_d4_ck ) ,
CLK ( NULL , " core_d6_ck " , & core_d6_ck ) ,
CLK ( NULL , " omap_192m_alwon_fck " , & omap_192m_alwon_fck ) ,
CLK ( NULL , " core_d2_ck " , & core_d2_ck ) ,
CLK ( NULL , " corex2_d3_fck " , & corex2_d3_fck ) ,
CLK ( NULL , " corex2_d5_fck " , & corex2_d5_fck ) ,
CLK ( NULL , " sgx_fck " , & sgx_fck ) ,
CLK ( NULL , " sgx_ick " , & sgx_ick ) ,
CLK ( NULL , " cpefuse_fck " , & cpefuse_fck ) ,
CLK ( NULL , " ts_fck " , & ts_fck ) ,
CLK ( NULL , " usbtll_fck " , & usbtll_fck ) ,
CLK ( NULL , " usbtll_ick " , & usbtll_ick ) ,
CLK ( " omap_hsmmc.2 " , " ick " , & mmchs3_ick ) ,
CLK ( NULL , " mmchs3_ick " , & mmchs3_ick ) ,
CLK ( NULL , " mmchs3_fck " , & mmchs3_fck ) ,
CLK ( NULL , " dss1_alwon_fck " , & dss1_alwon_fck_3430es2 ) ,
CLK ( " omapdss_dss " , " ick " , & dss_ick_3430es2 ) ,
CLK ( NULL , " dss_ick " , & dss_ick_3430es2 ) ,
CLK ( NULL , " usbhost_120m_fck " , & usbhost_120m_fck ) ,
CLK ( NULL , " usbhost_48m_fck " , & usbhost_48m_fck ) ,
CLK ( NULL , " usbhost_ick " , & usbhost_ick ) ,
{ NULL } ,
} ;
static struct ti_clk_alias omap3430es1_clks [ ] = {
CLK ( NULL , " gfx_l3_ck " , & gfx_l3_ck ) ,
CLK ( NULL , " gfx_l3_fck " , & gfx_l3_fck ) ,
CLK ( NULL , " gfx_l3_ick " , & gfx_l3_ick ) ,
CLK ( NULL , " gfx_cg1_ck " , & gfx_cg1_ck ) ,
CLK ( NULL , " gfx_cg2_ck " , & gfx_cg2_ck ) ,
CLK ( NULL , " d2d_26m_fck " , & d2d_26m_fck ) ,
CLK ( NULL , " fshostusb_fck " , & fshostusb_fck ) ,
CLK ( NULL , " ssi_ssr_fck " , & ssi_ssr_fck_3430es1 ) ,
CLK ( NULL , " ssi_sst_fck " , & ssi_sst_fck_3430es1 ) ,
CLK ( " musb-omap2430 " , " ick " , & hsotgusb_ick_3430es1 ) ,
CLK ( NULL , " hsotgusb_ick " , & hsotgusb_ick_3430es1 ) ,
CLK ( NULL , " fac_ick " , & fac_ick ) ,
CLK ( NULL , " ssi_ick " , & ssi_ick_3430es1 ) ,
CLK ( NULL , " usb_l4_ick " , & usb_l4_ick ) ,
CLK ( NULL , " dss1_alwon_fck " , & dss1_alwon_fck_3430es1 ) ,
CLK ( " omapdss_dss " , " ick " , & dss_ick_3430es1 ) ,
CLK ( NULL , " dss_ick " , & dss_ick_3430es1 ) ,
{ NULL } ,
} ;
static struct ti_clk_alias omap36xx_clks [ ] = {
CLK ( NULL , " uart4_fck " , & uart4_fck ) ,
{ NULL } ,
} ;
static struct ti_clk_alias am35xx_clks [ ] = {
CLK ( NULL , " ipss_ick " , & ipss_ick ) ,
CLK ( NULL , " rmii_ck " , & rmii_ck ) ,
CLK ( NULL , " pclk_ck " , & pclk_ck ) ,
CLK ( NULL , " emac_ick " , & emac_ick ) ,
CLK ( NULL , " emac_fck " , & emac_fck ) ,
CLK ( " davinci_emac.0 " , NULL , & emac_ick ) ,
CLK ( " davinci_mdio.0 " , NULL , & emac_fck ) ,
CLK ( " vpfe-capture " , " master " , & vpfe_ick ) ,
CLK ( " vpfe-capture " , " slave " , & vpfe_fck ) ,
CLK ( NULL , " hsotgusb_ick " , & hsotgusb_ick_am35xx ) ,
CLK ( NULL , " hsotgusb_fck " , & hsotgusb_fck_am35xx ) ,
CLK ( NULL , " hecc_ck " , & hecc_ck ) ,
CLK ( NULL , " uart4_ick " , & uart4_ick_am35xx ) ,
CLK ( NULL , " uart4_fck " , & uart4_fck_am35xx ) ,
{ NULL } ,
} ;
static struct ti_clk * omap36xx_clk_patches [ ] = {
& dpll4_m3x2_ck_omap36xx ,
& dpll3_m3x2_ck_omap36xx ,
& dpll4_m6x2_ck_omap36xx ,
& dpll4_m2x2_ck_omap36xx ,
& dpll4_m5x2_ck_omap36xx ,
& dpll4_ck_omap36xx ,
NULL ,
} ;
static const char * enable_init_clks [ ] = {
" sdrc_ick " ,
" gpmc_fck " ,
" omapctrl_ick " ,
} ;
static void __init omap3_clk_legacy_common_init ( void )
{
omap2_clk_disable_autoidle_all ( ) ;
omap2_clk_enable_init_clocks ( enable_init_clks ,
ARRAY_SIZE ( enable_init_clks ) ) ;
pr_info ( " Clocking rate (Crystal/Core/MPU): %ld.%01ld/%ld/%ld MHz \n " ,
( clk_get_rate ( osc_sys_ck . clk ) / 1000000 ) ,
( clk_get_rate ( osc_sys_ck . clk ) / 100000 ) % 10 ,
( clk_get_rate ( core_ck . clk ) / 1000000 ) ,
( clk_get_rate ( arm_fck . clk ) / 1000000 ) ) ;
}
int __init omap3430es1_clk_legacy_init ( void )
{
int r ;
r = ti_clk_register_legacy_clks ( omap3430es1_clks ) ;
r | = ti_clk_register_legacy_clks ( omap34xx_omap36xx_clks ) ;
r | = ti_clk_register_legacy_clks ( omap3xxx_clks ) ;
omap3_clk_legacy_common_init ( ) ;
return r ;
}
int __init omap3430_clk_legacy_init ( void )
{
int r ;
r = ti_clk_register_legacy_clks ( omap34xx_omap36xx_clks ) ;
r | = ti_clk_register_legacy_clks ( omap36xx_omap3430es2plus_clks ) ;
r | = ti_clk_register_legacy_clks ( omap36xx_am35xx_omap3430es2plus_clks ) ;
r | = ti_clk_register_legacy_clks ( omap3xxx_clks ) ;
omap3_clk_legacy_common_init ( ) ;
omap3_clk_lock_dpll5 ( ) ;
return r ;
}
int __init omap36xx_clk_legacy_init ( void )
{
int r ;
ti_clk_patch_legacy_clks ( omap36xx_clk_patches ) ;
r = ti_clk_register_legacy_clks ( omap36xx_clks ) ;
r | = ti_clk_register_legacy_clks ( omap36xx_omap3430es2plus_clks ) ;
r | = ti_clk_register_legacy_clks ( omap34xx_omap36xx_clks ) ;
r | = ti_clk_register_legacy_clks ( omap36xx_am35xx_omap3430es2plus_clks ) ;
r | = ti_clk_register_legacy_clks ( omap3xxx_clks ) ;
omap3_clk_legacy_common_init ( ) ;
omap3_clk_lock_dpll5 ( ) ;
return r ;
}
int __init am35xx_clk_legacy_init ( void )
{
int r ;
r = ti_clk_register_legacy_clks ( am35xx_clks ) ;
r | = ti_clk_register_legacy_clks ( omap36xx_am35xx_omap3430es2plus_clks ) ;
r | = ti_clk_register_legacy_clks ( omap3xxx_clks ) ;
omap3_clk_legacy_common_init ( ) ;
omap3_clk_lock_dpll5 ( ) ;
return r ;
}