From d21442a95411fc0fae6e8f1a09aa22747394e5c0 Mon Sep 17 00:00:00 2001 From: Andrzej Puzdrowski Date: Mon, 12 Oct 2020 16:47:28 +0200 Subject: [PATCH] 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 --- boot/zephyr/Kconfig | 10 ++++++++++ boot/zephyr/include/mcuboot_config/mcuboot_config.h | 13 ++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/boot/zephyr/Kconfig b/boot/zephyr/Kconfig index 05c7c10c..0e007583 100644 --- a/boot/zephyr/Kconfig +++ b/boot/zephyr/Kconfig @@ -495,6 +495,16 @@ config MCUBOOT_HW_DOWNGRADE_PREVENTION 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 ab8224af..0ccf36df 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 @@ -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 { \ + } while (0) +#endif /* CONFIG_NRFX_WDT */ +#else /* CONFIG_BOOT_WATCHDOG_FEED */ +/* Not enabled, no feed activity */ #define MCUBOOT_WATCHDOG_FEED() \ do { \ - /* TODO: to be implemented */ \ } while (0) -#endif /* CONFIG_NRFX_WDT */ +#endif /* CONFIG_BOOT_WATCHDOG_FEED */ #endif /* __MCUBOOT_CONFIG_H__ */