Staging
v0.5.1
swh:1:snp:a902887e4be9191b7c6c4406aa06b31c1ce2c7cc
Raw File
Tip revision: 6d796c50f84ca79f1722bb131799e5a5710c4700 authored by Linus Torvalds on 29 January 2023, 21:59:43 UTC
Linux 6.2-rc6
Tip revision: 6d796c5
Kconfig
# 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.

endmenu

endmenu
back to top