mfd: have TMIO drivers and subdevices depend on ARM
[safe/jmp/linux-2.6] / drivers / mtd / nand / Kconfig
index 3db77ee..41f361c 100644 (file)
@@ -1,77 +1,82 @@
 # 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"
-       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_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_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_AMS_DELTA
        tristate "NAND Flash device on Amstrad E3"
-       depends on MACH_AMS_DELTA && MTD_NAND
+       depends on MACH_AMS_DELTA
        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
+       depends on ARCH_OMAP && 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
+       depends on MACH_TS72XX
        help
          Support for NAND flash on Technologic Systems TS-7250 platform.
 
@@ -80,29 +85,62 @@ 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 && BROKEN
+       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
+       depends on ARCH_S3C2410
        help
          This enables the NAND flash controller on the S3C2410 and S3C2440
          SoCs
@@ -125,15 +163,12 @@ config MTD_NAND_S3C2410_HWECC
          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
+       depends on 4xx && !PPC_MERGE
+       select MTD_NAND_ECC_SMC
        help
-        NDFC Nand Flash Controllers are integrated in EP44x SoCs
+        NDFC Nand Flash Controllers are integrated in IBM/AMCC's 4xx SoCs
 
 config MTD_NAND_S3C2410_CLKSTOP
        bool "S3C2410 NAND IDLE clock stop"
@@ -147,7 +182,7 @@ config MTD_NAND_S3C2410_CLKSTOP
 
 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
@@ -217,11 +252,28 @@ 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_BASLER_EXCITE
+       tristate  "Support for NAND Flash on Basler eXcite"
+       depends on BASLER_EXCITE
+       help
+          This enables the driver for the NAND flash device found on the
+          Basler eXcite Smart Camera. If built as a module, the driver
+          will be named "excite_nandflash.ko".
+
+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_32 && (X86_PC || X86_GENERICARCH)
+       depends on 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
@@ -232,11 +284,126 @@ config MTD_NAND_CS553X
 
          If you say "m", the module will be called "cs553x_nand.ko".
 
+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
+       bool "Support for NAND flash devices on PXA3xx"
+       depends on MTD_NAND && PXA3xx
+       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 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 && OF_GPIO && (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.
+
+endif # MTD_NAND