fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / mtd / nand / Kconfig
index f6ab472..358f55a 100644 (file)
@@ -1,5 +1,5 @@
 # drivers/mtd/nand/Kconfig
-# $Id: Kconfig,v 1.4 2003/05/28 10:04:23 dwmw2 Exp $
+# $Id: Kconfig,v 1.35 2005/11/07 11:14:30 gleixner Exp $
 
 menu "NAND Flash Device Drivers"
        depends on MTD!=n
@@ -7,10 +7,11 @@ menu "NAND Flash Device Drivers"
 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 with an 8-bit data bus interface. For further information see
-         <http://www.linux-mtd.infradead.org/tech/nand.html>.
+         devices. For further information see
+         <http://www.linux-mtd.infradead.org/doc/nand.html>.
 
 config MTD_NAND_VERIFY_WRITE
        bool "Verify NAND page writes"
@@ -20,32 +21,238 @@ config MTD_NAND_VERIFY_WRITE
          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.
+         flipped accidentally 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 ARM && MTD_NAND && ARCH_AUTCPU12
+       depends on MTD_NAND && ARCH_AUTCPU12
        help
-         This enables the driver for the autronix autcpu12 board to 
+         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 ARM && MTD_NAND && ARCH_EDB7312
+       depends on MTD_NAND && ARCH_EDB7312
        help
-         This enables the driver for the Cirrus Logic EBD7312 evaluation 
+         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 ARM && ARCH_P720T && MTD_NAND
+       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 && BROKEN
+       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
-       default y if MTD_NAND = y || MTD_DOC2000 = y || MTD_DOC2001 = y || MTD_DOC2001PLUS = y
-       default m if MTD_NAND = m || MTD_DOC2000 = m || MTD_DOC2001 = m || MTD_DOC2001PLUS = m
-       
-endmenu
 
+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
+       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 && MTD_NAND && BROKEN
+       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_NDFC
+       tristate "NDFC NanD Flash Controller"
+       depends on MTD_NAND && 44x
+       select MTD_NAND_ECC_SMC
+       help
+        NDFC Nand Flash Controllers are integrated in EP44x SoCs
+
+config MTD_NAND_S3C2410_CLKSTOP
+       bool "S3C2410 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_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_CAFE
+       tristate "NAND support for OLPC CAFÉ chip"
+       depends on PCI
+       help
+        Use NAND flash attached to the CAFÉ chip designed for the $100
+        laptop.
+
+config MTD_NAND_CS553X
+       tristate "NAND support for CS5535/CS5536 (AMD Geode companion chip)"
+       depends on MTD_NAND && X86_32 && (X86_PC || X86_GENERICARCH)
+       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_AT91
+       bool "Support for NAND Flash / SmartMedia on AT91"
+       depends on MTD_NAND && ARCH_AT91
+       help
+         Enables support for NAND Flash / Smart Media Card interface
+         on Atmel AT91 processors.
+
+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