From a6c4870c2a3aa6168b38004367e7de64de42ccc0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lothar=20Wa=C3=9Fmann?= Date: Tue, 16 Jun 2015 11:16:52 +0200 Subject: [PATCH] arm: imx: timer: use get_gptclk() instead of MXC_CLK32 where applicable --- arch/arm/imx-common/timer.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/arch/arm/imx-common/timer.c b/arch/arm/imx-common/timer.c index 9a02716b75..b1f51611d5 100644 --- a/arch/arm/imx-common/timer.c +++ b/arch/arm/imx-common/timer.c @@ -75,11 +75,11 @@ static inline unsigned long long tick_to_time(unsigned long long tick) return tick; } -static inline unsigned long time_to_tick(unsigned long time) +static inline unsigned long long time_to_tick(unsigned long time) { unsigned long long ticks = (unsigned long long)time; - ticks *= MXC_CLK32; + ticks *= gpt_get_clk(); do_div(ticks, CONFIG_SYS_HZ); return ticks; } @@ -134,7 +134,7 @@ int timer_init(void) gd->arch.tbl = __raw_readl(&cur_gpt->counter); gd->arch.tbu = 0; - gd->arch.timer_rate_hz = MXC_CLK32; + gd->arch.timer_rate_hz = gpt_get_clk(); return 0; } @@ -157,13 +157,6 @@ ulong get_timer_masked(void) * 5 * 10^9 days... and get_ticks() * CONFIG_SYS_HZ wraps in * 5 * 10^6 days - long enough. */ - /* - * LW: get_ticks() returns a long long with the top 32 bits always ZERO! - * Thus the calculation above is not true. - * A 64bit timer value would only make sense if it was - * consistently used throughout the code. Thus also the parameter - * to get_timer() and its return value would need to be 64bit wide! - */ return tick_to_time(get_ticks()); } -- 2.39.2