diff options
author | Jon Hunter <jon-hunter@ti.com> | 2013-04-09 16:41:33 -0500 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-04-10 16:03:02 -0400 |
commit | eef6da0326834cc90b9f3b2e80dec71ee8e39e9a (patch) | |
tree | 71988017403378991d72d24b627971927e861d8c /arch/arm/cpu | |
parent | 54ef1f6774a2ced26789a072249c048201dc8987 (diff) | |
download | u-boot-imx-eef6da0326834cc90b9f3b2e80dec71ee8e39e9a.zip u-boot-imx-eef6da0326834cc90b9f3b2e80dec71ee8e39e9a.tar.gz u-boot-imx-eef6da0326834cc90b9f3b2e80dec71ee8e39e9a.tar.bz2 |
omap5912-osk: Fix get_timer() and CONFIG_SYS_HZ
The function get_timer() should return time in ms and CONFIG_SYS_HZ
should be set to 1000 by default. Fix both of these items.
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Diffstat (limited to 'arch/arm/cpu')
-rw-r--r-- | arch/arm/cpu/arm926ejs/omap/timer.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/arm/cpu/arm926ejs/omap/timer.c b/arch/arm/cpu/arm926ejs/omap/timer.c index 34ec7b2..16530b0 100644 --- a/arch/arm/cpu/arm926ejs/omap/timer.c +++ b/arch/arm/cpu/arm926ejs/omap/timer.c @@ -36,11 +36,14 @@ */ #include <common.h> +#include <asm/io.h> -#define TIMER_LOAD_VAL 0xffffffff +#define TIMER_CLOCK (CONFIG_SYS_CLK_FREQ / (2 << CONFIG_SYS_PTV)) +#define TIMER_LOAD_VAL 0xffffffff /* macro to read the 32 bit timer */ -#define READ_TIMER (*(volatile ulong *)(CONFIG_SYS_TIMERBASE+8)) +#define READ_TIMER readl(CONFIG_SYS_TIMERBASE+8) \ + / (TIMER_CLOCK / CONFIG_SYS_HZ) DECLARE_GLOBAL_DATA_PTR; @@ -114,7 +117,8 @@ ulong get_timer_masked (void) * (TLV-now) amount of time after passing though -1 * nts = new "advancing time stamp"...it could also roll and cause problems. */ - timestamp += lastdec + TIMER_LOAD_VAL - now; + timestamp += lastdec + (TIMER_LOAD_VAL / (TIMER_CLOCK / + CONFIG_SYS_HZ)) - now; } lastdec = now; @@ -160,8 +164,5 @@ unsigned long long get_ticks(void) */ ulong get_tbclk (void) { - ulong tbclk; - - tbclk = CONFIG_SYS_HZ; - return tbclk; + return CONFIG_SYS_HZ; } |