diff --git a/drivers/watchdog/Kconfig.cmsdk_apb b/drivers/watchdog/Kconfig.cmsdk_apb index 8e4657cfa69..1cce7bb98f8 100644 --- a/drivers/watchdog/Kconfig.cmsdk_apb +++ b/drivers/watchdog/Kconfig.cmsdk_apb @@ -10,3 +10,12 @@ config WDOG_CMSDK_APB help Enable CMSDK APB Watchdog (WDOG_CMSDK_APB) Driver for ARM family of MCUs. + +config WDOG_CMSDK_APB_START_AT_BOOT + bool "Start Watchdog during boot" + depends on WDOG_CMSDK_APB + help + Enable this setting to allow WDOG to be automatically started + during device initialization. Note that once WDOG is started + it must be reloaded before the counter reaches 0, otherwise + the MCU will be reset. diff --git a/drivers/watchdog/wdt_cmsdk_apb.c b/drivers/watchdog/wdt_cmsdk_apb.c index 300b3578576..6d452dba3b7 100644 --- a/drivers/watchdog/wdt_cmsdk_apb.c +++ b/drivers/watchdog/wdt_cmsdk_apb.c @@ -192,6 +192,10 @@ static int wdog_cmsdk_apb_init(const struct device *dev) z_NmiHandlerSet(wdog_cmsdk_apb_isr); #endif +#ifdef CONFIG_WDOG_CMSDK_APB_START_AT_BOOT + wdog_cmsdk_apb_enable(dev); +#endif + return 0; }