32 lines
1,004 B
Diff
32 lines
1,004 B
Diff
|
From ceef2075f3aa430da137e3629b0280a46d420ccd Mon Sep 17 00:00:00 2001
|
||
|
From: Huang Shijie <b32955@freescale.com>
|
||
|
Date: Fri, 17 May 2013 11:17:26 +0800
|
||
|
Subject: [PATCH 093/203] 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>
|
||
|
---
|
||
|
drivers/mtd/nand/nand_base.c | 5 +++++
|
||
|
1 file changed, 5 insertions(+)
|
||
|
|
||
|
--- a/drivers/mtd/nand/nand_base.c
|
||
|
+++ b/drivers/mtd/nand/nand_base.c
|
||
|
@@ -2924,6 +2924,11 @@ static int nand_flash_detect_onfi(struct
|
||
|
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;
|
||
|
}
|