1. Move the defines from usb_dc_mcux.h to usb_device_config.h and fsl_os_abstraction.h. These headers are used by the SDK USB driver. usb_dc_mcux.h header file is not longer needed and hence deleted. 2. Delete the Zephyr implementation of the usb_device_struct driver and use the one implemented inside the SDK USB driver. This requires updating the references to usb_device_struct inside the USB driver 3. Move defines and structures used by the driver out of the header file that is included by the SDK and into the MCUX USB driver. 4. Use end point defines provided by Zephyr instead of adding them locally. 5. Add a Kconfig to set the thread stack size 6. Move code to enable interrupts back to usb_attach function. Interrupts should be enabled after the init is successful, else we see errors of the ISR getting called before the init is complete causing Faults 6. Update west.yml to update the NXP HAL to get the updated SDK USB driver. Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
177 lines
4.5 KiB
Plaintext
177 lines
4.5 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_DESIGNWARE_USB_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.
|
|
|
|
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
|
|
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 DT_HAS_ATMEL_SAM0_USB_ENABLED
|
|
help
|
|
SAM0 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 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"
|
|
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_MCUX_USBD_ENABLED
|
|
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
|
|
|
|
config USB_MCUX_THREAD_STACK_SIZE
|
|
int "Stack size for the USB driver"
|
|
default 1024
|
|
help
|
|
Size of the stack used for the internal USB 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
|