1# DFU support configuration options
2
3# Copyright (c) 2017 Nordic Semiconductor ASA
4# SPDX-License-Identifier: Apache-2.0
5
6#
7# DFU
8#
9
10menuconfig IMG_MANAGER
11	bool "DFU image manager"
12	depends on STREAM_FLASH
13	help
14	  Enable support for managing DFU image.
15
16if IMG_MANAGER
17
18choice
19	prompt "Image manager"
20	default MCUBOOT_IMG_MANAGER
21	help
22	  Choice support for managing DFU image.
23	  So far only mcuboot support is available.
24
25config MCUBOOT_IMG_MANAGER
26	bool "Image manager for mcuboot"
27	depends on FLASH_MAP
28	select MCUBOOT_BOOTUTIL_LIB
29	help
30	  Enable support for managing DFU image downloaded using mcuboot.
31
32endchoice
33
34config MCUBOOT_SHELL
35	bool "MCUboot shell"
36	default y
37	depends on MCUBOOT_IMG_MANAGER
38	depends on SHELL
39	help
40	  Enable shell module, which provides information about image slots and
41	  allows to perform such operations as: confirm, erase and request
42	  upgrade.
43
44config MCUBOOT_TRAILER_SWAP_TYPE
45	bool "use trailer's swap_type field"
46	default y
47	depends on MCUBOOT_IMG_MANAGER
48	help
49	  Enables usage swap type field which is required after
50	  "Fix double swap on interrupted revert"  mcuboot patch
51	  (https://github.com/JuulLabs-OSS/mcuboot/pull/485)
52	  Disable this option if need to be compatible with earlier version
53	  of MCUBoot.
54
55config IMG_BLOCK_BUF_SIZE
56	int "Image writer buffer size"
57	depends on MCUBOOT_IMG_MANAGER
58	default 512
59	help
60	  Size (in Bytes) of buffer for image writer. Must be a multiple of
61	  the access alignment required by used flash driver.
62
63config IMG_ERASE_PROGRESSIVELY
64	bool "Erase flash progressively when receiving new firmware"
65	depends on MCUBOOT_IMG_MANAGER
66	select STREAM_FLASH_ERASE
67	help
68	  If enabled, flash is erased as necessary when receiving new firmware,
69	  instead of erasing the whole image slot at once. This is necessary
70	  on some hardware that has long erase times, to prevent long wait
71	  times at the beginning of the DFU process.
72
73config IMG_ENABLE_IMAGE_CHECK
74	bool "Image check functions"
75	depends on MCUBOOT_IMG_MANAGER
76	select FLASH_AREA_CHECK_INTEGRITY
77	help
78	  If enabled, there will be available the function to check flash
79	  integrity.  It can be used to verify flash integrity after received
80	  a new firmware.  This is useful to avoid firmware reboot and test.
81	  Another use is to ensure that firmware upgrade routines from internet
82	  server to flash slot are performing properly.
83
84module = IMG_MANAGER
85module-str = image manager
86source "subsys/logging/Kconfig.template.log_config"
87
88if !MCUBOOT
89config UPDATEABLE_IMAGE_NUMBER
90	int "Number of updateable images"
91	default 1
92	range 1 3
93	help
94	  If value is set to 2 or greater then, this enables support needed when
95	  application is combined with MCUboot multi-image boot.
96endif
97
98endif # IMG_MANAGER
99