|
@@ -728,3 +728,198 @@ DEFINE_CLK_OMAP_MUX_GATE(gpt12_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
static struct clk gpt12_ick;
|
|
static struct clk gpt12_ick;
|
|
|
|
|
|
static struct clk_hw_omap gpt12_ick_hw = {
|
|
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);
|
|
|
|
+
|
|
|
|
+static struct clk gpt1_ick;
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap gpt1_ick_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &gpt1_ick,
|
|
|
|
+ },
|
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_ICLKEN),
|
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT1_SHIFT,
|
|
|
|
+ .clkdm_name = "wkup_clkdm",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+DEFINE_STRUCT_CLK(gpt1_ick, gpios_ick_parent_names, aes_ick_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt2_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
|
+ OMAP24XX_CLKSEL_GPT2_MASK,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
|
+ OMAP24XX_EN_GPT2_SHIFT, &clkhwops_wait,
|
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
|
+
|
|
|
|
+static struct clk gpt2_ick;
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap gpt2_ick_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &gpt2_ick,
|
|
|
|
+ },
|
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT2_SHIFT,
|
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+DEFINE_STRUCT_CLK(gpt2_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt3_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
|
+ OMAP24XX_CLKSEL_GPT3_MASK,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
|
+ OMAP24XX_EN_GPT3_SHIFT, &clkhwops_wait,
|
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
|
+
|
|
|
|
+static struct clk gpt3_ick;
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap gpt3_ick_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &gpt3_ick,
|
|
|
|
+ },
|
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT3_SHIFT,
|
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+DEFINE_STRUCT_CLK(gpt3_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt4_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
|
+ OMAP24XX_CLKSEL_GPT4_MASK,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
|
+ OMAP24XX_EN_GPT4_SHIFT, &clkhwops_wait,
|
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
|
+
|
|
|
|
+static struct clk gpt4_ick;
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap gpt4_ick_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &gpt4_ick,
|
|
|
|
+ },
|
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT4_SHIFT,
|
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+DEFINE_STRUCT_CLK(gpt4_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt5_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
|
+ OMAP24XX_CLKSEL_GPT5_MASK,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
|
+ OMAP24XX_EN_GPT5_SHIFT, &clkhwops_wait,
|
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
|
+
|
|
|
|
+static struct clk gpt5_ick;
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap gpt5_ick_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &gpt5_ick,
|
|
|
|
+ },
|
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT5_SHIFT,
|
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+DEFINE_STRUCT_CLK(gpt5_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt6_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
|
+ OMAP24XX_CLKSEL_GPT6_MASK,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
|
+ OMAP24XX_EN_GPT6_SHIFT, &clkhwops_wait,
|
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
|
+
|
|
|
|
+static struct clk gpt6_ick;
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap gpt6_ick_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &gpt6_ick,
|
|
|
|
+ },
|
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT6_SHIFT,
|
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+DEFINE_STRUCT_CLK(gpt6_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt7_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
|
+ OMAP24XX_CLKSEL_GPT7_MASK,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
|
+ OMAP24XX_EN_GPT7_SHIFT, &clkhwops_wait,
|
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
|
+
|
|
|
|
+static struct clk gpt7_ick;
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap gpt7_ick_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &gpt7_ick,
|
|
|
|
+ },
|
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT7_SHIFT,
|
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+DEFINE_STRUCT_CLK(gpt7_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt8_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
|
+ OMAP24XX_CLKSEL_GPT8_MASK,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
|
+ OMAP24XX_EN_GPT8_SHIFT, &clkhwops_wait,
|
|
|
|
+ gpt10_fck_parent_names, dss1_fck_ops);
|
|
|
|
+
|
|
|
|
+static struct clk gpt8_ick;
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap gpt8_ick_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &gpt8_ick,
|
|
|
|
+ },
|
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
|
+ .enable_bit = OMAP24XX_EN_GPT8_SHIFT,
|
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+DEFINE_STRUCT_CLK(gpt8_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt9_fck, "core_l4_clkdm", omap24xx_gpt_clksel,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_CLKSEL2),
|
|
|
|
+ OMAP24XX_CLKSEL_GPT9_MASK,
|
|
|
|
+ OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|