Loading...
1# SPDX-License-Identifier: GPL-2.0-only
2
3menu "NAND"
4
5config MTD_NAND_CORE
6 tristate
7
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_ECC
15 bool
16 select MTD_NAND_CORE
17
18config MTD_NAND_ECC_SW_HAMMING
19 bool "Software Hamming ECC engine"
20 default y if MTD_RAW_NAND
21 select MTD_NAND_ECC
22 help
23 This enables support for software Hamming error
24 correction. This correction can correct up to 1 bit error
25 per chunk and detect up to 2 bit errors. While it used to be
26 widely used with old parts, newer NAND chips usually require
27 more strength correction and in this case BCH or RS will be
28 preferred.
29
30config MTD_NAND_ECC_SW_HAMMING_SMC
31 bool "NAND ECC Smart Media byte order"
32 depends on MTD_NAND_ECC_SW_HAMMING
33 default n
34 help
35 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_BCH
39 bool "Software BCH ECC engine"
40 select BCH
41 select MTD_NAND_ECC
42 default n
43 help
44 This enables support for software BCH error correction. Binary BCH
45 codes are more powerful and cpu intensive than traditional Hamming
46 ECC codes. They are used with NAND devices requiring more than 1 bit
47 of error correction.
48
49config MTD_NAND_ECC_MXIC
50 bool "Macronix external hardware ECC engine"
51 depends on HAS_IOMEM
52 select MTD_NAND_ECC
53 help
54 This enables support for the hardware ECC engine from Macronix.
55
56config MTD_NAND_ECC_MEDIATEK
57 tristate "Mediatek hardware ECC engine"
58 depends on HAS_IOMEM
59 depends on ARCH_MEDIATEK || COMPILE_TEST
60 select MTD_NAND_ECC
61 help
62 This enables support for the hardware ECC engine from Mediatek.
63
64endmenu
65
66endmenu
1# SPDX-License-Identifier: GPL-2.0-only
2
3menu "NAND"
4
5config MTD_NAND_CORE
6 tristate
7
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_ECC
15 bool
16 select MTD_NAND_CORE
17
18config MTD_NAND_ECC_SW_HAMMING
19 bool "Software Hamming ECC engine"
20 default y if MTD_RAW_NAND
21 select MTD_NAND_ECC
22 help
23 This enables support for software Hamming error
24 correction. This correction can correct up to 1 bit error
25 per chunk and detect up to 2 bit errors. While it used to be
26 widely used with old parts, newer NAND chips usually require
27 more strength correction and in this case BCH or RS will be
28 preferred.
29
30config MTD_NAND_ECC_SW_HAMMING_SMC
31 bool "NAND ECC Smart Media byte order"
32 depends on MTD_NAND_ECC_SW_HAMMING
33 default n
34 help
35 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_BCH
39 bool "Software BCH ECC engine"
40 select BCH
41 select MTD_NAND_ECC
42 default n
43 help
44 This enables support for software BCH error correction. Binary BCH
45 codes are more powerful and cpu intensive than traditional Hamming
46 ECC codes. They are used with NAND devices requiring more than 1 bit
47 of error correction.
48
49config MTD_NAND_ECC_MXIC
50 bool "Macronix external hardware ECC engine"
51 depends on HAS_IOMEM
52 select MTD_NAND_ECC
53 help
54 This enables support for the hardware ECC engine from Macronix.
55
56config MTD_NAND_ECC_MEDIATEK
57 tristate "Mediatek hardware ECC engine"
58 depends on HAS_IOMEM
59 depends on ARCH_MEDIATEK || COMPILE_TEST
60 select MTD_NAND_ECC
61 help
62 This enables support for the hardware ECC engine from Mediatek.
63
64endmenu
65
66endmenu