timer.c (f8016f1eac1ff7162130f253a41099386558ebc1) timer.c (ff931c821bab6713a52b768b0cd7ee7e90713b36)
1/*
2 * linux/arch/arm/mach-omap2/timer.c
3 *
4 * OMAP2 GP timer support.
5 *
6 * Copyright (C) 2009 Nokia Corporation
7 *
8 * Update to use new clocksource/clockevent layers

--- 533 unchanged lines hidden (view full) ---

542static inline void __init realtime_counter_init(void)
543{}
544#endif
545
546#define OMAP_SYS_GP_TIMER_INIT(name, clkev_nr, clkev_src, clkev_prop, \
547 clksrc_nr, clksrc_src) \
548void __init omap##name##_gptimer_timer_init(void) \
549{ \
1/*
2 * linux/arch/arm/mach-omap2/timer.c
3 *
4 * OMAP2 GP timer support.
5 *
6 * Copyright (C) 2009 Nokia Corporation
7 *
8 * Update to use new clocksource/clockevent layers

--- 533 unchanged lines hidden (view full) ---

542static inline void __init realtime_counter_init(void)
543{}
544#endif
545
546#define OMAP_SYS_GP_TIMER_INIT(name, clkev_nr, clkev_src, clkev_prop, \
547 clksrc_nr, clksrc_src) \
548void __init omap##name##_gptimer_timer_init(void) \
549{ \
550 if (omap_clk_init) \
551 omap_clk_init(); \
550 omap_dmtimer_init(); \
551 omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop); \
552 omap2_gptimer_clocksource_init((clksrc_nr), clksrc_src); \
553}
554
555#define OMAP_SYS_32K_TIMER_INIT(name, clkev_nr, clkev_src, clkev_prop, \
556 clksrc_nr, clksrc_src) \
557void __init omap##name##_sync32k_timer_init(void) \
558{ \
552 omap_dmtimer_init(); \
553 omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop); \
554 omap2_gptimer_clocksource_init((clksrc_nr), clksrc_src); \
555}
556
557#define OMAP_SYS_32K_TIMER_INIT(name, clkev_nr, clkev_src, clkev_prop, \
558 clksrc_nr, clksrc_src) \
559void __init omap##name##_sync32k_timer_init(void) \
560{ \
561 if (omap_clk_init) \
562 omap_clk_init(); \
559 omap_dmtimer_init(); \
560 omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop); \
561 /* Enable the use of clocksource="gp_timer" kernel parameter */ \
562 if (use_gptimer_clksrc) \
563 omap2_gptimer_clocksource_init((clksrc_nr), clksrc_src);\
564 else \
565 omap2_sync32k_clocksource_init(); \
566}

--- 25 unchanged lines hidden (view full) ---

592void __init omap4_local_timer_init(void)
593{
594 omap4_sync32k_timer_init();
595 /* Local timers are not supprted on OMAP4430 ES1.0 */
596 if (omap_rev() != OMAP4430_REV_ES1_0) {
597 int err;
598
599 if (of_have_populated_dt()) {
563 omap_dmtimer_init(); \
564 omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop); \
565 /* Enable the use of clocksource="gp_timer" kernel parameter */ \
566 if (use_gptimer_clksrc) \
567 omap2_gptimer_clocksource_init((clksrc_nr), clksrc_src);\
568 else \
569 omap2_sync32k_clocksource_init(); \
570}

--- 25 unchanged lines hidden (view full) ---

596void __init omap4_local_timer_init(void)
597{
598 omap4_sync32k_timer_init();
599 /* Local timers are not supprted on OMAP4430 ES1.0 */
600 if (omap_rev() != OMAP4430_REV_ES1_0) {
601 int err;
602
603 if (of_have_populated_dt()) {
600 clocksource_of_init();
604 twd_local_timer_of_register();
601 return;
602 }
603
604 err = twd_local_timer_register(&twd_local_timer);
605 if (err)
606 pr_err("twd_local_timer_register failed %d\n", err);
607 }
608}

--- 138 unchanged lines hidden ---
605 return;
606 }
607
608 err = twd_local_timer_register(&twd_local_timer);
609 if (err)
610 pr_err("twd_local_timer_register failed %d\n", err);
611 }
612}

--- 138 unchanged lines hidden ---