diff options
author | Marian Balakowicz <m8@semihalf.com> | 2008-02-29 13:56:44 +0100 |
---|---|---|
committer | Marian Balakowicz <m8@semihalf.com> | 2008-02-29 13:56:44 +0100 |
commit | e18489e8c27e843e337258fb00f2652ff0f43b92 (patch) | |
tree | 2a3b2afa224e61cb7f1206a1641007e526d25160 /lib_ppc | |
parent | 75fa002c47171b73fb4c1f2c2fe4d6391c136276 (diff) | |
parent | b29661fc1151077776454288051bc9a488351ce8 (diff) |
Merge branch 'master' of git://www.denx.de/git/u-boot into new-image
Diffstat (limited to 'lib_ppc')
-rw-r--r-- | lib_ppc/time.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib_ppc/time.c b/lib_ppc/time.c index 51e8e8406dc..2649d5ffdca 100644 --- a/lib_ppc/time.c +++ b/lib_ppc/time.c @@ -23,6 +23,9 @@ #include <common.h> +#ifndef CONFIG_WD_PERIOD +# define CONFIG_WD_PERIOD (10 * 1000 * 1000) /* 10 seconds default*/ +#endif /* ------------------------------------------------------------------------- */ @@ -53,9 +56,14 @@ unsigned long usec2ticks(unsigned long usec) */ void udelay(unsigned long usec) { - ulong ticks = usec2ticks (usec); - - wait_ticks (ticks); + ulong ticks, kv; + + do { + kv = usec > CONFIG_WD_PERIOD ? CONFIG_WD_PERIOD : usec; + ticks = usec2ticks (kv); + wait_ticks (ticks); + usec -= kv; + } while(usec); } /* ------------------------------------------------------------------------- */ |