]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/arm/mach-omap2/clock24xx.h
[ARM] omap: add default .ops to all remaining OMAP2 clocks
[linux-2.6-omap-h63xx.git] / arch / arm / mach-omap2 / clock24xx.h
index ff6cd14d254db7a9a098dd87b7000f1cbac1e09b..b59bf902ce7c29d6eda0517c405570bfb76f81a7 100644 (file)
@@ -31,10 +31,6 @@ static void omap2_sys_clk_recalc(struct clk *clk);
 static void omap2_osc_clk_recalc(struct clk *clk);
 static void omap2_sys_clk_recalc(struct clk *clk);
 static void omap2_dpllcore_recalc(struct clk *clk);
-static int omap2_clk_fixed_enable(struct clk *clk);
-static void omap2_clk_fixed_disable(struct clk *clk);
-static int omap2_enable_osc_ck(struct clk *clk);
-static void omap2_disable_osc_ck(struct clk *clk);
 static int omap2_reprogram_dpllcore(struct clk *clk, unsigned long rate);
 
 /* Key dividers which make up a PRCM set. Ratio's for a PRCM are mandated.
@@ -623,9 +619,10 @@ static struct prcm_config rate_table[] = {
 /* Base external input clocks */
 static struct clk func_32k_ck = {
        .name           = "func_32k_ck",
+       .ops            = &clkops_null,
        .rate           = 32000,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               RATE_FIXED | ALWAYS_ENABLED | RATE_PROPAGATES,
+                               RATE_FIXED | RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .recalc         = &propagate_rate,
 };
