So what I'm understanding here is that it isn't enough to fix an oobsize
also the 4k support is needed. I'm guessing it's not something so
trivial then, I'll have to delve in deeper. Any tips on how to code it
as simple as possible?? I'm a programmer but I'm not familiarized with
the inner workings of a NAND flash or how to initialize it from the
bootloader.
On 03/14/2014 04:18 PM, Eric Bénard wrote:
Hello,
Le Fri, 14 Mar 2014 14:45:05 -0400,
raespi <raespi@xxxxxxx> a écrit :
Hello again ... diving through the drivers/mtd/nand/nand_base.c code I
managed to boot with this little modification in the
nand_flash_detect_onfi() function just before exiting from it:
if ( mtd->oobsize > 128 )
mtd->oobsize = 128;
then you tell your flash has an OOB of 128 when it has more ...
Apparently the only allowed oobsizes are 8, 16, 64 and 128 according to
the nand_scan_ident() function. I followed Eric's advice in seeing how
the i.Mx manages it and it's something like this:
NFC_V3_CONFIG2_SPAS(((mtd->oobsize > 218) ?
218 : mtd->oobsize) >> 1)
that's specific to the i.MX NAND controller : you need to adapt the
code of _your_ CPU's NAND controller to get it to properly support 4k
page flashes.
Eric
_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox