]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/mmc/host/Kconfig
d0547448606debe28df373728b85542b43b924f4
[mirror_ubuntu-artful-kernel.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_ARMMMCI
8 tristate "ARM AMBA Multimedia Card Interface support"
9 depends on ARM_AMBA
10 help
11 This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
12 Interface (PL180 and PL181) support. If you have an ARM(R)
13 platform with a Multimedia Card slot, say Y or M here.
14
15 If unsure, say N.
16
17 config MMC_PXA
18 tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
19 depends on ARCH_PXA
20 help
21 This selects the Intel(R) PXA(R) Multimedia card Interface.
22 If you have a PXA(R) platform with a Multimedia Card slot,
23 say Y or M here.
24
25 If unsure, say N.
26
27 config MMC_SDHCI
28 tristate "Secure Digital Host Controller Interface support"
29 depends on HAS_DMA
30 help
31 This selects the generic Secure Digital Host Controller Interface.
32 It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
33 and Toshiba(R). Most controllers found in laptops are of this type.
34
35 If you have a controller with this interface, say Y or M here. You
36 also need to enable an appropriate bus interface.
37
38 If unsure, say N.
39
40 config MMC_SDHCI_IO_ACCESSORS
41 bool
42 depends on MMC_SDHCI
43 help
44 This is silent Kconfig symbol that is selected by the drivers that
45 need to overwrite SDHCI IO memory accessors.
46
47 config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
48 bool
49 select MMC_SDHCI_IO_ACCESSORS
50 help
51 This option is selected by drivers running on big endian hosts
52 and performing I/O to a SDHCI controller through a bus that
53 implements a hardware byte swapper using a 32-bit datum.
54 This endian mapping mode is called "data invariance" and
55 has the effect of scrambling the addresses and formats of data
56 accessed in sizes other than the datum size.
57
58 This is the case for the Freescale eSDHC and Nintendo Wii SDHCI.
59
60 config MMC_SDHCI_PCI
61 tristate "SDHCI support on PCI bus"
62 depends on MMC_SDHCI && PCI
63 help
64 This selects the PCI Secure Digital Host Controller Interface.
65 Most controllers found today are PCI devices.
66
67 If you have a controller with this interface, say Y or M here.
68
69 If unsure, say N.
70
71 config MMC_RICOH_MMC
72 bool "Ricoh MMC Controller Disabler"
73 depends on MMC_SDHCI_PCI
74 help
75 This adds a pci quirk to disable Ricoh MMC Controller. This
76 proprietary controller is unnecessary because the SDHCI driver
77 supports MMC cards on the SD controller, but if it is not
78 disabled, it will steal the MMC cards away - rendering them
79 useless. It is safe to select this even if you don't
80 have a Ricoh based card reader.
81
82 If unsure, say Y.
83
84 config MMC_SDHCI_ACPI
85 tristate "SDHCI support for ACPI enumerated SDHCI controllers"
86 depends on MMC_SDHCI && ACPI
87 help
88 This selects support for ACPI enumerated SDHCI controllers,
89 identified by ACPI Compatibility ID PNP0D40 or specific
90 ACPI Hardware IDs.
91
92 If you have a controller with this interface, say Y or M here.
93
94 If unsure, say N.
95
96 config MMC_SDHCI_PLTFM
97 tristate "SDHCI platform and OF driver helper"
98 depends on MMC_SDHCI
99 help
100 This selects the common helper functions support for Secure Digital
101 Host Controller Interface based platform and OF drivers.
102
103 If you have a controller with this interface, say Y or M here.
104
105 If unsure, say N.
106
107 config MMC_SDHCI_OF_ESDHC
108 tristate "SDHCI OF support for the Freescale eSDHC controller"
109 depends on MMC_SDHCI_PLTFM
110 depends on PPC_OF
111 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
112 help
113 This selects the Freescale eSDHC controller support.
114
115 If you have a controller with this interface, say Y or M here.
116
117 If unsure, say N.
118
119 config MMC_SDHCI_OF_HLWD
120 tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers"
121 depends on MMC_SDHCI_PLTFM
122 depends on PPC_OF
123 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
124 help
125 This selects the Secure Digital Host Controller Interface (SDHCI)
126 found in the "Hollywood" chipset of the Nintendo Wii video game
127 console.
128
129 If you have a controller with this interface, say Y or M here.
130
131 If unsure, say N.
132
133 config MMC_SDHCI_CNS3XXX
134 tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
135 depends on ARCH_CNS3XXX
136 depends on MMC_SDHCI_PLTFM
137 help
138 This selects the SDHCI support for CNS3xxx System-on-Chip devices.
139
140 If you have a controller with this interface, say Y or M here.
141
142 If unsure, say N.
143
144 config MMC_SDHCI_ESDHC_IMX
145 tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
146 depends on ARCH_MXC
147 depends on MMC_SDHCI_PLTFM
148 select MMC_SDHCI_IO_ACCESSORS
149 help
150 This selects the Freescale eSDHC/uSDHC controller support
151 found on i.MX25, i.MX35 i.MX5x and i.MX6x.
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_DOVE
158 tristate "SDHCI support on Marvell's Dove SoC"
159 depends on ARCH_DOVE
160 depends on MMC_SDHCI_PLTFM
161 select MMC_SDHCI_IO_ACCESSORS
162 help
163 This selects the Secure Digital Host Controller Interface in
164 Marvell's Dove SoC.
165
166 If you have a controller with this interface, say Y or M here.
167
168 If unsure, say N.
169
170 config MMC_SDHCI_TEGRA
171 tristate "SDHCI platform support for the Tegra SD/MMC Controller"
172 depends on ARCH_TEGRA
173 depends on MMC_SDHCI_PLTFM
174 select MMC_SDHCI_IO_ACCESSORS
175 help
176 This selects the Tegra SD/MMC controller. If you have a Tegra
177 platform with SD or MMC devices, say Y or M here.
178
179 If unsure, say N.
180
181 config MMC_SDHCI_S3C
182 tristate "SDHCI support on Samsung S3C SoC"
183 depends on MMC_SDHCI && PLAT_SAMSUNG_SINGLE
184 help
185 This selects the Secure Digital Host Controller Interface (SDHCI)
186 often referrered to as the HSMMC block in some of the Samsung S3C
187 range of SoC.
188
189 If you have a controller with this interface, say Y or M here.
190
191 If unsure, say N.
192
193 config MMC_SDHCI_PXAV3
194 tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
195 depends on CLKDEV_LOOKUP
196 select MMC_SDHCI
197 select MMC_SDHCI_PLTFM
198 default CPU_MMP2
199 help
200 This selects the Marvell(R) PXAV3 SD Host Controller.
201 If you have a MMP2 platform with SD Host Controller
202 and a card slot, say Y or M here.
203
204 If unsure, say N.
205
206 config MMC_SDHCI_PXAV2
207 tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
208 depends on CLKDEV_LOOKUP
209 select MMC_SDHCI
210 select MMC_SDHCI_PLTFM
211 default CPU_PXA910
212 help
213 This selects the Marvell(R) PXAV2 SD Host Controller.
214 If you have a PXA9XX platform with SD Host Controller
215 and a card slot, say Y or M here.
216
217 If unsure, say N.
218
219 config MMC_SDHCI_SPEAR
220 tristate "SDHCI support on ST SPEAr platform"
221 depends on MMC_SDHCI && PLAT_SPEAR
222 help
223 This selects the Secure Digital Host Controller Interface (SDHCI)
224 often referrered to as the HSMMC block in some of the ST SPEAR range
225 of SoC
226
227 If you have a controller with this interface, say Y or M here.
228
229 If unsure, say N.
230
231 config MMC_SDHCI_S3C_DMA
232 bool "DMA support on S3C SDHCI"
233 depends on MMC_SDHCI_S3C
234 help
235 Enable DMA support on the Samsung S3C SDHCI glue. The DMA
236 has proved to be problematic if the controller encounters
237 certain errors, and thus should be treated with care.
238
239 YMMV.
240
241 config MMC_SDHCI_BCM2835
242 tristate "SDHCI platform support for the BCM2835 SD/MMC Controller"
243 depends on ARCH_BCM2835
244 depends on MMC_SDHCI_PLTFM
245 select MMC_SDHCI_IO_ACCESSORS
246 help
247 This selects the BCM2835 SD/MMC controller. If you have a BCM2835
248 platform with SD or MMC devices, say Y or M here.
249
250 If unsure, say N.
251
252 config MMC_OMAP
253 tristate "TI OMAP Multimedia Card Interface support"
254 depends on ARCH_OMAP
255 select TPS65010 if MACH_OMAP_H2
256 help
257 This selects the TI OMAP Multimedia card Interface.
258 If you have an OMAP board with a Multimedia Card slot,
259 say Y or M here.
260
261 If unsure, say N.
262
263 config MMC_OMAP_HS
264 tristate "TI OMAP High Speed Multimedia Card Interface support"
265 depends on SOC_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4
266 help
267 This selects the TI OMAP High Speed Multimedia card Interface.
268 If you have an OMAP2430 or OMAP3 board or OMAP4 board with a
269 Multimedia Card slot, say Y or M here.
270
271 If unsure, say N.
272
273 config MMC_WBSD
274 tristate "Winbond W83L51xD SD/MMC Card Interface support"
275 depends on ISA_DMA_API
276 help
277 This selects the Winbond(R) W83L51xD Secure digital and
278 Multimedia card Interface.
279 If you have a machine with a integrated W83L518D or W83L519D
280 SD/MMC card reader, say Y or M here.
281
282 If unsure, say N.
283
284 config MMC_AU1X
285 tristate "Alchemy AU1XX0 MMC Card Interface support"
286 depends on MIPS_ALCHEMY
287 help
288 This selects the AMD Alchemy(R) Multimedia card interface.
289 If you have a Alchemy platform with a MMC slot, say Y or M here.
290
291 If unsure, say N.
292
293 config MMC_ATMELMCI
294 tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"
295 depends on AVR32 || ARCH_AT91
296 help
297 This selects the Atmel Multimedia Card Interface driver. If
298 you have an AT32 (AVR32) or AT91 platform with a Multimedia
299 Card slot, say Y or M here.
300
301 If unsure, say N.
302
303 config MMC_ATMELMCI_DMA
304 bool "Atmel MCI DMA support"
305 depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE
306 help
307 Say Y here to have the Atmel MCI driver use a DMA engine to
308 do data transfers and thus increase the throughput and
309 reduce the CPU utilization.
310
311 If unsure, say N.
312
313 config MMC_MSM
314 tristate "Qualcomm SDCC Controller Support"
315 depends on MMC && ARCH_MSM
316 help
317 This provides support for the SD/MMC cell found in the
318 MSM and QSD SOCs from Qualcomm. The controller also has
319 support for SDIO devices.
320
321 config MMC_MXC
322 tristate "Freescale i.MX21/27/31 Multimedia Card Interface support"
323 depends on ARCH_MXC
324 help
325 This selects the Freescale i.MX21, i.MX27 and i.MX31 Multimedia card
326 Interface. If you have a i.MX platform with a Multimedia Card slot,
327 say Y or M here.
328
329 If unsure, say N.
330
331 config MMC_MXS
332 tristate "Freescale MXS Multimedia Card Interface support"
333 depends on ARCH_MXS && MXS_DMA
334 help
335 This selects the Freescale SSP MMC controller found on MXS based
336 platforms like mx23/28.
337
338 If unsure, say N.
339
340 config MMC_TIFM_SD
341 tristate "TI Flash Media MMC/SD Interface support"
342 depends on PCI
343 select TIFM_CORE
344 help
345 Say Y here if you want to be able to access MMC/SD cards with
346 the Texas Instruments(R) Flash Media card reader, found in many
347 laptops.
348 This option 'selects' (turns on, enables) 'TIFM_CORE', but you
349 probably also need appropriate card reader host adapter, such as
350 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
351 (TIFM_7XX1)'.
352
353 To compile this driver as a module, choose M here: the
354 module will be called tifm_sd.
355
356 config MMC_MVSDIO
357 tristate "Marvell MMC/SD/SDIO host driver"
358 depends on PLAT_ORION
359 ---help---
360 This selects the Marvell SDIO host driver.
361 SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
362 SoC controllers.
363
364 To compile this driver as a module, choose M here: the
365 module will be called mvsdio.
366
367 config MMC_DAVINCI
368 tristate "TI DAVINCI Multimedia Card Interface support"
369 depends on ARCH_DAVINCI
370 help
371 This selects the TI DAVINCI Multimedia card Interface.
372 If you have an DAVINCI board with a Multimedia Card slot,
373 say Y or M here. If unsure, say N.
374
375 config MMC_GOLDFISH
376 tristate "goldfish qemu Multimedia Card Interface support"
377 depends on GOLDFISH
378 help
379 This selects the Goldfish Multimedia card Interface emulation
380 found on the Goldfish Android virtual device emulation.
381
382 config MMC_SPI
383 tristate "MMC/SD/SDIO over SPI"
384 depends on SPI_MASTER && !HIGHMEM && HAS_DMA
385 select CRC7
386 select CRC_ITU_T
387 help
388 Some systems access MMC/SD/SDIO cards using a SPI controller
389 instead of using a "native" MMC/SD/SDIO controller. This has a
390 disadvantage of being relatively high overhead, but a compensating
391 advantage of working on many systems without dedicated MMC/SD/SDIO
392 controllers.
393
394 If unsure, or if your system has no SPI master driver, say N.
395
396 config MMC_S3C
397 tristate "Samsung S3C SD/MMC Card Interface support"
398 depends on ARCH_S3C24XX
399 help
400 This selects a driver for the MCI interface found in
401 Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
402 If you have a board based on one of those and a MMC/SD
403 slot, say Y or M here.
404
405 If unsure, say N.
406
407 config MMC_S3C_HW_SDIO_IRQ
408 bool "Hardware support for SDIO IRQ"
409 depends on MMC_S3C
410 help
411 Enable the hardware support for SDIO interrupts instead of using
412 the generic polling code.
413
414 choice
415 prompt "Samsung S3C SD/MMC transfer code"
416 depends on MMC_S3C
417
418 config MMC_S3C_PIO
419 bool "Use PIO transfers only"
420 help
421 Use PIO to transfer data between memory and the hardware.
422
423 PIO is slower than DMA as it requires CPU instructions to
424 move the data. This has been the traditional default for
425 the S3C MCI driver.
426
427 config MMC_S3C_DMA
428 bool "Use DMA transfers only"
429 help
430 Use DMA to transfer data between memory and the hardare.
431
432 Currently, the DMA support in this driver seems to not be
433 working properly and needs to be debugged before this
434 option is useful.
435
436 config MMC_S3C_PIODMA
437 bool "Support for both PIO and DMA"
438 help
439 Compile both the PIO and DMA transfer routines into the
440 driver and let the platform select at run-time which one
441 is best.
442
443 See notes for the DMA option.
444
445 endchoice
446
447 config MMC_SDRICOH_CS
448 tristate "MMC/SD driver for Ricoh Bay1Controllers"
449 depends on PCI && PCMCIA
450 help
451 Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
452 card whenever you insert a MMC or SD card into the card slot.
453
454 To compile this driver as a module, choose M here: the
455 module will be called sdricoh_cs.
456
457 config MMC_TMIO_CORE
458 tristate
459
460 config MMC_TMIO
461 tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
462 depends on MFD_TMIO || MFD_ASIC3
463 select MMC_TMIO_CORE
464 help
465 This provides support for the SD/MMC cell found in TC6393XB,
466 T7L66XB and also HTC ASIC3
467
468 config MMC_SDHI
469 tristate "SH-Mobile SDHI SD/SDIO controller support"
470 depends on SUPERH || ARCH_SHMOBILE
471 select MMC_TMIO_CORE
472 help
473 This provides support for the SDHI SD/SDIO controller found in
474 SuperH and ARM SH-Mobile SoCs
475
476 config MMC_CB710
477 tristate "ENE CB710 MMC/SD Interface support"
478 depends on PCI && GENERIC_HARDIRQS
479 select CB710_CORE
480 help
481 This option enables support for MMC/SD part of ENE CB710/720 Flash
482 memory card reader found in some laptops (ie. some versions of
483 HP Compaq nx9500).
484
485 This driver can also be built as a module. If so, the module
486 will be called cb710-mmc.
487
488 config MMC_VIA_SDMMC
489 tristate "VIA SD/MMC Card Reader Driver"
490 depends on PCI
491 help
492 This selects the VIA SD/MMC Card Reader driver, say Y or M here.
493 VIA provides one multi-functional card reader which integrated into
494 some motherboards manufactured by VIA. This card reader supports
495 SD/MMC/SDHC.
496 If you have a controller with this interface, say Y or M here.
497
498 If unsure, say N.
499
500 config SDH_BFIN
501 tristate "Blackfin Secure Digital Host support"
502 depends on (BF54x && !BF544) || (BF51x && !BF512)
503 help
504 If you say yes here you will get support for the Blackfin on-chip
505 Secure Digital Host interface. This includes support for MMC and
506 SD cards.
507
508 To compile this driver as a module, choose M here: the
509 module will be called bfin_sdh.
510
511 If unsure, say N.
512
513 config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND
514 bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround"
515 depends on SDH_BFIN
516 help
517 If you say yes here SD-Cards may work on the EZkit.
518
519 config MMC_DW
520 tristate "Synopsys DesignWare Memory Card Interface"
521 depends on ARM
522 help
523 This selects support for the Synopsys DesignWare Mobile Storage IP
524 block, this provides host support for SD and MMC interfaces, in both
525 PIO and external DMA modes.
526
527 config MMC_DW_IDMAC
528 bool "Internal DMAC interface"
529 depends on MMC_DW
530 help
531 This selects support for the internal DMAC block within the Synopsys
532 Designware Mobile Storage IP block. This disables the external DMA
533 interface.
534
535 config MMC_DW_PLTFM
536 tristate "Synopsys Designware MCI Support as platform device"
537 depends on MMC_DW
538 default y
539 help
540 This selects the common helper functions support for Host Controller
541 Interface based platform driver. Please select this option if the IP
542 is present as a platform device. This is the common interface for the
543 Synopsys Designware IP.
544
545 If you have a controller with this interface, say Y or M here.
546
547 If unsure, say Y.
548
549 config MMC_DW_EXYNOS
550 tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
551 depends on MMC_DW
552 select MMC_DW_PLTFM
553 help
554 This selects support for Samsung Exynos SoC specific extensions to the
555 Synopsys DesignWare Memory Card Interface driver. Select this option
556 for platforms based on Exynos4 and Exynos5 SoC's.
557
558 config MMC_DW_PCI
559 tristate "Synopsys Designware MCI support on PCI bus"
560 depends on MMC_DW && PCI
561 help
562 This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
563 Select this option if the IP is present on PCI platform.
564
565 If you have a controller with this interface, say Y or M here.
566
567 If unsure, say N.
568
569 config MMC_SH_MMCIF
570 tristate "SuperH Internal MMCIF support"
571 depends on MMC_BLOCK && (SUPERH || ARCH_SHMOBILE)
572 help
573 This selects the MMC Host Interface controller (MMCIF).
574
575 This driver supports MMCIF in sh7724/sh7757/sh7372.
576
577 config MMC_JZ4740
578 tristate "JZ4740 SD/Multimedia Card Interface support"
579 depends on MACH_JZ4740
580 help
581 This selects support for the SD/MMC controller on Ingenic JZ4740
582 SoCs.
583 If you have a board based on such a SoC and with a SD/MMC slot,
584 say Y or M here.
585
586 config MMC_VUB300
587 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
588 depends on USB
589 help
590 This selects support for Elan Digital Systems' VUB300 chip.
591
592 The VUB300 is a USB-SDIO Host Controller Interface chip
593 that enables the host computer to use SDIO/SD/MMC cards
594 via a USB 2.0 or USB 1.1 host.
595
596 The VUB300 chip will be found in both physically separate
597 USB to SDIO/SD/MMC adapters and embedded on some motherboards.
598
599 The VUB300 chip supports SD and MMC memory cards in addition
600 to single and multifunction SDIO cards.
601
602 Some SDIO cards will need a firmware file to be loaded and
603 sent to VUB300 chip in order to achieve better data throughput.
604 Download these "Offload Pseudocode" from Elan Digital Systems'
605 web-site http://www.elandigitalsystems.com/support/downloads.php
606 and put them in /lib/firmware. Note that without these additional
607 firmware files the VUB300 chip will still function, but not at
608 the best obtainable data rate.
609
610 To compile this mmc host controller driver as a module,
611 choose M here: the module will be called vub300.
612
613 If you have a computer with an embedded VUB300 chip
614 or if you intend connecting a USB adapter based on a
615 VUB300 chip say Y or M here.
616
617 config MMC_USHC
618 tristate "USB SD Host Controller (USHC) support"
619 depends on USB
620 help
621 This selects support for USB SD Host Controllers based on
622 the Cypress Astoria chip with firmware compliant with CSR's
623 USB SD Host Controller specification (CS-118793-SP).
624
625 CSR boards with this device include: USB<>SDIO (M1985v2),
626 and Ultrasira.
627
628 Note: These controllers only support SDIO cards and do not
629 support MMC or SD memory cards.
630
631 config MMC_WMT
632 tristate "Wondermedia SD/MMC Host Controller support"
633 depends on ARCH_VT8500
634 default y
635 help
636 This selects support for the SD/MMC Host Controller on
637 Wondermedia WM8505/WM8650 based SoCs.
638
639 To compile this driver as a module, choose M here: the
640 module will be called wmt-sdmmc.
641
642 config MMC_REALTEK_PCI
643 tristate "Realtek PCI-E SD/MMC Card Interface Driver"
644 depends on MFD_RTSX_PCI
645 help
646 Say Y here to include driver code to support SD/MMC card interface
647 of Realtek PCI-E card reader