[PATCH 2/2] drivers: rtc: max313xx: Ensure correct date is read after setting

Mark Tomlinson mark.tomlinson at alliedtelesis.co.nz
Mon Jan 20 02:59:41 CET 2025


When setting the time on the MAX31343, the time is not updated
for one second, and reading the time in this interval will give
the old time. Wait one second after writing so that the date
command will show the correct time when setting the clock.

Signed-off-by: Mark Tomlinson <mark.tomlinson at alliedtelesis.co.nz>
Cc: Chris Packham <judge.packham at gmail.com>
---
 drivers/rtc/max313xx.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/rtc/max313xx.c b/drivers/rtc/max313xx.c
index ccfd6b6d0e2..2cb3f245041 100644
--- a/drivers/rtc/max313xx.c
+++ b/drivers/rtc/max313xx.c
@@ -307,6 +307,11 @@ static int max313xx_set_time(struct udevice *dev, const struct rtc_time *t)
 		if (ret)
 			return ret;
 
+		break;
+	case ID_MAX31343:
+		/* Time is not updated for 1 second after writing */
+		/* Sleep here so the date command shows the new time */
+		mdelay(1000);
 		break;
 	default:
 		break;
-- 
2.48.1



More information about the U-Boot mailing list