time.c 717 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * (C) Copyright 2000-2009
  3. * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #include <common.h>
  8. #include <watchdog.h>
  9. #if CONFIG_SYS_HZ != 1000
  10. #warning "CONFIG_SYS_HZ must be 1000 and should not be defined by platforms"
  11. #endif
  12. #ifndef CONFIG_WD_PERIOD
  13. # define CONFIG_WD_PERIOD (10 * 1000 * 1000) /* 10 seconds default*/
  14. #endif
  15. /* ------------------------------------------------------------------------- */
  16. void udelay(unsigned long usec)
  17. {
  18. ulong kv;
  19. do {
  20. WATCHDOG_RESET();
  21. kv = usec > CONFIG_WD_PERIOD ? CONFIG_WD_PERIOD : usec;
  22. __udelay (kv);
  23. usec -= kv;
  24. } while(usec);
  25. }
  26. void mdelay(unsigned long msec)
  27. {
  28. while (msec--)
  29. udelay(1000);
  30. }