# Overlay file for composite configuration
# CDC ACM + USB DFU
#
# This composite configuration may not work for Windows OS Host.
# Windows OS does not send reset after DFU_DETACH request
# (does not re-enumerates) and thus make it unable for the device
# to restart in DFU mode.

CONFIG_USB_COMPOSITE_DEVICE=y

CONFIG_USB_DFU_CLASS=y
CONFIG_FLASH=y
CONFIG_IMG_MANAGER=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_BOOTLOADER_MCUBOOT=y
