|
@@ -1725,3 +1725,149 @@ DEFINE_CLK_OMAP_MUX_GATE(gpt8_fck, "per_clkdm", omap343x_gpt_clksel,
|
|
|
OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
|
|
|
OMAP3430_EN_GPT8_SHIFT, &clkhwops_wait,
|
|
|
gpt10_fck_parent_names, clkout2_src_ck_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(OMAP3430_PER_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_GPT8_SHIFT,
|
|
|
+ .clkdm_name = "per_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpt8_ick, gpio2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(gpt9_fck, "per_clkdm", omap343x_gpt_clksel,
|
|
|
+ OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_CLKSEL),
|
|
|
+ OMAP3430_CLKSEL_GPT9_MASK,
|
|
|
+ OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
|
|
|
+ OMAP3430_EN_GPT9_SHIFT, &clkhwops_wait,
|
|
|
+ gpt10_fck_parent_names, clkout2_src_ck_ops);
|
|
|
+
|
|
|
+static struct clk gpt9_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap gpt9_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpt9_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_GPT9_SHIFT,
|
|
|
+ .clkdm_name = "per_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpt9_ick, gpio2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk hdq_fck;
|
|
|
+
|
|
|
+static const char *hdq_fck_parent_names[] = {
|
|
|
+ "core_12m_fck",
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_hw_omap hdq_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &hdq_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_HDQ_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(hdq_fck, hdq_fck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk hdq_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap hdq_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &hdq_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_HDQ_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(hdq_ick, aes2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk hecc_ck;
|
|
|
+
|
|
|
+static struct clk_hw_omap hecc_ck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &hecc_ck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_am35xx_ipss_module_wait,
|
|
|
+ .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL),
|
|
|
+ .enable_bit = AM35XX_HECC_VBUSP_CLK_SHIFT,
|
|
|
+ .clkdm_name = "core_l3_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(hecc_ck, dpll3_ck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk hsotgusb_fck_am35xx;
|
|
|
+
|
|
|
+static struct clk_hw_omap hsotgusb_fck_am35xx_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &hsotgusb_fck_am35xx,
|
|
|
+ },
|
|
|
+ .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL),
|
|
|
+ .enable_bit = AM35XX_USBOTG_FCLK_SHIFT,
|
|
|
+ .clkdm_name = "core_l3_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(hsotgusb_fck_am35xx, dpll3_ck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk hsotgusb_ick_3430es1;
|
|
|
+
|
|
|
+static struct clk_hw_omap hsotgusb_ick_3430es1_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &hsotgusb_ick_3430es1,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_HSOTGUSB_SHIFT,
|
|
|
+ .clkdm_name = "core_l3_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(hsotgusb_ick_3430es1, ipss_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk hsotgusb_ick_3430es2;
|
|
|
+
|
|
|
+static struct clk_hw_omap hsotgusb_ick_3430es2_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &hsotgusb_ick_3430es2,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_omap3430es2_iclk_hsotgusb_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_HSOTGUSB_SHIFT,
|
|
|
+ .clkdm_name = "core_l3_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(hsotgusb_ick_3430es2, ipss_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk hsotgusb_ick_am35xx;
|
|
|
+
|
|
|
+static struct clk_hw_omap hsotgusb_ick_am35xx_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &hsotgusb_ick_am35xx,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_am35xx_ipss_module_wait,
|
|
|
+ .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL),
|
|
|
+ .enable_bit = AM35XX_USBOTG_VBUSP_CLK_SHIFT,
|
|
|
+ .clkdm_name = "core_l3_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(hsotgusb_ick_am35xx, emac_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk i2c1_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap i2c1_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &i2c1_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_I2C1_SHIFT,
|