Blame view

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