zephyr/drivers/usb
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
..
bc12 drivers: bc12: Place API into iterable section 2024-12-03 19:56:37 +01:00
common drivers: kconfig: Fix menu items 2025-01-31 11:50:12 +01:00
device drivers: usb: stm32: add support for incomplete isochronous in transfer 2025-01-31 19:51:00 +01:00
udc drivers: udc: stm32: update STM32_CLOCK_CHECK definition 2025-01-31 11:50:01 +01:00
uhc
uvb linker: drivers: Use Z_LINK_ITERABLE_SUBALIGN 2024-04-20 13:45:25 -04:00
CMakeLists.txt
Kconfig