vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
[linux/fpc-iii.git] / drivers / mmc / host / Kconfig
blobb7f809aa40c2ccb0e87ff2239ec8145407a206e5
2 # MMC/SD host controller drivers
5 comment "MMC/SD/SDIO Host Controller Drivers"
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.
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.
24           If unsure, say N.
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.
35           if unsure, say N.
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.
45           If unsure, say N.
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.
55           If you have a controller with this interface, say Y or M here. You
56           also need to enable an appropriate bus interface.
58           If unsure, say N.
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.
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.
79           This is the case for the Nintendo Wii SDHCI.
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.
89           If you have a controller with this interface, say Y or M here.
91           If unsure, say N.
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.
105           If unsure, say Y.
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.
116           If you have a controller with this interface, say Y or M here.
118           If unsure, say N.
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.
127           If you have a controller with this interface, say Y or M here.
129           If unsure, say N.
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.
141           If you have a controller with this interface, say Y or M here.
143           If unsure, say N.
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
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.
161           If you have a controller with this interface, say Y or M here.
163           If unsure, say N.
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.
175           If you have a controller with this interface, say Y or M here.
177           If unsure, say N.
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.
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.
197           If you have a controller with this interface, say Y or M here.
199           If unsure, say N.
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.
208           If you have a controller with this interface, say Y or M here.
210           If unsure, say N.
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.
221           If you have a controller with this interface, say Y or M here.
223           If unsure, say N.
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.
234           If you have a controller with this interface, say Y or M here.
236           If unsure, say N.
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.
247           If unsure, say N.
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.
257           If you have a controller with this interface, say Y or M here.
259           If unsure, say N.
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.
269           If you have a controller with this interface, say Y or M here.
271           If unsure, say N.
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.
284           If unsure, say N.
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.
297           If unsure, say N.
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
308           If you have a controller with this interface, say Y or M here.
310           If unsure, say N.
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.
320           YMMV.
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.
331           If you have a controller with this interface, say Y or M here.
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.
342           If unsure, say N.
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.
353           If you have a BCM2835 or IPROC platform with SD or MMC devices,
354           say Y or M here.
356           If unsure, say N.
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.
366           If you have a controller with this interface, say Y here.
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.
377           If you have a controller with this interface, say Y or M here.
378           If unsure, say N.
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.
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.
398           If you have a controller with this interface, say Y or M here.
399           If unsure, say N.
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.
410           If unsure, say N.
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.
420           If unsure, say N.
422 config MMC_WBSD
423         tristate "Winbond W83L51xD SD/MMC Card Interface support"
424         depends on ISA_DMA_API
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.
431           If unsure, say N.
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.
440           If unsure, say N.
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.
450           If unsure, say N.
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.
462           If you have a controller with this interface, say Y or M here.
464           If unsure, say N.
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.
474           If unsure, say N.
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.
483           If unsure, say N.
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)'.
498           To compile this driver as a module, choose M here: the
499           module will be called tifm_sd.
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.
510           To compile this driver as a module, choose M here: the
511           module will be called mvsdio.
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.
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.
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.
540           If unsure, or if your system has no SPI master driver, say N.
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.
552           If unsure, say N.
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.
561 choice
562         prompt "Samsung S3C SD/MMC transfer code"
563         depends on MMC_S3C
565 config MMC_S3C_PIO
566         bool "Use PIO transfers only"
567         help
568           Use PIO to transfer data between memory and the hardware.
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.
574 config MMC_S3C_DMA
575         bool "Use DMA transfers only"
576         help
577           Use DMA to transfer data between memory and the hardare.
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.
583 endchoice
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.
592           To compile this driver as a module, choose M here: the
593           module will be called sdricoh_cs.
595 config MMC_TMIO_CORE
596         tristate
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
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
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.
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.
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).
642           This driver can also be built as a module. If so, the module
643           will be called cb710-mmc.
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.
655           If unsure, say N.
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.
665           If unsure, say N.
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.
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.
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.
696           If you have a controller with this interface, say Y or M here.
698           If unsure, say Y.
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.
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.
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.
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.
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.
743           If you have a controller with this interface, say Y or M here.
745           If unsure, say N.
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.
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.
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.
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.
780           If you have a board based on such a SoC and with a SD/MMC slot,
781           say Y or M here.
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.
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.
793           The VUB300 chip will be found in both physically separate
794           USB to SDIO/SD/MMC adapters and embedded on some motherboards.
796           The VUB300 chip supports SD and MMC memory cards in addition
797           to single and multifunction SDIO cards.
799           Some SDIO cards will need a firmware file to be loaded and
800           sent to VUB300 chip in order to achieve better data throughput.
801           Download these "Offload Pseudocode" from Elan Digital Systems'
802           web-site http://www.elandigitalsystems.com/support/downloads.php
803           and put them in /lib/firmware. Note that without these additional
804           firmware files the VUB300 chip will still function, but not at
805           the best obtainable data rate.
807           To compile this mmc host controller driver as a module,
808           choose M here: the module will be called vub300.
810           If you have a computer with an embedded VUB300 chip
811           or if you intend connecting a USB adapter based on a
812           VUB300 chip say Y or M here.
814 config MMC_USHC
815         tristate "USB SD Host Controller (USHC) support"
816         depends on USB
817         help
818           This selects support for USB SD Host Controllers based on
819           the Cypress Astoria chip with firmware compliant with CSR's
820           USB SD Host Controller specification (CS-118793-SP).
822           CSR boards with this device include: USB<>SDIO (M1985v2),
823           and Ultrasira.
825           Note: These controllers only support SDIO cards and do not
826           support MMC or SD memory cards.
828 config MMC_WMT
829         tristate "Wondermedia SD/MMC Host Controller support"
830         depends on ARCH_VT8500
831         default y
832         help
833           This selects support for the SD/MMC Host Controller on
834           Wondermedia WM8505/WM8650 based SoCs.
836           To compile this driver as a module, choose M here: the
837           module will be called wmt-sdmmc.
839 config MMC_USDHI6ROL0
840         tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"
841         depends on HAS_DMA
842         help
843           This selects support for the Renesas USDHI6ROL0 SD/SDIO
844           Host Controller
846 config MMC_REALTEK_PCI
847         tristate "Realtek PCI-E SD/MMC Card Interface Driver"
848         depends on MISC_RTSX_PCI
849         help
850           Say Y here to include driver code to support SD/MMC card interface
851           of Realtek PCI-E card reader
853 config MMC_REALTEK_USB
854         tristate "Realtek USB SD/MMC Card Interface Driver"
855         depends on MISC_RTSX_USB
856         help
857           Say Y here to include driver code to support SD/MMC card interface
858           of Realtek RTS5129/39 series card reader
860 config MMC_SUNXI
861         tristate "Allwinner sunxi SD/MMC Host Controller support"
862         depends on ARCH_SUNXI
863         help
864           This selects support for the SD/MMC Host Controller on
865           Allwinner sunxi SoCs.
867 config MMC_CQHCI
868         tristate "Command Queue Host Controller Interface support"
869         depends on HAS_DMA
870         help
871           This selects the Command Queue Host Controller Interface (CQHCI)
872           support present in host controllers of Qualcomm Technologies, Inc
873           amongst others.
874           This controller supports eMMC devices with command queue support.
876           If you have a controller with this interface, say Y or M here.
878           If unsure, say N.
880 config MMC_TOSHIBA_PCI
881         tristate "Toshiba Type A SD/MMC Card Interface Driver"
882         depends on PCI
884 config MMC_BCM2835
885         tristate "Broadcom BCM2835 SDHOST MMC Controller support"
886         depends on ARCH_BCM2835 || COMPILE_TEST
887         help
888           This selects the BCM2835 SDHOST MMC controller. If you have
889           a BCM2835 platform with SD or MMC devices, say Y or M here.
891           Note that the BCM2835 has two SD controllers: The Arasan
892           sdhci controller (supported by MMC_SDHCI_IPROC) and a custom
893           sdhost controller (supported by this driver).
895           If unsure, say N.
897 config MMC_MTK
898         tristate "MediaTek SD/MMC Card Interface support"
899         depends on HAS_DMA
900         help
901           This selects the MediaTek(R) Secure digital and Multimedia card Interface.
902           If you have a machine with a integrated SD/MMC card reader, say Y or M here.
903           This is needed if support for any SD/SDIO/MMC devices is required.
904           If unsure, say N.
906 config MMC_SDHCI_MICROCHIP_PIC32
907         tristate "Microchip PIC32MZDA SDHCI support"
908         depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM
909         help
910           This selects the Secure Digital Host Controller Interface (SDHCI)
911           for PIC32MZDA platform.
913           If you have a controller with this interface, say Y or M here.
915           If unsure, say N.
916 config MMC_SDHCI_BRCMSTB
917         tristate "Broadcom SDIO/SD/MMC support"
918         depends on ARCH_BRCMSTB || BMIPS_GENERIC
919         depends on MMC_SDHCI_PLTFM
920         default y
921         help
922           This selects support for the SDIO/SD/MMC Host Controller on
923           Broadcom STB SoCs.
925           If unsure, say Y.
927 config MMC_SDHCI_XENON
928         tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver"
929         depends on MMC_SDHCI_PLTFM
930         help
931           This selects Marvell Xenon eMMC/SD/SDIO SDHCI.
932           If you have a controller with this interface, say Y or M here.
933           If unsure, say N.
935 config MMC_SDHCI_OMAP
936         tristate "TI SDHCI Controller Support"
937         depends on MMC_SDHCI_PLTFM && OF
938         select THERMAL
939         imply TI_SOC_THERMAL
940         help
941           This selects the Secure Digital Host Controller Interface (SDHCI)
942           support present in TI's DRA7 SOCs. The controller supports
943           SD/MMC/SDIO devices.
945           If you have a controller with this interface, say Y or M here.
947           If unsure, say N.