mpc8xx.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * (C) Copyright 2001
  3. * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. /*
  8. * Date & Time support for internal RTC of MPC8xx
  9. */
  10. /*#define DEBUG*/
  11. #include <common.h>
  12. #include <command.h>
  13. #include <rtc.h>
  14. #if defined(CONFIG_CMD_DATE)
  15. /* ------------------------------------------------------------------------- */
  16. int rtc_get (struct rtc_time *tmp)
  17. {
  18. volatile immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
  19. ulong tim;
  20. tim = immr->im_sit.sit_rtc;
  21. rtc_to_tm(tim, tmp);
  22. debug ( "Get DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
  23. tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
  24. tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
  25. return 0;
  26. }
  27. int rtc_set (struct rtc_time *tmp)
  28. {
  29. volatile immap_t *immr = (immap_t *)CONFIG_SYS_IMMR;
  30. ulong tim;
  31. debug ( "Set DATE: %4d-%02d-%02d (wday=%d) TIME: %2d:%02d:%02d\n",
  32. tmp->tm_year, tmp->tm_mon, tmp->tm_mday, tmp->tm_wday,
  33. tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
  34. tim = rtc_mktime(tmp);
  35. immr->im_sitk.sitk_rtck = KAPWR_KEY;
  36. immr->im_sit.sit_rtc = tim;
  37. return 0;
  38. }
  39. void rtc_reset (void)
  40. {
  41. return; /* nothing to do */
  42. }
  43. #endif