AW: Booting verdin-imx8mm_defconfig fails

Marcel Ziswiler marcel.ziswiler at
Mon May 15 12:15:03 CEST 2023

Hi Manu

On Tue, 2023-05-09 at 09:49 +0000, Traut Manuel LCPF-CH wrote:
> Hi Marc,
> Thanks for your quick reply.
> > > I am not sure if I built/using u-boot as intended for this platform.
> > 
> > I would advice to stick to the documentation [1].
> Thanks for the reference.

You are very welcome.

> > > 1) running via serial download:
> > > Please note that we never integrated/validated USB device support on Verdin iMX8M Mini (and Plus for that
> > > matter). So one really can NOT use UUU with upstream U-Boot so far and does have to stick to what we
> > > document.
> Thanks for the clarification. I am aware of this and added this just for reference to see that generally the
> SPL seems to work.
> I worked on this a couple of months ago [3] - however the base-address of the controller needs to be
> retrieved somehow in the probe function. Here it was just hardcoded.

Okay, I haven't played with that upstream yet. But I should!

> > > 2) running from SDCard:
> > 
> > As all our SoMs are factory fused to boot from their on-module eMMC storage one can NOT boot them from an
> > SD card.
> Thanks for the information. I thought SDCard boot might work, cause of the following found in [4]
> --8<--
> Important: make sure that there is no bootable SD card plugged into the slot. Otherwise, the 
> module will try to boot from the external SD card instead of going into the USB serial loader.
> --8<--

I believe this reference refers to what NXP calls manufacturer boot which only applies to non-fused modules. As
regular modules are always factory fused this does not really apply. However, I guess a customer could
potentially order non-fused ones as part of a build-to-order (BTO) or something so to be on the safe side we
added that note.

> > > 3) running from eMMC:
> > 
> > Please stick to the documentation and skip 2 blocks when writing to the first hardware area boot partition.
> Thanks - this helps. However it seems that the SPL build with the defconfig expects the 2nd stage u-boot from
> mmc 1 instead of 0
> --8<--
> U-Boot SPL 2023.04+dfsg-1+iris+manut4 (May 03 2023 - 12:16:03 +0000)
> WDT:   Started watchdog at 30280000 with servicing every 1000ms (60s timeout)
> Trying to boot from MMC1
> --8<--
> Guess I get this fixed on my own.

No, I believe your issue lays with TF-A. However, I just checked and latest master does really work for meTM

U-Boot SPL 2023.07-rc2-00084-g177e506952a (May 15 2023 - 12:09:06 +0200)
WDT:   Started watchdog at 30280000 with servicing every 1000ms (60s timeout)
Trying to boot from MMC1
NOTICE:  Do not release JR0 to NS as it can be used by HAB
NOTICE:  BL31: v2.8(release):v2.9-rc0
NOTICE:  BL31: Built : 12:08:36, May 15 2023

U-Boot 2023.07-rc2-00084-g177e506952a (May 15 2023 - 12:09:06 +0200)

CPU:   Freescale i.MX8MMQ rev1.0 1600 MHz (running at 1200 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 49C
Reset cause: POR
DRAM:  2 GiB
Core:  147 devices, 24 uclasses, devicetree: separate
WDT:   Started watchdog at 30280000 with servicing every 1000ms (60s timeout)
Loading Environment from MMC... OK
In:    serial at 30860000
Out:   serial at 30860000
Err:   serial at 30860000
Model: Toradex 0055 Verdin iMX8M Mini Quad 2GB WB IT V1.1A
Serial#: 06827787
Carrier: Toradex Verdin Development Board V1.1A, Serial# 10807609
Setting variant to wifi
Net:   eth0: ethernet at 30be0000
Hit any key to stop autoboot:  0 
Verdin iMX8MM # 

Good luck!

> > If anything goes wrong the boot ROM usually falls back to serial download mode. There are ways to look at
> > what exactly you may have done wrong see e.g. [2].[Traut Manuel LCPF-CH] 
> Oh, this really eases debugging. Thanks for the reference!

You are very welcome.

> Thanks
> Manuel
> [1]
> [2]
> [3]
> [4]

Best regards - Mit freundlichen Grüssen - Meilleures salutations

Marcel Ziswiler
Software Team Lead - Embedded Linux BSP

Toradex AG
Ebenaustrasse 10 | 6048 Horw/Luzern | Switzerland | T: +41 41 500 4800

More information about the U-Boot mailing list