
Hello all,
Ported uboot to seeed studio based imx6ull https://www.seeedstudio.com/NPi-i-MX6ULL-Dev-Board-Industrial-Grade-Linux-SBC-NAND-Version-p-4220.html board.
NAND Part Number - mt29f4g08abaeawp
NAND Size - 512 MBytes
Both the SPL and U-BOOT image boot successfully from SD card.
While with nand flash, SPL boot's fine. But SPL didn't boot the u-boot from nand flash.
=> mtdparts
device nand0 <gpmi-nand>, # parts = 4 #: name size offset mask_flags 0: spl 0x00080000 0x00000000 0 1: uboot 0x00100000 0x00080000 0 2: uboot-dup 0x00100000 0x00180000 0 3: ubi 0x1fd80000 0x00280000 0
active partition: nand0,0 - (spl) 0x00080000 @ 0x00000000
defaults: mtdids : nand0=gpmi-nand mtdparts: gpmi-nand:512k(spl),1m(uboot),1m(uboot-dup),-(ubi)
And I flashed the SPL and u-boot image from SD card.
Here is flashing result,
Initially erased the nand chip
=> nand erase.chip
NAND erase.chip: device 0 whole chip Skipping bad block at 0x1ff00000 Skipping bad block at 0x1ff40000 Skipping bad block at 0x1ff80000 Skipping bad block at 0x1ffc0000
OK
Then flashed the SPL
=> ext4load mmc 0:1 $loadaddr SPL 35840 bytes read in 4 ms (8.5 MiB/s) => nand erase.part spl
NAND erase.part: device 0 offset 0x0, size 0x80000 Erasing at 0x40000 -- 100% complete. OK => nandbcb init $loadaddr 0x0 $filesize device 0 offset 0x0, size 0x8c00 Skipping bad block at 0x1ff00000 Skipping bad block at 0x1ff40000 Skipping bad block at 0x1ff80000 Skipping bad block at 0x1ffc0000
Write firmware0 @0x200000 offset, 0x9000 bytes written: OK Write firmware1 @0x10100000 offset, 0x9000 bytes written: OK NAND FCB write to 0x400 offset 0x0 written: OK NAND FCB write to 0x400 offset 0x40000 written: OK NAND FCB write to 0x400 offset 0x80000 written: OK NAND FCB write to 0x400 offset 0xc0000 written: OK NAND DBBT write to 0x100000 offset 0x1000 written: OK DBBT data write to 0x104000 offset 0x1000 written: OK NAND DBBT write to 0x140000 offset 0x1000 written: OK DBBT data write to 0x144000 offset 0x1000 written: OK NAND DBBT write to 0x180000 offset 0x1000 written: OK DBBT data write to 0x184000 offset 0x1000 written: OK NAND DBBT write to 0x1c0000 offset 0x1000 written: OK DBBT data write to 0x1c4000 offset 0x1000 written: OK
Afterwards flashed the uboot image,
=> ext4load mmc 0:1 $loadaddr u-boot-dtb.img 624580 bytes read in 29 ms (20.5 MiB/s) => nand erase.part uboot
NAND erase.part: device 0 offset 0x80000, size 0x100000 Erasing at 0x140000 -- 100% complete. OK => nand erase.part uboot-dup
NAND erase.part: device 0 offset 0x180000, size 0x100000 Erasing at 0x240000 -- 100% complete. OK => nand write $loadaddr uboot $filesize
NAND write: device 0 offset 0x80000, size 0x987c4 624580 bytes written: OK
Everything work's fine, but it didn't boot the u-boot image from nand storage.
U-Boot SPL 2021.07-rc1-02889-gf6058bbb94-dirty (May 01 2021 - 14:12:55 +0530) Trying to boot from NAND
Any hint?