LS1043ARDB NAND not booting if program with cwflash.py

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

LS1043ARDB NAND not booting if program with cwflash.py

Jump to solution
1,715 Views
CheeSiong
Contributor II

LS1043ARDB NAND not booting if program with cwflash.py

If boot from NOR and program NAND from uboot, it can boot from NAND without problem. Same NAND uboot image file (firmware_ls1043ardb_uboot_nandboot.img) is used for both scenario. 

If program NOR with cwflash.py, it can boot from NOR.

Commands used are:

fl_erase 0x0 0x3214e40
fl_write 0x0 firmware_ls1043ardb_uboot_nandboot.img

 

My LS1043ARDB is SCH-39019 REV F. According to schematic, the NAND is MT29F4G08ABBDA.  The dmesg also shows it's MT29F4G08ABBDA.
However, in Freescale\CW4NET_v2020.06\CW_ARMv8\Config\boards\LS1043A_RDB_init.py, it has an option

BOARD_REV_PD = True

with comment "LS1043A RDB-PD uses a new NAND flash device"

If BOARD_REV_PD = True, it use MT29F4G08ABBFAv1 instead of MT29F4G08ABBDAv1.
If BOARD_REV_PD = False, it use MT29F4G08ABBDAv1.

If BOARD_REV_PD = True is used, NAND program success (but verify failed) but unable to boot.
If BOARD_REV_PD = False is used, NAND program failed with error [FP: found bad block]

 

0 Kudos
Reply
1 Solution
1,559 Views
yipingwang
NXP TechSupport
NXP TechSupport

I have reported this defect to the  CodeWarrior development team.

They will resolve this issue in the next released version CodeWarrior.

View solution in original post

6 Replies
1,672 Views
CheeSiong
Contributor II

When NAND is not bootable, there is no way of getting NAND boot successfully using cwflash.py

The only way to get NAND boot working is to program NAND from uboot.

When NAND is bootable, trying to program NAND using cwflash.py get the following results:
If BOARD_REV_PD = False is used, NAND program successfully and able to boot to uboot.
If BOARD_REV_PD = True is used, NAND program successfully but unable to boot. When this happened, the only way is to program NAND from uboot.

My LS1043ARDB is SCH-39019 REV F, may be BOARD_REV_PD = False should be used for my board.
But BOARD_REV_PD = False still failed NAND programming when NAND is not bootable.

0 Kudos
Reply
1,665 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please configure the switch setting to configure the LS1043ARDB boot from NAND.

In CodeWarrior initialization file, do the following modification.

USE_SAFE_RCW = False

Modify to

USE_SAFE_RCW = True

0 Kudos
Reply
1,663 Views
CheeSiong
Contributor II

Hi YiPing,

By setting USE_SAFE_RCW = True, I can start the CodeWarrior Flash with cwflash.py.
But it still can not boot up if not using CodeWarrior or CodeWarrior flash.
What I means is the board can't boot from NAND to uboot

0 Kudos
Reply
1,693 Views
CheeSiong
Contributor II

Hi YiPing, Thanks for reply.

I'm new to this.
I still not able to find the way to take the dump using CCS.
Can you please share how to do IFC controller register dump for the 2 cases?
Or any doc/link can I reference?

For 
1. Boot from NOR and then Program NAND from u-boot prompt. Then boot form NAND
I use md command to read the memory by IFC address, is this correct?

