]> rtime.felk.cvut.cz Git - zynq/linux.git/blob - drivers/mmc/host/Kconfig
Merge tag 'kbuild-v4.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
[zynq/linux.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_CADENCE
180         tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller"
181         depends on MMC_SDHCI_PLTFM
182         depends on OF
183         help
184           This selects the Cadence SD/SDIO/eMMC driver.
185
186           If you have a controller with this interface, say Y or M here.
187
188           If unsure, say N.
189
190 config MMC_SDHCI_CNS3XXX
191         tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
192         depends on ARCH_CNS3XXX
193         depends on MMC_SDHCI_PLTFM
194         help
195           This selects the SDHCI support for CNS3xxx System-on-Chip devices.
196
197           If you have a controller with this interface, say Y or M here.
198
199           If unsure, say N.
200
201 config MMC_SDHCI_ESDHC_IMX
202         tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
203         depends on ARCH_MXC
204         depends on MMC_SDHCI_PLTFM
205         select MMC_SDHCI_IO_ACCESSORS
206         help
207           This selects the Freescale eSDHC/uSDHC controller support
208           found on i.MX25, i.MX35 i.MX5x and i.MX6x.
209
210           If you have a controller with this interface, say Y or M here.
211
212           If unsure, say N.
213
214 config MMC_SDHCI_DOVE
215         tristate "SDHCI support on Marvell's Dove SoC"
216         depends on ARCH_DOVE || MACH_DOVE
217         depends on MMC_SDHCI_PLTFM
218         select MMC_SDHCI_IO_ACCESSORS
219         help
220           This selects the Secure Digital Host Controller Interface in
221           Marvell's Dove SoC.
222
223           If you have a controller with this interface, say Y or M here.
224
225           If unsure, say N.
226
227 config MMC_SDHCI_TEGRA
228         tristate "SDHCI platform support for the Tegra SD/MMC Controller"
229         depends on ARCH_TEGRA
230         depends on MMC_SDHCI_PLTFM
231         select MMC_SDHCI_IO_ACCESSORS
232         help
233           This selects the Tegra SD/MMC controller. If you have a Tegra
234           platform with SD or MMC devices, say Y or M here.
235
236           If unsure, say N.
237
238 config MMC_SDHCI_S3C
239         tristate "SDHCI support on Samsung S3C SoC"
240         depends on MMC_SDHCI && PLAT_SAMSUNG
241         help
242           This selects the Secure Digital Host Controller Interface (SDHCI)
243           often referrered to as the HSMMC block in some of the Samsung S3C
244           range of SoC.
245
246           If you have a controller with this interface, say Y or M here.
247
248           If unsure, say N.
249
250 config MMC_SDHCI_SIRF
251         tristate "SDHCI support on CSR SiRFprimaII and SiRFmarco SoCs"
252         depends on ARCH_SIRF
253         depends on MMC_SDHCI_PLTFM
254         select MMC_SDHCI_IO_ACCESSORS
255         help
256           This selects the SDHCI support for SiRF System-on-Chip devices.
257
258           If you have a controller with this interface, say Y or M here.
259
260           If unsure, say N.
261
262 config MMC_SDHCI_PXAV3
263         tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
264         depends on CLKDEV_LOOKUP
265         depends on MMC_SDHCI_PLTFM
266         depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST
267         default CPU_MMP2
268         help
269           This selects the Marvell(R) PXAV3 SD Host Controller.
270           If you have a MMP2 platform with SD Host Controller
271           and a card slot, say Y or M here.
272
273           If unsure, say N.
274
275 config MMC_SDHCI_PXAV2
276         tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
277         depends on CLKDEV_LOOKUP
278         depends on MMC_SDHCI_PLTFM
279         depends on ARCH_MMP || COMPILE_TEST
280         default CPU_PXA910
281         help
282           This selects the Marvell(R) PXAV2 SD Host Controller.
283           If you have a PXA9XX platform with SD Host Controller
284           and a card slot, say Y or M here.
285
286           If unsure, say N.
287
288 config MMC_SDHCI_SPEAR
289         tristate "SDHCI support on ST SPEAr platform"
290         depends on MMC_SDHCI && PLAT_SPEAR
291         depends on OF
292         help
293           This selects the Secure Digital Host Controller Interface (SDHCI)
294           often referrered to as the HSMMC block in some of the ST SPEAR range
295           of SoC
296
297           If you have a controller with this interface, say Y or M here.
298
299           If unsure, say N.
300
301 config MMC_SDHCI_S3C_DMA
302         bool "DMA support on S3C SDHCI"
303         depends on MMC_SDHCI_S3C
304         help
305           Enable DMA support on the Samsung S3C SDHCI glue. The DMA
306           has proved to be problematic if the controller encounters
307           certain errors, and thus should be treated with care.
308
309           YMMV.
310
311 config MMC_SDHCI_BCM_KONA
312         tristate "SDHCI support on Broadcom KONA platform"
313         depends on ARCH_BCM_MOBILE
314         depends on MMC_SDHCI_PLTFM
315         help
316           This selects the Broadcom Kona Secure Digital Host Controller
317           Interface(SDHCI) support.
318           This is used in Broadcom mobile SoCs.
319
320           If you have a controller with this interface, say Y or M here.
321
322 config MMC_SDHCI_F_SDH30
323         tristate "SDHCI support for Fujitsu Semiconductor F_SDH30"
324         depends on MMC_SDHCI_PLTFM
325         depends on OF || ACPI
326         help
327           This selects the Secure Digital Host Controller Interface (SDHCI)
328           Needed by some Fujitsu SoC for MMC / SD / SDIO support.
329           If you have a controller with this interface, say Y or M here.
330
331           If unsure, say N.
332
333 config MMC_SDHCI_IPROC
334         tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller"
335         depends on ARCH_BCM2835 || ARCH_BCM_IPROC || COMPILE_TEST
336         depends on MMC_SDHCI_PLTFM
337         default ARCH_BCM_IPROC
338         select MMC_SDHCI_IO_ACCESSORS
339         help
340           This selects the iProc SD/MMC controller.
341
342           If you have a BCM2835 or IPROC platform with SD or MMC devices,
343           say Y or M here.
344
345           If unsure, say N.
346
347 config MMC_MESON_GX
348         tristate "Amlogic S905/GX* SD/MMC Host Controller support"
349         depends on ARCH_MESON && MMC
350         help
351           This selects support for the Amlogic SD/MMC Host Controller
352           found on the S905/GX* family of SoCs.  This controller is
353           MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces.
354
355           If you have a controller with this interface, say Y here.
356
357 config MMC_MESON_MX_SDIO
358         tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support"
359         depends on ARCH_MESON || COMPILE_TEST
360         depends on COMMON_CLK
361         depends on HAS_DMA
362         depends on OF
363         help
364           This selects support for the SD/MMC Host Controller on
365           Amlogic Meson6, Meson8 and Meson8b SoCs.
366
367           If you have a controller with this interface, say Y or M here.
368           If unsure, say N.
369
370 config MMC_MOXART
371         tristate "MOXART SD/MMC Host Controller support"
372         depends on ARCH_MOXART && MMC
373         help
374           This selects support for the MOXART SD/MMC Host Controller.
375           MOXA provides one multi-functional card reader which can
376           be found on some embedded hardware such as UC-7112-LX.
377           If you have a controller with this interface, say Y here.
378
379 config MMC_SDHCI_ST
380         tristate "SDHCI support on STMicroelectronics SoC"
381         depends on ARCH_STI || FSP2
382         depends on MMC_SDHCI_PLTFM
383         select MMC_SDHCI_IO_ACCESSORS
384         help
385           This selects the Secure Digital Host Controller Interface in
386           STMicroelectronics SoCs.
387
388           If you have a controller with this interface, say Y or M here.
389           If unsure, say N.
390
391 config MMC_OMAP
392         tristate "TI OMAP Multimedia Card Interface support"
393         depends on ARCH_OMAP
394         depends on TPS65010 || !MACH_OMAP_H2
395         help
396           This selects the TI OMAP Multimedia card Interface.
397           If you have an OMAP board with a Multimedia Card slot,
398           say Y or M here.
399
400           If unsure, say N.
401
402 config MMC_OMAP_HS
403         tristate "TI OMAP High Speed Multimedia Card Interface support"
404         depends on HAS_DMA
405         depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
406         help
407           This selects the TI OMAP High Speed Multimedia card Interface.
408           If you have an omap2plus board with a Multimedia Card slot,
409           say Y or M here.
410
411           If unsure, say N.
412
413 config MMC_WBSD
414         tristate "Winbond W83L51xD SD/MMC Card Interface support"
415         depends on ISA_DMA_API
416         help
417           This selects the Winbond(R) W83L51xD Secure digital and
418           Multimedia card Interface.
419           If you have a machine with a integrated W83L518D or W83L519D
420           SD/MMC card reader, say Y or M here.
421
422           If unsure, say N.
423
424 config MMC_AU1X
425         tristate "Alchemy AU1XX0 MMC Card Interface support"
426         depends on MIPS_ALCHEMY
427         help
428           This selects the AMD Alchemy(R) Multimedia card interface.
429           If you have a Alchemy platform with a MMC slot, say Y or M here.
430
431           If unsure, say N.
432
433 config MMC_ATMELMCI
434         tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"
435         depends on ARCH_AT91
436         help
437           This selects the Atmel Multimedia Card Interface driver.
438           If you have an AT91 platform with a Multimedia Card slot,
439           say Y or M here.
440
441           If unsure, say N.
442
443 config MMC_SDHCI_MSM
444         tristate "Qualcomm SDHCI Controller Support"
445         depends on ARCH_QCOM || (ARM && COMPILE_TEST)
446         depends on MMC_SDHCI_PLTFM
447         select MMC_SDHCI_IO_ACCESSORS
448         help
449           This selects the Secure Digital Host Controller Interface (SDHCI)
450           support present in Qualcomm SOCs. The controller supports
451           SD/MMC/SDIO devices.
452
453           If you have a controller with this interface, say Y or M here.
454
455           If unsure, say N.
456
457 config MMC_MXC
458         tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
459         depends on ARCH_MXC || PPC_MPC512x
460         help
461           This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
462           Multimedia Card Interface. If you have an i.MX or MPC512x platform
463           with a Multimedia Card slot, say Y or M here.
464
465           If unsure, say N.
466
467 config MMC_MXS
468         tristate "Freescale MXS Multimedia Card Interface support"
469         depends on ARCH_MXS && MXS_DMA
470         help
471           This selects the Freescale SSP MMC controller found on MXS based
472           platforms like mx23/28.
473
474           If unsure, say N.
475
476 config MMC_TIFM_SD
477         tristate "TI Flash Media MMC/SD Interface support"
478         depends on PCI
479         select TIFM_CORE
480         help
481           Say Y here if you want to be able to access MMC/SD cards with
482           the Texas Instruments(R) Flash Media card reader, found in many
483           laptops.
484           This option 'selects' (turns on, enables) 'TIFM_CORE', but you
485           probably also need appropriate card reader host adapter, such as
486           'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
487           (TIFM_7XX1)'.
488
489           To compile this driver as a module, choose M here: the
490           module will be called tifm_sd.
491
492 config MMC_MVSDIO
493         tristate "Marvell MMC/SD/SDIO host driver"
494         depends on PLAT_ORION
495         depends on OF
496         ---help---
497           This selects the Marvell SDIO host driver.
498           SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
499           SoC controllers.
500
501           To compile this driver as a module, choose M here: the
502           module will be called mvsdio.
503
504 config MMC_DAVINCI
505         tristate "TI DAVINCI Multimedia Card Interface support"
506         depends on ARCH_DAVINCI
507         help
508           This selects the TI DAVINCI Multimedia card Interface.
509           If you have an DAVINCI board with a Multimedia Card slot,
510           say Y or M here.  If unsure, say N.
511
512 config MMC_GOLDFISH
513         tristate "goldfish qemu Multimedia Card Interface support"
514         depends on HAS_DMA
515         depends on GOLDFISH || COMPILE_TEST
516         help
517           This selects the Goldfish Multimedia card Interface emulation
518           found on the Goldfish Android virtual device emulation.
519
520 config MMC_SPI
521         tristate "MMC/SD/SDIO over SPI"
522         depends on SPI_MASTER && HAS_DMA
523         select CRC7
524         select CRC_ITU_T
525         help
526           Some systems access MMC/SD/SDIO cards using a SPI controller
527           instead of using a "native" MMC/SD/SDIO controller.  This has a
528           disadvantage of being relatively high overhead, but a compensating
529           advantage of working on many systems without dedicated MMC/SD/SDIO
530           controllers.
531
532           If unsure, or if your system has no SPI master driver, say N.
533
534 config MMC_S3C
535         tristate "Samsung S3C SD/MMC Card Interface support"
536         depends on ARCH_S3C24XX
537         depends on S3C24XX_DMAC
538         help
539           This selects a driver for the MCI interface found in
540           Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
541           If you have a board based on one of those and a MMC/SD
542           slot, say Y or M here.
543
544           If unsure, say N.
545
546 config MMC_S3C_HW_SDIO_IRQ
547        bool "Hardware support for SDIO IRQ"
548        depends on MMC_S3C
549        help
550          Enable the hardware support for SDIO interrupts instead of using
551          the generic polling code.
552
553 choice
554         prompt "Samsung S3C SD/MMC transfer code"
555         depends on MMC_S3C
556
557 config MMC_S3C_PIO
558         bool "Use PIO transfers only"
559         help
560           Use PIO to transfer data between memory and the hardware.
561
562           PIO is slower than DMA as it requires CPU instructions to
563           move the data. This has been the traditional default for
564           the S3C MCI driver.
565
566 config MMC_S3C_DMA
567         bool "Use DMA transfers only"
568         help
569           Use DMA to transfer data between memory and the hardare.
570
571           Currently, the DMA support in this driver seems to not be
572           working properly and needs to be debugged before this
573           option is useful.
574
575 endchoice
576
577 config MMC_SDRICOH_CS
578         tristate "MMC/SD driver for Ricoh Bay1Controllers"
579         depends on PCI && PCMCIA
580         help
581           Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
582           card whenever you insert a MMC or SD card into the card slot.
583
584           To compile this driver as a module, choose M here: the
585           module will be called sdricoh_cs.
586
587 config MMC_TMIO_CORE
588         tristate
589
590 config MMC_TMIO
591         tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
592         depends on MFD_TMIO || MFD_ASIC3
593         select MMC_TMIO_CORE
594         help
595           This provides support for the SD/MMC cell found in TC6393XB,
596           T7L66XB and also HTC ASIC3
597
598 config MMC_SDHI
599         tristate "Renesas SDHI SD/SDIO controller support"
600         depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
601         select MMC_TMIO_CORE
602         help
603           This provides support for the SDHI SD/SDIO controller found in
604           Renesas SuperH, ARM and ARM64 based SoCs
605
606 config MMC_SDHI_SYS_DMAC
607         tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC"
608         depends on MMC_SDHI && HAS_DMA
609         default MMC_SDHI if (SUPERH || ARM)
610         help
611           This provides DMA support for SDHI SD/SDIO controllers
612           using SYS-DMAC via DMA Engine. This supports the controllers
613           found in SuperH and Renesas ARM based SoCs.
614
615 config MMC_SDHI_INTERNAL_DMAC
616         tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering"
617         depends on ARM64 || COMPILE_TEST
618         depends on MMC_SDHI && HAS_DMA
619         default MMC_SDHI if ARM64
620         help
621           This provides DMA support for SDHI SD/SDIO controllers
622           using on-chip bus mastering. This supports the controllers
623           found in arm64 based SoCs.
624
625 config MMC_CB710
626         tristate "ENE CB710 MMC/SD Interface support"
627         depends on PCI
628         select CB710_CORE
629         help
630           This option enables support for MMC/SD part of ENE CB710/720 Flash
631           memory card reader found in some laptops (ie. some versions of
632           HP Compaq nx9500).
633
634           This driver can also be built as a module. If so, the module
635           will be called cb710-mmc.
636
637 config MMC_VIA_SDMMC
638         tristate "VIA SD/MMC Card Reader Driver"
639         depends on PCI
640         help
641           This selects the VIA SD/MMC Card Reader driver, say Y or M here.
642           VIA provides one multi-functional card reader which integrated into
643           some motherboards manufactured by VIA. This card reader supports
644           SD/MMC/SDHC.
645           If you have a controller with this interface, say Y or M here.
646
647           If unsure, say N.
648
649 config SDH_BFIN
650         tristate "Blackfin Secure Digital Host support"
651         depends on (BF54x && !BF544) || (BF51x && !BF512)
652         help
653           If you say yes here you will get support for the Blackfin on-chip
654           Secure Digital Host interface.  This includes support for MMC and
655           SD cards.
656
657           To compile this driver as a module, choose M here: the
658           module will be called bfin_sdh.
659
660           If unsure, say N.
661
662 config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND
663         bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround"
664         depends on SDH_BFIN
665         help
666           If you say yes here SD-Cards may work on the EZkit.
667
668 config MMC_CAVIUM_OCTEON
669         tristate "Cavium OCTEON SD/MMC Card Interface support"
670         depends on CAVIUM_OCTEON_SOC
671         help
672           This selects Cavium OCTEON SD/MMC card Interface.
673           If you have an OCTEON board with a Multimedia Card slot,
674           say Y or M here.
675
676           If unsure, say N.
677
678 config MMC_CAVIUM_THUNDERX
679         tristate "Cavium ThunderX SD/MMC Card Interface support"
680         depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)
681         depends on GPIO_THUNDERX
682         depends on OF_ADDRESS
683         help
684           This selects Cavium ThunderX SD/MMC Card Interface.
685           If you have an Cavium ARM64 board with a Multimedia Card slot
686           or builtin eMMC chip say Y or M here. If built as a module
687           the module will be called thunderx_mmc.ko.
688
689 config MMC_DW
690         tristate "Synopsys DesignWare Memory Card Interface"
691         depends on HAS_DMA
692         depends on ARC || ARM || ARM64 || MIPS || COMPILE_TEST
693         help
694           This selects support for the Synopsys DesignWare Mobile Storage IP
695           block, this provides host support for SD and MMC interfaces, in both
696           PIO, internal DMA mode and external DMA mode.
697
698 config MMC_DW_PLTFM
699         tristate "Synopsys Designware MCI Support as platform device"
700         depends on MMC_DW
701         default y
702         help
703           This selects the common helper functions support for Host Controller
704           Interface based platform driver. Please select this option if the IP
705           is present as a platform device. This is the common interface for the
706           Synopsys Designware IP.
707
708           If you have a controller with this interface, say Y or M here.
709
710           If unsure, say Y.
711
712 config MMC_DW_EXYNOS
713         tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
714         depends on MMC_DW
715         select MMC_DW_PLTFM
716         help
717           This selects support for Samsung Exynos SoC specific extensions to the
718           Synopsys DesignWare Memory Card Interface driver. Select this option
719           for platforms based on Exynos4 and Exynos5 SoC's.
720
721 config MMC_DW_K3
722         tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
723         depends on MMC_DW
724         select MMC_DW_PLTFM
725         help
726           This selects support for Hisilicon K3 SoC specific extensions to the
727           Synopsys DesignWare Memory Card Interface driver. Select this option
728           for platforms based on Hisilicon K3 SoC's.
729
730 config MMC_DW_PCI
731         tristate "Synopsys Designware MCI support on PCI bus"
732         depends on MMC_DW && PCI
733         help
734           This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
735           Select this option if the IP is present on PCI platform.
736
737           If you have a controller with this interface, say Y or M here.
738
739           If unsure, say N.
740
741 config MMC_DW_ROCKCHIP
742         tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface"
743         depends on MMC_DW && ARCH_ROCKCHIP
744         select MMC_DW_PLTFM
745         help
746           This selects support for Rockchip SoC specific extensions to the
747           Synopsys DesignWare Memory Card Interface driver. Select this option
748           for platforms based on RK3066, RK3188 and RK3288 SoC's.
749
750 config MMC_DW_ZX
751         tristate "ZTE specific extensions for Synopsys DW Memory Card Interface"
752         depends on MMC_DW && ARCH_ZX
753         select MMC_DW_PLTFM
754         help
755           This selects support for ZTE SoC specific extensions to the
756           Synopsys DesignWare Memory Card Interface driver. Select this option
757           for platforms based on ZX296718 SoC's.
758
759 config MMC_SH_MMCIF
760         tristate "SuperH Internal MMCIF support"
761         depends on HAS_DMA
762         depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
763         help
764           This selects the MMC Host Interface controller (MMCIF) found in various
765           Renesas SoCs for SH and ARM architectures.
766
767
768 config MMC_JZ4740
769         tristate "JZ4740 SD/Multimedia Card Interface support"
770         depends on MACH_JZ4740
771         help
772           This selects support for the SD/MMC controller on Ingenic JZ4740
773           SoCs.
774           If you have a board based on such a SoC and with a SD/MMC slot,
775           say Y or M here.
776
777 config MMC_VUB300
778         tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
779         depends on USB
780         help
781           This selects support for Elan Digital Systems' VUB300 chip.
782
783           The VUB300 is a USB-SDIO Host Controller Interface chip
784           that enables the host computer to use SDIO/SD/MMC cards
785           via a USB 2.0 or USB 1.1 host.
786
787           The VUB300 chip will be found in both physically separate
788           USB to SDIO/SD/MMC adapters and embedded on some motherboards.
789
790           The VUB300 chip supports SD and MMC memory cards in addition
791           to single and multifunction SDIO cards.
792
793           Some SDIO cards will need a firmware file to be loaded and
794           sent to VUB300 chip in order to achieve better data throughput.
795           Download these "Offload Pseudocode" from Elan Digital Systems'
796           web-site http://www.elandigitalsystems.com/support/downloads.php
797           and put them in /lib/firmware. Note that without these additional
798           firmware files the VUB300 chip will still function, but not at
799           the best obtainable data rate.
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         depends on HAS_DMA
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         help
934           This selects the Secure Digital Host Controller Interface (SDHCI)
935           support present in TI's DRA7 SOCs. The controller supports
936           SD/MMC/SDIO devices.
937
938           If you have a controller with this interface, say Y or M here.
939
940           If unsure, say N.