@@ -79,27 +79,53 @@ config MCUBOOT_QSPI_XIP_IMAGE_NUMBER
7979 default 1 if QSPI_XIP_SPLIT_IMAGE
8080 default -1
8181
82+ config MCUBOOT_MCUBOOT_IMAGE_NUMBER
83+ int
84+ default 4 if SECURE_BOOT_APPCORE && MCUBOOT_NETWORK_CORE_IMAGE_NUMBER != -1 && MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER != -1 && MCUBOOT_QSPI_XIP_IMAGE_NUMBER != 1
85+ default 3 if SECURE_BOOT_APPCORE && ((MCUBOOT_QSPI_XIP_IMAGE_NUMBER != -1 && (MCUBOOT_NETWORK_CORE_IMAGE_NUMBER != -1 || MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER != -1)) || (MCUBOOT_NETWORK_CORE_IMAGE_NUMBER != -1 && MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER != -1))
86+ default 2 if SECURE_BOOT_APPCORE && (MCUBOOT_NETWORK_CORE_IMAGE_NUMBER != -1 || MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER != -1 || MCUBOOT_QSPI_XIP_IMAGE_NUMBER != -1)
87+ default 1 if SECURE_BOOT_APPCORE
88+ default -1
89+
8290config MCUBOOT_MIN_UPDATEABLE_IMAGES
8391 int
8492 default 4 if MCUBOOT_NETWORK_CORE_IMAGE_NUMBER != -1 && MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER != -1 && MCUBOOT_QSPI_XIP_IMAGE_NUMBER != -1
8593 default 3 if (MCUBOOT_NETWORK_CORE_IMAGE_NUMBER != -1 && MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER != -1) || (MCUBOOT_NETWORK_CORE_IMAGE_NUMBER != -1 && MCUBOOT_QSPI_XIP_IMAGE_NUMBER != -1) || (MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER != -1 && MCUBOOT_QSPI_XIP_IMAGE_NUMBER != -1)
8694 default 2 if MCUBOOT_NETWORK_CORE_IMAGE_NUMBER != -1 || MCUBOOT_WIFI_PATCHES_IMAGE_NUMBER != -1 || MCUBOOT_QSPI_XIP_IMAGE_NUMBER != -1
8795 default 1
8896
97+ config MCUBOOT_MIN_ADDITIONAL_UPDATEABLE_IMAGES
98+ int
99+ default 1 if MCUBOOT_MCUBOOT_IMAGE_NUMBER != -1
100+ default 0
101+
89102config MCUBOOT_UPDATEABLE_IMAGES
90103 int "Updateable images"
91104 range MCUBOOT_MIN_UPDATEABLE_IMAGES MCUBOOT_MAX_UPDATEABLE_IMAGES
92- default 2 if SOC_SERIES_NRF91X && SECURE_BOOT_APPCORE && (MCUBOOT_MODE_SWAP_WITHOUT_SCRATCH || MCUBOOT_MODE_SWAP_SCRATCH || MCUBOOT_MODE_OVERWRITE_ONLY)
105+ # default 2 if SOC_SERIES_NRF91X && SECURE_BOOT_APPCORE && (MCUBOOT_MODE_SWAP_WITHOUT_SCRATCH || MCUBOOT_MODE_SWAP_SCRATCH || MCUBOOT_MODE_OVERWRITE_ONLY)
93106 help
94- The number of images that MCUboot will be built with.
107+ The number of images that MCUboot will be built with. Note that if
108+ ``MCUBOOT_ADDITIONAL_UPDATEABLE_IMAGES`` is set to a non-zero value then that value will
109+ be added to the MCUboot updateable image number but not the application, this is to allow
110+ for features like NSIB updates of MCUboot itself.
111+
112+ config MCUBOOT_ADDITIONAL_UPDATEABLE_IMAGES
113+ int "Additional MCUboot-only updateable images"
114+ range MCUBOOT_MIN_ADDITIONAL_UPDATEABLE_IMAGES MCUBOOT_MIN_ADDITIONAL_UPDATEABLE_IMAGES
115+ default MCUBOOT_MIN_ADDITIONAL_UPDATEABLE_IMAGES
116+ help
117+ The number of additional images that MCUboot will be built with.
95118
96119config MCUBOOT_APP_SYNC_UPDATEABLE_IMAGES
97120 bool "Sync updateable image value to main application"
98- default n if SOC_SERIES_NRF91X && SECURE_BOOT_APPCORE && (MCUBOOT_MODE_SWAP_WITHOUT_SCRATCH || MCUBOOT_MODE_SWAP_SCRATCH || MCUBOOT_MODE_OVERWRITE_ONLY)
121+ # default n if SOC_SERIES_NRF91X && SECURE_BOOT_APPCORE && (MCUBOOT_MODE_SWAP_WITHOUT_SCRATCH || MCUBOOT_MODE_SWAP_SCRATCH || MCUBOOT_MODE_OVERWRITE_ONLY)
99122 default y
100123 help
101124 If enabled then will synchronise the value of ``MCUBOOT_UPDATEABLE_IMAGES`` to MCUboot
102- and the main application, if disable then will only set this value to MCUboot
125+ and the main application, if disabled then will only set this value to MCUboot.
126+
127+ Note: ``MCUBOOT_MIN_ADDITIONAL_UPDATEABLE_IMAGES`` will be applied to MCUboot only
128+ irrespective of this option.
103129
104130config SECURE_BOOT_MCUBOOT_VERSION
105131 string "MCUboot S0/S1 image update version"
0 commit comments