Hi NXP Team,
I am working on a custom product based on i.MX8M Plus (i.MX8MP) using Yocto Linux and BusyBox userspace.
Current hardware configuration:
- i.MX8MP
- LA9410 connected through PCIe
- LTE modem (u-blox LARA-L6) connected through USB
- MIPI CSI camera connected to i.MX8MP
- Yocto BSP based Linux
- BusyBox rootfs
Project requirement:
We need to implement low power operation with:
- Low latency wakeup
- Fast resume back to normal operation
- PCIe and USB subsystem stability after resume
- Camera pipeline recovery after wakeup
- LTE modem reconnect/resume support
We are currently evaluating:
- WAIT mode
- STOP mode
- DSM (Deep Sleep Mode)
From the Reference Manual and AN13400, DSM gives maximum power saving, but our concern is wakeup latency and peripheral resume stability.
Main questions:
- Which low power mode is recommended for this use case?
- For low latency wakeup with PCIe + USB + camera active systems, is suspend-to-idle preferred over deep suspend?
- Are there any known limitations for:
- PCIe device resume (LA9310)
- USB LTE modem resume
- CSI camera recovery after suspend
- Which BSP version/kernel is most stable for low power support on i.MX8MP?
We are currently considering:- LF 6.6.3 BSP
- Yocto Nanbield
- Are there recommended SDKs, patches, or reference implementations for:
- PCIe wakeup
- USB wakeup
- Runtime PM
- DSM entry/exit
- Low latency suspend/resume
- Is there any recommended approach for keeping LTE connectivity partially active while reducing overall system power?
Reference documents we are studying:
- AN13400: i.MX 8M Low Power Design By M Core Running
- i.MX8MP Reference Manual Chapter 5 (GPC / Low Power)
- Linux PM framework
- gpcv2 driver
Any guidance, reference SDKs, Yocto layers, example DTS configurations, or suspend/resume debug methods would be very helpful.
Thank you.
Hi,
1. I would recommend Runtime PM first, use runtime PM/autosuspend for individual subsystems while Linux is running:
- PCIe endpoint idle handling, need PCIe endpoint driver support: https://docs.kernel.org/power/pci.html
- USB modem autosuspend / remote wakeup: linux/Documentation/driver-api/usb/power-management.rst
- camera stream stop / sensor power management, should be shutdown before IDLE/SLEEP
- CPU idle / DVFS
2. For short idle periods and fast wakeup, use Linux suspend-to-idle. DSM only for long idle / maximum power saving
3. For the BSP verison, recommend to use latest version.
Best Regards,
Zhiming