]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - lib_ppc/time.c
lwmon5: enable hardware watchdog
[karo-tx-uboot.git] / lib_ppc / time.c
index 51e8e8406dc318f69492ac147889d81007fb5e45..2649d5ffdca9b0bfe6162b5bdd7cf9925c769f42 100644 (file)
@@ -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);
 }
 
 /* ------------------------------------------------------------------------- */