/*
 *  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);
}
Example #2
0
/*
 *  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);
}