[U-Boot] [PATCH] MXS-NAND: Backport ecc.size from linux kernel

Marek Vasut marek.vasut at gmail.com
Mon Dec 19 21:23:26 CET 2011


> On 12/18/2011 11:50 AM, Marek Vasut wrote:
> > The ecc.size for mxs NAND driver is set to 1 in Linux kernel and to 512
> > in U-Boot, which causes "ubi part" command malfunction due to wrong
> > subpage size.
> > 
> > Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
> > Cc: Wolfgang Denk <wd at denx.de>
> > Cc: Detlev Zundel <dzu at denx.de>
> > Cc: Stefan Roese <sr at denx.de>
> > Cc: Scott Wood <scottwood at freescale.com>
> > Cc: Veli-Pekka Peltola <veli-pekka.peltola at bluegiga.com>
> > ---
> > 
> >  drivers/mtd/nand/mxs_nand.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/mtd/nand/mxs_nand.c b/drivers/mtd/nand/mxs_nand.c
> > index ce2a326..26778ac 100644
> > --- a/drivers/mtd/nand/mxs_nand.c
> > +++ b/drivers/mtd/nand/mxs_nand.c
> > @@ -1105,7 +1105,7 @@ int board_nand_init(struct nand_chip *nand)
> > 
> >  	nand->ecc.layout	= &fake_ecc_layout;
> >  	nand->ecc.mode		= NAND_ECC_HW;
> >  	nand->ecc.bytes		= 9;
> > 
> > -	nand->ecc.size		= 512;
> > +	nand->ecc.size		= 1;
> > 
> >  	return 0;
> 
> ecc.size = 1 doesn't make sense -- this is the block size over which ecc
> is calculated.

And in a way it forces the subpage shift to be 0 ... we need to fix it in both 
later, but for this release, let's make it this way (in sync with linux).
> 
> Where is this Linux driver?  I don't see mxs_nand.c in Linux.

drivers/mtd/nand/gpmi-nand/*
> 
> What specifically is happening in "ubi part" with ecc.size = 512?

The driver doesn\t support subpage writes.
> 
> -Scott

M


More information about the U-Boot mailing list