[U-Boot] [PATCH] ARM: bcm2835: fix get_timer() to return mS
Stephen Warren
swarren at wwwdotorg.org
Fri Mar 22 04:32:30 CET 2013
Apparently, CONFIG_SYS_HZ must be 1000. Change this, and fix the timer
driver to conform to this.
Signed-off-by: Stephen Warren <swarren at wwwdotorg.org>
---
arch/arm/cpu/arm1176/bcm2835/timer.c | 13 +++++++++----
include/configs/rpi_b.h | 2 +-
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/arch/arm/cpu/arm1176/bcm2835/timer.c b/arch/arm/cpu/arm1176/bcm2835/timer.c
index d232d7e..f550020 100644
--- a/arch/arm/cpu/arm1176/bcm2835/timer.c
+++ b/arch/arm/cpu/arm1176/bcm2835/timer.c
@@ -23,12 +23,17 @@ int timer_init(void)
return 0;
}
-ulong get_timer(ulong base)
+ulong get_timer_us(void)
{
struct bcm2835_timer_regs *regs =
(struct bcm2835_timer_regs *)BCM2835_TIMER_PHYSADDR;
- return readl(®s->clo) - base;
+ return readl(®s->clo);
+}
+
+ulong get_timer(ulong base)
+{
+ return (get_timer_us() / 1000) - base;
}
unsigned long long get_ticks(void)
@@ -46,10 +51,10 @@ void __udelay(unsigned long usec)
ulong endtime;
signed long diff;
- endtime = get_timer(0) + usec;
+ endtime = get_timer_us() + usec;
do {
- ulong now = get_timer(0);
+ ulong now = get_timer_us();
diff = endtime - now;
} while (diff >= 0);
}
diff --git a/include/configs/rpi_b.h b/include/configs/rpi_b.h
index 3d55d36..c18b35b 100644
--- a/include/configs/rpi_b.h
+++ b/include/configs/rpi_b.h
@@ -31,7 +31,7 @@
#define CONFIG_MACH_TYPE MACH_TYPE_BCM2708
/* Timer */
-#define CONFIG_SYS_HZ 1000000
+#define CONFIG_SYS_HZ 1000
/* Memory layout */
#define CONFIG_NR_DRAM_BANKS 1
--
1.7.10.4
More information about the U-Boot
mailing list