# 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
	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_DETACH_TIMEOUT
	int
	default 1000

config USB_DFU_DEFAULT_POLLTIMEOUT
	int "Default value for bwPollTimeout"
	default 256
	range 0 1000
	help
	  Default value for bwPollTimeout (in ms)

endif # USB_DFU_CLASS
