LsRealTimeClock.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /** @file
  2. Implement EFI RealTimeClock runtime services via RTC Lib.
  3. Copyright (c) 2022, Loongson Limited. All rights reserved.
  4. SPDX-License-Identifier: BSD-2-Clause-Patent
  5. **/
  6. #ifndef LS_REAL_TIME_CLOCK_H_
  7. #define LS_REAL_TIME_CLOCK_H_
  8. #define TOY_WRITE0_REG 0x24
  9. #define TOY_WRITE1_REG 0x28
  10. #define TOY_READ0_REG 0x2c
  11. #define TOY_READ1_REG 0x30
  12. #define RTC_CTRL_REG 0x40
  13. /* TOY Enable bits */
  14. #define RTC_ENABLE_BIT (1UL << 13)
  15. #define TOY_ENABLE_BIT (1UL << 11)
  16. #define OSC_ENABLE_BIT (1UL << 8)
  17. /*
  18. * shift bits and filed mask
  19. */
  20. #define TOY_MON_MASK 0x3f
  21. #define TOY_DAY_MASK 0x1f
  22. #define TOY_HOUR_MASK 0x1f
  23. #define TOY_MIN_MASK 0x3f
  24. #define TOY_SEC_MASK 0x3f
  25. #define TOY_MSEC_MASK 0xf
  26. #define TOY_MON_SHIFT 26
  27. #define TOY_DAY_SHIFT 21
  28. #define TOY_HOUR_SHIFT 16
  29. #define TOY_MIN_SHIFT 10
  30. #define TOY_SEC_SHIFT 4
  31. #endif // LS_REAL_TIME_CLOCK_H_