static void __init __omap_sync32k_timer_init(int clkev_nr, const char *clkev_src,
                const char *clkev_prop, int clksrc_nr, const char *clksrc_src,
-               const char *clksrc_prop)
+               const char *clksrc_prop, bool gptimer)
 {
        omap_clk_init();
        omap_dmtimer_init();
        omap2_gp_clockevent_init(clkev_nr, clkev_src, clkev_prop);
 
        /* Enable the use of clocksource="gp_timer" kernel parameter */
-       if (use_gptimer_clksrc)
+       if (use_gptimer_clksrc || gptimer)
                omap2_gptimer_clocksource_init(clksrc_nr, clksrc_src,
                                                clksrc_prop);
        else
 void __init omap2_sync32k_timer_init(void)
 {
        __omap_sync32k_timer_init(1, "timer_32k_ck", "ti,timer-alwon",
-                       2, "timer_sys_ck", NULL);
+                       2, "timer_sys_ck", NULL, false);
 }
 #endif /* CONFIG_ARCH_OMAP2 */
 
 void __init omap3_sync32k_timer_init(void)
 {
        __omap_sync32k_timer_init(1, "timer_32k_ck", "ti,timer-alwon",
-                       2, "timer_sys_ck", NULL);
+                       2, "timer_sys_ck", NULL, false);
 }
 
 void __init omap3_secure_sync32k_timer_init(void)
 {
        __omap_sync32k_timer_init(12, "secure_32k_fck", "ti,timer-secure",
-                       2, "timer_sys_ck", NULL);
+                       2, "timer_sys_ck", NULL, false);
 }
 #endif /* CONFIG_ARCH_OMAP3 */
 
 static void __init omap4_sync32k_timer_init(void)
 {
        __omap_sync32k_timer_init(1, "timer_32k_ck", "ti,timer-alwon",
-                              2, "sys_clkin_ck", NULL);
+                       2, "sys_clkin_ck", NULL, false);
 }
 
 void __init omap4_local_timer_init(void)