diff mbox series

[v2,4/4] watchdog: da9052_wdt: respect TWDMIN

Message ID 20250325-da9052-fixes-v2-4-bfac3f07b4a4@gmail.com (mailing list archive)
State New
Headers show
Series Various fixes for the da9052 watchdog | expand

Commit Message

Marcus Folkesson March 25, 2025, 7:27 a.m. UTC
We have to wait at least the minimium time for the watchdog window
(TWDMIN) before writings to the wdt register after the
watchdog is activated.
Otherwise the chip will assert TWD_ERROR and power down to reset mode.

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
---
 drivers/watchdog/da9052_wdt.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Guenter Roeck March 25, 2025, 1:05 p.m. UTC | #1
On Tue, Mar 25, 2025 at 08:27:15AM +0100, Marcus Folkesson wrote:
> We have to wait at least the minimium time for the watchdog window
> (TWDMIN) before writings to the wdt register after the
> watchdog is activated.
> Otherwise the chip will assert TWD_ERROR and power down to reset mode.
> 
> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
>  drivers/watchdog/da9052_wdt.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/watchdog/da9052_wdt.c b/drivers/watchdog/da9052_wdt.c
> index b821006fca70480bf3b23a62bded4e66851a537e..1e49cbae7eaec3015264dec891032a56f56e36cc 100644
> --- a/drivers/watchdog/da9052_wdt.c
> +++ b/drivers/watchdog/da9052_wdt.c
> @@ -179,6 +179,7 @@ static int da9052_wdt_probe(struct platform_device *pdev)
>  	da9052_wdt = &driver_data->wdt;
>  
>  	da9052_wdt->timeout = DA9052_DEF_TIMEOUT;
> +	da9052_wdt->min_hw_heartbeat_ms = DA9052_TWDMIN;
>  	da9052_wdt->info = &da9052_wdt_info;
>  	da9052_wdt->ops = &da9052_wdt_ops;
>  	da9052_wdt->parent = dev;
> 
> -- 
> 2.48.1
> 
>
diff mbox series

Patch

diff --git a/drivers/watchdog/da9052_wdt.c b/drivers/watchdog/da9052_wdt.c
index b821006fca70480bf3b23a62bded4e66851a537e..1e49cbae7eaec3015264dec891032a56f56e36cc 100644
--- a/drivers/watchdog/da9052_wdt.c
+++ b/drivers/watchdog/da9052_wdt.c
@@ -179,6 +179,7 @@  static int da9052_wdt_probe(struct platform_device *pdev)
 	da9052_wdt = &driver_data->wdt;
 
 	da9052_wdt->timeout = DA9052_DEF_TIMEOUT;
+	da9052_wdt->min_hw_heartbeat_ms = DA9052_TWDMIN;
 	da9052_wdt->info = &da9052_wdt_info;
 	da9052_wdt->ops = &da9052_wdt_ops;
 	da9052_wdt->parent = dev;