mirror of
https://github.com/hathach/tinyusb.git
synced 2026-08-18 11:02:16 +00:00
- Remove duplicate toctree entry for reference/device_issues from docs/index.rst (already included via docs/reference/index.rst) - Fix WCH section title: CH32V10X/CH32V20X/CH32V30X → CH32F20x/CH32V20x/CH32V30x to match the three actual README table entries (CH32F20x, CH32V20x, CH32V305/307) - Update README anchor links to match the renamed section - Qualify USBFS non-ISO transfer safety claim: USBHS is protected by USBHS_INT_BUSY_EN but USBFS behavior is not yet confirmed - Fix LPC54600 note: "read errata" → "see device issues" - Remove "totally" from LPC54600 description Co-authored-by: Ha Thach <hathach@users.noreply.github.com>
36 lines
1.5 KiB
ReStructuredText
36 lines
1.5 KiB
ReStructuredText
Device specific known issues and workarounds
|
|
===============================================
|
|
This page lists known issues and workarounds for specific devices.
|
|
|
|
NXP LPC54600
|
|
----------------
|
|
**Severity: High**
|
|
|
|
**Not recommended for USB device applications (except high-speed host controller)**
|
|
|
|
Reference: `LPC54600 Errata Sheet`_
|
|
|
|
.. _LPC54600 Errata Sheet: https://www.nxp.com/docs/en/errata/ES_LPC546XX.pdf
|
|
|
|
The LPC54600 series have a very buggy USB controller, with 17 issues listed in the errata which is more than half of the total issues.
|
|
|
|
Most severe issues are:
|
|
|
|
- USB.2: In USB high-speed device mode, the NBytes field is not correct after BULK IN transfer
|
|
- USB.5: In USB full-speed host mode, linked list on done queue is broken.
|
|
- USB.15: USB high-speed device in endpoint TX data corruption
|
|
|
|
WCH CH32F20x/CH32V20x/CH32V30x
|
|
---------------------------------
|
|
**Severity: Medium**
|
|
|
|
**Not recommended for USB audio applications**
|
|
|
|
Reference: `CH32V30X Reference Manual`_ USBFS/USBHS controller chapter
|
|
|
|
.. _CH32V30X Reference Manual: https://www.wch-ic.com/downloads/CH32FV2x_V3xRM_PDF.html
|
|
|
|
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.
|
|
|
|
For USBHS devices (CH32F20x, CH32V305/CH32V307), other transfer types are protected by the ``USBHS_INT_BUSY_EN`` mechanism which holds off new transfers while an interrupt is being processed. USBFS device behavior is not fully confirmed.
|