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