|
@@ -1296,3 +1296,107 @@ DEFINE_CLK_OMAP_MUX_GATE(timer11_fck, "l4_per_clkdm", dmt1_clk_mux_sel,
|
|
|
|
|
|
/* Merged cm2_dm2_mux into timer2 */
|
|
/* Merged cm2_dm2_mux into timer2 */
|
|
DEFINE_CLK_OMAP_MUX_GATE(timer2_fck, "l4_per_clkdm", dmt1_clk_mux_sel,
|
|
DEFINE_CLK_OMAP_MUX_GATE(timer2_fck, "l4_per_clkdm", dmt1_clk_mux_sel,
|
|
|
|
+ OMAP4430_CM_L4PER_DMTIMER2_CLKCTRL,
|
|
|
|
+ OMAP4430_CLKSEL_MASK,
|
|
|
|
+ OMAP4430_CM_L4PER_DMTIMER2_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, NULL,
|
|
|
|
+ abe_dpll_bypass_clk_mux_ck_parents, dmic_fck_ops);
|
|
|
|
+
|
|
|
|
+/* Merged cm2_dm3_mux into timer3 */
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(timer3_fck, "l4_per_clkdm", dmt1_clk_mux_sel,
|
|
|
|
+ OMAP4430_CM_L4PER_DMTIMER3_CLKCTRL,
|
|
|
|
+ OMAP4430_CLKSEL_MASK,
|
|
|
|
+ OMAP4430_CM_L4PER_DMTIMER3_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, NULL,
|
|
|
|
+ abe_dpll_bypass_clk_mux_ck_parents, dmic_fck_ops);
|
|
|
|
+
|
|
|
|
+/* Merged cm2_dm4_mux into timer4 */
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(timer4_fck, "l4_per_clkdm", dmt1_clk_mux_sel,
|
|
|
|
+ OMAP4430_CM_L4PER_DMTIMER4_CLKCTRL,
|
|
|
|
+ OMAP4430_CLKSEL_MASK,
|
|
|
|
+ OMAP4430_CM_L4PER_DMTIMER4_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, NULL,
|
|
|
|
+ abe_dpll_bypass_clk_mux_ck_parents, dmic_fck_ops);
|
|
|
|
+
|
|
|
|
+static const struct clksel timer5_sync_mux_sel[] = {
|
|
|
|
+ { .parent = &syc_clk_div_ck, .rates = div_1_0_rates },
|
|
|
|
+ { .parent = &sys_32k_ck, .rates = div_1_1_rates },
|
|
|
|
+ { .parent = NULL },
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static const char *timer5_fck_parents[] = {
|
|
|
|
+ "syc_clk_div_ck", "sys_32k_ck",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+/* Merged timer5_sync_mux into timer5 */
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(timer5_fck, "abe_clkdm", timer5_sync_mux_sel,
|
|
|
|
+ OMAP4430_CM1_ABE_TIMER5_CLKCTRL, OMAP4430_CLKSEL_MASK,
|
|
|
|
+ OMAP4430_CM1_ABE_TIMER5_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, NULL,
|
|
|
|
+ timer5_fck_parents, dmic_fck_ops);
|
|
|
|
+
|
|
|
|
+/* Merged timer6_sync_mux into timer6 */
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(timer6_fck, "abe_clkdm", timer5_sync_mux_sel,
|
|
|
|
+ OMAP4430_CM1_ABE_TIMER6_CLKCTRL, OMAP4430_CLKSEL_MASK,
|
|
|
|
+ OMAP4430_CM1_ABE_TIMER6_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, NULL,
|
|
|
|
+ timer5_fck_parents, dmic_fck_ops);
|
|
|
|
+
|
|
|
|
+/* Merged timer7_sync_mux into timer7 */
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(timer7_fck, "abe_clkdm", timer5_sync_mux_sel,
|
|
|
|
+ OMAP4430_CM1_ABE_TIMER7_CLKCTRL, OMAP4430_CLKSEL_MASK,
|
|
|
|
+ OMAP4430_CM1_ABE_TIMER7_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, NULL,
|
|
|
|
+ timer5_fck_parents, dmic_fck_ops);
|
|
|
|
+
|
|
|
|
+/* Merged timer8_sync_mux into timer8 */
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(timer8_fck, "abe_clkdm", timer5_sync_mux_sel,
|
|
|
|
+ OMAP4430_CM1_ABE_TIMER8_CLKCTRL, OMAP4430_CLKSEL_MASK,
|
|
|
|
+ OMAP4430_CM1_ABE_TIMER8_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, NULL,
|
|
|
|
+ timer5_fck_parents, dmic_fck_ops);
|
|
|
|
+
|
|
|
|
+/* Merged cm2_dm9_mux into timer9 */
|
|
|
|
+DEFINE_CLK_OMAP_MUX_GATE(timer9_fck, "l4_per_clkdm", dmt1_clk_mux_sel,
|
|
|
|
+ OMAP4430_CM_L4PER_DMTIMER9_CLKCTRL,
|
|
|
|
+ OMAP4430_CLKSEL_MASK,
|
|
|
|
+ OMAP4430_CM_L4PER_DMTIMER9_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, NULL,
|
|
|
|
+ abe_dpll_bypass_clk_mux_ck_parents, dmic_fck_ops);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_GATE(uart1_fck, "func_48m_fclk", &func_48m_fclk, 0x0,
|
|
|
|
+ OMAP4430_CM_L4PER_UART1_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, 0x0, NULL);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_GATE(uart2_fck, "func_48m_fclk", &func_48m_fclk, 0x0,
|
|
|
|
+ OMAP4430_CM_L4PER_UART2_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, 0x0, NULL);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_GATE(uart3_fck, "func_48m_fclk", &func_48m_fclk, 0x0,
|
|
|
|
+ OMAP4430_CM_L4PER_UART3_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, 0x0, NULL);
|
|
|
|
+
|
|
|
|
+DEFINE_CLK_GATE(uart4_fck, "func_48m_fclk", &func_48m_fclk, 0x0,
|
|
|
|
+ OMAP4430_CM_L4PER_UART4_CLKCTRL,
|
|
|
|
+ OMAP4430_MODULEMODE_SWCTRL_SHIFT, 0x0, NULL);
|
|
|
|
+
|
|
|
|
+static struct clk usb_host_fs_fck;
|
|
|
|
+
|
|
|
|
+static const char *usb_host_fs_fck_parent_names[] = {
|
|
|
|
+ "func_48mc_fclk",
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static const struct clk_ops usb_host_fs_fck_ops = {
|
|
|
|
+ .enable = &omap2_dflt_clk_enable,
|
|
|
|
+ .disable = &omap2_dflt_clk_disable,
|
|
|
|
+ .is_enabled = &omap2_dflt_clk_is_enabled,
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+static struct clk_hw_omap usb_host_fs_fck_hw = {
|
|
|
|
+ .hw = {
|
|
|
|
+ .clk = &usb_host_fs_fck,
|
|
|
|
+ },
|
|
|
|
+ .enable_reg = OMAP4430_CM_L3INIT_USB_HOST_FS_CLKCTRL,
|
|
|
|
+ .enable_bit = OMAP4430_MODULEMODE_SWCTRL_SHIFT,
|
|
|
|
+ .clkdm_name = "l3_init_clkdm",
|
|
|
|
+};
|