=> md 1530000
01530000: 00000401 00000000 00000000 00000000 ................
01530010: 8300807e 00000000 00000000 01010060 ~...........`...
01530020: 00000000 00000000 8500b07f 00000000 ................
01530030: 00000000 00000000 00000000 00000000 ................
01530040: 00000000 00000000 00000000 00000000 ................
01530050: 00000000 00000000 00000000 00000000 ................
01530060: 00000000 00000000 00000000 00000000 ................
01530070: 00000000 00000000 00000000 00000000 ................
01530080: 00000000 00000000 00000000 00000000 ................
01530090: 00000000 00000000 00000000 00000000 ................
015300a0: 0000ffff 00000000 00000000 000000f8 ................
015300b0: 00000000 00000000 0000ffff 00000000 ................
015300c0: 00000000 00000000 00000000 00000000 ................
015300d0: 00000000 00000000 00000000 00000000 ................
015300e0: 00000000 00000000 00000000 00000000 ................
015300f0: 00000000 00000000 00000000 00000000 ................
=> md 1530100
01530100: 00000000 00000000 00000000 00000000 ................
01530110: 00000000 00000000 00000000 00000000 ................
01530120: 00000000 00000000 00000000 00000000 ................
01530130: 00210885 00001000 00000000 0c800000 ..!.............
01530140: 00000000 00000000 0c800000 00000000 ................
01530150: 00000000 0c000000 00000000 00000000 ................
01530160: 0c000000 00000000 00000000 0c000000 ................
01530170: 00000000 00000000 0c000000 00000000 ................
01530180: 00000000 0c000000 00000000 00000000 ................
01530190: 00000000 00000000 00000000 00000000 ................
015301a0: 00000000 00000000 00000000 00000000 ................
015301b0: 00000000 00000000 00000000 00000000 ................
015301c0: 0a07180e 180e3932 1e50e001 00000000 ....29....P.....
015301d0: 00000000 00000000 00000000 00000000 ................
015301e0: 00000000 00000000 00000000 00000000 ................
015301f0: 0c000110 090b001c 10201001 00000000 .......... .....
=> md 1530200
01530200: 00000000 00000000 00000000 00000000 ................
01530210: 00000000 00000000 00000000 00000000 ................
01530220: 0f000ff0 003f00ff ff003c0f 00000000 ......?..<......
01530230: 00000000 00000000 00000000 00000000 ................
01530240: 00000000 00000000 00000000 00000000 ................
01530250: 00000000 00000000 00000000 00000000 ................
01530260: 00000000 00000000 00000000 00000000 ................
01530270: 00000000 00000000 00000000 00000000 ................
01530280: 00000000 00000000 00000000 00000000 ................
01530290: 00000000 00000000 00000000 00000000 ................
015302a0: 00000000 00000000 00000000 00000000 ................
015302b0: 00000000 00000000 00000000 00000000 ................
015302c0: 00000000 00000000 00000000 00000000 ................
015302d0: 00000000 00000000 00000000 00000000 ................
015302e0: 00000000 00000000 00000000 00000000 ................
015302f0: 00000000 00000000 00000000 00000000 ................
=> md 1530400
01530400: 000000ff 00000000 00000000 00200000 .............. .
01530410: 00000000 00000000 00000000 00000000 ................
01530420: 00000000 00000080 00000000 00000000 ................
01530430: 00000000 00000000 00000000 00000000 ................
01530440: 00000000 00000000 00000000 00800003 ................
01530450: 00000080 00008000 00000000 00000000 ................
01530460: 00000000 00000000 00000000 00000000 ................
01530470: 00000000 00000000 00000000 00000000 ................
01530480: 00000000 00000000 00000000 00000000 ................
01530490: 00000000 00000000 00000000 00000000 ................
015304a0: 00000000 00000000 00000000 00000000 ................
015304b0: 00000000 00000000 00000000 00000000 ................
015304c0: 00000000 00000000 00000000 00000000 ................
015304d0: 00000000 00000000 00000000 00000000 ................
015304e0: 00000000 00000000 00000000 00000000 ................
015304f0: 00000000 00000000 00000000 00000000 ................
=> md 1531000
01531000: 00000000 00000000 00000000 00000000 ................
01531010: 00000000 00003000 00000000 00000000 .....0..........
01531020: 00000000 00000000 00000000 00000000 ................
01531030: 00000000 00000000 00000000 1f120000 ................
01531040: 00000000 00000000 00000000 00000000 ................
01531050: 00000000 00000000 00000000 00000000 ................
01531060: 00000000 00000000 00000000 00000000 ................
01531070: 00000000 00000000 00000000 00000000 ................
01531080: 00000000 00000000 00000000 00000000 ................
01531090: 00000000 00000000 00000000 00000000 ................
015310a0: 00000000 00000000 00000000 00000000 ................
015310b0: 00000000 00000000 00000000 00000000 ................
015310c0: 00000000 00000000 00000000 00000000 ................
015310d0: 00000000 00000000 00000000 00000000 ................
015310e0: 00000000 00000000 00000000 00000000 ................
015310f0: 00000000 00000000 00000000 00000000 ................
=> md 1531100
01531100: 00000000 00000000 00000000 00000000 ................
01531110: 684a1144 00000000 00000000 00000000 D.Jh............
01531120: 00000000 00000000 00000000 00000000 ................
01531130: 00000000 00000000 00000000 00000000 ................
01531140: 00000000 00000000 00000000 00000000 ................
01531150: 00000000 00000000 00000000 00000000 ................
01531160: 00000000 00000000 00000000 00000000 ................
01531170: 00000000 00000000 00000000 00000000 ................
01531180: 000000ac 00000000 00000000 00000000 ................
01531190: 00000000 00000000 00000000 00000000 ................
015311a0: 00000000 00000000 00000000 00000000 ................
015311b0: 00000000 00000000 00000000 00000000 ................
015311c0: 00000000 00000000 00000000 00000000 ................
015311d0: 00000000 00000000 00000000 00000000 ................
015311e0: 00000000 00000000 00000000 00000000 ................
015311f0: 00000000 00000000 00000000 00000000 ................
=> md 1531200
01531200: 00000000 00000000 00000000 00000000 ................
01531210: 00000000 00000000 00000000 00000000 ................
01531220: 00000000 00000000 00000000 00000000 ................
01531230: 00000000 00000000 00000000 00000000 ................
01531240: 00000000 00000000 00000000 00000000 ................
01531250: 00000000 00000000 00000000 00000000 ................
01531260: 00000000 00000000 00000000 00000000 ................
01531270: 00000000 00000000 0000001e 00000000 ................
01531280: 00000000 00000000 00000000 00000000 ................
01531290: 00000000 00000000 00000000 00000000 ................
015312a0: 00000000 00000000 00000000 00000000 ................
015312b0: 00000000 00000000 00000000 00000000 ................
015312c0: 00000000 00000000 00000000 00000000 ................
015312d0: 00000000 00000000 00000000 00000000 ................
015312e0: 00000000 00000000 00000000 00000000 ................
015312f0: 00000000 00000000 00000000 00000000 ................
=> md 1531300
01531300: 00000780 00000080 00000000 00000000 ................
01531310: 00000000 00000000 00000000 00000000 ................
01531320: 00000000 00000000 00000000 00000000 ................
01531330: 00000000 00000000 00000000 00000000 ................
01531340: 00000000 00000000 00000000 00000000 ................
01531350: 00000000 00000000 00000000 00000000 ................
01531360: 00000000 00000000 00000000 00000000 ................
01531370: 00000000 00000000 00000000 00000000 ................
01531380: 00000000 00000000 00000000 00000000 ................
01531390: 00000000 00000000 00000000 00000000 ................
015313a0: 00000000 00000000 00000000 00000000 ................
015313b0: 00000000 00000000 00000000 00000000 ................
015313c0: 00000000 00000000 00000000 00000000 ................
015313d0: 00000000 00000000 00000000 00000000 ................
015313e0: 00000000 00000000 00000000 00000000 ................
015313f0: 00000000 00000000 00000000 00000000 ................
=> md 1531400
01531400: 00000080 00000000 00000000 00000085 ................
01531410: 00000000 00000000 00000000 00000000 ................
01531420: 00000000 00000000 00000000 00000000 ................
01531430: 00000000 00000000 00000000 00000000 ................
01531440: 00000f00 00000000 00000000 00000000 ................
01531450: 00000000 00000000 00000000 00000000 ................
01531460: 00000000 00000000 00000000 00000000 ................
01531470: 00000000 00000000 00000000 00000000 ................
01531480: 00000000 00000000 00000000 00000000 ................
01531490: 00000000 00000000 00000000 00000000 ................
015314a0: 00000000 00000000 00000000 00000000 ................
015314b0: 00000000 00000000 00000000 00000000 ................
015314c0: 00000000 00000000 00000000 00000000 ................
015314d0: 00000000 00000000 00000000 00000000 ................
015314e0: 00000000 00000000 00000000 00000000 ................
015314f0: 00000000 00000000 00000000 00000000 ................
=> md 1531800
01531800: 00000000 00000000 00000000 00004005 .............@..
01531810: 00000000 00000000 00000000 00000000 ................
01531820: 00000000 00000000 00000000 00000000 ................
01531830: 00000000 00000000 00000000 00000000 ................
01531840: 00000000 00000000 00000000 00000000 ................
01531850: 00000000 00000000 00000000 00000000 ................
01531860: 00000000 00000000 00000000 00000000 ................
01531870: 00000000 00000000 00000000 00000000 ................
01531880: 00000000 00000000 00000000 00000000 ................
01531890: 00000000 00000000 00000000 00000000 ................
015318a0: 00000000 00000000 00000000 00000000 ................
015318b0: 00000000 00000000 00000000 00000000 ................
015318c0: 00000000 00000000 00000000 00000000 ................
015318d0: 00000000 00000000 00000000 00000000 ................
015318e0: 00000000 00000000 00000000 00000000 ................
015318f0: 00000000 00000000 00000000 00000000 ................

0 Kudos
Reply
1,701 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please share IFC controller register dump in two cases:

1. Boot from NOR and then Program NAND from u-boot prompt. Then boot form NAND
2. Programming NAND from CW try to boot. (Please take dump using CCS as U-boot is not available)

0 Kudos
Reply
1,560 Views
yipingwang
NXP TechSupport
NXP TechSupport

I have reported this defect to the  CodeWarrior development team.

They will resolve this issue in the next released version CodeWarrior.