i.MX31: USBH1 cannot transfer more than 30 bytes in one OUT

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX31: USBH1 cannot transfer more than 30 bytes in one OUT

888 Views
ml07
Contributor I

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

Labels (1)
Tags (2)
0 Kudos
Reply
2 Replies

735 Views
art
NXP Employee
NXP Employee

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:

http://www.nxp.com/products/automotive-products/microcontrollers-and-processors/arm-mcus-and-mpus/i....


Have a great day,
Artur

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply

735 Views
ml07
Contributor I

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).

0 Kudos
Reply