[U-Boot] [PATCH 6/6] EA20: do not use subpage write for NAND

Scott Wood
2011-04-15T20:29:03Z

On Fri, 15 Apr 2011 19:34:48 +0200
Stefano Babic <sbabic@denx.de> wrote:

> On 04/13/2011 06:24 PM, Scott Wood wrote:
>
> Hi Scott,
>
> > Davinci-specific #defines do not belong in nand_base.c[1]. The controller
> > driver should be able to set "this isn't supported" options just as well as
> > the chip data -- I just don't think it should be limited to this specific
> > one.
>
> surely, but it is not clear to me how. There is no entry for a
> write_subpage function, as this issue does not happen with other
> controllers,

I don't see where subpage writes are done at all, actually.

> and I do not see a callback for the driver after the
> nand_scan() function, where I thought the driver could change the
> options according to its capabilities.

nand_scan() is broken into head and tail functions. In Linux, the driver
calls these, and can look at the chip info before tail is called. In
U-boot, common code drives this, and the controller driver is not involved
-- but it would be good to change this.

> > For example, fsl_elbc_nand.c sets NAND_NO_READRDY and NAND_NO_AUTOINCR.
> > Before this thread, I didn't realize it they were getting ignored.
> > Things
> > work anyway because the former is an optimization, and the latter is getting
> > forced on after the masking, for some reason -- does autoincr simply not
> > work? Can we remove the code? :-)
>
> Well, the options are simply ignored, I agree about removing them.

I think it can be enabled by the controller driver between head and tail
(at least on Linux), though I don't see any drivers that do this as far as
a quick grep shows.

-Scott