Issue connecting USB HUB in a custom PCB

Hello everybody,

We developed an carrier board based on the Verdim SoM family and it has a Microchip USB2514 (USB 2.0 high speed controller 4-port hub controller) connected directly to our imx8mm.

Our issue is as follows: sometimes, when starting Torizon OS, the HUB and all subsequent USB devices are correctly enumerated. However, upon subsequent reboots, there are two scenarios.

  1. Linux not enumerating the hub, identifying it as 0000:0000, but it does enumerate the USB devices subsequently.

  2. The USB hub is not recognized, and therefore, the other devices are not recognized.

I’ll add the logs for dmesg and journalctl for the three scenarios, along with a diagram of our connection with the HUB.

USB.pdf (445.8 KB)
usb_logs.zip (130.6 KB)

Hi,

Unused downstream port should be “To disable, use a 10 k pull-up resistor to 3.3 V.”

Are CFG_SELx pins pulled high or low is not specified in datasheet! You leave them unconnected, so it’s no wonder one time it boots well, another one it fails. From datasheet: “To put the hub in the default configuration, strap CFG_SEL[1:0] to 00b.”

1 Like

Hi @Isaga ,

Are you still facing this issue? If yes, can you please describe better what is the frequency that this issue occurs?

I took a look at the logs you sent and the below log might be the issue:

[   16.542399] usb 1-1.2: new config #1 exceeds power limit by 400mA
[   16.679670] usb 1-1.2: reset high-speed USB device number 3 using ci_hdrc

I think you are doing all these tests with some peripherals connected to the USB, if you boot the module without any device connected, the issue still happens?

Best regards,
Daniel Morais