atmel-mci: unified Atmel MCI drivers (AVR32 & AT91)
[safe/jmp/linux-2.6] / drivers / mmc / host / Kconfig
index 6fef078..6f20eb9 100644 (file)
@@ -2,7 +2,7 @@
 # MMC/SD host controller drivers
 #
 
-comment "MMC/SD Host Controller Drivers"
+comment "MMC/SD/SDIO Host Controller Drivers"
 
 config MMC_ARMMMCI
        tristate "ARM AMBA Multimedia Card Interface support"
@@ -37,6 +37,13 @@ config MMC_SDHCI
 
          If unsure, say N.
 
+config MMC_SDHCI_IO_ACCESSORS
+       bool
+       depends on MMC_SDHCI
+       help
+         This is silent Kconfig symbol that is selected by the drivers that
+         need to overwrite SDHCI IO memory accessors.
+
 config MMC_SDHCI_PCI
        tristate "SDHCI support on PCI bus"
        depends on MMC_SDHCI && PCI
@@ -65,6 +72,53 @@ config MMC_RICOH_MMC
 
          If unsure, say Y.
 
+config MMC_SDHCI_OF
+       tristate "SDHCI support on OpenFirmware platforms"
+       depends on MMC_SDHCI && PPC_OF
+       select MMC_SDHCI_IO_ACCESSORS
+       help
+         This selects the OF support for Secure Digital Host Controller
+         Interfaces. So far, only the Freescale eSDHC controller is known
+         to exist on OF platforms.
+
+         If unsure, say N.
+
+config MMC_SDHCI_PLTFM
+       tristate "SDHCI support on the platform specific bus"
+       depends on MMC_SDHCI
+       help
+         This selects the platform specific bus support for Secure Digital Host
+         Controller Interface.
+
+         If you have a controller with this interface, say Y or M here.
+
+         If unsure, say N.
+
+config MMC_SDHCI_S3C
+       tristate "SDHCI support on Samsung S3C SoC"
+       depends on MMC_SDHCI && (PLAT_S3C24XX || PLAT_S3C64XX)
+       help
+         This selects the Secure Digital Host Controller Interface (SDHCI)
+         often referrered to as the HSMMC block in some of the Samsung S3C
+         range of SoC.
+
+         Note, due to the problems with DMA, the DMA support is only
+         available with CONFIG_EXPERIMENTAL is selected.
+
+         If you have a controller with this interface, say Y or M here.
+
+         If unsure, say N.
+
+config MMC_SDHCI_S3C_DMA
+       bool "DMA support on S3C SDHCI"
+       depends on MMC_SDHCI_S3C && EXPERIMENTAL
+       help
+         Enable DMA support on the Samsung S3C SDHCI glue. The DMA
+         has proved to be problematic if the controller encounters
+         certain errors, and thus should be treated with care.
+
+         YMMV.
+
 config MMC_OMAP
        tristate "TI OMAP Multimedia Card Interface support"
        depends on ARCH_OMAP
@@ -76,6 +130,16 @@ config MMC_OMAP
 
          If unsure, say N.
 
+config MMC_OMAP_HS
+       tristate "TI OMAP High Speed Multimedia Card Interface support"
+       depends on ARCH_OMAP2430 || ARCH_OMAP3
+       help
+         This selects the TI OMAP High Speed Multimedia card Interface.
+         If you have an OMAP2430 or OMAP3 board with a Multimedia Card slot,
+         say Y or M here.
+
+         If unsure, say N.
+
 config MMC_WBSD
        tristate "Winbond W83L51xD SD/MMC Card Interface support"
        depends on ISA_DMA_API
@@ -96,6 +160,12 @@ config MMC_AU1X
 
          If unsure, say N.
 
+choice
+       prompt "Atmel SD/MMC Driver"
+       default MMC_ATMELMCI if AVR32
+       help
+         Choose which driver to use for the Atmel MCI Silicon
+
 config MMC_AT91
        tristate "AT91 SD/MMC Card Interface support"
        depends on ARCH_AT91
@@ -106,17 +176,30 @@ config MMC_AT91
 
 config MMC_ATMELMCI
        tristate "Atmel Multimedia Card Interface support"
-       depends on AVR32
+       depends on AVR32 || ARCH_AT91
        help
          This selects the Atmel Multimedia Card Interface driver. If
-         you have an AT32 (AVR32) platform with a Multimedia Card
-         slot, say Y or M here.
+         you have an AT32 (AVR32) or AT91 platform with a Multimedia
+         Card slot, say Y or M here.
+
+         If unsure, say N.
+
+endchoice
+
+config MMC_ATMELMCI_DMA
+       bool "Atmel MCI DMA support (EXPERIMENTAL)"
+       depends on MMC_ATMELMCI && AVR32 && DMA_ENGINE && EXPERIMENTAL
+       help
+         Say Y here to have the Atmel MCI driver use a DMA engine to
+         do data transfers and thus increase the throughput and
+         reduce the CPU utilization. Note that this is highly
+         experimental and may cause the driver to lock up.
 
          If unsure, say N.
 
 config MMC_IMX
        tristate "Motorola i.MX Multimedia Card Interface support"
