David Vincze | 03368b8 | 2020-04-01 12:53:53 +0200 | [diff] [blame] | 1 | # Copyright (c) 2017-2020 Linaro Limited |
David Vincze | c308413 | 2020-02-18 14:50:47 +0100 | [diff] [blame] | 2 | # Copyright (c) 2020 Arm Limited |
Andrzej Puzdrowski | 64ad092 | 2017-09-22 11:33:41 +0200 | [diff] [blame] | 3 | # |
| 4 | # SPDX-License-Identifier: Apache-2.0 |
| 5 | # |
| 6 | |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 7 | mainmenu "MCUboot configuration" |
Andrzej Puzdrowski | 64ad092 | 2017-09-22 11:33:41 +0200 | [diff] [blame] | 8 | |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 9 | comment "MCUboot-specific configuration options" |
Andrzej Puzdrowski | 64ad092 | 2017-09-22 11:33:41 +0200 | [diff] [blame] | 10 | |
Emanuele Di Santo | 865777d | 2018-11-08 11:28:15 +0100 | [diff] [blame] | 11 | # Hidden option to mark a project as MCUboot |
| 12 | config MCUBOOT |
| 13 | default y |
| 14 | bool |
Rajavardhan Gundi | 07ba28f | 2018-12-10 15:44:48 +0530 | [diff] [blame] | 15 | select MPU_ALLOW_FLASH_WRITE if ARM_MPU |
Marcin Niestroj | c6be76a | 2020-03-22 14:39:35 +0100 | [diff] [blame] | 16 | select USE_DT_CODE_PARTITION if HAS_FLASH_LOAD_OFFSET |
Andrzej Puzdrowski | f573b39 | 2020-11-10 14:35:15 +0100 | [diff] [blame] | 17 | select MCUBOOT_BOOTUTIL_LIB |
Emanuele Di Santo | 865777d | 2018-11-08 11:28:15 +0100 | [diff] [blame] | 18 | |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 19 | config BOOT_USE_MBEDTLS |
| 20 | bool |
| 21 | # Hidden option |
| 22 | default n |
| 23 | help |
| 24 | Use mbedTLS for crypto primitives. |
| 25 | |
| 26 | config BOOT_USE_TINYCRYPT |
| 27 | bool |
| 28 | # Hidden option |
| 29 | default n |
Sebastian Bøe | 913a385 | 2019-01-22 13:53:12 +0100 | [diff] [blame] | 30 | # When building for ECDSA, we use our own copy of mbedTLS, so the |
| 31 | # Zephyr one must not be enabled or the MBEDTLS_CONFIG_FILE macros |
| 32 | # will collide. |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 33 | help |
| 34 | Use TinyCrypt for crypto primitives. |
| 35 | |
Sigvart Hovland | ebd0503 | 2019-03-21 10:47:32 +0100 | [diff] [blame] | 36 | config BOOT_USE_CC310 |
| 37 | bool |
| 38 | # Hidden option |
| 39 | default n |
| 40 | # When building for ECDSA, we use our own copy of mbedTLS, so the |
| 41 | # Zephyr one must not be enabled or the MBEDTLS_CONFIG_FILE macros |
| 42 | # will collide. |
Sigvart Hovland | ebd0503 | 2019-03-21 10:47:32 +0100 | [diff] [blame] | 43 | help |
| 44 | Use cc310 for crypto primitives. |
| 45 | |
| 46 | config BOOT_USE_NRF_CC310_BL |
| 47 | bool |
| 48 | default n |
| 49 | |
| 50 | config NRFXLIB_CRYPTO |
| 51 | bool |
| 52 | default n |
| 53 | |
| 54 | config NRF_CC310_BL |
| 55 | bool |
| 56 | default n |
| 57 | |
Andrzej Puzdrowski | 9754328 | 2018-04-12 15:16:56 +0200 | [diff] [blame] | 58 | menu "MCUBoot settings" |
| 59 | |
Andrzej Puzdrowski | fdff3e1 | 2020-09-15 08:23:25 +0200 | [diff] [blame] | 60 | config SINGLE_APPLICATION_SLOT |
| 61 | bool "Single slot bootloader" |
Dominik Ermel | 4dc3f44 | 2020-05-26 08:45:14 +0000 | [diff] [blame] | 62 | default n |
| 63 | help |
| 64 | Single image area is used for application which means that |
| 65 | uploading a new application overwrites the one that previously |
| 66 | occupied the area. |
| 67 | |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 68 | choice |
| 69 | prompt "Signature type" |
| 70 | default BOOT_SIGNATURE_TYPE_RSA |
| 71 | |
Arvin Farahmand | fb5ec18 | 2020-05-05 11:44:12 -0400 | [diff] [blame] | 72 | config BOOT_SIGNATURE_TYPE_NONE |
| 73 | bool "No signature; use only hash check" |
| 74 | select BOOT_USE_TINYCRYPT |
| 75 | |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 76 | config BOOT_SIGNATURE_TYPE_RSA |
| 77 | bool "RSA signatures" |
| 78 | select BOOT_USE_MBEDTLS |
Marti Bolivar | a4818a5 | 2018-04-12 13:02:38 -0400 | [diff] [blame] | 79 | select MBEDTLS |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 80 | |
Fabio Utzig | 105b59a | 2019-05-13 15:08:12 -0700 | [diff] [blame] | 81 | if BOOT_SIGNATURE_TYPE_RSA |
| 82 | config BOOT_SIGNATURE_TYPE_RSA_LEN |
| 83 | int "RSA signature length" |
| 84 | range 2048 3072 |
| 85 | default 2048 |
| 86 | endif |
| 87 | |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 88 | config BOOT_SIGNATURE_TYPE_ECDSA_P256 |
| 89 | bool "Elliptic curve digital signatures with curve P-256" |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 90 | |
Sigvart Hovland | ebd0503 | 2019-03-21 10:47:32 +0100 | [diff] [blame] | 91 | if BOOT_SIGNATURE_TYPE_ECDSA_P256 |
| 92 | choice |
| 93 | prompt "Ecdsa implementation" |
Fabio Utzig | 34e93a5 | 2020-02-03 09:59:53 -0300 | [diff] [blame] | 94 | default BOOT_ECDSA_TINYCRYPT |
Håkon Øye Amundsen | ee7282d | 2020-09-28 09:48:29 +0000 | [diff] [blame] | 95 | |
Fabio Utzig | 34e93a5 | 2020-02-03 09:59:53 -0300 | [diff] [blame] | 96 | config BOOT_ECDSA_TINYCRYPT |
Sigvart Hovland | ebd0503 | 2019-03-21 10:47:32 +0100 | [diff] [blame] | 97 | bool "Use tinycrypt" |
| 98 | select BOOT_USE_TINYCRYPT |
Håkon Øye Amundsen | ee7282d | 2020-09-28 09:48:29 +0000 | [diff] [blame] | 99 | |
| 100 | config BOOT_ECDSA_CC310 |
Sigvart Hovland | ebd0503 | 2019-03-21 10:47:32 +0100 | [diff] [blame] | 101 | bool "Use CC310" |
Håkon Øye Amundsen | ee7282d | 2020-09-28 09:48:29 +0000 | [diff] [blame] | 102 | depends on HAS_HW_NRF_CC310 |
| 103 | select BOOT_USE_NRF_CC310_BL |
| 104 | select NRF_CC310_BL |
| 105 | select NRFXLIB_CRYPTO |
Sigvart Hovland | ebd0503 | 2019-03-21 10:47:32 +0100 | [diff] [blame] | 106 | select BOOT_USE_CC310 |
Håkon Øye Amundsen | ee7282d | 2020-09-28 09:48:29 +0000 | [diff] [blame] | 107 | endchoice # Ecdsa implementation |
Sigvart Hovland | ebd0503 | 2019-03-21 10:47:32 +0100 | [diff] [blame] | 108 | endif |
Fabio Utzig | 34e93a5 | 2020-02-03 09:59:53 -0300 | [diff] [blame] | 109 | |
| 110 | config BOOT_SIGNATURE_TYPE_ED25519 |
| 111 | bool "Edwards curve digital signatures using ed25519" |
| 112 | |
| 113 | if BOOT_SIGNATURE_TYPE_ED25519 |
| 114 | choice |
| 115 | prompt "Ecdsa implementation" |
| 116 | default BOOT_ED25519_TINYCRYPT |
| 117 | config BOOT_ED25519_TINYCRYPT |
| 118 | bool "Use tinycrypt" |
| 119 | select BOOT_USE_TINYCRYPT |
| 120 | config BOOT_ED25519_MBEDTLS |
| 121 | bool "Use mbedTLS" |
| 122 | select BOOT_USE_MBEDTLS |
| 123 | select MBEDTLS |
| 124 | endchoice |
| 125 | endif |
| 126 | |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 127 | endchoice |
| 128 | |
Fabio Utzig | c690c76 | 2018-04-26 10:51:09 -0300 | [diff] [blame] | 129 | config BOOT_SIGNATURE_KEY_FILE |
| 130 | string "PEM key file" |
Håkon Øye Amundsen | 705c6c2 | 2020-09-28 09:45:40 +0000 | [diff] [blame] | 131 | default "root-ec-p256.pem" if BOOT_SIGNATURE_TYPE_ECDSA_P256 |
| 132 | default "root-ed25519.pem" if BOOT_SIGNATURE_TYPE_ED25519 |
| 133 | default "root-rsa-3072.pem" if BOOT_SIGNATURE_TYPE_RSA && BOOT_SIGNATURE_TYPE_RSA_LEN=3072 |
| 134 | default "root-rsa-2048.pem" if BOOT_SIGNATURE_TYPE_RSA && BOOT_SIGNATURE_TYPE_RSA_LEN=2048 |
Fabio Utzig | c690c76 | 2018-04-26 10:51:09 -0300 | [diff] [blame] | 135 | default "" |
| 136 | help |
Marek Pieta | bdcfc85 | 2020-08-04 02:22:55 -0700 | [diff] [blame] | 137 | You can use either absolute or relative path. |
| 138 | In case relative path is used, the build system assumes that it starts |
| 139 | from the directory where the MCUBoot KConfig configuration file is |
| 140 | located. If the key file is not there, the build system uses relative |
| 141 | path that starts from the MCUBoot repository root directory. |
Fabio Utzig | c690c76 | 2018-04-26 10:51:09 -0300 | [diff] [blame] | 142 | The key file will be parsed by imgtool's getpub command and a .c source |
| 143 | with the public key information will be written in a format expected by |
| 144 | MCUboot. |
| 145 | |
Andrzej Puzdrowski | 9a605b6 | 2020-03-16 13:34:30 +0100 | [diff] [blame] | 146 | config MCUBOOT_CLEANUP_ARM_CORE |
| 147 | bool "Perform core cleanup before chain-load the application" |
| 148 | depends on CPU_CORTEX_M |
Ioannis Glaropoulos | 518d93a | 2020-10-22 14:22:14 +0200 | [diff] [blame] | 149 | default y if !ARCH_SUPPORTS_ARCH_HW_INIT |
| 150 | help |
| 151 | This option instructs MCUboot to perform a clean-up of a set of |
| 152 | architecture core HW registers before junping to the application |
| 153 | firmware. The clean-up sets these registers to their warm-reset |
| 154 | values as specified by the architecture. |
| 155 | |
| 156 | By default, this option is enabled only if the architecture does |
| 157 | not have the functionality to perform such a register clean-up |
| 158 | during application firmware boot. |
| 159 | |
| 160 | Zephyr applications on Cortex-M will perform this register clean-up |
| 161 | by default, if they are chain-loadable by MCUboot, so MCUboot does |
| 162 | not need to perform such a cleanup itself. |
Andrzej Puzdrowski | 9a605b6 | 2020-03-16 13:34:30 +0100 | [diff] [blame] | 163 | |
Marti Bolivar | a4818a5 | 2018-04-12 13:02:38 -0400 | [diff] [blame] | 164 | config MBEDTLS_CFG_FILE |
| 165 | default "mcuboot-mbedtls-cfg.h" |
| 166 | |
David Vincze | 03368b8 | 2020-04-01 12:53:53 +0200 | [diff] [blame] | 167 | config BOOT_HW_KEY |
| 168 | bool "Use HW key for image verification" |
| 169 | default n |
| 170 | help |
| 171 | Use HW key for image verification, otherwise the public key is embedded |
| 172 | in MCUBoot. If enabled the public key is appended to the signed image |
| 173 | and requires the hash of the public key to be provisioned to the device |
| 174 | beforehand. |
| 175 | |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 176 | config BOOT_VALIDATE_SLOT0 |
David Vincze | 2d736ad | 2019-02-18 11:50:22 +0100 | [diff] [blame] | 177 | bool "Validate image in the primary slot on every boot" |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 178 | default y |
| 179 | help |
David Vincze | 2d736ad | 2019-02-18 11:50:22 +0100 | [diff] [blame] | 180 | If y, the bootloader attempts to validate the signature of the |
| 181 | primary slot every boot. This adds the signature check time to |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 182 | every boot, but can mitigate against some changes that are |
| 183 | able to modify the flash image itself. |
| 184 | |
Andrzej Puzdrowski | fdff3e1 | 2020-09-15 08:23:25 +0200 | [diff] [blame] | 185 | if !SINGLE_APPLICATION_SLOT |
David Vincze | 5a6e181 | 2020-06-29 13:34:42 +0200 | [diff] [blame] | 186 | choice |
| 187 | prompt "Image upgrade modes" |
| 188 | default BOOT_SWAP_USING_MOVE if SOC_FAMILY_NRF |
| 189 | default BOOT_SWAP_USING_SCRATCH |
| 190 | |
| 191 | config BOOT_SWAP_USING_SCRATCH |
| 192 | bool "Swap mode that run with the scratch partition" |
| 193 | help |
| 194 | This is the most conservative swap mode but it can work even on |
| 195 | devices with heterogeneous flash page layout. |
| 196 | |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 197 | config BOOT_UPGRADE_ONLY |
| 198 | bool "Overwrite image updates instead of swapping" |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 199 | help |
David Vincze | 2d736ad | 2019-02-18 11:50:22 +0100 | [diff] [blame] | 200 | If y, overwrite the primary slot with the upgrade image instead |
| 201 | of swapping them. This prevents the fallback recovery, but |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 202 | uses a much simpler code path. |
| 203 | |
Fabio Utzig | c58842e | 2019-11-28 10:30:01 -0300 | [diff] [blame] | 204 | config BOOT_SWAP_USING_MOVE |
Fabio Utzig | dd2b680 | 2020-01-06 09:10:45 -0300 | [diff] [blame] | 205 | bool "Swap mode that can run without a scratch partition" |
Fabio Utzig | c58842e | 2019-11-28 10:30:01 -0300 | [diff] [blame] | 206 | help |
| 207 | If y, the swap upgrade is done in two steps, where first every |
| 208 | sector of the primary slot is moved up one sector, then for |
| 209 | each sector X in the secondary slot, it is moved to index X in |
| 210 | the primary slot, then the sector at X+1 in the primary is |
| 211 | moved to index X in the secondary. |
| 212 | This allows a swap upgrade without using a scratch partition, |
| 213 | but is currently limited to all sectors in both slots being of |
| 214 | the same size. |
David Vincze | 5a6e181 | 2020-06-29 13:34:42 +0200 | [diff] [blame] | 215 | |
| 216 | config BOOT_DIRECT_XIP |
| 217 | bool "Run the latest image directly from its slot" |
| 218 | help |
| 219 | If y, mcuboot selects the newest valid image based on the image version |
| 220 | numbers, thereafter the selected image can run directly from its slot |
| 221 | without having to move/copy it into the primary slot. For this reason the |
| 222 | images must be linked to be executed from the given image slot. Using this |
| 223 | mode results in a simpler code path and smaller code size. |
| 224 | |
| 225 | endchoice |
Fabio Utzig | c58842e | 2019-11-28 10:30:01 -0300 | [diff] [blame] | 226 | |
David Vincze | 505fba2 | 2020-10-22 13:53:29 +0200 | [diff] [blame] | 227 | config BOOT_DIRECT_XIP_REVERT |
| 228 | bool "Enable the revert mechanism in direct-xip mode" |
Andrzej Puzdrowski | 32342e7 | 2020-11-18 17:04:44 +0100 | [diff] [blame] | 229 | depends on BOOT_DIRECT_XIP |
David Vincze | 505fba2 | 2020-10-22 13:53:29 +0200 | [diff] [blame] | 230 | default n |
| 231 | help |
| 232 | If y, enables the revert mechanism in direct-xip similar to the one in |
| 233 | swap mode. It requires the trailer magic to be added to the signed image. |
| 234 | When a reboot happens without the image being confirmed at runtime, the |
| 235 | bootloader considers the image faulty and erases it. After this it will |
| 236 | attempt to boot the previous image. The images can also be made permanent |
| 237 | (marked as confirmed in advance) just like in swap mode. |
| 238 | |
Fabio Utzig | d0533ed | 2018-12-19 07:56:33 -0200 | [diff] [blame] | 239 | config BOOT_BOOTSTRAP |
Sam Bristow | d0ca0ff | 2019-10-30 20:51:35 +1300 | [diff] [blame] | 240 | bool "Bootstrap erased the primary slot from the secondary slot" |
Fabio Utzig | d0533ed | 2018-12-19 07:56:33 -0200 | [diff] [blame] | 241 | default n |
| 242 | help |
| 243 | If y, enables bootstraping support. Bootstrapping allows an erased |
David Vincze | 2d736ad | 2019-02-18 11:50:22 +0100 | [diff] [blame] | 244 | primary slot to be initialized from a valid image in the secondary slot. |
Fabio Utzig | d0533ed | 2018-12-19 07:56:33 -0200 | [diff] [blame] | 245 | If unsure, leave at the default value. |
| 246 | |
Fabio Utzig | ca8ead2 | 2019-12-20 07:06:04 -0300 | [diff] [blame] | 247 | config BOOT_SWAP_SAVE_ENCTLV |
| 248 | bool "Save encrypted key TLVs instead of plaintext keys in swap metadata" |
| 249 | default n |
| 250 | help |
| 251 | If y, instead of saving the encrypted image keys in plaintext in the |
| 252 | swap resume metadata, save the encrypted image TLVs. This should be used |
| 253 | when there is no security mechanism protecting the data in the primary |
| 254 | slot from being dumped. If n is selected (default), the keys are written |
| 255 | after being decrypted from the image TLVs and could be read by an |
| 256 | attacker who has access to the flash contents of the primary slot (eg |
| 257 | JTAG/SWD or primary slot in external flash). |
| 258 | If unsure, leave at the default value. |
| 259 | |
Fabio Utzig | 5fe874c | 2018-08-31 07:41:50 -0300 | [diff] [blame] | 260 | config BOOT_ENCRYPT_RSA |
Fabio Utzig | 42cc29a | 2019-11-05 07:54:41 -0300 | [diff] [blame] | 261 | bool "Support for encrypted upgrade images using RSA" |
Fabio Utzig | 5fe874c | 2018-08-31 07:41:50 -0300 | [diff] [blame] | 262 | default n |
| 263 | help |
David Vincze | 2d736ad | 2019-02-18 11:50:22 +0100 | [diff] [blame] | 264 | If y, images in the secondary slot can be encrypted and are decrypted |
| 265 | on the fly when upgrading to the primary slot, as well as encrypted |
Fabio Utzig | 42cc29a | 2019-11-05 07:54:41 -0300 | [diff] [blame] | 266 | back when swapping from the primary slot to the secondary slot. The |
| 267 | encryption mechanism used in this case is RSA-OAEP (2048 bits). |
| 268 | |
| 269 | config BOOT_ENCRYPT_EC256 |
| 270 | bool "Support for encrypted upgrade images using ECIES-P256" |
| 271 | default n |
| 272 | help |
| 273 | If y, images in the secondary slot can be encrypted and are decrypted |
| 274 | on the fly when upgrading to the primary slot, as well as encrypted |
| 275 | back when swapping from the primary slot to the secondary slot. The |
| 276 | encryption mechanism used in this case is ECIES using primitives |
| 277 | described under "ECIES-P256 encryption" in docs/encrypted_images.md. |
Fabio Utzig | 5fe874c | 2018-08-31 07:41:50 -0300 | [diff] [blame] | 278 | |
Fabio Utzig | b6f014c | 2020-04-02 13:25:01 -0300 | [diff] [blame] | 279 | config BOOT_ENCRYPT_X25519 |
| 280 | bool "Support for encrypted upgrade images using ECIES-X25519" |
| 281 | default n |
| 282 | help |
| 283 | If y, images in the secondary slot can be encrypted and are decrypted |
| 284 | on the fly when upgrading to the primary slot, as well as encrypted |
| 285 | back when swapping from the primary slot to the secondary slot. The |
| 286 | encryption mechanism used in this case is ECIES using primitives |
| 287 | described under "ECIES-X25519 encryption" in docs/encrypted_images.md. |
David Vincze | 505fba2 | 2020-10-22 13:53:29 +0200 | [diff] [blame] | 288 | endif # !SINGLE_APPLICATION_SLOT |
Fabio Utzig | b6f014c | 2020-04-02 13:25:01 -0300 | [diff] [blame] | 289 | |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 290 | config BOOT_MAX_IMG_SECTORS |
| 291 | int "Maximum number of sectors per image slot" |
| 292 | default 128 |
| 293 | help |
| 294 | This option controls the maximum number of sectors that each of |
| 295 | the two image areas can contain. Smaller values reduce MCUboot's |
| 296 | memory usage; larger values allow it to support larger images. |
| 297 | If unsure, leave at the default value. |
| 298 | |
David Vincze | 1cf11b5 | 2020-03-24 07:51:09 +0100 | [diff] [blame] | 299 | config MEASURED_BOOT |
| 300 | bool "Store the boot state/measurements in shared memory" |
| 301 | default n |
| 302 | help |
| 303 | If enabled, the bootloader will store certain boot measurements such as |
| 304 | the hash of the firmware image in a shared memory area. This data can |
| 305 | be used later by runtime services (e.g. by a device attestation service). |
| 306 | |
| 307 | config BOOT_SHARE_DATA |
| 308 | bool "Save application specific data in shared memory area" |
| 309 | default n |
| 310 | |
Tamas Ban | fce8733 | 2020-07-10 12:40:11 +0100 | [diff] [blame] | 311 | choice |
| 312 | prompt "Fault injection hardening profile" |
| 313 | default BOOT_FIH_PROFILE_OFF |
| 314 | |
| 315 | config BOOT_FIH_PROFILE_OFF |
| 316 | bool "No hardening against hardware level fault injection" |
| 317 | help |
| 318 | No hardening in SW against hardware level fault injection: power or |
| 319 | clock glitching, etc. |
| 320 | |
| 321 | config BOOT_FIH_PROFILE_LOW |
| 322 | bool "Moderate level hardening against hardware level fault injection" |
| 323 | help |
| 324 | Moderate level hardening: Long global fail loop to avoid break out, |
| 325 | control flow integrity check to discover discrepancy in expected code |
| 326 | flow. |
| 327 | |
| 328 | config BOOT_FIH_PROFILE_MEDIUM |
| 329 | bool "Medium level hardening against hardware level fault injection" |
| 330 | help |
| 331 | Medium level hardening: Long global fail loop to avoid break out, |
| 332 | control flow integrity check to discover discrepancy in expected code |
| 333 | flow, double variables to discover register or memory corruption. |
| 334 | |
| 335 | config BOOT_FIH_PROFILE_HIGH |
| 336 | bool "Maximum level hardening against hardware level fault injection" |
| 337 | select MBEDTLS |
| 338 | help |
| 339 | Maximum level hardening: Long global fail loop to avoid break out, |
| 340 | control flow integrity check to discover discrepancy in expected code |
| 341 | flow, double variables to discover register or memory corruption, random |
| 342 | delays to make code execution less predictable. Random delays requires an |
| 343 | entropy source. |
| 344 | |
| 345 | endchoice |
| 346 | |
Josh Gao | 837cf88 | 2020-11-13 18:51:27 -0800 | [diff] [blame] | 347 | choice BOOT_USB_DFU |
| 348 | prompt "USB DFU" |
| 349 | default BOOT_USB_DFU_NO |
| 350 | |
| 351 | config BOOT_USB_DFU_NO |
| 352 | prompt "Disabled" |
| 353 | |
| 354 | config BOOT_USB_DFU_WAIT |
Rajavardhan Gundi | 51c9d70 | 2019-02-20 14:08:52 +0530 | [diff] [blame] | 355 | bool "Wait for a prescribed duration to see if USB DFU is invoked" |
Johann Fischer | 2585297 | 2021-08-02 13:20:09 +0200 | [diff] [blame] | 356 | select USB_DEVICE_STACK |
Rajavardhan Gundi | 51c9d70 | 2019-02-20 14:08:52 +0530 | [diff] [blame] | 357 | select USB_DFU_CLASS |
| 358 | select IMG_MANAGER |
| 359 | help |
| 360 | If y, MCUboot waits for a prescribed duration of time to allow |
| 361 | for USB DFU to be invoked. Please note DFU always updates the |
| 362 | slot1 image. |
| 363 | |
Josh Gao | 837cf88 | 2020-11-13 18:51:27 -0800 | [diff] [blame] | 364 | config BOOT_USB_DFU_GPIO |
| 365 | bool "Use GPIO to detect whether to trigger DFU mode" |
Johann Fischer | 2585297 | 2021-08-02 13:20:09 +0200 | [diff] [blame] | 366 | select USB_DEVICE_STACK |
Josh Gao | 837cf88 | 2020-11-13 18:51:27 -0800 | [diff] [blame] | 367 | select USB_DFU_CLASS |
| 368 | select IMG_MANAGER |
| 369 | help |
| 370 | If y, MCUboot uses GPIO to detect whether to invoke USB DFU. |
| 371 | |
| 372 | endchoice |
| 373 | |
| 374 | config BOOT_USB_DFU_WAIT_DELAY_MS |
| 375 | int "USB DFU wait duration" |
| 376 | depends on BOOT_USB_DFU_WAIT |
| 377 | default 12000 |
| 378 | help |
| 379 | Milliseconds to wait for USB DFU to be invoked. |
| 380 | |
| 381 | if BOOT_USB_DFU_GPIO |
| 382 | |
| 383 | config BOOT_USB_DFU_DETECT_PORT |
| 384 | string "GPIO device to trigger USB DFU mode" |
| 385 | default GPIO_0 if SOC_FAMILY_NRF |
| 386 | help |
| 387 | Zephyr GPIO device that contains the pin used to trigger |
| 388 | USB DFU. |
| 389 | |
| 390 | config BOOT_USB_DFU_DETECT_PIN |
| 391 | int "Pin to trigger USB DFU mode" |
| 392 | default 6 if BOARD_NRF9160DK_NRF9160 |
| 393 | default 11 if BOARD_NRF52840DK_NRF52840 |
| 394 | default 13 if BOARD_NRF52DK_NRF52832 |
Martí Bolívar | 994816d | 2021-07-28 12:16:06 -0700 | [diff] [blame] | 395 | default 23 if BOARD_NRF5340_DK_NRF5340_CPUAPP || BOARD_NRF5340_DK_NRF5340_CPUAPP_NS |
| 396 | default 43 if BOARD_BL5340_DVK_CPUAPP || BOARD_BL5340_DVK_CPUAPP_NS |
Josh Gao | 837cf88 | 2020-11-13 18:51:27 -0800 | [diff] [blame] | 397 | help |
| 398 | Pin on the DFU detect port that triggers DFU mode. |
| 399 | |
| 400 | config BOOT_USB_DFU_DETECT_PIN_VAL |
| 401 | int "USB DFU detect pin trigger value" |
| 402 | default 0 |
| 403 | range 0 1 |
| 404 | help |
| 405 | Logic value of the detect pin that triggers USB DFU mode. |
| 406 | |
| 407 | config BOOT_USB_DFU_DETECT_DELAY |
| 408 | int "Serial detect pin detection delay time [ms]" |
| 409 | default 0 |
| 410 | help |
| 411 | Used to prevent the bootloader from loading on button press. |
| 412 | Useful for powering on when using the same button as |
| 413 | the one used to place the device in bootloader mode. |
| 414 | |
| 415 | endif # BOOT_USB_DFU_GPIO |
| 416 | |
Marti Bolivar | bc2fa4e | 2018-04-12 12:18:32 -0400 | [diff] [blame] | 417 | config ZEPHYR_TRY_MASS_ERASE |
| 418 | bool "Try to mass erase flash when flashing MCUboot image" |
| 419 | default y |
| 420 | help |
| 421 | If y, attempt to configure the Zephyr build system's "flash" |
| 422 | target to mass-erase the flash device before flashing the |
| 423 | MCUboot image. This ensures the scratch and other partitions |
| 424 | are in a consistent state. |
| 425 | |
| 426 | This is not available for all targets. |
| 427 | |
David Brown | f6d14c2 | 2019-12-10 15:36:36 -0700 | [diff] [blame] | 428 | config BOOT_USE_BENCH |
| 429 | bool "Enable benchmark code" |
| 430 | default n |
| 431 | help |
| 432 | If y, adds support for simple benchmarking that can record |
| 433 | time intervals between two calls. The time printed depends |
| 434 | on the particular Zephyr target, and is generally ticks of a |
| 435 | specific board-specific timer. |
| 436 | |
Michael Scott | 74ceae5 | 2019-02-01 14:01:09 -0800 | [diff] [blame] | 437 | module = MCUBOOT |
Piotr Mienkowski | 15aa6ef | 2019-04-08 22:48:15 +0200 | [diff] [blame] | 438 | module-str = MCUBoot bootloader |
Michael Scott | 74ceae5 | 2019-02-01 14:01:09 -0800 | [diff] [blame] | 439 | source "subsys/logging/Kconfig.template.log_config" |
Michael Scott | 74ceae5 | 2019-02-01 14:01:09 -0800 | [diff] [blame] | 440 | |
Andrzej Puzdrowski | af14853 | 2020-02-25 12:51:26 +0100 | [diff] [blame] | 441 | config MCUBOOT_LOG_THREAD_STACK_SIZE |
| 442 | int "Stack size for the MCUBoot log processing thread" |
| 443 | depends on LOG && !LOG_IMMEDIATE |
| 444 | default 2048 if COVERAGE_GCOV |
| 445 | default 1024 if NO_OPTIMIZATIONS |
| 446 | default 1024 if XTENSA |
| 447 | default 4096 if (X86 && X86_64) |
| 448 | default 4096 if ARM64 |
| 449 | default 768 |
| 450 | help |
| 451 | Set the internal stack size for MCUBoot log processing thread. |
| 452 | |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 453 | menuconfig MCUBOOT_SERIAL |
| 454 | bool "MCUboot serial recovery" |
| 455 | default n |
| 456 | select REBOOT |
Emanuele Di Santo | 30a9265 | 2019-01-16 14:01:08 +0100 | [diff] [blame] | 457 | select GPIO |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 458 | select SERIAL |
Emanuele Di Santo | 30a9265 | 2019-01-16 14:01:08 +0100 | [diff] [blame] | 459 | select UART_INTERRUPT_DRIVEN |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 460 | select BASE64 |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 461 | help |
| 462 | If y, enables a serial-port based update mode. This allows |
| 463 | MCUboot itself to load update images into flash over a UART. |
| 464 | If unsure, leave at the default value. |
| 465 | |
| 466 | if MCUBOOT_SERIAL |
| 467 | |
Emanuele Di Santo | c4bf780 | 2018-07-20 11:39:57 +0200 | [diff] [blame] | 468 | choice |
| 469 | prompt "Serial device" |
Andrzej Puzdrowski | f4a9a9d | 2020-04-24 12:31:51 +0200 | [diff] [blame] | 470 | default BOOT_SERIAL_UART if !BOARD_NRF52840DONGLE_NRF52840 |
| 471 | default BOOT_SERIAL_CDC_ACM if BOARD_NRF52840DONGLE_NRF52840 |
Emanuele Di Santo | c4bf780 | 2018-07-20 11:39:57 +0200 | [diff] [blame] | 472 | |
| 473 | config BOOT_SERIAL_UART |
| 474 | bool "UART" |
| 475 | # SERIAL and UART_INTERRUPT_DRIVEN already selected |
| 476 | |
| 477 | config BOOT_SERIAL_CDC_ACM |
| 478 | bool "CDC ACM" |
Emanuele Di Santo | c4bf780 | 2018-07-20 11:39:57 +0200 | [diff] [blame] | 479 | select USB_DEVICE_STACK |
| 480 | select USB_CDC_ACM |
| 481 | |
| 482 | endchoice |
| 483 | |
Dominik Ermel | 6c8932e | 2021-07-09 10:28:40 +0000 | [diff] [blame] | 484 | config MCUBOOT_SERIAL_DIRECT_IMAGE_UPLOAD |
| 485 | bool "Allow to select image number for DFU" |
| 486 | help |
| 487 | With the option enabled, the mcuboot serial recovery will |
| 488 | respect the "image" field in mcumgr image update frame |
| 489 | header. |
| 490 | The mapping of image number to partition is as follows: |
| 491 | 0 -> default behaviour, same as 1; |
| 492 | 1 -> image-0 (primary slot of the first image); |
| 493 | 2 -> image-1 (secondary slot of the first image); |
| 494 | 3 -> image-2; |
| 495 | 4 -> image-3. |
| 496 | Note that 0 is default upload target when no explicit |
| 497 | selection is done. |
| 498 | |
Jared Wolff | 8e4d791 | 2021-01-21 19:34:05 -0500 | [diff] [blame] | 499 | config MCUBOOT_INDICATION_LED |
| 500 | bool "Turns on LED indication when device is in DFU" |
| 501 | default n |
| 502 | help |
| 503 | Device device activates the LED while in bootloader mode. |
| 504 | bootloader-led0 alias must be set in the device's .dts |
| 505 | definitions for this to work. |
| 506 | |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 507 | config BOOT_MAX_LINE_INPUT_LEN |
| 508 | int "Maximum command line length" |
| 509 | default 512 |
| 510 | help |
| 511 | Maximum length of commands transported over the serial port. |
| 512 | |
| 513 | config BOOT_SERIAL_DETECT_PORT |
| 514 | string "GPIO device to trigger serial recovery mode" |
| 515 | default GPIO_0 if SOC_FAMILY_NRF |
| 516 | help |
Josh Gao | 837cf88 | 2020-11-13 18:51:27 -0800 | [diff] [blame] | 517 | Zephyr GPIO device that contains the pin used to trigger |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 518 | serial recovery mode. |
| 519 | |
| 520 | config BOOT_SERIAL_DETECT_PIN |
| 521 | int "Pin to trigger serial recovery mode" |
Andrzej Puzdrowski | f4a9a9d | 2020-04-24 12:31:51 +0200 | [diff] [blame] | 522 | default 6 if BOARD_NRF9160DK_NRF9160 |
Andrzej Puzdrowski | fefdea2 | 2020-03-27 09:41:14 +0100 | [diff] [blame] | 523 | default 11 if BOARD_NRF52840DK_NRF52840 |
Håkon Øye Amundsen | f04aa54 | 2021-04-13 09:47:40 +0200 | [diff] [blame] | 524 | default 13 if BOARD_NRF52DK_NRF52832 || BOARD_NRF52833DK_NRF52833 |
Martí Bolívar | 994816d | 2021-07-28 12:16:06 -0700 | [diff] [blame] | 525 | default 23 if BOARD_NRF5340PDK_NRF5340_CPUAPP || BOARD_NRF5340PDK_NRF5340_CPUAPP_NS || \ |
| 526 | BOARD_NRF5340DK_NRF5340_CPUAPP || BOARD_NRF5340DK_NRF5340_CPUAPP_NS |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 527 | help |
Josh Gao | 837cf88 | 2020-11-13 18:51:27 -0800 | [diff] [blame] | 528 | Pin on the serial detect port that triggers serial recovery mode. |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 529 | |
| 530 | config BOOT_SERIAL_DETECT_PIN_VAL |
| 531 | int "Serial detect pin trigger value" |
| 532 | default 0 |
| 533 | range 0 1 |
| 534 | help |
Josh Gao | 837cf88 | 2020-11-13 18:51:27 -0800 | [diff] [blame] | 535 | Logic value of the detect pin that triggers serial recovery |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 536 | mode. |
| 537 | |
Jared Wolff | 8e4d791 | 2021-01-21 19:34:05 -0500 | [diff] [blame] | 538 | config BOOT_SERIAL_DETECT_DELAY |
Jared Wolff | df8e974 | 2021-02-04 11:17:00 -0500 | [diff] [blame] | 539 | int "Serial detect pin detection delay time [ms]" |
Jared Wolff | 8e4d791 | 2021-01-21 19:34:05 -0500 | [diff] [blame] | 540 | default 0 |
| 541 | help |
| 542 | Used to prevent the bootloader from loading on button press. |
| 543 | Useful for powering on when using the same button as |
| 544 | the one used to place the device in bootloader mode. |
| 545 | |
Andrzej Puzdrowski | f000480 | 2019-10-01 14:13:35 +0200 | [diff] [blame] | 546 | # Workaround for not being able to have commas in macro arguments |
| 547 | DT_CHOSEN_Z_CONSOLE := zephyr,console |
| 548 | |
| 549 | config RECOVERY_UART_DEV_NAME |
| 550 | string "UART Device Name for Recovery UART" |
| 551 | default "$(dt_chosen_label,$(DT_CHOSEN_Z_CONSOLE))" if HAS_DTS |
| 552 | default "UART_0" |
| 553 | depends on BOOT_SERIAL_UART |
| 554 | help |
| 555 | This option specifies the name of UART device to be used for |
| 556 | serial recovery. |
| 557 | |
Dominik Ermel | 2ae1f16 | 2021-07-09 10:59:23 +0000 | [diff] [blame] | 558 | config BOOT_ERASE_PROGRESSIVELY |
| 559 | bool "Erase flash progressively when receiving new firmware" |
| 560 | default y if SOC_FAMILY_NRF |
| 561 | help |
| 562 | If enabled, flash is erased as necessary when receiving new firmware, |
| 563 | instead of erasing the whole image slot at once. This is necessary |
| 564 | on some hardware that has long erase times, to prevent long wait |
| 565 | times at the beginning of the DFU process. |
| 566 | |
Andrzej Puzdrowski | 420ad9a | 2021-07-29 16:22:52 +0200 | [diff] [blame] | 567 | menuconfig ENABLE_MGMT_PERUSER |
Dominik Ermel | 97b4c79 | 2021-06-25 17:32:38 +0000 | [diff] [blame] | 568 | bool "Enable system specific mcumgr commands" |
Dominik Ermel | 3d51e43 | 2021-06-25 17:29:50 +0000 | [diff] [blame] | 569 | depends on BOOT_SERIAL_UART |
| 570 | help |
| 571 | The option enables processing of system specific mcumgr commands; |
| 572 | system specific commands are within group MGMT_GROUP_ID_PERUSER (64) |
| 573 | and above, as defined within mcumgr library. |
| 574 | These are system specific command and system specific implementation |
| 575 | function is required to process these commands. |
| 576 | |
Andrzej Puzdrowski | 420ad9a | 2021-07-29 16:22:52 +0200 | [diff] [blame] | 577 | if ENABLE_MGMT_PERUSER |
Dominik Ermel | 0435d5d | 2021-08-16 15:58:15 +0000 | [diff] [blame] | 578 | config BOOT_MGMT_CUSTOM_STORAGE_ERASE |
| 579 | bool "Enable storage erase command" |
| 580 | help |
| 581 | The option enables mcumgr command that allows to erase storage |
| 582 | partition. |
| 583 | Note that the storage partition needs to be defined, in DTS, otherwise |
| 584 | enabling the option will cause a compilation to fail. |
| 585 | |
Andrzej Puzdrowski | 420ad9a | 2021-07-29 16:22:52 +0200 | [diff] [blame] | 586 | config BOOT_MGMT_CUSTOM_IMG_LIST |
| 587 | bool "Enable custom image list command" |
| 588 | help |
| 589 | The option enables command which returns versions and installation |
| 590 | statuses (custom property) for all images. |
| 591 | |
| 592 | endif # ENABLE_MGMT_PERUSER |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 593 | endif # MCUBOOT_SERIAL |
Andrzej Puzdrowski | 64ad092 | 2017-09-22 11:33:41 +0200 | [diff] [blame] | 594 | |
Rafał Kuźnia | d854bb6 | 2020-06-17 15:06:47 +0200 | [diff] [blame] | 595 | config BOOT_INTR_VEC_RELOC |
| 596 | bool "Relocate the interrupt vector to the application" |
| 597 | default n |
| 598 | depends on SW_VECTOR_RELAY || CPU_CORTEX_M_HAS_VTOR |
| 599 | help |
| 600 | Relocate the interrupt vector to the application before it is started. |
| 601 | Select this option if application requires vector relocation, |
| 602 | but it doesn't relocate vector in its reset handler. |
| 603 | |
Andrzej Puzdrowski | 16b6d15 | 2020-06-01 14:16:54 +0200 | [diff] [blame] | 604 | config UPDATEABLE_IMAGE_NUMBER |
| 605 | int "Number of updateable images" |
| 606 | default 1 |
Andrzej Puzdrowski | fdff3e1 | 2020-09-15 08:23:25 +0200 | [diff] [blame] | 607 | range 1 1 if SINGLE_APPLICATION_SLOT |
Andrzej Puzdrowski | 16b6d15 | 2020-06-01 14:16:54 +0200 | [diff] [blame] | 608 | help |
| 609 | Enables support of multi image update. |
| 610 | |
| 611 | choice |
| 612 | prompt "Downgrade prevention" |
| 613 | optional |
| 614 | |
| 615 | config MCUBOOT_DOWNGRADE_PREVENTION |
| 616 | bool "SW based downgrade prevention" |
| 617 | depends on BOOT_UPGRADE_ONLY |
| 618 | help |
| 619 | Prevent downgrades by enforcing incrementing version numbers. |
| 620 | When this option is set, any upgrade must have greater major version |
| 621 | or greater minor version with equal major version. This mechanism |
| 622 | only protects against some attacks against version downgrades (for |
| 623 | example, a JTAG could be used to write an older version). |
| 624 | |
| 625 | config MCUBOOT_HW_DOWNGRADE_PREVENTION |
| 626 | bool "HW based downgrade prevention" |
| 627 | help |
| 628 | Prevent undesirable/malicious software downgrades. When this option is |
| 629 | set, any upgrade must have greater or equal security counter value. |
| 630 | Because of the acceptance of equal values it allows for software |
| 631 | downgrade to some extent. |
| 632 | |
| 633 | endchoice |
| 634 | |
Andrzej Puzdrowski | d21442a | 2020-10-12 16:47:28 +0200 | [diff] [blame] | 635 | config BOOT_WATCHDOG_FEED |
| 636 | bool "Feed the watchdog while doing swap" |
| 637 | default y if SOC_FAMILY_NRF |
| 638 | imply NRFX_WDT |
| 639 | imply NRFX_WDT0 |
| 640 | imply NRFX_WDT1 |
| 641 | help |
| 642 | Enables implementation of MCUBOOT_WATCHDOG_FEED() macro which is |
| 643 | used to feed watchdog while doing time consuming operations. |
| 644 | |
Andrzej Puzdrowski | 914204d | 2021-07-09 19:20:46 +0200 | [diff] [blame^] | 645 | config BOOT_IMAGE_ACCESS_HOOKS |
| 646 | bool "Enable hooks for overriding MCUboot's native routines" |
| 647 | help |
| 648 | Allow to provide procedures for override or extend native |
| 649 | MCUboot's routines required for access the image data and the image |
| 650 | update. |
| 651 | |
| 652 | config BOOT_IMAGE_ACCESS_HOOKS_FILE |
| 653 | string "Hooks implementation file path" |
| 654 | depends on BOOT_IMAGE_ACCESS_HOOKS |
| 655 | help |
| 656 | Path to the file which implements hooks. |
| 657 | You can use either absolute or relative path. |
| 658 | In case relative path is used, the build system assumes that it starts |
| 659 | from the directory where the MCUBoot KConfig configuration file is |
| 660 | located. If the key file is not there, the build system uses relative |
| 661 | path that starts from the zephyr port cmake directory (boot/zephyr/). |
| 662 | |
Andrzej Puzdrowski | 9754328 | 2018-04-12 15:16:56 +0200 | [diff] [blame] | 663 | endmenu |
| 664 | |
Carles Cufi | 84ede58 | 2018-01-29 15:12:00 +0100 | [diff] [blame] | 665 | config MCUBOOT_DEVICE_SETTINGS |
| 666 | # Hidden selector for device-specific settings |
| 667 | bool |
| 668 | default y |
| 669 | # CPU options |
| 670 | select MCUBOOT_DEVICE_CPU_CORTEX_M0 if CPU_CORTEX_M0 |
Carles Cufi | 67c792e | 2018-01-29 15:14:31 +0100 | [diff] [blame] | 671 | # Enable flash page layout if available |
| 672 | select FLASH_PAGE_LAYOUT if FLASH_HAS_PAGE_LAYOUT |
Andrzej Puzdrowski | b788c71 | 2018-04-12 12:42:49 +0200 | [diff] [blame] | 673 | # Enable flash_map module as flash I/O back-end |
| 674 | select FLASH_MAP |
Carles Cufi | 84ede58 | 2018-01-29 15:12:00 +0100 | [diff] [blame] | 675 | |
| 676 | config MCUBOOT_DEVICE_CPU_CORTEX_M0 |
| 677 | # Hidden selector for Cortex-M0 settings |
| 678 | bool |
| 679 | default n |
| 680 | select SW_VECTOR_RELAY if !CPU_CORTEX_M0_HAS_VECTOR_TABLE_REMAP |
| 681 | |
Marti Bolivar | 0e091c9 | 2018-04-12 11:23:16 -0400 | [diff] [blame] | 682 | comment "Zephyr configuration options" |
Andrzej Puzdrowski | 64ad092 | 2017-09-22 11:33:41 +0200 | [diff] [blame] | 683 | |
Marti Bolivar | f84cc4b | 2019-08-20 16:06:56 -0700 | [diff] [blame] | 684 | # Disabling MULTITHREADING provides a code size advantage, but |
| 685 | # it requires peripheral drivers (particularly a flash driver) |
| 686 | # that works properly with the option enabled. |
| 687 | # |
| 688 | # If you know for sure that your hardware will work, you can default |
| 689 | # it to n here. Otherwise, having it on by default makes the most |
| 690 | # hardware work. |
| 691 | config MULTITHREADING |
Andrzej Puzdrowski | 9a4946c | 2020-02-20 12:39:12 +0100 | [diff] [blame] | 692 | default y if BOOT_SERIAL_CDC_ACM #usb driver requires MULTITHREADING |
Josh Gao | 837cf88 | 2020-11-13 18:51:27 -0800 | [diff] [blame] | 693 | default y if BOOT_USB_DFU_GPIO || BOOT_USB_DFU_WAIT |
Marti Bolivar | f84cc4b | 2019-08-20 16:06:56 -0700 | [diff] [blame] | 694 | default n if SOC_FAMILY_NRF |
| 695 | default y |
| 696 | |
Andrzej Puzdrowski | 3f092bd | 2020-02-17 13:25:32 +0100 | [diff] [blame] | 697 | config LOG_PROCESS_THREAD |
| 698 | default n # mcuboot has its own log processing thread |
| 699 | |
| 700 | # override USB device name |
| 701 | config USB_DEVICE_PRODUCT |
| 702 | default "MCUBOOT" |
Andrzej Puzdrowski | 9a4946c | 2020-02-20 12:39:12 +0100 | [diff] [blame] | 703 | |
Andrzej Puzdrowski | f573b39 | 2020-11-10 14:35:15 +0100 | [diff] [blame] | 704 | # use MCUboot's own log configuration |
| 705 | config MCUBOOT_BOOTUTIL_LIB_OWN_LOG |
| 706 | bool |
| 707 | default n |
| 708 | |
Robert Lubos | 1b19d2a | 2020-01-31 14:05:35 +0100 | [diff] [blame] | 709 | source "Kconfig.zephyr" |