rtc.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /*
  2. * RTC Masks
  3. */
  4. #ifndef __BFIN_PERIPHERAL_RTC__
  5. #define __BFIN_PERIPHERAL_RTC__
  6. /* RTC_STAT and RTC_ALARM Masks */
  7. #define RTC_SEC 0x0000003F /* Real-Time Clock Seconds */
  8. #define RTC_MIN 0x00000FC0 /* Real-Time Clock Minutes */
  9. #define RTC_HR 0x0001F000 /* Real-Time Clock Hours */
  10. #define RTC_DAY 0xFFFE0000 /* Real-Time Clock Days */
  11. #define RTC_SEC_P 0
  12. #define RTC_MIN_P 6
  13. #define RTC_HR_P 12
  14. #define RTC_DAY_P 17
  15. /*
  16. * RTC_ALARM Macro
  17. */
  18. #define SET_ALARM(day, hr, min, sec) \
  19. ( (((day) << RTC_DAY_P) & RTC_DAY) | \
  20. (((hr) << RTC_HR_P ) & RTC_HR ) | \
  21. (((min) << RTC_MIN_P) & RTC_MIN) | \
  22. (((sec) << RTC_SEC_P) & RTC_SEC) )
  23. /* RTC_ICTL and RTC_ISTAT Masks */
  24. #define STOPWATCH 0x0001 /* Stopwatch Interrupt Enable */
  25. #define ALARM 0x0002 /* Alarm Interrupt Enable */
  26. #define SECOND 0x0004 /* Seconds (1 Hz) Interrupt Enable */
  27. #define MINUTE 0x0008 /* Minutes Interrupt Enable */
  28. #define HOUR 0x0010 /* Hours Interrupt Enable */
  29. #define DAY 0x0020 /* 24 Hours (Days) Interrupt Enable */
  30. #define DAY_ALARM 0x0040 /* Day Alarm (Day, Hour, Minute, Second) Interrupt Enable */
  31. #define WRITE_PENDING 0x4000 /* Write Pending Status */
  32. #define WRITE_COMPLETE 0x8000 /* Write Complete Interrupt Enable */
  33. /* RTC_FAST / RTC_PREN Mask */
  34. #define PREN 0x0001 /* Enable Prescaler, RTC Runs @1 Hz */
  35. #endif