kirkwood_nand: allow usage of NAND_ECC_SOFT_BCH
authorGerlando Falauto <gerlando.falauto@keymile.com>
Tue, 15 Jan 2013 22:34:28 +0000 (22:34 +0000)
committerPrafulla Wadaskar <prafulla@marvell.com>
Fri, 12 Apr 2013 16:12:01 +0000 (21:42 +0530)
If CONFIG_NAND_ECC_BCH is set use 4-bit error correction code instead of
the 1-bit error correction code on the NAND device.

Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
cc: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Prafulla Wadaskar <prafulla@marvell.com>
Acked-by: Prafulla Wadaskar <prafulla@marvell.com>
Acked-by: Scott Wood <scottwood@freescale.com>
drivers/mtd/nand/kirkwood_nand.c

index bdab5aa795befc221e6c62d11c2b4a961d7ab499..0a99a10de1783d6a636bd69bf44261a6afa20ebe 100644 (file)
@@ -74,7 +74,11 @@ void kw_nand_select_chip(struct mtd_info *mtd, int chip)
 int board_nand_init(struct nand_chip *nand)
 {
        nand->options = NAND_COPYBACK | NAND_CACHEPRG | NAND_NO_PADDING;
+#if defined(CONFIG_NAND_ECC_BCH)
+       nand->ecc.mode = NAND_ECC_SOFT_BCH;
+#else
        nand->ecc.mode = NAND_ECC_SOFT;
+#endif
        nand->cmd_ctrl = kw_nand_hwcontrol;
        nand->chip_delay = 40;
        nand->select_chip = kw_nand_select_chip;