Other Parts Discussed in Thread: TUSB7340, , TUSB8041
Tool/software: Linux
We are developing a product based on the TI AM5728 EVM. The product utilizes a TUSB7340 PCIe USB for additional USB ports. The TUSB7340 is detected and setup properly and works OK with low data rate devices. However, hot plugging a Realtek USB network adapter and doing Ethernet transfer bandwidth testing using iperf3 causes the host to be locked out. The TUSB7340 host appears to no longer communicate and the logging indicates xhci_hcd 0000:01:00.0: HC died; cleaning up.
We tried to setup a test on the TI AM5728 EVM using the TI TUSB7340 EVM and a PCIe adapter cable, but were not able to get a stable PCIe bus even with GEN1 speeds and were unable to replicate the test.
So we looked at using another host and found a mini PCIe card that utilizes the µPD720201 and can be directly installed to the LCD on the EVM. The card is detected properly and we reran the transfer test. The uPD720201 gets locks out with the same problem.
The AM5728 testing was performed using the stock am57xx-evm-linux-04.00.00.04.img on the SD card, kernel am57xx-evm 4.9.28-geed43d1050, and it reports that it is using the TI AM572x EVM Rev A3 Device tree.
It shows the following logging when it fails.
[ 630.400899] xhci_hcd 0000:01:00.0: xHCI host not responding to stop endpoint command.
[ 630.408769] xhci_hcd 0000:01:00.0: Assuming host is dying, halting host.
[ 630.420849] r8152 2-4:1.0 enp1s0u4: Tx status -108
[ 630.425667] r8152 2-4:1.0 enp1s0u4: Tx status -108
[ 630.430483] r8152 2-4:1.0 enp1s0u4: Tx status -108
[ 630.435297] r8152 2-4:1.0 enp1s0u4: Tx status -108
[ 630.440122] xhci_hcd 0000:01:00.0: HC died; cleaning up
[ 630.453961] usb 2-4: USB disconnect, device number 2
The problem appears to be a general driver issue given we get the same problem with both the TUSB7340 and the µPD720201.
Any suggestions on how we can address this problem?
Thanks!