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?
已解决! 转到解答。
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.
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.
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
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.
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.
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
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.
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.
Best regards,
Aldo.
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.
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?
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.
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?
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.
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.
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
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.
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 ?
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.
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