mk48t59.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /*
  2. * (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  3. * Andreas Heppel <aheppel@sysgo.de>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. /*
  8. * Date & Time support for the MK48T59 RTC
  9. */
  10. #if defined(CONFIG_RTC_MK48T59) && defined(CONFIG_CMD_DATE)
  11. #define RTC_PORT_ADDR0 CONFIG_SYS_ISA_IO + 0x70
  12. #define RTC_PORT_ADDR1 RTC_PORT_ADDR0 + 0x1
  13. #define RTC_PORT_DATA CONFIG_SYS_ISA_IO + 0x76
  14. /* RTC Offsets */
  15. #define RTC_SECONDS 0x1FF9
  16. #define RTC_MINUTES 0x1FFA
  17. #define RTC_HOURS 0x1FFB
  18. #define RTC_DAY_OF_WEEK 0x1FFC
  19. #define RTC_DAY_OF_MONTH 0x1FFD
  20. #define RTC_MONTH 0x1FFE
  21. #define RTC_YEAR 0x1FFF
  22. #define RTC_CONTROLA 0x1FF8
  23. #define RTC_CA_WRITE 0x80
  24. #define RTC_CA_READ 0x40
  25. #define RTC_CA_CALIB_SIGN 0x20
  26. #define RTC_CA_CALIB_MASK 0x1f
  27. #define RTC_CONTROLB 0x1FF9
  28. #define RTC_CB_STOP 0x80
  29. #define RTC_WATCHDOG 0x1FF7
  30. #define RTC_WDS 0x80
  31. #define RTC_WD_RB_16TH 0x0
  32. #define RTC_WD_RB_4TH 0x1
  33. #define RTC_WD_RB_1 0x2
  34. #define RTC_WD_RB_4 0x3
  35. void rtc_set_watchdog(short multi, short res);
  36. void *nvram_read(void *dest, const short src, size_t count);
  37. void nvram_write(short dest, const void *src, size_t count);
  38. #endif