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_DEBUG
   8        bool "MMC host drivers debugging"
   9        depends on MMC != n
  10        help
  11          This is an option for use by developers; most people should
  12          say N here. This enables MMC host driver debugging. And further
  13          added host drivers please don't invent their private macro for
  14          debugging.
  15
  16config MMC_ARMMMCI
  17        tristate "ARM AMBA Multimedia Card Interface support"
  18        depends on ARM_AMBA
  19        help
  20          This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
  21          Interface (PL180 and PL181) support.  If you have an ARM(R)
  22          platform with a Multimedia Card slot, say Y or M here.
  23
  24          If unsure, say N.
  25
  26config MMC_QCOM_DML
  27        bool "Qualcomm Data Mover for SD Card Controller"
  28        depends on MMC_ARMMMCI && QCOM_BAM_DMA
  29        default y
  30        help
  31          This selects the Qualcomm Data Mover lite/local on SD Card controller.
  32          This option will enable the dma to work correctly, if you are using
  33          Qcom SOCs and MMC, you would probably need this option to get DMA working.
  34
  35          if unsure, say N.
  36
  37config MMC_PXA
  38        tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
  39        depends on ARCH_PXA
  40        help
  41          This selects the Intel(R) PXA(R) Multimedia card Interface.
  42          If you have a PXA(R) platform with a Multimedia Card slot,
  43          say Y or M here.
  44
  45          If unsure, say N.
  46
  47config MMC_SDHCI
  48        tristate "Secure Digital Host Controller Interface support"
  49        depends on HAS_DMA
  50        help
  51          This selects the generic Secure Digital Host Controller Interface.
  52          It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
  53          and Toshiba(R). Most controllers found in laptops are of this type.
  54
  55          If you have a controller with this interface, say Y or M here. You
  56          also need to enable an appropriate bus interface.
  57
  58          If unsure, say N.
  59
  60config MMC_SDHCI_IO_ACCESSORS
  61        bool
  62        depends on MMC_SDHCI
  63        help
  64          This is silent Kconfig symbol that is selected by the drivers that
  65          need to overwrite SDHCI IO memory accessors.
  66
  67config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
  68        bool
  69        depends on MMC_SDHCI
  70        select MMC_SDHCI_IO_ACCESSORS
  71        help
  72          This option is selected by drivers running on big endian hosts
  73          and performing I/O to a SDHCI controller through a bus that
  74          implements a hardware byte swapper using a 32-bit datum.
  75          This endian mapping mode is called "data invariance" and
  76          has the effect of scrambling the addresses and formats of data
  77          accessed in sizes other than the datum size.
  78
  79          This is the case for the Nintendo Wii SDHCI.
  80
  81config MMC_SDHCI_PCI
  82        tristate "SDHCI support on PCI bus"
  83        depends on MMC_SDHCI && PCI
  84        select MMC_CQHCI
  85        help
  86          This selects the PCI Secure Digital Host Controller Interface.
  87          Most controllers found today are PCI devices.
  88
  89          If you have a controller with this interface, say Y or M here.
  90
  91          If unsure, say N.
  92
  93config MMC_RICOH_MMC
  94        bool "Ricoh MMC Controller Disabler"
  95        depends on MMC_SDHCI_PCI
  96        default y
  97        help
  98          This adds a pci quirk to disable Ricoh MMC Controller. This
  99          proprietary controller is unnecessary because the SDHCI driver
 100          supports MMC cards on the SD controller, but if it is not
 101          disabled, it will steal the MMC cards away - rendering them
 102          useless. It is safe to select this even if you don't
 103          have a Ricoh based card reader.
 104
 105          If unsure, say Y.
 106
 107config MMC_SDHCI_ACPI
 108        tristate "SDHCI support for ACPI enumerated SDHCI controllers"
 109        depends on MMC_SDHCI && ACPI && PCI
 110        select IOSF_MBI if X86
 111        help
 112          This selects support for ACPI enumerated SDHCI controllers,
 113          identified by ACPI Compatibility ID PNP0D40 or specific
 114          ACPI Hardware IDs.
 115
 116          If you have a controller with this interface, say Y or M here.
 117
 118          If unsure, say N.
 119
 120config MMC_SDHCI_PLTFM
 121        tristate "SDHCI platform and OF driver helper"
 122        depends on MMC_SDHCI
 123        help
 124          This selects the common helper functions support for Secure Digital
 125          Host Controller Interface based platform and OF drivers.
 126
 127          If you have a controller with this interface, say Y or M here.
 128
 129          If unsure, say N.
 130
 131config MMC_SDHCI_OF_ARASAN
 132        tristate "SDHCI OF support for the Arasan SDHCI controllers"
 133        depends on MMC_SDHCI_PLTFM
 134        depends on OF
 135        depends on COMMON_CLK
 136        select MMC_CQHCI
 137        help
 138          This selects the Arasan Secure Digital Host Controller Interface
 139          (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC.
 140
 141          If you have a controller with this interface, say Y or M here.
 142
 143          If unsure, say N.
 144
 145config MMC_SDHCI_OF_AT91
 146        tristate "SDHCI OF support for the Atmel SDMMC controller"
 147        depends on MMC_SDHCI_PLTFM
 148        depends on OF
 149        help
 150          This selects the Atmel SDMMC driver
 151
 152config MMC_SDHCI_OF_ESDHC
 153        tristate "SDHCI OF support for the Freescale eSDHC controller"
 154        depends on MMC_SDHCI_PLTFM
 155        depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE
 156        select MMC_SDHCI_IO_ACCESSORS
 157        select FSL_GUTS
 158        help
 159          This selects the Freescale eSDHC controller support.
 160
 161          If you have a controller with this interface, say Y or M here.
 162
 163          If unsure, say N.
 164
 165config MMC_SDHCI_OF_HLWD
 166        tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers"
 167        depends on MMC_SDHCI_PLTFM
 168        depends on PPC
 169        select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
 170        help
 171          This selects the Secure Digital Host Controller Interface (SDHCI)
 172          found in the "Hollywood" chipset of the Nintendo Wii video game
 173          console.
 174
 175          If you have a controller with this interface, say Y or M here.
 176
 177          If unsure, say N.
 178
 179config MMC_SDHCI_CADENCE
 180        tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller"
 181        depends on MMC_SDHCI_PLTFM
 182        depends on OF
 183        help
 184          This selects the Cadence SD/SDIO/eMMC driver.
 185
 186          If you have a controller with this interface, say Y or M here.
 187
 188          If unsure, say N.
 189
 190config MMC_SDHCI_CNS3XXX
 191        tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
 192        depends on ARCH_CNS3XXX
 193        depends on MMC_SDHCI_PLTFM
 194        help
 195          This selects the SDHCI support for CNS3xxx System-on-Chip devices.
 196
 197          If you have a controller with this interface, say Y or M here.
 198
 199          If unsure, say N.
 200
 201config MMC_SDHCI_ESDHC_IMX
 202        tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
 203        depends on ARCH_MXC
 204        depends on MMC_SDHCI_PLTFM
 205        select MMC_SDHCI_IO_ACCESSORS
 206        help
 207          This selects the Freescale eSDHC/uSDHC controller support
 208          found on i.MX25, i.MX35 i.MX5x and i.MX6x.
 209
 210          If you have a controller with this interface, say Y or M here.
 211
 212          If unsure, say N.
 213
 214config MMC_SDHCI_DOVE
 215        tristate "SDHCI support on Marvell's Dove SoC"
 216        depends on ARCH_DOVE || MACH_DOVE
 217        depends on MMC_SDHCI_PLTFM
 218        select MMC_SDHCI_IO_ACCESSORS
 219        help
 220          This selects the Secure Digital Host Controller Interface in
 221          Marvell's Dove SoC.
 222
 223          If you have a controller with this interface, say Y or M here.
 224
 225          If unsure, say N.
 226
 227config MMC_SDHCI_TEGRA
 228        tristate "SDHCI platform support for the Tegra SD/MMC Controller"
 229        depends on ARCH_TEGRA
 230        depends on MMC_SDHCI_PLTFM
 231        select MMC_SDHCI_IO_ACCESSORS
 232        help
 233          This selects the Tegra SD/MMC controller. If you have a Tegra
 234          platform with SD or MMC devices, say Y or M here.
 235
 236          If unsure, say N.
 237
 238config MMC_SDHCI_S3C
 239        tristate "SDHCI support on Samsung S3C SoC"
 240        depends on MMC_SDHCI && PLAT_SAMSUNG
 241        help
 242          This selects the Secure Digital Host Controller Interface (SDHCI)
 243          often referrered to as the HSMMC block in some of the Samsung S3C
 244          range of SoC.
 245
 246          If you have a controller with this interface, say Y or M here.
 247
 248          If unsure, say N.
 249
 250config MMC_SDHCI_SIRF
 251        tristate "SDHCI support on CSR SiRFprimaII and SiRFmarco SoCs"
 252        depends on ARCH_SIRF
 253        depends on MMC_SDHCI_PLTFM
 254        select MMC_SDHCI_IO_ACCESSORS
 255        help
 256          This selects the SDHCI support for SiRF System-on-Chip devices.
 257
 258          If you have a controller with this interface, say Y or M here.
 259
 260          If unsure, say N.
 261
 262config MMC_SDHCI_PXAV3
 263        tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
 264        depends on CLKDEV_LOOKUP
 265        depends on MMC_SDHCI_PLTFM
 266        depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST
 267        default CPU_MMP2
 268        help
 269          This selects the Marvell(R) PXAV3 SD Host Controller.
 270          If you have a MMP2 platform with SD Host Controller
 271          and a card slot, say Y or M here.
 272
 273          If unsure, say N.
 274
 275config MMC_SDHCI_PXAV2
 276        tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
 277        depends on CLKDEV_LOOKUP
 278        depends on MMC_SDHCI_PLTFM
 279        depends on ARCH_MMP || COMPILE_TEST
 280        default CPU_PXA910
 281        help
 282          This selects the Marvell(R) PXAV2 SD Host Controller.
 283          If you have a PXA9XX platform with SD Host Controller
 284          and a card slot, say Y or M here.
 285
 286          If unsure, say N.
 287
 288config MMC_SDHCI_SPEAR
 289        tristate "SDHCI support on ST SPEAr platform"
 290        depends on MMC_SDHCI && PLAT_SPEAR
 291        depends on OF
 292        help
 293          This selects the Secure Digital Host Controller Interface (SDHCI)
 294          often referrered to as the HSMMC block in some of the ST SPEAR range
 295          of SoC
 296
 297          If you have a controller with this interface, say Y or M here.
 298
 299          If unsure, say N.
 300
 301config MMC_SDHCI_S3C_DMA
 302        bool "DMA support on S3C SDHCI"
 303        depends on MMC_SDHCI_S3C
 304        help
 305          Enable DMA support on the Samsung S3C SDHCI glue. The DMA
 306          has proved to be problematic if the controller encounters
 307          certain errors, and thus should be treated with care.
 308
 309          YMMV.
 310
 311config MMC_SDHCI_BCM_KONA
 312        tristate "SDHCI support on Broadcom KONA platform"
 313        depends on ARCH_BCM_MOBILE
 314        depends on MMC_SDHCI_PLTFM
 315        help
 316          This selects the Broadcom Kona Secure Digital Host Controller
 317          Interface(SDHCI) support.
 318          This is used in Broadcom mobile SoCs.
 319
 320          If you have a controller with this interface, say Y or M here.
 321
 322config MMC_SDHCI_F_SDH30
 323        tristate "SDHCI support for Fujitsu Semiconductor F_SDH30"
 324        depends on MMC_SDHCI_PLTFM
 325        depends on OF || ACPI
 326        help
 327          This selects the Secure Digital Host Controller Interface (SDHCI)
 328          Needed by some Fujitsu SoC for MMC / SD / SDIO support.
 329          If you have a controller with this interface, say Y or M here.
 330
 331          If unsure, say N.
 332
 333config MMC_SDHCI_IPROC
 334        tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller"
 335        depends on ARCH_BCM2835 || ARCH_BCM_IPROC || COMPILE_TEST
 336        depends on MMC_SDHCI_PLTFM
 337        depends on OF || ACPI
 338        default ARCH_BCM_IPROC
 339        select MMC_SDHCI_IO_ACCESSORS
 340        help
 341          This selects the iProc SD/MMC controller.
 342
 343          If you have a BCM2835 or IPROC platform with SD or MMC devices,
 344          say Y or M here.
 345
 346          If unsure, say N.
 347
 348config MMC_MESON_GX
 349        tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support"
 350        depends on ARCH_MESON && MMC
 351        help
 352          This selects support for the Amlogic SD/MMC Host Controller
 353          found on the S905/GX*/AXG family of SoCs.  This controller is
 354          MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces.
 355
 356          If you have a controller with this interface, say Y here.
 357
 358config MMC_MESON_MX_SDIO
 359        tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support"
 360        depends on ARCH_MESON || COMPILE_TEST
 361        depends on COMMON_CLK
 362        depends on OF
 363        help
 364          This selects support for the SD/MMC Host Controller on
 365          Amlogic Meson6, Meson8 and Meson8b SoCs.
 366
 367          If you have a controller with this interface, say Y or M here.
 368          If unsure, say N.
 369
 370config MMC_MOXART
 371        tristate "MOXART SD/MMC Host Controller support"
 372        depends on ARCH_MOXART && MMC
 373        help
 374          This selects support for the MOXART SD/MMC Host Controller.
 375          MOXA provides one multi-functional card reader which can
 376          be found on some embedded hardware such as UC-7112-LX.
 377          If you have a controller with this interface, say Y here.
 378
 379config MMC_SDHCI_ST
 380        tristate "SDHCI support on STMicroelectronics SoC"
 381        depends on ARCH_STI || FSP2
 382        depends on MMC_SDHCI_PLTFM
 383        select MMC_SDHCI_IO_ACCESSORS
 384        help
 385          This selects the Secure Digital Host Controller Interface in
 386          STMicroelectronics SoCs.
 387
 388          If you have a controller with this interface, say Y or M here.
 389          If unsure, say N.
 390
 391config MMC_OMAP
 392        tristate "TI OMAP Multimedia Card Interface support"
 393        depends on ARCH_OMAP
 394        depends on TPS65010 || !MACH_OMAP_H2
 395        help
 396          This selects the TI OMAP Multimedia card Interface.
 397          If you have an OMAP board with a Multimedia Card slot,
 398          say Y or M here.
 399
 400          If unsure, say N.
 401
 402config MMC_OMAP_HS
 403        tristate "TI OMAP High Speed Multimedia Card Interface support"
 404        depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
 405        help
 406          This selects the TI OMAP High Speed Multimedia card Interface.
 407          If you have an omap2plus board with a Multimedia Card slot,
 408          say Y or M here.
 409
 410          If unsure, say N.
 411
 412config MMC_WBSD
 413        tristate "Winbond W83L51xD SD/MMC Card Interface support"
 414        depends on ISA_DMA_API
 415        help
 416          This selects the Winbond(R) W83L51xD Secure digital and
 417          Multimedia card Interface.
 418          If you have a machine with a integrated W83L518D or W83L519D
 419          SD/MMC card reader, say Y or M here.
 420
 421          If unsure, say N.
 422
 423config MMC_AU1X
 424        tristate "Alchemy AU1XX0 MMC Card Interface support"
 425        depends on MIPS_ALCHEMY
 426        help
 427          This selects the AMD Alchemy(R) Multimedia card interface.
 428          If you have a Alchemy platform with a MMC slot, say Y or M here.
 429
 430          If unsure, say N.
 431
 432config MMC_ATMELMCI
 433        tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"
 434        depends on ARCH_AT91
 435        help
 436          This selects the Atmel Multimedia Card Interface driver.
 437          If you have an AT91 platform with a Multimedia Card slot,
 438          say Y or M here.
 439
 440          If unsure, say N.
 441
 442config MMC_SDHCI_MSM
 443        tristate "Qualcomm SDHCI Controller Support"
 444        depends on ARCH_QCOM || (ARM && COMPILE_TEST)
 445        depends on MMC_SDHCI_PLTFM
 446        select MMC_SDHCI_IO_ACCESSORS
 447        help
 448          This selects the Secure Digital Host Controller Interface (SDHCI)
 449          support present in Qualcomm SOCs. The controller supports
 450          SD/MMC/SDIO devices.
 451
 452          If you have a controller with this interface, say Y or M here.
 453
 454          If unsure, say N.
 455
 456config MMC_MXC
 457        tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
 458        depends on ARCH_MXC || PPC_MPC512x
 459        help
 460          This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
 461          Multimedia Card Interface. If you have an i.MX or MPC512x platform
 462          with a Multimedia Card slot, say Y or M here.
 463
 464          If unsure, say N.
 465
 466config MMC_MXS
 467        tristate "Freescale MXS Multimedia Card Interface support"
 468        depends on ARCH_MXS && MXS_DMA
 469        help
 470          This selects the Freescale SSP MMC controller found on MXS based
 471          platforms like mx23/28.
 472
 473          If unsure, say N.
 474
 475config MMC_TIFM_SD
 476        tristate "TI Flash Media MMC/SD Interface support"
 477        depends on PCI
 478        select TIFM_CORE
 479        help
 480          Say Y here if you want to be able to access MMC/SD cards with
 481          the Texas Instruments(R) Flash Media card reader, found in many
 482          laptops.
 483          This option 'selects' (turns on, enables) 'TIFM_CORE', but you
 484          probably also need appropriate card reader host adapter, such as
 485          'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
 486          (TIFM_7XX1)'.
 487
 488          To compile this driver as a module, choose M here: the
 489          module will be called tifm_sd.
 490
 491config MMC_MVSDIO
 492        tristate "Marvell MMC/SD/SDIO host driver"
 493        depends on PLAT_ORION
 494        depends on OF
 495        ---help---
 496          This selects the Marvell SDIO host driver.
 497          SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
 498          SoC controllers.
 499
 500          To compile this driver as a module, choose M here: the
 501          module will be called mvsdio.
 502
 503config MMC_DAVINCI
 504        tristate "TI DAVINCI Multimedia Card Interface support"
 505        depends on ARCH_DAVINCI
 506        help
 507          This selects the TI DAVINCI Multimedia card Interface.
 508          If you have an DAVINCI board with a Multimedia Card slot,
 509          say Y or M here.  If unsure, say N.
 510
 511config MMC_GOLDFISH
 512        tristate "goldfish qemu Multimedia Card Interface support"
 513        depends on GOLDFISH || COMPILE_TEST
 514        help
 515          This selects the Goldfish Multimedia card Interface emulation
 516          found on the Goldfish Android virtual device emulation.
 517
 518config MMC_SPI
 519        tristate "MMC/SD/SDIO over SPI"
 520        depends on SPI_MASTER && HAS_DMA
 521        select CRC7
 522        select CRC_ITU_T
 523        help
 524          Some systems access MMC/SD/SDIO cards using a SPI controller
 525          instead of using a "native" MMC/SD/SDIO controller.  This has a
 526          disadvantage of being relatively high overhead, but a compensating
 527          advantage of working on many systems without dedicated MMC/SD/SDIO
 528          controllers.
 529
 530          If unsure, or if your system has no SPI master driver, say N.
 531
 532config MMC_S3C
 533        tristate "Samsung S3C SD/MMC Card Interface support"
 534        depends on ARCH_S3C24XX
 535        depends on S3C24XX_DMAC
 536        help
 537          This selects a driver for the MCI interface found in
 538          Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
 539          If you have a board based on one of those and a MMC/SD
 540          slot, say Y or M here.
 541
 542          If unsure, say N.
 543
 544config MMC_S3C_HW_SDIO_IRQ
 545       bool "Hardware support for SDIO IRQ"
 546       depends on MMC_S3C
 547       help
 548         Enable the hardware support for SDIO interrupts instead of using
 549         the generic polling code.
 550
 551choice
 552        prompt "Samsung S3C SD/MMC transfer code"
 553        depends on MMC_S3C
 554
 555config MMC_S3C_PIO
 556        bool "Use PIO transfers only"
 557        help
 558          Use PIO to transfer data between memory and the hardware.
 559
 560          PIO is slower than DMA as it requires CPU instructions to
 561          move the data. This has been the traditional default for
 562          the S3C MCI driver.
 563
 564config MMC_S3C_DMA
 565        bool "Use DMA transfers only"
 566        help
 567          Use DMA to transfer data between memory and the hardare.
 568
 569          Currently, the DMA support in this driver seems to not be
 570          working properly and needs to be debugged before this
 571          option is useful.
 572
 573endchoice
 574
 575config MMC_SDRICOH_CS
 576        tristate "MMC/SD driver for Ricoh Bay1Controllers"
 577        depends on PCI && PCMCIA
 578        help
 579          Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
 580          card whenever you insert a MMC or SD card into the card slot.
 581
 582          To compile this driver as a module, choose M here: the
 583          module will be called sdricoh_cs.
 584
 585config MMC_TMIO_CORE
 586        tristate
 587
 588config MMC_TMIO
 589        tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
 590        depends on MFD_TMIO || MFD_ASIC3
 591        select MMC_TMIO_CORE
 592        help
 593          This provides support for the SD/MMC cell found in TC6393XB,
 594          T7L66XB and also HTC ASIC3
 595
 596config MMC_SDHI
 597        tristate "Renesas SDHI SD/SDIO controller support"
 598        depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 599        select MMC_TMIO_CORE
 600        help
 601          This provides support for the SDHI SD/SDIO controller found in
 602          Renesas SuperH, ARM and ARM64 based SoCs
 603
 604config MMC_SDHI_SYS_DMAC
 605        tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC"
 606        depends on MMC_SDHI
 607        default MMC_SDHI if (SUPERH || ARM)
 608        help
 609          This provides DMA support for SDHI SD/SDIO controllers
 610          using SYS-DMAC via DMA Engine. This supports the controllers
 611          found in SuperH and Renesas ARM based SoCs.
 612
 613config MMC_SDHI_INTERNAL_DMAC
 614        tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering"
 615        depends on ARM64 || COMPILE_TEST
 616        depends on MMC_SDHI
 617        default MMC_SDHI if ARM64
 618        help
 619          This provides DMA support for SDHI SD/SDIO controllers
 620          using on-chip bus mastering. This supports the controllers
 621          found in arm64 based SoCs.
 622
 623config MMC_CB710
 624        tristate "ENE CB710 MMC/SD Interface support"
 625        depends on PCI
 626        select CB710_CORE
 627        help
 628          This option enables support for MMC/SD part of ENE CB710/720 Flash
 629          memory card reader found in some laptops (ie. some versions of
 630          HP Compaq nx9500).
 631
 632          This driver can also be built as a module. If so, the module
 633          will be called cb710-mmc.
 634
 635config MMC_VIA_SDMMC
 636        tristate "VIA SD/MMC Card Reader Driver"
 637        depends on PCI
 638        help
 639          This selects the VIA SD/MMC Card Reader driver, say Y or M here.
 640          VIA provides one multi-functional card reader which integrated into
 641          some motherboards manufactured by VIA. This card reader supports
 642          SD/MMC/SDHC.
 643          If you have a controller with this interface, say Y or M here.
 644
 645          If unsure, say N.
 646
 647config MMC_CAVIUM_OCTEON
 648        tristate "Cavium OCTEON SD/MMC Card Interface support"
 649        depends on CAVIUM_OCTEON_SOC
 650        help
 651          This selects Cavium OCTEON SD/MMC card Interface.
 652          If you have an OCTEON board with a Multimedia Card slot,
 653          say Y or M here.
 654
 655          If unsure, say N.
 656
 657config MMC_CAVIUM_THUNDERX
 658        tristate "Cavium ThunderX SD/MMC Card Interface support"
 659        depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)
 660        depends on GPIO_THUNDERX
 661        depends on OF_ADDRESS
 662        help
 663          This selects Cavium ThunderX SD/MMC Card Interface.
 664          If you have an Cavium ARM64 board with a Multimedia Card slot
 665          or builtin eMMC chip say Y or M here. If built as a module
 666          the module will be called thunderx_mmc.ko.
 667
 668config MMC_DW
 669        tristate "Synopsys DesignWare Memory Card Interface"
 670        depends on ARC || ARM || ARM64 || MIPS || COMPILE_TEST
 671        help
 672          This selects support for the Synopsys DesignWare Mobile Storage IP
 673          block, this provides host support for SD and MMC interfaces, in both
 674          PIO, internal DMA mode and external DMA mode.
 675
 676config MMC_DW_PLTFM
 677        tristate "Synopsys Designware MCI Support as platform device"
 678        depends on MMC_DW
 679        default y
 680        help
 681          This selects the common helper functions support for Host Controller
 682          Interface based platform driver. Please select this option if the IP
 683          is present as a platform device. This is the common interface for the
 684          Synopsys Designware IP.
 685
 686          If you have a controller with this interface, say Y or M here.
 687
 688          If unsure, say Y.
 689
 690config MMC_DW_BLUEFIELD
 691        tristate "BlueField specific extensions for Synopsys DW Memory Card Interface"
 692        depends on MMC_DW
 693        select MMC_DW_PLTFM
 694        help
 695          This selects support for Mellanox BlueField SoC specific extensions to
 696          the Synopsys DesignWare Memory Card Interface driver. Select this
 697          option for platforms based on Mellanox BlueField SoC's.
 698
 699config MMC_DW_EXYNOS
 700        tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
 701        depends on MMC_DW
 702        select MMC_DW_PLTFM
 703        help
 704          This selects support for Samsung Exynos SoC specific extensions to the
 705          Synopsys DesignWare Memory Card Interface driver. Select this option
 706          for platforms based on Exynos4 and Exynos5 SoC's.
 707
 708config MMC_DW_HI3798CV200
 709        tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface"
 710        depends on MMC_DW
 711        select MMC_DW_PLTFM
 712        help
 713          This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the
 714          Synopsys DesignWare Memory Card Interface driver. Select this option
 715          for platforms based on HiSilicon Hi3798CV200 SoC.
 716
 717config MMC_DW_K3
 718        tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
 719        depends on MMC_DW
 720        select MMC_DW_PLTFM
 721        help
 722          This selects support for Hisilicon K3 SoC specific extensions to the
 723          Synopsys DesignWare Memory Card Interface driver. Select this option
 724          for platforms based on Hisilicon K3 SoC's.
 725
 726config MMC_DW_PCI
 727        tristate "Synopsys Designware MCI support on PCI bus"
 728        depends on MMC_DW && PCI
 729        help
 730          This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
 731          Select this option if the IP is present on PCI platform.
 732
 733          If you have a controller with this interface, say Y or M here.
 734
 735          If unsure, say N.
 736
 737config MMC_DW_ROCKCHIP
 738        tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface"
 739        depends on MMC_DW && ARCH_ROCKCHIP
 740        select MMC_DW_PLTFM
 741        help
 742          This selects support for Rockchip SoC specific extensions to the
 743          Synopsys DesignWare Memory Card Interface driver. Select this option
 744          for platforms based on RK3066, RK3188 and RK3288 SoC's.
 745
 746config MMC_DW_ZX
 747        tristate "ZTE specific extensions for Synopsys DW Memory Card Interface"
 748        depends on MMC_DW && ARCH_ZX
 749        select MMC_DW_PLTFM
 750        help
 751          This selects support for ZTE SoC specific extensions to the
 752          Synopsys DesignWare Memory Card Interface driver. Select this option
 753          for platforms based on ZX296718 SoC's.
 754
 755config MMC_SH_MMCIF
 756        tristate "SuperH Internal MMCIF support"
 757        depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 758        help
 759          This selects the MMC Host Interface controller (MMCIF) found in various
 760          Renesas SoCs for SH and ARM architectures.
 761
 762
 763config MMC_JZ4740
 764        tristate "Ingenic JZ47xx SD/Multimedia Card Interface support"
 765        depends on MACH_JZ4740 || MACH_JZ4780
 766        help
 767          This selects support for the SD/MMC controller on Ingenic
 768          JZ4740, JZ4750, JZ4770 and JZ4780 SoCs.
 769
 770          If you have a board based on such a SoC and with a SD/MMC slot,
 771          say Y or M here.
 772
 773config MMC_VUB300
 774        tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
 775        depends on USB
 776        help
 777          This selects support for Elan Digital Systems' VUB300 chip.
 778
 779          The VUB300 is a USB-SDIO Host Controller Interface chip
 780          that enables the host computer to use SDIO/SD/MMC cards
 781          via a USB 2.0 or USB 1.1 host.
 782
 783          The VUB300 chip will be found in both physically separate
 784          USB to SDIO/SD/MMC adapters and embedded on some motherboards.
 785
 786          The VUB300 chip supports SD and MMC memory cards in addition
 787          to single and multifunction SDIO cards.
 788
 789          Some SDIO cards will need a firmware file to be loaded and
 790          sent to VUB300 chip in order to achieve better data throughput.
 791          Download these "Offload Pseudocode" from Elan Digital Systems'
 792          web-site http://www.elandigitalsystems.com/support/downloads.php
 793          and put them in /lib/firmware. Note that without these additional
 794          firmware files the VUB300 chip will still function, but not at
 795          the best obtainable data rate.
 796
 797          To compile this mmc host controller driver as a module,
 798          choose M here: the module will be called vub300.
 799
 800          If you have a computer with an embedded VUB300 chip
 801          or if you intend connecting a USB adapter based on a
 802          VUB300 chip say Y or M here.
 803
 804config MMC_USHC
 805        tristate "USB SD Host Controller (USHC) support"
 806        depends on USB
 807        help
 808          This selects support for USB SD Host Controllers based on
 809          the Cypress Astoria chip with firmware compliant with CSR's
 810          USB SD Host Controller specification (CS-118793-SP).
 811
 812          CSR boards with this device include: USB<>SDIO (M1985v2),
 813          and Ultrasira.
 814
 815          Note: These controllers only support SDIO cards and do not
 816          support MMC or SD memory cards.
 817
 818config MMC_WMT
 819        tristate "Wondermedia SD/MMC Host Controller support"
 820        depends on ARCH_VT8500
 821        default y
 822        help
 823          This selects support for the SD/MMC Host Controller on
 824          Wondermedia WM8505/WM8650 based SoCs.
 825
 826          To compile this driver as a module, choose M here: the
 827          module will be called wmt-sdmmc.
 828
 829config MMC_USDHI6ROL0
 830        tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"
 831        depends on HAS_DMA
 832        help
 833          This selects support for the Renesas USDHI6ROL0 SD/SDIO
 834          Host Controller
 835
 836config MMC_REALTEK_PCI
 837        tristate "Realtek PCI-E SD/MMC Card Interface Driver"
 838        depends on MISC_RTSX_PCI
 839        help
 840          Say Y here to include driver code to support SD/MMC card interface
 841          of Realtek PCI-E card reader
 842
 843config MMC_REALTEK_USB
 844        tristate "Realtek USB SD/MMC Card Interface Driver"
 845        depends on MISC_RTSX_USB
 846        help
 847          Say Y here to include driver code to support SD/MMC card interface
 848          of Realtek RTS5129/39 series card reader
 849
 850config MMC_SUNXI
 851        tristate "Allwinner sunxi SD/MMC Host Controller support"
 852        depends on ARCH_SUNXI
 853        help
 854          This selects support for the SD/MMC Host Controller on
 855          Allwinner sunxi SoCs.
 856
 857config MMC_CQHCI
 858        tristate "Command Queue Host Controller Interface support"
 859        depends on HAS_DMA
 860        help
 861          This selects the Command Queue Host Controller Interface (CQHCI)
 862          support present in host controllers of Qualcomm Technologies, Inc
 863          amongst others.
 864          This controller supports eMMC devices with command queue support.
 865
 866          If you have a controller with this interface, say Y or M here.
 867
 868          If unsure, say N.
 869
 870config MMC_TOSHIBA_PCI
 871        tristate "Toshiba Type A SD/MMC Card Interface Driver"
 872        depends on PCI
 873
 874config MMC_BCM2835
 875        tristate "Broadcom BCM2835 SDHOST MMC Controller support"
 876        depends on ARCH_BCM2835 || COMPILE_TEST
 877        help
 878          This selects the BCM2835 SDHOST MMC controller. If you have
 879          a BCM2835 platform with SD or MMC devices, say Y or M here.
 880
 881          Note that the BCM2835 has two SD controllers: The Arasan
 882          sdhci controller (supported by MMC_SDHCI_IPROC) and a custom
 883          sdhost controller (supported by this driver).
 884
 885          If unsure, say N.
 886
 887config MMC_MTK
 888        tristate "MediaTek SD/MMC Card Interface support"
 889        depends on HAS_DMA
 890        help
 891          This selects the MediaTek(R) Secure digital and Multimedia card Interface.
 892          If you have a machine with a integrated SD/MMC card reader, say Y or M here.
 893          This is needed if support for any SD/SDIO/MMC devices is required.
 894          If unsure, say N.
 895
 896config MMC_SDHCI_MICROCHIP_PIC32
 897        tristate "Microchip PIC32MZDA SDHCI support"
 898        depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM
 899        help
 900          This selects the Secure Digital Host Controller Interface (SDHCI)
 901          for PIC32MZDA platform.
 902
 903          If you have a controller with this interface, say Y or M here.
 904
 905          If unsure, say N.
 906config MMC_SDHCI_BRCMSTB
 907        tristate "Broadcom SDIO/SD/MMC support"
 908        depends on ARCH_BRCMSTB || BMIPS_GENERIC
 909        depends on MMC_SDHCI_PLTFM
 910        default y
 911        help
 912          This selects support for the SDIO/SD/MMC Host Controller on
 913          Broadcom STB SoCs.
 914
 915          If unsure, say Y.
 916
 917config MMC_SDHCI_XENON
 918        tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver"
 919        depends on MMC_SDHCI_PLTFM
 920        help
 921          This selects Marvell Xenon eMMC/SD/SDIO SDHCI.
 922          If you have a controller with this interface, say Y or M here.
 923          If unsure, say N.
 924
 925config MMC_SDHCI_OMAP
 926        tristate "TI SDHCI Controller Support"
 927        depends on MMC_SDHCI_PLTFM && OF
 928        help
 929          This selects the Secure Digital Host Controller Interface (SDHCI)
 930          support present in TI's DRA7 SOCs. The controller supports
 931          SD/MMC/SDIO devices.
 932
 933          If you have a controller with this interface, say Y or M here.
 934
 935          If unsure, say N.
 936