[U-Boot] [PATCH 1/3] mtd/nand : Add function board_nand_init_tail() for some special NAND controllers

Scott Wood scottwood at freescale.com
Tue Nov 22 22:11:20 CET 2011


On 11/22/2011 03:03 PM, Mike Frysinger wrote:
> On Tuesday 22 November 2011 03:54:14 Shengzhou Liu wrote:
>> In some NAND controllers there is a size limitation of RAM buffer(2K
>> bytes). To support large-page NAND chips with greater than 2K pagesize, we
>> need a large buffer, but we don't know pagesize before calling
>> nand_scan_ident(), for more flexible and to identify different cases of
>> large-page greater than 2K bytes, we have a board_nand_init_tail() between
>> nand_scan_ident() and nand_scan_tail().
> 
> iirc, newer Linux mtd tree handles this better by breaking up the code paths 
> so individual drivers can call things in the right order.  perhaps we should 
> update our mtd stack so we can do that ?

We already have that on the mtd side -- this patch uses it.  The issue
is the U-Boot glue code calling nand_scan() rather than letting the
drivers control the process.

This patch is less intrusive than changing all the drivers, but if
someone wants to actually do that (without breaking anything), or more
realistically set up a transition mechanism, that'd be great. :-)

-Scott



More information about the U-Boot mailing list