Add data loss warning to CH32 USBFS/USBHS

According to WCH FAE transfer complete interrupt is not queued, later completed EP will overwrite INT_ST and RX_LEN.

Which means to guarantee data integrity when multiples EPs are enabled:
- USB IRQ must have highest priority
- IRQ processing time must be less than ZLP duration (~600ns), which is absurd for a 144MHz CPU (85 cycles)

Signed-off-by: Zixun LI <admin@hifiphile.com>
This commit is contained in:
Zixun LI
2026-05-27 14:38:53 +02:00
parent 939c2f91c2
commit da03867393

View File

@ -262,11 +262,11 @@ Supported CPUs
+--------------+-----------------------------+--------+------+-----------+------------------------+--------------------+
| ValentyUSB | eptri | ✔ | ✖ | ✖ | eptri | |
+--------------+-----------------------------+--------+------+-----------+------------------------+--------------------+
| WCH | CH32F20x | | | ✔ | ch32_usbhs | |
| WCH | CH32F20x | | | ✔ | ch32_usbhs | Data loss possible |
| +-----------------------------+--------+------+-----------+------------------------+--------------------+
| | CH32V20x | | | ✖ | stm32_fsdev/ch32_usbfs | |
| | CH32V20x | | | ✖ | stm32_fsdev/ch32_usbfs | Data loss possible |
| +-----------------------------+--------+------+-----------+------------------------+--------------------+
| | CH32V305, CH32V307 | | | ✔ | ch32_usbfs/hs | |
| | CH32V305, CH32V307 | | | ✔ | ch32_usbfs/hs | Data loss possible |
+--------------+-----------------------------+--------+------+-----------+------------------------+--------------------+
Table Legend