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