Hi,
I am having custom board with imx6qp and TI TUSB7320 USB3.0 controller connected on PCIe. The USB controller is getting listed with lspci command. Also after enabling xHCI driver, two usb 3.0 root hubs are also seen with lsusb command.
But when i connect usb device on USB3.0 ports, the enumeration fails with error -71. I am using linux kernel 3.14.52.
Following is output of lspci command--
root~# lspci
00:00.0 PCI bridge: Synopsys, Inc. Device abcd (rev 01)
01:00.0 USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller (rev 02)
Following is the output of lsusb command--
root~# lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Following is the error when i plug in usb device into usb 3.0 ports---
root~# usb 3-2: device no response, device descriptor read/64, error -71
xhci_hcd 0000:01:00.0: Setup ERROR: setup context command for slot 1.
usb 3-2: device no response, device descriptor read/64, error -71
xhci_hcd 0000:01:00.0: Setup ERROR: setup context command for slot 1.
usb 3-2: device not accepting address 4, error -71
usb 3-2: device not accepting address 5, error -71
hub 3-0:1.0: unable to enumerate USB device on port 2
Does anybody have any idea why USB3.0 enumeration is failing with error -71?
Hi Pratham Rahte,
We have a custom board with imx7d and TI TUSB7320 USB3.0 controller connected on PCIe. But the USB controller is not getting listed with lspci command. We are using linux kernel version 4.9.11.
We also enabled xHCI driver in kernel.
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=y
The lsusb command gives us the following result,
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
We checked that "PERST#" is correctly set HIGH after boot. But we couldn't able to list the usb controller using lspci command.
The PCI related messages shows that the pci phy link is not coming up as shown below,
root@esomimx7d-2gb:~# dmesg | grep -i pci
[ 0.354728] PCI: CLS 0 bytes, default 64
[ 0.537069] OF: PCI: host bridge /soc/pcie@0x33800000 ranges:
[ 0.537089] OF: PCI: No bus range found for /soc/pcie@0x33800000, using [bus 00-ff]
[ 0.537115] OF: PCI: IO 0x4ff80000..0x4ff8ffff -> 0x00000000
[ 0.537133] OF: PCI: MEM 0x40000000..0x4fefffff -> 0x40000000
[ 0.782661] imx6q-pcie 33800000.pcie: phy link never came up
[ 0.782675] imx6q-pcie 33800000.pcie: Link never came up
[ 0.785791] imx6q-pcie 33800000.pcie: failed to initialize host
[ 0.785983] imx6q-pcie: probe of 33800000.pcie failed with error -110
[ 1.839461] ehci-pci: EHCI PCI platform driver
Is there anything, both in hardware and software do we need to make sure. Kindly give us your thoughts regarding this issue.
Thanks,
Koil Arul Raj.S
Hi,
can try at u-boot level, to see if you are able to detect usb controller on PCIe.Also did you enable PCIe drivers correctly, If i remember correctly, there is option to select mode, like controller is in RC mode or something. I am not able to recollect correctly. You need to select proper option while enabling PCIe drivers. Just do menuconfig and check on it.
Thanks,Pratham
On Thursday, June 6, 2019, 8:07:44 PM GMT+5:30, Koil Arul Raj <admin@community.nxp.com> wrote:
#yiv7183220934 * #yiv7183220934 a #yiv7183220934 body {font-family:Helvetica, Arial, sans-serif;}#yiv7183220934 #yiv7183220934 h1, #yiv7183220934 h2, #yiv7183220934 h3, #yiv7183220934 h4, #yiv7183220934 h5, #yiv7183220934 h6, #yiv7183220934 p, #yiv7183220934 hr {}#yiv7183220934 .yiv7183220934button td {}
|
NXP Community |
|
You have been mentioned
by Koil Arul Raj in Re: USB3.0 Not working with imx6qp in NXP Community - View Koil Arul Raj's reference to you
Hi Pratham Rahte,
We have a custom board with imx7d and TI TUSB7320 USB3.0 controller connected on PCIe. But the USB controller is not getting listed with lspci command. We are using linux kernel version 4.9.11.
We also enabled xHCI driver in kernel.
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PLATFORM=y
We checked that "PERST#" is correctly set HIGH after boot. But we couldn't able to list the usb controller using lspci command.
The PCI related messages shows that the pci phy link is not coming up as shown below,
root@esomimx7d-2gb:~# dmesg | grep -i pci
PCI: CLS 0 bytes, default 64
OF: PCI: host bridge /soc/pcie@0x33800000 ranges:
OF: PCI: No bus range found for /soc/pcie@0x33800000, using
OF: PCI: IO 0x4ff80000..0x4ff8ffff -> 0x00000000
OF: PCI: MEM 0x40000000..0x4fefffff -> 0x40000000
imx6q-pcie 33800000.pcie: phy link never came up
imx6q-pcie 33800000.pcie: Link never came up
imx6q-pcie 33800000.pcie: failed to initialize host
imx6q-pcie: probe of 33800000.pcie failed with error -110
ehci-pci: EHCI PCI platform driver
Is there anything, both in hardware and software do we need to make sure. Kindly give us your thoughts regarding this issue.
Thanks,
Koil Arul Raj.S
Participate in the conversation by replying to this email |
This email was sent by NXP Community because you are a registered user.
You may unsubscribe instantly from NXP Community, or adjust email frequency in your email preferences
Hi Pratham Rahte,
Thanks for your time and reply. Just now I got time to check the points mentioned by you.
I couldn't test PCI in u-boot level, since the support for iMX7D PCI support is not yet added. The PCI support inclusion in uboot throws lot of errors. I fixed the errors and tried to scan the pci bus for devices. It couldn't find the PCI bus and displays the error message "No such bus".
Also I tried RC and EP mode separately in Kernel by enabling it in the configuration. For both the modes, we experienced the same PCI card not listed error as described above.
We suspect, the chip power up sequence is not happening correctly with iMX7. Is there any initialization sequence needs to be added for TI TUSB7320 USB3.0 controller. Do you have any such codes related to it?
Thanks,
Koil Arul Raj.S
Hi,
I am able to solve this issue. The issue is with the crystal we are using. we changed it and it is able to enumerate the USB3.0 devices.
Thanks,
Prathamesh
Hi Pratham
could you try latest 4.x kernels on
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thanks for the reply. I have tried with kernel 4.1.15. But still the same issue.
Getting following error:
root~# usb 3-2: device no response, device descriptor read/64, error -71
usb 3-2: device no response, device descriptor read/64, error -71
usb 3-2: device no response, device descriptor read/64, error -71
usb 3-2: device no response, device descriptor read/64, error -71
usb 3-2: device not accepting address 4, error -71
usb 3-2: device not accepting address 5, error -71
usb usb3-port2: unable to enumerate USB device
Thanks,
Prathamesh
Hi Prathamesh
is this PCIe controller works fine on PC ?
Best regards
igor
Hi Igor,
I have not checked it on any PC. TI provides evaluation module with TUSB7320. But I dont have it with me.
Thanks,
Prathamesh
Hi Prathamesh
one can ask ti for updated driver for TUSB7320
Best regards
igor