Today, with our i.MX6 platform, we have both eMMC and SPI NOR attached and configurable as bootable media based on boot time pin-strap configuration.
What I'm wanting to do is have a copy of the bootloader in eMMC and a copy of the bootloader in SPI NOR and have the bootROM normally boot to the bootloader in eMMC unless the bootloader "fails" to boot for some reason (such as the binary being corrupted or missing) and at that point switch over to attempting to boot from SPI NOR.
I've read through the i.MX6 docs and it seems like this may be possible but it is not entirely clear. In the i.MX6 reference manual, I see reference to a "RECOVERY DEVICES" in section 8.9 of the reference manual. The manual states that if the primary boot device fails, the bootrom will attempt to boot from the recovery device using one of the I2C or SPI ports.
What's not clear to me is what constitutes a "primary boot device failure". Is it possible for the bootram to support this recovery feature without using HAB or is it required that I use HAB, thus allowing the bootrom to validate the bootloader before booting it?
Can you point me to some documentation provide details on how I can learn more about how to get this recovery boot functionality working?