67 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2 3menu "NAND"4 5config MTD_NAND_CORE6 tristate7 8source "drivers/mtd/nand/onenand/Kconfig"9source "drivers/mtd/nand/raw/Kconfig"10source "drivers/mtd/nand/spi/Kconfig"11 12menu "ECC engine support"13 14config MTD_NAND_ECC15 bool16 select MTD_NAND_CORE17 18config MTD_NAND_ECC_SW_HAMMING19 bool "Software Hamming ECC engine"20 default y if MTD_RAW_NAND21 select MTD_NAND_ECC22 help23 This enables support for software Hamming error24 correction. This correction can correct up to 1 bit error25 per chunk and detect up to 2 bit errors. While it used to be26 widely used with old parts, newer NAND chips usually require27 more strength correction and in this case BCH or RS will be28 preferred.29 30config MTD_NAND_ECC_SW_HAMMING_SMC31 bool "NAND ECC Smart Media byte order"32 depends on MTD_NAND_ECC_SW_HAMMING33 default n34 help35 Software ECC according to the Smart Media Specification.36 The original Linux implementation had byte 0 and 1 swapped.37 38config MTD_NAND_ECC_SW_BCH39 bool "Software BCH ECC engine"40 select BCH41 select MTD_NAND_ECC42 default n43 help44 This enables support for software BCH error correction. Binary BCH45 codes are more powerful and cpu intensive than traditional Hamming46 ECC codes. They are used with NAND devices requiring more than 1 bit47 of error correction.48 49config MTD_NAND_ECC_MXIC50 bool "Macronix external hardware ECC engine"51 depends on HAS_IOMEM52 select MTD_NAND_ECC53 help54 This enables support for the hardware ECC engine from Macronix.55 56config MTD_NAND_ECC_MEDIATEK57 tristate "Mediatek hardware ECC engine"58 depends on HAS_IOMEM59 depends on ARCH_MEDIATEK || COMPILE_TEST60 select MTD_NAND_ECC61 help62 This enables support for the hardware ECC engine from Mediatek.63 64endmenu65 66endmenu67