/* * --------------------------------------------------------------------------- * 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 }
static void __init omap_mpu_timer_init(void) { struct clk *ck_ref = clk_get(NULL, "ck_ref"); unsigned long rate; BUG_ON(IS_ERR(ck_ref)); rate = clk_get_rate(ck_ref); clk_put(ck_ref); /* PTV = 0 */ rate /= 2; omap_init_mpu_timer(rate); omap_init_clocksource(rate); }