UUU Android Flashing on i.MX95 Verdin EVK Fails During SDPS Boot (SW2=1,0,0,1 Confirmed)

Hello Toradex Support Team,

I am trying to flash the official NXP Android BSP onto an i.MX95Verdin Evaluation Kit, but the flashing process consistently fails during the SDPS (USB Download) boot stage.

NXP Support advised that:

  • The board must be set to Download Mode (SDPS) before flashing

  • Boot switch / DIP switch configuration for Verdin EVK is not provided by NXP, and should be confirmed with Toradex

Therefore, I am contacting Toradex for board-specific guidance.

Please note that the SDPS mode configuration has already been applied and verified, as described below.


Environment

  • Board: i.MX95 Verdin Evaluation Kit

  • SoC: i.MX95 (B0)

  • OS Image: Android 16.0.0_1.2.0 (official NXP release)

  • Flashing Tool: UUU (Universal Update Utility)

  • Script: uuu_imx_android_flash.sh (from NXP Android BSP)

  • UUU Version:

    • Script validated for: 1.5.201

    • Actual binary used: 1.5.233

  • Flash Target: Verdin

  • Connection: USB (SDPS)

  • microSD card: not inserted


SDPS (Download) Mode Configuration (Already Applied)

The SW2 DIP switch on the Verdin EVK is configured as follows : SW2 = 1, 0, 0, 1

With this setting:

  • The board enters SDPS (USB Download) mode

  • The USB device is detected correctly by the host PC

  • UUU successfully reaches the SDPS phase

Therefore, this issue is not caused by missing or incorrect SDPS mode configuration.


Commands Executed

Based on NXP Support recommendations, I have already tested both commands below:

sudo ./uuu_imx_android_flash.sh -f imx95 -u verdin-uuu -c 13

sudo ./uuu_imx_android_flash.sh -f imx95 -a -e -u trusty-verdin-dual -c 13

The issue occurs consistently with both commands.


Linux Host Result

uuu (Universal Update Utility) for nxp imx chips – libuuu_1.5.233-0-g79ce7d2 Success 0 Failure 1 [HID(W): LIBUSB_ERROR_NO_DEVICE (-4)] SDPS: boot -f u-boot-imx95-verdin-uuu.imx

During SDPS: boot, the USB device disconnects and flashing aborts.


Windows Host Result

uuu (Universal Update Utility) for nxp imx chips – libuuu_1.5.233-0-g79ce7d2 Success 0 Failure 1 [HID(W): LIBUSB_ERROR_PIPE (-9)] SDPS: boot -f u-boot-imx95-verdin-uuu.imx.link

The failure occurs at the same SDPS boot stage, with a different USB error code.


Observations

  • The issue occurs on multiple Verdin EVK boards

  • Reproducible on both Linux and Windows hosts

  • USB cable and port changes do not resolve the issue

  • The USB device briefly disconnects during SDPS boot

  • The failure always occurs at: SDPS: boot -f u-boot-imx95-verdin-uuu.imx


Summary of NXP Support Feedback

  • Android flashing requires Download Mode (SDPS)

  • Boot switch configuration for Verdin EVK is handled by Toradex

  • UUU version 1.5.233 should be compatible

  • Recommended command:

    sudo ./uuu_imx_android_flash.sh -f imx95 -a -e -u trusty-verdin-dual

    (already tested, no improvement)

  • Advised to contact Toradex Support


Questions for Toradex

  1. Is the SW2 = 1,0,0,1 setting the correct and complete configuration to enter SDPS mode on the i.MX95 Verdin EVK?
    Are there any additional board-specific requirements?

  2. Are there any known USB / SDPS stability issues on i.MX95 Verdin during the transition from SDPS to U-Boot execution?

  3. Is a microSD card required or recommended when flashing Android to onboard storage on Verdin EVK?

  4. For Android flashing on i.MX95 Verdin, is uuu_imx_android_flash.sh the recommended procedure, or should fastboot_imx_flashall.sh be used instead?

  5. Are there any power-up sequencing, reset timing, or USB connection best practices recommended for reliable SDPS flashing on Verdin EVK?

Any guidance on the correct flashing procedure or required hardware/software setup would be greatly appreciated.

Thank you very much for your support.

Hi, I’m the Toradex AI Assistant.

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


Based on the available documentation sources, I can provide some guidance regarding your i.MX95 Verdin EVK Android flashing issue.

Recovery Mode Configuration

For Toradex modules, the standard recovery mode approach typically involves pulling the CTRL_RECOVERY_MICO# pin (SODIMM pin 246) low during power-on (1). However, the specific DIP switch configuration you’re using (SW2 = 1,0,0,1) appears to be following NXP’s reference design for SDPS mode.

DIP Switch Implementation Reference

While the available documentation doesn’t provide the exact i.MX95 Verdin EVK DIP switch configuration, there is guidance on implementing DIP switch boot selection for Toradex modules. The general approach involves reading GPIO values during the bootloader phase and modifying boot parameters accordingly (2).

For reference, here’s how DIP switch logic can be implemented in U-Boot for Toradex modules:

#define DIP_SW0	IMX_GPIO_NR(4, 26)  
#define DIP_SW1	IMX_GPIO_NR(4, 14)  
  
static iomux_v3_cfg_t const dip_switch_pads[] = {  
	MX6_PAD_CSI_DATA05__GPIO4_IO26 | MUX_PAD_CTRL(NO_PAD_CTRL),  
	MX6_PAD_NAND_CE1_B__GPIO4_IO14 | MUX_PAD_CTRL(NO_PAD_CTRL),  
};  
  
int board_late_init(void)  
{  
...  
	// DIP Switch routine  
	imx_iomux_v3_setup_multiple_pads(dip_switch_pads, ARRAY_SIZE(dip_switch_pads));  
	gpio_request(DIP_SW0, "DIP_SW0");  
	gpio_request(DIP_SW1, "DIP_SW1");  
  
	int dip0;  
	int dip1;  
  
	dip0 = gpio_get_value(DIP_SW0);  
	dip1 = gpio_get_value(DIP_SW1);  
  
	printf("DIP Switch: %x%x\n", dip0, dip1);  

(2)

i.MX95 Verdin EVK Status

The i.MX95 Verdin EVK is currently available and shipping (3). The platform includes comprehensive software support through Torizon OS, which provides secure boot, OTA updates, and device monitoring capabilities (3).

Recommendations

Given that your question involves Android BSP flashing on the i.MX95 Verdin EVK, which is outside the scope of standard Torizon OS support, I recommend:

  1. Verify Hardware Setup: Ensure all power rails are stable and USB connections are secure
  2. Check Recovery Pin: Consider using the standard CTRL_RECOVERY_MICO# approach (SODIMM pin 246) if the DIP switch method continues to fail
  3. Professional Support: For Android BSP-specific issues on the i.MX95 Verdin EVK, consider engaging with Toradex’s Partner Network for specialized Android integration support

For detailed hardware specifications and pin configurations specific to the i.MX95 Verdin EVK, you may need to consult the module-specific datasheet when it becomes available.

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.