#include <time.h>
-#define CMOS_RTC_SECONDS 0x00
-#define CMOS_RTC_MINUTES 0x02
-#define CMOS_RTC_HOURS 0x04
-#define CMOS_RTC_DATE_OF_MONTH 0x07
-#define CMOS_RTC_MONTH 0x08
-#define CMOS_RTC_YEAR 0x09
+/*
+ * MC146818 RTC registers
+ */
+#define RTC_SECONDS 0x00
+#define RTC_SECONDS_ALARM 0x01
+#define RTC_MINUTES 0x02
+#define RTC_MINUTES_ALARM 0x03
+#define RTC_HOURS 0x04
+#define RTC_HOURS_ALARM 0x05
+#define RTC_DAY_OF_WEEK 0x06
+#define RTC_DAY_OF_MONTH 0x07
+#define RTC_MONTH 0x08
+#define RTC_YEAR 0x09
+
+#define RTC_REG_A 0x0A
+#define RTC_REG_B 0x0B
+#define RTC_REG_C 0x0C
+#define RTC_REG_D 0x0D
struct rtc_device {
u8 cmos_idx;
tm = gmtime(&ti);
switch (rtc.cmos_idx) {
- case CMOS_RTC_SECONDS:
+ case RTC_SECONDS:
ioport__write8(data, bin2bcd(tm->tm_sec));
break;
- case CMOS_RTC_MINUTES:
+ case RTC_MINUTES:
ioport__write8(data, bin2bcd(tm->tm_min));
break;
- case CMOS_RTC_HOURS:
+ case RTC_HOURS:
ioport__write8(data, bin2bcd(tm->tm_hour));
break;
- case CMOS_RTC_DATE_OF_MONTH:
+ case RTC_DAY_OF_MONTH:
ioport__write8(data, bin2bcd(tm->tm_mday));
break;
- case CMOS_RTC_MONTH:
+ case RTC_MONTH:
ioport__write8(data, bin2bcd(tm->tm_mon + 1));
break;
- case CMOS_RTC_YEAR:
+ case RTC_YEAR:
ioport__write8(data, bin2bcd(tm->tm_year));
break;
}