problem booting with Micron MT29F8G08ABABAWP ...

raespi raespi at icid.cu
Fri Mar 14 16:30:53 EDT 2014


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 at icid.cu> 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
>
>





More information about the barebox mailing list