6ull nand boot fail:FDT_ERR_BADSTRUCTURE

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

6ull nand boot fail:FDT_ERR_BADSTRUCTURE

Jump to solution
4,163 Views
longh
Contributor III

      We made a board of imx 6ull based on myir_y6ull coreboard, nand is "SCN01SA1T1AI7A",which used nand different from myir_y6ull. After using MFG tools to burn nand on our board, the board boot with the following error:

U-Boot 2016.03-mys-6ulx+g28cc50d (Aug 07 2018 - 14:24:19 +0800)

CPU: Freescale i.MX6ULL rev1.1 528 MHz (running at 396 MHz)
CPU: Commercial temperature grade (0C to 105C) at 43C
Reset cause: POR
Board: MYD-Y6ULL 14x14
DRAM: 256 MiB
NAND: 256 MiB
MMC: FSL_SDHC: 0
cannot support the NAND, missing necessary info
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: FEC0 MXC: board_eth_init failed
No ethernet found.
Normal Boot
Hit any key to stop autoboot: 0

NAND read: device 0 offset 0x600000, size 0xa00000
10485760 bytes read: OK

NAND read: device 0 offset 0x1000000, size 0x100000
1048576 bytes read: OK
Kernel image @ 0x80800000 [ 0x000000 - 0x6023c8 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300c113
fdt_find_or_add_subnode: memory: FDT_ERR_BADSTRUCTURE
ERROR: arch-specific fdt fixup failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

      I can correctly read the device tree header stored in nand using nand read in uboot.I don't know what causes this problem. The attachment is the burning process and startup log.

      Thanks!

Labels (2)
0 Kudos
Reply
1 Solution
3,554 Views
longh
Contributor III

Thank you very much. I will try to rebuild MFG kernel.

View solution in original post

0 Kudos
Reply
5 Replies
3,554 Views
igorpadykov
NXP Employee
NXP Employee

Hi long

one can try to add necessary entries for this nand to uboot/drivers/mtd/nand/nand_ids.c

nand_ids.c\nand\mtd\drivers - uboot-imx - i.MX U-Boot 

If this will not help, rebuild mfg tools firmware with the same changes in mfg tools uboot.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
Reply
3,554 Views
longh
Contributor III

Hi igorpadykov 

    Thanks for your reply!

I tried to modify the nand_ids.c and nand.h files of uboot as follows

pastedImage_2.pngpastedImage_3.png

and copied the compiled uboot to the fireware directory of MFG tool. When uboot started, it would not prompt "cannot support the nand, missing necessary info", but it would still prompt the same problem.

 

NAND read: device 0 offset 0x600000, size 0xa00000
10485760 bytes read: OK

NAND read: device 0 offset 0x1000000, size 0x100000
1048576 bytes read: OK
Kernel image @ 0x80800000 [ 0x000000 - 0x6023c8 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300c113
fdt_find_or_add_subnode: memory: FDT_ERR_BADSTRUCTURE
ERROR: arch-specific fdt fixup failed
- must RESET the board to recover.

FDT creation failed! hanging...### ERROR ### Please RESET the board ###

0 Kudos
Reply
3,554 Views
igorpadykov
NXP Employee
NXP Employee

also one can add support for that nand in linux/drivers/mtd/nand/nand_ids.c

nand_ids.c\nand\mtd\drivers - linux-imx - i.MX Linux kernel 

then rebuild mfg tool firmware using sect.6.2 Manufacturing Tool, MFGTool

attached Yocto Guide, replace new files in mfg tool/ ../firmware folder.

Best regards
igor

0 Kudos
Reply
3,555 Views
longh
Contributor III

Thank you very much. I will try to rebuild MFG kernel.

0 Kudos
Reply
3,554 Views
igorpadykov
NXP Employee
NXP Employee

also "cannot support the NAND, missing necessary info" error

can be easily debugged in mxs_nand_get_ecc_strength()

mxs_nand.c\nand\mtd\drivers - uboot-imx - i.MX U-Boot 

check that nand ecc and page size are supported and correctly

processed.

Best regards
igor

0 Kudos
Reply