# Kconfig - DFU support configuration options
#
# Copyright (c) 2017 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0
#

#
# DFU
#

menu "DFU options"

config IMG_MANAGER
	bool "DFU image manager"
	help
	  Enable support for managing DFU image.

if IMG_MANAGER

choice
	prompt "Image manager"
	default MCUBOOT_IMG_MANAGER
	help
	  Choice support for managing DFU image.
	  So far only mcuboot support is available.

config MCUBOOT_IMG_MANAGER
	bool "Image manager for mcuboot"
	select FLASH_MAP
	help
	  Enable support for managing DFU image downloaded using mcuboot.

endchoice

config IMG_BLOCK_BUF_SIZE
	int "Image writer buffer size"
	depends on MCUBOOT_IMG_MANAGER
	default 512
	help
	  Size (in Bytes) of buffer for image writer. Must be a multiple of
	  the access alignment required by used flash driver.

module = IMG_MANAGER
module-str = image manager
source "subsys/logging/Kconfig.template.log_config"

endif # IMG_MANAGER

endmenu
