Verdin imx8mm V1.1A can't flash emmc bootloader with uuu

Hi,
We have the Verdin V1.1A imx8mm module installed on a custom board without display and ethernet.
I have build successfully the flash.bin bootloader an I am trying to flash it with uuu in the emmc.
The uuu script file is the following

uuu_version 1.2.39

SDP: boot -f boot_firmware/flash.bin

CFG: SDPU: -vid 0x0525 -pid 0xb4a4

SDPV: delay 1000

SDPV: write -f boot_firmware/flash.bin -skipspl

SDPV: jump

CFG: FB: -vid 0x0525 -pid 0x4000
CFG: FB: -vid 0x0525 -pid 0x4037
CFG: FB: -vid 0x0525 -pid 0x4039
CFG: FB: -vid 0x0525 -pid 0x403b
CFG: FB: -vid 0x0525 -pid 0x403c

FB: ucmd setenv fastboot_buffer 0x43000000

FB: ucmd setenv fastboot_dev mmc

FB: ucmd setenv mmcdev 0

FB: ucmd mmc dev 0 1

FB: flash bootloader boot_firmware/flash.bin

FB: Done:

The console output is:

U-Boot SPL 2020.04-06880-g4f5f8fac2f-dirty (Mar 17 2021 - 12:56:15 +0200)
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from USB SDP
SDP: initialize…
SDP: handle requests…
Downloading file of size 1089120 to 0x40400000… done
Jumping to header at 0x40400000
Header Tag is not an IMX image
Found header at 0x40431ba0
NOTICE: BL31: v2.2(release):7f1187ba
NOTICE: BL31: Built : 17:02:43, Mar 15 2021

U-Boot 2020.04-06880-g4f5f8fac2f-dirty (Mar 17 2021 - 12:56:15 +0200)

CPU: i.MX8MMQ rev1.0 1600 MHz (running at 1200 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 54C
Reset cause: POR
DRAM: 2 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC… OK
Fail to setup video link
In: serial
Out: serial
Err: serial
Model: Toradex Verdin iMX8M Mini Quad 2GB Wi-Fi / BT IT V1.1A, Serial# 06827678
get_tdx_eeprom: cannot find EEPROM by node
MISSING TORADEX CARRIER CONFIG BLOCKS
get_tdx_eeprom: cannot find EEPROM by node

BuildInfo:

  • ATF
  • U-Boot 2020.04-06880-g4f5f8fac2f-dirty

Detect USB boot. Will enter fastboot mode!
Net: eth0: ethernet@30be0000
Fastboot: Normal
Boot from USB for mfgtools
*** Warning - Use default environment for mfgtool
s
, using default environment

Run bootcmd_mfg: fastboot 0
Hit any key to stop autoboot: 0
Detect USB boot. Will enter fastboot mode!
Detect USB boot. Will enter fastboot mode!
flash target is MMC:0
Detect USB boot. Will enter fastboot mode!
switch to partitions #1, OK
mmc0(part 1) is current device
Detect USB boot. Will enter fastboot mode!
Starting download of 1277632 bytes

downloading of 1277632 bytes finished
writing to partition ‘bootloader’
Initializing ‘bootloader’
switch to partitions #1, OK
mmc0(part 1) is current device
Writing ‘bootloader’

MMC write: dev # 0, block # 66, count 2496 … 2496 blocks written: OK
Writing ‘bootloader’ DONE!

But the module doesn’t boot.
Any suggestions?

Best Regars,
Giannis

The i.MX 8M Mini requires a two block aka 1024 byte offset. See e.g. here for reference:

https://git.toradex.com/cgit/meta-toradex-nxp.git/tree/conf/machine/verdin-imx8mm.conf?h=dunfell-5.x.y#n82

Hi,
I tried both 0x400 and 0x8400 offsets without result. According to the imx8mm datasheet the offset for emmc fastboot should be 0x400.
I played with the u-boot command partconf:
partconf 0 1 1 0, partconf 0 1 1 1, partconf 0 1 1 2, partconf 0 1 1 3,… and in some combinations I managed to flash bootloader, but not always correct. ​
I couldn’t find any information about the emmc configuration for this module.
Can you please send me information how the partconf and bootbus configuration should be used for this module?

Thank you for the information.

W elcome .

I’m seriously wondering why exactly you are messing with any of that. The modules do come factory fused, pre-programmed and the Toradex Easy Installer can be used to install any and all suitable images.

Anyway, even though you do not even believe me with the 2 block offset I will tell you the exact details you are asking for. Please note however that fusing anything else WILL VOID YOUR WARRANTY!

The following commands are meant to be typed on a Verdin iMX8M Mini V1.1A or V1.1B ONLY at the U-Boot prompt. If your module is no longer booting at least to such U-Boot prompt then you may use the Toradex Easy Installer via USB recovery mode to get to such U-Boot prompt by interrupting it further booting into that.

fuse prog 1 3 0x100022d6
fuse prog 2 2 0x00000001

mmc bootbus 0 1 0 2
mmc partconf 0 1 1 0
mmc rst-function 0 1

load mmc 1:1 $loadaddr imx-boot
setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200
mmc dev 0 1
mmc write ${loadaddr} 0x2 ${blkcnt}