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