
ERR004534
Chip Errata for the i.MX 6Dual/6Quad and i.MX 6DualPlus/6QuadPlus, Rev. 6.1, 06/2016
212
NXP Semiconductors
Description:
When the IC works as a USB host and one High Speed device is connected, software can put it into
Suspend mode and it can wake up by a Host Resume or a remote wakeup.
The UTM block drives FS-K during resume and drives SE0 as the end of the resume. Meanwhile
UTM bypasses the DP/DN lines to USB controller. Once the controller detects the SE0, it will
switches to High Speed. Once UTM detects it switches to High Speed, it will stop driving SE0.
After that, the controller starts to send SOF through UTM.
If the controller sends the SOF too fast, while the external device might still be in Full Speed mode,
the SOF signal level will be 800mV which will be recognized as a High Speed disconnection.
The USB controller may send the SOF packet during that period, but according to USB2.0 spec,
DP/DN should keep in IDLE (SE0 state) for 1.333
μ
s after resume to avoid this issue (the device
must switch to High Speed in 1.333
μ
s).
Projected Impact:
HS disconnection after resume with some devices.
Workarounds:
The UTM block has a configurable bit (HW_USBPHY_CTRL.ENHOSTDISCONDETECT) to
enable/disable the High Speed disconnection detection circuit. This bit should be used to disable
this in Suspend, and enable after resume.
Proposed Solution:
No fix scheduled
Linux BSP Solution:
Software workaround implemented in BSP version L3.0.35_4.1.0.
ERR004534
USB: Wrong HS disconnection may be generated after resume