Hello Experts,
We have a Custom ARM based Board and Cadence USB 3.0 Host controller interfaced with SuperSpeed 5 Gbps USB 3.0 Transceiver with PIPE and ULPI Interfaces (TUSB1310A).
Linux 3.18.44 OS from main line kernel is the OS the board is running on. As per Cadence Release notes the USB3.0 driver from mainline kernel(3.18.44) works fine and they have tested it too.
The driver for the Cadence 3.0 USB controller is drivers/usb/host/xhci*.c files. There is no TI Phy driver.
The Following is our observation:
Both the USB 3.0 and USB 2.0 internal ports are getting listed on the dmesg:
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.745233] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.749956] usb usb1: Product: xHCI Host Controller
....
1.874716] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[ 1.874726] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.874737] usb usb2: Product: xHCI Host Controller
Following are the discrepancies we are seeing on USB3.0 related to TI phy.
When we plug USB 2.0 devices to the port all the devices are getting enumerated and working without any issues.
But when we connect USB3.0 devices none of the device are getting enumerated as USB3.0 device. And USB3 PORT status is always in Polling state. It do not enters in Connect state.
Please let us know what may be going wrong related to USB3.0 PIPE interface. If you require any other information please let us know.
Thanks,
Firdosh