Colibri iMX7D: Can Recovery boot from SD or not?

As I understand it, the eFuses are set on the Colibri iMX7 to boot from eMMC only, setting the recovery/BOOT_CFG pin is designed to signal the iMX ROM to enter Serial Download mode.

However the iMX7 TRM (page 1181) as well as the Colibri iMX7D Datasheet (section 7, page 59) mention that bootable SD is still possible:

TRM: “Before going into USB serial mode, Boot ROM detect[s] SD/MMC card on USDHC1 port. If a card is inserted, ROM will try to boot from it. This is the so-called Manufacture SD/MMC boot”

Datasheet: “Important: make sure there is no bootable SD card plugged into the slot. Otherwise, the module will try to boot from the external SD card instead of the USB serial loader”.

For various purposes, we would like to be able to program eMMC from an external SD card instead of tethering to a PC and setting up the steps for RAM-loading Easy Installer and executing a burn.

I’ve tried with multiple WIC images (built from toradex BSPs in Yocto) and bootable SD images from other iMX sources. Nothing has worked.

Can Toradex confirm that bootable SD is still a possibility? Thank you.

Normal boot is fused to eMMC only. Boot from SD card only possible in recovery mode.
You can try to use that feature but we neither test this mode nor will support it.

From other hand if you have live U-Boot you can flash new image (including new bootloader) from SD card or USB drive using U_Boot

I’m trying to anticipate a situation away from the factory where live uBoot is not available on eMMC (e.g. eMMC is erased or the uBoot area is corrupted). An SD recovery card is easier than asking a customer to install the Toradex and/or Freescale SDL tools.

I’ve seen information in other places that one of the reasons SD boot might not be working is because some of the CFG_BOOT lines are strapped in a way that confuses the IMX ROM and doesn’t get the data into SDRAM correctly (example: https://community.nxp.com/thread/383951).

Without asking for schematics, is Toradex willing to share how those lines are strapped on the Colibri IMX7D SOM and the complete internal eFuse pattern? Thanks.

I’m trying to anticipate a situation away from the factory where live uBoot is not available on eMMC (e.g. eMMC is erased or the uBoot area is corrupted). An SD recovery card is easier than asking a customer to install the Toradex and/or Freescale SDL tools.

I’ve seen information in other places that one of the reasons SD boot might not be working is because some of the CFG_BOOT lines are strapped in a way that misconfigures the SD lines doesn’t get the data into SDRAM correctly (example: https://community.nxp.com/thread/383951).

Without asking for schematics, is Toradex willing to share how those lines are strapped on the Colibri IMX7D SOM and the complete internal eFuse pattern? Thanks.

Hi @lkoziarz

We are using strapping for eMMC boot but Fusing. The Fusing Pattern can be found in the Reference Manual of iMX7.

Best regards,
Jaski

All BOOT_CFG[0…19] (aka LCD1_DATA00…LCD1_DATA19) are floating on module. So you can pull them up/down on a carrier board to select desired boot mode.

BOOT_MODE1 is pulled down, BOOT_MODE0 is defined by state of nOE/RECOVERY (SODIMM 91)