[U-Boot] [PATCH] mxs_nand: Fix ECC strength for NAND flash with OOB size of 256

Marek Vasut marex at denx.de
Mon Apr 13 11:12:53 CEST 2015


On Monday, April 13, 2015 at 11:01:14 AM, Heiko Schocher wrote:
> Hello Marek, Joerg,
> 
> Am 13.04.2015 10:42, schrieb Marek Vasut:
> > On Monday, April 13, 2015 at 10:39:46 AM, Jörg Krause wrote:
> >> Hi Heiko,
> >> 
> >> On So, 2015-04-12 at 10:17 +0200, Heiko Schocher wrote:
> >>> On the i.mx6 based aristainetos2 board a Toshiba TH58NYG3S0HBAI4
> >>> is used, which has 4096 pagesize and 256b oob. The ECC strength
> >>> was not correct detected by U-Boot
> >>> 
> >>> Signed-off-by: Heiko Schocher <hs at denx.de>
> >>> ---
> >>> 
> >>>   drivers/mtd/nand/mxs_nand.c | 3 +++
> >>>   1 file changed, 3 insertions(+)
> >>> 
> >>> diff --git a/drivers/mtd/nand/mxs_nand.c
> >>> b/drivers/mtd/nand/mxs_nand.c
> >>> index 2d2b938..00bf036 100644
> >>> --- a/drivers/mtd/nand/mxs_nand.c
> >>> +++ b/drivers/mtd/nand/mxs_nand.c
> >>> @@ -163,6 +163,9 @@ static inline uint32_t
> >>> mxs_nand_get_ecc_strength(uint32_t page_data_size,
> >>> 
> >>>                if (page_oob_size == 224)
> >>>                
> >>>                        return 16;
> >>> 
> >>> +
> >>> +             if (page_oob_size == 256)
> >>> +                     return 18;
> >>> 
> >>>        }
> >>>        
> >>>        return 0;
> >> 
> >> How about calculation the ECC strength dynamically? Peng Fan from
> >> Freescale send a patch doing this in December 2014 which was already
> >> reviewed by Marek:
> >> https://patchwork.ozlabs.org/patch/422756/
> >> 
> >> It is also necessary to change the calculation in mxsboot...
> > 
> > Would be nice if the patch got applied, but I think there were some
> > comments and the patch was never fixed/reposted. If Heiko wants to
> > do it, that'd be nice.
> 
> Hmm.. I feel, I have not much time left for fixing such things...
> 
> Joerg: You wrote on Jan. 27, 2015, 11:14 p.m.:
> "I was able to fix mxsboot, but I had difficulties with round_down, which
> is a macro definition in linux/kernel.h. I've copied the macro
> definition to mxsboot. I will submit the patch in a seperate mail."
> 
> Did you post such a patch? Was this the onyl problem of the patch
> from Peng Fan?
> 
> "I would like to see a comment or a macro for the magic number 13, which
> is the value for the Galois Field, just for clarification"
> 
> I have no idea what 13 means ...

Well I know what GF(13) stands for, but why this particular prime (13) is
chosen in the computation, that is not clear. So a comment would really be
helpful here.

Best regards,


More information about the U-Boot mailing list