Other Parts Discussed in Thread: TUSB320, TUSB320EVM
Hi.
Working on a new design with USB-C and TUSB320 to detect attachment, orientation and current capability.
When configured as an upstream facing port (UFP), the TUSB320 assets an attachment state (register 9, bits 7:6 = 10, ATTACHED_STATE=Attached.SNK) upon the detection of VBUS, before CC connects, and therefore reports false plug orientation and current capability.
GND and VBUS pins in a USB-C receptacles are slightly longer so that they mate before the other (signal) pins. Since USBC connectors offer some resistance to insertion/removal, there is a delay between the connection of VBUS/GND (longer pins) and the connection of CC1/CC2.
The USB-C attached state (Attached.SNK in the case of an UFP) should only be reached by detection of correct levels at the CC1/CC2 pins. VBUS it not a sufficient condition on its own to detect cable attachment.
In our application the device uses USB-C for high current charging and USB2.0 communication. So a common use case is connection using a (USB-C spec compliant) USB2.0 A -> USB-C adapter cable. For USB2.0 support over USB-C a mux is required to route the USB2.0 signals from the top or bottom row of connection on the USB-C receptacle, depending on which way the cable is inserted.
However, the TUSB320 generates an attached event upon connection of VBUS, *before* CC1/CC2 are connected. ie: The TUSB320 determines cable orientation and current capability based on open circuit CC1/CC2 connections. ie: wrong.
I strongly inclined to not assume a silicon defect, but I have tested this any number of ways and always come back the the same fundamental problem, that attachment must not be reported without CC connection. Yes the TUSB320 does this, and consequently produces unreliable data.
Any help or guidance would be very much appreciated.
Yours
Andy