Hi everyone,
We have the following Problem:
We are using the TUSB7340, together with an other USB controller and switch the USB lines between these two controllers. The other USB Controller is a USB2.0 only Controller from a CPU. The RX USB3.0 lines of the USB Port are switched to avoid that a USB3.0 device could be found at both USB Controllers at the same time, but the SSTX USB3.0 lines are connected to the TUSB7340 directly. The following diagram shows an overview of the connections:
My question is:
Could it be possible, that the TUSB7340 gets confused if an USB3.0 device is connect with its USB2.0 lines to other USB Controller but is still connected with its SSTX USB3.0 lines to the TUSB7340?
We have tested several combinations and it seems, that if an USB3.0 device is connected durring the switching process from USB2.0 of the CPU to the USB3.0 lines of the TUSB7340 the Link stucks in the Compliance Mode and the device is not found:
Fail case with USB3.0 stick:
PORTSC = > 0x0e000340
0x0e 0x00 0x03 0x40
00001110 | 00000000 | 00000011 | 01000000
-> PLS = 10 => Link is in the Compliance Mode State
-> PP = 1 => This port is not in ther Powered-off state
-> WCE = 1 => sensitive to device connects as system wake-up events
-> WDE = 1 => sensitive to device disconnects as system wake-up events
-> WOE = 1 => sensitive to over-current conditions as system wake-up events
When the TUSB7340 is in this state, no USB device will be detected again, no matter how the switches are set. Only a driver reset or a power cycle gets the TUSB7340 back to the default state:
PORTSC = > 0x0e0002A0
0x0e 0x00 0x02 0xA0
00001110 | 00000000 | 00000010 | 10100000
-> PLS = 5 => RxDetect
-> PP = 1 => This port is not in ther Powered-off state
-> WCE = 1 => sensitive to device connects as system wake-up events
-> WDE = 1 => sensitive to device disconnects as system wake-up events
-> WOE = 1 => sensitive to over-current conditions as system wake-up events
If the USB 3.0 stick is pull out and plug in again, it will be found as USB3.0 device.
Note:
After each switching process the USB device gets a power on/off cycle of about 4 seconds, to simulate plug in/off.
Regards,
Andreas