Hi
We're having problems with the USBH1 block of i.MX31. Whenever the USB stack wants to send OUT packets longer than 32 bytes the link is reset and re-enumerated. We don't know the reason for the reset of the link but see on the Ellisys USB logger and the Linux kernel just says "Device disconnected" and the port is reset and re-enumerated.
We're using a mainline kernel (4.4.x) and don't have any problems with large OUT packets on USBH2 where ULPI an ULPI transceiver is being used.
Unfortunately we don't have access to a Freescale board (eval-kit etc) with a serial transceiver connected to USBH1.
Has anyone else tested USBH1 or know what the problem could be?
Thanks
There seems to be the effect of some of a number of the i.MX31 USB Host Controller Errata. For more information, please refer to the Chapter 2 "USB2 Host Controller Errata" of the MCIMX31 and MCIMX31L Chip Errata Rev.5.7 document, available on the processor's Documentation web page:
Have a great day,
Artur
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
I see now that the USBSTS indicates PCI (Port Change), UEI (USB Error) and UI (USB Interrupt) when this happens. And the PORTSC register indicates that the port has been disabled and the connect status has changed (although the Current Connect status still indicates a device is present).