Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Kconfig - USB class drivers configuration options

#
# Copyright (c) 2016 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#

config USB_CDC_ACM
	bool "USB CDC ACM Device Class Driver"
	select SERIAL_HAS_DRIVER
	select SERIAL_SUPPORT_INTERRUPT
	select RING_BUFFER
	help
	  USB CDC ACM device class driver. Default device name is
	  "CDC_ACM_0".

if USB_CDC_ACM

config USB_CDC_ACM_RINGBUF_SIZE
	int "USB CDC ACM ring buffer size"
	default 1024
	help
	  USB CDC ACM ring buffer size

config USB_CDC_ACM_DEVICE_NAME
	string "USB CDC ACM device name template"
	default "CDC_ACM"
	help
	  Device name template for the CDC ACM Devices. First device would
	  have name $(USB_CDC_ACM_DEVICE_NAME)_0, etc.

module = USB_CDC_ACM
default-count = 1
source "subsys/usb/class/Kconfig.template.composite_device_number"

config CDC_ACM_INTERRUPT_EP_MPS
	int
	default 16
	help
	  CDC ACM class interrupt IN endpoint size

config CDC_ACM_BULK_EP_MPS
	int
	default 64
	help
	  CDC ACM class bulk endpoints size

config CDC_ACM_IAD
	bool "Force using Interface Association Descriptor"
	default n
	help
	  IAD should not be required for non-composite CDC ACM device,
	  but Windows 7 fails to properly enumerate without it.
	  Enable if you want CDC ACM to work with Windows 7.

module = USB_CDC_ACM
module-str = usb cdc acm
source "subsys/logging/Kconfig.template.log_config"

endif # USB_CDC_ACM

config USB_MASS_STORAGE
	bool "USB Mass Storage Device Class Driver"
	select DISK_ACCESS
	help
	  USB Mass Storage device class driver

config MASS_STORAGE_DISK_NAME
	string "Mass storage disk or drive name"
	depends on USB_MASS_STORAGE
	default "RAM"
	help
	  Mass storage device disk or drive name

config MASS_STORAGE_BULK_EP_MPS
	int
	depends on USB_MASS_STORAGE
	default 64
	range 8 64
	help
	  Mass storage device class bulk endpoints size

if USB_MASS_STORAGE
module = USB_MASS_STORAGE
module-str = usb mass storage
source "subsys/logging/Kconfig.template.log_config"
endif

config USB_DEVICE_BLUETOOTH
	bool "USB Bluetooth Device Class Driver"
	select BT
	select BT_HCI_RAW
	help
	  USB Bluetooth device class driver

config BLUETOOTH_INT_EP_MPS
	int
	depends on USB_DEVICE_BLUETOOTH
	default 16
	range 8 64
	help
	  Bluetooth device class interrupt endpoint size

config BLUETOOTH_BULK_EP_MPS
	int
	depends on USB_DEVICE_BLUETOOTH
	default 64
	range 8 64
	help
	  Bluetooth device class bulk endpoint size

config USB_DEVICE_LOOPBACK
	bool "USB Loopback Function Driver"
	help
	  USB Loopback Function Driver

config LOOPBACK_BULK_EP_MPS
	int
	depends on USB_DEVICE_LOOPBACK
	default 64
	help
	  Loopback Function bulk endpoint size

source "subsys/usb/class/netusb/Kconfig"

source "subsys/usb/class/hid/Kconfig"

config USB_DFU_CLASS
	bool "USB DFU Class Driver"
	select MPU_ALLOW_FLASH_WRITE
	select POLL
	depends on IMG_MANAGER
	help
	  USB DFU class driver

config USB_DFU_WAIT_DELAY_MS
	int
	depends on USB_DFU_CLASS
	default 12000
	help
	  A thread can wait for a prescribed time (in ms) for DFU to begin

config USB_DFU_DETACH_TIMEOUT
	int
	depends on USB_DFU_CLASS
	default 1000

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