summaryrefslogtreecommitdiff
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)
downloadmtk-20170518-a5cd02aec4264339c2db47b584cfc65dbd8ef2ea.zip
mtk-20170518-a5cd02aec4264339c2db47b584cfc65dbd8ef2ea.tar.gz
mtk-20170518-a5cd02aec4264339c2db47b584cfc65dbd8ef2ea.tar.bz2
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 9231251..8968129 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 4a4e751..371aaee 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 {