diff options
| author | HiFiPhile <[email protected]> | 2026-06-23 14:32:31 +0200 |
|---|---|---|
| committer | HiFiPhile <[email protected]> | 2026-06-23 14:32:31 +0200 |
| commit | 88e996c3fcb03de4aa73f4c445f3c24b3a7e8b70 (patch) | |
| tree | f2cd8c7745c58f1c29717e95929ecb089f8e8641 | |
| parent | 97ce0a1732be690a7e99c237f2b3aa039461d97a (diff) | |
add partial workaroundxfer_isr_fallback
Signed-off-by: HiFiPhile <[email protected]>
| -rw-r--r-- | docs/reference/device_issues.rst | 5 |
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. |
