zephyr: Add firmware loader MCUboot operation style
Adds a new operation style in which the secondary slot has an
image which is used to update the primary image only.
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
diff --git a/boot/zephyr/Kconfig.firmware_loader b/boot/zephyr/Kconfig.firmware_loader
new file mode 100644
index 0000000..1ba2239
--- /dev/null
+++ b/boot/zephyr/Kconfig.firmware_loader
@@ -0,0 +1,47 @@
+# Copyright (c) 2023 Nordic Semiconductor ASA
+#
+# SPDX-License-Identifier: Apache-2.0
+
+if BOOT_FIRMWARE_LOADER
+
+menu "Firmware loader entrance methods"
+
+menuconfig BOOT_FIRMWARE_LOADER_ENTRANCE_GPIO
+ bool "GPIO"
+ depends on GPIO
+ help
+ Use a GPIO to enter firmware loader mode.
+
+config BOOT_FIRMWARE_LOADER_DETECT_DELAY
+ int "Serial detect pin detection delay time [ms]"
+ default 0
+ depends on BOOT_FIRMWARE_LOADER_ENTRANCE_GPIO
+ help
+ Used to prevent the bootloader from loading on button press.
+ Useful for powering on when using the same button as
+ the one used to place the device in bootloader mode.
+
+config BOOT_FIRMWARE_LOADER_BOOT_MODE
+ bool "Check boot mode via retention subsystem"
+ depends on RETENTION_BOOT_MODE
+ help
+ Allows for entering firmware loader mode by using Zephyr's boot mode
+ retention system (i.e. an application must set the boot mode to stay
+ in firmware loader mode and reboot the module).
+
+config BOOT_FIRMWARE_LOADER_NO_APPLICATION
+ bool "Stay in bootloader if no application"
+ help
+ Allows for entering firmware loader mode if there is no bootable
+ application that the bootloader can jump to.
+
+config BOOT_FIRMWARE_LOADER_PIN_RESET
+ bool "Check for device reset by pin"
+ select HWINFO
+ help
+ Checks if the module reset was caused by the reset pin and will
+ remain in bootloader firmware loader mode if it was.
+
+endmenu
+
+endif