blob: ba11aeb820dff3483d156e259b306d70b91291d9 [file] [log] [blame]
# USB device configuration options
# Copyright (c) 2016 Wind River Systems, Inc.
# SPDX-License-Identifier: Apache-2.0
DT_COMPAT_RPI_PICO_USBD := raspberrypi,pico-usbd
menuconfig USB_DEVICE_DRIVER
bool "USB device controller drivers"
help
Enable USB device controller drivers.
if USB_DEVICE_DRIVER
config USB_DC_HAS_HS_SUPPORT
bool "USB device controller supports high speed"
help
USB device controller supports high speed.
config USB_DEVICE_REMOTE_WAKEUP
bool "Remote wakeup support"
help
USB device controller supports remote wakeup feature.
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_RPI_PICO
bool "USB device controller driver for Raspberry Pi Pico devices"
default $(dt_compat_enabled,$(DT_COMPAT_RPI_PICO_USBD))
depends on SOC_SERIES_RP2XXX
help
Enable USB support on the RP2 family of processors.
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, G4, U5 family of
processors.
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.
DT_SAM_USBHS := $(dt_nodelabel_path,usbhs)
DT_SAM_USBHS_SPEED := $(dt_node_str_prop_equals,$(DT_SAM_USBHS),maximum-speed,high-speed)
config USB_DC_SAM_USBHS
bool "SAM series USB HS Device Controller driver"
depends on SOC_SERIES_SAME70 || \
SOC_SERIES_SAMV71
imply USB_DC_HAS_HS_SUPPORT if "$(DT_SAM_USBHS_SPEED)"
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
imply USB_DEVICE_REMOTE_WAKEUP
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
config USB_DC_MSG_QUEUE_LEN
int
default 10
help
Maximum number of messages USB device controller interrupt can queue
for callback thread
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