Hi,
My target is boot from NANDFLASH, the chip is MT29F8G08ABACAH4-IT:C. So, I have to program the fuses in BOOT_CFG1 and BOOT_CFG2, as table 8-10 of the reference manual show. I would like to be sure, before programming fuses because I only have a few prototypes of my custon imx6solo board.
I paste an image with the values I think are correct squared in red color.
Assuming RAW mode, 16 GPMICLK cycles, reset time 12ms, the values for BOOT_CFG1 and BOOT_CFG2 are:
BOOT_CFG1 | ||||||||
Bit position | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Value=0x80 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
BOOT_CFG2 | ||||||||
Bit position | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Value=0x02 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Using uboot command to program fuses:
=>fuse prog 0 5 0x00000280
Questions:
I discovered the application Boot_Tester.exe that show the boot log, I paste the output of the tool.
---
MX6DL opened.
HAB_TYPE: DEVELOP
Image loading...
download Image to IRAM OK
Re-open imx device.
Running BOOT DEBUG., press "ESC" key to exit.
*********************************************
Boot Debug (1.6.2) for MX6DL
Build: Nov 24 2015, 17:40:23
Freescale Semiconductor, Inc.
*********************************************
WDOG Fuse Disabled
Boot_cfg_1 = 0x80
Boot_cfg_2 = 0x02
Boot_cfg_3 = 0x00
Boot_cfg_4 = 0x00
SBMR2 = 0x00000001
BMOD = 00 Boot from Fuses
BT_FUSE_SEL = 0
DIR_BT_DIS = 0
SEC_CONFIG = 01
Persistent Reg Value: 0x00000000
iROM Version = 0x13
ANALOG_DIGPROG = 0x00610003
Device = MX6 Solo/Duallite
Si Revision = 1.3
Log Entry #0 (0x00010000) BOOTMODE - Internal Fuse
Log Entry #1 (0x000200f0) Security Mode - Open
Log Entry #2 (0x00030000) DIR_BT_DIS = 0
Log Entry #3 (0x00040000) BT_FUSE_SEL = 0
Log Entry #4 (0x00062001) MFG Mode USDHC
Log Entry #5 (0x00070000) Device INIT Call
Log Entry #6 (0x00070033) Device INIT Fail
Log Entry #7 (0x000c0000) Serial Downloader Entry
Log Entry #8 (0x00090000) HAB Authentication Status Code:
(0x00032233) Invalid Address
Log Entry #10 (0x000d0000) Serial Downloader Call
(0x0091712c) Address: 0x0091712c
Type 0 to Exit
Type 1 to Read Memory
Type 2 to Write Memory
Type 3 to Read Boot Page
Type 4 to Memory Dump
Type 5 to OCOTP Bank Display
Hi Igor,
If the row cycles are 3, I assume the commnad "fuse prog 0 5 0x00000280" is correct.
addr offset of the CFG1, CFG2, CFG3 and CFG4 is 0x450, and base address is 0x400, so bank=0 word=5.
I read the i.MX6Q NAND boot issues and it says that there is a boot log of the ROM code.i.MX6Q NAND boot issues
Is there any documentation available on interpreting the ROM log buffer contents?
BR
Diego.
Hi Igor,
I have tried to program the fuses with the command:
fuse prog 0 5 0x00000280
But it does not boot from nand
Also the nand has been programmed with "kobs-ng -x -v u-boot.imx"
It could be the row address cyles. Now I have value 3 and as I see in table 2 of the datasheet it should be 2. is it correct, I'm not sure I understand the table2.
BR
Hi Diego
Table 2 shows 3 rows cycles (3,4,5). One can try nand programming using mfg tool
i.MX 6 / i.MX 7 Series Software and Development Tool|NXP
may be useful to look at nand boot debug steps
https://community.nxp.com/thread/307723
Best regards
igor
Hi Diego
I think your settings are correct.
BOOT_CFG1[5] - for toggle more please check sect.4.10.3 Samsung Toggle Mode AC Timing
i.MX6SDL Datasheet
http://www.nxp.com/docs/en/data-sheet/IMX6SDLCEC.pdf
BOOT_CFG2[7:5] for toggle nand, MT29F8G08ABACAH4 is raw nand
BOOT_CFG1[1:0] raw cycles can be found in MT29F8G08ABACAH4 datasheet Table 2: Array Addressing
BOOT_CFG2[0] default setting will be fine
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------