/* * --------------------------------------------------------------------------- * Timer initialization * --------------------------------------------------------------------------- */ int __init omap_32k_timer_init(void) { int ret = -ENODEV; if (cpu_is_omap16xx()) { void __iomem *base; struct clk *sync32k_ick; base = ioremap(OMAP1_32KSYNC_TIMER_BASE, SZ_1K); if (!base) { pr_err("32k_counter: failed to map base addr\n"); return -ENODEV; } sync32k_ick = clk_get(NULL, "omap_32ksync_ick"); if (!IS_ERR(sync32k_ick)) clk_enable(sync32k_ick); ret = omap_init_clocksource_32k(base); } if (!ret) omap_init_32k_timer(); return ret; }
/* * --------------------------------------------------------------------------- * Timer initialization * --------------------------------------------------------------------------- */ static void __init omap_timer_init(void) { #ifdef CONFIG_OMAP_DM_TIMER omap_dm_timer_init(); #endif omap_init_32k_timer(); }
/* * --------------------------------------------------------------------------- * Timer initialization * --------------------------------------------------------------------------- */ bool __init omap_32k_timer_init(void) { omap_init_clocksource_32k(); omap_init_32k_timer(); return true; }
/* * --------------------------------------------------------------------------- * Timer initialization * --------------------------------------------------------------------------- */ static void __init omap_timer_init(void) { #if defined(CONFIG_OMAP_MPU_TIMER) omap_init_mpu_timer(); #elif defined(CONFIG_OMAP_32K_TIMER) omap_init_32k_timer(); #else #error No system timer selected in Kconfig! #endif }
/* * --------------------------------------------------------------------------- * Timer initialization * --------------------------------------------------------------------------- */ static void __init omap_timer_init(void) { omap_init_32k_timer(); }