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