|
@@ -1666,3 +1666,191 @@ static struct clk_hw_omap vlynq_ick_hw = {
|
|
|
.clkdm_name = "core_l3_clkdm",
|
|
|
};
|
|
|
|
|
|
+DEFINE_STRUCT_CLK(vlynq_ick, gfx_ick_parent_names, aes_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 = OMAP24XX_EN_WDT1_SHIFT,
|
|
|
+ .clkdm_name = "wkup_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt1_ick, gpios_ick_parent_names, aes_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt1_osc_ck;
|
|
|
+
|
|
|
+static const struct clk_ops wdt1_osc_ck_ops = {};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK_HW_OMAP(wdt1_osc_ck, NULL);
|
|
|
+DEFINE_STRUCT_CLK(wdt1_osc_ck, sys_ck_parent_names, wdt1_osc_ck_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(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP2420_EN_WDT3_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt3_fck, gpios_fck_parent_names, aes_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(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP2420_EN_WDT3_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt3_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt4_fck;
|
|
|
+
|
|
|
+static struct clk_hw_omap wdt4_fck_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &wdt4_fck,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_FCLKEN1),
|
|
|
+ .enable_bit = OMAP24XX_EN_WDT4_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt4_fck, gpios_fck_parent_names, aes_ick_ops);
|
|
|
+
|
|
|
+static struct clk wdt4_ick;
|
|
|
+
|
|
|
+static struct clk_hw_omap wdt4_ick_hw = {
|
|
|
+ .hw = {
|
|
|
+ .clk = &wdt4_ick,
|
|
|
+ },
|
|
|
+ .ops = &clkhwops_iclk_wait,
|
|
|
+ .enable_reg = OMAP_CM_REGADDR(CORE_MOD, CM_ICLKEN1),
|
|
|
+ .enable_bit = OMAP24XX_EN_WDT4_SHIFT,
|
|
|
+ .clkdm_name = "core_l4_clkdm",
|
|
|
+};
|
|
|
+
|
|
|
+DEFINE_STRUCT_CLK(wdt4_ick, aes_ick_parent_names, aes_ick_ops);
|
|
|
+
|
|
|
+/*
|
|
|
+ * clkdev integration
|
|
|
+ */
|
|
|
+
|
|
|
+static struct omap_clk omap2420_clks[] = {
|
|
|
+ /* external root sources */
|
|
|
+ CLK(NULL, "func_32k_ck", &func_32k_ck, CK_242X),
|
|
|
+ CLK(NULL, "secure_32k_ck", &secure_32k_ck, CK_242X),
|
|
|
+ CLK(NULL, "osc_ck", &osc_ck, CK_242X),
|
|
|
+ CLK(NULL, "sys_ck", &sys_ck, CK_242X),
|
|
|
+ CLK(NULL, "alt_ck", &alt_ck, CK_242X),
|
|
|
+ CLK(NULL, "mcbsp_clks", &mcbsp_clks, CK_242X),
|
|
|
+ /* internal analog sources */
|
|
|
+ CLK(NULL, "dpll_ck", &dpll_ck, CK_242X),
|
|
|
+ CLK(NULL, "apll96_ck", &apll96_ck, CK_242X),
|
|
|
+ CLK(NULL, "apll54_ck", &apll54_ck, CK_242X),
|
|
|
+ /* internal prcm root sources */
|
|
|
+ CLK(NULL, "func_54m_ck", &func_54m_ck, CK_242X),
|
|
|
+ CLK(NULL, "core_ck", &core_ck, CK_242X),
|
|
|
+ CLK(NULL, "func_96m_ck", &func_96m_ck, CK_242X),
|
|
|
+ CLK(NULL, "func_48m_ck", &func_48m_ck, CK_242X),
|
|
|
+ CLK(NULL, "func_12m_ck", &func_12m_ck, CK_242X),
|
|
|
+ CLK(NULL, "ck_wdt1_osc", &wdt1_osc_ck, CK_242X),
|
|
|
+ CLK(NULL, "sys_clkout_src", &sys_clkout_src, CK_242X),
|
|
|
+ CLK(NULL, "sys_clkout", &sys_clkout, CK_242X),
|
|
|
+ CLK(NULL, "sys_clkout2_src", &sys_clkout2_src, CK_242X),
|
|
|
+ CLK(NULL, "sys_clkout2", &sys_clkout2, CK_242X),
|
|
|
+ CLK(NULL, "emul_ck", &emul_ck, CK_242X),
|
|
|
+ /* mpu domain clocks */
|
|
|
+ CLK(NULL, "mpu_ck", &mpu_ck, CK_242X),
|
|
|
+ /* dsp domain clocks */
|
|
|
+ CLK(NULL, "dsp_fck", &dsp_fck, CK_242X),
|
|
|
+ CLK(NULL, "dsp_ick", &dsp_ick, CK_242X),
|
|
|
+ CLK(NULL, "iva1_ifck", &iva1_ifck, CK_242X),
|
|
|
+ CLK(NULL, "iva1_mpu_int_ifck", &iva1_mpu_int_ifck, CK_242X),
|
|
|
+ /* GFX domain clocks */
|
|
|
+ CLK(NULL, "gfx_3d_fck", &gfx_3d_fck, CK_242X),
|
|
|
+ CLK(NULL, "gfx_2d_fck", &gfx_2d_fck, CK_242X),
|
|
|
+ CLK(NULL, "gfx_ick", &gfx_ick, CK_242X),
|
|
|
+ /* DSS domain clocks */
|
|
|
+ CLK("omapdss_dss", "ick", &dss_ick, CK_242X),
|
|
|
+ CLK(NULL, "dss_ick", &dss_ick, CK_242X),
|
|
|
+ CLK(NULL, "dss1_fck", &dss1_fck, CK_242X),
|
|
|
+ CLK(NULL, "dss2_fck", &dss2_fck, CK_242X),
|
|
|
+ CLK(NULL, "dss_54m_fck", &dss_54m_fck, CK_242X),
|
|
|
+ /* L3 domain clocks */
|
|
|
+ CLK(NULL, "core_l3_ck", &core_l3_ck, CK_242X),
|
|
|
+ CLK(NULL, "ssi_fck", &ssi_ssr_sst_fck, CK_242X),
|
|
|
+ CLK(NULL, "usb_l4_ick", &usb_l4_ick, CK_242X),
|
|
|
+ /* L4 domain clocks */
|
|
|
+ CLK(NULL, "l4_ck", &l4_ck, CK_242X),
|
|
|
+ CLK(NULL, "ssi_l4_ick", &ssi_l4_ick, CK_242X),
|
|
|
+ CLK(NULL, "wu_l4_ick", &wu_l4_ick, CK_242X),
|
|
|
+ /* virtual meta-group clock */
|
|
|
+ CLK(NULL, "virt_prcm_set", &virt_prcm_set, CK_242X),
|
|
|
+ /* general l4 interface ck, multi-parent functional clk */
|
|
|
+ CLK(NULL, "gpt1_ick", &gpt1_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt1_fck", &gpt1_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt2_ick", &gpt2_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt2_fck", &gpt2_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt3_ick", &gpt3_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt3_fck", &gpt3_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt4_ick", &gpt4_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt4_fck", &gpt4_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt5_ick", &gpt5_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt5_fck", &gpt5_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt6_ick", &gpt6_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt6_fck", &gpt6_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt7_ick", &gpt7_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt7_fck", &gpt7_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt8_ick", &gpt8_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt8_fck", &gpt8_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt9_ick", &gpt9_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt9_fck", &gpt9_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt10_ick", &gpt10_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt10_fck", &gpt10_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt11_ick", &gpt11_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt11_fck", &gpt11_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpt12_ick", &gpt12_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpt12_fck", &gpt12_fck, CK_242X),
|
|
|
+ CLK("omap-mcbsp.1", "ick", &mcbsp1_ick, CK_242X),
|
|
|
+ CLK(NULL, "mcbsp1_ick", &mcbsp1_ick, CK_242X),
|
|
|
+ CLK(NULL, "mcbsp1_fck", &mcbsp1_fck, CK_242X),
|
|
|
+ CLK("omap-mcbsp.2", "ick", &mcbsp2_ick, CK_242X),
|
|
|
+ CLK(NULL, "mcbsp2_ick", &mcbsp2_ick, CK_242X),
|
|
|
+ CLK(NULL, "mcbsp2_fck", &mcbsp2_fck, CK_242X),
|
|
|
+ CLK("omap2_mcspi.1", "ick", &mcspi1_ick, CK_242X),
|
|
|
+ CLK(NULL, "mcspi1_ick", &mcspi1_ick, CK_242X),
|
|
|
+ CLK(NULL, "mcspi1_fck", &mcspi1_fck, CK_242X),
|
|
|
+ CLK("omap2_mcspi.2", "ick", &mcspi2_ick, CK_242X),
|
|
|
+ CLK(NULL, "mcspi2_ick", &mcspi2_ick, CK_242X),
|
|
|
+ CLK(NULL, "mcspi2_fck", &mcspi2_fck, CK_242X),
|
|
|
+ CLK(NULL, "uart1_ick", &uart1_ick, CK_242X),
|
|
|
+ CLK(NULL, "uart1_fck", &uart1_fck, CK_242X),
|
|
|
+ CLK(NULL, "uart2_ick", &uart2_ick, CK_242X),
|
|
|
+ CLK(NULL, "uart2_fck", &uart2_fck, CK_242X),
|
|
|
+ CLK(NULL, "uart3_ick", &uart3_ick, CK_242X),
|
|
|
+ CLK(NULL, "uart3_fck", &uart3_fck, CK_242X),
|
|
|
+ CLK(NULL, "gpios_ick", &gpios_ick, CK_242X),
|
|
|
+ CLK(NULL, "gpios_fck", &gpios_fck, CK_242X),
|
|
|
+ CLK("omap_wdt", "ick", &mpu_wdt_ick, CK_242X),
|
|
|
+ CLK(NULL, "mpu_wdt_ick", &mpu_wdt_ick, CK_242X),
|
|
|
+ CLK(NULL, "mpu_wdt_fck", &mpu_wdt_fck, CK_242X),
|
|
|
+ CLK(NULL, "sync_32k_ick", &sync_32k_ick, CK_242X),
|
|
|
+ CLK(NULL, "wdt1_ick", &wdt1_ick, CK_242X),
|
|
|
+ CLK(NULL, "omapctrl_ick", &omapctrl_ick, CK_242X),
|
|
|
+ CLK("omap24xxcam", "fck", &cam_fck, CK_242X),
|
|
|
+ CLK(NULL, "cam_fck", &cam_fck, CK_242X),
|
|
|
+ CLK("omap24xxcam", "ick", &cam_ick, CK_242X),
|