Commit | Line | Data |
---|---|---|
1c6a0718 PO |
1 | # |
2 | # MMC/SD host controller drivers | |
3 | # | |
4 | ||
57105737 | 5 | comment "MMC/SD/SDIO Host Controller Drivers" |
1c6a0718 PO |
6 | |
7 | config MMC_ARMMMCI | |
8 | tristate "ARM AMBA Multimedia Card Interface support" | |
790864dc | 9 | depends on ARM_AMBA |
1c6a0718 PO |
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" | |
790864dc | 19 | depends on ARCH_PXA |
1c6a0718 PO |
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 | |
34671dc2 | 28 | tristate "Secure Digital Host Controller Interface support" |
b8c86fc5 | 29 | depends on HAS_DMA |
1c6a0718 | 30 | help |
b8c86fc5 | 31 | This selects the generic Secure Digital Host Controller Interface. |
1c6a0718 PO |
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. | |
b8c86fc5 PO |
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 | ||
4e4141a5 AV |
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 | ||
7657c3a7 AH |
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 | ||
1144ab5d | 58 | This is the case for the Freescale eSDHC and Nintendo Wii SDHCI. |
7657c3a7 | 59 | |
b8c86fc5 PO |
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 | ||
1c6a0718 PO |
67 | If you have a controller with this interface, say Y or M here. |
68 | ||
69 | If unsure, say N. | |
70 | ||
5ae70296 | 71 | config MMC_RICOH_MMC |
03cd8f7e | 72 | bool "Ricoh MMC Controller Disabler (EXPERIMENTAL)" |
b8c86fc5 | 73 | depends on MMC_SDHCI_PCI |
5ae70296 | 74 | help |
03cd8f7e | 75 | This adds a pci quirk to disable Ricoh MMC Controller. This |
5ae70296 PL |
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 | |
03cd8f7e | 79 | useless. It is safe to select this even if you don't |
5ae70296 PL |
80 | have a Ricoh based card reader. |
81 | ||
5ae70296 PL |
82 | If unsure, say Y. |
83 | ||
3085e9c1 AV |
84 | config MMC_SDHCI_OF |
85 | tristate "SDHCI support on OpenFirmware platforms" | |
86 | depends on MMC_SDHCI && PPC_OF | |
3085e9c1 AV |
87 | help |
88 | This selects the OF support for Secure Digital Host Controller | |
7657c3a7 AH |
89 | Interfaces. |
90 | ||
91 | If unsure, say N. | |
92 | ||
93 | config MMC_SDHCI_OF_ESDHC | |
94 | bool "SDHCI OF support for the Freescale eSDHC controller" | |
95 | depends on MMC_SDHCI_OF | |
96 | select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER | |
97 | help | |
98 | This selects the Freescale eSDHC controller support. | |
3085e9c1 AV |
99 | |
100 | If unsure, say N. | |
101 | ||
1144ab5d AH |
102 | config MMC_SDHCI_OF_HLWD |
103 | bool "SDHCI OF support for the Nintendo Wii SDHCI controllers" | |
104 | depends on MMC_SDHCI_OF | |
105 | select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER | |
106 | help | |
107 | This selects the Secure Digital Host Controller Interface (SDHCI) | |
108 | found in the "Hollywood" chipset of the Nintendo Wii video game | |
109 | console. | |
110 | ||
111 | If unsure, say N. | |
112 | ||
a3456a2d RR |
113 | config MMC_SDHCI_PLTFM |
114 | tristate "SDHCI support on the platform specific bus" | |
115 | depends on MMC_SDHCI | |
116 | help | |
117 | This selects the platform specific bus support for Secure Digital Host | |
118 | Controller Interface. | |
119 | ||
120 | If you have a controller with this interface, say Y or M here. | |
121 | ||
122 | If unsure, say N. | |
123 | ||
20b1597b AV |
124 | config MMC_SDHCI_CNS3XXX |
125 | bool "SDHCI support on the Cavium Networks CNS3xxx SoC" | |
126 | depends on ARCH_CNS3XXX | |
127 | depends on MMC_SDHCI_PLTFM | |
128 | help | |
129 | This selects the SDHCI support for CNS3xxx System-on-Chip devices. | |
130 | ||
131 | If unsure, say N. | |
132 | ||
0d1bb41a BD |
133 | config MMC_SDHCI_S3C |
134 | tristate "SDHCI support on Samsung S3C SoC" | |
135 | depends on MMC_SDHCI && (PLAT_S3C24XX || PLAT_S3C64XX) | |
136 | help | |
137 | This selects the Secure Digital Host Controller Interface (SDHCI) | |
138 | often referrered to as the HSMMC block in some of the Samsung S3C | |
139 | range of SoC. | |
140 | ||
141 | Note, due to the problems with DMA, the DMA support is only | |
142 | available with CONFIG_EXPERIMENTAL is selected. | |
143 | ||
144 | If you have a controller with this interface, say Y or M here. | |
145 | ||
146 | If unsure, say N. | |
147 | ||
c63b3cba VK |
148 | config MMC_SDHCI_SPEAR |
149 | tristate "SDHCI support on ST SPEAr platform" | |
150 | depends on MMC_SDHCI && PLAT_SPEAR | |
151 | help | |
152 | This selects the Secure Digital Host Controller Interface (SDHCI) | |
153 | often referrered to as the HSMMC block in some of the ST SPEAR range | |
154 | of SoC | |
155 | ||
156 | If you have a controller with this interface, say Y or M here. | |
157 | ||
158 | If unsure, say N. | |
159 | ||
0d1bb41a BD |
160 | config MMC_SDHCI_S3C_DMA |
161 | bool "DMA support on S3C SDHCI" | |
162 | depends on MMC_SDHCI_S3C && EXPERIMENTAL | |
163 | help | |
164 | Enable DMA support on the Samsung S3C SDHCI glue. The DMA | |
165 | has proved to be problematic if the controller encounters | |
166 | certain errors, and thus should be treated with care. | |
167 | ||
168 | YMMV. | |
169 | ||
1c6a0718 PO |
170 | config MMC_OMAP |
171 | tristate "TI OMAP Multimedia Card Interface support" | |
790864dc | 172 | depends on ARCH_OMAP |
1c6a0718 PO |
173 | select TPS65010 if MACH_OMAP_H2 |
174 | help | |
175 | This selects the TI OMAP Multimedia card Interface. | |
176 | If you have an OMAP board with a Multimedia Card slot, | |
177 | say Y or M here. | |
178 | ||
179 | If unsure, say N. | |
180 | ||
a45c6cb8 MC |
181 | config MMC_OMAP_HS |
182 | tristate "TI OMAP High Speed Multimedia Card Interface support" | |
82cf818d | 183 | depends on ARCH_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4 |
a45c6cb8 MC |
184 | help |
185 | This selects the TI OMAP High Speed Multimedia card Interface. | |
82cf818d | 186 | If you have an OMAP2430 or OMAP3 board or OMAP4 board with a |
187 | Multimedia Card slot, say Y or M here. | |
a45c6cb8 MC |
188 | |
189 | If unsure, say N. | |
190 | ||
1c6a0718 PO |
191 | config MMC_WBSD |
192 | tristate "Winbond W83L51xD SD/MMC Card Interface support" | |
790864dc | 193 | depends on ISA_DMA_API |
1c6a0718 PO |
194 | help |
195 | This selects the Winbond(R) W83L51xD Secure digital and | |
196 | Multimedia card Interface. | |
197 | If you have a machine with a integrated W83L518D or W83L519D | |
198 | SD/MMC card reader, say Y or M here. | |
199 | ||
200 | If unsure, say N. | |
201 | ||
202 | config MMC_AU1X | |
203 | tristate "Alchemy AU1XX0 MMC Card Interface support" | |
790864dc | 204 | depends on SOC_AU1200 |
1c6a0718 PO |
205 | help |
206 | This selects the AMD Alchemy(R) Multimedia card interface. | |
207 | If you have a Alchemy platform with a MMC slot, say Y or M here. | |
208 | ||
209 | If unsure, say N. | |
210 | ||
04d699c3 RE |
211 | choice |
212 | prompt "Atmel SD/MMC Driver" | |
09591dd3 | 213 | depends on AVR32 || ARCH_AT91 |
04d699c3 RE |
214 | default MMC_ATMELMCI if AVR32 |
215 | help | |
216 | Choose which driver to use for the Atmel MCI Silicon | |
217 | ||
1c6a0718 PO |
218 | config MMC_AT91 |
219 | tristate "AT91 SD/MMC Card Interface support" | |
790864dc | 220 | depends on ARCH_AT91 |
1c6a0718 PO |
221 | help |
222 | This selects the AT91 MCI controller. | |
223 | ||
224 | If unsure, say N. | |
225 | ||
7d2be074 HS |
226 | config MMC_ATMELMCI |
227 | tristate "Atmel Multimedia Card Interface support" | |
04d699c3 | 228 | depends on AVR32 || ARCH_AT91 |
7d2be074 HS |
229 | help |
230 | This selects the Atmel Multimedia Card Interface driver. If | |
04d699c3 RE |
231 | you have an AT32 (AVR32) or AT91 platform with a Multimedia |
232 | Card slot, say Y or M here. | |
7d2be074 HS |
233 | |
234 | If unsure, say N. | |
235 | ||
04d699c3 RE |
236 | endchoice |
237 | ||
65e8b083 HS |
238 | config MMC_ATMELMCI_DMA |
239 | bool "Atmel MCI DMA support (EXPERIMENTAL)" | |
04d699c3 | 240 | depends on MMC_ATMELMCI && AVR32 && DMA_ENGINE && EXPERIMENTAL |
65e8b083 HS |
241 | help |
242 | Say Y here to have the Atmel MCI driver use a DMA engine to | |
243 | do data transfers and thus increase the throughput and | |
244 | reduce the CPU utilization. Note that this is highly | |
245 | experimental and may cause the driver to lock up. | |
246 | ||
247 | If unsure, say N. | |
248 | ||
1c6a0718 PO |
249 | config MMC_IMX |
250 | tristate "Motorola i.MX Multimedia Card Interface support" | |
8c8fdbc9 | 251 | depends on ARCH_MX1 |
1c6a0718 PO |
252 | help |
253 | This selects the Motorola i.MX Multimedia card Interface. | |
254 | If you have a i.MX platform with a Multimedia Card slot, | |
d96be879 SH |
255 | say Y or M here. |
256 | ||
257 | If unsure, say N. | |
258 | ||
eba3f137 ST |
259 | config MMC_MSM |
260 | tristate "Qualcomm SDCC Controller Support" | |
edd4dd0e | 261 | depends on MMC && ARCH_MSM |
9d2bd738 SM |
262 | help |
263 | This provides support for the SD/MMC cell found in the | |
eba3f137 ST |
264 | MSM and QSD SOCs from Qualcomm. The controller also has |
265 | support for SDIO devices. | |
9d2bd738 | 266 | |
d96be879 SH |
267 | config MMC_MXC |
268 | tristate "Freescale i.MX2/3 Multimedia Card Interface support" | |
269 | depends on ARCH_MXC | |
270 | help | |
271 | This selects the Freescale i.MX2/3 Multimedia card Interface. | |
272 | If you have a i.MX platform with a Multimedia Card slot, | |
1c6a0718 PO |
273 | say Y or M here. |
274 | ||
275 | If unsure, say N. | |
276 | ||
277 | config MMC_TIFM_SD | |
278 | tristate "TI Flash Media MMC/SD Interface support (EXPERIMENTAL)" | |
790864dc | 279 | depends on EXPERIMENTAL && PCI |
1c6a0718 PO |
280 | select TIFM_CORE |
281 | help | |
282 | Say Y here if you want to be able to access MMC/SD cards with | |
283 | the Texas Instruments(R) Flash Media card reader, found in many | |
284 | laptops. | |
285 | This option 'selects' (turns on, enables) 'TIFM_CORE', but you | |
286 | probably also need appropriate card reader host adapter, such as | |
287 | 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support | |
288 | (TIFM_7XX1)'. | |
289 | ||
290 | To compile this driver as a module, choose M here: the | |
291 | module will be called tifm_sd. | |
292 | ||
236caa7c MS |
293 | config MMC_MVSDIO |
294 | tristate "Marvell MMC/SD/SDIO host driver" | |
295 | depends on PLAT_ORION | |
296 | ---help--- | |
297 | This selects the Marvell SDIO host driver. | |
298 | SDIO may currently be found on the Kirkwood 88F6281 and 88F6192 | |
299 | SoC controllers. | |
300 | ||
301 | To compile this driver as a module, choose M here: the | |
302 | module will be called mvsdio. | |
303 | ||
b4cff454 VB |
304 | config MMC_DAVINCI |
305 | tristate "TI DAVINCI Multimedia Card Interface support" | |
306 | depends on ARCH_DAVINCI | |
307 | help | |
308 | This selects the TI DAVINCI Multimedia card Interface. | |
309 | If you have an DAVINCI board with a Multimedia Card slot, | |
310 | say Y or M here. If unsure, say N. | |
311 | ||
15a0580c | 312 | config MMC_SPI |
57105737 | 313 | tristate "MMC/SD/SDIO over SPI" |
1ea4f444 | 314 | depends on SPI_MASTER && !HIGHMEM && HAS_DMA |
15a0580c DB |
315 | select CRC7 |
316 | select CRC_ITU_T | |
317 | help | |
692105b8 | 318 | Some systems access MMC/SD/SDIO cards using a SPI controller |
57105737 PO |
319 | instead of using a "native" MMC/SD/SDIO controller. This has a |
320 | disadvantage of being relatively high overhead, but a compensating | |
321 | advantage of working on many systems without dedicated MMC/SD/SDIO | |
322 | controllers. | |
15a0580c DB |
323 | |
324 | If unsure, or if your system has no SPI master driver, say N. | |
325 | ||
be518018 TK |
326 | config MMC_S3C |
327 | tristate "Samsung S3C SD/MMC Card Interface support" | |
1ea4f444 | 328 | depends on ARCH_S3C2410 |
be518018 TK |
329 | help |
330 | This selects a driver for the MCI interface found in | |
331 | Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs. | |
332 | If you have a board based on one of those and a MMC/SD | |
333 | slot, say Y or M here. | |
334 | ||
335 | If unsure, say N. | |
336 | ||
5a2c4fe0 BD |
337 | config MMC_S3C_HW_SDIO_IRQ |
338 | bool "Hardware support for SDIO IRQ" | |
339 | depends on MMC_S3C | |
340 | help | |
341 | Enable the hardware support for SDIO interrupts instead of using | |
342 | the generic polling code. | |
343 | ||
26f14947 BD |
344 | choice |
345 | prompt "Samsung S3C SD/MMC transfer code" | |
346 | depends on MMC_S3C | |
347 | ||
348 | config MMC_S3C_PIO | |
349 | bool "Use PIO transfers only" | |
350 | help | |
351 | Use PIO to transfer data between memory and the hardware. | |
352 | ||
353 | PIO is slower than DMA as it requires CPU instructions to | |
354 | move the data. This has been the traditional default for | |
355 | the S3C MCI driver. | |
356 | ||
357 | config MMC_S3C_DMA | |
358 | bool "Use DMA transfers only (EXPERIMENTAL)" | |
359 | depends on EXPERIMENTAL | |
360 | help | |
361 | Use DMA to transfer data between memory and the hardare. | |
362 | ||
363 | Currently, the DMA support in this driver seems to not be | |
364 | working properly and needs to be debugged before this | |
365 | option is useful. | |
366 | ||
367 | config MMC_S3C_PIODMA | |
368 | bool "Support for both PIO and DMA (EXPERIMENTAL)" | |
369 | help | |
370 | Compile both the PIO and DMA transfer routines into the | |
371 | driver and let the platform select at run-time which one | |
372 | is best. | |
373 | ||
374 | See notes for the DMA option. | |
375 | ||
376 | endchoice | |
377 | ||
6a36913a SS |
378 | config MMC_SDRICOH_CS |
379 | tristate "MMC/SD driver for Ricoh Bay1Controllers (EXPERIMENTAL)" | |
1ea4f444 | 380 | depends on EXPERIMENTAL && PCI && PCMCIA |
6a36913a SS |
381 | help |
382 | Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA | |
383 | card whenever you insert a MMC or SD card into the card slot. | |
384 | ||
385 | To compile this driver as a module, choose M here: the | |
386 | module will be called sdricoh_cs. | |
387 | ||
4a48998f IM |
388 | config MMC_TMIO |
389 | tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support" | |
3d8ca8c0 | 390 | depends on MFD_TMIO || MFD_ASIC3 || MFD_SH_MOBILE_SDHI |
4a48998f IM |
391 | help |
392 | This provides support for the SD/MMC cell found in TC6393XB, | |
e6f2c7ad | 393 | T7L66XB and also HTC ASIC3 |
5f5bac82 MM |
394 | |
395 | config MMC_CB710 | |
396 | tristate "ENE CB710 MMC/SD Interface support" | |
397 | depends on PCI | |
398 | select CB710_CORE | |
399 | help | |
400 | This option enables support for MMC/SD part of ENE CB710/720 Flash | |
401 | memory card reader found in some laptops (ie. some versions of | |
402 | HP Compaq nx9500). | |
403 | ||
404 | This driver can also be built as a module. If so, the module | |
405 | will be called cb710-mmc. | |
406 | ||
f0bf7f61 HW |
407 | config MMC_VIA_SDMMC |
408 | tristate "VIA SD/MMC Card Reader Driver" | |
409 | depends on PCI | |
410 | help | |
411 | This selects the VIA SD/MMC Card Reader driver, say Y or M here. | |
412 | VIA provides one multi-functional card reader which integrated into | |
413 | some motherboards manufactured by VIA. This card reader supports | |
414 | SD/MMC/SDHC. | |
415 | If you have a controller with this interface, say Y or M here. | |
416 | ||
417 | If unsure, say N. | |
eb962d5b CC |
418 | |
419 | config SDH_BFIN | |
420 | tristate "Blackfin Secure Digital Host support" | |
05dabcc4 | 421 | depends on (BF54x && !BF544) || (BF51x && !BF512) |
eb962d5b CC |
422 | help |
423 | If you say yes here you will get support for the Blackfin on-chip | |
424 | Secure Digital Host interface. This includes support for MMC and | |
425 | SD cards. | |
426 | ||
427 | To compile this driver as a module, choose M here: the | |
428 | module will be called bfin_sdh. | |
429 | ||
430 | If unsure, say N. | |
431 | ||
432 | config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND | |
433 | bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround" | |
434 | depends on SDH_BFIN | |
435 | help | |
436 | If you say yes here SD-Cards may work on the EZkit. | |
fdc50a94 YG |
437 | |
438 | config MMC_SH_MMCIF | |
439 | tristate "SuperH Internal MMCIF support" | |
440 | depends on MMC_BLOCK && (SUPERH || ARCH_SHMOBILE) | |
441 | help | |
442 | This selects the MMC Host Interface controler (MMCIF). | |
443 | ||
444 | This driver supports MMCIF in sh7724/sh7757/sh7372. | |
61bfbdb8 LPC |
445 | |
446 | config MMC_JZ4740 | |
447 | tristate "JZ4740 SD/Multimedia Card Interface support" | |
448 | depends on MACH_JZ4740 | |
449 | help | |
450 | This selects support for the SD/MMC controller on Ingenic JZ4740 | |
451 | SoCs. | |
452 | If you have a board based on such a SoC and with a SD/MMC slot, | |
453 | say Y or M here. |