|
@@ -2246,3 +2246,186 @@ DEFINE_STRUCT_CLK(mcspi4_fck, fshostusb_fck_parent_names, aes2_ick_ops);
|
|
|
|
|
|
static struct clk mcspi4_ick;
|
|
|
|
|
|
+static struct clk_hw_omap mcspi4_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mcspi4_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_MCSPI4_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mcspi4_ick, aes2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk mmchs1_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap mmchs1_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mmchs1_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_MMC1_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mmchs1_fck, csi2_96m_fck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk mmchs1_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap mmchs1_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mmchs1_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_MMC1_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mmchs1_ick, aes2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk mmchs2_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap mmchs2_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mmchs2_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_MMC2_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mmchs2_fck, csi2_96m_fck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk mmchs2_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap mmchs2_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mmchs2_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_MMC2_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mmchs2_ick, aes2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk mmchs3_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap mmchs3_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mmchs3_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP3430ES2_EN_MMC3_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mmchs3_fck, csi2_96m_fck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk mmchs3_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap mmchs3_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mmchs3_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP3430ES2_EN_MMC3_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mmchs3_ick, aes2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk modem_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap modem_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &modem_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_MODEM_SHIFT,
|
|
|
+ .clkdm_name = "d2d_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(modem_fck, dpll3_ck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk mspro_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap mspro_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mspro_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_MSPRO_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mspro_fck, csi2_96m_fck_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk mspro_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap mspro_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &mspro_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP3430_EN_MSPRO_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(mspro_ick, aes2_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static struct clk omap_192m_alwon_fck;
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK_HW_OMAP(omap_192m_alwon_fck, NULL);
|
|
|
+DEFINE_STRUCT_CLK(omap_192m_alwon_fck, omap_96m_alwon_fck_parent_names,
|
|
|
+ core_ck_ops);
|
|
|
+
|
|
|
+static struct clk omap_32ksync_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap omap_32ksync_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &omap_32ksync_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(WKUP_MOD, CM_ICLKEN),
|
|
|
+ .enable_bit = OMAP3430_EN_32KSYNC_SHIFT,
|
|
|
+ .clkdm_name = "wkup_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(omap_32ksync_ick, gpio1_ick_parent_names, aes2_ick_ops);
|
|
|
+
|
|
|
+static const struct clksel_rate omap_96m_alwon_fck_rates[] = {
|
|
|
+ { .div = 1, .val = 1, .flags = RATE_IN_36XX },
|
|
|
+ { .div = 2, .val = 2, .flags = RATE_IN_36XX },
|
|
|
+ { .div = 0 }
|
|
|
+};
|
|
|
+
|
|
|
+static const struct clksel omap_96m_alwon_fck_clksel[] = {
|
|
|
+ { .parent = &omap_192m_alwon_fck, .rates = omap_96m_alwon_fck_rates },
|
|
|
+ { .parent = NULL }
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk omap_96m_alwon_fck_3630;
|
|
|
+
|
|
|
+static const char *omap_96m_alwon_fck_3630_parent_names[] = {
|
|
|
+ "omap_192m_alwon_fck",
|
|
|
+};
|
|
|
+
|
|
|
+static const struct clk_ops omap_96m_alwon_fck_3630_ops = {
|
|
|
+ .set_rate = &omap2_clksel_set_rate,
|
|
|
+ .recalc_rate = &omap2_clksel_recalc,
|
|
|
+ .round_rate = &omap2_clksel_round_rate,
|
|
|
+};
|
|
|
+
|
|
|
+static struct clk_hw_omap omap_96m_alwon_fck_3630_hw = {
|
|
|
+ .hw = {
|