Linux Audio

Check our new training course

Loading...
# USB device configuration options

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

menuconfig USB_DEVICE_DRIVER
	bool "Enable USB device controller drivers"
	help
	  Enable USB device controller drivers.

if USB_DEVICE_DRIVER

config USB_DW
	bool "Designware USB Device Controller Driver"
	help
	  Designware USB Device Controller Driver.

config USB_DW_USB_2_0
	bool "DesignWare Controller and PHY support for USB specification 2.0"
	depends on USB_DW
	help
	  Indicates whether or not USB specification version 2.0 is supported

config USB_DC_STM32
	bool "USB device controller driver for STM32 devices"
	depends on SOC_FAMILY_STM32
	select USE_STM32_LL_USB
	select USE_STM32_HAL_PCD
	select USE_STM32_HAL_PCD_EX
	help
	  Enable USB support on the STM32 F0, F1, F2, F3, F4, F7, L0, L4 and G4 family of
	  processors.

config USB_DC_STM32_DISCONN_ENABLE
	bool
	depends on USB_DC_STM32
	help
	  Say Y if your board uses USB DISCONNECT pin to enable the
	  pull-up resistor on USB DP.

config USB_DC_SAM0
	bool "SAM0 series USB Device Controller driver"
	default y
	depends on SOC_FAMILY_SAM0
	help
	  SAM0 family USB device controller Driver.

DT_COMPAT_SAM_USBC := atmel,sam-usbc

config USB_DC_SAM_USBC
	bool "SAM4L USBC Device Controller driver"
	depends on SOC_SERIES_SAM4L
	default $(dt_compat_enabled,$(DT_COMPAT_SAM_USBC))
	help
	  SAM4L family USBC device controller Driver.

config USB_DC_SAM_USBHS
	bool "SAM series USB HS Device Controller driver"
	depends on SOC_SERIES_SAME70 || \
		   SOC_SERIES_SAMV71
	help
	  SAM family USB HS device controller Driver.

config USB_NRFX
	bool "Nordic Semiconductor USB Device Controller Driver"
	default y
	depends on HAS_HW_NRF_USBD
	select NRFX_USBD
	select NRFX_POWER
	help
	  nRF USB Device Controller Driver

config USB_NRFX_EVT_QUEUE_SIZE
	int "USBD event queue size"
	range 4 64
	default 32
	depends on USB_NRFX
	help
	  Size of the driver's internal event queue.
	  Required size will depend on number of endpoints (class instances) in use.

config USB_NRFX_WORK_QUEUE_STACK_SIZE
	int "USBD work queue stack size"
	default 1024
	depends on USB_NRFX
	help
	  Size of the stack for the work queue thread that is used in the driver
	  for handling the events from the USBD ISR, i.e. executing endpoint
	  callbacks and providing proper notifications to the USB device stack.

config USB_NRFX_ATTACHED_EVENT_DELAY
	int "USBD attached event delay"
	range 0 1000
	default 0
	depends on USB_NRFX
	help
	  Configurable attached event delay in milliseconds. Delay can be used
	  to give USB Charging Controller time for initialization.

config USB_KINETIS
	bool "Kinetis USB Device Controller Driver"
	help
	  Kinetis USB Device Controller Driver.

config USB_MCUX
	bool "NXP MCUX USB Device Controller Driver"
	help
	  NXP MCUX USB Device Controller Driver for MXRT and LPC SoC's.

if USB_MCUX

choice USB_MCUX_CONTROLLER_TYPE
	prompt "USB Controller type"
	help
	  Select the type of controller available in the SoC.

config USB_DC_NXP_EHCI
	bool "MXRT EHCI USB Device Controller"
	select NOCACHE_MEMORY if HAS_MCUX_CACHE
	help
	  Kinetis and RT EHCI USB Device Controller Driver.

config USB_DC_NXP_LPCIP3511
	bool "LPC USB Device Controller"
	help
	  LPC USB Device Controller Driver.

endchoice

endif # USB_MCUX

config USB_NATIVE_POSIX
	bool "Native Posix USB Device Controller Driver"
	help
	  Native Posix USB Device Controller Driver.

module = USB_DRIVER
module-str = usb driver
source "subsys/logging/Kconfig.template.log_config"

endif # USB_DEVICE_DRIVER