IMX8ULP Recovery and Secondary boot clarification

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX8ULP Recovery and Secondary boot clarification

Jump to solution
432 Views
darko311
Contributor II

Hello,

I'm evaluating the recovery options on IMX8ULP-EVK board. Loading the M33 firmware can only be done by updating the imx-boot, updating it on a device in the field can be an issue if some kind of recovery option is not available.

Reading the IMX8ULPRM

Screenshot from 2024-07-25 14-28-27.png

With EMMC boot, I dd-ed the same imx-boot to mmcblk0boot0 and mmcblk0boot1. Rebooted the board and it was booting fine. Then I wrote zeroes to the mmcblk0boot0 (but first wrote 0 to force_ro), rebooted the board and it was also working great.
The u-boot log showed Boot Stage: Secondary boot which seems to be expected.

But dd-ing imx-boot compiled with UBOOT_CONFIG = "fspi" option to the /dev/mtdblock0
and zeroing out both mmcblk0boot0 and mmcblk0boot1, the board stopped booting.

I wanted to clarify if I understood the table correctly, if the boot mode is set to EMMC can the BOOTROM boot from SPI NOR on LPSPI4/5 or is this only possible if the board is set to boot from SPI flash on FLEXSPI0.

To put it differently, is it possible to mix Primary/Secondary boot sources with Recovery boot sources, for example
Primary/Secondary boot EMMC -> Recovery boot SPI and vice versa

or is it only

Primary/Secondary boot USDHC1/2 -> Recovery boot USDHC1 or
Primary/Secondary boot FlexSPI2 -> Recovery boot LPSPI4/5.

Maybe I'm missing something like setting some fuses?

Thank you very much,
Darko

0 Kudos
Reply
1 Solution
396 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Yes, it is possible, and yes you'll need to blow fuse, A35_RECOVERY_DEVICE_SELECT = 1, as this fuse will select the recovery port being used.

Best regards/Saludos,
Aldo.

View solution in original post

1 Reply
397 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Yes, it is possible, and yes you'll need to blow fuse, A35_RECOVERY_DEVICE_SELECT = 1, as this fuse will select the recovery port being used.

Best regards/Saludos,
Aldo.