summaryrefslogtreecommitdiff
path: root/drivers/rtc
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2022-05-05 19:37:22 -0400
committerTom Rini <trini@konsulko.com>2022-05-05 19:37:22 -0400
commit03b873b4f41010e4f85a72dd59016bb0b123dde1 (patch)
tree3ea6ba397b9ce3db7286537be078944c6daa23b8 /drivers/rtc
parent5d834bfa5fa61dc9dff94a92672c0a1185cb3a83 (diff)
parentaa5ea20c71921e062aa91d5c7f924cef5d742ec2 (diff)
Merge branch '2022-05-05-assorted-cleanups-and-fixes'
- Assorted minor code cleanups. - Clean-up the reset uclass code slightly and fix some issues with a lack of handlers for a case in the driver. - Y2038 RTC fix
Diffstat (limited to 'drivers/rtc')
-rw-r--r--drivers/rtc/rv8803.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/rtc/rv8803.c b/drivers/rtc/rv8803.c
index 5bae39d6e09..06a4ae89fa9 100644
--- a/drivers/rtc/rv8803.c
+++ b/drivers/rtc/rv8803.c
@@ -49,7 +49,7 @@ static int rv8803_rtc_set(struct udevice *dev, const struct rtc_time *tm)
printf("WARNING: year should be between 2000 and 2099!\n");
buf[RTC_YR_REG_ADDR] = bin2bcd(tm->tm_year % 100);
- buf[RTC_MON_REG_ADDR] = bin2bcd(tm->tm_mon);
+ buf[RTC_MON_REG_ADDR] = bin2bcd(tm->tm_mon + 1);
buf[RTC_DAY_REG_ADDR] = 1 << (tm->tm_wday & 0x7);
buf[RTC_DATE_REG_ADDR] = bin2bcd(tm->tm_mday);
buf[RTC_HR_REG_ADDR] = bin2bcd(tm->tm_hour);
@@ -90,7 +90,7 @@ static int rv8803_rtc_get(struct udevice *dev, struct rtc_time *tm)
tm->tm_min = bcd2bin(buf[RTC_MIN_REG_ADDR] & 0x7F);
tm->tm_hour = bcd2bin(buf[RTC_HR_REG_ADDR] & 0x3F);
tm->tm_mday = bcd2bin(buf[RTC_DATE_REG_ADDR] & 0x3F);
- tm->tm_mon = bcd2bin(buf[RTC_MON_REG_ADDR] & 0x1F);
+ tm->tm_mon = bcd2bin(buf[RTC_MON_REG_ADDR] & 0x1F) - 1;
tm->tm_year = bcd2bin(buf[RTC_YR_REG_ADDR]) + 2000;
tm->tm_wday = fls(buf[RTC_DAY_REG_ADDR] & 0x7F) - 1;
tm->tm_yday = 0;