zephyr/drivers/usb/device
Algot Axelzon 3fd7f89f64 drivers: usb: stm32: add support for incomplete isochronous in transfer
Implement the HAL callback function `HAL_PCD_ISOINIncompleteCallback` in
which the endpoint write semaphore is given back, thus allowing subsequent
writes to the endpoint after an isochronous transfer has been incompleted
(not read by the host).

This approach was chosen because it is similar to what is done in the
already implemented HAL callback `HAL_PCD_DataInStageCallback` which also
gives the write semaphore back but also calls the endpoint callback
function.

The reason for not also calling the endpoint callback function is because I
do not see any appropriate cb_status (`enum usb_dc_ep_cb_status_code`) to
pass. If passing `USB_DC_EP_DATA_IN` is okay even though "In transaction
done on this EP" is not completely true, then this should also be added.

This has been tested by setting up an isochronous endpoint, writing to it,
and verify that `HAL_PCD_DataInStageCallback` is called and subsequent
writes are possible.

Signed-off-by: Algot Axelzon <algot.axelzon@satcube.com>
2025-01-31 19:51:00 +01:00
..
CMakeLists.txt
Kconfig drivers: usb: stm32: fix support of STM32U5 OTG_HS with embedded PHY 2024-12-11 08:00:03 +01:00
usb_dc_dw_stm32.h
usb_dc_dw.c
usb_dc_it82xx2.c drivers: Fix uninitialized variable warning. 2024-11-12 15:58:47 -06:00
usb_dc_kinetis.c drivers: usb: Fix macro USB0 undefined for certain socs 2025-01-29 11:03:18 +01:00
usb_dc_mcux.c soc: mimxrt1180: Add USB support 2025-01-30 18:29:33 +01:00
usb_dc_native_posix_adapt.c
usb_dc_native_posix_adapt.h
usb_dc_native_posix.c
usb_dc_nrfx.c
usb_dc_numaker.c
usb_dc_rpi_pico.c
usb_dc_sam0.c
usb_dc_sam_usbc.c
usb_dc_sam_usbhs.c
usb_dc_smartbond.c
usb_dc_stm32.c drivers: usb: stm32: add support for incomplete isochronous in transfer 2025-01-31 19:51:00 +01:00