linux/drivers/mmc/host/Kconfig
<<
>>
Prefs
   1#
   2# MMC/SD host controller drivers
   3#
   4
   5comment "MMC/SD/SDIO Host Controller Drivers"
   6
   7config MMC_ARMMMCI
   8        tristate "ARM AMBA Multimedia Card Interface support"
   9        depends on ARM_AMBA
  10        help
  11          This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
  12          Interface (PL180 and PL181) support.  If you have an ARM(R)
  13          platform with a Multimedia Card slot, say Y or M here.
  14
  15          If unsure, say N.
  16
  17config MMC_PXA
  18        tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
  19        depends on ARCH_PXA
  20        help
  21          This selects the Intel(R) PXA(R) Multimedia card Interface.
  22          If you have a PXA(R) platform with a Multimedia Card slot,
  23          say Y or M here.
  24
  25          If unsure, say N.
  26
  27config MMC_SDHCI
  28        tristate "Secure Digital Host Controller Interface support"
  29        depends on HAS_DMA
  30        help
  31          This selects the generic Secure Digital Host Controller Interface.
  32          It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
  33          and Toshiba(R). Most controllers found in laptops are of this type.
  34
  35          If you have a controller with this interface, say Y or M here. You
  36          also need to enable an appropriate bus interface.
  37
  38          If unsure, say N.
  39
  40config MMC_SDHCI_IO_ACCESSORS
  41        bool
  42        depends on MMC_SDHCI
  43        help
  44          This is silent Kconfig symbol that is selected by the drivers that
  45          need to overwrite SDHCI IO memory accessors.
  46
  47config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
  48        bool
  49        select MMC_SDHCI_IO_ACCESSORS
  50        help
  51          This option is selected by drivers running on big endian hosts
  52          and performing I/O to a SDHCI controller through a bus that
  53          implements a hardware byte swapper using a 32-bit datum.
  54          This endian mapping mode is called "data invariance" and
  55          has the effect of scrambling the addresses and formats of data
  56          accessed in sizes other than the datum size.
  57
  58          This is the case for the Freescale eSDHC and Nintendo Wii SDHCI.
  59
  60config MMC_SDHCI_PCI
  61        tristate "SDHCI support on PCI bus"
  62        depends on MMC_SDHCI && PCI
  63        help
  64          This selects the PCI Secure Digital Host Controller Interface.
  65          Most controllers found today are PCI devices.
  66
  67          If you have a controller with this interface, say Y or M here.
  68
  69          If unsure, say N.
  70
  71config MMC_RICOH_MMC
  72        bool "Ricoh MMC Controller Disabler  (EXPERIMENTAL)"
  73        depends on MMC_SDHCI_PCI
  74        help
  75          This adds a pci quirk to disable Ricoh MMC Controller. This
  76          proprietary controller is unnecessary because the SDHCI driver
  77          supports MMC cards on the SD controller, but if it is not
  78          disabled, it will steal the MMC cards away - rendering them
  79          useless. It is safe to select this even if you don't
  80          have a Ricoh based card reader.
  81
  82          If unsure, say Y.
  83
  84config MMC_SDHCI_OF
  85        tristate "SDHCI support on OpenFirmware platforms"
  86        depends on MMC_SDHCI && OF
  87        help
  88          This selects the OF support for Secure Digital Host Controller
  89          Interfaces.
  90
  91          If unsure, say N.
  92
  93config MMC_SDHCI_OF_ESDHC
  94        bool "SDHCI OF support for the Freescale eSDHC controller"
  95        depends on MMC_SDHCI_OF
  96        depends on PPC_OF
  97        select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
  98        help
  99          This selects the Freescale eSDHC controller support.
 100
 101          If unsure, say N.
 102
 103config MMC_SDHCI_OF_HLWD
 104        bool "SDHCI OF support for the Nintendo Wii SDHCI controllers"
 105        depends on MMC_SDHCI_OF
 106        depends on PPC_OF
 107        select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
 108        help
 109          This selects the Secure Digital Host Controller Interface (SDHCI)
 110          found in the "Hollywood" chipset of the Nintendo Wii video game
 111          console.
 112
 113          If unsure, say N.
 114
 115config MMC_SDHCI_PLTFM
 116        tristate "SDHCI support on the platform specific bus"
 117        depends on MMC_SDHCI
 118        help
 119          This selects the platform specific bus support for Secure Digital Host
 120          Controller Interface.
 121
 122          If you have a controller with this interface, say Y or M here.
 123
 124          If unsure, say N.
 125
 126config MMC_SDHCI_CNS3XXX
 127        bool "SDHCI support on the Cavium Networks CNS3xxx SoC"
 128        depends on ARCH_CNS3XXX
 129        depends on MMC_SDHCI_PLTFM
 130        help
 131          This selects the SDHCI support for CNS3xxx System-on-Chip devices.
 132
 133          If unsure, say N.
 134
 135config MMC_SDHCI_ESDHC_IMX
 136        bool "SDHCI platform support for the Freescale eSDHC i.MX controller"
 137        depends on MMC_SDHCI_PLTFM && (ARCH_MX25 || ARCH_MX35 || ARCH_MX5)
 138        select MMC_SDHCI_IO_ACCESSORS
 139        help
 140          This selects the Freescale eSDHC controller support on the platform
 141          bus, found on platforms like mx35/51.
 142
 143          If unsure, say N.
 144
 145config MMC_SDHCI_DOVE
 146        bool "SDHCI support on Marvell's Dove SoC"
 147        depends on ARCH_DOVE
 148        depends on MMC_SDHCI_PLTFM
 149        select MMC_SDHCI_IO_ACCESSORS
 150        help
 151          This selects the Secure Digital Host Controller Interface in
 152          Marvell's Dove SoC.
 153
 154          If unsure, say N.
 155
 156config MMC_SDHCI_TEGRA
 157        tristate "SDHCI platform support for the Tegra SD/MMC Controller"
 158        depends on MMC_SDHCI_PLTFM && ARCH_TEGRA
 159        select MMC_SDHCI_IO_ACCESSORS
 160        help
 161          This selects the Tegra SD/MMC controller. If you have a Tegra
 162          platform with SD or MMC devices, say Y or M here.
 163
 164          If unsure, say N.
 165
 166config MMC_SDHCI_S3C
 167        tristate "SDHCI support on Samsung S3C SoC"
 168        depends on MMC_SDHCI && PLAT_SAMSUNG
 169        help
 170          This selects the Secure Digital Host Controller Interface (SDHCI)
 171          often referrered to as the HSMMC block in some of the Samsung S3C
 172          range of SoC.
 173
 174          Note, due to the problems with DMA, the DMA support is only
 175          available with CONFIG_EXPERIMENTAL is selected.
 176
 177          If you have a controller with this interface, say Y or M here.
 178
 179          If unsure, say N.
 180
 181config MMC_SDHCI_PXA
 182        tristate "Marvell PXA168/PXA910/MMP2 SD Host Controller support"
 183        depends on ARCH_PXA || ARCH_MMP
 184        select MMC_SDHCI
 185        select MMC_SDHCI_IO_ACCESSORS
 186        help
 187          This selects the Marvell(R) PXA168/PXA910/MMP2 SD Host Controller.
 188          If you have a PXA168/PXA910/MMP2 platform with SD Host Controller
 189          and a card slot, say Y or M here.
 190
 191          If unsure, say N.
 192
 193config MMC_SDHCI_SPEAR
 194        tristate "SDHCI support on ST SPEAr platform"
 195        depends on MMC_SDHCI && PLAT_SPEAR
 196        help
 197          This selects the Secure Digital Host Controller Interface (SDHCI)
 198          often referrered to as the HSMMC block in some of the ST SPEAR range
 199          of SoC
 200
 201          If you have a controller with this interface, say Y or M here.
 202
 203          If unsure, say N.
 204
 205config MMC_SDHCI_S3C_DMA
 206        bool "DMA support on S3C SDHCI"
 207        depends on MMC_SDHCI_S3C && EXPERIMENTAL
 208        help
 209          Enable DMA support on the Samsung S3C SDHCI glue. The DMA
 210          has proved to be problematic if the controller encounters
 211          certain errors, and thus should be treated with care.
 212
 213          YMMV.
 214
 215config MMC_OMAP
 216        tristate "TI OMAP Multimedia Card Interface support"
 217        depends on ARCH_OMAP
 218        select TPS65010 if MACH_OMAP_H2
 219        help
 220          This selects the TI OMAP Multimedia card Interface.
 221          If you have an OMAP board with a Multimedia Card slot,
 222          say Y or M here.
 223
 224          If unsure, say N.
 225
 226config MMC_OMAP_HS
 227        tristate "TI OMAP High Speed Multimedia Card Interface support"
 228        depends on ARCH_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4
 229        help
 230          This selects the TI OMAP High Speed Multimedia card Interface.
 231          If you have an OMAP2430 or OMAP3 board or OMAP4 board with a
 232          Multimedia Card slot, say Y or M here.
 233
 234          If unsure, say N.
 235
 236config MMC_WBSD
 237        tristate "Winbond W83L51xD SD/MMC Card Interface support"
 238        depends on ISA_DMA_API
 239        help
 240          This selects the Winbond(R) W83L51xD Secure digital and
 241          Multimedia card Interface.
 242          If you have a machine with a integrated W83L518D or W83L519D
 243          SD/MMC card reader, say Y or M here.
 244
 245          If unsure, say N.
 246
 247config MMC_AU1X
 248        tristate "Alchemy AU1XX0 MMC Card Interface support"
 249        depends on SOC_AU1200
 250        help
 251          This selects the AMD Alchemy(R) Multimedia card interface.
 252          If you have a Alchemy platform with a MMC slot, say Y or M here.
 253
 254          If unsure, say N.
 255
 256choice
 257        prompt "Atmel SD/MMC Driver"
 258        depends on AVR32 || ARCH_AT91
 259        default MMC_ATMELMCI if AVR32
 260        help
 261          Choose which driver to use for the Atmel MCI Silicon
 262
 263config MMC_AT91
 264        tristate "AT91 SD/MMC Card Interface support"
 265        depends on ARCH_AT91
 266        help
 267          This selects the AT91 MCI controller.
 268
 269          If unsure, say N.
 270
 271config MMC_ATMELMCI
 272        tristate "Atmel Multimedia Card Interface support"
 273        depends on AVR32 || ARCH_AT91
 274        help
 275          This selects the Atmel Multimedia Card Interface driver. If
 276          you have an AT32 (AVR32) or AT91 platform with a Multimedia
 277          Card slot, say Y or M here.
 278
 279          If unsure, say N.
 280
 281endchoice
 282
 283config MMC_ATMELMCI_DMA
 284        bool "Atmel MCI DMA support (EXPERIMENTAL)"
 285        depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE && EXPERIMENTAL
 286        help
 287          Say Y here to have the Atmel MCI driver use a DMA engine to
 288          do data transfers and thus increase the throughput and
 289          reduce the CPU utilization. Note that this is highly
 290          experimental and may cause the driver to lock up.
 291
 292          If unsure, say N.
 293
 294config MMC_IMX
 295        tristate "Motorola i.MX Multimedia Card Interface support"
 296        depends on ARCH_MX1
 297        help
 298          This selects the Motorola i.MX Multimedia card Interface.
 299          If you have a i.MX platform with a Multimedia Card slot,
 300          say Y or M here.
 301
 302          If unsure, say N.
 303
 304config MMC_MSM
 305        tristate "Qualcomm SDCC Controller Support"
 306        depends on MMC && ARCH_MSM
 307        help
 308          This provides support for the SD/MMC cell found in the
 309          MSM and QSD SOCs from Qualcomm. The controller also has
 310          support for SDIO devices.
 311
 312config MMC_MXC
 313        tristate "Freescale i.MX2/3 Multimedia Card Interface support"
 314        depends on ARCH_MXC
 315        help
 316          This selects the Freescale i.MX2/3 Multimedia card Interface.
 317          If you have a i.MX platform with a Multimedia Card slot,
 318          say Y or M here.
 319
 320          If unsure, say N.
 321
 322config MMC_TIFM_SD
 323        tristate "TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)"
 324        depends on EXPERIMENTAL && PCI
 325        select TIFM_CORE
 326        help
 327          Say Y here if you want to be able to access MMC/SD cards with
 328          the Texas Instruments(R) Flash Media card reader, found in many
 329          laptops.
 330          This option 'selects' (turns on, enables) 'TIFM_CORE', but you
 331          probably also need appropriate card reader host adapter, such as
 332          'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
 333          (TIFM_7XX1)'.
 334
 335          To compile this driver as a module, choose M here: the
 336          module will be called tifm_sd.
 337
 338config MMC_MVSDIO
 339        tristate "Marvell MMC/SD/SDIO host driver"
 340        depends on PLAT_ORION
 341        ---help---
 342          This selects the Marvell SDIO host driver.
 343          SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
 344          SoC controllers.
 345
 346          To compile this driver as a module, choose M here: the
 347          module will be called mvsdio.
 348
 349config MMC_DAVINCI
 350        tristate "TI DAVINCI Multimedia Card Interface support"
 351        depends on ARCH_DAVINCI
 352        help
 353          This selects the TI DAVINCI Multimedia card Interface.
 354          If you have an DAVINCI board with a Multimedia Card slot,
 355          say Y or M here.  If unsure, say N.
 356
 357config MMC_SPI
 358        tristate "MMC/SD/SDIO over SPI"
 359        depends on SPI_MASTER && !HIGHMEM && HAS_DMA
 360        select CRC7
 361        select CRC_ITU_T
 362        help
 363          Some systems access MMC/SD/SDIO cards using a SPI controller
 364          instead of using a "native" MMC/SD/SDIO controller.  This has a
 365          disadvantage of being relatively high overhead, but a compensating
 366          advantage of working on many systems without dedicated MMC/SD/SDIO
 367          controllers.
 368
 369          If unsure, or if your system has no SPI master driver, say N.
 370
 371config MMC_S3C
 372        tristate "Samsung S3C SD/MMC Card Interface support"
 373        depends on ARCH_S3C2410
 374        help
 375          This selects a driver for the MCI interface found in
 376          Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
 377          If you have a board based on one of those and a MMC/SD
 378          slot, say Y or M here.
 379
 380          If unsure, say N.
 381
 382config MMC_S3C_HW_SDIO_IRQ
 383       bool "Hardware support for SDIO IRQ"
 384       depends on MMC_S3C
 385       help
 386         Enable the hardware support for SDIO interrupts instead of using
 387         the generic polling code.
 388
 389choice
 390        prompt "Samsung S3C SD/MMC transfer code"
 391        depends on MMC_S3C
 392
 393config MMC_S3C_PIO
 394        bool "Use PIO transfers only"
 395        help
 396          Use PIO to transfer data between memory and the hardware.
 397
 398          PIO is slower than DMA as it requires CPU instructions to
 399          move the data. This has been the traditional default for
 400          the S3C MCI driver.
 401
 402config MMC_S3C_DMA
 403        bool "Use DMA transfers only (EXPERIMENTAL)"
 404        depends on EXPERIMENTAL
 405        help
 406          Use DMA to transfer data between memory and the hardare.
 407
 408          Currently, the DMA support in this driver seems to not be
 409          working properly and needs to be debugged before this
 410          option is useful.
 411
 412config MMC_S3C_PIODMA
 413        bool "Support for both PIO and DMA (EXPERIMENTAL)"
 414        help
 415          Compile both the PIO and DMA transfer routines into the
 416          driver and let the platform select at run-time which one
 417          is best.
 418
 419          See notes for the DMA option.
 420
 421endchoice
 422
 423config MMC_SDRICOH_CS
 424        tristate "MMC/SD driver for Ricoh Bay1Controllers (EXPERIMENTAL)"
 425        depends on EXPERIMENTAL && PCI && PCMCIA
 426        help
 427          Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
 428          card whenever you insert a MMC or SD card into the card slot.
 429
 430          To compile this driver as a module, choose M here: the
 431          module will be called sdricoh_cs.
 432
 433config MMC_TMIO
 434        tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
 435        depends on MFD_TMIO || MFD_ASIC3 || MFD_SH_MOBILE_SDHI
 436        help
 437          This provides support for the SD/MMC cell found in TC6393XB,
 438          T7L66XB and also HTC ASIC3
 439
 440config MMC_CB710
 441        tristate "ENE CB710 MMC/SD Interface support"
 442        depends on PCI
 443        select MISC_DEVICES
 444        select CB710_CORE
 445        help
 446          This option enables support for MMC/SD part of ENE CB710/720 Flash
 447          memory card reader found in some laptops (ie. some versions of
 448          HP Compaq nx9500).
 449
 450          This driver can also be built as a module. If so, the module
 451          will be called cb710-mmc.
 452
 453config MMC_VIA_SDMMC
 454        tristate "VIA SD/MMC Card Reader Driver"
 455        depends on PCI
 456        help
 457          This selects the VIA SD/MMC Card Reader driver, say Y or M here.
 458          VIA provides one multi-functional card reader which integrated into
 459          some motherboards manufactured by VIA. This card reader supports
 460          SD/MMC/SDHC.
 461          If you have a controller with this interface, say Y or M here.
 462
 463          If unsure, say N.
 464
 465config SDH_BFIN
 466        tristate "Blackfin Secure Digital Host support"
 467        depends on (BF54x && !BF544) || (BF51x && !BF512)
 468        help
 469          If you say yes here you will get support for the Blackfin on-chip
 470          Secure Digital Host interface.  This includes support for MMC and
 471          SD cards.
 472
 473          To compile this driver as a module, choose M here: the
 474          module will be called bfin_sdh.
 475
 476          If unsure, say N.
 477
 478config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND
 479        bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround"
 480        depends on SDH_BFIN
 481        help
 482          If you say yes here SD-Cards may work on the EZkit.
 483
 484config MMC_DW
 485        tristate "Synopsys DesignWare Memory Card Interface"
 486        depends on ARM
 487        help
 488          This selects support for the Synopsys DesignWare Mobile Storage IP
 489          block, this provides host support for SD and MMC interfaces, in both
 490          PIO and external DMA modes.
 491
 492config MMC_DW_IDMAC
 493        bool "Internal DMAC interface"
 494        depends on MMC_DW
 495        help
 496          This selects support for the internal DMAC block within the Synopsys
 497          Designware Mobile Storage IP block. This disables the external DMA
 498          interface.
 499
 500config MMC_SH_MMCIF
 501        tristate "SuperH Internal MMCIF support"
 502        depends on MMC_BLOCK && (SUPERH || ARCH_SHMOBILE)
 503        help
 504          This selects the MMC Host Interface controller (MMCIF).
 505
 506          This driver supports MMCIF in sh7724/sh7757/sh7372.
 507
 508config MMC_JZ4740
 509        tristate "JZ4740 SD/Multimedia Card Interface support"
 510        depends on MACH_JZ4740
 511        help
 512          This selects support for the SD/MMC controller on Ingenic JZ4740
 513          SoCs.
 514          If you have a board based on such a SoC and with a SD/MMC slot,
 515          say Y or M here.
 516
 517config MMC_USHC
 518        tristate "USB SD Host Controller (USHC) support"
 519        depends on USB
 520        help
 521          This selects support for USB SD Host Controllers based on
 522          the Cypress Astoria chip with firmware compliant with CSR's
 523          USB SD Host Controller specification (CS-118793-SP).
 524
 525          CSR boards with this device include: USB<>SDIO (M1985v2),
 526          and Ultrasira.
 527
 528          Note: These controllers only support SDIO cards and do not
 529          support MMC or SD memory cards.
 530