zephyr/drivers/usb/udc
Tomasz Moń 8348d9a2b7 drivers: udc_dwc2: Rework control endpoint feeding
In Completer mode SETUP data can always be received and therefore
endpoint 0 should only be enabled for OUT Data Stage and OUT Status
Stage.

In Buffer DMA mode, SETUP can only be received when endpoint is enabled
and therefore the software has to make sure that there is a buffer
available to receive SETUP data.

Rework the EP0 buffer feeding to adhere to DWC2 Programming Guide.
Synchronize the accesses with driver mutex to avoid interrupt related
race conditions.

Signed-off-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2025-02-07 14:33:16 +01:00
..
CMakeLists.txt drivers: udc: add support for Renesas RA USB device 2024-12-12 16:23:48 +01:00
Kconfig drivers: udc: add support for Renesas RA USB device 2024-12-12 16:23:48 +01:00
Kconfig.ambiq drivers: udc_ambiq: Implemented UDC driver for apollo4p 2024-11-16 15:07:29 -05:00
Kconfig.dwc2 usb: dwc2: Allow for enabling USB if the cable is disconnected 2024-10-16 16:37:31 +01:00
Kconfig.it82xx2
Kconfig.kinetis
Kconfig.mcux
Kconfig.nrf
Kconfig.numaker boards: nuvoton: numaker: Drop PINCTRL from board defconfig 2024-11-20 08:23:58 -05:00
Kconfig.renesas_ra drivers: udc: add support for Renesas RA USB device 2024-12-12 16:23:48 +01:00
Kconfig.rpi_pico
Kconfig.skeleton
Kconfig.smartbond drivers: usb: udc: add Smartbond UDC driver 2024-10-22 20:41:55 +02:00
Kconfig.stm32 drivers: udc: stm32: update STM32_CLOCK_CHECK definition 2025-01-31 11:50:01 +01:00
Kconfig.virtual
udc_ambiq.c drivers: udc_ambiq: defer enqueue event if the endpoint is stalled 2024-11-29 11:45:10 +01:00
udc_common.c usb: device_next: remove redundant memset() after net_buf_alloc.*() 2024-12-17 11:38:22 +00:00
udc_common.h drivers: usb: udc: fix return api description 2024-12-06 12:13:08 +01:00
udc_dwc2_vendor_quirks.h drivers: udc_dwc2: Wait for USBHS clock start 2024-11-29 11:44:26 +01:00
udc_dwc2.c drivers: udc_dwc2: Rework control endpoint feeding 2025-02-07 14:33:16 +01:00
udc_dwc2.h
udc_it82xx2.c udc: it82xx2: emit SOF event 2024-10-22 14:01:11 +02:00
udc_kinetis.c drivers: udc_kinetis: reset control endpoint busy flags 2024-11-05 10:53:11 -06:00
udc_mcux_ehci.c drivers: udc_mcux_ehci: fix typo in transfer handler 2025-02-06 17:46:42 +01:00
udc_mcux_ip3511.c drivers: usb: Fix pointer reference in the NXP drivers 2024-12-24 16:07:49 +01:00
udc_nrf.c drivers: udc_nrf: Do not submit buffer more than once 2025-02-05 12:25:20 +01:00
udc_numaker.c
udc_renesas_ra.c drivers: udc: add support for Renesas RA USB device 2024-12-12 16:23:48 +01:00
udc_rpi_pico.c
udc_skeleton.c
udc_smartbond.c drivers: usb: udc: add Smartbond UDC driver 2024-10-22 20:41:55 +02:00
udc_stm32.c drivers: udc: stm32: update STM32_CLOCK_CHECK definition 2025-01-31 11:50:01 +01:00
udc_virtual.c