Unable to boot u-boot image from nand storage imx6ull.

Navin Sankar navin at linumiz.com
Sat May 1 11:32:42 CEST 2021


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?


-- 
Thanks and Regards,
Navin Sankar N V,


More information about the U-Boot mailing list