Android Automotive flashing stops after temporary U-Boot download on Verdin iMX95

Hello Toradex Community,

I am trying to flash Android Automotive on a Toradex Verdin iMX95 Development Board, but the flashing process stops during the temporary U-Boot stage.

Hardware

  • Toradex Verdin iMX95 Development Board

Android Automotive version

  • Android Automotive-16.0.0_1.1.0

  • LF_v6.12.34_2.1.0 BSP

  • i.MX95 (B0) 19x19 and i.MX95 Verdin EVK demo image

  • EVS in Arm Cortex-A core

Flashing command

sudo ./uuu_imx_android_flash.sh -f imx95 -e -u verdin -d verdin

Problem

The UUU process reaches the stage where it downloads the temporary bootloader:

u-boot-imx95-verdin-uuu.imx

After the bootloader is downloaded:

  1. The i.MX95 ROM receives the temporary U-Boot.

  2. The board disconnects from USB.

  3. The temporary U-Boot does not start successfully.

  4. The board does not reconnect as a Fastboot device.

  5. Therefore, the Android flashing process stops before the Android partitions are flashed.

I have confirmed that the board is detected correctly by UUU in Serial Download Mode:

uuu -lsusb

which detects the MX95 device.

I am also using UUU version:

libuuu_1.5.201

The USB connection and debug UART are working.

Additional investigation

I also built U-Boot from the Toradex U-Boot source. The following files were generated successfully:

u-boot.bin
u-boot.img
spl/u-boot-spl.bin

However, when trying to generate the final flash.bin, the build failed because:

Can't open spl/u-boot-spl-ddr.bin: No such file or directory

Therefore, I have not yet been able to generate a new u-boot-imx95-verdin-uuu.imx from my own U-Boot build.

Question

Could someone please confirm:

  1. Is this Android Automotive release officially supported on the Toradex Verdin iMX95?

  2. Is the u-boot-imx95-verdin-uuu.imx provided with the Android package compatible with the Verdin iMX95?

  3. Is there a Toradex-specific U-Boot or temporary bootloader that should be used for this flashing process?

  4. If I need to build my own U-Boot image, what is the correct procedure for generating the required u-boot-imx95-verdin-uuu.imx for the Verdin iMX95?

I have also opened a Toradex support ticket for this issue:

Ticket #73002

Thank you.

Hi, I’m the Toradex AI Assistant.

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


I appreciate your detailed question about flashing Android Automotive on the Verdin iMX95. However, I need to clarify the scope of support I can provide.

Scope Limitation

Based on the available Toradex documentation, Android Automotive is not part of the officially supported Toradex embedded Linux software stack. Toradex primarily supports:

  • TorizonCore/Torizon OS (container-based Linux)
  • Yocto-based BSPs from Toradex
  • Torizon Platform Services (OTA updates, device monitoring, etc.)

The documentation I have access to does not cover Android Automotive flashing procedures, Android-specific U-Boot configurations, or the uuu_imx_android_flash.sh script you’re using.

What I Can Confirm

Regarding U-Boot build procedures, the available documentation covers building U-Boot for:

  • TI AM62x-based SoMs(1)
  • TI AM69/TDA4-based SoMs(2)
  • Various iMX8-based modules

However, there is no specific documentation available for building U-Boot for the Verdin iMX95 in the sources provided, and certainly none related to Android Automotive deployment.

Recommendation

Since you’ve already opened support ticket #73002, that is the appropriate channel for this inquiry. The Toradex support team will be able to:

  1. Confirm whether Android Automotive is officially supported on Verdin iMX95
  2. Provide the correct U-Boot binaries or build procedures for Android flashing
  3. Verify compatibility of the NXP Android BSP with Toradex hardware
  4. Guide you through any Toradex-specific modifications needed

For general U-Boot information and environment variable management on Toradex modules, you can refer to the [U-Boot documentation](3), though this focuses on Linux-based systems rather than Android.

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.

