imx8mini emmc efuse

cancel
Showing results for 
Search instead for 
Did you mean: 

imx8mini emmc efuse

1,016 Views
tarterkit_ru
Contributor III

Hello, i want burn efuse on imx8mini for emmc boot, emmc connected exactly like EVK board (SD3 8 bit on NAND pins), can you tell me arguments of uboot like:

fuse prog [-y] <bank> <word> <hexval> [<hexval>...]

Labels (1)
6 Replies

524 Views
diegoadrian
NXP Employee
NXP Employee

Hello, 

The way that you are going to program the efuses depends on several things. Principally by the specs of your memory. However, to make boot from the eMMC you need to make sure that the BOOT_CFG[14:12] registers are configured as below to boot from MMC/eMMC:

BOOT_CFG[14:12] = 010

The other configurations like I said before, depends on your memory configuration. You can find the description of the register description of the efuses on chapter 6.2 of the reference manual.

Hope this information can help you.

Best regards,

Diego.

0 Kudos

524 Views
Sasamy
Contributor IV

Hello Diego Adrian Cuevas.

According to this patch and processor manual

https://patchwork.kernel.org/patch/10929005/

"The i.MX8MM is similar to i.MX6 processors in terms of addressing and clock
setup."

i.MX 8M Mini Applications Processor Reference Manual, Rev. 1, 03/2019

Table 6-49. Fusemap Descriptions, page 823

0x470[15:0] BOOT_CFG

eFuse burning manual for i.mx6

https://imxdev.gitlab.io/tutorial/Burning_eFuses_on_i.MX/#calculating-fuse-bank-and-word

(0x470 - 0x400) / 0x10 = 7
7 / 8 = 0 and the remainder is 7

Bank = 0
Word = 7

it is correct for i.MX8MM BOOT_CFG?

Alexander

0 Kudos

524 Views
Yuri
NXP TechSupport
NXP TechSupport
0 Kudos

524 Views
Sasamy
Contributor IV

Hello,

It seems to me that both articles are not suitable for i.MX8M Mini.
We used the Bank and Word values from the processor manual.

What we wanted to burn:

0x470 [14-12] 010 - MMC / eMMC
0x470 [11-10] 10 - SD3

i.MX 8M Mini Applications Processor Reference Manual, Rev. 2, 08/2019

6.3.4.16 Value of OTP Bank1 Word3 (Boot Configuration Info.)
(OCOTP_HW_OCOTP_BOOT_CFG00)

Shadowed memory mapped access to OTP Bank 1, word 3.

Address: 3035_0000h base + 470h offset = 3035_0470h

Therefore, we used this command in u-boot:

u-boot=> fuse prog 1 3 0x00002800

rogramming bank 1 word 0x00000003 to 0x00002800...
Warning: Programming fuses is an irreversible operation!
This may brick your system.
Use this command only if you are sure of what you are doing!

Alexander

524 Views
Yuri
NXP TechSupport
NXP TechSupport

To understand how to calculate the bank and word, using address: look at OCOTP memory map in

section 6.3.4 (OCOTP Memory Map/Register Definition) of i.MX 8M Mini Reference Manual,

Rev. 2, 08/2019 :

 

3035_0400 - Bank 0 Word 0

3035_0410 - Bank 0 Word 1

...

3035_0440 - Bank 1 Word 0

 

  So, formula is as following:

 

  Bank = (address - 0x400) / 0x40 ;

  Word = [(address - 0x400) % 0x40] / 0x10 ;

524 Views
tarterkit_ru
Contributor III

Hello, thanks.

I see this chapter, in this chpater desctibe BOOT_CFG, BOOT_CFG1 etc

But uboot requre "<bank> <word>", i need to figure out the accordance between "<bank> <word>" and BOOT_CFG registers.

0 Kudos