[BUG] pxa3xx: wait time out when scanning for bb

Sean Nyekjær sean.nyekjaer at prevas.dk
Tue Dec 12 00:44:43 PST 2017


Hi Miquel,

>> This behavior is "normal", it is because the number of failure has
>> been incremented (probably by marvell_nfc_hw_ecc_correct()).
>>
>>
>> Can you hack the code right before this line [1] and add:
>> 1/ A dump of both the data buffer and the oob buffer (entirely)
>> 2/ Add a memset(mtd->oob_poi, 0xff, mtd->oobsize) conditionally until
>> the probe is finished (you may want to add a global boolean value that
>> changes its state after the nand_scan_tail() call).
> Instead of hacking this way, to boot until you get a prompt, you may
> add this property to the nand controller node:
>
> nand-ecc-mode = "none";
>
> Then please use nanddump over a programmed page, including the OOB area.
>
>
Boot log:
[    2.692856] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
[    2.699231] nand: Micron MT29F2G08ABAEAH4
[    2.703286] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, 
OOB size: 64
[    2.711135] nand: NAND_ECC_NONE selected by board driver. This is not 
recommended!
[    2.718730] nand: WARNING: pxa3xx_nand-0: the ECC used on your system 
is too weak compared to the one required by the NAND chip
[    2.732632] Bad block table not found for chip 0
[    2.739609] Bad block table not found for chip 0
[    2.744250] Scanning device for bad blocks
[    2.985502] Bad block table written to 0x00000ffe0000, version 0x01
[    2.992760] Bad block table written to 0x00000ffc0000, version 0x01

Nanddump:
root at output-module:~# nanddump -oa /dev/mtd1
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x0ff00000...
UBIXS...

I guess it's safe to say something is not right with ECC enabled.
>> Then please do a raw dump with nanddump from Linux.
>>
>>
/Sean



More information about the linux-mtd mailing list