question on iMX8MN eMMC boot via eFuse

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

question on iMX8MN eMMC boot via eFuse

Jump to solution
1,742 Views
wouher
Contributor II

I ran into a problem while testing the eMMC boot on the iMX8MN device.

During this test, the eFuse 0x480.[25] (RECOVER_ECSPI_BOOT_EN) was enabled, but I don’t think it should matter for my question.

First I strapped the device to boot from eCSPI via the external BOOT_MODE pins (boot mode 0b1000). This works as expected.
Then I strapped the device to boot from eMMC via the external BOOT_MODE pins (boot mode 0b0010).
Since we are using uSDHC1 instead of uSDHC3 for the eMMC boot, I also set the following fuses:

set eFuse 0x470:
                OVERRIDE_USDHC_BT_SEL          =  0b1
                OVERRIDE_USDHC_BT_SEL_VAl  =  0b01 (uSDHC1 eMMC)
                BOOT_MODE_FUSES                     =  0b0010 to prepare for a fused boot into eMMC

I used the following command in U-Boot:
fuse prog 1 3 0x00002A00

Also, this works as expected. The iMX now boots from uSDHC1 when BOOT_MODE pins are strapped to eMMC boot.

I also programmed the USDHC IO Voltage selection 0x490[1] to 1, in order to select the 1v8 mode.
fuse prog 2 1 0x2  

I then strapped the BOOT_MODE pins to 0b0000, to select ‘boot from fuses’. However, now the iMX does not boot.

I thought that with the above fuse programming actions, the fuses should be set up correctly to boot from uSDHC1, also when the BOOT_MODE pins are set to 0.

Do you see any mistakes in this procedure?

Since the eMMC boot is working when using the external BOOT_MODE strapping, and since
"Table 6-3. GPIO override contact assignments"
from the IMX8MNRM only mentions the BOOT_MODE pin as overrides, I don't know what difference is causing my boot from fuses to fail.

Labels (1)
0 Kudos
1 Solution
1,718 Views
AldoG
NXP TechSupport
NXP TechSupport

Hi,

I think we have different versions of the Reference Manual, in the image you have shared indeed suggest that just BOOT_MODE_PINS=0x0 it is enough.

In the Reference Manual Rev. 1, the description is different, please see below:

nxf46838_0-1629478098737.png


Best regards,
Aldo.

View solution in original post

5 Replies
1,585 Views
wooosaiiii
Contributor III

@wouher 

I see you enabled eFuse 0x480.[25] (RECOVER_ECSPI_BOOT_EN) on iMX8M Nano.

Can you verify that iMX8M Nano then boots like this if BOOT_MODE is set to eMMC:

1) In case eMMC contains valid application: BootROM -> eMMC -> application (SPL)

2) In case eMMC does NOT contain valid application but eCSPI does: BootROM -> eMMC fail -> eCSPI -> application (SPL)

Thanks in advance,

BR

0 Kudos
1,728 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

I think this is a normal behavior, if you haven't blown BT_FUSE_SEL 0x470[28] that is.

This fuse is checked when performing boot from fuses mode, if this fuse is not blown the device goes to serial downloader when attempting to boot from fuses.

Please check Table 6-2 Boot eFUSE descriptions page 742 of the i.MX8MN reference manual.

Best regards,
Aldo.

1,722 Views
wouher
Contributor II

Hi Aldo,

I tried what would happen if I set the BT_FUSE_SEL fuse. Then, indeed when using BOOT_MODE pin strapping 0b0000, the iMX boots from eMMC as expected.

Fuse readback now gives:

fuse read 1 3
Reading bank 1:
Word 0x00000003: 18002a00

However, when I now go back to BOOT_MODE pin strapping 0b1000, I see that the iMX is booting from eCSPI again, even though BT_FUSE_SEL is blown.

Does that not contradict this section from table 6.30 from the RM?

Capture.PNG

Because from this table, I thought with BT_FUSE_SEL blown, the external BOOT_MODE pins would be ignored and the fused settings would be used.

This figure is also the reason I thought BOOT_MODE_PINS 0b0000 would be enough to start a fused boot, even without BT_FUSE_SEL blown.

0 Kudos
1,719 Views
AldoG
NXP TechSupport
NXP TechSupport

Hi,

I think we have different versions of the Reference Manual, in the image you have shared indeed suggest that just BOOT_MODE_PINS=0x0 it is enough.

In the Reference Manual Rev. 1, the description is different, please see below:

nxf46838_0-1629478098737.png


Best regards,
Aldo.

1,707 Views
wouher
Contributor II

Hi Aldo,

The document I used was Rev 0.

With the description from Rev 1, our system works as expected, thanks.