summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorHiFiPhile <[email protected]>2026-06-23 14:32:31 +0200
committerHiFiPhile <[email protected]>2026-06-23 14:32:31 +0200
commit88e996c3fcb03de4aa73f4c445f3c24b3a7e8b70 (patch)
treef2cd8c7745c58f1c29717e95929ecb089f8e8641 /docs
parent97ce0a1732be690a7e99c237f2b3aa039461d97a (diff)
add partial workaroundxfer_isr_fallback
Signed-off-by: HiFiPhile <[email protected]>
Diffstat (limited to 'docs')
-rw-r--r--docs/reference/device_issues.rst5
1 files changed, 5 insertions, 0 deletions
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.