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 923125159376656c5e160fdcd0dcaef5217c7536..8968129d4f9cca73e5506d05ba955b5022db7f65 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 4a4e751d39f00166984ea86402fdacf06a6f7f18..371aaee7f8268f8f7c7bf621429f5c6216a34947 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 {