ARM: OMAP2+: AM43x: Use gptimer as clocksource

The SyncTimer in AM43x is clocked using the following two sources:
1) An inaccuarte 32k clock (CLK_32KHZ) derived from PER DPLL, causing system
   time to go slowly (~10% deviation).
2) external 32KHz RTC clock, which may not always be available on board like
   in the case of ePOS EVM

Use gptimer as clocksource instead, as is done in the case of AM335x
(which does not have a SyncTimer). With this, system time keeping works
accurately.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Rajendra Nayak 2014-02-07 15:51:26 +05:30 committed by Tony Lindgren
parent 7a2e051324
commit 5b5c013591
2 changed files with 3 additions and 2 deletions

View File

@ -229,7 +229,7 @@ DT_MACHINE_START(AM43_DT, "Generic AM43 (Flattened Device Tree)")
.init_late = am43xx_init_late, .init_late = am43xx_init_late,
.init_irq = omap_gic_of_init, .init_irq = omap_gic_of_init,
.init_machine = omap_generic_init, .init_machine = omap_generic_init,
.init_time = omap3_sync32k_timer_init, .init_time = omap3_gptimer_timer_init,
.dt_compat = am43_boards_compat, .dt_compat = am43_boards_compat,
MACHINE_END MACHINE_END
#endif #endif

View File

@ -604,7 +604,8 @@ OMAP_SYS_32K_TIMER_INIT(3_secure, 12, "secure_32k_fck", "ti,timer-secure",
2, "timer_sys_ck", NULL); 2, "timer_sys_ck", NULL);
#endif /* CONFIG_ARCH_OMAP3 */ #endif /* CONFIG_ARCH_OMAP3 */
#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX) #if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_SOC_AM33XX) || \
defined(CONFIG_SOC_AM43XX)
OMAP_SYS_GP_TIMER_INIT(3, 2, "timer_sys_ck", NULL, OMAP_SYS_GP_TIMER_INIT(3, 2, "timer_sys_ck", NULL,
1, "timer_sys_ck", "ti,timer-alwon"); 1, "timer_sys_ck", "ti,timer-alwon");
#endif #endif