diff options
Diffstat (limited to 'rtc/mc146818.c')
-rw-r--r-- | rtc/mc146818.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/rtc/mc146818.c b/rtc/mc146818.c index 1d65808..20b1b3e 100644 --- a/rtc/mc146818.c +++ b/rtc/mc146818.c @@ -69,10 +69,13 @@ void rtc_get (struct rtc_time *tmp) wday = rtc_read (RTC_DAY_OF_WEEK); mon = rtc_read (RTC_MONTH); year = rtc_read (RTC_YEAR); +#ifdef CONFIG_AMIGAONEG3SE + wday -= 1; /* VIA 686 stores Sunday = 1, Monday = 2, ... */ +#endif #ifdef RTC_DEBUG printf ( "Get RTC year: %02x mon/cent: %02x mday: %02x wday: %02x " "hr: %02x min: %02x sec: %02x\n", - year, mon_cent, mday, wday, + year, mon, mday, wday, hour, min, sec ); printf ( "Alarms: month: %02x hour: %02x min: %02x sec: %02x\n", rtc_read (RTC_CONFIG_D) & 0x3F, @@ -111,8 +114,11 @@ void rtc_set (struct rtc_time *tmp) rtc_write (RTC_YEAR, bin2bcd(tmp->tm_year % 100)); rtc_write (RTC_MONTH, bin2bcd(tmp->tm_mon)); - +#ifdef CONFIG_AMIGAONEG3SE + rtc_write (RTC_DAY_OF_WEEK, bin2bcd(tmp->tm_wday)+1); +#else rtc_write (RTC_DAY_OF_WEEK, bin2bcd(tmp->tm_wday)); +#endif rtc_write (RTC_DATE_OF_MONTH, bin2bcd(tmp->tm_mday)); rtc_write (RTC_HOURS, bin2bcd(tmp->tm_hour)); rtc_write (RTC_MINUTES, bin2bcd(tmp->tm_min )); |