[PATCH v4 08/11] rtc: i2c_rtc_emul: catch any write to the "reset" register
Rasmus Villemoes
rasmus.villemoes at prevas.dk
Mon Jul 6 22:01:17 CEST 2020
It's more natural that any write that happens to touch the reset
register should cause a reset, rather than just a write that starts at
that offset.
Reviewed-by: Simon Glass <sjg at chromium.org>
Reviewed-by: Heiko Schocher <hs at denx.de>
Signed-off-by: Rasmus Villemoes <rasmus.villemoes at prevas.dk>
---
drivers/rtc/i2c_rtc_emul.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/rtc/i2c_rtc_emul.c b/drivers/rtc/i2c_rtc_emul.c
index a010af411b..7f78ff83cb 100644
--- a/drivers/rtc/i2c_rtc_emul.c
+++ b/drivers/rtc/i2c_rtc_emul.c
@@ -197,7 +197,8 @@ static int sandbox_i2c_rtc_xfer(struct udevice *emul, struct i2c_msg *msg,
/* Write the register */
memcpy(plat->reg + offset, ptr, len);
- if (offset == REG_RESET)
+ /* If the reset register was written to, do reset. */
+ if (offset <= REG_RESET && REG_RESET < offset + len)
reset_time(emul);
}
}
--
2.23.0
More information about the U-Boot
mailing list