USB Device Detection Regression on X8 Bottom Port After Moving from Kirkstone to Scarthgap (Apalis iMX8QP + Ixora)

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


USB Configuration on Ixora Carrier Board

Based on the Ixora V1.2 and V1.3 datasheets, I can confirm your understanding of the hardware configuration. The X8 connector is a stacked USB 3.0 Type-A connector where:

  • X8 Top (U1-U9): Connected to USBH4 interface (USB 3.0 SuperSpeed) (1)(2)
  • X8 Bottom (L1-L9): Connected to USBO1 interface (USB 2.0 High Speed shared with OTG) (1)(2)

Hardware Configuration Details

The Ixora V1.2 datasheet confirms that the bottom part of connector X8 uses the USBO1 interface, which can be controlled via jumper JP2 (2):

  • JP2 Open: X8 bottom is not powered, X9 (Micro-AB) is used as OTG
  • JP2 Closed: Both X8 bottom and X9 are configured as HOST only

LED3 indicates when VCC_USBO1 voltage is enabled, confirming the bottom port is powered (2).

BSP Version Information

According to the BSP documentation, there are significant differences between the versions you’re using (3):

  • Kirkstone (BSP 6.0): Based on Yocto Project 4.0 LTS
  • Scarthgap (BSP 7.0): Based on Yocto Project 5.0 LTS

Assembly Options Consideration

The Ixora datasheets document assembly options that affect USB routing. By default, the configuration connects (1)(2):

  • USBH3 interface to USB Host connector (X7)
  • USBH2 interface to Mini PCIe Connector (X25)

However, assembly resistors can be modified to change this routing. The specific resistors mentioned are R96, R103, R118, R119 and R50, R69, R120, R126 (1)(2).

Potential Investigation Areas

Given that this is a regression from Kirkstone to Scarthgap on the same hardware, the issue is likely related to:

  1. Device Tree Changes: USB controller or hub initialization differences between BSP versions
  2. Power Management: Changes in USB power control between kernel versions
  3. Driver Updates: USB subsystem changes in the newer BSP

The fact that you observe this specifically with certain hardware combinations suggests it might be related to timing or initialization sequences that changed between the BSP versions.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.