Thank you for the follow-up. You’re absolutely right that the behavior points to a U-Boot/board configuration mismatch rather than a USB issue. Let me provide a more targeted response based on the available Toradex documentation.

Key Observations from Your Analysis

Your diagnosis is correct: if UUU successfully downloads the temporary U-Boot but the board disappears from USB without re-enumerating as a Fastboot device, the temporary U-Boot is either:

  1. Not compatible with the Verdin iMX95 hardware
  2. Crashing during initialization
  3. Not configured to enable Fastboot mode

What the Toradex Documentation Confirms

U-Boot Console Access

The U-Boot documentation explains that to troubleshoot boot issues, you need serial console access(1). The primary Full Function UART (usually UART_A) outputs U-Boot messages. For the Verdin iMX95, you should:

  1. Connect to the serial console using a terminal program (Minicom or PuTTY)
  2. Configure it to read the USB serial port (e.g., /dev/ttyUSB* on Linux)(1)
  3. Capture the complete boot log immediately after UUU downloads the temporary U-Boot

This will show you exactly where and why U-Boot fails before Fastboot can initialize.

Verdin iMX95 EVK Specific Information

The i.MX 95 Verdin EVK Getting Started guide(2) provides critical information about the NXP reference images. Specifically:

  • NXP provides Full Reference Images for the i.MX95 Verdin EVK(2)
  • These images are downloaded from NXP’s website and require appropriate account permissions(2)
  • The flashing process uses NXP’s UUU tool with specific boot configurations(2)

The guide shows the standard NXP flashing procedure but does not mention Android Automotive specifically—it references Linux-based NXP demo images(2).

Critical Configuration Point: DIP Switch Settings

The documentation emphasizes that DIP Switch SW2 must be correctly configured(2). For the Verdin iMX95 EVK:

  • SW2 should be set to 1010 to boot from eMMC(2)
  • Incorrect DIP switch settings will prevent proper boot sequence

However, for Serial Download Mode (which UUU requires), the switch configuration may need to be different during the initial download phase.

Device Tree Considerations

The guide also mentions that the correct device tree must be loaded for hardware features to work properly(2). For example, to use HDMI output on the EVK, specific device trees like imx95-19x19-verdin-lt8912.dtb must be configured in U-Boot(2):

setenv fdtfile imx95-19x19-verdin-lt8912.dtb
saveenv

(2)

If the Android Automotive U-Boot image doesn’t have the correct device tree for the Verdin iMX95, hardware initialization will fail.

Missing Information and Next Steps

The available Toradex documentation does not cover:

  • Android Automotive deployment on any Toradex module
  • Building U-Boot specifically for iMX95-based modules
  • The u-boot-imx95-verdin-uuu.imx binary you’re using

The U-Boot build documentation I have access to covers TI AM62Px-based SoMs(3), but not iMX95.

What You Should Do

  1. Capture the UART log - This is the most critical step. Connect to the serial console and capture what happens when UUU downloads the temporary U-Boot(1)

  2. Verify DIP switch configuration - Ensure SW2 is set correctly for Serial Download Mode during flashing(2)

  3. Confirm image compatibility - The Android Automotive package you’re using appears to be from NXP, not Toradex. Verify with NXP or Toradex support whether:

    • The u-boot-imx95-verdin-uuu.imx is built for the Toradex Verdin iMX95 or the NXP i.MX95 19x19 EVK
    • These are different boards with different hardware configurations
  4. Wait for support ticket response - Since ticket #73002 is open, the Toradex support team can confirm whether this Android release is compatible with Verdin iMX95 and provide the correct bootloader if needed

Why Your U-Boot Build Failed

The missing spl/u-boot-spl-ddr.bin file indicates you’re missing DDR training firmware, which is typically:

  • Provided by NXP as proprietary binaries
  • Integrated during the build process using specific Yocto recipes or build scripts
  • Board-specific and not part of the standard U-Boot source tree

Without the complete Toradex build environment and all required firmware components, you cannot generate a working flash.bin for iMX95.

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.