diff options
author | Huang Shijie <b32955@freescale.com> | 2013-05-17 11:17:26 +0800 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2013-08-30 21:34:38 +0100 |
commit | 10c86babfb21a07272495a968114f677313bea51 (patch) | |
tree | 590b265a004de4e6c6a3ea872812aa41c4f20155 /drivers/mtd | |
parent | 4cfeca2d58de8292f45351f84e84f657222a4611 (diff) |
mtd: get the ECC info from the parameter page for ONFI nand
From the ONFI spec, we can just get the ECC info from the @ecc_bits field of
the parameter page.
Signed-off-by: Huang Shijie <b32955@freescale.com>
Reviewed-and-tested-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/nand/nand_base.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c index 9a487580e37..42d44bb4087 100644 --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c @@ -2913,6 +2913,11 @@ static int nand_flash_detect_onfi(struct mtd_info *mtd, struct nand_chip *chip, if (le16_to_cpu(p->features) & 1) *busw = NAND_BUSWIDTH_16; + if (p->ecc_bits != 0xff) { + chip->ecc_strength_ds = p->ecc_bits; + chip->ecc_step_ds = 512; + } + pr_info("ONFI flash detected\n"); return 1; } |