rtc.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /* rtc.h
  2. *
  3. * Copyright (c) 2011 Samsung Electronics Co., Ltd
  4. * http://www.samsung.com
  5. *
  6. * This program is free software; you can redistribute it and/or modify it
  7. * under the terms of the GNU General Public License as published by the
  8. * Free Software Foundation; either version 2 of the License, or (at your
  9. * option) any later version.
  10. *
  11. */
  12. #ifndef __LINUX_MFD_SEC_RTC_H
  13. #define __LINUX_MFD_SEC_RTC_H
  14. enum sec_rtc_reg {
  15. SEC_RTC_SEC,
  16. SEC_RTC_MIN,
  17. SEC_RTC_HOUR,
  18. SEC_RTC_WEEKDAY,
  19. SEC_RTC_DATE,
  20. SEC_RTC_MONTH,
  21. SEC_RTC_YEAR1,
  22. SEC_RTC_YEAR2,
  23. SEC_ALARM0_SEC,
  24. SEC_ALARM0_MIN,
  25. SEC_ALARM0_HOUR,
  26. SEC_ALARM0_WEEKDAY,
  27. SEC_ALARM0_DATE,
  28. SEC_ALARM0_MONTH,
  29. SEC_ALARM0_YEAR1,
  30. SEC_ALARM0_YEAR2,
  31. SEC_ALARM1_SEC,
  32. SEC_ALARM1_MIN,
  33. SEC_ALARM1_HOUR,
  34. SEC_ALARM1_WEEKDAY,
  35. SEC_ALARM1_DATE,
  36. SEC_ALARM1_MONTH,
  37. SEC_ALARM1_YEAR1,
  38. SEC_ALARM1_YEAR2,
  39. SEC_ALARM0_CONF,
  40. SEC_ALARM1_CONF,
  41. SEC_RTC_STATUS,
  42. SEC_WTSR_SMPL_CNTL,
  43. SEC_RTC_UDR_CON,
  44. };
  45. #define RTC_I2C_ADDR (0x0C >> 1)
  46. #define HOUR_12 (1 << 7)
  47. #define HOUR_AMPM (1 << 6)
  48. #define HOUR_PM (1 << 5)
  49. #define ALARM0_STATUS (1 << 1)
  50. #define ALARM1_STATUS (1 << 2)
  51. #define UPDATE_AD (1 << 0)
  52. /* RTC Control Register */
  53. #define BCD_EN_SHIFT 0
  54. #define BCD_EN_MASK (1 << BCD_EN_SHIFT)
  55. #define MODEL24_SHIFT 1
  56. #define MODEL24_MASK (1 << MODEL24_SHIFT)
  57. /* RTC Update Register1 */
  58. #define RTC_UDR_SHIFT 0
  59. #define RTC_UDR_MASK (1 << RTC_UDR_SHIFT)
  60. /* RTC Hour register */
  61. #define HOUR_PM_SHIFT 6
  62. #define HOUR_PM_MASK (1 << HOUR_PM_SHIFT)
  63. /* RTC Alarm Enable */
  64. #define ALARM_ENABLE_SHIFT 7
  65. #define ALARM_ENABLE_MASK (1 << ALARM_ENABLE_SHIFT)
  66. enum {
  67. RTC_SEC = 0,
  68. RTC_MIN,
  69. RTC_HOUR,
  70. RTC_WEEKDAY,
  71. RTC_DATE,
  72. RTC_MONTH,
  73. RTC_YEAR1,
  74. RTC_YEAR2,
  75. };
  76. #endif /* __LINUX_MFD_SEC_RTC_H */