-       depends on ARCH_IMX
+       depends on ARCH_MX1
        help
          This selects the Motorola i.MX Multimedia card Interface.
          If you have a i.MX platform with a Multimedia Card slot,
@@ -124,6 +207,23 @@ config MMC_IMX
 
          If unsure, say N.
 
+config MMC_MSM7X00A
+       tristate "Qualcomm MSM 7X00A SDCC Controller Support"
+       depends on MMC && ARCH_MSM
+       help
+         This provides support for the SD/MMC cell found in the
+          MSM 7X00A controllers from Qualcomm.
+
+config MMC_MXC
+       tristate "Freescale i.MX2/3 Multimedia Card Interface support"
+       depends on ARCH_MXC
+       help
+         This selects the Freescale i.MX2/3 Multimedia card Interface.
+         If you have a i.MX platform with a Multimedia Card slot,
+         say Y or M here.
+
+         If unsure, say N.
+
 config MMC_TIFM_SD
        tristate "TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)"
        depends on EXPERIMENTAL && PCI
@@ -140,22 +240,34 @@ config MMC_TIFM_SD
           To compile this driver as a module, choose M here: the
          module will be called tifm_sd.
 
+config MMC_MVSDIO
+       tristate "Marvell MMC/SD/SDIO host driver"
+       depends on PLAT_ORION
+       ---help---
+         This selects the Marvell SDIO host driver.
+         SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
+         SoC controllers.
+
+         To compile this driver as a module, choose M here: the
+         module will be called mvsdio.
+
 config MMC_SPI
-       tristate "MMC/SD over SPI"
-       depends on MMC && SPI_MASTER && !HIGHMEM && HAS_DMA
+       tristate "MMC/SD/SDIO over SPI"
+       depends on SPI_MASTER && !HIGHMEM && HAS_DMA
        select CRC7
        select CRC_ITU_T
        help
-         Some systems accss MMC/SD cards using a SPI controller instead of
-         using a "native" MMC/SD controller.  This has a disadvantage of
-         being relatively high overhead, but a compensating advantage of
-         working on many systems without dedicated MMC/SD controllers.
+         Some systems access MMC/SD/SDIO cards using a SPI controller
+         instead of using a "native" MMC/SD/SDIO controller.  This has a
+         disadvantage of being relatively high overhead, but a compensating
+         advantage of working on many systems without dedicated MMC/SD/SDIO
+         controllers.
 
          If unsure, or if your system has no SPI master driver, say N.
 
 config MMC_S3C
        tristate "Samsung S3C SD/MMC Card Interface support"
-       depends on ARCH_S3C2410 && MMC
+       depends on ARCH_S3C2410
        help
          This selects a driver for the MCI interface found in
           Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
@@ -166,7 +278,7 @@ config MMC_S3C
 
 config MMC_SDRICOH_CS
        tristate "MMC/SD driver for Ricoh Bay1Controllers (EXPERIMENTAL)"
-       depends on EXPERIMENTAL && MMC && PCI && PCMCIA
+       depends on EXPERIMENTAL && PCI && PCMCIA
        help
          Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
          card whenever you insert a MMC or SD card into the card slot.
@@ -176,7 +288,31 @@ config MMC_SDRICOH_CS
 
 config MMC_TMIO
        tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
-       depends on MFD_CORE
+       depends on MFD_TMIO || MFD_ASIC3
        help
          This provides support for the SD/MMC cell found in TC6393XB,
-         T7L66XB and also ipaq ASIC3
+         T7L66XB and also HTC ASIC3
+
+config MMC_CB710
+       tristate "ENE CB710 MMC/SD Interface support"
+       depends on PCI
+       select CB710_CORE
+       help
+         This option enables support for MMC/SD part of ENE CB710/720 Flash
+         memory card reader found in some laptops (ie. some versions of
+         HP Compaq nx9500).
+
+         This driver can also be built as a module. If so, the module
+         will be called cb710-mmc.
+
+config MMC_VIA_SDMMC
+       tristate "VIA SD/MMC Card Reader Driver"
+       depends on PCI
+       help
+         This selects the VIA SD/MMC Card Reader driver, say Y or M here.
+         VIA provides one multi-functional card reader which integrated into
+         some motherboards manufactured by VIA. This card reader supports
+         SD/MMC/SDHC.
+         If you have a controller with this interface, say Y or M here.
+
+         If unsure, say N.