diff options
author | Ingo van Lil <inguin@gmx.de> | 2009-11-24 14:09:21 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-12-05 01:08:53 +0100 |
commit | 3eb90bad651fab39cffba750ec4421a9c01d60e7 (patch) | |
tree | 63b21148a041603db252203a422dc465e862e016 /cpu/ixp | |
parent | 1c409bc7101a24ecd47a13a4e851845d66dc23ce (diff) | |
download | bootable_bootloader_goldelico_gta04-3eb90bad651fab39cffba750ec4421a9c01d60e7.zip bootable_bootloader_goldelico_gta04-3eb90bad651fab39cffba750ec4421a9c01d60e7.tar.gz bootable_bootloader_goldelico_gta04-3eb90bad651fab39cffba750ec4421a9c01d60e7.tar.bz2 |
Generic udelay() with watchdog support
According to the PPC reference implementation the udelay() function is
responsible for resetting the watchdog timer as frequently as needed.
Most other architectures do not meet that requirement, so long-running
operations might result in a watchdog reset.
This patch adds a generic udelay() function which takes care of
resetting the watchdog before calling an architecture-specific
__udelay().
Signed-off-by: Ingo van Lil <inguin@gmx.de>
Diffstat (limited to 'cpu/ixp')
-rw-r--r-- | cpu/ixp/start.S | 4 | ||||
-rw-r--r-- | cpu/ixp/timer.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/cpu/ixp/start.S b/cpu/ixp/start.S index 196ba5d..5ebce53 100644 --- a/cpu/ixp/start.S +++ b/cpu/ixp/start.S @@ -505,8 +505,8 @@ reset_endless: /* * 0 <= r0 <= 2000 */ -.globl udelay -udelay: +.globl __udelay +__udelay: mov r2, #0x6800 orr r2, r2, #0x00db mul r0, r2, r0 diff --git a/cpu/ixp/timer.c b/cpu/ixp/timer.c index 6856149..edf341f 100644 --- a/cpu/ixp/timer.c +++ b/cpu/ixp/timer.c @@ -99,7 +99,7 @@ void ixp425_udelay(unsigned long usec) while (!(*IXP425_OSST & IXP425_OSST_TIMER_1_PEND)); } -void udelay (unsigned long usec) +void __udelay (unsigned long usec) { while (usec--) ixp425_udelay(1); } |