watchdog: da9063: Fix setting/changing timeout
authorMarco Felsch <m.felsch@pengutronix.de>
Mon, 28 May 2018 06:45:44 +0000 (08:45 +0200)
committerWim Van Sebroeck <wim@linux-watchdog.org>
Wed, 6 Jun 2018 08:45:31 +0000 (10:45 +0200)
commite46bb55dbc94b06f5ee466e2f50723b56781e661
tree656f5bed6aab020dd8d03778d74a3f04f689078c
parent1c85ffc86a2b7b687b110b1427c7e701a453fc54
watchdog: da9063: Fix setting/changing timeout

If the timeout value is set more than once the DA9063 watchdog triggers
a reset signal which reset the system.

To update the timeout value we have to disable the watchdog, clear the
watchdog counter value and write the new timeout value to the watchdog.
Clearing the counter value is a feature to be on the safe side because the
data sheet doesn't describe the behaviour of the watchdog counter value
after a watchdog disabling-enable-sequence.

The patch is based on Philipp Zabel's previous patch.

Fixes: 5e9c16e37608 ("watchdog: Add DA9063 PMIC watchdog driver.")
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
drivers/watchdog/da9063_wdt.c