[PATCH v2] mtd: fsl_upm: Support NAND ECC DTS properties

Aaron Sierra asierra at xes-inc.com
Mon Nov 24 07:22:33 PST 2014


----- Original Message -----
> From: "Ezequiel Garcia" <ezequiel at vanguardiasur.com.ar>
> Sent: Saturday, November 22, 2014 6:55:42 PM
> 
> On 11/08/2014 04:11 PM, Aaron Sierra wrote:
> > From: Jordan Friendshuh <jfriendshuh at xes-inc.com>
> > 
> > Support the generic nand-ecc-mode and nand-ecc-strength device-tree
> > properties with the Freescale UPM NAND driver.
> > 
> > This patch preserves the default software ECC mode while adding the
> > ability to use BCH ECC for larger NAND devices.
> > 
> > Signed-off-by: Jordan Friendshuh <jfriendshuh at xes-inc.com>
> > Signed-off-by: Aaron Sierra <asierra at xes-inc.com>
> > ---
> > v2:
> >     * Now using ECC mode and strength helpers from of_mtd.h
> >     * ECC mode and strength checking is more robust
> > 
> >  .../devicetree/bindings/mtd/fsl-upm-nand.txt       |  2 +
> >  drivers/mtd/nand/Kconfig                           |  1 +
> >  drivers/mtd/nand/fsl_upm.c                         | 51
> >  +++++++++++++++++++---
> >  3 files changed, 49 insertions(+), 5 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt
> > b/Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt
> > index fce4894..a9906f6 100644
> > --- a/Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt
> > +++ b/Documentation/devicetree/bindings/mtd/fsl-upm-nand.txt
> > @@ -18,6 +18,8 @@ Optional properties:
> >  - chip-delay : chip dependent delay for transferring data from array to
> >  	read registers (tR). Required if property "gpios" is not used
> >  	(R/B# pins not connected).
> > +- nand-ecc-mode : as defined by nand.txt ("soft" and "soft_bch", only).
> > +- nand-ecc-strength : as defined by nand.txt.
> >  
> 
> The nand.txt recommends that each binding documents the way these
> properties are interpreted.

Ezequiel,
I assume you are referring to this statement, "implementations are
encouraged to further specify the value(s) they support."

That is the only statement I found requesting documentation. I believe
that request is satisfied, since I listed all of the modes that the driver
would support with my patch applied. I used mxc-nand.txt as a reference.

> Moreover, there's no nand-ecc-step usage? Are you assuming a 512-byte size?

The ecc.bytes value is currently left to be calculated by the
NAND_ECC_SOFT_BCH case in nand_base.c. That calculation assumes a 512-byte
step size.

-Aaron



More information about the linux-mtd mailing list