i.MX8MM recovery boot

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

i.MX8MM recovery boot

2,612 次查看
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 项奖励
回复
9 回复数

2,492 次查看
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!

2,603 次查看
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 项奖励
回复

2,598 次查看
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 项奖励
回复

2,530 次查看
wooosaiiii
Contributor III

@jonnye Did you get any further on this?

Can you use ECSPI as recovery when eMMC booting fails?

0 项奖励
回复

2,522 次查看
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

2,519 次查看
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 项奖励
回复

2,515 次查看
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

2,510 次查看
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

2,502 次查看
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