|
@@ -1219,3 +1219,191 @@ static struct clk_hw_omap fshostusb_fck_hw = {
|
|
|
.enable_bit = OMAP3430ES1_EN_FSHOSTUSB_SHIFT,
|
|
|
.clkdm_name = "core_l4_clkdm",
|
|
|
};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(fshostusb_fck, fshostusb_fck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk gfx_l3_ck;
|
|
|
+
|
|
|
+static struct clk_hw_omap gfx_l3_ck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gfx_l3_ck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(GFX_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP_EN_GFX_SHIFT,
|
|
|
+ .clkdm_name = "gfx_3430es1_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gfx_l3_ck, core_l3_ick_parent_names, aes1_ick_ops);
|
|
|
+
|
|
|
+DEFINE_CLK_DIVIDER(gfx_l3_fck, "l3_ick", &l3_ick, 0x0,
|
|
|
+ OMAP_CM_REGADDR(GFX_MOD, CM_CLKSEL),
|
|
|
+ OMAP_CLKSEL_GFX_SHIFT, OMAP_CLKSEL_GFX_WIDTH,
|
|
|
+ CLK_DIVIDER_ONE_BASED, NULL);
|
|
|
+
|
|
|
+static struct clk gfx_cg1_ck;
|
|
|
+
|
|
|
+static const char *gfx_cg1_ck_parent_names[] = {
|
|
|
+ "gfx_l3_fck",
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_hw_omap gfx_cg1_ck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gfx_cg1_ck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(GFX_MOD, CM_FCLKEN),
|
|
|
+ .enable_bit = OMAP3430ES1_EN_2D_SHIFT,
|
|
|
+ .clkdm_name = "gfx_3430es1_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gfx_cg1_ck, gfx_cg1_ck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk gfx_cg2_ck;
|
|
|
+
|
|
|
+static struct clk_hw_omap gfx_cg2_ck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gfx_cg2_ck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(GFX_MOD, CM_FCLKEN),
|
|
|
+ .enable_bit = OMAP3430ES1_EN_3D_SHIFT,
|
|
|
+ .clkdm_name = "gfx_3430es1_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gfx_cg2_ck, gfx_cg1_ck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk gfx_l3_ick;
|
|
|
+
|
|
|
+static const char *gfx_l3_ick_parent_names[] = {
|
|
|
+ "gfx_l3_ck",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK_HW_OMAP(gfx_l3_ick, "gfx_3430es1_clkdm");
|
|
|
+DEFINE_STRUCT_CLK(gfx_l3_ick, gfx_l3_ick_parent_names, core_l4_ick_ops);
|
|
|
+
|
|
|
+static struct clk wkup_32k_fck;
|
|
|
+
|
|
|
+static const char *wkup_32k_fck_parent_names[] = {
|
|
|
+ "omap_32k_fck",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK_HW_OMAP(wkup_32k_fck, "wkup_clkdm");
|
|
|
+DEFINE_STRUCT_CLK(wkup_32k_fck, wkup_32k_fck_parent_names, core_l4_ick_ops);
|
|
|
+
|
|
|
+static struct clk gpio1_dbck;
|
|
|
+
|
|
|
+static const char *gpio1_dbck_parent_names[] = {
|
|
|
+ "wkup_32k_fck",
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_hw_omap gpio1_dbck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpio1_dbck,
|
|
|
+ },
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_GPIO1_SHIFT,
|
|
|
+ .clkdm_name = "wkup_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpio1_dbck, gpio1_dbck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk wkup_l4_ick;
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK_HW_OMAP(wkup_l4_ick, "wkup_clkdm");
|
|
|
+DEFINE_STRUCT_CLK(wkup_l4_ick, dpll3_ck_parent_names, core_l4_ick_ops);
|
|
|
+
|
|
|
+static struct clk gpio1_ick;
|
|
|
+
|
|
|
+static const char *gpio1_ick_parent_names[] = {
|
|
|
+ "wkup_l4_ick",
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_hw_omap gpio1_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpio1_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_GPIO1_SHIFT,
|
|
|
+ .clkdm_name = "wkup_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpio1_ick, gpio1_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk per_32k_alwon_fck;
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK_HW_OMAP(per_32k_alwon_fck, "per_clkdm");
|
|
|
+DEFINE_STRUCT_CLK(per_32k_alwon_fck, wkup_32k_fck_parent_names,
|
|
|
+ core_l4_ick_ops);
|
|
|
+
|
|
|
+static struct clk gpio2_dbck;
|
|
|
+
|
|
|
+static const char *gpio2_dbck_parent_names[] = {
|
|
|
+ "per_32k_alwon_fck",
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_hw_omap gpio2_dbck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpio2_dbck,
|
|
|
+ },
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_GPIO2_SHIFT,
|
|
|
+ .clkdm_name = "per_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpio2_dbck, gpio2_dbck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk per_l4_ick;
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK_HW_OMAP(per_l4_ick, "per_clkdm");
|
|
|
+DEFINE_STRUCT_CLK(per_l4_ick, security_l4_ick2_parent_names, core_l4_ick_ops);
|
|
|
+
|
|
|
+static struct clk gpio2_ick;
|
|
|
+
|
|
|
+static const char *gpio2_ick_parent_names[] = {
|
|
|
+ "per_l4_ick",
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_hw_omap gpio2_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpio2_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_GPIO2_SHIFT,
|
|
|
+ .clkdm_name = "per_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpio2_ick, gpio2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk gpio3_dbck;
|
|
|
+
|
|
|
+static struct clk_hw_omap gpio3_dbck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpio3_dbck,
|
|
|
+ },
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_GPIO3_SHIFT,
|
|
|
+ .clkdm_name = "per_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpio3_dbck, gpio2_dbck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk gpio3_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap gpio3_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &gpio3_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_GPIO3_SHIFT,
|
|
|
+ .clkdm_name = "per_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(gpio3_ick, gpio2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk gpio4_dbck;
|
|
|
+
|
|
|
+static struct clk_hw_omap gpio4_dbck_hw = {
|