247 lines
6.8 KiB
Plaintext
247 lines
6.8 KiB
Plaintext
# USB device configuration options
|
|
|
|
# Copyright (c) 2016 Wind River Systems, Inc.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
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"
|
|
default y
|
|
depends on DT_HAS_SNPS_DWC2_ENABLED
|
|
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 y
|
|
depends on DT_HAS_RASPBERRYPI_PICO_USBD_ENABLED
|
|
help
|
|
Enable USB support on the RP2 family of processors.
|
|
|
|
DT_STM32_USBHS := $(dt_nodelabel_path,usbotg_hs)
|
|
DT_STM32_USBHS_SPEED := $(dt_node_str_prop_equals,$(DT_STM32_USBHS),maximum-speed,high-speed)
|
|
|
|
config USB_DC_STM32
|
|
bool "USB device controller driver for STM32 devices"
|
|
default y
|
|
depends on DT_HAS_ST_STM32_OTGFS_ENABLED \
|
|
|| DT_HAS_ST_STM32_OTGHS_ENABLED \
|
|
|| DT_HAS_ST_STM32_USB_ENABLED
|
|
select USE_STM32_LL_USB
|
|
select USE_STM32_HAL_PCD
|
|
select USE_STM32_HAL_PCD_EX
|
|
select USB_DC_HAS_HS_SUPPORT if "$(DT_STM32_USBHS_SPEED)"
|
|
select PINCTRL
|
|
imply USB_DEVICE_REMOTE_WAKEUP
|
|
help
|
|
Enable STM32 family USB device controller shim driver.
|
|
|
|
config USB_DC_STM32_CLOCK_CHECK
|
|
bool "Runtime USB 48MHz clock check"
|
|
depends on USB_DC_STM32
|
|
default y if !(SOC_SERIES_STM32F1X || SOC_SERIES_STM32F3X)
|
|
help
|
|
Enable USB clock 48MHz configuration runtime check.
|
|
In specific cases, this check might provide wrong verdict and should
|
|
be disabled.
|
|
|
|
config USB_DC_SAM0
|
|
bool "SAM0 series USB Device Controller driver"
|
|
default y
|
|
depends on DT_HAS_ATMEL_SAM0_USB_ENABLED
|
|
help
|
|
SAM0 family USB device controller Driver.
|
|
|
|
config USB_DC_SMARTBOND
|
|
bool "SmartBond series USB Device Controller driver"
|
|
default y
|
|
select CLOCK_CONTROL_SMARTBOND
|
|
select CLOCK_CONTROL
|
|
select DMA
|
|
depends on DT_HAS_RENESAS_SMARTBOND_USBD_ENABLED
|
|
help
|
|
SmartBond family USB device controller Driver.
|
|
|
|
config USB_DC_SAM_USBC
|
|
bool "SAM4L USBC Device Controller driver"
|
|
default y
|
|
depends on DT_HAS_ATMEL_SAM_USBC_ENABLED
|
|
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"
|
|
default y
|
|
depends on DT_HAS_ATMEL_SAM_USBHS_ENABLED
|
|
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 DT_HAS_NORDIC_NRF_USBD_ENABLED
|
|
select NRF_USBD_COMMON
|
|
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"
|
|
default y
|
|
depends on DT_HAS_NXP_KINETIS_USBD_ENABLED
|
|
help
|
|
Kinetis USB Device Controller Driver.
|
|
|
|
config USB_MCUX
|
|
bool "NXP MCUX USB Device Controller Driver"
|
|
default y
|
|
depends on DT_HAS_NXP_EHCI_ENABLED || DT_HAS_NXP_LPCIP3511_ENABLED
|
|
help
|
|
NXP MCUX USB Device Controller Driver for MXRT and LPC SoC's.
|
|
|
|
if USB_MCUX
|
|
|
|
config USB_DC_NXP_EHCI
|
|
bool "MXRT EHCI USB Device Controller"
|
|
default y
|
|
depends on DT_HAS_NXP_EHCI_ENABLED
|
|
select NOCACHE_MEMORY if ARCH_HAS_NOCACHE_MEMORY_SUPPORT
|
|
select USB_DC_HAS_HS_SUPPORT
|
|
help
|
|
Kinetis and RT EHCI USB Device Controller Driver.
|
|
|
|
config USB_DC_NXP_LPCIP3511
|
|
bool "LPC USB Device Controller"
|
|
default y
|
|
depends on DT_HAS_NXP_LPCIP3511_ENABLED
|
|
select USB_DC_HAS_HS_SUPPORT if "$(dt_nodelabel_enabled,usbhs)"
|
|
select PINCTRL
|
|
help
|
|
LPC USB Device Controller Driver.
|
|
|
|
config USB_DC_MSG_QUEUE_LEN
|
|
int
|
|
default 10
|
|
help
|
|
Maximum number of messages USB device controller interrupt can queue
|
|
for callback thread
|
|
|
|
config USB_MCUX_THREAD_STACK_SIZE
|
|
int "Stack size for the USB driver"
|
|
default 2048 if USB_DEVICE_LOG_LEVEL_DBG
|
|
default 1024
|
|
help
|
|
Size of the stack used for the internal USB thread.
|
|
|
|
endif # USB_MCUX
|
|
|
|
config USB_DC_IT82XX2
|
|
bool "ITE IT82XX2 USB Device Controller Driver"
|
|
default y
|
|
depends on DT_HAS_ITE_IT82XX2_USB_ENABLED
|
|
help
|
|
ITE IT82XX2 USB Device Controller Driver
|
|
|
|
config USB_DC_NUMAKER
|
|
bool "Nuvoton NuMaker USB 1.1 device controller"
|
|
default y
|
|
depends on DT_HAS_NUVOTON_NUMAKER_USBD_ENABLED
|
|
help
|
|
Enable Nuvoton NuMaker USB 1.1 device controller driver
|
|
|
|
if USB_DC_NUMAKER
|
|
|
|
config USB_DC_NUMAKER_MSG_QUEUE_SIZE
|
|
int "USB DC message queue size"
|
|
default 32
|
|
help
|
|
Maximum number of messages the driver can queue for interrupt bottom half processing
|
|
|
|
config USB_DC_NUMAKER_MSG_HANDLER_THREAD_STACK_SIZE
|
|
int "USB DC message handler thread stack size"
|
|
default 1536
|
|
help
|
|
Size of the stack for the message handler thread that is used in the driver
|
|
for handling messages from the USB DC ISR, i.e. interrupt bottom half processing,
|
|
including callbacks to the USB device stack.
|
|
|
|
endif # USB_DC_NUMAKER
|
|
|
|
config USB_NATIVE_POSIX
|
|
bool "Native Posix USB Device Controller Driver"
|
|
depends on ARCH_POSIX && EXTERNAL_LIBC
|
|
default y if BOARD_NATIVE_SIM || BOARD_NATIVE_POSIX
|
|
help
|
|
Native Posix USB Device Controller Driver.
|
|
|
|
DT_ZEPHYR_UDC0 := $(dt_nodelabel_path,zephyr_udc0)
|
|
DT_ZEPHYR_UDC0_HS_SPEED := $(dt_node_str_prop_equals,$(DT_ZEPHYR_UDC0),maximum-speed,high-speed)
|
|
|
|
config USB_NATIVE_POSIX_HS
|
|
bool "High speed support"
|
|
select USB_DC_HAS_HS_SUPPORT
|
|
depends on USB_NATIVE_POSIX
|
|
default y if "$(DT_ZEPHYR_UDC0_HS_SPEED)"
|
|
help
|
|
Enable high speed support in the Native Posix USB device controller driver.
|
|
|
|
module = USB_DRIVER
|
|
module-str = usb driver
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # USB_DEVICE_DRIVER
|