[PATCH] MTD: NAND: fsl_elbc_nand: fix OOB workability for large page NAND chips
Anton Vorontsov
avorontsov at ru.mvista.com
Fri Jun 27 11:04:30 EDT 2008
On Fri, Jun 27, 2008 at 09:43:28AM -0500, Scott Wood wrote:
> Anton Vorontsov wrote:
>> On Thu, Jun 26, 2008 at 01:59:45PM -0500, Scott Wood wrote:
>>> Anton Vorontsov wrote:
>>>> For large page chips, nand_bbt is looking into OOB area, and checking
>>>> for "0xff 0xff" pattern at OOB offset 0. That is, two bytes should be
>>>> reserved for bbt means.
>>> Interesting... both the 8313 manual and the manual for a random large
>>> page NAND chip say that the bad block indicator is one byte.
>>
>> Ok, great. If I understood David correctly, second byte is used (by some
>> chips?) for redundancy, thus should not be a big problem if we'll ignore
>> it. So, would you ack this part? Then I'll resend it with some typos
>> fixed. ;-)
>
> Acked-by: Scott Wood <scottwood at freescale.com>
Thanks, but it seems we can't ignore the second byte. :-( See the patch
I just sent.
>>> BTW, I was just looking at NAND boot on this chip, and it seems that
>>> it expects ECCM=1 for large page devices, so we should make that the
>>> default (preferably at the same time as we fix this problem, so that
>>> we don't break compatibility with a working version).
>>
>> Ugh. I think driver should support both. If we'll change (force) this in
>> Linux, we'll break older u-boots (especially FSL U-Boots with NAND
>> support enabled).
>
> I'm not aware of a Freescale board with large page NAND...
MPC8610HPCD comes with 1*4GB LP NAND.
>> I believe that simply changing ECCM to 1 in the newer
>> community u-boots would be less pain for everybody, no?
>
> OK, though we'll have to load the existing FMR[ECCM] into priv->fmr on
> init, rather than starting with zero.
Yeah. But this is another issue.
--
Anton Vorontsov
email: cbouatmailru at gmail.com
irc://irc.freenode.net/bd2
More information about the linux-mtd
mailing list