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@xxxxxxxxxxxxxx> --- drivers/mfd/da9053.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/mfd/da9053.c b/drivers/mfd/da9053.c index 0de8c66..9adab8c 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) -- 2.10.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox