summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm926ejs/omap/timer.c
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2013-04-15 07:46:11 -0400
committerTom Rini <trini@ti.com>2013-04-15 07:46:11 -0400
commit17059f972fa6768ebf15a575c00083b3a431b79a (patch)
tree30df6b88fa1dc57dada54f9a16ab1619cc4f3c52 /arch/arm/cpu/arm926ejs/omap/timer.c
parent277f037074fbb73be10a7bff27079b6eb0a3bfbb (diff)
parent8960af8ba9488fc54e2e4733cbada26d3cece225 (diff)
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch/arm/cpu/arm926ejs/omap/timer.c')
-rw-r--r--arch/arm/cpu/arm926ejs/omap/timer.c15
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 34ec7b2b1c..16530b03b8 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;
}