@@ -633,29 +630,30 @@ static struct clk func_32k_ck = {
 /* Typical 12/13MHz in standalone mode, will be 26Mhz in chassis mode */
 static struct clk osc_ck = {           /* (*12, *13, 19.2, *26, 38.4)MHz */
        .name           = "osc_ck",
+       .ops            = &clkops_oscck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
-       .enable         = &omap2_enable_osc_ck,
-       .disable        = &omap2_disable_osc_ck,
        .recalc         = &omap2_osc_clk_recalc,
 };
 
 /* Without modem likely 12MHz, with modem likely 13MHz */
 static struct clk sys_ck = {           /* (*12, *13, 19.2, 26, 38.4)MHz */
        .name           = "sys_ck",             /* ~ ref_clk also */
+       .ops            = &clkops_null,
        .parent         = &osc_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               ALWAYS_ENABLED | RATE_PROPAGATES,
+                               RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .recalc         = &omap2_sys_clk_recalc,
 };
 
 static struct clk alt_ck = {           /* Typical 54M or 48M, may not exist */
        .name           = "alt_ck",
+       .ops            = &clkops_null,
        .rate           = 54000000,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               RATE_FIXED | ALWAYS_ENABLED | RATE_PROPAGATES,
+                               RATE_FIXED | RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .recalc         = &propagate_rate,
 };
@@ -684,10 +682,11 @@ static struct dpll_data dpll_dd = {
  */
 static struct clk dpll_ck = {
        .name           = "dpll_ck",
+       .ops            = &clkops_null,
        .parent         = &sys_ck,              /* Can be func_32k also */
        .dpll_data      = &dpll_dd,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               RATE_PROPAGATES | ALWAYS_ENABLED,
+                               RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .recalc         = &omap2_dpllcore_recalc,
        .set_rate       = &omap2_reprogram_dpllcore,
@@ -695,6 +694,7 @@ static struct clk dpll_ck = {
 
 static struct clk apll96_ck = {
        .name           = "apll96_ck",
+       .ops            = &clkops_fixed,
        .parent         = &sys_ck,
        .rate           = 96000000,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
@@ -702,13 +702,12 @@ static struct clk apll96_ck = {
        .clkdm_name     = "wkup_clkdm",
        .enable_reg     = OMAP_CM_REGADDR(PLL_MOD, CM_CLKEN),
        .enable_bit     = OMAP24XX_EN_96M_PLL_SHIFT,
-       .enable         = &omap2_clk_fixed_enable,
-       .disable        = &omap2_clk_fixed_disable,
        .recalc         = &propagate_rate,
 };
 
 static struct clk apll54_ck = {
        .name           = "apll54_ck",
+       .ops            = &clkops_fixed,
        .parent         = &sys_ck,
        .rate           = 54000000,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
@@ -716,8 +715,6 @@ static struct clk apll54_ck = {
        .clkdm_name     = "wkup_clkdm",
        .enable_reg     = OMAP_CM_REGADDR(PLL_MOD, CM_CLKEN),
        .enable_bit     = OMAP24XX_EN_54M_PLL_SHIFT,
-       .enable         = &omap2_clk_fixed_enable,
-       .disable        = &omap2_clk_fixed_disable,
        .recalc         = &propagate_rate,
 };
 
@@ -745,9 +742,10 @@ static const struct clksel func_54m_clksel[] = {
 
 static struct clk func_54m_ck = {
        .name           = "func_54m_ck",
+       .ops            = &clkops_null,
        .parent         = &apll54_ck,   /* can also be alt_clk */
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               RATE_PROPAGATES | PARENT_CONTROLS_CLOCK,
+                               RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .init           = &omap2_init_clksel_parent,
        .clksel_reg     = OMAP_CM_REGADDR(PLL_MOD, CM_CLKSEL1),
@@ -758,9 +756,10 @@ static struct clk func_54m_ck = {
 
 static struct clk core_ck = {
        .name           = "core_ck",
+       .ops            = &clkops_null,
        .parent         = &dpll_ck,             /* can also be 32k */
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               ALWAYS_ENABLED | RATE_PROPAGATES,
+                               RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .recalc         = &followparent_recalc,
 };
@@ -785,9 +784,10 @@ static const struct clksel func_96m_clksel[] = {
 /* The parent of this clock is not selectable on 2420. */
 static struct clk func_96m_ck = {
        .name           = "func_96m_ck",
+       .ops            = &clkops_null,
        .parent         = &apll96_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               RATE_PROPAGATES | PARENT_CONTROLS_CLOCK,
+                               RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .init           = &omap2_init_clksel_parent,
        .clksel_reg     = OMAP_CM_REGADDR(PLL_MOD, CM_CLKSEL1),
@@ -818,9 +818,10 @@ static const struct clksel func_48m_clksel[] = {
 
 static struct clk func_48m_ck = {
        .name           = "func_48m_ck",
+       .ops            = &clkops_null,
        .parent         = &apll96_ck,    /* 96M or Alt */
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               RATE_PROPAGATES | PARENT_CONTROLS_CLOCK,
+                               RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .init           = &omap2_init_clksel_parent,
        .clksel_reg     = OMAP_CM_REGADDR(PLL_MOD, CM_CLKSEL1),
@@ -833,10 +834,11 @@ static struct clk func_48m_ck = {
 
 static struct clk func_12m_ck = {
        .name           = "func_12m_ck",
+       .ops            = &clkops_null,
        .parent         = &func_48m_ck,
        .fixed_div      = 4,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               RATE_PROPAGATES | PARENT_CONTROLS_CLOCK,
+                               RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
        .recalc         = &omap2_fixed_divisor_recalc,
 };
@@ -844,6 +846,7 @@ static struct clk func_12m_ck = {
 /* Secure timer, only available in secure mode */
 static struct clk wdt1_osc_ck = {
        .name           = "ck_wdt1_osc",
+       .ops            = &clkops_null, /* RMK: missing? */
        .parent         = &osc_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .recalc         = &followparent_recalc,
@@ -887,6 +890,7 @@ static const struct clksel common_clkout_src_clksel[] = {
 
 static struct clk sys_clkout_src = {
        .name           = "sys_clkout_src",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_54m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                RATE_PROPAGATES,
@@ -918,9 +922,9 @@ static const struct clksel sys_clkout_clksel[] = {
 
 static struct clk sys_clkout = {
        .name           = "sys_clkout",
+       .ops            = &clkops_null,
        .parent         = &sys_clkout_src,
-       .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               PARENT_CONTROLS_CLOCK,
+       .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "wkup_clkdm",
        .clksel_reg     = OMAP24XX_PRCM_CLKOUT_CTRL,
        .clksel_mask    = OMAP24XX_CLKOUT_DIV_MASK,
@@ -933,6 +937,7 @@ static struct clk sys_clkout = {
 /* In 2430, new in 2420 ES2 */
 static struct clk sys_clkout2_src = {
        .name           = "sys_clkout2_src",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_54m_ck,
        .flags          = CLOCK_IN_OMAP242X | RATE_PROPAGATES,
        .clkdm_name     = "wkup_clkdm",
@@ -955,8 +960,9 @@ static const struct clksel sys_clkout2_clksel[] = {
 /* In 2430, new in 2420 ES2 */
 static struct clk sys_clkout2 = {
        .name           = "sys_clkout2",
+       .ops            = &clkops_null,
        .parent         = &sys_clkout2_src,
-       .flags          = CLOCK_IN_OMAP242X | PARENT_CONTROLS_CLOCK,
+       .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "wkup_clkdm",
        .clksel_reg     = OMAP24XX_PRCM_CLKOUT_CTRL,
        .clksel_mask    = OMAP2420_CLKOUT2_DIV_MASK,
@@ -968,6 +974,7 @@ static struct clk sys_clkout2 = {
 
 static struct clk emul_ck = {
        .name           = "emul_ck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_54m_ck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "wkup_clkdm",
@@ -1003,9 +1010,10 @@ static const struct clksel mpu_clksel[] = {
 
 static struct clk mpu_ck = {   /* Control cpu */
        .name           = "mpu_ck",
+       .ops            = &clkops_null,
        .parent         = &core_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               ALWAYS_ENABLED | DELAYED_APP |
+                               DELAYED_APP |
                                CONFIG_PARTICIPANT | RATE_PROPAGATES,
        .clkdm_name     = "mpu_clkdm",
        .init           = &omap2_init_clksel_parent,
@@ -1046,6 +1054,7 @@ static const struct clksel dsp_fck_clksel[] = {
 
 static struct clk dsp_fck = {
        .name           = "dsp_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X | DELAYED_APP |
                                CONFIG_PARTICIPANT | RATE_PROPAGATES,
@@ -1076,9 +1085,10 @@ static const struct clksel dsp_irate_ick_clksel[] = {
 /* This clock does not exist as such in the TRM. */
 static struct clk dsp_irate_ick = {
        .name           = "dsp_irate_ick",
+       .ops            = &clkops_null,
        .parent         = &dsp_fck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X | DELAYED_APP |
-                               CONFIG_PARTICIPANT | PARENT_CONTROLS_CLOCK,
+                               CONFIG_PARTICIPANT,
        .clksel_reg     = OMAP_CM_REGADDR(OMAP24XX_DSP_MOD, CM_CLKSEL),
        .clksel_mask    = OMAP24XX_CLKSEL_DSP_IF_MASK,
        .clksel         = dsp_irate_ick_clksel,
@@ -1090,6 +1100,7 @@ static struct clk dsp_irate_ick = {
 /* 2420 only */
 static struct clk dsp_ick = {
        .name           = "dsp_ick",     /* apparently ipi and isp */
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &dsp_irate_ick,
        .flags          = CLOCK_IN_OMAP242X | DELAYED_APP | CONFIG_PARTICIPANT,
        .enable_reg     = OMAP_CM_REGADDR(OMAP24XX_DSP_MOD, CM_ICLKEN),
@@ -1099,6 +1110,7 @@ static struct clk dsp_ick = {
 /* 2430 only - EN_DSP controls both dsp fclk and iclk on 2430 */
 static struct clk iva2_1_ick = {
        .name           = "iva2_1_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &dsp_irate_ick,
        .flags          = CLOCK_IN_OMAP243X | DELAYED_APP | CONFIG_PARTICIPANT,
        .enable_reg     = OMAP_CM_REGADDR(OMAP24XX_DSP_MOD, CM_FCLKEN),
@@ -1112,6 +1124,7 @@ static struct clk iva2_1_ick = {
  */
 static struct clk iva1_ifck = {
        .name           = "iva1_ifck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_ck,
        .flags          = CLOCK_IN_OMAP242X | CONFIG_PARTICIPANT |
                                RATE_PROPAGATES | DELAYED_APP,
@@ -1129,6 +1142,7 @@ static struct clk iva1_ifck = {
 /* IVA1 mpu/int/i/f clocks are /2 of parent */
 static struct clk iva1_mpu_int_ifck = {
        .name           = "iva1_mpu_int_ifck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &iva1_ifck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "iva1_clkdm",
@@ -1175,9 +1189,10 @@ static const struct clksel core_l3_clksel[] = {
 
 static struct clk core_l3_ck = {       /* Used for ick and fck, interconnect */
        .name           = "core_l3_ck",
+       .ops            = &clkops_null,
        .parent         = &core_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               ALWAYS_ENABLED | DELAYED_APP |
+                               DELAYED_APP |
                                CONFIG_PARTICIPANT | RATE_PROPAGATES,
        .clkdm_name     = "core_l3_clkdm",
        .clksel_reg     = OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL1),
@@ -1204,6 +1219,7 @@ static const struct clksel usb_l4_ick_clksel[] = {
 /* It is unclear from TRM whether usb_l4_ick is really in L3 or L4 clkdm */
 static struct clk usb_l4_ick = {       /* FS-USB interface clock */
        .name           = "usb_l4_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                DELAYED_APP | CONFIG_PARTICIPANT,
@@ -1238,9 +1254,10 @@ static const struct clksel l4_clksel[] = {
 
 static struct clk l4_ck = {            /* used both as an ick and fck */
        .name           = "l4_ck",
+       .ops            = &clkops_null,
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               ALWAYS_ENABLED | DELAYED_APP | RATE_PROPAGATES,
+                               DELAYED_APP | RATE_PROPAGATES,
        .clkdm_name     = "core_l4_clkdm",
        .clksel_reg     = OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL1),
        .clksel_mask    = OMAP24XX_CLKSEL_L4_MASK,
@@ -1276,6 +1293,7 @@ static const struct clksel ssi_ssr_sst_fck_clksel[] = {
 
 static struct clk ssi_ssr_sst_fck = {
        .name           = "ssi_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                DELAYED_APP,
@@ -1312,6 +1330,7 @@ static const struct clksel gfx_fck_clksel[] = {
 
 static struct clk gfx_3d_fck = {
        .name           = "gfx_3d_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "gfx_clkdm",
@@ -1327,6 +1346,7 @@ static struct clk gfx_3d_fck = {
 
 static struct clk gfx_2d_fck = {
        .name           = "gfx_2d_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "gfx_clkdm",
@@ -1342,6 +1362,7 @@ static struct clk gfx_2d_fck = {
 
 static struct clk gfx_ick = {
        .name           = "gfx_ick",            /* From l3 */
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "gfx_clkdm",
@@ -1372,6 +1393,7 @@ static const struct clksel mdm_ick_clksel[] = {
 
 static struct clk mdm_ick = {          /* used both as a ick and fck */
        .name           = "mdm_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_ck,
        .flags          = CLOCK_IN_OMAP243X | DELAYED_APP | CONFIG_PARTICIPANT,
        .clkdm_name     = "mdm_clkdm",
@@ -1387,6 +1409,7 @@ static struct clk mdm_ick = {             /* used both as a ick and fck */
 
 static struct clk mdm_osc_ck = {
        .name           = "mdm_osc_ck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &osc_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "mdm_clkdm",
@@ -1432,6 +1455,7 @@ static const struct clksel dss1_fck_clksel[] = {
 
 static struct clk dss_ick = {          /* Enables both L3,L4 ICLK's */
        .name           = "dss_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,       /* really both l3 and l4 */
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "dss_clkdm",
@@ -1442,6 +1466,7 @@ static struct clk dss_ick = {             /* Enables both L3,L4 ICLK's */
 
 static struct clk dss1_fck = {
        .name           = "dss1_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_ck,             /* Core or sys */
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                DELAYED_APP,
@@ -1475,6 +1500,7 @@ static const struct clksel dss2_fck_clksel[] = {
 
 static struct clk dss2_fck = {         /* Alt clk used in power management */
        .name           = "dss2_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &sys_ck,              /* fixed at sys_ck or 48MHz */
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                DELAYED_APP,
@@ -1490,6 +1516,7 @@ static struct clk dss2_fck = {            /* Alt clk used in power management */
 
 static struct clk dss_54m_fck = {      /* Alt clk used in power management */
        .name           = "dss_54m_fck",        /* 54m tv clk */
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_54m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "dss_clkdm",
@@ -1518,6 +1545,7 @@ static const struct clksel omap24xx_gpt_clksel[] = {
 
 static struct clk gpt1_ick = {
        .name           = "gpt1_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1528,6 +1556,7 @@ static struct clk gpt1_ick = {
 
 static struct clk gpt1_fck = {
        .name           = "gpt1_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1544,6 +1573,7 @@ static struct clk gpt1_fck = {
 
 static struct clk gpt2_ick = {
        .name           = "gpt2_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1554,6 +1584,7 @@ static struct clk gpt2_ick = {
 
 static struct clk gpt2_fck = {
        .name           = "gpt2_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1568,6 +1599,7 @@ static struct clk gpt2_fck = {
 
 static struct clk gpt3_ick = {
        .name           = "gpt3_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1578,6 +1610,7 @@ static struct clk gpt3_ick = {
 
 static struct clk gpt3_fck = {
        .name           = "gpt3_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1592,6 +1625,7 @@ static struct clk gpt3_fck = {
 
 static struct clk gpt4_ick = {
        .name           = "gpt4_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1602,6 +1636,7 @@ static struct clk gpt4_ick = {
 
 static struct clk gpt4_fck = {
        .name           = "gpt4_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1616,6 +1651,7 @@ static struct clk gpt4_fck = {
 
 static struct clk gpt5_ick = {
        .name           = "gpt5_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1626,6 +1662,7 @@ static struct clk gpt5_ick = {
 
 static struct clk gpt5_fck = {
        .name           = "gpt5_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1640,6 +1677,7 @@ static struct clk gpt5_fck = {
 
 static struct clk gpt6_ick = {
        .name           = "gpt6_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1650,6 +1688,7 @@ static struct clk gpt6_ick = {
 
 static struct clk gpt6_fck = {
        .name           = "gpt6_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1664,6 +1703,7 @@ static struct clk gpt6_fck = {
 
 static struct clk gpt7_ick = {
        .name           = "gpt7_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .enable_reg     = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
@@ -1673,6 +1713,7 @@ static struct clk gpt7_ick = {
 
 static struct clk gpt7_fck = {
        .name           = "gpt7_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1687,6 +1728,7 @@ static struct clk gpt7_fck = {
 
 static struct clk gpt8_ick = {
        .name           = "gpt8_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1697,6 +1739,7 @@ static struct clk gpt8_ick = {
 
 static struct clk gpt8_fck = {
        .name           = "gpt8_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1711,6 +1754,7 @@ static struct clk gpt8_fck = {
 
 static struct clk gpt9_ick = {
        .name           = "gpt9_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1721,6 +1765,7 @@ static struct clk gpt9_ick = {
 
 static struct clk gpt9_fck = {
        .name           = "gpt9_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1735,6 +1780,7 @@ static struct clk gpt9_fck = {
 
 static struct clk gpt10_ick = {
        .name           = "gpt10_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1745,6 +1791,7 @@ static struct clk gpt10_ick = {
 
 static struct clk gpt10_fck = {
        .name           = "gpt10_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1759,6 +1806,7 @@ static struct clk gpt10_fck = {
 
 static struct clk gpt11_ick = {
        .name           = "gpt11_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1769,6 +1817,7 @@ static struct clk gpt11_ick = {
 
 static struct clk gpt11_fck = {
        .name           = "gpt11_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1783,6 +1832,7 @@ static struct clk gpt11_fck = {
 
 static struct clk gpt12_ick = {
        .name           = "gpt12_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1793,6 +1843,7 @@ static struct clk gpt12_ick = {
 
 static struct clk gpt12_fck = {
        .name           = "gpt12_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1807,6 +1858,7 @@ static struct clk gpt12_fck = {
 
 static struct clk mcbsp1_ick = {
        .name           = "mcbsp_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -1818,6 +1870,7 @@ static struct clk mcbsp1_ick = {
 
 static struct clk mcbsp1_fck = {
        .name           = "mcbsp_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -1829,6 +1882,7 @@ static struct clk mcbsp1_fck = {
 
 static struct clk mcbsp2_ick = {
        .name           = "mcbsp_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 2,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -1840,6 +1894,7 @@ static struct clk mcbsp2_ick = {
 
 static struct clk mcbsp2_fck = {
        .name           = "mcbsp_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 2,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -1851,6 +1906,7 @@ static struct clk mcbsp2_fck = {
 
 static struct clk mcbsp3_ick = {
        .name           = "mcbsp_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 3,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -1862,6 +1918,7 @@ static struct clk mcbsp3_ick = {
 
 static struct clk mcbsp3_fck = {
        .name           = "mcbsp_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 3,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -1873,6 +1930,7 @@ static struct clk mcbsp3_fck = {
 
 static struct clk mcbsp4_ick = {
        .name           = "mcbsp_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 4,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -1884,6 +1942,7 @@ static struct clk mcbsp4_ick = {
 
 static struct clk mcbsp4_fck = {
        .name           = "mcbsp_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 4,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -1895,6 +1954,7 @@ static struct clk mcbsp4_fck = {
 
 static struct clk mcbsp5_ick = {
        .name           = "mcbsp_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 5,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -1906,6 +1966,7 @@ static struct clk mcbsp5_ick = {
 
 static struct clk mcbsp5_fck = {
        .name           = "mcbsp_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 5,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -1917,6 +1978,7 @@ static struct clk mcbsp5_fck = {
 
 static struct clk mcspi1_ick = {
        .name           = "mcspi_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &l4_ck,
        .clkdm_name     = "core_l4_clkdm",
@@ -1928,6 +1990,7 @@ static struct clk mcspi1_ick = {
 
 static struct clk mcspi1_fck = {
        .name           = "mcspi_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &func_48m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -1939,6 +2002,7 @@ static struct clk mcspi1_fck = {
 
 static struct clk mcspi2_ick = {
        .name           = "mcspi_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 2,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -1950,6 +2014,7 @@ static struct clk mcspi2_ick = {
 
 static struct clk mcspi2_fck = {
        .name           = "mcspi_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 2,
        .parent         = &func_48m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -1961,6 +2026,7 @@ static struct clk mcspi2_fck = {
 
 static struct clk mcspi3_ick = {
        .name           = "mcspi_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 3,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -1972,6 +2038,7 @@ static struct clk mcspi3_ick = {
 
 static struct clk mcspi3_fck = {
        .name           = "mcspi_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 3,
        .parent         = &func_48m_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -1983,6 +2050,7 @@ static struct clk mcspi3_fck = {
 
 static struct clk uart1_ick = {
        .name           = "uart1_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -1993,6 +2061,7 @@ static struct clk uart1_ick = {
 
 static struct clk uart1_fck = {
        .name           = "uart1_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_48m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2003,6 +2072,7 @@ static struct clk uart1_fck = {
 
 static struct clk uart2_ick = {
        .name           = "uart2_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2013,6 +2083,7 @@ static struct clk uart2_ick = {
 
 static struct clk uart2_fck = {
        .name           = "uart2_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_48m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2023,6 +2094,7 @@ static struct clk uart2_fck = {
 
 static struct clk uart3_ick = {
        .name           = "uart3_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2033,6 +2105,7 @@ static struct clk uart3_ick = {
 
 static struct clk uart3_fck = {
        .name           = "uart3_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_48m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2043,6 +2116,7 @@ static struct clk uart3_fck = {
 
 static struct clk gpios_ick = {
        .name           = "gpios_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2053,6 +2127,7 @@ static struct clk gpios_ick = {
 
 static struct clk gpios_fck = {
        .name           = "gpios_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "wkup_clkdm",
@@ -2063,6 +2138,7 @@ static struct clk gpios_fck = {
 
 static struct clk mpu_wdt_ick = {
        .name           = "mpu_wdt_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2073,6 +2149,7 @@ static struct clk mpu_wdt_ick = {
 
 static struct clk mpu_wdt_fck = {
        .name           = "mpu_wdt_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "wkup_clkdm",
@@ -2083,6 +2160,7 @@ static struct clk mpu_wdt_fck = {
 
 static struct clk sync_32k_ick = {
        .name           = "sync_32k_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                ENABLE_ON_INIT,
@@ -2094,6 +2172,7 @@ static struct clk sync_32k_ick = {
 
 static struct clk wdt1_ick = {
        .name           = "wdt1_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2104,6 +2183,7 @@ static struct clk wdt1_ick = {
 
 static struct clk omapctrl_ick = {
        .name           = "omapctrl_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                ENABLE_ON_INIT,
@@ -2115,6 +2195,7 @@ static struct clk omapctrl_ick = {
 
 static struct clk icr_ick = {
        .name           = "icr_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2125,6 +2206,7 @@ static struct clk icr_ick = {
 
 static struct clk cam_ick = {
        .name           = "cam_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2140,6 +2222,7 @@ static struct clk cam_ick = {
  */
 static struct clk cam_fck = {
        .name           = "cam_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l3_clkdm",
@@ -2150,6 +2233,7 @@ static struct clk cam_fck = {
 
 static struct clk mailboxes_ick = {
        .name           = "mailboxes_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2160,6 +2244,7 @@ static struct clk mailboxes_ick = {
 
 static struct clk wdt4_ick = {
        .name           = "wdt4_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2170,6 +2255,7 @@ static struct clk wdt4_ick = {
 
 static struct clk wdt4_fck = {
        .name           = "wdt4_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2180,6 +2266,7 @@ static struct clk wdt4_fck = {
 
 static struct clk wdt3_ick = {
        .name           = "wdt3_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2190,6 +2277,7 @@ static struct clk wdt3_ick = {
 
 static struct clk wdt3_fck = {
        .name           = "wdt3_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2200,6 +2288,7 @@ static struct clk wdt3_fck = {
 
 static struct clk mspro_ick = {
        .name           = "mspro_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2210,6 +2299,7 @@ static struct clk mspro_ick = {
 
 static struct clk mspro_fck = {
        .name           = "mspro_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2220,6 +2310,7 @@ static struct clk mspro_fck = {
 
 static struct clk mmc_ick = {
        .name           = "mmc_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2230,6 +2321,7 @@ static struct clk mmc_ick = {
 
 static struct clk mmc_fck = {
        .name           = "mmc_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2240,6 +2332,7 @@ static struct clk mmc_fck = {
 
 static struct clk fac_ick = {
        .name           = "fac_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2250,6 +2343,7 @@ static struct clk fac_ick = {
 
 static struct clk fac_fck = {
        .name           = "fac_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_12m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2260,6 +2354,7 @@ static struct clk fac_fck = {
 
 static struct clk eac_ick = {
        .name           = "eac_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2270,6 +2365,7 @@ static struct clk eac_ick = {
 
 static struct clk eac_fck = {
        .name           = "eac_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2280,6 +2376,7 @@ static struct clk eac_fck = {
 
 static struct clk hdq_ick = {
        .name           = "hdq_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2290,6 +2387,7 @@ static struct clk hdq_ick = {
 
 static struct clk hdq_fck = {
        .name           = "hdq_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_12m_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2300,6 +2398,7 @@ static struct clk hdq_fck = {
 
 static struct clk i2c2_ick = {
        .name           = "i2c_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 2,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -2311,6 +2410,7 @@ static struct clk i2c2_ick = {
 
 static struct clk i2c2_fck = {
        .name           = "i2c_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 2,
        .parent         = &func_12m_ck,
        .flags          = CLOCK_IN_OMAP242X,
@@ -2321,7 +2421,8 @@ static struct clk i2c2_fck = {
 };
 
 static struct clk i2chs2_fck = {
-       .name           = "i2chs_fck",
+       .name           = "i2c_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 2,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -2333,6 +2434,7 @@ static struct clk i2chs2_fck = {
 
 static struct clk i2c1_ick = {
        .name           = "i2c_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
@@ -2344,6 +2446,7 @@ static struct clk i2c1_ick = {
 
 static struct clk i2c1_fck = {
        .name           = "i2c_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &func_12m_ck,
        .flags          = CLOCK_IN_OMAP242X,
@@ -2354,7 +2457,8 @@ static struct clk i2c1_fck = {
 };
 
 static struct clk i2chs1_fck = {
-       .name           = "i2chs_fck",
+       .name           = "i2c_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -2366,6 +2470,7 @@ static struct clk i2chs1_fck = {
 
 static struct clk gpmc_fck = {
        .name           = "gpmc_fck",
+       .ops            = &clkops_null, /* RMK: missing? */
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
                                ENABLE_ON_INIT,
@@ -2375,6 +2480,7 @@ static struct clk gpmc_fck = {
 
 static struct clk sdma_fck = {
        .name           = "sdma_fck",
+       .ops            = &clkops_null, /* RMK: missing? */
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l3_clkdm",
@@ -2383,6 +2489,7 @@ static struct clk sdma_fck = {
 
 static struct clk sdma_ick = {
        .name           = "sdma_ick",
+       .ops            = &clkops_null, /* RMK: missing? */
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l3_clkdm",
@@ -2391,6 +2498,7 @@ static struct clk sdma_ick = {
 
 static struct clk vlynq_ick = {
        .name           = "vlynq_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l3_clkdm",
@@ -2426,6 +2534,7 @@ static const struct clksel vlynq_fck_clksel[] = {
 
 static struct clk vlynq_fck = {
        .name           = "vlynq_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP242X | DELAYED_APP,
        .clkdm_name     = "core_l3_clkdm",
@@ -2442,6 +2551,7 @@ static struct clk vlynq_fck = {
 
 static struct clk sdrc_ick = {
        .name           = "sdrc_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X | ENABLE_ON_INIT,
        .clkdm_name     = "core_l4_clkdm",
@@ -2452,6 +2562,7 @@ static struct clk sdrc_ick = {
 
 static struct clk des_ick = {
        .name           = "des_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X | CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2462,6 +2573,7 @@ static struct clk des_ick = {
 
 static struct clk sha_ick = {
        .name           = "sha_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X | CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2472,6 +2584,7 @@ static struct clk sha_ick = {
 
 static struct clk rng_ick = {
        .name           = "rng_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X | CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2482,6 +2595,7 @@ static struct clk rng_ick = {
 
 static struct clk aes_ick = {
        .name           = "aes_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X | CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2492,6 +2606,7 @@ static struct clk aes_ick = {
 
 static struct clk pka_ick = {
        .name           = "pka_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X | CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2502,6 +2617,7 @@ static struct clk pka_ick = {
 
 static struct clk usb_fck = {
        .name           = "usb_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_48m_ck,
        .flags          = CLOCK_IN_OMAP243X | CLOCK_IN_OMAP242X,
        .clkdm_name     = "core_l3_clkdm",
@@ -2512,6 +2628,7 @@ static struct clk usb_fck = {
 
 static struct clk usbhs_ick = {
        .name           = "usbhs_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &core_l3_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l3_clkdm",
@@ -2522,6 +2639,7 @@ static struct clk usbhs_ick = {
 
 static struct clk mmchs1_ick = {
        .name           = "mmchs_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2532,6 +2650,7 @@ static struct clk mmchs1_ick = {
 
 static struct clk mmchs1_fck = {
        .name           = "mmchs_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l3_clkdm",
@@ -2542,6 +2661,7 @@ static struct clk mmchs1_fck = {
 
 static struct clk mmchs2_ick = {
        .name           = "mmchs_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -2553,6 +2673,7 @@ static struct clk mmchs2_ick = {
 
 static struct clk mmchs2_fck = {
        .name           = "mmchs_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &func_96m_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -2563,6 +2684,7 @@ static struct clk mmchs2_fck = {
 
 static struct clk gpio5_ick = {
        .name           = "gpio5_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2573,6 +2695,7 @@ static struct clk gpio5_ick = {
 
 static struct clk gpio5_fck = {
        .name           = "gpio5_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2583,6 +2706,7 @@ static struct clk gpio5_fck = {
 
 static struct clk mdm_intc_ick = {
        .name           = "mdm_intc_ick",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &l4_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2593,6 +2717,7 @@ static struct clk mdm_intc_ick = {
 
 static struct clk mmchsdb1_fck = {
        .name           = "mmchsdb_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP243X,
        .clkdm_name     = "core_l4_clkdm",
@@ -2603,6 +2728,7 @@ static struct clk mmchsdb1_fck = {
 
 static struct clk mmchsdb2_fck = {
        .name           = "mmchsdb_fck",
+       .ops            = &clkops_omap2_dflt_wait,
        .id             = 1,
        .parent         = &func_32k_ck,
        .flags          = CLOCK_IN_OMAP243X,
@@ -2628,8 +2754,9 @@ static struct clk mmchsdb2_fck = {
  */
 static struct clk virt_prcm_set = {
        .name           = "virt_prcm_set",
+       .ops            = &clkops_null,
        .flags          = CLOCK_IN_OMAP242X | CLOCK_IN_OMAP243X |
-                               VIRTUAL_CLOCK | ALWAYS_ENABLED | DELAYED_APP,
+                               DELAYED_APP,
        .parent         = &mpu_ck,      /* Indexed by mpu speed, no parent */
        .recalc         = &omap2_table_mpu_recalc,      /* sets are keyed on mpu rate */
        .set_rate       = &omap2_select_table_rate,