AnsweredAssumed Answered

Nand boot with evk board

Question asked by 国承 张 on Aug 2, 2019
Latest reply on Aug 9, 2019 by 国承 张


       I have removed the qspi flash from evk board and solder U302 W29n01hv NAND FLASH on the EVK board, that the flash pins is the same with MT29G08CBADBWP

and now I recompile the uboot follow the steps:

1: make distclean;

2: make mx6ull_14x14_evk_nand_defconfig

3: make

and replaced the firmware/u-boot-imx6ull14x14evk_nand with u-boot-dtb.imx, and the same with files u-boot-imx6ull14x14evk_nand.imx


then I got the log like this:

U-Boot 2018.03-imx_v2018.03_4.14.98_2.0.0_ga+g87a19df (Aug 02 2019 - 15:52:23 +0800)

CPU: Freescale i.MX6ULL rev1.0 900 MHz (running at 396 MHz)
CPU: Commercial temperature grade (0C to 95C) at 48C
Reset cause: POR
Model: Freescale i.MX6 ULL 14x14 EVK Board
Board: MX6ULL 14x14 EVK
DRAM: 512 MiB
NAND: 128 MiB
Loading Environment from NAND... cannot support the NAND, missing necessary info
Bad block table not found for chip 0
Bad block table not found for chip 0
nand_bbt: error while writing bad block table -5
*** Warning - bad CRC, using default environment

Failed (-5)
Display: TFT43AB (480x272)
Video: 480x272x24
In: serial
Out: serial
Err: serial
Warning: ethernet@020b4000 using MAC address from ROM
eth1: ethernet@020b4000 [PRIME]
Warning: ethernet@02188000 using MAC address from ROM
, eth0: ethernet@02188000
Boot from USB for mfgtools
Use default environment for mfgtools
Run bootcmd_mfg: run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else bootz ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
Hit any key to stop autoboot: 0

## Checking Image at 86800000 ...
Unknown image format!
Run fastboot ...
Unknown command 'fastboot' - try 'help'



so It seems Nand has been recognized, but not configured correctly? 

EXTENDED_ID_NAND("NAND 128MiB 3,3V 8-bit",  0xF1, 128, 0x0),


should I added those item like this:


{"W29N01HVSINA 1G 3.3V 8-bit",
{ .id = {0xEF, 0xF1, 0x00, 0x95, 0x00, 0x00, 0x00, 0x00} },
SZ_2K, SZ_128, SZ_128K, 0, 5, 64, NAND_ECC_INFO(1, SZ_512),
2 },

pagesize: 2048

chipsize: 1Gbit, 128

erasesize: 128 

option: 0x0

id_len: 5

oobsize: 64

Nand_ECC_INFO: ? 

onfi_timing_defualt: ?


and the dts file is :