|
@@ -662,3 +662,78 @@ DEFINE_CLK_OMAP_MUX_GATE(gpt10_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
OMAP24XX_EN_GPT10_SHIFT, &clkhwops_wait,
|
|
|
gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
|
|
|
+static struct clk gpt10_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap gpt10_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpt10_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT10_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpt10_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
+
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt11_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
+ OMAP24XX_CLKSEL_GPT11_MASK,
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ OMAP24XX_EN_GPT11_SHIFT, &clkhwops_wait,
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
+
|
|
|
+static struct clk gpt11_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap gpt11_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpt11_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT11_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpt11_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
+
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt12_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
+ OMAP24XX_CLKSEL_GPT12_MASK,
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ OMAP24XX_EN_GPT12_SHIFT, &clkhwops_wait,
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
+
|
|
|
+static struct clk gpt12_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap gpt12_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpt12_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT12_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpt12_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
+
|
|
|
+static const struct clk_ops gpt1_fck_ops = {
|
|
|
+ .init = &omap2_init_clk_clkdm,
|
|
|
+ .enable = &omap2_dflt_clk_enable,
|
|
|
+ .disable = &omap2_dflt_clk_disable,
|
|
|
+ .is_enabled = &omap2_dflt_clk_is_enabled,
|
|
|
+ .recalc_rate = &omap2_clksel_recalc,
|
|
|
+ .set_rate = &omap2_clksel_set_rate,
|
|
|
+ .round_rate = &omap2_clksel_round_rate,
|
|
|
+ .get_parent = &omap2_clksel_find_parent_index,
|
|
|
+ .set_parent = &omap2_clksel_set_parent,
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt1_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
+ OMAP_CM_REGADDR(WKUP_MOD, CM_CLKSEL1),
|
|
|
+ OMAP24XX_CLKSEL_GPT1_MASK,
|
|
|
+ OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN),
|
|
|
+ OMAP24XX_EN_GPT1_SHIFT, &clkhwops_wait,
|
|
|
+ gpt10_fck_parent_names, gpt1_fck_ops);
|
|
|
+
|