i.MX8MM recovery boot

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

i.MX8MM recovery boot

1,977 Views
jonnye
Contributor II

Hi,

we are working on a design with i.MX8mm with eMMC as primary boot memory (controlled by eFUSE).

As a fallback to that (eMMC) we would like to be able to boot the system from an SPI-flash.

According to IMX8MMRM (R3) there is an eFUSE bit called "SPI recovery boot enable" (p 784) but unfortunately there is not so much more information about that. On page 831 table 6-24 this signal is mentioned again but the paragraph is "Serial(SPI) NOR eFUSE configuration".

I am looking for some answers to:

1. Is it possible to use SPI-flash as a fallback boot to eMMC?

2. Would it be possible to force a boot from the SPI-flash in some way?

3. Is there any more documentation regarding these questions or application notes?

Best regards,

Jonny

0 Kudos
9 Replies

1,857 Views
wooosaiiii
Contributor III

Hi,

can report with success, that on i.MX8M Nano, setting RECOVER_ECSPI_BOOT_EN efuse bit will trigger eCSPI boot in case boot from primary device fails.

Thanks @jonnye  again for helpful information!

1,968 Views
Yuri
NXP Employee
NXP Employee

@jonnye 
Hello,

 The boot ROM supports these boot devices:
• Serial NOR Flash via FlexSPI
• NAND flash
• SD/MMC
• Serial (SPI) NOR

   Section Table 6-9 (Boot device selection) of i.MX 8Mm Reference Manual (Rev. 3, 11/2020)
shows available for boot options, which can be selected, using BOOT_CFG[14:12].

 Note: i.MX8Mm recovery boot is from ECSPI, if the corresponding fuse is burned.
  Besides this recovery boot, SD/MMC manufacture mode allows to boot from USDHC2
  before entering USB download mode if other boot devices failed.

 

Regards,
Yuri.

0 Kudos

1,963 Views
jonnye
Contributor II

@Yuri,

Hi, thanks for your fast response. We planned to use BOOT_CFG[14:12] = 010 (MMC/eMMC).

What is not clear to me is if I (when loading from eMMC fails) can use SPI-flash from ECSPI as recovery boot?

And can I force the system to use the recovery SPI-flash (if needed, e.g. booting U-Boot works fine but when loading kernel or later it fails)?

Regards,

Jonny

0 Kudos

1,895 Views
wooosaiiii
Contributor III

@jonnye Did you get any further on this?

Can you use ECSPI as recovery when eMMC booting fails?

0 Kudos

1,887 Views
jonnye
Contributor II

Hi,

we have done some initial tests on an iMX8mmevk board. On that board we only use the SD-CARD as boot memory. But when that boot fails the processor boots from SPI-flash located on ECSPI2. But we needed to have a later version of the processor to get it to work.

Regards,

Jonny

1,884 Views
wooosaiiii
Contributor III

Hi @jonnye ,

Thanks for your fast reply.

Did you have to burn eFuse bit RECOVER_ECSPI_BOOT_EN on that SoC?

 

0 Kudos

1,880 Views
jonnye
Contributor II

Hi @wooosaiiii,

yes, I think so (in my RM its name is Recover Boot Enable).

I ran the command: fuse prog 2 0 0x22000800

Regards,

Jonny

1,875 Views
wooosaiiii
Contributor III

Hi @jonnye 

Thanks again for your answers! Very helpful indeed.

I promise those are my last questions and then I will leave you alone

Questions:

1) Beside programming fuse bank 2 0 -> 0x480[31:24], did you also need to program fuse bank 1 3 -> 0x470[0:15]. These fuse bits contain eCSPI related settings e.g. SPI addressing, CS#, etc. Or did you leave those at default values?

2) What kind of SPI-NOR chip are you using? We have serial SPI-NOR ISSI is25lp032 (4MiB).

BR

1,867 Views
jonnye
Contributor II

Hi @wooosaiiii,

No problem,

1) I did not program fuse bank 1 3, we use dip-switches on the board to control default boot storage. But for recovery boot that was not an option.

2) Micron Serial NOR Flash Memory, MT25QL128ABA. Package with 8 pins.

BR

Jonny