diff options
author | Michael Grzeschik <m.grzeschik@pengutronix.de> | 2016-12-14 13:52:52 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-01-10 08:27:33 +0100 |
commit | 6f20bcdb7b234fae03b28175a6a3e0d1ae44dc90 (patch) | |
tree | 057f1c9e095e935450226ab388637d42a2fa2fbc /drivers/mfd | |
parent | 40df35f5cb0d64469b400c31a91e598c8869b83b (diff) | |
download | barebox-6f20bcdb7b234fae03b28175a6a3e0d1ae44dc90.tar.gz barebox-6f20bcdb7b234fae03b28175a6a3e0d1ae44dc90.tar.xz |
da9053: reset FAULTLOG after read
The driver has to reset the FAULTLOG register after every read by
writing the value back. In the current case the FALUTLOG register keep
its value over every software reset and will only reset on power-off.
This drives the reset-source value unreliable.
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/da9053.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mfd/da9053.c b/drivers/mfd/da9053.c index 250c0556ec..ccee9d6dd7 100644 --- a/drivers/mfd/da9053.c +++ b/drivers/mfd/da9053.c @@ -240,6 +240,10 @@ static void da9053_detect_reset_source(struct da9053_priv *da9053) priority = of_get_reset_source_priority(da9053->dev->device_node); reset_source_set_priority(type, priority); + + ret = da9053_reg_write(da9053, DA9053_FAULTLOG_REG, val); + if (ret < 0) + return; } static void __noreturn da9053_force_system_reset(struct restart_handler *rst) |