Build & Deploying U-Boot to Verdin-imx8mm

Hello all,

can someone please provide me(newbie) with the guidance on how to deploy U-Boot binary to an Image .
I followed the instructions at the developer resources and successfully compiled the u-boot (un modified) with the boot container . however I’m not sure which file to swap on my yocto custom image which is based on your tdx-reference-minimal-image.

So far have replaced “imx-boot” on tdx-reference-minimal-image tez folder with “imx-boot” from compiled u-boot and used easy installer to flash to the target device.

During boot-up , the board stuck on "Trying to boot from MMC1” see attached image. could please advise.

MACHINE = “verdin-imx8mm”
DISTRO = “tdx-xwayland”
DISTRO_VERSION = “6.4.0-devel-20231004070247+build.0”

the main reason for compiling u-boot is to be able enable
CONFIG_DM_VIDEO=y ,
CONFIG_VIDEO_IPUV3=y
CONFIG_CMD_BMP=y
for my u-boot splash screen.
please advise if there is another way to modify u-boot deconfig file in yocto.

many thanks,
Faiz.

So far have replaced “imx-boot” on tdx-reference-minimal-image tez folder with “imx-boot” from compiled u-boot and used easy installer to flash to the target device.

I’ve done the same thing for a custom u-boot with modifications similar to yours and it worked as expected.

From your screenshot it appears u-boot is starting correctly, but something else is going wrong. :thinking:
During my own adventures in getting an early u-boot splash screen I encountered hangs like this a few times and it was related to the driver code I had enabled, you are probably in for a debugging session of some kind, whether it be via JTAG or just adding printfs to the u-boot code for testing…

Hi @faiz !

I was able to compile, load, and execute the U-Boot from BSP 6.4.0-devel-202309 (toradex-manifest.git - Repo manifest for Toradex Embedded Linux TorizonCore and BSP layer setup for Yocto Project/Openembedded) using Yocto with the following configs enabled (I didn’t test video output):

CONFIG_DM_VIDEO=y 
CONFIG_CMD_BMP=y

I didn’t enable CONFIG_VIDEO_IPUV3, as it is related to i.MX5 and i.MX6. As you can see from Kconfig « imx « nxp « video « drivers - u-boot-toradex.git - U-Boot bootloader for Apalis and Colibri modules, this config depends on CONFIG_MX5 or CONFIG_MX6, which seem odd to enable for i.MX8M Mini.

And searching for IPU in i.MX8MM’s reference manual (IMX8MMRM → login might be necessary) didn’t return any match.

Are you sure you want to enable this CONFIG_VIDEO_IPUV3?

Best regards,

hi Henrique,
thank you very much for your reply.
you’re correct, i don’t need CONFIG_VIDEO_IPUV3.
however, i dint even get chance to modify defconfig file. The only part I did was build unmodified u-boot and flash on the target.
Do you mind sharing your “imx-boot” so can test on my image and see if will work.
Thanks

Hi @faiz ,

Henrique is currently enjoying some well-deserved time off :wink:

Here’s the content for the meta-toradex-nxp/recipes-bsp/u-boot/files/video.cfg:

CONFIG_DM_VIDEO=y
CONFIG_CMD_BMP=y

And these are the modifications for the u-boot recipe. Note: It is recommended to create a .bbappend instead of modifying the existing file

meta-toradex-nxp/recipes-bsp/u-boot/u-boot-toradex_2022.04.bb

SRC_URI = "git://git.toradex.com/u-boot-toradex.git;protocol=https;branch=${SRCBRANCH} \
            file://video.cfg \
          "

Hope this helps.

Best Regards
Kevin