aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-06-18 06:37:01 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-06-18 06:37:01 +0000
commita5cd02aec4264339c2db47b584cfc65dbd8ef2ea (patch)
treed04ab248465628f132bb3243d5ddcb54d0ca73ec
parent1772c47c51b20e612fb1e2cc6013e5301b5e0bbb (diff)
downloadupstream-a5cd02aec4264339c2db47b584cfc65dbd8ef2ea.tar.gz
upstream-a5cd02aec4264339c2db47b584cfc65dbd8ef2ea.tar.bz2
upstream-a5cd02aec4264339c2db47b584cfc65dbd8ef2ea.zip
ar71xx: ar934x-nfc: allow ECC to be configured in software BCH mode
Some devices ship with NAND images that use BCH ECC. Let the driver know about that ECC mode so that it can be selected by machine files. Signed-off-by: Thomas Hebb <tommyhebb@gmail.com> SVN-Revision: 46022
-rw-r--r--target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c4
-rw-r--r--target/linux/ar71xx/files/include/linux/platform/ar934x_nfc.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c b/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c
index 9231251593..8968129d4f 100644
--- a/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c
+++ b/target/linux/ar71xx/files/drivers/mtd/nand/ar934x_nfc.c
@@ -1437,6 +1437,10 @@ ar934x_nfc_probe(struct platform_device *pdev)
nand->ecc.mode = NAND_ECC_SOFT;
break;
+ case AR934X_NFC_ECC_SOFT_BCH:
+ nand->ecc.mode = NAND_ECC_SOFT_BCH;
+ break;
+
case AR934X_NFC_ECC_HW:
ret = ar934x_nfc_setup_hwecc(nfc);
if (ret)
diff --git a/target/linux/ar71xx/files/include/linux/platform/ar934x_nfc.h b/target/linux/ar71xx/files/include/linux/platform/ar934x_nfc.h
index 4a4e751d39..371aaee7f8 100644
--- a/target/linux/ar71xx/files/include/linux/platform/ar934x_nfc.h
+++ b/target/linux/ar71xx/files/include/linux/platform/ar934x_nfc.h
@@ -20,6 +20,7 @@ struct mtd_partition;
enum ar934x_nfc_ecc_mode {
AR934X_NFC_ECC_SOFT = 0,
AR934X_NFC_ECC_HW,
+ AR934X_NFC_ECC_SOFT_BCH,
};
struct ar934x_nfc_platform_data {