USB3.0 Not working with imx6qp

cancel
Showing results for 
Search instead for 
Did you mean: 

USB3.0 Not working with imx6qp

1,163 Views
prathamrahate
Contributor III

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? 

Labels (3)
Tags (3)
0 Kudos
9 Replies

417 Views
koilarulraj
Contributor II

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

0 Kudos

417 Views
prathamrahate
Contributor III

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

0 Kudos

417 Views
koilarulraj
Contributor II

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

0 Kudos

417 Views
prathamrahate
Contributor III

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

0 Kudos

417 Views
igorpadykov
NXP TechSupport
NXP TechSupport

Hi Pratham

could you try latest 4.x kernels on

http://www.nxp.com/products/software-and-tools/software-development-tools/i.mx-software-and-tools/i....

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

417 Views
prathamrahate
Contributor III

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

0 Kudos

417 Views
igorpadykov
NXP TechSupport
NXP TechSupport

Hi Prathamesh

is this PCIe controller works fine on PC ?

Best regards
igor

0 Kudos

417 Views
prathamrahate
Contributor III

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 

0 Kudos

417 Views
igorpadykov
NXP TechSupport
NXP TechSupport

Hi Prathamesh

 

one can ask ti for updated driver for TUSB7320

 

Best regards
igor

0 Kudos