Champs,
Customer reported the following issue on custom AM571x based board: they use USB in SS mode as a device. Upon first connection to a PC the board connects and enumerates successfully and communicates with the host in SuperSpeed mode.
Upon cable disconnect the board does not detect the disconnect and no disconnect sound produced by the PC. When the cable is re-connected the board does not detect the connection and communication link isn't established. Upon second cable disconnect it is detected both on the board and the PC. Upon second connect the link is established and the board communicates successfully with the PC. the pattern repeats itself upon subsequent connects/disconnects.
The SuperSpeed link state of the Linux dwc3 USB driver during this sequence of cable disconnects/reconnects is as follows:
Cable status SS Link State
Connected U2
Disconnected U2 (no disconnect event is generated on our board)
Connected SS.Inactive
Disconnected U3 (disconnect event is generated on our board)
Connected U2 (connect event is generated and communication is reestablished)
The issue seems to be that the first disconnect is not causing the link to go from SS U2 to SS.Inactive.
That transition occurs only when the cable is reconnected.
This only occurs when using USB3 cable and the link is SS. When using USB 2.0 cable there is no issue: all connects and disconnects are properly detected.
Is this a known issue? What could have caused this?
ANy insights will be greatly appreciated
thanks
Michael