drivers/mtd/nand/Kconfig

Source file repositories/reference/linux-study-clean/drivers/mtd/nand/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/mtd/nand/Kconfig
Extension
[no extension]
Size
2054 bytes
Lines
75
Domain
Driver Families
Bucket
drivers/mtd
Inferred role
Driver Families: build/configuration rule
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only

menu "NAND"

config MTD_NAND_CORE
	tristate

source "drivers/mtd/nand/onenand/Kconfig"
source "drivers/mtd/nand/raw/Kconfig"
source "drivers/mtd/nand/spi/Kconfig"

menu "ECC engine support"

config MTD_NAND_ECC
       bool
       select MTD_NAND_CORE

config MTD_NAND_ECC_SW_HAMMING
	bool "Software Hamming ECC engine"
	default y if MTD_RAW_NAND
	select MTD_NAND_ECC
	help
	  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_ECC_SW_HAMMING_SMC
	bool "NAND ECC Smart Media byte order"
	depends on MTD_NAND_ECC_SW_HAMMING
	default n
	help
	  Software ECC according to the Smart Media Specification.
	  The original Linux implementation had byte 0 and 1 swapped.

config MTD_NAND_ECC_SW_BCH
	bool "Software BCH ECC engine"
	select BCH
	select MTD_NAND_ECC
	default n
	help
	  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.

config MTD_NAND_ECC_MXIC
	bool "Macronix external hardware ECC engine"
	depends on HAS_IOMEM
	select MTD_NAND_ECC
	help
	  This enables support for the hardware ECC engine from Macronix.

config MTD_NAND_ECC_MEDIATEK
	tristate "Mediatek hardware ECC engine"
	depends on HAS_IOMEM
	depends on ARCH_MEDIATEK || COMPILE_TEST
	select MTD_NAND_ECC
	help
	  This enables support for the hardware ECC engine from Mediatek.

config MTD_NAND_ECC_REALTEK
        tristate "Realtek RTL93xx hardware ECC engine"
        depends on HAS_IOMEM && HAS_DMA
        depends on MACH_REALTEK_RTL || COMPILE_TEST
        select MTD_NAND_ECC
        help
          This enables support for the hardware ECC engine from Realtek.

Annotation

Implementation Notes