imx8mm-lpd4 eFUSE not booting

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

imx8mm-lpd4 eFUSE not booting

Jump to solution
3,867 Views
vignesh-baskaran
Contributor III

Hi,

 

We trying to form the word for eFUSE, and boot from ecspi2. ( we modified DTB and can able to communicate with the ecspi2 device before eFUSE, I believe there no hardware (or) Connection error). 

We come up with,

0x470[7:0] -> 0000 0000
0x470[15:8] -> 0110 0010

so,
0x470[15:0] -> 0x6200
----------------------------------------------
0x470[27:16] -> 0000 0000 0000
0x470[28] -> 1 -boot mode from fuses
0x470[31:29] -> 000

so,
0x470[31:16]-> 0x1000
------------------------------------------------------
so,
0x470[31:0] -> 0x1000 6200

 

We execute the below command at u-boot:

fuse prog 1 3 0x10006200

 

Now we were unable to boot from SD card and qspi (Both works perfectly before eFUSE).

 

Can you please Clarify this one?

0 Kudos
1 Solution
3,365 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello @vignesh-baskaran,

Please do help me trying the following and share the results with me:

1> Load uboot while chip is in serial download using UUU
2> Once uboot is loaded stop fastboot by presing ctrl+c in the terminal
3> Perform uboot "fuse read 40 0 4"

Do this steps in both working and non working boards and share the results of the fuse read.

Best regards,
Aldo.

View solution in original post

0 Kudos
19 Replies
3,858 Views
vignesh-baskaran
Contributor III

Hi,

Please refer the below image for your reference :

WhatsApp Image 2023-03-17 at 11.50.49 AM.jpeg

 

0 Kudos
3,837 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Yes, your fuses looks correct and looks that was correctly burnt.
Is there a way for you to access ROM log that is directly stored in OCRAM, like using JTAG access to read OCRAM?

Best regards,
Aldo.

0 Kudos
3,813 Views
vignesh-baskaran
Contributor III

Hi @AldoG,

 

Thank for confirming the eFUSE word values.

We don't have JTAG right at this moment. is there any other way to debugg this issue?

it is high priority tasks for us and a show stopper for our project. We were unable to boot from any other interfaces.

Please let us know ASAP.

 

Thanks

0 Kudos
3,803 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

The best way to check what is going wrong when you attempt to boot from fuses would be reading ROM log from OCRAM you may refer to the following on how to do so:
https://community.nxp.com/t5/i-MX-Processors/i-MX6Q-NAND-boot-issues/m-p/256639

Regarding your issue, what is the value for BOOT_MODE[1:0]?
 
Best regards,
Aldo.

0 Kudos
3,796 Views
vignesh-baskaran
Contributor III

Hi @AldoG,

 

We kept BOOT_MODE[1:0] as 00, we also tried other combinations as well.

0 Kudos
3,782 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Got it, thank you for sharing, unfortunately I do not have much else to share or to try unless trying to read the ROM log in the OCRAM, this will greatly help to understand what is going wrong when trying to boot.

Best regards,
Aldo.

0 Kudos
3,726 Views
vignesh-baskaran
Contributor III

Hi @AldoG,

We Connect JTAG and read the memory address from 0x00900000 (128KB) to 0x00920000 (128KB).

0x00900000 (128KB) to 0x00920000 (128KB) memory log i attached as file.

1.) Can You Please check this one?

and

2.) We used DD command to flash the U-Boot at particular offset. Can you Confirm this one too?

 

dd if=imx-boot-imx8mm-lpddr4-evk-sd.bin-flash_evk of=/dev/sde bs=1k seek=1 conv=fsync

 

 

0 Kudos
3,716 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Thank you for sharing, please note that I would need you to share the address for me to check on OCRAM, you'll need to read ROM log address from address 0x9E0.

So please read 0x9E0 and share the output so I could read the ROM log you have shared.

Regarding number 2, it is incorrect, for i.MX8MM the offset for seek should be 33, so the command should be as follow:
dd if=imx-boot-imx8mm-lpddr4-evk-sd.bin-flash_evk of=/dev/sde bs=1k seek=33 conv=fsync

Best regards,
Aldo.

0 Kudos
3,691 Views
vignesh-baskaran
Contributor III

Hi @AldoG,

 

Please refer below attached file for reference.

0 Kudos
3,681 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

Thank you for sharing, I'll share the log here so you can see the result shown by your device:

Read from address 0x9E0 (in 32-bit format)

0x0090E558 (ROM log is stored in this OCRAM address)

Reading this address, from the previous file you have shared, I get the following information:

00 00 00 E0 ---> internal use

00 00 00 10 ---> Boot from Fuse 

00 00 00 22 ---> Secure config is Open

00 00 00 41 ---> FUSE_SEL_VALUE Fuse is blown

00 00 00 50 ---> Boot from the primary boot image

00 00 00 64 ---> Primary boot from ECSPI NOR device

00 00 00 90 ---> Start reading from boot device

00 00 00 00 ---> image offset

00 00 00 91 ---> Reading data complete

5D 01 00 00 ---> Time tick

00 00 00 A0 ---> Checking image authentication

33 05 0A 00 ---> Authentication result (fails)

5F 01 00 00 ---> Time tick

00 00 00 72 ---> No recovery boot device

00 00 00 73 ---> Manufacture boot from SD/eMMC

00 00 00 80 ---> Device initialization start

5F 01 00 00 ---> Time tick

14 30 02 8F ---> Device initialization fails

C7 04 00 00 ---> Time tick

00 00 00 D0 ---> Enters serial download

