| # 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 |
| select PINCTRL |
| 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 |
| select PINCTRL |
| 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 |
| select PINCTRL |
| 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 |
| select PINCTRL |
| 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 |