summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorHeinrich Schuchardt <xypron.glpk@gmx.de>2018-07-21 18:40:20 +0200
committerTom Rini <trini@konsulko.com>2018-07-28 11:58:09 -0400
commitc5b53baeaa1ba32bdbfd492c1dc38b6f2b64484a (patch)
treeadafab7c60fb33bc5854d28edf02a4e69d0bbcd7 /drivers
parenta92b794f3203831b384cfd5bb700718ad9fdeb05 (diff)
drivers: rtc: correctly set week day for mc146818
The driver sets the weekday incorrectly when called by the 'date set' command. Sunday is 1, Saturday is 7 unlike in U-Boot (see data sheet https://www.nxp.com/docs/en/data-sheet/MC146818.pdf, table 3). Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/rtc/mc146818.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/rtc/mc146818.c b/drivers/rtc/mc146818.c
index ee29c711aa..4df443d84a 100644
--- a/drivers/rtc/mc146818.c
+++ b/drivers/rtc/mc146818.c
@@ -145,7 +145,8 @@ static int mc146818_set(struct rtc_time *tmp)
mc146818_write8(RTC_YEAR, bin2bcd(tmp->tm_year % 100));
mc146818_write8(RTC_MONTH, bin2bcd(tmp->tm_mon));
- mc146818_write8(RTC_DAY_OF_WEEK, bin2bcd(tmp->tm_wday));
+ /* Sunday = 1, Saturday = 7 */
+ mc146818_write8(RTC_DAY_OF_WEEK, bin2bcd(tmp->tm_wday + 1));
mc146818_write8(RTC_DATE_OF_MONTH, bin2bcd(tmp->tm_mday));
mc146818_write8(RTC_HOURS, bin2bcd(tmp->tm_hour));
mc146818_write8(RTC_MINUTES, bin2bcd(tmp->tm_min));