This does help understand more of why is your device failing into serial download, there are 2 things that I would like you to check.

  1. If using any kind of secure boot make sure you have done everything correctly, because authentication fails.
  2. Make sure that uboot is correctly flashed in your ECSPI.


Best regards,
Aldo.

0 Kudos
3,670 Views
vignesh-baskaran
Contributor III

Hi @AldoG,

 

SEC_CONFIG[1:0] is programmed for open in our case and we are not using secure boot.

 

We referring Table 6-25 for our reference. Please refer below image.

WhatsApp Image 2023-04-04 at 10.09.36 AM.jpeg

 So we thought Offset was 1 and used DD command to flash u-boot:

dd if=imx-boot-imx8mm-lpddr4-evk-sd.bin-flash_evk of=/dev/mtd1 bs=1k seek=1 conv=fsync

 

and took the above log.

You confirmed that offset was 33, So we changed again and read OCRAM. We see same values as before.

 

So, Can you confirm:

1.) Using prebuild binary "imx-boot-imx8mm-lpddr4-evk-sd.bin-flash_evk" is right option to consider for ECSPI2? If not, Can you suggest some other option.

2.) We can able to see "00 00 00 00 ---> image offset" Does this mean we need to change anything else?

0 Kudos
3,659 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

It is not correct, for ECSPI you may use the one for FSPI, the name should be as follow:
imx-boot-imx8mm-lpddr4-evk-fspi.bin-flash_evk_flexspi

Also, I made a mistake in my previous comment I thought that you were trying to flash an SD card. If you’re trying to flash your SPI flash using kernel command line it should be enough to use default one:

dd if=<Binary Name> of=/dev/mtdX
Where X is the MTD partition for the uboot bootloader.

Best regards,
Aldo.

0 Kudos
3,633 Views
vignesh-baskaran
Contributor III

Hi @AldoG,

 

We tried what you suggested but we were unable to boot the device.

 

We can able to detect the device ECSPI2 as mtd1 on another board, which is not eFUSE yet.

We can able to perform read and write operation into ECSPI2 at /dev/mtd1.

 

But the boot operation is not happening on the eFUSE device.

 

we  tried following command:

 

dd if=imx-boot-imx8mm-lpddr4-evk-fspi.bin-flash_evk_flexspi of=/dev/mtd1
dd if=imx-boot-imx8mm-lpddr4-evk-fspi.bin-flash_evk_flexspi of=/dev/mtd1 bs=1k seek=1

 

 

So We believe :

1.) eFUSE values are correct,

2.) u-boot Image also correct which is "imx-boot-imx8mm-lpddr4-evk-fspi.bin-flash_evk_flexspi".

3.) offset for flashing the device are correct, we tried with different offset for this one.

 

Can you confirm this one:

1.) it is saying authentication failure inside the ROM log. Is it a problem even though we did not enabled secure boot ?

2.) Do we need to do partition on this device?

0 Kudos
3,625 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

If secure boot is not enabled then no, it does not matter.
I would say that it is best to have it partitioned and flash the corresponding partition with your bootloader.
Also, have you tried using UUU for flashing to check if it is working correctly?

Best regards,
Aldo.

0 Kudos
3,598 Views
vignesh-baskaran
Contributor III

Hi @AldoG,

 

We were trying to do same with uuu to flash uuu. For that we used "uuu example_spinor.uuu" with "imx-boot-imx8mm-lpddr4-evk-fspi.bin-flash_evk_flexspi" imgae.

But we were unable to detect the ECSPI2 on uuu. Please refer below image.

WhatsApp Image 2023-04-06 at 9.58.21 AM.jpeg

We referring the following link: https://community.nxp.com/t5/i-MX-Processors/Boot-iMX-8M-mini-from-nor-flash-via-ECSPI2/m-p/1303899

 

And,

 

We  probed in-between processor(GPIO Expansion header) and ECSPI2(MT25QL02GCBB8E12-0SIT).

We can able to see the ECSPI2 memory device responding at  probing function during linux boot up for Non eFUSED device. and it detected as mtd1.

At eFUSED device we can able to see single byte transfer at MISO as 0x40 after power up. after that we didn't see any signal transfer at MISO.

 

 

Best Regards,

Vignesh

0 Kudos
3,422 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello,

The script is the correct one. Also, I see in the image that the memory found was probed, erased and started to flash it.

I do not see any error in the image you have shared.

Best regards,
Aldo.

0 Kudos
3,406 Views
vignesh-baskaran
Contributor III

HI @AldoG,

The image represents on-board QSPI memory.

But we were targeting ECSPI2 which we connected. But it didn't getting detected in uuu.

How to let know uuu there is ECSPI2 connected ?

0 Kudos
3,366 Views
AldoG
NXP TechSupport
NXP TechSupport

Hello @vignesh-baskaran,

Please do help me trying the following and share the results with me:

1> Load uboot while chip is in serial download using UUU
2> Once uboot is loaded stop fastboot by presing ctrl+c in the terminal
3> Perform uboot "fuse read 40 0 4"

Do this steps in both working and non working boards and share the results of the fuse read.

Best regards,
Aldo.

0 Kudos
3,351 Views
vignesh-baskaran
Contributor III

Hi @AldoG,

We getting same results for both. For Both we connected with ecspi2.

sudo ./uuu -b qspi ~/Downloads/LF_v5.15.71-2.2.0_images_IMX8MMEVK/imx-boot-imx8mm-lpddr4-evk-fspi.bin-flash_evk_flexspi
u-boot=> fuse read 40 0 4
Reading bank 40:

Word 0x00000000: 00000000 00000000 00000000 00000000

 

0 Kudos