Hi All,
we are porting the imx_3.14.28_1.0.0_ga kernel on a custom board based on a imx6dl processor.
On our board we connected the USB2 HSIC port to a microchip USB3503 HSIC HUB.
We attached our device tree.
The kernel hangs during the probe of usbhc2 inside the ci_hdrc_imx_probe.
Using kgdb we found that the exact point is the call of device_add:
ci_hdrc_imx_probe -> ci_hdrc_imx_probe -> ci_hdrc_add_device -> platform_device_add -> device_add
Do you have any suggestions?
Best Regards
Andrea
Original Attachment has been moved to: devicetree.dts.zip
Solved! Go to Solution.
Hello Andrea,
I have had the similar problem described by you. I was able to fix this issue with following changes.
Please review your changes against patch mentioned here. Re: imx6: usbhc2/3 and HSIC — ARM, OMAP, Xscale Linux Kernel
Changes in /drivers/usb/chipidea/usbmisc_imx.c are important to fix this hang issue.
It helped me resolve my hang issue. I hope it helps you as well.
Thanks,
Sagar
Hello Andrea,
I have had the similar problem described by you. I was able to fix this issue with following changes.
Please review your changes against patch mentioned here. Re: imx6: usbhc2/3 and HSIC — ARM, OMAP, Xscale Linux Kernel
Changes in /drivers/usb/chipidea/usbmisc_imx.c are important to fix this hang issue.
It helped me resolve my hang issue. I hope it helps you as well.
Thanks,
Sagar
Thank you very much Sagar.
It worked!
You are right the most important part is the patch inside /drivers/usb/chipidea/usbmisc_imx.c
+ if (usbdev->index == 2 || usbdev->index == 3) {
+ writel(0x00003000, usbmisc->base + usbdev->index * 4);
+ writel(0x80001842, usbmisc->base + 0x8 + usbdev->index * 4);
+ }
that enables the HSIC clock and HW and write also in reserved control bits...
Thank you again.
Hi Andrea,
HSIC is supported in i.MX6 BSPs; please refer to attached i.MX6 Linux Reference Manual
Chapter 34 "ARC USB Driver" and <usb_hsic_xcvr.c> “HSIC featured phy's interface”.
Additionally, please take a look at the following thread which has related information:
Hope this will be useful for you.
Best regards!
/Carlos
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------