mvrtc.h 934 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2011
  4. * Jason Cooper <u-boot@lakedaemon.net>
  5. */
  6. /*
  7. * Date & Time support for Marvell Integrated RTC
  8. */
  9. #ifndef _MVRTC_H_
  10. #define _MVRTC_H_
  11. #include <asm/arch/soc.h>
  12. #include <linux/compiler.h>
  13. /* RTC registers */
  14. struct mvrtc_registers {
  15. u32 time;
  16. u32 date;
  17. };
  18. /* Platform data */
  19. struct mvrtc_pdata {
  20. phys_addr_t iobase;
  21. };
  22. /* time register */
  23. #define MVRTC_SEC_SFT 0
  24. #define MVRTC_SEC_MSK 0x7f
  25. #define MVRTC_MIN_SFT 8
  26. #define MVRTC_MIN_MSK 0x7f
  27. #define MVRTC_HOUR_SFT 16
  28. #define MVRTC_HOUR_MSK 0x3f
  29. #define MVRTC_DAY_SFT 24
  30. #define MVRTC_DAY_MSK 0x7
  31. /*
  32. * Hour format bit
  33. * 1 = 12 hour clock
  34. * 0 = 24 hour clock
  35. */
  36. #define MVRTC_HRFMT_MSK 0x00400000
  37. /* date register */
  38. #define MVRTC_DATE_SFT 0
  39. #define MVRTC_DATE_MSK 0x3f
  40. #define MVRTC_MON_SFT 8
  41. #define MVRTC_MON_MSK 0x1f
  42. #define MVRTC_YEAR_SFT 16
  43. #define MVRTC_YEAR_MSK 0xff
  44. #endif