imx7ulp USB HSIC

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

imx7ulp USB HSIC

1,976 Views
guillaume-enlaps
Contributor I

Hello

I try to make 2nd USB host (HSIC) of imx7ulp-evkb work with EVB-USB4640 (from microchip).

I try device tree and kernel config modification based on this discussions :

Software :
- Base : BSP Linux 5.10.52_2.1.0
- Devicetree modification :  add 2nd USB host with both path attached
- Kernel config modification, add : CONFIG_PINCTRL_SINGLE=y

Resuslts :

1) If a hub is connected on 1st USB, I have following error message from kernel :

ci_hdrc ci_hdrc.1: port 1 reset error -110
usb 2-1: device no response, device descriptor read/64, error -71

But both USB host is declared :

lsusb --tree --verbose
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ci_hdrc/1p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
        ID 2109:2813 VIA Labs, Inc. VL813 Hub
        |__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=ax88179_178a, 480M
            ID 0b95:1790 ASIX Electronics Corp. AX88179 Gigabit Ethernet

 

2) If nothing is connected on 1st USB, I got a kernel panic :

The origin of kernel panic is in function 'hw_phymode_configure'.

This line : core.c#L297 

hw_write(ci, OP_PORTSC, PORTSC_PTS(7) | PORTSC_PTW, portsc);

 

Any help/idea ?

__

Regards

Labels (1)
0 Kudos
Reply
5 Replies

1,929 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @guillaume-enlaps ,

>>is it an hardware or a software issue ?

Due to hardware limitation, if enable HSIC, USB OTG1 can't be used. so you will have to enable HSIC after downloading image through USB OTG1 is done. Then you will only have HSIC USB ports for your host application.

Have a good day!

Regards,

weidong

0 Kudos
Reply

1,914 Views
guillaume-enlaps
Contributor I

Hello,

Thanks again for your answer.

1) Using your path, I still have some error when booting on USB HSIC :

device no response, device descriptor read/64, error -71

Maybe it's just hardware (HSIC wire) issue...
But no more kernel panic when nothings is plug on 1st USB (no HUB...).
I'm going to continue to do some test.

2) About your response, and to be sure I well understood, you are saying that this king of configuration is not possible :
=> Reading from a device plugged on USB1HOST and writing to a device plugged on USB2HOST at the same time ?
A simple diagram to make sure that my question is clear :

imx7ulp - 2 USB HOST.png

Regards,
__
Guillaume



0 Kudos
Reply

1,897 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @guillaume-enlaps ,

 

We have ever spent much more time in debugging HSIC on i.MX7ULP for a customer from India , who also used HSIC EVK board. we also borrowed HSIC EVK board from microchip for the debugging purpose.

In the end, we found USB OTG1 clock would lose as soon as HSIC(USB OTG2) was enabled, which means USB OTG1 can't be used at the time, so any way, whether it is device or host , it can't work.

So for your application, you had better choose a HSIC HUB with 4 ports, which can ensure USB HOST Ports is enough for your application.

 

Have a good day!

Regards,

weidong

 

0 Kudos
Reply

1,938 Views
guillaume-enlaps
Contributor I

Hello,

Thank you for the answer and the patch.

I'm trying to make it work (in progress).

Any way, I have some question about what you explained :
* Can I have both USBHOST (1&2) working at the same time ?
If no, is it an hardware or a software issue ?
* Why in the devicetree patch you provide, the 2nd USB (usbh) use the clock of 1st USB ?

clocks = <&clks IMX7ULP_CLK_USB0>;

Thanks again !

Regards,

Guillaume

0 Kudos
Reply

1,967 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello @guillaume-enlaps 

 

Attachment is a patch that i.mx expert design, which is used for I.MX7ULP HSIC, BUT if enabling USB HSIC, USB OTG1 can't be used.  It means USB OTG1 and HSIC can't work at the same time, so you should eable USB HSIC after using USB OTG1.

the patch is for linux 4.14.98 kernel. you can try to add it to the bsp version you are using.

 

Have a good day!

Regards,

weidong

 

0 Kudos
Reply