# Copyright (c) 2020 Intel Corporation # SPDX-License-Identifier: Apache-2.0 menuconfig USB_DFU_CLASS bool "USB DFU Class Driver" select MPU_ALLOW_FLASH_WRITE select POLL depends on IMG_MANAGER select IMG_ERASE_PROGRESSIVELY if (SOC_FLASH_NRF || FLASH_MCUX_FLEXSPI_NOR) help USB DFU class driver if USB_DFU_CLASS config USB_DEVICE_DFU_PID hex "USB DFU Product ID" default 0xFFFF help USB device product ID in DFU mode. MUST be configured by vendor. config USB_DFU_WILL_DETACH bool "Generate detach-attach sequence on DFU detach" default y help Enabling this option makes the device responsible for detaching itself from the bus after the DFU_DETACH request. Select this for compatibility with host drivers that cannot issue USB reset. DFU fails on Windows with WinUSB driver if this is not enabled. config USB_DFU_DETACH_TIMEOUT int default 100 if USB_DFU_WILL_DETACH default 1000 config USB_DFU_DEFAULT_POLLTIMEOUT int "Default value for bwPollTimeout" default 8 range 0 1000 help Default value for bwPollTimeout (in ms) config USB_DFU_ENABLE_UPLOAD bool "Firmware uploading to the host" help Enabling this option allows to upload firmware image to the host. Be aware that upload capability can be a security risk because the executable image is always decrypted despite the image encryption is enabled. config USB_DFU_REBOOT bool "Reboot after download" select REBOOT help When enabled the device will automatically reboot after a download so the bootloader can swap the images. config USB_DFU_PERMANENT_DOWNLOAD bool "Mark slot 1 as permanent after download" help When enabled the image written to slot 1 will be marked as permanent. WARNING: This bypasses Mcuboot's test-confirm mechanism! Downloading the wrong image will cause a bricked device. Make sure there is some kind of recovery mechanism. endif # USB_DFU_CLASS