# Copyright Nordic Semiconductor ASA 2023. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

# The Kconfig file is dedicated to Application Image management group of
# of MCUmgr client subsystem and provides Kconfig options to configure
# group commands behaviour and other aspects.
#
# Options defined in this file should be prefixed:
#  MCUMGR_GRP_IMG_CLIENT_ -- general group options;
#
# When adding Kconfig options, that control the same feature,
# try to group them together by the same stem after prefix.

menuconfig MCUMGR_GRP_IMG_CLIENT
	bool "MCUmgr client handlers for image management"
	depends on SMP_CLIENT
	select MCUMGR_SMP_CBOR_MIN_DECODING_LEVEL_3
	help
	  Enables MCUmgr client handlers for image management.

if MCUMGR_GRP_IMG_CLIENT

config MCUMGR_GRP_IMG_UPLOAD_DATA_ALIGNMENT_SIZE
	int "MCUmgr upload data alignment size"
	default 4
	help
	  Change default value when platform needs different data alignment.

config MCUMGR_GRP_IMG_FLASH_OPERATION_TIMEOUT
	int "MCUmgr reset or upload command timeout"
	default 15
	help
	  Change default value when platform needs a different time.

module = MCUMGR_GRP_IMG_CLIENT
module-str = mcumgr_grp_img_client
source "subsys/logging/Kconfig.template.log_config"

endif
