/* * Event/Sched Timer initialization */ static void s5p_timer_setup(void) { unsigned long rate; unsigned int tmp; /* Setup event timer using XrtcXTI */ if (clk_event == NULL) clk_event = clk_get(NULL, "xrtcxti"); if (IS_ERR(clk_event)) panic("failed to get clock for event timer"); rate = clk_get_rate(clk_event); tmp = readl(rtc_base + S3C2410_RTCCON) & ~(S3C_RTCCON_TICEN); /* We only support 32768 Hz : [7:4] = 0x0 */ writel(tmp & ~0xf0, rtc_base + S3C2410_RTCCON); s5p_init_dynamic_tick_timer(rate); /* Setup sched-timer using XusbXTI */ if (clk_sched == NULL) clk_sched = clk_get(NULL, "xusbxti"); if (IS_ERR(clk_sched)) panic("failed to get clock for sched-timer"); rate = clk_get_rate(clk_sched); s5p_init_clocksource(rate); }
/* * Event/Sched Timer initialization */ static void s5p_timer_setup(void) { unsigned long rate; /* Setup event timer using XrtcXTI */ if (clk_event == NULL) clk_event = clk_get(NULL, "xrtcxti"); if (IS_ERR(clk_event)) panic("failed to get clock for event timer"); rate = clk_get_rate(clk_event); s5p_init_dynamic_tick_timer(rate); /* Setup sched-timer using XusbXTI */ if (clk_sched == NULL) clk_sched = clk_get(NULL, "xusbxti"); if (IS_ERR(clk_sched)) panic("failed to get clock for sched-timer"); rate = clk_get_rate(clk_sched); s5p_init_clocksource(rate); }