e0d65113a7
* git://git.infradead.org/mtd-2.6: (226 commits) mtd: tests: annotate as DANGEROUS in Kconfig mtd: tests: don't use mtd0 as a default mtd: clean up usage of MTD_DOCPROBE_ADDRESS jffs2: add compr=lzo and compr=zlib options jffs2: implement mount option parsing and compression overriding mtd: nand: initialize ops.mode mtd: provide an alias for the redboot module name mtd: m25p80: don't probe device which has status of 'disabled' mtd: nand_h1900 never worked mtd: Add DiskOnChip G3 support mtd: m25p80: add EON flash EN25Q32B into spi flash id table mtd: mark block device queue as non-rotational mtd: r852: make r852_pm_ops static mtd: m25p80: add support for at25df321a spi data flash mtd: mxc_nand: preset_v1_v2: unlock all NAND flash blocks mtd: nand: switch `check_pattern()' to standard `memcmp()' mtd: nand: invalidate cache on unaligned reads mtd: nand: do not scan bad blocks with NAND_BBT_NO_OOB set mtd: nand: wait to set BBT version mtd: nand: scrub BBT on ECC errors ... Fix up trivial conflicts: - arch/arm/mach-at91/board-usb-a9260.c Merged into board-usb-a926x.c - drivers/mtd/maps/lantiq-flash.c add_mtd_partitions -> mtd_device_register vs changed to use mtd_device_parse_register.
540 lines
17 KiB
Text
540 lines
17 KiB
Text
config MTD_NAND_ECC
|
|
tristate
|
|
|
|
config MTD_NAND_ECC_SMC
|
|
bool "NAND ECC Smart Media byte order"
|
|
depends on MTD_NAND_ECC
|
|
default n
|
|
help
|
|
Software ECC according to the Smart Media Specification.
|
|
The original Linux implementation had byte 0 and 1 swapped.
|
|
|
|
|
|
menuconfig MTD_NAND
|
|
tristate "NAND Device Support"
|
|
depends on MTD
|
|
select MTD_NAND_IDS
|
|
select MTD_NAND_ECC
|
|
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 MTD_NAND
|
|
|
|
config MTD_NAND_VERIFY_WRITE
|
|
bool "Verify NAND page writes"
|
|
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 accidentally due to device wear or something else.
|
|
|
|
config MTD_NAND_BCH
|
|
tristate
|
|
select BCH
|
|
depends on MTD_NAND_ECC_BCH
|
|
default MTD_NAND
|
|
|
|
config MTD_NAND_ECC_BCH
|
|
bool "Support software BCH 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_SM_COMMON
|
|
tristate
|
|
default n
|
|
|
|
config MTD_NAND_MUSEUM_IDS
|
|
bool "Enable chip ids for obsolete ancient NAND devices"
|
|
default n
|
|
help
|
|
Enable this option only when your board has first generation
|
|
NAND chips (page size 256 byte, erase size 4-8KiB). The IDs
|
|
of these chips were reused by later, larger chips.
|
|
|
|
config MTD_NAND_AUTCPU12
|
|
tristate "SmartMediaCard on autronix autcpu12 board"
|
|
depends on ARCH_AUTCPU12
|
|
help
|
|
This enables the driver for the autronix autcpu12 board to
|
|
access the SmartMediaCard.
|
|
|
|
config MTD_NAND_DENALI
|
|
depends on PCI
|
|
tristate "Support Denali NAND controller on Intel Moorestown"
|
|
help
|
|
Enable the driver for NAND flash on Intel Moorestown, using the
|
|
Denali NAND controller core.
|
|
|
|
config MTD_NAND_DENALI_SCRATCH_REG_ADDR
|
|
hex "Denali NAND size scratch register address"
|
|
default "0xFF108018"
|
|
depends on MTD_NAND_DENALI
|
|
help
|
|
Some platforms place the NAND chip size in a scratch register
|
|
because (some versions of) the driver aren't able to automatically
|
|
determine the size of certain chips. Set the address of the
|
|
scratch register here to enable this feature. On Intel Moorestown
|
|
boards, the scratch register is at 0xFF108018.
|
|
|
|
config MTD_NAND_H1900
|
|
tristate "iPAQ H1900 flash"
|
|
depends on ARCH_PXA && BROKEN
|
|
help
|
|
This enables the driver for the iPAQ h1900 flash.
|
|
|
|
config MTD_NAND_GPIO
|
|
tristate "GPIO NAND Flash driver"
|
|
depends on GENERIC_GPIO && ARM
|
|
help
|
|
This enables a GPIO based NAND flash driver.
|
|
|
|
config MTD_NAND_SPIA
|
|
tristate "NAND Flash device on SPIA board"
|
|
depends on ARCH_P720T
|
|
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
|
|
default y
|
|
help
|
|
Support for NAND flash on Amstrad E3 (Delta).
|
|
|
|
config MTD_NAND_OMAP2
|
|
tristate "NAND Flash device on OMAP2, OMAP3 and OMAP4"
|
|
depends on ARM && (ARCH_OMAP2 || ARCH_OMAP3 || ARCH_OMAP4)
|
|
help
|
|
Support for NAND flash on Texas Instruments OMAP2, OMAP3 and OMAP4
|
|
platforms.
|
|
|
|
config MTD_NAND_IDS
|
|
tristate
|
|
|
|
config MTD_NAND_RICOH
|
|
tristate "Ricoh xD card reader"
|
|
default n
|
|
depends on PCI
|
|
select MTD_SM_COMMON
|
|
help
|
|
Enable support for Ricoh R5C852 xD card reader
|
|
You also need to enable ether
|
|
NAND SSFDC (SmartMedia) read only translation layer' or new
|
|
expermental, readwrite
|
|
'SmartMedia/xD new translation layer'
|
|
|
|
config MTD_NAND_AU1550
|
|
tristate "Au1550/1200 NAND support"
|
|
depends on MIPS_ALCHEMY
|
|
help
|
|
This enables the driver for the NAND flash controller on the
|
|
AMD/Alchemy 1550 SOC.
|
|
|
|
config MTD_NAND_BF5XX
|
|
tristate "Blackfin on-chip NAND Flash Controller driver"
|
|
depends on BF54x || BF52x
|
|
help
|
|
This enables the Blackfin on-chip NAND flash controller
|
|
|
|
No board specific support is done by this driver, each board
|
|
must advertise a platform_device for the driver to attach.
|
|
|
|
This driver can also be built as a module. If so, the module
|
|
will be called bf5xx-nand.
|
|
|
|
config MTD_NAND_BF5XX_HWECC
|
|
bool "BF5XX NAND Hardware ECC"
|
|
default y
|
|
depends on MTD_NAND_BF5XX
|
|
help
|
|
Enable the use of the BF5XX's internal ECC generator when
|
|
using NAND.
|
|
|
|
config MTD_NAND_BF5XX_BOOTROM_ECC
|
|
bool "Use Blackfin BootROM ECC Layout"
|
|
default n
|
|
depends on MTD_NAND_BF5XX_HWECC
|
|
help
|
|
If you wish to modify NAND pages and allow the Blackfin on-chip
|
|
BootROM to boot from them, say Y here. This is only necessary
|
|
if you are booting U-Boot out of NAND and you wish to update
|
|
U-Boot from Linux' userspace. Otherwise, you should say N here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MTD_NAND_RTC_FROM4
|
|
tristate "Renesas Flash ROM 4-slot interface board (FROM_BOARD4)"
|
|
depends on SH_SOLUTION_ENGINE
|
|
select REED_SOLOMON
|
|
select REED_SOLOMON_DEC8
|
|
select BITREVERSE
|
|
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 && BROKEN
|
|
help
|
|
This enables the NAND flash driver on the PPChameleon EVB Board.
|
|
|
|
config MTD_NAND_S3C2410
|
|
tristate "NAND Flash support for Samsung S3C SoCs"
|
|
depends on ARCH_S3C2410 || ARCH_S3C64XX
|
|
help
|
|
This enables the NAND flash controller on the S3C24xx and S3C64xx
|
|
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 "Samsung S3C NAND driver debug"
|
|
depends on MTD_NAND_S3C2410
|
|
help
|
|
Enable debugging of the S3C NAND driver
|
|
|
|
config MTD_NAND_S3C2410_HWECC
|
|
bool "Samsung S3C NAND Hardware ECC"
|
|
depends on MTD_NAND_S3C2410
|
|
help
|
|
Enable the use of the controller's internal ECC generator when
|
|
using NAND. Early versions of the chips have had problems with
|
|
incorrect ECC generation, and if using these, the default of
|
|
software ECC is preferable.
|
|
|
|
config MTD_NAND_NDFC
|
|
tristate "NDFC NanD Flash Controller"
|
|
depends on 4xx
|
|
select MTD_NAND_ECC_SMC
|
|
help
|
|
NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs
|
|
|
|
config MTD_NAND_S3C2410_CLKSTOP
|
|
bool "Samsung S3C NAND IDLE clock stop"
|
|
depends on MTD_NAND_S3C2410
|
|
default n
|
|
help
|
|
Stop the clock to the NAND controller when there is no chip
|
|
selected to save power. This will mean there is a small delay
|
|
when the is NAND chip selected or released, but will save
|
|
approximately 5mA of power when there is nothing happening.
|
|
|
|
config MTD_NAND_BCM_UMI
|
|
tristate "NAND Flash support for BCM Reference Boards"
|
|
depends on ARCH_BCMRING
|
|
help
|
|
This enables the NAND flash controller on the BCM UMI block.
|
|
|
|
No board specific support is done by this driver, each board
|
|
must advertise a platform_device for the driver to attach.
|
|
|
|
config MTD_NAND_BCM_UMI_HWCS
|
|
bool "BCM UMI NAND Hardware CS"
|
|
depends on MTD_NAND_BCM_UMI
|
|
help
|
|
Enable the use of the BCM UMI block's internal CS using NAND.
|
|
This should only be used if you know the external NAND CS can toggle.
|
|
|
|
config MTD_NAND_DISKONCHIP
|
|
tristate "DiskOnChip 2000, Millennium and Millennium Plus (NAND reimplementation) (EXPERIMENTAL)"
|
|
depends on 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 ARCH_PXA
|
|
|
|
config MTD_NAND_CAFE
|
|
tristate "NAND support for OLPC CAFÉ chip"
|
|
depends on PCI
|
|
select REED_SOLOMON
|
|
select REED_SOLOMON_DEC16
|
|
help
|
|
Use NAND flash attached to the CAFÉ chip designed for the OLPC
|
|
laptop.
|
|
|
|
config MTD_NAND_CS553X
|
|
tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
|
|
depends on X86_32
|
|
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.
|
|
|
|
config MTD_NAND_ATMEL
|
|
tristate "Support for NAND Flash / SmartMedia on AT91 and AVR32"
|
|
depends on ARCH_AT91 || AVR32
|
|
help
|
|
Enables support for NAND Flash / Smart Media Card interface
|
|
on Atmel AT91 and AVR32 processors.
|
|
choice
|
|
prompt "ECC management for NAND Flash / SmartMedia on AT91 / AVR32"
|
|
depends on MTD_NAND_ATMEL
|
|
|
|
config MTD_NAND_ATMEL_ECC_HW
|
|
bool "Hardware ECC"
|
|
depends on ARCH_AT91SAM9263 || ARCH_AT91SAM9260 || AVR32
|
|
help
|
|
Use hardware ECC instead of software ECC when the chip
|
|
supports it.
|
|
|
|
The hardware ECC controller is capable of single bit error
|
|
correction and 2-bit random detection per page.
|
|
|
|
NB : hardware and software ECC schemes are incompatible.
|
|
If you switch from one to another, you'll have to erase your
|
|
mtd partition.
|
|
|
|
If unsure, say Y
|
|
|
|
config MTD_NAND_ATMEL_ECC_SOFT
|
|
bool "Software ECC"
|
|
help
|
|
Use software ECC.
|
|
|
|
NB : hardware and software ECC schemes are incompatible.
|
|
If you switch from one to another, you'll have to erase your
|
|
mtd partition.
|
|
|
|
config MTD_NAND_ATMEL_ECC_NONE
|
|
bool "No ECC (testing only, DANGEROUS)"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
No ECC will be used.
|
|
It's not a good idea and it should be reserved for testing
|
|
purpose only.
|
|
|
|
If unsure, say N
|
|
|
|
endchoice
|
|
|
|
config MTD_NAND_PXA3xx
|
|
tristate "Support for NAND flash devices on PXA3xx"
|
|
depends on PXA3xx || ARCH_MMP
|
|
help
|
|
This enables the driver for the NAND flash device found on
|
|
PXA3xx processors
|
|
|
|
config MTD_NAND_CM_X270
|
|
tristate "Support for NAND Flash on CM-X270 modules"
|
|
depends on MACH_ARMCORE
|
|
|
|
config MTD_NAND_PASEMI
|
|
tristate "NAND support for PA Semi PWRficient"
|
|
depends on PPC_PASEMI
|
|
help
|
|
Enables support for NAND Flash interface on PA Semi PWRficient
|
|
based boards
|
|
|
|
config MTD_NAND_TMIO
|
|
tristate "NAND Flash device on Toshiba Mobile IO Controller"
|
|
depends on MFD_TMIO
|
|
help
|
|
Support for NAND flash connected to a Toshiba Mobile IO
|
|
Controller in some PDAs, including the Sharp SL6000x.
|
|
|
|
config MTD_NAND_NANDSIM
|
|
tristate "Support for NAND Flash Simulator"
|
|
help
|
|
The simulator may simulate various NAND flash chips for the
|
|
MTD nand layer.
|
|
|
|
config MTD_NAND_GPMI_NAND
|
|
bool "GPMI NAND Flash Controller driver"
|
|
depends on MTD_NAND && (SOC_IMX23 || SOC_IMX28)
|
|
select MTD_PARTITIONS
|
|
select MTD_CMDLINE_PARTS
|
|
help
|
|
Enables NAND Flash support for IMX23 or IMX28.
|
|
The GPMI controller is very powerful, with the help of BCH
|
|
module, it can do the hardware ECC. The GPMI supports several
|
|
NAND flashs at the same time. The GPMI may conflicts with other
|
|
block, such as SD card. So pay attention to it when you enable
|
|
the GPMI.
|
|
|
|
config MTD_NAND_PLATFORM
|
|
tristate "Support for generic platform NAND driver"
|
|
help
|
|
This implements a generic NAND driver for on-SOC platform
|
|
devices. You will need to provide platform-specific functions
|
|
via platform_data.
|
|
|
|
config MTD_ALAUDA
|
|
tristate "MTD driver for Olympus MAUSB-10 and Fujifilm DPC-R1"
|
|
depends on USB
|
|
help
|
|
These two (and possibly other) Alauda-based cardreaders for
|
|
SmartMedia and xD allow raw flash access.
|
|
|
|
config MTD_NAND_ORION
|
|
tristate "NAND Flash support for Marvell Orion SoC"
|
|
depends on PLAT_ORION
|
|
help
|
|
This enables the NAND flash controller on Orion machines.
|
|
|
|
No board specific support is done by this driver, each board
|
|
must advertise a platform_device for the driver to attach.
|
|
|
|
config MTD_NAND_FSL_ELBC
|
|
tristate "NAND support for Freescale eLBC controllers"
|
|
depends on PPC_OF
|
|
select FSL_LBC
|
|
help
|
|
Various Freescale chips, including the 8313, include a NAND Flash
|
|
Controller Module with built-in hardware ECC capabilities.
|
|
Enabling this option will enable you to use this to control
|
|
external NAND devices.
|
|
|
|
config MTD_NAND_FSL_UPM
|
|
tristate "Support for NAND on Freescale UPM"
|
|
depends on PPC_83xx || PPC_85xx
|
|
select FSL_LBC
|
|
help
|
|
Enables support for NAND Flash chips wired onto Freescale PowerPC
|
|
processor localbus with User-Programmable Machine support.
|
|
|
|
config MTD_NAND_MPC5121_NFC
|
|
tristate "MPC5121 built-in NAND Flash Controller support"
|
|
depends on PPC_MPC512x
|
|
help
|
|
This enables the driver for the NAND flash controller on the
|
|
MPC5121 SoC.
|
|
|
|
config MTD_NAND_MXC
|
|
tristate "MXC NAND support"
|
|
depends on IMX_HAVE_PLATFORM_MXC_NAND
|
|
help
|
|
This enables the driver for the NAND flash controller on the
|
|
MXC processors.
|
|
|
|
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_SH_FLCTL
|
|
tristate "Support for NAND on Renesas SuperH FLCTL"
|
|
depends on SUPERH || ARCH_SHMOBILE
|
|
help
|
|
Several Renesas SuperH CPU has FLCTL. This option enables support
|
|
for NAND Flash using FLCTL.
|
|
|
|
config MTD_NAND_DAVINCI
|
|
tristate "Support NAND on DaVinci SoC"
|
|
depends on ARCH_DAVINCI
|
|
help
|
|
Enable the driver for NAND flash chips on Texas Instruments
|
|
DaVinci processors.
|
|
|
|
config MTD_NAND_TXX9NDFMC
|
|
tristate "NAND Flash support for TXx9 SoC"
|
|
depends on SOC_TX4938 || SOC_TX4939
|
|
help
|
|
This enables the NAND flash controller on the TXx9 SoCs.
|
|
|
|
config MTD_NAND_SOCRATES
|
|
tristate "Support for NAND on Socrates board"
|
|
depends on SOCRATES
|
|
help
|
|
Enables support for NAND Flash chips wired onto Socrates board.
|
|
|
|
config MTD_NAND_NUC900
|
|
tristate "Support for NAND on Nuvoton NUC9xx/w90p910 evaluation boards."
|
|
depends on ARCH_W90X900
|
|
help
|
|
This enables the driver for the NAND Flash on evaluation board based
|
|
on w90p910 / NUC9xx.
|
|
|
|
config MTD_NAND_JZ4740
|
|
tristate "Support for JZ4740 SoC NAND controller"
|
|
depends on MACH_JZ4740
|
|
help
|
|
Enables support for NAND Flash on JZ4740 SoC based boards.
|
|
|
|
config MTD_NAND_FSMC
|
|
tristate "Support for NAND on ST Micros FSMC"
|
|
depends on PLAT_SPEAR || PLAT_NOMADIK || MACH_U300
|
|
help
|
|
Enables support for NAND Flash chips on the ST Microelectronics
|
|
Flexible Static Memory Controller (FSMC)
|
|
|
|
endif # MTD_NAND
|