drivers: rtc: max313xx: Fix setting years 2100-2199

An invalid calculation made setting years 2100-2199 impossible.

Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Cc: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Chris Packham <judge.packham@gmail.com>
This commit is contained in:
Mark Tomlinson 2025-01-20 14:59:40 +13:00 committed by Tom Rini
parent 0d837cb075
commit d86da7e2bd

View File

@ -285,7 +285,7 @@ static int max313xx_set_time(struct udevice *dev, const struct rtc_time *t)
regs[5] = bin2bcd(t->tm_mon);
regs[6] = bin2bcd((t->tm_year - 2000) % 100);
if ((t->tm_year - 2000) >= 200)
if (t->tm_year >= 2100)
regs[5] |= FIELD_PREP(MAX313XX_MONTH_CENTURY, 1);
ret = dm_i2c_write(dev, rtc->chip->sec_reg, regs, 7);