Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
deedeb60 MR |
2 | |
3 | menu "NAND" | |
4 | ||
9c3736a3 BB |
5 | config MTD_NAND_CORE |
6 | tristate | |
7 | ||
26777d37 | 8 | source "drivers/mtd/nand/onenand/Kconfig" |
93db446a | 9 | source "drivers/mtd/nand/raw/Kconfig" |
7529df46 | 10 | source "drivers/mtd/nand/spi/Kconfig" |
deedeb60 | 11 | |
a8c7ffdb MR |
12 | menu "ECC engine support" |
13 | ||
14 | config MTD_NAND_ECC | |
15 | bool | |
928f0736 | 16 | select MTD_NAND_CORE |
a8c7ffdb | 17 | |
e5acf9c8 | 18 | config MTD_NAND_ECC_SW_HAMMING |
5180a62c MR |
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. | |
e5acf9c8 MR |
29 | |
30 | config 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 | ||
cdbe8df5 MR |
38 | config 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 | ||
48e6633a MR |
49 | config MTD_NAND_ECC_MXIC |
50 | bool "Macronix external hardware ECC engine" | |
8f877b7e | 51 | depends on HAS_IOMEM |
48e6633a MR |
52 | select MTD_NAND_ECC |
53 | help | |
54 | This enables support for the hardware ECC engine from Macronix. | |
55 | ||
4fd62f15 CG |
56 | config MTD_NAND_ECC_MEDIATEK |
57 | tristate "Mediatek hardware ECC engine" | |
58 | depends on HAS_IOMEM | |
66d7a40b | 59 | depends on ARCH_MEDIATEK || COMPILE_TEST |
4fd62f15 CG |
60 | select MTD_NAND_ECC |
61 | help | |
62 | This enables support for the hardware ECC engine from Mediatek. | |
63 | ||
a8c7ffdb MR |
64 | endmenu |
65 | ||
deedeb60 | 66 | endmenu |