zephyr/Kconfig: added option for enabling WDT feed
Added option for enabling feeding the watchdog while
doing the swap operation.
Signed-off-by: Andrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
diff --git a/boot/zephyr/Kconfig b/boot/zephyr/Kconfig
index 05c7c10..0e00758 100644
--- a/boot/zephyr/Kconfig
+++ b/boot/zephyr/Kconfig
@@ -495,6 +495,16 @@
endchoice
+config BOOT_WATCHDOG_FEED
+ bool "Feed the watchdog while doing swap"
+ default y if SOC_FAMILY_NRF
+ imply NRFX_WDT
+ imply NRFX_WDT0
+ imply NRFX_WDT1
+ help
+ Enables implementation of MCUBOOT_WATCHDOG_FEED() macro which is
+ used to feed watchdog while doing time consuming operations.
+
endmenu
config MCUBOOT_DEVICE_SETTINGS
diff --git a/boot/zephyr/include/mcuboot_config/mcuboot_config.h b/boot/zephyr/include/mcuboot_config/mcuboot_config.h
index ab8224a..0ccf36d 100644
--- a/boot/zephyr/include/mcuboot_config/mcuboot_config.h
+++ b/boot/zephyr/include/mcuboot_config/mcuboot_config.h
@@ -154,6 +154,7 @@
#endif /* !__BOOTSIM__ */
+#if CONFIG_BOOT_WATCHDOG_FEED
#if CONFIG_NRFX_WDT
#include <nrfx_wdt.h>
@@ -180,12 +181,18 @@
#endif /* defined(CONFIG_NRFX_WDT0) && defined(CONFIG_NRFX_WDT1) */
#else /* CONFIG_NRFX_WDT */
-
+#warning "MCUBOOT_WATCHDOG_FEED() is no-op"
+/* No vendor implementation, no-op for historical reasons */
#define MCUBOOT_WATCHDOG_FEED() \
do { \
- /* TODO: to be implemented */ \
+ } while (0)
+#endif /* CONFIG_NRFX_WDT */
+#else /* CONFIG_BOOT_WATCHDOG_FEED */
+/* Not enabled, no feed activity */
+#define MCUBOOT_WATCHDOG_FEED() \
+ do { \
} while (0)
-#endif /* CONFIG_NRFX_WDT */
+#endif /* CONFIG_BOOT_WATCHDOG_FEED */
#endif /* __MCUBOOT_CONFIG_H__ */