mtd: trivial sh_flctl changes
[safe/jmp/linux-2.6] / drivers / mtd / nand / Kconfig
index b1f8079..bb64656 100644 (file)
-# 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
+menuconfig 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>.
+         <http://www.linux-mtd.infradead.org/doc/nand.html>.
+
+if MTD_NAND
 
 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.
+         flipped accidentally due to device wear or something else.
+
+config MTD_NAND_ECC_SMC
+       bool "NAND ECC Smart Media byte order"
+       default n
+       help
+         Software ECC according to the Smart Media Specification.
+         The original Linux implementation had byte 0 and 1 swapped.
+
+config MTD_NAND_MUSEUM_IDS
+       bool "Enable chip ids for obsolete ancient NAND devices"
+       depends on MTD_NAND
+       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 MTD_NAND && ARCH_AUTCPU12
+       depends on 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
+       depends on 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
+       depends on ARCH_PXA && MTD_PARTITIONS
        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 && MTD_NAND
+       depends on ARCH_P720T
        help
          If you had to ask, you don't have one. Say 'N'.
 
-config MTD_NAND_TOTO
-       tristate "NAND Flash device on TOTO board"
-       depends on ARCH_OMAP && MTD_NAND
+config MTD_NAND_AMS_DELTA
+       tristate "NAND Flash device on Amstrad E3"
+       depends on MACH_AMS_DELTA
+       help
+         Support for NAND flash on Amstrad E3 (Delta).
+
+config MTD_NAND_OMAP2
+       tristate "NAND Flash device on OMAP2 and OMAP3"
+       depends on ARM && MTD_NAND && (ARCH_OMAP2 || ARCH_OMAP3)
+       help
+          Support for NAND flash on Texas Instruments OMAP2 and OMAP3 platforms.
+
+config MTD_NAND_OMAP_PREFETCH
+       bool "GPMC prefetch support for NAND Flash device"
+       depends on MTD_NAND && MTD_NAND_OMAP2
+       default y
        help
-         Support for NAND flash on Texas Instruments Toto platform.
+        The NAND device can be accessed for Read/Write using GPMC PREFETCH engine
+        to improve the performance.
+
+config MTD_NAND_OMAP_PREFETCH_DMA
+       depends on MTD_NAND_OMAP_PREFETCH
+       bool "DMA mode"
+       default n
+       help
+        The GPMC PREFETCH engine can be configured eigther in MPU interrupt mode
+        or in DMA interrupt mode.
+        Say y for DMA mode or MPU mode will be used
 
 config MTD_NAND_TS7250
        tristate "NAND Flash device on TS-7250 board"
-       depends on MACH_TS72XX && MTD_NAND
+       depends on MACH_TS72XX
        help
          Support for NAND flash on Technologic Systems TS-7250 platform.
 
@@ -66,58 +106,120 @@ config MTD_NAND_IDS
 
 config MTD_NAND_AU1550
        tristate "Au1550/1200 NAND support"
-       depends on (SOC_AU1200 || SOC_AU1550) && MTD_NAND
+       depends on SOC_AU1200 || SOC_AU1550
        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) && MTD_NAND
+       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 MTD_NAND && SH_SOLUTION_ENGINE
+       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 && MTD_NAND
+       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 S3C2410/S3C2440 SoC"
-       depends on ARCH_S3C2410 && MTD_NAND
+       tristate "NAND Flash support for Samsung S3C SoCs"
+       depends on ARCH_S3C2410 || ARCH_S3C64XX
        help
-         This enables the NAND flash controller on the S3C2410 and S3C2440
+         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 "S3C2410 NAND driver debug"
+       bool "Samsung S3C NAND driver debug"
        depends on MTD_NAND_S3C2410
        help
-         Enable debugging of the S3C2410 NAND driver
+         Enable debugging of the S3C NAND driver
 
 config MTD_NAND_S3C2410_HWECC
-       bool "S3C2410 NAND Hardware ECC"
+       bool "Samsung S3C 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
+         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.
 
-         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 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 && MTD_NAND
+       help
+         This enables the NAND flash controller on the BCM UMI block.
+
+         No board specfic 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 MTD_NAND && EXPERIMENTAL
+       depends on EXPERIMENTAL
        select REED_SOLOMON
        select REED_SOLOMON_DEC16
        help
@@ -187,11 +289,20 @@ config MTD_NAND_DISKONCHIP_BBTWRITE
 
 config MTD_NAND_SHARPSL
        tristate "Support for NAND Flash on Sharp SL Series (C7xx + others)"
-       depends on MTD_NAND && ARCH_PXA
+       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 MTD_NAND && X86_PC && PCI
+       depends on X86_32
        help
          The CS553x companion chips for the AMD Geode processor
          include NAND flash controllers with built-in hardware ECC
@@ -200,13 +311,181 @@ config MTD_NAND_CS553X
          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".
+         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
+
+endchoice
+
+config MTD_NAND_PXA3xx
+       tristate "Support for NAND flash devices on PXA3xx"
+       depends on MTD_NAND && (PXA3xx || ARCH_MMP)
+       help
+         This enables the driver for the NAND flash device found on
+         PXA3xx processors
+
+config MTD_NAND_PXA3xx_BUILTIN
+       bool "Use builtin definitions for some NAND chips (deprecated)"
+       depends on MTD_NAND_PXA3xx
+       help
+         This enables builtin definitions for some NAND chips. This
+         is deprecated in favor of platform specific data.
+
+config MTD_NAND_CM_X270
+       tristate "Support for NAND Flash on CM-X270 modules"
+       depends on MTD_NAND && MACH_ARMCORE
+
+config MTD_NAND_PASEMI
+       tristate "NAND support for PA Semi PWRficient"
+       depends on MTD_NAND && 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 MTD_NAND && 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"
-       depends on MTD_NAND && MTD_PARTITIONS
+       depends on MTD_PARTITIONS
        help
          The simulator may simulate various NAND flash chips for the
          MTD nand layer.
 
-endmenu
+config MTD_NAND_PLATFORM
+       tristate "Support for generic platform NAND driver"
+       depends on MTD_NAND
+       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 MTD_NAND && 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 && MTD_NAND
+       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 MTD_NAND && PPC_OF
+       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 MTD_NAND && (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_MXC
+       tristate "MXC NAND support"
+       depends on ARCH_MX2 || ARCH_MX3
+       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 MTD_NAND && SUPERH
+       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 MTD_NAND && SOCRATES
+       help
+         Enables support for NAND Flash chips wired onto Socrates board.
+
+config MTD_NAND_W90P910
+       tristate "Support for NAND on w90p910 evaluation board."
+       depends on ARCH_W90X900 && MTD_PARTITIONS
+       help
+         This enables the driver for the NAND Flash on evaluation board based
+         on w90p910.
+
+endif # MTD_NAND