From 88e996c3fcb03de4aa73f4c445f3c24b3a7e8b70 Mon Sep 17 00:00:00 2001 From: HiFiPhile Date: Tue, 23 Jun 2026 14:32:31 +0200 Subject: add partial workaround Signed-off-by: HiFiPhile --- docs/reference/device_issues.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/reference/device_issues.rst b/docs/reference/device_issues.rst index ae9cd55f1..4a5a7072f 100644 --- a/docs/reference/device_issues.rst +++ b/docs/reference/device_issues.rst @@ -33,3 +33,8 @@ Reference: `CH32V30X Reference Manual`_ USBFS/USBHS controller chapter Data corruption may occur on isochronous endpoints. Due to the lacking of FIFO for interrupt status registers, later completed transfer will overwrite `INT_ST` and `RX_LEN` register if previous transfer processing is not completed. Other types of transfers are not affected. + +**Partial workaround:** + - Keep USB interrupt as the highest priority interrupt. + - Force the device to full-speed mode by setting dev_init.speed = TUSB_SPEED_FULL when calling tusb_init() to give more time for the device to process the transfer before the next transfer is completed. + - Keep the device configuration simple, e.g. only one isochronous endpoint, to reduce the processing time of each transfer. -- cgit v1.3.1