Colibri IMX6S V1.0A / Col Eval V2.1c USB problem

Hello,

I’m using Linux under my Colibri board (IMX6S V1.0A) which is plugged in my Col Eval (V2.1c) board.
The linux is built with the config called colibri_imx6 and the DTS called imx6dl-colibri-eval-v3.
My V2.1c Col Eval has only 2 USB plugs while the V3 embeds an USB hub and provides 4 USB plugs.

While plugging a keyboard, the following messages are displayed and everything works fine:

[   15.653781] usb 1-1: new low-speed USB device number 2 using ci_hdrc
[   15.832853] input: DELL Dell USB Entry Keyboard as /devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.0/usb1/1-1/1-1:1.0/0003:413C:2107.0001/input/input2
[   15.914459] hid-generic 0003:413C:2107.0001: input,hidraw0: USB HID v1.11 Keyboard [DELL Dell USB Entry Keyboard] on usb-ci_hdrc.0-1/input0

But, when I plug a USB key, or even an external USB hub, the following messages are displayed with errors:

[    2.933735] usb 2-1: device no response, device descriptor read/64, error -71
[    3.173779] usb 2-1: device no response, device descriptor read/64, error -71
[    3.413781] usb 2-1: new high-speed USB device number 3 using ci_hdrc
[    3.553751] usb 2-1: device no response, device descriptor read/64, error -71
[    3.803768] usb 2-1: device no response, device descriptor read/64, error -71
[    4.043808] usb 2-1: new high-speed USB device number 4 using ci_hdrc
[    4.473772] usb 2-1: device not accepting address 4, error -71
[    4.603770] usb 2-1: new high-speed USB device number 5 using ci_hdrc
[    5.033768] usb 2-1: device not accepting address 5, error -71
[    5.043828] usb usb2-port1: unable to enumerate USB device

Is that related to an error in the DTS file used or something else?

Regards,

Léo

This is probably due to the fact that the Colibri Evaluation board V2.1C not being high-speed USB 2.0 capable as outlined in the following article on our developer website.

Hello back,

You’re right, the problem was that than the Colibri iMX6S V1.0A supports USB high speed (2.0), and the provided Linux too, while the old Col Eval V2.1c is designed for USB full speed (1.1) max.

The solution, which is not perfect and can damage the board, is to remove D10, D146 and C145 on the board. The upper USB port will work (not tested with the lower USB port since I’m not sure that than the jumpers can support 480MHz).

Warning: with this changes, the board is sensible to ESD on the USB port, wo it have to be manipulated with care.

Thanks,

Léo

You may also limit the speed via the maximum-speed device tree property as explained here.