Linux 6.9-rc4
[sfrench/cifs-2.6.git] / drivers / mtd / nand / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2
3 menu "NAND"
4
5 config MTD_NAND_CORE
6         tristate
7
8 source "drivers/mtd/nand/onenand/Kconfig"
9 source "drivers/mtd/nand/raw/Kconfig"
10 source "drivers/mtd/nand/spi/Kconfig"
11
12 menu "ECC engine support"
13
14 config MTD_NAND_ECC
15        bool
16        select MTD_NAND_CORE
17
18 config 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
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
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
49 config 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
56 config 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
64 endmenu
65
66 endmenu