6 * CMOS Real-Time Clock (RTC)
8 * The CMOS/RTC registers are documented (with varying degrees of
9 * accuracy and consistency) at
11 * http://www.nondot.org/sabre/os/files/MiscHW/RealtimeClockFAQ.txt
12 * http://wiki.osdev.org/RTC
13 * http://wiki.osdev.org/CMOS
16 FILE_LICENCE ( GPL2_OR_LATER );
23 /** RTC interrupt vector */
24 #define RTC_INT IRQ_INT ( RTC_IRQ )
26 /** CMOS/RTC address (and NMI) register */
27 #define CMOS_ADDRESS 0x70
29 /** NMI disable bit */
30 #define CMOS_DISABLE_NMI 0x80
32 /** CMOS/RTC data register */
33 #define CMOS_DATA 0x71
47 /** RTC day of month */
56 /** RTC status register A */
57 #define RTC_STATUS_A 0x0a
59 /** RTC update in progress bit */
60 #define RTC_STATUS_A_UPDATE_IN_PROGRESS 0x80
62 /** RTC status register B */
63 #define RTC_STATUS_B 0x0b
65 /** RTC 24 hour format bit */
66 #define RTC_STATUS_B_24_HOUR 0x02
68 /** RTC binary mode bit */
69 #define RTC_STATUS_B_BINARY 0x04
71 /** RTC Periodic Interrupt Enabled bit */
72 #define RTC_STATUS_B_PIE 0x40
74 /** RTC status register C */
75 #define RTC_STATUS_C 0x0c
77 /** RTC status register D */
78 #define RTC_STATUS_D 0x0d
80 /** CMOS default address */
81 #define CMOS_DEFAULT_ADDRESS RTC_STATUS_D