2 # MMC/SD host controller drivers
5 comment "MMC/SD/SDIO Host Controller Drivers"
8 tristate "RK29 SDMMC controller suppport"
11 This selects the RK29 SDMMC controller.
12 SDMMC0 used for sd/mmc card, and SDMMC1 used for sdio.
14 comment "Now, there are two SDMMC controllers selected, SDMMC0 and SDMMC1."
16 bool "Old driver (DEPRECATED)"
18 You will select old,origin driver for your project if you say Yes.
19 It is not good to select the driver.
22 tristate "RK29 SDMMC0 controller support(sdmmc)"
26 This supports the use of the SDMMC0 controller on Rk29 processors.
28 config SDMMC0_RK29_WRITE_PROTECT
29 bool "Write-protect for SDMMC0"
31 depends on SDMMC0_RK29
33 You will add the feature of write-protect for sdmmc-card if you say Yes.
34 Please note that this feature requires hardware support.
36 # config USE_SDMMC0_FOR_WIFI_DEVELOP_BOARD
37 # depends on SDMMC0_RK29
38 # bool "Switch the driver SDMMC0 for the debug of wifi_develop_board."
41 # In order to debug the Wifi development board using SD interface,
42 # we can switch the driver SDMMC0.
46 tristate "RK29 SDMMC1 controller support(sdio)"
50 This supports the use of the SDMMC1 controller on Rk29 processors.
51 config SDMMC1_RK29_WRITE_PROTECT
52 bool "Write-protect for SDMMC1"
54 depends on SDMMC1_RK29
56 You will add the feature of write-protect for sdio-card if you say Yes.
57 Please note that this feature requires hardware support.
59 # config USE_SDMMC1_FOR_WIFI_DEVELOP_BOARD
60 # depends on SDMMC1_RK29
61 # bool "Switch the driver SDMMC1 for the debug of wifi_develop_board."
64 # In order to debug the Wifi development board using SD interface,
65 # we can switch the driver SDMMC1.
70 tristate "ARM AMBA Multimedia Card Interface support"
73 This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
74 Interface (PL180 and PL181) support. If you have an ARM(R)
75 platform with a Multimedia Card slot, say Y or M here.
80 tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
83 This selects the Intel(R) PXA(R) Multimedia card Interface.
84 If you have a PXA(R) platform with a Multimedia Card slot,
90 tristate "Secure Digital Host Controller Interface support"
93 This selects the generic Secure Digital Host Controller Interface.
94 It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
95 and Toshiba(R). Most controllers found in laptops are of this type.
97 If you have a controller with this interface, say Y or M here. You
98 also need to enable an appropriate bus interface.
102 config MMC_SDHCI_IO_ACCESSORS
106 This is silent Kconfig symbol that is selected by the drivers that
107 need to overwrite SDHCI IO memory accessors.
109 config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
111 select MMC_SDHCI_IO_ACCESSORS
113 This option is selected by drivers running on big endian hosts
114 and performing I/O to a SDHCI controller through a bus that
115 implements a hardware byte swapper using a 32-bit datum.
116 This endian mapping mode is called "data invariance" and
117 has the effect of scrambling the addresses and formats of data
118 accessed in sizes other than the datum size.
120 This is the case for the Freescale eSDHC and Nintendo Wii SDHCI.
123 tristate "SDHCI support on PCI bus"
124 depends on MMC_SDHCI && PCI
126 This selects the PCI Secure Digital Host Controller Interface.
127 Most controllers found today are PCI devices.
129 If you have a controller with this interface, say Y or M here.
134 bool "Ricoh MMC Controller Disabler (EXPERIMENTAL)"
135 depends on MMC_SDHCI_PCI
137 This adds a pci quirk to disable Ricoh MMC Controller. This
138 proprietary controller is unnecessary because the SDHCI driver
139 supports MMC cards on the SD controller, but if it is not
140 disabled, it will steal the MMC cards away - rendering them
141 useless. It is safe to select this even if you don't
142 have a Ricoh based card reader.
147 tristate "SDHCI support on OpenFirmware platforms"
148 depends on MMC_SDHCI && OF
150 This selects the OF support for Secure Digital Host Controller
155 config MMC_SDHCI_OF_ESDHC
156 bool "SDHCI OF support for the Freescale eSDHC controller"
157 depends on MMC_SDHCI_OF
159 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
161 This selects the Freescale eSDHC controller support.
165 config MMC_SDHCI_OF_HLWD
166 bool "SDHCI OF support for the Nintendo Wii SDHCI controllers"
167 depends on MMC_SDHCI_OF
169 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
171 This selects the Secure Digital Host Controller Interface (SDHCI)
172 found in the "Hollywood" chipset of the Nintendo Wii video game
177 config MMC_SDHCI_PLTFM
178 tristate "SDHCI support on the platform specific bus"
181 This selects the platform specific bus support for Secure Digital Host
182 Controller Interface.
184 If you have a controller with this interface, say Y or M here.
188 config MMC_SDHCI_CNS3XXX
189 bool "SDHCI support on the Cavium Networks CNS3xxx SoC"
190 depends on ARCH_CNS3XXX
191 depends on MMC_SDHCI_PLTFM
193 This selects the SDHCI support for CNS3xxx System-on-Chip devices.
197 config MMC_SDHCI_ESDHC_IMX
198 bool "SDHCI platform support for the Freescale eSDHC i.MX controller"
199 depends on MMC_SDHCI_PLTFM && (ARCH_MX25 || ARCH_MX35 || ARCH_MX5)
200 select MMC_SDHCI_IO_ACCESSORS
202 This selects the Freescale eSDHC controller support on the platform
203 bus, found on platforms like mx35/51.
207 config MMC_SDHCI_DOVE
208 bool "SDHCI support on Marvell's Dove SoC"
210 depends on MMC_SDHCI_PLTFM
211 select MMC_SDHCI_IO_ACCESSORS
213 This selects the Secure Digital Host Controller Interface in
218 config MMC_SDHCI_TEGRA
219 bool "SDHCI platform support for the Tegra SD/MMC Controller"
220 depends on MMC_SDHCI_PLTFM && ARCH_TEGRA
221 select MMC_SDHCI_IO_ACCESSORS
223 This selects the Tegra SD/MMC controller. If you have a Tegra
224 platform with SD or MMC devices, say Y or M here.
229 tristate "SDHCI support on Samsung S3C SoC"
230 depends on MMC_SDHCI && PLAT_SAMSUNG
232 This selects the Secure Digital Host Controller Interface (SDHCI)
233 often referrered to as the HSMMC block in some of the Samsung S3C
236 Note, due to the problems with DMA, the DMA support is only
237 available with CONFIG_EXPERIMENTAL is selected.
239 If you have a controller with this interface, say Y or M here.
244 tristate "Marvell PXA168/PXA910/MMP2 SD Host Controller support"
245 depends on ARCH_PXA || ARCH_MMP
247 select MMC_SDHCI_IO_ACCESSORS
249 This selects the Marvell(R) PXA168/PXA910/MMP2 SD Host Controller.
250 If you have a PXA168/PXA910/MMP2 platform with SD Host Controller
251 and a card slot, say Y or M here.
255 config MMC_SDHCI_SPEAR
256 tristate "SDHCI support on ST SPEAr platform"
257 depends on MMC_SDHCI && PLAT_SPEAR
259 This selects the Secure Digital Host Controller Interface (SDHCI)
260 often referrered to as the HSMMC block in some of the ST SPEAR range
263 If you have a controller with this interface, say Y or M here.
267 config MMC_SDHCI_S3C_DMA
268 bool "DMA support on S3C SDHCI"
269 depends on MMC_SDHCI_S3C && EXPERIMENTAL
271 Enable DMA support on the Samsung S3C SDHCI glue. The DMA
272 has proved to be problematic if the controller encounters
273 certain errors, and thus should be treated with care.
278 tristate "TI OMAP Multimedia Card Interface support"
280 select TPS65010 if MACH_OMAP_H2
282 This selects the TI OMAP Multimedia card Interface.
283 If you have an OMAP board with a Multimedia Card slot,
289 tristate "TI OMAP High Speed Multimedia Card Interface support"
290 depends on SOC_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4
292 This selects the TI OMAP High Speed Multimedia card Interface.
293 If you have an OMAP2430 or OMAP3 board or OMAP4 board with a
294 Multimedia Card slot, say Y or M here.
299 tristate "Winbond W83L51xD SD/MMC Card Interface support"
300 depends on ISA_DMA_API
302 This selects the Winbond(R) W83L51xD Secure digital and
303 Multimedia card Interface.
304 If you have a machine with a integrated W83L518D or W83L519D
305 SD/MMC card reader, say Y or M here.
310 tristate "Alchemy AU1XX0 MMC Card Interface support"
311 depends on SOC_AU1200
313 This selects the AMD Alchemy(R) Multimedia card interface.
314 If you have a Alchemy platform with a MMC slot, say Y or M here.
319 prompt "Atmel SD/MMC Driver"
320 depends on AVR32 || ARCH_AT91
321 default MMC_ATMELMCI if AVR32
323 Choose which driver to use for the Atmel MCI Silicon
326 tristate "AT91 SD/MMC Card Interface support"
329 This selects the AT91 MCI controller.
334 tristate "Atmel Multimedia Card Interface support"
335 depends on AVR32 || ARCH_AT91
337 This selects the Atmel Multimedia Card Interface driver. If
338 you have an AT32 (AVR32) or AT91 platform with a Multimedia
339 Card slot, say Y or M here.
345 config MMC_ATMELMCI_DMA
346 bool "Atmel MCI DMA support (EXPERIMENTAL)"
347 depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE && EXPERIMENTAL
349 Say Y here to have the Atmel MCI driver use a DMA engine to
350 do data transfers and thus increase the throughput and
351 reduce the CPU utilization. Note that this is highly
352 experimental and may cause the driver to lock up.
357 tristate "Motorola i.MX Multimedia Card Interface support"
360 This selects the Motorola i.MX Multimedia card Interface.
361 If you have a i.MX platform with a Multimedia Card slot,
367 tristate "Qualcomm SDCC Controller Support"
368 depends on MMC && ARCH_MSM
370 This provides support for the SD/MMC cell found in the
371 MSM and QSD SOCs from Qualcomm. The controller also has
372 support for SDIO devices.
375 tristate "Freescale i.MX2/3 Multimedia Card Interface support"
376 depends on MACH_MX21 || MACH_MX27 || ARCH_MX31
378 This selects the Freescale i.MX2/3 Multimedia card Interface.
379 If you have a i.MX platform with a Multimedia Card slot,
385 tristate "Freescale MXS Multimedia Card Interface support"
386 depends on ARCH_MXS && MXS_DMA
388 This selects the Freescale SSP MMC controller found on MXS based
389 platforms like mx23/28.
394 tristate "TI Flash Media MMC/SD Interface support (EXPERIMENTAL)"
395 depends on EXPERIMENTAL && PCI
398 Say Y here if you want to be able to access MMC/SD cards with
399 the Texas Instruments(R) Flash Media card reader, found in many
401 This option 'selects' (turns on, enables) 'TIFM_CORE', but you
402 probably also need appropriate card reader host adapter, such as
403 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
406 To compile this driver as a module, choose M here: the
407 module will be called tifm_sd.
410 tristate "Marvell MMC/SD/SDIO host driver"
411 depends on PLAT_ORION
413 This selects the Marvell SDIO host driver.
414 SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
417 To compile this driver as a module, choose M here: the
418 module will be called mvsdio.
421 tristate "TI DAVINCI Multimedia Card Interface support"
422 depends on ARCH_DAVINCI
424 This selects the TI DAVINCI Multimedia card Interface.
425 If you have an DAVINCI board with a Multimedia Card slot,
426 say Y or M here. If unsure, say N.
429 tristate "MMC/SD/SDIO over SPI"
430 depends on SPI_MASTER && !HIGHMEM && HAS_DMA
434 Some systems access MMC/SD/SDIO cards using a SPI controller
435 instead of using a "native" MMC/SD/SDIO controller. This has a
436 disadvantage of being relatively high overhead, but a compensating
437 advantage of working on many systems without dedicated MMC/SD/SDIO
440 If unsure, or if your system has no SPI master driver, say N.
443 tristate "Samsung S3C SD/MMC Card Interface support"
444 depends on ARCH_S3C2410
446 This selects a driver for the MCI interface found in
447 Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
448 If you have a board based on one of those and a MMC/SD
449 slot, say Y or M here.
453 config MMC_S3C_HW_SDIO_IRQ
454 bool "Hardware support for SDIO IRQ"
457 Enable the hardware support for SDIO interrupts instead of using
458 the generic polling code.
461 prompt "Samsung S3C SD/MMC transfer code"
465 bool "Use PIO transfers only"
467 Use PIO to transfer data between memory and the hardware.
469 PIO is slower than DMA as it requires CPU instructions to
470 move the data. This has been the traditional default for
474 bool "Use DMA transfers only (EXPERIMENTAL)"
475 depends on EXPERIMENTAL
477 Use DMA to transfer data between memory and the hardare.
479 Currently, the DMA support in this driver seems to not be
480 working properly and needs to be debugged before this
483 config MMC_S3C_PIODMA
484 bool "Support for both PIO and DMA (EXPERIMENTAL)"
486 Compile both the PIO and DMA transfer routines into the
487 driver and let the platform select at run-time which one
490 See notes for the DMA option.
494 config MMC_SDRICOH_CS
495 tristate "MMC/SD driver for Ricoh Bay1Controllers (EXPERIMENTAL)"
496 depends on EXPERIMENTAL && PCI && PCMCIA
498 Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
499 card whenever you insert a MMC or SD card into the card slot.
501 To compile this driver as a module, choose M here: the
502 module will be called sdricoh_cs.
508 tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
509 depends on MFD_TMIO || MFD_ASIC3
512 This provides support for the SD/MMC cell found in TC6393XB,
513 T7L66XB and also HTC ASIC3
516 tristate "SH-Mobile SDHI SD/SDIO controller support"
517 depends on SUPERH || ARCH_SHMOBILE
520 This provides support for the SDHI SD/SDIO controller found in
521 SuperH and ARM SH-Mobile SoCs
524 tristate "ENE CB710 MMC/SD Interface support"
529 This option enables support for MMC/SD part of ENE CB710/720 Flash
530 memory card reader found in some laptops (ie. some versions of
533 This driver can also be built as a module. If so, the module
534 will be called cb710-mmc.
537 tristate "VIA SD/MMC Card Reader Driver"
540 This selects the VIA SD/MMC Card Reader driver, say Y or M here.
541 VIA provides one multi-functional card reader which integrated into
542 some motherboards manufactured by VIA. This card reader supports
544 If you have a controller with this interface, say Y or M here.
549 tristate "Blackfin Secure Digital Host support"
550 depends on (BF54x && !BF544) || (BF51x && !BF512)
552 If you say yes here you will get support for the Blackfin on-chip
553 Secure Digital Host interface. This includes support for MMC and
556 To compile this driver as a module, choose M here: the
557 module will be called bfin_sdh.
561 config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND
562 bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround"
565 If you say yes here SD-Cards may work on the EZkit.
568 tristate "Synopsys DesignWare Memory Card Interface"
571 This selects support for the Synopsys DesignWare Mobile Storage IP
572 block, this provides host support for SD and MMC interfaces, in both
573 PIO and external DMA modes.
576 bool "Internal DMAC interface"
579 This selects support for the internal DMAC block within the Synopsys
580 Designware Mobile Storage IP block. This disables the external DMA
584 tristate "SuperH Internal MMCIF support"
585 depends on MMC_BLOCK && (SUPERH || ARCH_SHMOBILE)
587 This selects the MMC Host Interface controller (MMCIF).
589 This driver supports MMCIF in sh7724/sh7757/sh7372.
592 tristate "JZ4740 SD/Multimedia Card Interface support"
593 depends on MACH_JZ4740
595 This selects support for the SD/MMC controller on Ingenic JZ4740
597 If you have a board based on such a SoC and with a SD/MMC slot,
601 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
604 This selects support for Elan Digital Systems' VUB300 chip.
606 The VUB300 is a USB-SDIO Host Controller Interface chip
607 that enables the host computer to use SDIO/SD/MMC cards
608 via a USB 2.0 or USB 1.1 host.
610 The VUB300 chip will be found in both physically separate
611 USB to SDIO/SD/MMC adapters and embedded on some motherboards.
613 The VUB300 chip supports SD and MMC memory cards in addition
614 to single and multifunction SDIO cards.
616 Some SDIO cards will need a firmware file to be loaded and
617 sent to VUB300 chip in order to achieve better data throughput.
618 Download these "Offload Pseudocode" from Elan Digital Systems'
619 web-site http://www.elandigitalsystems.com/support/downloads.php
620 and put them in /lib/firmware. Note that without these additional
621 firmware files the VUB300 chip will still function, but not at
622 the best obtainable data rate.
624 To compile this mmc host controller driver as a module,
625 choose M here: the module will be called vub300.
627 If you have a computer with an embedded VUB300 chip
628 or if you intend connecting a USB adapter based on a
629 VUB300 chip say Y or M here.
632 tristate "USB SD Host Controller (USHC) support"
635 This selects support for USB SD Host Controllers based on
636 the Cypress Astoria chip with firmware compliant with CSR's
637 USB SD Host Controller specification (CS-118793-SP).
639 CSR boards with this device include: USB<>SDIO (M1985v2),
642 Note: These controllers only support SDIO cards and do not
643 support MMC or SD memory cards.