1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2deedeb60SMiquel Raynal 3deedeb60SMiquel Raynalmenu "NAND" 4deedeb60SMiquel Raynal 59c3736a3SBoris Brezillonconfig MTD_NAND_CORE 69c3736a3SBoris Brezillon tristate 79c3736a3SBoris Brezillon 826777d37SBoris Brezillonsource "drivers/mtd/nand/onenand/Kconfig" 993db446aSBoris Brezillonsource "drivers/mtd/nand/raw/Kconfig" 107529df46SPeter Pansource "drivers/mtd/nand/spi/Kconfig" 11deedeb60SMiquel Raynal 12a8c7ffdbSMiquel Raynalmenu "ECC engine support" 13a8c7ffdbSMiquel Raynal 14a8c7ffdbSMiquel Raynalconfig MTD_NAND_ECC 15a8c7ffdbSMiquel Raynal bool 16928f0736SMiquel Raynal select MTD_NAND_CORE 17a8c7ffdbSMiquel Raynal 18e5acf9c8SMiquel Raynalconfig MTD_NAND_ECC_SW_HAMMING 195180a62cSMiquel Raynal bool "Software Hamming ECC engine" 205180a62cSMiquel Raynal default y if MTD_RAW_NAND 215180a62cSMiquel Raynal select MTD_NAND_ECC 225180a62cSMiquel Raynal help 235180a62cSMiquel Raynal This enables support for software Hamming error 245180a62cSMiquel Raynal correction. This correction can correct up to 1 bit error 255180a62cSMiquel Raynal per chunk and detect up to 2 bit errors. While it used to be 265180a62cSMiquel Raynal widely used with old parts, newer NAND chips usually require 275180a62cSMiquel Raynal more strength correction and in this case BCH or RS will be 285180a62cSMiquel Raynal preferred. 29e5acf9c8SMiquel Raynal 30e5acf9c8SMiquel Raynalconfig MTD_NAND_ECC_SW_HAMMING_SMC 31e5acf9c8SMiquel Raynal bool "NAND ECC Smart Media byte order" 32e5acf9c8SMiquel Raynal depends on MTD_NAND_ECC_SW_HAMMING 33e5acf9c8SMiquel Raynal default n 34e5acf9c8SMiquel Raynal help 35e5acf9c8SMiquel Raynal Software ECC according to the Smart Media Specification. 36e5acf9c8SMiquel Raynal The original Linux implementation had byte 0 and 1 swapped. 37e5acf9c8SMiquel Raynal 38cdbe8df5SMiquel Raynalconfig MTD_NAND_ECC_SW_BCH 39cdbe8df5SMiquel Raynal bool "Software BCH ECC engine" 40cdbe8df5SMiquel Raynal select BCH 41cdbe8df5SMiquel Raynal select MTD_NAND_ECC 42cdbe8df5SMiquel Raynal default n 43cdbe8df5SMiquel Raynal help 44cdbe8df5SMiquel Raynal This enables support for software BCH error correction. Binary BCH 45cdbe8df5SMiquel Raynal codes are more powerful and cpu intensive than traditional Hamming 46cdbe8df5SMiquel Raynal ECC codes. They are used with NAND devices requiring more than 1 bit 47cdbe8df5SMiquel Raynal of error correction. 48cdbe8df5SMiquel Raynal 49*48e6633aSMiquel Raynalconfig MTD_NAND_ECC_MXIC 50*48e6633aSMiquel Raynal bool "Macronix external hardware ECC engine" 51*48e6633aSMiquel Raynal select MTD_NAND_ECC 52*48e6633aSMiquel Raynal help 53*48e6633aSMiquel Raynal This enables support for the hardware ECC engine from Macronix. 54*48e6633aSMiquel Raynal 55a8c7ffdbSMiquel Raynalendmenu 56a8c7ffdbSMiquel Raynal 57deedeb60SMiquel Raynalendmenu 58