The MAX31331 was not correctly updating the seconds when
setting the time and would return the seconds previously set.

Like the MAX31343, a delay needs to be added after setting the
time. Wait one second after writing so that the date command shows the
correct time.

Reviewed-by: Chris Packham <chris.pack...@alliedtelesis.co.nz>
Reviewed-by: Bruce Adams <bruce.ad...@alliedtelesis.co.nz>
Signed-off-by: Ben Hoelker <ben.hoel...@alliedtelesis.co.nz>
---

 drivers/rtc/max313xx.c | 1 +
 1 file changed, 1 insertion(+)

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

base-commit: 0c558bbad9e7581808b358091d1fd979f860e8ac
branch: master

Reply via email to