X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=rtc%2Fmc146818.c;h=ab377ed73e567d985d6423600cc074cff475e603;hb=f868cc5a50757d94f36c312395481cb0f187d9e6;hp=1d65808f79d470d8d800c92d04c0f81918cc4446;hpb=affae2bff825c1a8d2cfeaf7b270188d251d39d2;p=u-boot diff --git a/rtc/mc146818.c b/rtc/mc146818.c index 1d65808f79..ab377ed73e 100644 --- a/rtc/mc146818.c +++ b/rtc/mc146818.c @@ -31,7 +31,7 @@ #include #include -#if defined(CONFIG_RTC_MC146818) && (CONFIG_COMMANDS & CFG_CMD_DATE) +#if defined(CONFIG_RTC_MC146818) && defined(CONFIG_CMD_DATE) static uchar rtc_read (uchar reg); static void rtc_write (uchar reg, uchar val); @@ -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 )); @@ -169,4 +175,4 @@ static unsigned char bin2bcd (unsigned int n) return (((n / 10) << 4) | (n % 10)); } -#endif /* CONFIG_RTC_MC146818 && CFG_CMD_DATE */ +#endif