I have a questions about booting sequence of i.MX6Q.
Can I let i.MX6Q boot up with the image of SD card even if it has eMMC also having a bootable image sets?
What I mean, usually system(i.MX6Q) will boot up with the images inside eMMC.
But by some reason if I plug in SD card having proper bootable images, i.MX6Q should boot up with this images inside the plugged SD card.
Could you please let me know it is possible or not?
If yes, could you please give some hit?
the boot device is selected by fuses in BOOT_CFG1.
For eMMC: BOOT_CFG1[7:5] = 011
For SD card: BOOT_CFG1[7:5] = 010
If you are using the SabreSD board, you can change the configuration via SW6 switch:
eMMC: 11100110 (from 1-8 bit)
SD: 01000010 (from 1-8 bit) - SD3 slot or 10000010 (from 1-8 bit) - SD2 slot
You can find detailed information in RM page 335.
Thanks a lot for your detail explenation.
I reviewed the document you mentioned.
But frankly I cannot find the answer for my question yet.
I would like to know boot device order is configured at Boot Rom or not like below,
Checking whether eMMC has bootable image sets -> If yes, boot from eMMC. If not, checking external SD card -> If yes, booting, if not checking SPI flash memory -> ...
Frankly I could not find the clear answer at RM.
If you know it, could you please let me know whether it is possible or not?
this is not possible with i.MX6Q, however for i.MX6SDL,SL there is
Manufacture Mode, described in sect.8.11 SD/MMC Manufacture Mode
i.MX6SDL Reference Manual (rev.2 5/2015)
When internal boot and recover boot (if enabled) failed, boot will go to SD/MMC
manufacture mode before serial download mode. In manufacture mode, one bit bus width
is used despite of the fuse setting.
In manufacture mode, SD or MMC card will be scanned on uSDHC1 and uSDHC2. If
card is detected and valid boot image is found in card, then boot image will be loaded
The initial boot device is selected by fuses. After power up, the system will attempt to boot from it. In order to proceed, there must be at least U-Boot on this device (for you it is the eMMC). As far as I know, if there is no U-boot on the initial boot device, nothing will happen and the system will not boot. After U-Boot gets loaded, you can choose from which device the linux image will be loaded by modifying environment variables.
You can write your own set of commands, which will do the procedure you described.