Merge tag 'io_uring-5.11-2021-01-16' of git://git.kernel.dk/linux-block
[linux/fpc-iii.git] / drivers / mtd / nand / Kconfig
blobb40455234cbd44c0e865c8b40d820e879a4cfcac
1 # SPDX-License-Identifier: GPL-2.0-only
3 menu "NAND"
5 config MTD_NAND_CORE
6         tristate
8 source "drivers/mtd/nand/onenand/Kconfig"
9 source "drivers/mtd/nand/raw/Kconfig"
10 source "drivers/mtd/nand/spi/Kconfig"
12 menu "ECC engine support"
14 config MTD_NAND_ECC
15        bool
16        select MTD_NAND_CORE
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.
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.
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.
49 endmenu
51 endmenu