Other Parts Discussed in Thread: TPS65981, HD3SS3212
I am debugging some custom H/W with the TUSB8041.
SETUP
UFP (USB3.x): Connected to a Samsung Tablet via Type-C Cable (There is a SS-MUX in the signal path)
DFP (USB3.x): One channel is connected to a USB3.x Type-A Receptacle
The custom H/W also implements USB-PD with TPS65981 - which watches CC lines and controls the MUX and VBUS (Can only be 0V~5V)
The TUSB8041 watches the Type-C VBUS rail with USB_VBUS (91k resistor to VBUS)
The TUSB8041 controls a Power Switch (TPS25221DBVR).
Teledyne Advisor T3 Analyzer is connected between the TUSB8041's DFP (Type-A Receptacle) and a USB Flash Drive.
ISSUE
BOOTUP(USB3) - GOOD:
When Tablet and Custom H/W are powered together (or Custom H/W is powered first) - the result is USB3 enumeration every time.
The TUSB8041 enables power to DFP (VBUS "ON")
The TUSB8041 presents termination for Rx.Detect
After ~90ms, the USB Flash Drive presents termination, and they both move to LFPS.Polling and eventually to U0
HOTPLUG(USB2) - BAD
But when the Tablet is powered first, or the custom H/W is power-cycled, the next and subsequent enumerations are always USB2.
The TUSB8041 toggles Termination first - TERM ON then TERM OFF.
With TERM OFF, it will enable VBUS, then cycle VBUS...
The USB Flash drive sees VBUS and presents termination, but the TUSB8041 Termination is OFF, so USB3 Enumeration fails, and we fallback to USB2.
Do you have any ideas on why TUSB8041 is not enabling termination and VBUS at the same time?
Log for BOOTUP (Good)
Log for HOTPLUG (Bad)
Regards,
Darren