819d6a32c3
Unrolling the loops produces denser and much faster code. Add a config switch which allows to select the byte order of the resulting ecc code. The current Linux implementation has a byte swap versus the SmartMedia specification Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
227 lines
8.0 KiB
Plaintext
227 lines
8.0 KiB
Plaintext
# drivers/mtd/nand/Kconfig
|
|
# $Id: Kconfig,v 1.35 2005/11/07 11:14:30 gleixner Exp $
|
|
|
|
menu "NAND Flash Device Drivers"
|
|
depends on MTD!=n
|
|
|
|
config MTD_NAND
|
|
tristate "NAND Device Support"
|
|
depends on MTD
|
|
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/tech/nand.html>.
|
|
|
|
config MTD_NAND_VERIFY_WRITE
|
|
bool "Verify NAND page writes"
|
|
depends on MTD_NAND
|
|
help
|
|
This adds an extra check when data is written to the flash. The
|
|
NAND flash device internally checks only bits transitioning
|
|
from 1 to 0. There is a rare possibility that even though the
|
|
device thinks the write was successful, a bit could have been
|
|
flipped accidentaly due to device wear or something else.
|
|
|
|
config MTD_NAND_ECC_SMC
|
|
bool "NAND ECC Smart Media byte order"
|
|
depends on MTD_NAND
|
|
default n
|
|
help
|
|
Software ECC according to the Smart Media Specification.
|
|
The original Linux implementation had byte 0 and 1 swapped.
|
|
|
|
config MTD_NAND_AUTCPU12
|
|
tristate "SmartMediaCard on autronix autcpu12 board"
|
|
depends on MTD_NAND && ARCH_AUTCPU12
|
|
help
|
|
This enables the driver for the autronix autcpu12 board to
|
|
access the SmartMediaCard.
|
|
|
|
config MTD_NAND_EDB7312
|
|
tristate "Support for Cirrus Logic EBD7312 evaluation board"
|
|
depends on MTD_NAND && ARCH_EDB7312
|
|
help
|
|
This enables the driver for the Cirrus Logic EBD7312 evaluation
|
|
board to access the onboard NAND Flash.
|
|
|
|
config MTD_NAND_H1900
|
|
tristate "iPAQ H1900 flash"
|
|
depends on MTD_NAND && ARCH_PXA && MTD_PARTITIONS
|
|
help
|
|
This enables the driver for the iPAQ h1900 flash.
|
|
|
|
config MTD_NAND_SPIA
|
|
tristate "NAND Flash device on SPIA board"
|
|
depends on ARCH_P720T && MTD_NAND
|
|
help
|
|
If you had to ask, you don't have one. Say 'N'.
|
|
|
|
config MTD_NAND_AMS_DELTA
|
|
tristate "NAND Flash device on Amstrad E3"
|
|
depends on MACH_AMS_DELTA && MTD_NAND
|
|
help
|
|
Support for NAND flash on Amstrad E3 (Delta).
|
|
|
|
config MTD_NAND_TOTO
|
|
tristate "NAND Flash device on TOTO board"
|
|
depends on ARCH_OMAP && MTD_NAND
|
|
help
|
|
Support for NAND flash on Texas Instruments Toto platform.
|
|
|
|
config MTD_NAND_TS7250
|
|
tristate "NAND Flash device on TS-7250 board"
|
|
depends on MACH_TS72XX && MTD_NAND
|
|
help
|
|
Support for NAND flash on Technologic Systems TS-7250 platform.
|
|
|
|
config MTD_NAND_IDS
|
|
tristate
|
|
|
|
config MTD_NAND_AU1550
|
|
tristate "Au1550/1200 NAND support"
|
|
depends on (SOC_AU1200 || SOC_AU1550) && MTD_NAND
|
|
help
|
|
This enables the driver for the NAND flash controller on the
|
|
AMD/Alchemy 1550 SOC.
|
|
|
|
config MTD_NAND_RTC_FROM4
|
|
tristate "Renesas Flash ROM 4-slot interface board (FROM_BOARD4)"
|
|
depends on MTD_NAND && SH_SOLUTION_ENGINE
|
|
select REED_SOLOMON
|
|
select REED_SOLOMON_DEC8
|
|
help
|
|
This enables the driver for the Renesas Technology AG-AND
|
|
flash interface board (FROM_BOARD4)
|
|
|
|
config MTD_NAND_PPCHAMELEONEVB
|
|
tristate "NAND Flash device on PPChameleonEVB board"
|
|
depends on PPCHAMELEONEVB && MTD_NAND
|
|
help
|
|
This enables the NAND flash driver on the PPChameleon EVB Board.
|
|
|
|
config MTD_NAND_S3C2410
|
|
tristate "NAND Flash support for S3C2410/S3C2440 SoC"
|
|
depends on ARCH_S3C2410 && MTD_NAND
|
|
help
|
|
This enables the NAND flash controller on the S3C2410 and S3C2440
|
|
SoCs
|
|
|
|
No board specific support is done by this driver, each board
|
|
must advertise a platform_device for the driver to attach.
|
|
|
|
config MTD_NAND_S3C2410_DEBUG
|
|
bool "S3C2410 NAND driver debug"
|
|
depends on MTD_NAND_S3C2410
|
|
help
|
|
Enable debugging of the S3C2410 NAND driver
|
|
|
|
config MTD_NAND_S3C2410_HWECC
|
|
bool "S3C2410 NAND Hardware ECC"
|
|
depends on MTD_NAND_S3C2410
|
|
help
|
|
Enable the use of the S3C2410's internal ECC generator when
|
|
using NAND. Early versions of the chip have had problems with
|
|
incorrect ECC generation, and if using these, the default of
|
|
software ECC is preferable.
|
|
|
|
If you lay down a device with the hardware ECC, then you will
|
|
currently not be able to switch to software, as there is no
|
|
implementation for ECC method used by the S3C2410
|
|
|
|
config MTD_NAND_DISKONCHIP
|
|
tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)"
|
|
depends on MTD_NAND && EXPERIMENTAL
|
|
select REED_SOLOMON
|
|
select REED_SOLOMON_DEC16
|
|
help
|
|
This is a reimplementation of M-Systems DiskOnChip 2000,
|
|
Millennium and Millennium Plus as a standard NAND device driver,
|
|
as opposed to the earlier self-contained MTD device drivers.
|
|
This should enable, among other things, proper JFFS2 operation on
|
|
these devices.
|
|
|
|
config MTD_NAND_DISKONCHIP_PROBE_ADVANCED
|
|
bool "Advanced detection options for DiskOnChip"
|
|
depends on MTD_NAND_DISKONCHIP
|
|
help
|
|
This option allows you to specify nonstandard address at which to
|
|
probe for a DiskOnChip, or to change the detection options. You
|
|
are unlikely to need any of this unless you are using LinuxBIOS.
|
|
Say 'N'.
|
|
|
|
config MTD_NAND_DISKONCHIP_PROBE_ADDRESS
|
|
hex "Physical address of DiskOnChip" if MTD_NAND_DISKONCHIP_PROBE_ADVANCED
|
|
depends on MTD_NAND_DISKONCHIP
|
|
default "0"
|
|
---help---
|
|
By default, the probe for DiskOnChip devices will look for a
|
|
DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
|
|
This option allows you to specify a single address at which to probe
|
|
for the device, which is useful if you have other devices in that
|
|
range which get upset when they are probed.
|
|
|
|
(Note that on PowerPC, the normal probe will only check at
|
|
0xE4000000.)
|
|
|
|
Normally, you should leave this set to zero, to allow the probe at
|
|
the normal addresses.
|
|
|
|
config MTD_NAND_DISKONCHIP_PROBE_HIGH
|
|
bool "Probe high addresses"
|
|
depends on MTD_NAND_DISKONCHIP_PROBE_ADVANCED
|
|
help
|
|
By default, the probe for DiskOnChip devices will look for a
|
|
DiskOnChip at every multiple of 0x2000 between 0xC8000 and 0xEE000.
|
|
This option changes to make it probe between 0xFFFC8000 and
|
|
0xFFFEE000. Unless you are using LinuxBIOS, this is unlikely to be
|
|
useful to you. Say 'N'.
|
|
|
|
config MTD_NAND_DISKONCHIP_BBTWRITE
|
|
bool "Allow BBT writes on DiskOnChip Millennium and 2000TSOP"
|
|
depends on MTD_NAND_DISKONCHIP
|
|
help
|
|
On DiskOnChip devices shipped with the INFTL filesystem (Millennium
|
|
and 2000 TSOP/Alon), Linux reserves some space at the end of the
|
|
device for the Bad Block Table (BBT). If you have existing INFTL
|
|
data on your device (created by non-Linux tools such as M-Systems'
|
|
DOS drivers), your data might overlap the area Linux wants to use for
|
|
the BBT. If this is a concern for you, leave this option disabled and
|
|
Linux will not write BBT data into this area.
|
|
The downside of leaving this option disabled is that if bad blocks
|
|
are detected by Linux, they will not be recorded in the BBT, which
|
|
could cause future problems.
|
|
Once you enable this option, new filesystems (INFTL or others, created
|
|
in Linux or other operating systems) will not use the reserved area.
|
|
The only reason not to enable this option is to prevent damage to
|
|
preexisting filesystems.
|
|
Even if you leave this disabled, you can enable BBT writes at module
|
|
load time (assuming you build diskonchip as a module) with the module
|
|
parameter "inftl_bbt_write=1".
|
|
|
|
config MTD_NAND_SHARPSL
|
|
tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
|
|
depends on MTD_NAND && ARCH_PXA
|
|
|
|
config MTD_NAND_CS553X
|
|
tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
|
|
depends on MTD_NAND && X86_PC && PCI
|
|
help
|
|
The CS553x companion chips for the AMD Geode processor
|
|
include NAND flash controllers with built-in hardware ECC
|
|
capabilities; enabling this option will allow you to use
|
|
these. The driver will check the MSRs to verify that the
|
|
controller is enabled for NAND, and currently requires that
|
|
the controller be in MMIO mode.
|
|
|
|
If you say "m", the module will be called "cs553x_nand.ko".
|
|
|
|
config MTD_NAND_NANDSIM
|
|
tristate "Support for NAND Flash Simulator"
|
|
depends on MTD_NAND && MTD_PARTITIONS
|
|
help
|
|
The simulator may simulate various NAND flash chips for the
|
|
MTD nand layer.
|
|
|
|
endmenu
|