From: Lothar Waßmann Date: Tue, 16 Jun 2015 09:16:52 +0000 (+0200) Subject: arm: imx: timer: use get_gptclk() instead of MXC_CLK32 where applicable X-Git-Tag: KARO-TXA5-2015-06-26~9 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=commitdiff_plain;h=a6c4870c2a3aa6168b38004367e7de64de42ccc0 arm: imx: timer: use get_gptclk() instead of MXC_CLK32 where applicable --- 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()); }