| # Copyright (c) 2023 Nordic Semiconductor ASA |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| config UDC_DWC2 |
| bool "DWC2 USB device controller driver" |
| default y |
| depends on DT_HAS_SNPS_DWC2_ENABLED |
| select UDC_DRIVER_HAS_HIGH_SPEED_SUPPORT |
| select NRFS if NRFS_HAS_VBUS_DETECTOR_SERVICE |
| select NRFS_VBUS_DETECTOR_SERVICE_ENABLED if NRFS_HAS_VBUS_DETECTOR_SERVICE |
| select EVENTS |
| help |
| DWC2 USB device controller driver. |
| |
| if UDC_DWC2 |
| |
| config UDC_DWC2_DMA |
| bool "DWC2 USB DMA support" |
| default y |
| help |
| Enable Buffer DMA if DWC2 USB controller supports Internal DMA. |
| |
| config UDC_DWC2_HIBERNATION |
| bool "DWC2 USB Hibernation support" |
| default y |
| help |
| Enable Hibernation if DWC2 USB controller supports hibernation. |
| |
| config UDC_DWC2_PTI |
| bool "DWC2 USB Periodic Transfer Interrupt" |
| help |
| Ignore frame number when scheduling isochronous endpoints. Use this |
| when isochronous transfers should finish only after receiving token |
| (IN or OUT) from host. In Periodic Transfer Interrupt, DWC2 driver is |
| not automatically retiring transfers if host does not issue token |
| during microframe. Enable to reduce isochronous endpoint CPU overhead. |
| |
| config UDC_DWC2_STACK_SIZE |
| int "UDC DWC2 driver internal thread stack size" |
| default 512 |
| help |
| DWC2 driver internal thread stack size. |
| |
| config UDC_DWC2_THREAD_PRIORITY |
| int "UDC DWC2 driver thread priority" |
| default 8 |
| help |
| DWC2 driver thread priority. |
| |
| config UDC_DWC2_USBHS_VBUS_READY_TIMEOUT |
| int "UDC DWC2 USBHS VBUS ready event timeout in ms" |
| depends on SOC_SERIES_NRF54HX || SOC_SERIES_NRF54LX || SOC_SERIES_NRF92X |
| default 0 |
| help |
| UDC DWC2 USBHS VBUS ready event timeout. If the VBUS is not ready |
| and the Nordic USBHS controller is used, the udc_enable() is |
| blocked for this amount of time. Set it to zero to wait forever. |
| |
| endif # UDC_DWC2 |