diff options
Diffstat (limited to 'drivers/mtd/nand/Kconfig')
-rw-r--r-- | drivers/mtd/nand/Kconfig | 194 |
1 files changed, 27 insertions, 167 deletions
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index fadfe1f99b..4c19718467 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -1,180 +1,40 @@ -menuconfig NAND - bool "NAND support" - select MTD_NAND_IDS - help - This enables support for accessing all type of NAND flash - devices. For further information see - <http://www.linux-mtd.infradead.org/doc/nand.html>. - -if NAND - -config NAND_ECC_SOFT - bool - default y - prompt "Support software ecc" - -config NAND_ECC_BCH - select BCH - bool - prompt "Support software BCH ecc" - -config NAND_ECC_HW - bool - default y - prompt "Support hardware ecc" - -config NAND_ECC_HW_OOB_FIRST - bool - prompt "Support hardware ecc (oob first)" - -config NAND_ECC_HW_SYNDROME - bool - default y - prompt "Support syndrome hardware ecc controllers" +# SPDX-License-Identifier: GPL-2.0-only -config NAND_ECC_HW_NONE - bool - default y - prompt "Support skipping ecc support" +menu "NAND" -config NAND_INFO +config MTD_NAND_CORE bool - default y - prompt "Nand vendor/size information" - help - Show informational strings about the vendor and nand flash type - during startup -config NAND_READ_OOB - bool +source "drivers/mtd/nand/raw/Kconfig" -config NAND_BBT - bool - select NAND_READ_OOB - default y - prompt "support bad block tables" - help - Say y here to include support for bad block tables. This speeds - up the process of checking for bad blocks +menu "ECC engine support" -config NAND_ALLOW_ERASE_BAD +config MTD_NAND_ECC bool - depends on MTD_WRITE - prompt "Add device parameter to allow erasing bad blocks" - help - This adds a 'erasebad' device parameter to nand devices. When set - to '1' it will be allowed to erase bad blocks. This is a potientially - dangerous operation, so if unsure say no to this option. + select MTD_NAND_CORE -config NAND_IMX - bool - prompt "i.MX NAND driver" - depends on ARCH_IMX - -config NAND_IMX_BBM - bool - depends on NAND_BBT - depends on NAND_IMX - prompt "i.MX NAND flash bbt creation command" - -config NAND_MXS - bool - select NAND_BBT - prompt "i.MX23/28/6 NAND driver" - depends on MXS_APBH_DMA - -config NAND_OMAP_GPMC - tristate "NAND Flash Support for GPMC based OMAP platforms" - depends on OMAP_GPMC +config MTD_NAND_ECC_SW_HAMMING + bool "Software Hamming ECC engine" + default y if MTD_RAW_NAND + select MTD_NAND_ECC help - Support for NAND flash using GPMC. GPMC is a common memory - interface found on Texas Instrument's OMAP platforms + This enables support for software Hamming error + correction. This correction can correct up to 1 bit error + per chunk and detect up to 2 bit errors. While it used to be + widely used with old parts, newer NAND chips usually require + more strength correction and in this case BCH or RS will be + preferred. -config MTD_NAND_OMAP_ELM - bool "Support for ELM (Error Location Module) on OMAP platforms" - depends on NAND_OMAP_GPMC - help - This config enables the ELM hardware engine, which can be used to - locate and correct errors when using BCH ECC scheme. This offloads - the cpu from doing ECC error searching and correction. However some - legacy OMAP families like OMAP2xxx, OMAP3xxx do not have ELM engine - so this is optional for them. - -config NAND_ORION - bool - prompt "Marvell Orion NAND driver" - depends on ARCH_KIRKWOOD - help - Support for the Orion NAND controller, present in Kirkwood SoCs. - -config NAND_MRVL_NFC - bool - prompt "Marvell PXA3xx NAND driver" - depends on ARCH_ARMADA_370 || ARCH_ARMADA_XP || ARCH_PXA3XX - help - Support for the PXA3xx NAND controller, present in Armada 370/XP and - PXA3xx SoCs. - -config NAND_ATMEL - bool - prompt "Atmel (AT91SAM9xxx) NAND driver" - depends on ARCH_AT91 - -config NAND_ATMEL_PMECC - bool - prompt "PMECC support" - depends on NAND_ATMEL - select NAND_ECC_HW - help - Support for PMECC present on the SoC sam9x5 and sam9n12 - -config NAND_S3C24XX - bool - prompt "Samsung S3C24XX NAND driver" - depends on ARCH_S3C24xx - help - Add support for processor's NAND device controller. - -config MTD_NAND_ECC_SMC - bool "NAND ECC Smart Media byte order" +config MTD_NAND_ECC_SW_BCH + bool "Software BCH ECC engine" + select BCH + select MTD_NAND_ECC default n help - Software ECC according to the Smart Media Specification. - The original Linux implementation had byte 0 and 1 swapped. - -config MTD_NAND_IDS - tristate - -config MTD_NAND_NOMADIK - tristate "ST Nomadik 8815 NAND support" - depends on ARCH_NOMADIK - help - Driver for the NAND flash controller on the Nomadik, with ECC. - -config MTD_NAND_DENALI - tristate "Support Denali NAND controller" - depends on HAS_DMA - help - Enable support for the Denali NAND controller. This should be - combined with either the PCI or platform drivers to provide device - registration. - -config MTD_NAND_DENALI_DT - tristate "Support Denali NAND controller as a DT device" - depends on HAVE_CLK && MTD_NAND_DENALI - help - Enable the driver for NAND flash on platforms using a Denali NAND - controller as a DT device. - -if MTD_NAND_DENALI - -config MTD_NAND_DENALI_TIMING_MODE - int "Overrides default ONFI timing mode." - default -1 - range -1 5 - help - -1 indicates use default timings - -endif + This enables support for software BCH error correction. Binary BCH + codes are more powerful and cpu intensive than traditional Hamming + ECC codes. They are used with NAND devices requiring more than 1 bit + of error correction. -endif +endmenu +endmenu |