summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm926ejs/mx28/timer.c
diff options
context:
space:
mode:
authorMarek Vasut <marek.vasut@gmail.com>2012-02-07 06:47:31 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-02-27 21:19:23 +0100
commitff250f3ed89bf9119173e2eade77dfc90d7e9d7d (patch)
tree513a17a870e99cc4b5d63ce84daecf1c094575a2 /arch/arm/cpu/arm926ejs/mx28/timer.c
parent61698fd563bb3747079c079558d590e45d130552 (diff)
MX28: Fix get_timer() / get_tbclk() issue
Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Detlev Zundel <dzu@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <festevam@gmail.com>
Diffstat (limited to 'arch/arm/cpu/arm926ejs/mx28/timer.c')
-rw-r--r--arch/arm/cpu/arm926ejs/mx28/timer.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/arch/arm/cpu/arm926ejs/mx28/timer.c b/arch/arm/cpu/arm926ejs/mx28/timer.c
index dbc904d087..5b73f4a2b3 100644
--- a/arch/arm/cpu/arm926ejs/mx28/timer.c
+++ b/arch/arm/cpu/arm926ejs/mx28/timer.c
@@ -82,7 +82,7 @@ int timer_init(void)
return 0;
}
-ulong get_timer(ulong base)
+unsigned long long get_ticks(void)
{
struct mx28_timrot_regs *timrot_regs =
(struct mx28_timrot_regs *)MXS_TIMROT_BASE;
@@ -103,7 +103,17 @@ ulong get_timer(ulong base)
}
lastdec = now;
- return tick_to_time(timestamp) - base;
+ return timestamp;
+}
+
+ulong get_timer_masked(void)
+{
+ return tick_to_time(get_ticks());
+}
+
+ulong get_timer(ulong base)
+{
+ return get_timer_masked() - base;
}
/* We use the HW_DIGCTL_MICROSECONDS register for sub-millisecond timer. */
@@ -139,3 +149,8 @@ void __udelay(unsigned long usec)
old = new;
}
}
+
+ulong get_tbclk(void)
+{
+ return MX28_INCREMENTER_HZ;
+}