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