]> git.karo-electronics.de Git - karo-tx-linux.git/blob - drivers/mmc/host/Kconfig
ee4ac77b0eae8370530bd3291161f28a3ee38549
[karo-tx-linux.git] / drivers / mmc / host / Kconfig
1 #
2 # MMC/SD host controller drivers
3 #
4
5 comment "MMC/SD/SDIO Host Controller Drivers"
6
7 config MMC_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  (EXPERIMENTAL)"
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_OF_ESDHC
85         bool "SDHCI OF support for the Freescale eSDHC controller"
86         depends on MMC_SDHCI
87         depends on PPC_OF
88         select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
89         help
90           This selects the Freescale eSDHC controller support.
91
92           If unsure, say N.
93
94 config MMC_SDHCI_OF_HLWD
95         bool "SDHCI OF support for the Nintendo Wii SDHCI controllers"
96         depends on MMC_SDHCI
97         depends on PPC_OF
98         select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
99         help
100           This selects the Secure Digital Host Controller Interface (SDHCI)
101           found in the "Hollywood" chipset of the Nintendo Wii video game
102           console.
103
104           If unsure, say N.
105
106 config MMC_SDHCI_CNS3XXX
107         tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
108         depends on ARCH_CNS3XXX
109         depends on MMC_SDHCI
110         help
111           This selects the SDHCI support for CNS3xxx System-on-Chip devices.
112
113           If unsure, say N.
114
115 config MMC_SDHCI_ESDHC_IMX
116         tristate "SDHCI platform support for the Freescale eSDHC i.MX controller"
117         depends on ARCH_MX25 || ARCH_MX35 || ARCH_MX5
118         depends on MMC_SDHCI
119         select MMC_SDHCI_IO_ACCESSORS
120         help
121           This selects the Freescale eSDHC controller support on the platform
122           bus, found on platforms like mx35/51.
123
124           If unsure, say N.
125
126 config MMC_SDHCI_DOVE
127         tristate "SDHCI support on Marvell's Dove SoC"
128         depends on ARCH_DOVE
129         depends on MMC_SDHCI
130         select MMC_SDHCI_IO_ACCESSORS
131         help
132           This selects the Secure Digital Host Controller Interface in
133           Marvell's Dove SoC.
134
135           If unsure, say N.
136
137 config MMC_SDHCI_TEGRA
138         tristate "SDHCI platform support for the Tegra SD/MMC Controller"
139         depends on ARCH_TEGRA
140         depends on MMC_SDHCI
141         select MMC_SDHCI_IO_ACCESSORS
142         help
143           This selects the Tegra SD/MMC controller. If you have a Tegra
144           platform with SD or MMC devices, say Y or M here.
145
146           If unsure, say N.
147
148 config MMC_SDHCI_S3C
149         tristate "SDHCI support on Samsung S3C SoC"
150         depends on MMC_SDHCI && PLAT_SAMSUNG
151         help
152           This selects the Secure Digital Host Controller Interface (SDHCI)
153           often referrered to as the HSMMC block in some of the Samsung S3C
154           range of SoC.
155
156           Note, due to the problems with DMA, the DMA support is only
157           available with CONFIG_EXPERIMENTAL is selected.
158
159           If you have a controller with this interface, say Y or M here.
160
161           If unsure, say N.
162
163 config MMC_SDHCI_PXA
164         tristate "Marvell PXA168/PXA910/MMP2 SD Host Controller support"
165         depends on ARCH_PXA || ARCH_MMP
166         select MMC_SDHCI
167         select MMC_SDHCI_IO_ACCESSORS
168         help
169           This selects the Marvell(R) PXA168/PXA910/MMP2 SD Host Controller.
170           If you have a PXA168/PXA910/MMP2 platform with SD Host Controller
171           and a card slot, say Y or M here.
172
173           If unsure, say N.
174
175 config MMC_SDHCI_SPEAR
176         tristate "SDHCI support on ST SPEAr platform"
177         depends on MMC_SDHCI && PLAT_SPEAR
178         help
179           This selects the Secure Digital Host Controller Interface (SDHCI)
180           often referrered to as the HSMMC block in some of the ST SPEAR range
181           of SoC
182
183           If you have a controller with this interface, say Y or M here.
184
185           If unsure, say N.
186
187 config MMC_SDHCI_S3C_DMA
188         bool "DMA support on S3C SDHCI"
189         depends on MMC_SDHCI_S3C && EXPERIMENTAL
190         help
191           Enable DMA support on the Samsung S3C SDHCI glue. The DMA
192           has proved to be problematic if the controller encounters
193           certain errors, and thus should be treated with care.
194
195           YMMV.
196
197 config MMC_OMAP
198         tristate "TI OMAP Multimedia Card Interface support"
199         depends on ARCH_OMAP
200         select TPS65010 if MACH_OMAP_H2
201         help
202           This selects the TI OMAP Multimedia card Interface.
203           If you have an OMAP board with a Multimedia Card slot,
204           say Y or M here.
205
206           If unsure, say N.
207
208 config MMC_OMAP_HS
209         tristate "TI OMAP High Speed Multimedia Card Interface support"
210         depends on SOC_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4
211         help
212           This selects the TI OMAP High Speed Multimedia card Interface.
213           If you have an OMAP2430 or OMAP3 board or OMAP4 board with a
214           Multimedia Card slot, say Y or M here.
215
216           If unsure, say N.
217
218 config MMC_WBSD
219         tristate "Winbond W83L51xD SD/MMC Card Interface support"
220         depends on ISA_DMA_API
221         help
222           This selects the Winbond(R) W83L51xD Secure digital and
223           Multimedia card Interface.
224           If you have a machine with a integrated W83L518D or W83L519D
225           SD/MMC card reader, say Y or M here.
226
227           If unsure, say N.
228
229 config MMC_AU1X
230         tristate "Alchemy AU1XX0 MMC Card Interface support"
231         depends on SOC_AU1200
232         help
233           This selects the AMD Alchemy(R) Multimedia card interface.
234           If you have a Alchemy platform with a MMC slot, say Y or M here.
235
236           If unsure, say N.
237
238 choice
239         prompt "Atmel SD/MMC Driver"
240         depends on AVR32 || ARCH_AT91
241         default MMC_ATMELMCI if AVR32
242         help
243           Choose which driver to use for the Atmel MCI Silicon
244
245 config MMC_AT91
246         tristate "AT91 SD/MMC Card Interface support"
247         depends on ARCH_AT91
248         help
249           This selects the AT91 MCI controller.
250
251           If unsure, say N.
252
253 config MMC_ATMELMCI
254         tristate "Atmel Multimedia Card Interface support"
255         depends on AVR32 || ARCH_AT91
256         help
257           This selects the Atmel Multimedia Card Interface driver. If
258           you have an AT32 (AVR32) or AT91 platform with a Multimedia
259           Card slot, say Y or M here.
260
261           If unsure, say N.
262
263 endchoice
264
265 config MMC_ATMELMCI_DMA
266         bool "Atmel MCI DMA support (EXPERIMENTAL)"
267         depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE && EXPERIMENTAL
268         help
269           Say Y here to have the Atmel MCI driver use a DMA engine to
270           do data transfers and thus increase the throughput and
271           reduce the CPU utilization. Note that this is highly
272           experimental and may cause the driver to lock up.
273
274           If unsure, say N.
275
276 config MMC_IMX
277         tristate "Motorola i.MX Multimedia Card Interface support"
278         depends on ARCH_MX1
279         help
280           This selects the Motorola i.MX Multimedia card Interface.
281           If you have a i.MX platform with a Multimedia Card slot,
282           say Y or M here.
283
284           If unsure, say N.
285
286 config MMC_MSM
287         tristate "Qualcomm SDCC Controller Support"
288         depends on MMC && ARCH_MSM
289         help
290           This provides support for the SD/MMC cell found in the
291           MSM and QSD SOCs from Qualcomm. The controller also has
292           support for SDIO devices.
293
294 config MMC_MXC
295         tristate "Freescale i.MX2/3 Multimedia Card Interface support"
296         depends on MACH_MX21 || MACH_MX27 || ARCH_MX31
297         help
298           This selects the Freescale i.MX2/3 Multimedia card Interface.
299           If you have a i.MX platform with a Multimedia Card slot,
300           say Y or M here.
301
302           If unsure, say N.
303
304 config MMC_MXS
305         tristate "Freescale MXS Multimedia Card Interface support"
306         depends on ARCH_MXS && MXS_DMA
307         help
308           This selects the Freescale SSP MMC controller found on MXS based
309           platforms like mx23/28.
310
311           If unsure, say N.
312
313 config MMC_TIFM_SD
314         tristate "TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)"
315         depends on EXPERIMENTAL && PCI
316         select TIFM_CORE
317         help
318           Say Y here if you want to be able to access MMC/SD cards with
319           the Texas Instruments(R) Flash Media card reader, found in many
320           laptops.
321           This option 'selects' (turns on, enables) 'TIFM_CORE', but you
322           probably also need appropriate card reader host adapter, such as
323           'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
324           (TIFM_7XX1)'.
325
326           To compile this driver as a module, choose M here: the
327           module will be called tifm_sd.
328
329 config MMC_MVSDIO
330         tristate "Marvell MMC/SD/SDIO host driver"
331         depends on PLAT_ORION
332         ---help---
333           This selects the Marvell SDIO host driver.
334           SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
335           SoC controllers.
336
337           To compile this driver as a module, choose M here: the
338           module will be called mvsdio.
339
340 config MMC_DAVINCI
341         tristate "TI DAVINCI Multimedia Card Interface support"
342         depends on ARCH_DAVINCI
343         help
344           This selects the TI DAVINCI Multimedia card Interface.
345           If you have an DAVINCI board with a Multimedia Card slot,
346           say Y or M here.  If unsure, say N.
347
348 config MMC_SPI
349         tristate "MMC/SD/SDIO over SPI"
350         depends on SPI_MASTER && !HIGHMEM && HAS_DMA
351         select CRC7
352         select CRC_ITU_T
353         help
354           Some systems access MMC/SD/SDIO cards using a SPI controller
355           instead of using a "native" MMC/SD/SDIO controller.  This has a
356           disadvantage of being relatively high overhead, but a compensating
357           advantage of working on many systems without dedicated MMC/SD/SDIO
358           controllers.
359
360           If unsure, or if your system has no SPI master driver, say N.
361
362 config MMC_S3C
363         tristate "Samsung S3C SD/MMC Card Interface support"
364         depends on ARCH_S3C2410
365         help
366           This selects a driver for the MCI interface found in
367           Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
368           If you have a board based on one of those and a MMC/SD
369           slot, say Y or M here.
370
371           If unsure, say N.
372
373 config MMC_S3C_HW_SDIO_IRQ
374        bool "Hardware support for SDIO IRQ"
375        depends on MMC_S3C
376        help
377          Enable the hardware support for SDIO interrupts instead of using
378          the generic polling code.
379
380 choice
381         prompt "Samsung S3C SD/MMC transfer code"
382         depends on MMC_S3C
383
384 config MMC_S3C_PIO
385         bool "Use PIO transfers only"
386         help
387           Use PIO to transfer data between memory and the hardware.
388
389           PIO is slower than DMA as it requires CPU instructions to
390           move the data. This has been the traditional default for
391           the S3C MCI driver.
392
393 config MMC_S3C_DMA
394         bool "Use DMA transfers only (EXPERIMENTAL)"
395         depends on EXPERIMENTAL
396         help
397           Use DMA to transfer data between memory and the hardare.
398
399           Currently, the DMA support in this driver seems to not be
400           working properly and needs to be debugged before this
401           option is useful.
402
403 config MMC_S3C_PIODMA
404         bool "Support for both PIO and DMA (EXPERIMENTAL)"
405         help
406           Compile both the PIO and DMA transfer routines into the
407           driver and let the platform select at run-time which one
408           is best.
409
410           See notes for the DMA option.
411
412 endchoice
413
414 config MMC_SDRICOH_CS
415         tristate "MMC/SD driver for Ricoh Bay1Controllers (EXPERIMENTAL)"
416         depends on EXPERIMENTAL && PCI && PCMCIA
417         help
418           Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
419           card whenever you insert a MMC or SD card into the card slot.
420
421           To compile this driver as a module, choose M here: the
422           module will be called sdricoh_cs.
423
424 config MMC_TMIO_CORE
425         tristate
426
427 config MMC_TMIO
428         tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
429         depends on MFD_TMIO || MFD_ASIC3
430         select MMC_TMIO_CORE
431         help
432           This provides support for the SD/MMC cell found in TC6393XB,
433           T7L66XB and also HTC ASIC3
434
435 config MMC_SDHI
436         tristate "SH-Mobile SDHI SD/SDIO controller support"
437         depends on SUPERH || ARCH_SHMOBILE
438         select MMC_TMIO_CORE
439         help
440           This provides support for the SDHI SD/SDIO controller found in
441           SuperH and ARM SH-Mobile SoCs
442
443 config MMC_CB710
444         tristate "ENE CB710 MMC/SD Interface support"
445         depends on PCI
446         select MISC_DEVICES
447         select CB710_CORE
448         help
449           This option enables support for MMC/SD part of ENE CB710/720 Flash
450           memory card reader found in some laptops (ie. some versions of
451           HP Compaq nx9500).
452
453           This driver can also be built as a module. If so, the module
454           will be called cb710-mmc.
455
456 config MMC_VIA_SDMMC
457         tristate "VIA SD/MMC Card Reader Driver"
458         depends on PCI
459         help
460           This selects the VIA SD/MMC Card Reader driver, say Y or M here.
461           VIA provides one multi-functional card reader which integrated into
462           some motherboards manufactured by VIA. This card reader supports
463           SD/MMC/SDHC.
464           If you have a controller with this interface, say Y or M here.
465
466           If unsure, say N.
467
468 config SDH_BFIN
469         tristate "Blackfin Secure Digital Host support"
470         depends on (BF54x && !BF544) || (BF51x && !BF512)
471         help
472           If you say yes here you will get support for the Blackfin on-chip
473           Secure Digital Host interface.  This includes support for MMC and
474           SD cards.
475
476           To compile this driver as a module, choose M here: the
477           module will be called bfin_sdh.
478
479           If unsure, say N.
480
481 config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND
482         bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround"
483         depends on SDH_BFIN
484         help
485           If you say yes here SD-Cards may work on the EZkit.
486
487 config MMC_DW
488         tristate "Synopsys DesignWare Memory Card Interface"
489         depends on ARM
490         help
491           This selects support for the Synopsys DesignWare Mobile Storage IP
492           block, this provides host support for SD and MMC interfaces, in both
493           PIO and external DMA modes.
494
495 config MMC_DW_IDMAC
496         bool "Internal DMAC interface"
497         depends on MMC_DW
498         help
499           This selects support for the internal DMAC block within the Synopsys
500           Designware Mobile Storage IP block. This disables the external DMA
501           interface.
502
503 config MMC_SH_MMCIF
504         tristate "SuperH Internal MMCIF support"
505         depends on MMC_BLOCK && (SUPERH || ARCH_SHMOBILE)
506         help
507           This selects the MMC Host Interface controller (MMCIF).
508
509           This driver supports MMCIF in sh7724/sh7757/sh7372.
510
511 config MMC_JZ4740
512         tristate "JZ4740 SD/Multimedia Card Interface support"
513         depends on MACH_JZ4740
514         help
515           This selects support for the SD/MMC controller on Ingenic JZ4740
516           SoCs.
517           If you have a board based on such a SoC and with a SD/MMC slot,
518           say Y or M here.
519
520 config MMC_VUB300
521         tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
522         depends on USB
523         help
524           This selects support for Elan Digital Systems' VUB300 chip.
525
526           The VUB300 is a USB-SDIO Host Controller Interface chip
527           that enables the host computer to use SDIO/SD/MMC cards
528           via a USB 2.0 or USB 1.1 host.
529
530           The VUB300 chip will be found in both physically separate
531           USB to SDIO/SD/MMC adapters and embedded on some motherboards.
532
533           The VUB300 chip supports SD and MMC memory cards in addition
534           to single and multifunction SDIO cards.
535
536           Some SDIO cards will need a firmware file to be loaded and
537           sent to VUB300 chip in order to achieve better data throughput.
538           Download these "Offload Pseudocode" from Elan Digital Systems'
539           web-site http://www.elandigitalsystems.com/support/downloads.php
540           and put them in /lib/firmware. Note that without these additional
541           firmware files the VUB300 chip will still function, but not at
542           the best obtainable data rate.
543
544           To compile this mmc host controller driver as a module,
545           choose M here: the module will be called vub300.
546
547           If you have a computer with an embedded VUB300 chip
548           or if you intend connecting a USB adapter based on a
549           VUB300 chip say Y or M here.
550
551 config MMC_USHC
552         tristate "USB SD Host Controller (USHC) support"
553         depends on USB
554         help
555           This selects support for USB SD Host Controllers based on
556           the Cypress Astoria chip with firmware compliant with CSR's
557           USB SD Host Controller specification (CS-118793-SP).
558
559           CSR boards with this device include: USB<>SDIO (M1985v2),
560           and Ultrasira.
561
562           Note: These controllers only support SDIO cards and do not
563           support MMC or SD memory cards.