summaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand
diff options
context:
space:
mode:
authorRaphael Poggi <poggi.raph@gmail.com>2014-07-15 11:16:40 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2014-07-17 23:01:18 +0200
commit8ca0f654c578252f23e8e45a0c6871a5bd3edea7 (patch)
treeff63b1d37ac6886516d0509c5df1383e5649d793 /drivers/mtd/nand
parentc1fc7592b93f66633233cec88deea5d369d63f85 (diff)
downloadbarebox-8ca0f654c578252f23e8e45a0c6871a5bd3edea7.tar.gz
barebox-8ca0f654c578252f23e8e45a0c6871a5bd3edea7.tar.xz
mtd: atmel_nand: add SOFT_BCH support
To use soft ecc with nand with 8k page, we need the BCH support. This commit adds the possibilty for atmel_nand to enable SOFT_BCH. Signed-off-by: Raphaƫl Poggi <poggi.raph@gmail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mtd/nand')
-rw-r--r--drivers/mtd/nand/atmel_nand.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
index 2e9f61f119..3161e89f6e 100644
--- a/drivers/mtd/nand/atmel_nand.c
+++ b/drivers/mtd/nand/atmel_nand.c
@@ -1164,6 +1164,11 @@ static int __init atmel_nand_probe(struct device_d *dev)
nand_chip->chip_delay = 20; /* 20us command delay time */
+ if (IS_ENABLED(CONFIG_NAND_ECC_BCH) &&
+ pdata->ecc_mode == NAND_ECC_SOFT_BCH) {
+ nand_chip->ecc.mode = NAND_ECC_SOFT_BCH;
+ }
+
if (host->board->bus_width_16) { /* 16-bit bus width */
nand_chip->options |= NAND_BUSWIDTH_16;
nand_chip->read_buf = atmel_read_buf16;