s5m-rtc.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * s5m-rtc.h
  3. *
  4. * Copyright (c) 2011 Samsung Electronics Co., Ltd
  5. * http://www.samsung.com
  6. *
  7. * This program is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU General Public License as published by the
  9. * Free Software Foundation; either version 2 of the License, or (at your
  10. * option) any later version.
  11. *
  12. */
  13. #ifndef __LINUX_MFD_S5M_RTC_H
  14. #define __LINUX_MFD_S5M_RTC_H
  15. enum s5m87xx_rtc_reg {
  16. S5M87XX_RTC_SEC,
  17. S5M87XX_RTC_MIN,
  18. S5M87XX_RTC_HOUR,
  19. S5M87XX_RTC_WEEKDAY,
  20. S5M87XX_RTC_DATE,
  21. S5M87XX_RTC_MONTH,
  22. S5M87XX_RTC_YEAR1,
  23. S5M87XX_RTC_YEAR2,
  24. S5M87XX_ALARM0_SEC,
  25. S5M87XX_ALARM0_MIN,
  26. S5M87XX_ALARM0_HOUR,
  27. S5M87XX_ALARM0_WEEKDAY,
  28. S5M87XX_ALARM0_DATE,
  29. S5M87XX_ALARM0_MONTH,
  30. S5M87XX_ALARM0_YEAR1,
  31. S5M87XX_ALARM0_YEAR2,
  32. S5M87XX_ALARM1_SEC,
  33. S5M87XX_ALARM1_MIN,
  34. S5M87XX_ALARM1_HOUR,
  35. S5M87XX_ALARM1_WEEKDAY,
  36. S5M87XX_ALARM1_DATE,
  37. S5M87XX_ALARM1_MONTH,
  38. S5M87XX_ALARM1_YEAR1,
  39. S5M87XX_ALARM1_YEAR2,
  40. S5M87XX_ALARM0_CONF,
  41. S5M87XX_ALARM1_CONF,
  42. S5M87XX_RTC_STATUS,
  43. S5M87XX_WTSR_SMPL_CNTL,
  44. S5M87XX_RTC_UDR_CON,
  45. };
  46. #define RTC_I2C_ADDR (0x0C >> 1)
  47. #define HOUR_12 (1 << 7)
  48. #define HOUR_AMPM (1 << 6)
  49. #define HOUR_PM (1 << 5)
  50. #define ALARM0_STATUS (1 << 1)
  51. #define ALARM1_STATUS (1 << 2)
  52. #define UPDATE_AD (1 << 0)
  53. /* RTC Control Register */
  54. #define BCD_EN_SHIFT 0
  55. #define BCD_EN_MASK (1 << BCD_EN_SHIFT)
  56. #define MODEL24_SHIFT 1
  57. #define MODEL24_MASK (1 << MODEL24_SHIFT)
  58. /* RTC Update Register1 */
  59. #define RTC_UDR_SHIFT 0
  60. #define RTC_UDR_MASK (1 << RTC_UDR_SHIFT)
  61. /* RTC Hour register */
  62. #define HOUR_PM_SHIFT 6
  63. #define HOUR_PM_MASK (1 << HOUR_PM_SHIFT)
  64. /* RTC Alarm Enable */
  65. #define ALARM_ENABLE_SHIFT 7
  66. #define ALARM_ENABLE_MASK (1 << ALARM_ENABLE_SHIFT)
  67. enum {
  68. RTC_SEC = 0,
  69. RTC_MIN,
  70. RTC_HOUR,
  71. RTC_WEEKDAY,
  72. RTC_DATE,
  73. RTC_MONTH,
  74. RTC_YEAR1,
  75. RTC_YEAR2,
  76. };
  77. #endif /* __LINUX_MFD_S5M_RTC_H */