Hello Toradex Support team,
I’m building NXP’s Android Automotive source release (automotive-14.0.0_2.1.0, LF_v6.6.23 BSP) for the i.MX95 Verdin EVK (board label: iMX95 Verdin EVK V1.3A) using the evk_95_car2 lunch target, following NXP’s UG10176 Android Automotive User’s Guide.
Hardware:
- Toradex Verdin i.MX95 SoM on the Verdin i.MX95 EVK carrier board (co-developed NXP/Toradex reference board)
- Silicon revision: i.MX95 A1
What I’ve done:
- Built the full Android image set for evk_95_car2 successfully (kernel, U-Boot, all partitions).
- Flashed via UUU using: sudo ./uuu_imx_android_flash.sh -f imx95 -e -u verdin -d verdin (both slots, using the Verdin-specific spl-imx95-verdin.bin, bootloader-imx95-verdin.img, dtbo-imx95-verdin.img, vbmeta-imx95-verdin.img files that are present in the source tree).
- Confirmed via UART (ttyUSB2) that U-Boot SPL, ATF (BL31), and Trusty all boot correctly, and the correct Verdin kernel DTB is loaded (verified by MD5 match against imx95-19x19-verdin-car2-lt8912.dtb after reordering TARGET_BOARD_DTS_CONFIG in device/nxp/imx9/evk_95/BoardConfig.mk).
The problem:
Despite the correct Verdin U-Boot, bootloader, DTBO, and kernel DTB all being confirmed in place, the Android kernel consistently fails with:
init: Wait for partitions returned after 10003ms
init: partition(s) not found after polling timeout: boot_a, dtbo_a, init_boot_a, metadata, super, vbmeta_a
init: Failed to create devices required for first stage mount
init: InitFatalReboot: signal 6
This happens because the eMMC/USDHC controller’s regulators never come up — the kernel log shows persistent ‘platform firmware:scmi: deferred probe pending’ along with numerous ‘regulator-*: deferred probe pending’ messages that never resolve.
Root cause found:
I traced this to the System Manager (M33) firmware in vendor/nxp-opensource/imx-sm. This firmware is what exposes power domains, clocks, and regulators to Linux via SCMI. Searching the entire imx-sm source tree, I found:
- Only two SM configs exist: mx95evk and mx95evk-android
- Zero references to ‘verdin’ anywhere in the imx-sm source tree
- device/nxp/imx9/evk_95/AndroidUboot.sh’s SM firmware selection logic only branches on PRODUCT_IMX_CAR_M7 / trusty / rpmsg / uuu — never on board variant (verdin vs plain EVK)
This means the same generic mx95evk-android SM firmware (built for NXP’s own plain EVK board’s regulator/GPIO wiring) is used regardless of whether Verdin-specific U-Boot/DTBO/kernel-DTB files are flashed. Since the SM firmware doesn’t know about the Verdin carrier board’s actual regulator wiring, it never correctly initializes them, and every SCMI-dependent consumer (including the eMMC controller path) stays permanently in deferred-probe state — regardless of correct DTB/bootloader selection on the Linux/U-Boot side.
I also found an NXP Community thread (community.nxp.com/t5/i-MX-Processors/i-MX95-Verdin-EVK-software-support/m-p/1943701) where another user hit an identical issue with the same Android Automotive demo image, and NXP Support’s response was: ‘We don’t support the board that you are using due to we don’t provide the software for this board, please contact to Toradex Support for this case.’
Questions:
- Does Toradex maintain a patched/extended version of NXP’s imx-sm (System Manager) firmware with proper Verdin regulator/board configuration for Android Automotive builds?
- If so, could you point me to the source/patches needed, or a getting-started guide for building Android Automotive specifically for Verdin i.MX95 (as opposed to NXP’s plain EVK)?
- If Toradex does not maintain such a patch, could you confirm whether there’s a known-working Android Automotive release for this board, or advise on the recommended path (e.g., Linux/Yocto instead) for this hardware?
Happy to provide full boot logs, build logs, or run additional diagnostics if helpful.
Thank you for your time.