I am working on a custom i.MX95 board running Linux 6.12 (Yocto-based). I am facing a suspend-to-RAM (deep sleep) failure related to the USB3 host controller. When executing echo mem > /sys/power/state, the system aborts suspend with xhci-hcd: WARN: xHC CMD_RUN timeout followed by PM: failed to suspend async: error -110. The issue occurs consistently when USB host mode is enabled, even with no active USB traffic. I am using a fixed 5V VBUS regulator controlled by a GPIO, and the USB3 controller, PHY, clocks, and power-domains are defined in the DTS (attached). My requirement is to fully power off USB VBUS during low power mode while allowing the system to enter deep sleep successfully. I have attached the full suspend/resume dmesg logs and the relevant USB-related DTS nodes for reference. I would like guidance on the correct DTS and/or driver-side handling required to avoid the xHCI suspend timeout on i.MX95.
In custom board iam using fusb302 but not enabled as usb3.0 , we are using it as usb2.0 .
but when entering into deep sleep ( echo mem > /sys/power/state ) The error is occuring in xhci-hcd driver.
Test Setup:
• SoC: i.MX95
• OS: Yocto Linux (kernel 6.x, NXP BSP)
• USB Mode: Host (xHCI, USB3)
• Connected Device: USB flash drive (Mass Storage)
Boot the board normally.
Connect a USB storage device to the USB3 host port.
Verify enumeration using lsusb and confirm device is accessible.
Enter low power mode using:
echo mem > /sys/power/state
After this step itself it is showing error.
Resume the system using the configured wake-up source (power button/ GPIO).
After resume, observe that the USB device either:
is not detected, or
shows xHCI / DWC3 related errors in dmesg, or
requires USB re-plug to work again.
ERROR LOGS :
echo mem > /sys/power/state
[ 117.057281] PM: suspend entry (deep)
[ 117.066009] Filesystems sync: 0.005 seconds
[ 117.071209] Freezing user space processes
[ 117.076800] Freezing user space processes completed (elapsed 0.001 seconds)
[ 117.083781] OOM killer disabled.
[ 117.087011] Freezing remaining freezable tasks
[ 117.132725] Freezing remaining freezable tasks completed (elapsed 0.041 seconds)
[ 117.140164] printk: Suspending console(s) (use no_console_suspend to debug)
[ 117.156868] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[ 117.267552] xhci-hcd xhci-hcd.2.auto: WARN: xHC CMD_RUN timeout
[ 117.267611] xhci-hcd xhci-hcd.2.auto: PM: dpm_run_callback(): platform_pm_suspend returns -110
[ 117.267631] xhci-hcd xhci-hcd.2.auto: PM: failed to suspend async: error -110
[ 117.267702] PM: Some devices failed to suspend, or early wake event detected
[ 117.268017] hub 1-0:1.0: hub_ext_port_status failed (err = -108)
[ 117.268044] usb usb1-port1: cannot disable (err = -108)
[ 117.516365] PM: resume devices took 0.248 seconds
[ 117.570639] OOM killer enabled.
[ 117.573777] Restarting tasks ... done.
[ 117.575261] sd 0:0:0:0: [sda] Test Unit Ready failed: Result: hostbyte=0x01 driverbyte=DRIVER_OK
[ 117.578423] random: crng reseeded on system resumption
[ 117.587117] sda: detected capacity change from 120164352 to 0
[ 117.598136] PM: suspend exit
-sh: echo: write error: Connection timed out
Could you share us the details steps, that we can reporcuce it on our EVK Board? Thanks
Hi @kannappan ,
OK, we are going to have the New Year's Day holiday. when I back to office I will try it on our board and then give your reply.
Wish you have a nice day
Best Regards
Rita
Hi @kannappan ,
Sorry for too busy this week, I will test it for you next week and share the result to you.
Wish you have a nice day
Best Regards
Rita
HI @Rita_Wang ,
Is there any reply for the above issue.
Best Regards
Kannappan