home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / linux / ds17287rtc.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.7 KB  |  68 lines

  1. /*
  2.  * ds17287rtc.h - register definitions for the ds1728[57] RTC / CMOS RAM
  3.  *
  4.  * This file is subject to the terms and conditions of the GNU General Public
  5.  * License.  See the file "COPYING" in the main directory of this archive
  6.  * for more details.
  7.  *
  8.  * (C) 2003 Guido Guenther <agx@sigxcpu.org>
  9.  */
  10. #ifndef __LINUX_DS17287RTC_H
  11. #define __LINUX_DS17287RTC_H
  12.  
  13. #include <linux/rtc.h>            /* get the user-level API */
  14. #include <linux/spinlock.h>        /* spinlock_t */
  15. #include <linux/mc146818rtc.h>
  16.  
  17. /* Register A */
  18. #define DS_REGA_DV2    0x40        /* countdown chain */
  19. #define DS_REGA_DV1    0x20        /* oscillator enable */
  20. #define DS_REGA_DV0    0x10        /* bank select */
  21.  
  22. /* bank 1 registers */
  23. #define DS_B1_MODEL    0x40        /* model number byte */
  24. #define DS_B1_SN1     0x41        /* serial number byte 1 */
  25. #define DS_B1_SN2     0x42        /* serial number byte 2 */
  26. #define DS_B1_SN3     0x43        /* serial number byte 3 */
  27. #define DS_B1_SN4     0x44        /* serial number byte 4 */
  28. #define DS_B1_SN5     0x45        /* serial number byte 5 */
  29. #define DS_B1_SN6     0x46        /* serial number byte 6 */
  30. #define DS_B1_CRC     0x47        /* CRC byte */
  31. #define DS_B1_CENTURY     0x48        /* Century byte */
  32. #define DS_B1_DALARM     0x49        /* date alarm */
  33. #define DS_B1_XCTRL4A    0x4a        /* extendec control register 4a */
  34. #define DS_B1_XCTRL4B    0x4b        /* extendec control register 4b */
  35. #define DS_B1_RTCADDR2     0x4e        /* rtc address 2 */
  36. #define DS_B1_RTCADDR3     0x4f        /* rtc address 3 */
  37. #define DS_B1_RAMLSB    0x50        /* extended ram LSB */
  38. #define DS_B1_RAMMSB    0x51        /* extended ram MSB */
  39. #define DS_B1_RAMDPORT    0x53        /* extended ram data port */
  40.  
  41. /* register details */
  42. /* extended control register 4a */
  43. #define DS_XCTRL4A_VRT2    0x80         /* valid ram and time */
  44. #define DS_XCTRL4A_INCR    0x40        /* increment progress status */
  45. #define DS_XCTRL4A_BME    0x20        /* burst mode enable */
  46. #define DS_XCTRL4A_PAB    0x08        /* power active bar ctrl */
  47. #define DS_XCTRL4A_RF    0x04        /* ram clear flag */
  48. #define DS_XCTRL4A_WF    0x02        /* wake up alarm flag */
  49. #define DS_XCTRL4A_KF    0x01        /* kickstart flag */
  50.  
  51. /* interrupt causes */
  52. #define DS_XCTRL4A_IFS    (DS_XCTRL4A_RF|DS_XCTRL4A_WF|DS_XCTRL4A_KF)
  53.  
  54. /* extended control register 4b */
  55. #define DS_XCTRL4B_ABE    0x80         /* auxiliary battery enable */
  56. #define DS_XCTRL4B_E32K    0x40        /* enable 32.768 kHz Output */
  57. #define DS_XCTRL4B_CS    0x20        /* crystal select */
  58. #define DS_XCTRL4B_RCE    0x10        /* ram clear enable */
  59. #define DS_XCTRL4B_PRS    0x08        /* PAB resec select */
  60. #define DS_XCTRL4B_RIE    0x04        /* ram clear interrupt enable */
  61. #define DS_XCTRL4B_WFE    0x02        /* wake up alarm interrupt enable */
  62. #define DS_XCTRL4B_KFE    0x01        /* kickstart interrupt enable */
  63.  
  64. /* interrupt enable bits */
  65. #define DS_XCTRL4B_IFES    (DS_XCTRL4B_RIE|DS_XCTRL4B_WFE|DS_XCTRL4B_KFE)
  66.  
  67. #endif /* __LINUX_DS17287RTC_H */
  68.