
Hi Stephen,
On Thu, 21 Mar 2013 21:32:30 -0600, Stephen Warren swarren@wwwdotorg.org wrote:
Apparently, CONFIG_SYS_HZ must be 1000. Change this, and fix the timer driver to conform to this.
Signed-off-by: Stephen Warren swarren@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);
diff = endtime - now; } while (diff >= 0);ulong now = get_timer_us();
} 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
Is this a fix to some known issue or bug?
Amicalement,