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. Other types of transfers are not affected. Puya PY32F071/072 --------------------------------- **Severity: Very Low** Reference: `PY32F07x Reference Manual` USBD chapter The USB device controller (MUSB-like) has 5 application endpoints EP1-EP5 with fixed FIFO sizes shared between IN and OUT of the same endpoint number: EP1 = 512 B, EP2-4 = 128 B, EP5 = 64 B. This is much lower than the max ISO ep size of 1024 for high EP numbers. Place large isochronous endpoints on EP1 and size descriptors accordingly.