AnsweredAssumed Answered

i.MX6DL: flashing the NAND with kobs-ng does not work in mainline kernel 4.1.0

Question asked by Javier Martin on Jan 5, 2016

Hello,

we have a custom platform based on an i.MX6DL which has got the following NAND flash as detected by Linux:

 

nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc

nand: Micron MT29F4G08ABADAWP

nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64

 

In that platform we are trying to flash our custom SPL image so that the system can boot from NAND instead of booting from the SD card.


In order to flash the NAND we are using two different SD card images:

  1. Yocto BSP Image based on kernel 3.14.38.
  2. Our custom image which is based on mainline kernel 4.1.0

 

The procedure we use to flash the SPL image is in both cases the following:

 

flash_erase /dev/mtd0 0 0 2>/dev/null
kobs-ng init -x /root/SPL --search_exponent=1 -v

 

And the version of "kobs-ng" is the same in both SD card images:

 

kobs-ng version : [ 1.3 ] git hash (3587349d075b7b2d22210ab77e55ef78b9cbbd9e)

 

Downloaded from: http://www.nxp.com/lgfiles/NMG/MAD/YOCTO/imx-kobs-5.1.tar.gz

 

 

When we flash the SPL using the SD card image 1 everything works as expected. The system can properly boot the SPL from NAND.

 

However, when we flash the SPL using the SD card image 2 it does not work and the data in NAND seems to be arranged differently when compared with the previous case.

 

I have attached the output of "nanddump -c /dev/mtd0" in both cases.

 

Is there something preventing "kobs-ng" from working with latest mainline kernels? Is there a new version that we can use that works with kernel 4.1.0? Using kernel 3.14.38 is not an option for us since we need the latest kernel 4.1.0 to have access to modern versions of some drivers.

Original Attachment has been moved to: nand-dump-bad.bin.zip

Original Attachment has been moved to: nand-dump-good.bin.zip

Outcomes