How to get MX6 USB host 2 working?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to get MX6 USB host 2 working?

Jump to solution
1,712 Views
yan2
Contributor II

Hi All,

I am looking for any help with USB host 2 of the i.MX6DL.

While USB host 1 and USB OTG both work fine, it seems that USB hosts 2 and 3 are not supported by mainline linux kernel (4.9.20 or newer). Here's what I get:

[    1.913802] imx_usb: probe of 2184400.usb failed with error -22

I've found several threads with patches that could help, but most of them are very old (pre device tree).

One problem are the missing accesses to the non core usb registers, so I've tried to add them in usbmisc_imx6q_init of usbmisc_imx.c.

But as long as probing fails I don't get there.

Any idea where I can find information beyond what is easy to find?

Thanks,

Michael

Labels (1)
0 Kudos
1 Solution
1,231 Views
igorpadykov
NXP Employee
NXP Employee

Hi Michael

one can follow usb device tree documentation

imx_4.9.11_1.0.0_ga/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt

linux-imx.git - i.MX Linux Kernel 

usbh2 example in linux/arch/arm/boot/dts/imx6q-arm2-hsic.dts

linux-imx.git - i.MX Linux Kernel 

and debug it in drivers/usb/chipidea/ci_hdrc_imx.c

Best regards
igor

View solution in original post

0 Kudos
4 Replies
1,231 Views
yan2
Contributor II

Hi Igor,

USB driver files in

linux-imx.git - i.MX Linux Kernel 

are different from those in current BSP!

I'll give it a try.

Thanks,
Michael

0 Kudos
1,231 Views
yan2
Contributor II

Hi Igor,

Thanks for your response.

The thread

imx6: usbhc2/3 and HSIC 

is the one I've tried to reproduce as far as possible. But it is for 3.10, and if you follow it, they didn't succeed...

I've checked NXP's current BSP (4.9.11) also, but it seems to me that USB host 2 and 3 are not supported there too. At least I can't find the accesses to the non core usb registers, and without the activation of the clocks host 2 and 3 won't work.

Any other idea?

Best Regards,

Michael

0 Kudos
1,232 Views
igorpadykov
NXP Employee
NXP Employee

Hi Michael

one can follow usb device tree documentation

imx_4.9.11_1.0.0_ga/Documentation/devicetree/bindings/usb/ci-hdrc-usb2.txt

linux-imx.git - i.MX Linux Kernel 

usbh2 example in linux/arch/arm/boot/dts/imx6q-arm2-hsic.dts

linux-imx.git - i.MX Linux Kernel 

and debug it in drivers/usb/chipidea/ci_hdrc_imx.c

Best regards
igor

0 Kudos
1,231 Views
igorpadykov
NXP Employee
NXP Employee

Hi Michael

one can look on

imx6: usbhc2/3 and HSIC 

and NXP BSPs described on

https://www.nxp.com/support/developer-resources/run-time-software/i.mx-developer-resources/i.mx-6ser...

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

0 Kudos