GNU Linux-libre 4.19.286-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         tristate "Alchemy AU1XX0 MMC Card Interface support"
435         depends on MIPS_ALCHEMY
436         help
437           This selects the AMD Alchemy(R) Multimedia card interface.
438           If you have a Alchemy platform with a MMC slot, say Y or M here.
439
440           If unsure, say N.
441
442 config MMC_ATMELMCI
443         tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"
444         depends on ARCH_AT91
445         help
446           This selects the Atmel Multimedia Card Interface driver.
447           If you have an AT91 platform with a Multimedia Card slot,
448           say Y or M here.
449
450           If unsure, say N.
451
452 config MMC_SDHCI_MSM
453         tristate "Qualcomm SDHCI Controller Support"
454         depends on ARCH_QCOM || (ARM && COMPILE_TEST)
455         depends on MMC_SDHCI_PLTFM
456         select MMC_SDHCI_IO_ACCESSORS
457         help
458           This selects the Secure Digital Host Controller Interface (SDHCI)
459           support present in Qualcomm SOCs. The controller supports
460           SD/MMC/SDIO devices.
461
462           If you have a controller with this interface, say Y or M here.
463
464           If unsure, say N.
465
466 config MMC_MXC
467         tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
468         depends on ARCH_MXC || PPC_MPC512x
469         help
470           This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
471           Multimedia Card Interface. If you have an i.MX or MPC512x platform
472           with a Multimedia Card slot, say Y or M here.
473
474           If unsure, say N.
475
476 config MMC_MXS
477         tristate "Freescale MXS Multimedia Card Interface support"
478         depends on ARCH_MXS && MXS_DMA
479         help
480           This selects the Freescale SSP MMC controller found on MXS based
481           platforms like mx23/28.
482
483           If unsure, say N.
484
485 config MMC_TIFM_SD
486         tristate "TI Flash Media MMC/SD Interface support"
487         depends on PCI
488         select TIFM_CORE
489         help
490           Say Y here if you want to be able to access MMC/SD cards with
491           the Texas Instruments(R) Flash Media card reader, found in many
492           laptops.
493           This option 'selects' (turns on, enables) 'TIFM_CORE', but you
494           probably also need appropriate card reader host adapter, such as
495           'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
496           (TIFM_7XX1)'.
497
498           To compile this driver as a module, choose M here: the
499           module will be called tifm_sd.
500
501 config MMC_MVSDIO
502         tristate "Marvell MMC/SD/SDIO host driver"
503         depends on PLAT_ORION
504         depends on OF
505         ---help---
506           This selects the Marvell SDIO host driver.
507           SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
508           SoC controllers.
509
510           To compile this driver as a module, choose M here: the
511           module will be called mvsdio.
512
513 config MMC_DAVINCI
514         tristate "TI DAVINCI Multimedia Card Interface support"
515         depends on ARCH_DAVINCI
516         help
517           This selects the TI DAVINCI Multimedia card Interface.
518           If you have an DAVINCI board with a Multimedia Card slot,
519           say Y or M here.  If unsure, say N.
520
521 config MMC_GOLDFISH
522         tristate "goldfish qemu Multimedia Card Interface support"
523         depends on GOLDFISH || COMPILE_TEST
524         help
525           This selects the Goldfish Multimedia card Interface emulation
526           found on the Goldfish Android virtual device emulation.
527
528 config MMC_SPI
529         tristate "MMC/SD/SDIO over SPI"
530         depends on SPI_MASTER && HAS_DMA
531         select CRC7
532         select CRC_ITU_T
533         help
534           Some systems access MMC/SD/SDIO cards using a SPI controller
535           instead of using a "native" MMC/SD/SDIO controller.  This has a
536           disadvantage of being relatively high overhead, but a compensating
537           advantage of working on many systems without dedicated MMC/SD/SDIO
538           controllers.
539
540           If unsure, or if your system has no SPI master driver, say N.
541
542 config MMC_S3C
543         tristate "Samsung S3C SD/MMC Card Interface support"
544         depends on ARCH_S3C24XX
545         depends on S3C24XX_DMAC
546         help
547           This selects a driver for the MCI interface found in
548           Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
549           If you have a board based on one of those and a MMC/SD
550           slot, say Y or M here.
551
552           If unsure, say N.
553
554 config MMC_S3C_HW_SDIO_IRQ
555        bool "Hardware support for SDIO IRQ"
556        depends on MMC_S3C
557        help
558          Enable the hardware support for SDIO interrupts instead of using
559          the generic polling code.
560
561 choice
562         prompt "Samsung S3C SD/MMC transfer code"
563         depends on MMC_S3C
564
565 config MMC_S3C_PIO
566         bool "Use PIO transfers only"
567         help
568           Use PIO to transfer data between memory and the hardware.
569
570           PIO is slower than DMA as it requires CPU instructions to
571           move the data. This has been the traditional default for
572           the S3C MCI driver.
573
574 config MMC_S3C_DMA
575         bool "Use DMA transfers only"
576         help
577           Use DMA to transfer data between memory and the hardare.
578
579           Currently, the DMA support in this driver seems to not be
580           working properly and needs to be debugged before this
581           option is useful.
582
583 endchoice
584
585 config MMC_SDRICOH_CS
586         tristate "MMC/SD driver for Ricoh Bay1Controllers"
587         depends on PCI && PCMCIA
588         help
589           Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
590           card whenever you insert a MMC or SD card into the card slot.
591
592           To compile this driver as a module, choose M here: the
593           module will be called sdricoh_cs.
594
595 config MMC_TMIO_CORE
596         tristate
597
598 config MMC_TMIO
599         tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
600         depends on MFD_TMIO || MFD_ASIC3
601         select MMC_TMIO_CORE
602         help
603           This provides support for the SD/MMC cell found in TC6393XB,
604           T7L66XB and also HTC ASIC3
605
606 config MMC_SDHI
607         tristate "Renesas SDHI SD/SDIO controller support"
608         depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
609         select MMC_TMIO_CORE
610         help
611           This provides support for the SDHI SD/SDIO controller found in
612           Renesas SuperH, ARM and ARM64 based SoCs
613
614 config MMC_SDHI_SYS_DMAC
615         tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC"
616         depends on MMC_SDHI
617         default MMC_SDHI if (SUPERH || ARM)
618         help
619           This provides DMA support for SDHI SD/SDIO controllers
620           using SYS-DMAC via DMA Engine. This supports the controllers
621           found in SuperH and Renesas ARM based SoCs.
622
623 config MMC_SDHI_INTERNAL_DMAC
624         tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering"
625         depends on ARM64 || COMPILE_TEST
626         depends on MMC_SDHI
627         default MMC_SDHI if ARM64
628         help
629           This provides DMA support for SDHI SD/SDIO controllers
630           using on-chip bus mastering. This supports the controllers
631           found in arm64 based SoCs.
632
633 config MMC_CB710
634         tristate "ENE CB710 MMC/SD Interface support"
635         depends on PCI
636         select CB710_CORE
637         help
638           This option enables support for MMC/SD part of ENE CB710/720 Flash
639           memory card reader found in some laptops (ie. some versions of
640           HP Compaq nx9500).
641
642           This driver can also be built as a module. If so, the module
643           will be called cb710-mmc.
644
645 config MMC_VIA_SDMMC
646         tristate "VIA SD/MMC Card Reader Driver"
647         depends on PCI
648         help
649           This selects the VIA SD/MMC Card Reader driver, say Y or M here.
650           VIA provides one multi-functional card reader which integrated into
651           some motherboards manufactured by VIA. This card reader supports
652           SD/MMC/SDHC.
653           If you have a controller with this interface, say Y or M here.
654
655           If unsure, say N.
656
657 config MMC_CAVIUM_OCTEON
658         tristate "Cavium OCTEON SD/MMC Card Interface support"
659         depends on CAVIUM_OCTEON_SOC
660         help
661           This selects Cavium OCTEON SD/MMC card Interface.
662           If you have an OCTEON board with a Multimedia Card slot,
663           say Y or M here.
664
665           If unsure, say N.
666
667 config MMC_CAVIUM_THUNDERX
668         tristate "Cavium ThunderX SD/MMC Card Interface support"
669         depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)
670         depends on GPIO_THUNDERX
671         depends on OF_ADDRESS
672         help
673           This selects Cavium ThunderX SD/MMC Card Interface.
674           If you have an Cavium ARM64 board with a Multimedia Card slot
675           or builtin eMMC chip say Y or M here. If built as a module
676           the module will be called thunderx_mmc.ko.
677
678 config MMC_DW
679         tristate "Synopsys DesignWare Memory Card Interface"
680         depends on ARC || ARM || ARM64 || MIPS || COMPILE_TEST
681         help
682           This selects support for the Synopsys DesignWare Mobile Storage IP
683           block, this provides host support for SD and MMC interfaces, in both
684           PIO, internal DMA mode and external DMA mode.
685
686 config MMC_DW_PLTFM
687         tristate "Synopsys Designware MCI Support as platform device"
688         depends on MMC_DW
689         default y
690         help
691           This selects the common helper functions support for Host Controller
692           Interface based platform driver. Please select this option if the IP
693           is present as a platform device. This is the common interface for the
694           Synopsys Designware IP.
695
696           If you have a controller with this interface, say Y or M here.
697
698           If unsure, say Y.
699
700 config MMC_DW_BLUEFIELD
701         tristate "BlueField specific extensions for Synopsys DW Memory Card Interface"
702         depends on MMC_DW
703         select MMC_DW_PLTFM
704         help
705           This selects support for Mellanox BlueField SoC specific extensions to
706           the Synopsys DesignWare Memory Card Interface driver. Select this
707           option for platforms based on Mellanox BlueField SoC's.
708
709 config MMC_DW_EXYNOS
710         tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
711         depends on MMC_DW
712         select MMC_DW_PLTFM
713         help
714           This selects support for Samsung Exynos SoC specific extensions to the
715           Synopsys DesignWare Memory Card Interface driver. Select this option
716           for platforms based on Exynos4 and Exynos5 SoC's.
717
718 config MMC_DW_HI3798CV200
719         tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface"
720         depends on MMC_DW
721         select MMC_DW_PLTFM
722         help
723           This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the
724           Synopsys DesignWare Memory Card Interface driver. Select this option
725           for platforms based on HiSilicon Hi3798CV200 SoC.
726
727 config MMC_DW_K3
728         tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
729         depends on MMC_DW
730         select MMC_DW_PLTFM
731         help
732           This selects support for Hisilicon K3 SoC specific extensions to the
733           Synopsys DesignWare Memory Card Interface driver. Select this option
734           for platforms based on Hisilicon K3 SoC's.
735
736 config MMC_DW_PCI
737         tristate "Synopsys Designware MCI support on PCI bus"
738         depends on MMC_DW && PCI
739         help
740           This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
741           Select this option if the IP is present on PCI platform.
742
743           If you have a controller with this interface, say Y or M here.
744
745           If unsure, say N.
746
747 config MMC_DW_ROCKCHIP
748         tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface"
749         depends on MMC_DW && ARCH_ROCKCHIP
750         select MMC_DW_PLTFM
751         help
752           This selects support for Rockchip SoC specific extensions to the
753           Synopsys DesignWare Memory Card Interface driver. Select this option
754           for platforms based on RK3066, RK3188 and RK3288 SoC's.
755
756 config MMC_DW_ZX
757         tristate "ZTE specific extensions for Synopsys DW Memory Card Interface"
758         depends on MMC_DW && ARCH_ZX
759         select MMC_DW_PLTFM
760         help
761           This selects support for ZTE SoC specific extensions to the
762           Synopsys DesignWare Memory Card Interface driver. Select this option
763           for platforms based on ZX296718 SoC's.
764
765 config MMC_SH_MMCIF
766         tristate "SuperH Internal MMCIF support"
767         depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
768         help
769           This selects the MMC Host Interface controller (MMCIF) found in various
770           Renesas SoCs for SH and ARM architectures.
771
772
773 config MMC_JZ4740
774         tristate "Ingenic JZ47xx SD/Multimedia Card Interface support"
775         depends on MACH_JZ4740 || MACH_JZ4780
776         help
777           This selects support for the SD/MMC controller on Ingenic
778           JZ4740, JZ4750, JZ4770 and JZ4780 SoCs.
779
780           If you have a board based on such a SoC and with a SD/MMC slot,
781           say Y or M here.
782
783 config MMC_VUB300
784         tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
785         depends on USB
786         help
787           This selects support for Elan Digital Systems' VUB300 chip.
788
789           The VUB300 is a USB-SDIO Host Controller Interface chip
790           that enables the host computer to use SDIO/SD/MMC cards
791           via a USB 2.0 or USB 1.1 host.
792
793           The VUB300 chip will be found in both physically separate
794           USB to SDIO/SD/MMC adapters and embedded on some motherboards.
795
796           The VUB300 chip supports SD and MMC memory cards in addition
797           to single and multifunction SDIO cards.
798
799           /*(DEBLOBBED)*/
800
801           To compile this mmc host controller driver as a module,
802           choose M here: the module will be called vub300.
803
804           If you have a computer with an embedded VUB300 chip
805           or if you intend connecting a USB adapter based on a
806           VUB300 chip say Y or M here.
807
808 config MMC_USHC
809         tristate "USB SD Host Controller (USHC) support"
810         depends on USB
811         help
812           This selects support for USB SD Host Controllers based on
813           the Cypress Astoria chip with firmware compliant with CSR's
814           USB SD Host Controller specification (CS-118793-SP).
815
816           CSR boards with this device include: USB<>SDIO (M1985v2),
817           and Ultrasira.
818
819           Note: These controllers only support SDIO cards and do not
820           support MMC or SD memory cards.
821
822 config MMC_WMT
823         tristate "Wondermedia SD/MMC Host Controller support"
824         depends on ARCH_VT8500
825         default y
826         help
827           This selects support for the SD/MMC Host Controller on
828           Wondermedia WM8505/WM8650 based SoCs.
829
830           To compile this driver as a module, choose M here: the
831           module will be called wmt-sdmmc.
832
833 config MMC_USDHI6ROL0
834         tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"
835         depends on HAS_DMA
836         help
837           This selects support for the Renesas USDHI6ROL0 SD/SDIO
838           Host Controller
839
840 config MMC_REALTEK_PCI
841         tristate "Realtek PCI-E SD/MMC Card Interface Driver"
842         depends on MISC_RTSX_PCI
843         help
844           Say Y here to include driver code to support SD/MMC card interface
845           of Realtek PCI-E card reader
846
847 config MMC_REALTEK_USB
848         tristate "Realtek USB SD/MMC Card Interface Driver"
849         depends on MISC_RTSX_USB
850         help
851           Say Y here to include driver code to support SD/MMC card interface
852           of Realtek RTS5129/39 series card reader
853
854 config MMC_SUNXI
855         tristate "Allwinner sunxi SD/MMC Host Controller support"
856         depends on ARCH_SUNXI
857         help
858           This selects support for the SD/MMC Host Controller on
859           Allwinner sunxi SoCs.
860
861 config MMC_CQHCI
862         tristate "Command Queue Host Controller Interface support"
863         depends on HAS_DMA
864         help
865           This selects the Command Queue Host Controller Interface (CQHCI)
866           support present in host controllers of Qualcomm Technologies, Inc
867           amongst others.
868           This controller supports eMMC devices with command queue support.
869
870           If you have a controller with this interface, say Y or M here.
871
872           If unsure, say N.
873
874 config MMC_TOSHIBA_PCI
875         tristate "Toshiba Type A SD/MMC Card Interface Driver"
876         depends on PCI
877
878 config MMC_BCM2835
879         tristate "Broadcom BCM2835 SDHOST MMC Controller support"
880         depends on ARCH_BCM2835 || COMPILE_TEST
881         help
882           This selects the BCM2835 SDHOST MMC controller. If you have
883           a BCM2835 platform with SD or MMC devices, say Y or M here.
884
885           Note that the BCM2835 has two SD controllers: The Arasan
886           sdhci controller (supported by MMC_SDHCI_IPROC) and a custom
887           sdhost controller (supported by this driver).
888
889           If unsure, say N.
890
891 config MMC_MTK
892         tristate "MediaTek SD/MMC Card Interface support"
893         depends on HAS_DMA
894         help
895           This selects the MediaTek(R) Secure digital and Multimedia card Interface.
896           If you have a machine with a integrated SD/MMC card reader, say Y or M here.
897           This is needed if support for any SD/SDIO/MMC devices is required.
898           If unsure, say N.
899
900 config MMC_SDHCI_MICROCHIP_PIC32
901         tristate "Microchip PIC32MZDA SDHCI support"
902         depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM
903         help
904           This selects the Secure Digital Host Controller Interface (SDHCI)
905           for PIC32MZDA platform.
906
907           If you have a controller with this interface, say Y or M here.
908
909           If unsure, say N.
910 config MMC_SDHCI_BRCMSTB
911         tristate "Broadcom SDIO/SD/MMC support"
912         depends on ARCH_BRCMSTB || BMIPS_GENERIC
913         depends on MMC_SDHCI_PLTFM
914         default y
915         help
916           This selects support for the SDIO/SD/MMC Host Controller on
917           Broadcom STB SoCs.
918
919           If unsure, say Y.
920
921 config MMC_SDHCI_XENON
922         tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver"
923         depends on MMC_SDHCI_PLTFM
924         help
925           This selects Marvell Xenon eMMC/SD/SDIO SDHCI.
926           If you have a controller with this interface, say Y or M here.
927           If unsure, say N.
928
929 config MMC_SDHCI_OMAP
930         tristate "TI SDHCI Controller Support"
931         depends on MMC_SDHCI_PLTFM && OF
932         select THERMAL
933         imply TI_SOC_THERMAL
934         help
935           This selects the Secure Digital Host Controller Interface (SDHCI)
936           support present in TI's DRA7 SOCs. The controller supports
937           SD/MMC/SDIO devices.
938
939           If you have a controller with this interface, say Y or M here.
940
941           If unsure, say N.