[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