[U-Boot] [PATCH] MTD: nand: mxs_nand: Allow driver to auto setup ECC in SPL

Jörg Krause joerg.krause at embedded.rocks
Sat Feb 2 19:17:44 UTC 2019


Hi,

On Thu, 2019-01-17 at 07:16 -0600, Adam Ford wrote:
> The initialization of the NAND in SPL hard-coded ecc.bytes,
> ecc.size, and ecc.strength which may work for some NAND parts,
> but it not appropriate for others.  With the pending patch
> "mxs_nand: Fix BCH read timeout error on boards requiring ECC"
> the driver can auto configure the ECC when these entries are
> blank.  This patch has been tested in NAND flash with oob 64
> and oob 128.
> 
> Signed-off-by: Adam Ford <aford173 at gmail.com>

Maybe you can give me a hint where the driver actually does the auto
configuration?

I've tested the patch on a custom i.MX6ULL board with a Micron NAND
flash. The SPL loader is able to boot from NAND with and without this
patch.

Tested-by: Jörg Krause <joerg.krause at embedded.rocks>

> diff --git a/drivers/mtd/nand/raw/mxs_nand.c b/drivers/mtd/nand/raw/mxs_nand.c
> index 2d84bfffe2..95fa452cef 100644
> --- a/drivers/mtd/nand/raw/mxs_nand.c
> +++ b/drivers/mtd/nand/raw/mxs_nand.c
> @@ -1191,9 +1191,6 @@ int mxs_nand_init_spl(struct nand_chip *nand)
>  	nand->ecc.read_page	= mxs_nand_ecc_read_page;
>  
>  	nand->ecc.mode		= NAND_ECC_HW;
> -	nand->ecc.bytes		= 9;
> -	nand->ecc.size		= 512;
> -	nand->ecc.strength	= 8;
>  
>  	return 0;
>  }



More information about the U-Boot mailing list