Controlling boot order for emmc and microsd

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

Controlling boot order for emmc and microsd

670 Views
jayakumar2
Contributor V

Hi,

We're designing a board using i.mx6sololite that has both eMMC and microsd. The objective that we have is to enable the following usage mode:

- typical usage is system boots from emmc on SD2

- special case usage when emmc is corrupted, we want user to be able to plug in microsd flashed with bootable image so that the user can reflash emmc from the system booted via microsd (on SD1)

If we were using a TI SOC, we can do above by using the boot order (similar to BOOT_CFGx pins) to set the boot order to be microsd first, then emmc second. That way, even if emmc is corrupted the system can still be recovered by the user booting from microsd. The user does not need to change any physical things on the board (meaning no need to press a button, or put a jumper, or dip switch).

With 6sl, I don't see a way to do this as there does not seem to be a boot order type configuration option. The closest option would be to have the user use a DIP switch or jumper to change BOOT_CFG2[4:3] to change the port select between SD1 microsd and SD2 emmc but this means we have to expose those buttons/dip switch/jumper on the board to the user which is not something that is desirable.

Other ideas are to set the system to boot from SD1 microsd and then have the microsd u-boot image check the state of the emmc before trying to boot rest of system from emmc. The problem with that is that if the microsd is not present, then the system won't boot at all which would not be suitable for our customers.

Is my understanding correct or have I missed a method by which bootROM can support trying to boot from microsd, then if fails, try to boot from emmc? Thanks for any advice/suggestions.

Thanks!

Labels (2)
Tags (2)
0 Kudos
3 Replies

464 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jaya

for such use case one can consider manufacture mode described in

sect.8.11 SD/MMC Manufacture Mode i.MX6SL Reference Manual

http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6SLRM.pdf

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

464 Views
jayakumar2
Contributor V

Hi Igor,

Thanks. That looks good.

A quick question. The spec says:

"

In manufacture mode, SD or MMC card will be scanned on uSDHC1 only. If card is
detected and valid boot image is found in card, then boot image will be loaded then
executed. Pad of SD1_CD is used to detect whether card is inserted.

"

I'm interpreting SD1_CD to mean the card detect signal for SD1.

We're using 6sl of the MCIMX6L8DVN10AB package type. I'm looking through the pad list and SD1_CD is not listed. http://www.nxp.com/docs/pcn_attachments/16116_IMX6SLCEC.pdf 

The pad list for SD1 for this package only shows:

sd1.jpg

From 6slrm, I can see SD1_CD signal can be sourced from the following pads: ECSPI2_SS0, FEC_TXD1, KEY_COL0, KEY_ROW7 but which pad is the one that boot ROM will use?

Thanks!

0 Kudos

464 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jaya

ROM uses KEY_ROW7.alt6 as shown in Table 8-14. SD/MMC IOMUX Pin Configuration i.MX6SL RM

Best regards
igor

0 Kudos