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 1d65808f7..20b1b3e77 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 )); |