|
@@ -3108,3 +3108,110 @@ DEFINE_STRUCT_CLK(usim_ick, gpio1_ick_parent_names, aes2_ick_ops);
|
|
|
static struct clk vpfe_fck;
|
|
|
|
|
|
static const char *vpfe_fck_parent_names[] = {
|
|
|
+ "pclk_ck",
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_hw_omap vpfe_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &vpfe_fck,
|
|
|
+ },
|
|
|
+ .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL),
|
|
|
+ .enable_bit = AM35XX_VPFE_FCLK_SHIFT,
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(vpfe_fck, vpfe_fck_parent_names, aes1_ick_ops);
|
|
|
+
|
|
|
+static struct clk vpfe_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap vpfe_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &vpfe_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_am35xx_ipss_module_wait,
|
|
|
+ .enable_reg = OMAP343X_CTRL_REGADDR(AM35XX_CONTROL_IPSS_CLK_CTRL),
|
|
|
+ .enable_bit = AM35XX_VPFE_VBUSP_CLK_SHIFT,
|
|
|
+ .clkdm_name = "core_l3_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(vpfe_ick, emac_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt1_fck;
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK_HW_OMAP(wdt1_fck, "wkup_clkdm");
|
|
|
+DEFINE_STRUCT_CLK(wdt1_fck, gpt12_fck_parent_names, core_l4_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt1_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap wdt1_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &wdt1_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_WDT1_SHIFT,
|
|
|
+ .clkdm_name = "wkup_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt1_ick, gpio1_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt2_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap wdt2_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &wdt2_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_FCLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_WDT2_SHIFT,
|
|
|
+ .clkdm_name = "wkup_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt2_fck, gpio1_dbck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt2_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap wdt2_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &wdt2_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_WDT2_SHIFT,
|
|
|
+ .clkdm_name = "wkup_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt2_ick, gpio1_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt3_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap wdt3_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &wdt3_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_WDT3_SHIFT,
|
|
|
+ .clkdm_name = "per_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt3_fck, gpio2_dbck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt3_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap wdt3_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &wdt3_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_WDT3_SHIFT,
|
|
|
+ .clkdm_name = "per_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt3_ick, gpio2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+/*
|
|
|
+ * clkdev
|
|
|
+ */
|
|
|
+static struct omap_clk omap3xxx_clks[] = {
|
|
|
+ CLK(NULL, "apb_pclk", &dummy_apb_pclk, CK_3XXX),
|