Hello,
Below is possible new (non-published) i.MX28 erratum.
ERR006308: USB: HOST controller lock-up issue
Description:
The USB host controller can lock-up when a FIFO under run occurs on a non-32-bit aligned
data buffer. This applies to both the Host controller and OTG controller in host mode.
Workaround:
1. Set Stream Disable bit (SDIS) in the USBMODE register. This will force the controller to
load an entire packet in the FIFO before starting to transmit on the USB bus. Hence, the
FIFO will never underrun. This will somewhat reduce the max bandwidth of the USB since
there will be idle time as the the controller waits for the entire packet to be loaded.
2. Instead of setting SDIS, the FIFO threshold can be increased such that more data will be
in the FIFO before a packet transmit is started. This increases the tolerance to bus latency
and avoid FIFO under run. The Threshold can be increased by using higher values for the
TXTHRESHOLD filed in the TXFILLTUNING register. The default value is 2 bursts (64 bytes
if burst size=8).
Also, please look at the following :
Lock up of USB EHCI controller in i.MX28
Have a great day,
Yuri
------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer
button. Thank you!