Hello Experts,
I am trying to understand how the i.MX95 Boot ROM handles the Primary, Secondary, and Recovery boot stages. I have gone through the Reference Manual and some of the U-Boot spl source code, but I am still not clear on how the Recovery boot mechanism is intended to work.
My goal is to implement the following boot architecture:
While looking through arch/arm/mach-imx/image-container.c, I noticed the following code:
printf("Boot stage: ");
if (rom_data.boot_stage == 0x6)
printf("Primary\n");
else if (rom_data.boot_stage == 0x9)
printf("Secondary\n");
else if (rom_data.boot_stage == 0xa)
printf("Recovery\n");
else
printf("USB Serial Download\n");Based on this, it appears that the Boot ROM supports four boot stages: Primary, Secondary, Recovery, and USB Serial Download. However, I could not find sufficient information explaining how the Recovery stage is selected or configured.
I would appreciate some guidance on the following questions:
Ultimately, my objective is to have the system normally boot from eMMC Boot0, fall back to eMMC Boot1 if necessary, and finally boot a Golden Recovery Image stored in FlexSPI NOR if both eMMC boot partitions are unavailable or invalid.
If anyone has implemented a similar boot architecture or can point me to the relevant documentation or application notes, I would really appreciate your guidance.
Thank you in Advance !
BR,
Arun Kumar
Hello,
No, it is not possible. The recovery boot device for LP boot is only LPSPI1/2, you can't configure any other boot source as recovery option.