blob: 9682ad1e94b5c5ed1383cb98b1cb2b6fbbe65b49 [file] [log] [blame]
Pierre Ossman1c6a0712007-02-11 19:57:36 +01001#
2# MMC/SD host controller drivers
3#
4
Pierre Ossman57105732008-09-07 13:16:58 +02005comment "MMC/SD/SDIO Host Controller Drivers"
Pierre Ossman1c6a0712007-02-11 19:57:36 +01006
7config MMC_ARMMMCI
8 tristate "ARM AMBA Multimedia Card Interface support"
Jan Engelhardt790864d2007-05-08 22:30:32 +02009 depends on ARM_AMBA
Pierre Ossman1c6a0712007-02-11 19:57:36 +010010 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
17config MMC_PXA
18 tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
Jan Engelhardt790864d2007-05-08 22:30:32 +020019 depends on ARCH_PXA
Pierre Ossman1c6a0712007-02-11 19:57:36 +010020 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
27config MMC_SDHCI
Pierre Ossman34671dc2008-01-05 23:18:58 +010028 tristate "Secure Digital Host Controller Interface support"
Pierre Ossmanb8c86fc2008-03-18 17:35:49 +010029 depends on HAS_DMA
Pierre Ossman1c6a0712007-02-11 19:57:36 +010030 help
Pierre Ossmanb8c86fc2008-03-18 17:35:49 +010031 This selects the generic Secure Digital Host Controller Interface.
Pierre Ossman1c6a0712007-02-11 19:57:36 +010032 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.
Pierre Ossmanb8c86fc2008-03-18 17:35:49 +010034
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
Anton Vorontsov4e4141a2009-03-17 00:13:46 +030040config 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
Albert Herranz7657c3a2009-12-17 15:27:20 -080047config 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
Albert Herranz1144ab52009-12-17 15:27:20 -080058 This is the case for the Freescale eSDHC and Nintendo Wii SDHCI.
Albert Herranz7657c3a2009-12-17 15:27:20 -080059
Pierre Ossmanb8c86fc2008-03-18 17:35:49 +010060config 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
Pierre Ossman1c6a0712007-02-11 19:57:36 +010067 If you have a controller with this interface, say Y or M here.
68
69 If unsure, say N.
70
Philip Langdale5ae70292007-09-15 12:54:08 -070071config MMC_RICOH_MMC
Kees Cook86147c82012-10-02 11:17:47 -070072 bool "Ricoh MMC Controller Disabler"
Pierre Ossmanb8c86fc2008-03-18 17:35:49 +010073 depends on MMC_SDHCI_PCI
Philip Langdale5ae70292007-09-15 12:54:08 -070074 help
Maxim Levitsky03cd8f72010-03-05 13:43:20 -080075 This adds a pci quirk to disable Ricoh MMC Controller. This
Philip Langdale5ae70292007-09-15 12:54:08 -070076 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
Maxim Levitsky03cd8f72010-03-05 13:43:20 -080079 useless. It is safe to select this even if you don't
Philip Langdale5ae70292007-09-15 12:54:08 -070080 have a Ricoh based card reader.
81
Philip Langdale5ae70292007-09-15 12:54:08 -070082 If unsure, say Y.
83
Adrian Hunterc4e05032012-11-23 21:17:34 +010084config 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
Shawn Guof0de8362011-06-02 10:57:50 +080096config MMC_SDHCI_PLTFM
97 tristate "SDHCI platform and OF driver helper"
Shawn Guo38576af2011-05-27 23:48:14 +080098 depends on MMC_SDHCI
Shawn Guof0de8362011-06-02 10:57:50 +080099 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
Soren Brinkmanne3ec3a32013-12-02 10:02:36 -0800107config MMC_SDHCI_OF_ARASAN
108 tristate "SDHCI OF support for the Arasan SDHCI controllers"
109 depends on MMC_SDHCI_PLTFM
110 depends on OF
111 help
112 This selects the Arasan Secure Digital Host Controller Interface
113 (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC.
114
115 If you have a controller with this interface, say Y or M here.
116
117 If unsure, say N.
118
Shawn Guof0de8362011-06-02 10:57:50 +0800119config MMC_SDHCI_OF_ESDHC
120 tristate "SDHCI OF support for the Freescale eSDHC controller"
121 depends on MMC_SDHCI_PLTFM
Rob Herring236cdc72011-01-03 11:56:38 -0600122 depends on PPC_OF
Albert Herranz7657c3a2009-12-17 15:27:20 -0800123 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
124 help
125 This selects the Freescale eSDHC controller support.
Anton Vorontsov3085e9c2009-03-17 00:14:05 +0300126
Shawn Guof0de8362011-06-02 10:57:50 +0800127 If you have a controller with this interface, say Y or M here.
128
Anton Vorontsov3085e9c2009-03-17 00:14:05 +0300129 If unsure, say N.
130
Albert Herranz1144ab52009-12-17 15:27:20 -0800131config MMC_SDHCI_OF_HLWD
Shawn Guof0de8362011-06-02 10:57:50 +0800132 tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers"
133 depends on MMC_SDHCI_PLTFM
Rob Herring236cdc72011-01-03 11:56:38 -0600134 depends on PPC_OF
Albert Herranz1144ab52009-12-17 15:27:20 -0800135 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
136 help
137 This selects the Secure Digital Host Controller Interface (SDHCI)
138 found in the "Hollywood" chipset of the Nintendo Wii video game
139 console.
140
Shawn Guof0de8362011-06-02 10:57:50 +0800141 If you have a controller with this interface, say Y or M here.
142
Albert Herranz1144ab52009-12-17 15:27:20 -0800143 If unsure, say N.
144
Anton Vorontsov20b1597b2010-08-10 18:01:49 -0700145config MMC_SDHCI_CNS3XXX
Shawn Guo85d65092011-05-27 23:48:12 +0800146 tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
Anton Vorontsov20b1597b2010-08-10 18:01:49 -0700147 depends on ARCH_CNS3XXX
Shawn Guof0de8362011-06-02 10:57:50 +0800148 depends on MMC_SDHCI_PLTFM
Anton Vorontsov20b1597b2010-08-10 18:01:49 -0700149 help
150 This selects the SDHCI support for CNS3xxx System-on-Chip devices.
151
Shawn Guof0de8362011-06-02 10:57:50 +0800152 If you have a controller with this interface, say Y or M here.
153
Anton Vorontsov20b1597b2010-08-10 18:01:49 -0700154 If unsure, say N.
155
Wolfram Sang95f25ef2010-10-15 12:21:04 +0200156config MMC_SDHCI_ESDHC_IMX
Shawn Guo95a24822011-09-19 17:32:21 +0800157 tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
Sascha Hauer2b795512011-08-24 08:41:08 +0200158 depends on ARCH_MXC
Shawn Guof0de8362011-06-02 10:57:50 +0800159 depends on MMC_SDHCI_PLTFM
Wolfram Sang95f25ef2010-10-15 12:21:04 +0200160 select MMC_SDHCI_IO_ACCESSORS
161 help
Shawn Guo95a24822011-09-19 17:32:21 +0800162 This selects the Freescale eSDHC/uSDHC controller support
163 found on i.MX25, i.MX35 i.MX5x and i.MX6x.
Wolfram Sang95f25ef2010-10-15 12:21:04 +0200164
Shawn Guof0de8362011-06-02 10:57:50 +0800165 If you have a controller with this interface, say Y or M here.
166
Wolfram Sang95f25ef2010-10-15 12:21:04 +0200167 If unsure, say N.
168
Mike Rapoport985b1aa2010-11-07 16:57:12 -0500169config MMC_SDHCI_DOVE
Shawn Guo85d65092011-05-27 23:48:12 +0800170 tristate "SDHCI support on Marvell's Dove SoC"
Sebastian Hesselbarthec4422a2014-05-19 20:02:51 +0200171 depends on ARCH_DOVE || MACH_DOVE
Shawn Guof0de8362011-06-02 10:57:50 +0800172 depends on MMC_SDHCI_PLTFM
Mike Rapoport985b1aa2010-11-07 16:57:12 -0500173 select MMC_SDHCI_IO_ACCESSORS
174 help
175 This selects the Secure Digital Host Controller Interface in
176 Marvell's Dove SoC.
177
Shawn Guof0de8362011-06-02 10:57:50 +0800178 If you have a controller with this interface, say Y or M here.
179
Mike Rapoport985b1aa2010-11-07 16:57:12 -0500180 If unsure, say N.
181
Olof Johansson03d2bfc2011-01-01 23:52:56 -0500182config MMC_SDHCI_TEGRA
Shawn Guo85d65092011-05-27 23:48:12 +0800183 tristate "SDHCI platform support for the Tegra SD/MMC Controller"
184 depends on ARCH_TEGRA
Shawn Guof0de8362011-06-02 10:57:50 +0800185 depends on MMC_SDHCI_PLTFM
Olof Johansson03d2bfc2011-01-01 23:52:56 -0500186 select MMC_SDHCI_IO_ACCESSORS
187 help
188 This selects the Tegra SD/MMC controller. If you have a Tegra
189 platform with SD or MMC devices, say Y or M here.
190
191 If unsure, say N.
192
Ben Dooks0d1bb412009-06-14 13:52:37 +0100193config MMC_SDHCI_S3C
194 tristate "SDHCI support on Samsung S3C SoC"
Kyungmin Park930a6f72010-08-19 14:13:35 -0700195 depends on MMC_SDHCI && PLAT_SAMSUNG
Ben Dooks0d1bb412009-06-14 13:52:37 +0100196 help
197 This selects the Secure Digital Host Controller Interface (SDHCI)
198 often referrered to as the HSMMC block in some of the Samsung S3C
199 range of SoC.
200
Ben Dooks0d1bb412009-06-14 13:52:37 +0100201 If you have a controller with this interface, say Y or M here.
202
203 If unsure, say N.
204
Barry Songb3b665b2013-03-21 16:27:19 +0800205config MMC_SDHCI_SIRF
206 tristate "SDHCI support on CSR SiRFprimaII and SiRFmarco SoCs"
207 depends on ARCH_SIRF
208 depends on MMC_SDHCI_PLTFM
209 help
210 This selects the SDHCI support for SiRF System-on-Chip devices.
211
212 If you have a controller with this interface, say Y or M here.
213
214 If unsure, say N.
215
Zhangfei Gaoa702c8a2011-06-08 17:41:57 +0800216config MMC_SDHCI_PXAV3
217 tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
218 depends on CLKDEV_LOOKUP
Arnd Bergmann5d01b762014-06-05 23:14:41 +0200219 depends on MMC_SDHCI_PLTFM
Zhangfei Gaoa702c8a2011-06-08 17:41:57 +0800220 default CPU_MMP2
221 help
222 This selects the Marvell(R) PXAV3 SD Host Controller.
223 If you have a MMP2 platform with SD Host Controller
224 and a card slot, say Y or M here.
225
226 If unsure, say N.
227
Zhangfei Gao9f5d71e2011-06-08 17:41:58 +0800228config MMC_SDHCI_PXAV2
229 tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
230 depends on CLKDEV_LOOKUP
Arnd Bergmann5d01b762014-06-05 23:14:41 +0200231 depends on MMC_SDHCI_PLTFM
Zhangfei Gao9f5d71e2011-06-08 17:41:58 +0800232 default CPU_PXA910
233 help
234 This selects the Marvell(R) PXAV2 SD Host Controller.
235 If you have a PXA9XX platform with SD Host Controller
236 and a card slot, say Y or M here.
237
238 If unsure, say N.
239
Viresh KUMARc63b3cb2010-05-26 14:42:10 -0700240config MMC_SDHCI_SPEAR
241 tristate "SDHCI support on ST SPEAr platform"
242 depends on MMC_SDHCI && PLAT_SPEAR
243 help
244 This selects the Secure Digital Host Controller Interface (SDHCI)
245 often referrered to as the HSMMC block in some of the ST SPEAR range
246 of SoC
247
248 If you have a controller with this interface, say Y or M here.
249
250 If unsure, say N.
251
Ben Dooks0d1bb412009-06-14 13:52:37 +0100252config MMC_SDHCI_S3C_DMA
253 bool "DMA support on S3C SDHCI"
Kees Cook86147c82012-10-02 11:17:47 -0700254 depends on MMC_SDHCI_S3C
Ben Dooks0d1bb412009-06-14 13:52:37 +0100255 help
256 Enable DMA support on the Samsung S3C SDHCI glue. The DMA
257 has proved to be problematic if the controller encounters
258 certain errors, and thus should be treated with care.
259
260 YMMV.
261
Christian Daudt01ebea12013-06-20 14:26:37 -0700262config MMC_SDHCI_BCM_KONA
263 tristate "SDHCI support on Broadcom KONA platform"
Christian Daudtfc2bd2e2013-09-23 10:20:35 -0700264 depends on ARCH_BCM_MOBILE
Arnd Bergmann5d01b762014-06-05 23:14:41 +0200265 depends on MMC_SDHCI_PLTFM
Christian Daudt01ebea12013-06-20 14:26:37 -0700266 help
267 This selects the Broadcom Kona Secure Digital Host Controller
268 Interface(SDHCI) support.
269 This is used in Broadcom mobile SoCs.
270
271 If you have a controller with this interface, say Y or M here.
272
Stephen Warren1a947152013-01-02 22:34:49 -0700273config MMC_SDHCI_BCM2835
274 tristate "SDHCI platform support for the BCM2835 SD/MMC Controller"
275 depends on ARCH_BCM2835
276 depends on MMC_SDHCI_PLTFM
277 select MMC_SDHCI_IO_ACCESSORS
278 help
279 This selects the BCM2835 SD/MMC controller. If you have a BCM2835
280 platform with SD or MMC devices, say Y or M here.
281
282 If unsure, say N.
283
Jonas Jensen1b66e942014-04-09 15:54:11 +0200284config MMC_MOXART
285 tristate "MOXART SD/MMC Host Controller support"
286 depends on ARCH_MOXART && MMC
287 help
288 This selects support for the MOXART SD/MMC Host Controller.
289 MOXA provides one multi-functional card reader which can
290 be found on some embedded hardware such as UC-7112-LX.
291 If you have a controller with this interface, say Y here.
292
Pierre Ossman1c6a0712007-02-11 19:57:36 +0100293config MMC_OMAP
294 tristate "TI OMAP Multimedia Card Interface support"
Jan Engelhardt790864d2007-05-08 22:30:32 +0200295 depends on ARCH_OMAP
Arnd Bergmann60a549f2014-06-05 23:14:40 +0200296 depends on TPS65010 || !MACH_OMAP_H2
Pierre Ossman1c6a0712007-02-11 19:57:36 +0100297 help
298 This selects the TI OMAP Multimedia card Interface.
299 If you have an OMAP board with a Multimedia Card slot,
300 say Y or M here.
301
302 If unsure, say N.
303
Madhusudhan Chikkaturea45c6cb2009-01-23 01:05:23 +0100304config MMC_OMAP_HS
305 tristate "TI OMAP High Speed Multimedia Card Interface support"
Amarinder Bindrabcf24e12013-07-10 21:36:24 +0530306 depends on ARCH_OMAP2PLUS || COMPILE_TEST
Madhusudhan Chikkaturea45c6cb2009-01-23 01:05:23 +0100307 help
308 This selects the TI OMAP High Speed Multimedia card Interface.
Amarinder Bindrabcf24e12013-07-10 21:36:24 +0530309 If you have an omap2plus board with a Multimedia Card slot,
310 say Y or M here.
Madhusudhan Chikkaturea45c6cb2009-01-23 01:05:23 +0100311
312 If unsure, say N.
313
Pierre Ossman1c6a0712007-02-11 19:57:36 +0100314config MMC_WBSD
315 tristate "Winbond W83L51xD SD/MMC Card Interface support"
Jan Engelhardt790864d2007-05-08 22:30:32 +0200316 depends on ISA_DMA_API
Pierre Ossman1c6a0712007-02-11 19:57:36 +0100317 help
318 This selects the Winbond(R) W83L51xD Secure digital and
319 Multimedia card Interface.
320 If you have a machine with a integrated W83L518D or W83L519D
321 SD/MMC card reader, say Y or M here.
322
323 If unsure, say N.
324
325config MMC_AU1X
326 tristate "Alchemy AU1XX0 MMC Card Interface support"
Manuel Lauss3766386032011-08-12 11:39:45 +0200327 depends on MIPS_ALCHEMY
Pierre Ossman1c6a0712007-02-11 19:57:36 +0100328 help
329 This selects the AMD Alchemy(R) Multimedia card interface.
330 If you have a Alchemy platform with a MMC slot, say Y or M here.
331
332 If unsure, say N.
333
Haavard Skinnemoen7d2be072008-06-30 18:35:03 +0200334config MMC_ATMELMCI
Ludovic Desrochesd6a20de2012-10-29 15:27:55 +0100335 tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"
Rob Emanuele04d699c2009-09-22 16:45:19 -0700336 depends on AVR32 || ARCH_AT91
Haavard Skinnemoen7d2be072008-06-30 18:35:03 +0200337 help
338 This selects the Atmel Multimedia Card Interface driver. If
Rob Emanuele04d699c2009-09-22 16:45:19 -0700339 you have an AT32 (AVR32) or AT91 platform with a Multimedia
340 Card slot, say Y or M here.
Haavard Skinnemoen7d2be072008-06-30 18:35:03 +0200341
342 If unsure, say N.
343
Georgi Djakov0eb0d9f2014-03-10 17:37:12 +0200344config MMC_SDHCI_MSM
345 tristate "Qualcomm SDHCI Controller Support"
346 depends on ARCH_QCOM
347 depends on MMC_SDHCI_PLTFM
348 help
349 This selects the Secure Digital Host Controller Interface (SDHCI)
350 support present in Qualcomm SOCs. The controller supports
351 SD/MMC/SDIO devices.
352
353 If you have a controller with this interface, say Y or M here.
354
355 If unsure, say N.
356
Sahitya Tummalaeba3f132010-07-29 16:58:01 +0530357config MMC_MSM
358 tristate "Qualcomm SDCC Controller Support"
Stephen Boyd67d55ce2013-12-30 13:15:28 -0800359 depends on MMC && (ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50)
San Mehat9d2bd732009-09-22 16:44:22 -0700360 help
361 This provides support for the SD/MMC cell found in the
Sahitya Tummalaeba3f132010-07-29 16:58:01 +0530362 MSM and QSD SOCs from Qualcomm. The controller also has
363 support for SDIO devices.
San Mehat9d2bd732009-09-22 16:44:22 -0700364
Sascha Hauerd96be872009-01-06 17:04:14 +0100365config MMC_MXC
Anatolij Gustschinc7ceab02013-04-08 23:28:06 +0200366 tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
367 depends on ARCH_MXC || PPC_MPC512x
Sascha Hauerd96be872009-01-06 17:04:14 +0100368 help
Anatolij Gustschinc7ceab02013-04-08 23:28:06 +0200369 This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
370 Multimedia Card Interface. If you have an i.MX or MPC512x platform
371 with a Multimedia Card slot, say Y or M here.
Sascha Hauerd96be872009-01-06 17:04:14 +0100372
373 If unsure, say N.
374
Shawn Guoe4243f12011-02-21 18:35:28 +0800375config MMC_MXS
376 tristate "Freescale MXS Multimedia Card Interface support"
377 depends on ARCH_MXS && MXS_DMA
378 help
379 This selects the Freescale SSP MMC controller found on MXS based
380 platforms like mx23/28.
381
382 If unsure, say N.
383
Pierre Ossman1c6a0712007-02-11 19:57:36 +0100384config MMC_TIFM_SD
Kees Cook86147c82012-10-02 11:17:47 -0700385 tristate "TI Flash Media MMC/SD Interface support"
386 depends on PCI
Pierre Ossman1c6a0712007-02-11 19:57:36 +0100387 select TIFM_CORE
388 help
389 Say Y here if you want to be able to access MMC/SD cards with
390 the Texas Instruments(R) Flash Media card reader, found in many
391 laptops.
392 This option 'selects' (turns on, enables) 'TIFM_CORE', but you
393 probably also need appropriate card reader host adapter, such as
394 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
395 (TIFM_7XX1)'.
396
397 To compile this driver as a module, choose M here: the
398 module will be called tifm_sd.
399
Maen Suleiman236caa72009-02-14 03:07:26 -0500400config MMC_MVSDIO
401 tristate "Marvell MMC/SD/SDIO host driver"
402 depends on PLAT_ORION
403 ---help---
404 This selects the Marvell SDIO host driver.
405 SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
406 SoC controllers.
407
408 To compile this driver as a module, choose M here: the
409 module will be called mvsdio.
410
Vipin Bhandarib4cff452009-12-14 18:01:21 -0800411config MMC_DAVINCI
412 tristate "TI DAVINCI Multimedia Card Interface support"
413 depends on ARCH_DAVINCI
414 help
415 This selects the TI DAVINCI Multimedia card Interface.
416 If you have an DAVINCI board with a Multimedia Card slot,
417 say Y or M here. If unsure, say N.
418
Mike Lockwood85c34d22013-01-21 23:43:46 +0000419config MMC_GOLDFISH
420 tristate "goldfish qemu Multimedia Card Interface support"
421 depends on GOLDFISH
422 help
423 This selects the Goldfish Multimedia card Interface emulation
424 found on the Goldfish Android virtual device emulation.
425
David Brownell15a05802007-08-08 09:12:54 -0700426config MMC_SPI
Pierre Ossman57105732008-09-07 13:16:58 +0200427 tristate "MMC/SD/SDIO over SPI"
Pierre Ossman1ea4f442008-09-07 13:07:57 +0200428 depends on SPI_MASTER && !HIGHMEM && HAS_DMA
David Brownell15a05802007-08-08 09:12:54 -0700429 select CRC7
430 select CRC_ITU_T
431 help
Matt LaPlante692105b2009-01-26 11:12:25 +0100432 Some systems access MMC/SD/SDIO cards using a SPI controller
Pierre Ossman57105732008-09-07 13:16:58 +0200433 instead of using a "native" MMC/SD/SDIO controller. This has a
434 disadvantage of being relatively high overhead, but a compensating
435 advantage of working on many systems without dedicated MMC/SD/SDIO
436 controllers.
David Brownell15a05802007-08-08 09:12:54 -0700437
438 If unsure, or if your system has no SPI master driver, say N.
439
Thomas Kleffelbe518012008-06-30 22:40:24 +0100440config MMC_S3C
441 tristate "Samsung S3C SD/MMC Card Interface support"
Kukjin Kimb130d5c2012-02-03 14:29:23 +0900442 depends on ARCH_S3C24XX
Vasily Khoruzhickb45e4b52014-06-01 20:22:09 +0300443 depends on S3C24XX_DMAC
Thomas Kleffelbe518012008-06-30 22:40:24 +0100444 help
445 This selects a driver for the MCI interface found in
446 Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
447 If you have a board based on one of those and a MMC/SD
448 slot, say Y or M here.
449
450 If unsure, say N.
451
Ben Dooks5a2c4fe2009-10-01 15:44:20 -0700452config MMC_S3C_HW_SDIO_IRQ
453 bool "Hardware support for SDIO IRQ"
454 depends on MMC_S3C
455 help
456 Enable the hardware support for SDIO interrupts instead of using
457 the generic polling code.
458
Ben Dooks26f14942009-10-01 15:44:18 -0700459choice
460 prompt "Samsung S3C SD/MMC transfer code"
461 depends on MMC_S3C
462
463config MMC_S3C_PIO
464 bool "Use PIO transfers only"
465 help
466 Use PIO to transfer data between memory and the hardware.
467
468 PIO is slower than DMA as it requires CPU instructions to
469 move the data. This has been the traditional default for
470 the S3C MCI driver.
471
472config MMC_S3C_DMA
Kees Cook86147c82012-10-02 11:17:47 -0700473 bool "Use DMA transfers only"
Ben Dooks26f14942009-10-01 15:44:18 -0700474 help
475 Use DMA to transfer data between memory and the hardare.
476
477 Currently, the DMA support in this driver seems to not be
478 working properly and needs to be debugged before this
479 option is useful.
480
Ben Dooks26f14942009-10-01 15:44:18 -0700481endchoice
482
Sascha Sommer6a369132008-07-15 14:21:29 +0200483config MMC_SDRICOH_CS
Kees Cook86147c82012-10-02 11:17:47 -0700484 tristate "MMC/SD driver for Ricoh Bay1Controllers"
485 depends on PCI && PCMCIA
Sascha Sommer6a369132008-07-15 14:21:29 +0200486 help
487 Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
488 card whenever you insert a MMC or SD card into the card slot.
489
490 To compile this driver as a module, choose M here: the
491 module will be called sdricoh_cs.
492
Guennadi Liakhovetskib6147492011-03-23 12:42:44 +0100493config MMC_TMIO_CORE
494 tristate
495
Ian Molton4a489982008-07-15 16:02:21 +0100496config MMC_TMIO
497 tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
Guennadi Liakhovetski42051e82011-03-14 09:52:33 +0100498 depends on MFD_TMIO || MFD_ASIC3
Guennadi Liakhovetskib6147492011-03-23 12:42:44 +0100499 select MMC_TMIO_CORE
Ian Molton4a489982008-07-15 16:02:21 +0100500 help
501 This provides support for the SD/MMC cell found in TC6393XB,
Philipp Zabele6f2c7a2009-06-04 20:12:37 +0200502 T7L66XB and also HTC ASIC3
Michał Mirosław5f5bac82009-05-22 20:33:59 +0200503
Guennadi Liakhovetski42051e82011-03-14 09:52:33 +0100504config MMC_SDHI
505 tristate "SH-Mobile SDHI SD/SDIO controller support"
Laurent Pinchartff0fa482013-11-27 02:18:29 +0100506 depends on SUPERH || ARM
507 depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
Guennadi Liakhovetski42051e82011-03-14 09:52:33 +0100508 select MMC_TMIO_CORE
509 help
510 This provides support for the SDHI SD/SDIO controller found in
511 SuperH and ARM SH-Mobile SoCs
512
Michał Mirosław5f5bac82009-05-22 20:33:59 +0200513config MMC_CB710
514 tristate "ENE CB710 MMC/SD Interface support"
Martin Schwidefsky0244ad02013-08-30 09:39:53 +0200515 depends on PCI
Michał Mirosław5f5bac82009-05-22 20:33:59 +0200516 select CB710_CORE
517 help
518 This option enables support for MMC/SD part of ENE CB710/720 Flash
519 memory card reader found in some laptops (ie. some versions of
520 HP Compaq nx9500).
521
522 This driver can also be built as a module. If so, the module
523 will be called cb710-mmc.
524
Harald Weltef0bf7f62009-06-17 20:22:39 +0200525config MMC_VIA_SDMMC
526 tristate "VIA SD/MMC Card Reader Driver"
527 depends on PCI
528 help
529 This selects the VIA SD/MMC Card Reader driver, say Y or M here.
530 VIA provides one multi-functional card reader which integrated into
531 some motherboards manufactured by VIA. This card reader supports
532 SD/MMC/SDHC.
533 If you have a controller with this interface, say Y or M here.
534
535 If unsure, say N.
Cliff Caieb962d52009-12-14 18:01:32 -0800536
537config SDH_BFIN
538 tristate "Blackfin Secure Digital Host support"
Mike Frysinger05dabcc2010-03-05 13:43:24 -0800539 depends on (BF54x && !BF544) || (BF51x && !BF512)
Cliff Caieb962d52009-12-14 18:01:32 -0800540 help
541 If you say yes here you will get support for the Blackfin on-chip
542 Secure Digital Host interface. This includes support for MMC and
543 SD cards.
544
545 To compile this driver as a module, choose M here: the
546 module will be called bfin_sdh.
547
548 If unsure, say N.
549
550config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND
551 bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround"
552 depends on SDH_BFIN
553 help
554 If you say yes here SD-Cards may work on the EZkit.
Yusuke Godafdc50a92010-05-26 14:41:59 -0700555
Will Newtonf95f3852011-01-02 01:11:59 -0500556config MMC_DW
557 tristate "Synopsys DesignWare Memory Card Interface"
Mischa Jonkerb7d06c82013-08-28 20:40:29 +0200558 depends on ARC || ARM
Will Newtonf95f3852011-01-02 01:11:59 -0500559 help
560 This selects support for the Synopsys DesignWare Mobile Storage IP
561 block, this provides host support for SD and MMC interfaces, in both
562 PIO and external DMA modes.
563
564config MMC_DW_IDMAC
565 bool "Internal DMAC interface"
566 depends on MMC_DW
567 help
568 This selects support for the internal DMAC block within the Synopsys
569 Designware Mobile Storage IP block. This disables the external DMA
570 interface.
571
Shashidhar Hiremath62ca8032012-01-13 16:04:57 +0530572config MMC_DW_PLTFM
573 tristate "Synopsys Designware MCI Support as platform device"
574 depends on MMC_DW
575 default y
576 help
577 This selects the common helper functions support for Host Controller
578 Interface based platform driver. Please select this option if the IP
579 is present as a platform device. This is the common interface for the
580 Synopsys Designware IP.
581
582 If you have a controller with this interface, say Y or M here.
583
584 If unsure, say Y.
585
Thomas Abrahamc3665002012-09-17 18:16:43 +0000586config MMC_DW_EXYNOS
Masanari Iidae41e85c2012-11-30 16:44:39 +0900587 tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
Thomas Abrahamc3665002012-09-17 18:16:43 +0000588 depends on MMC_DW
589 select MMC_DW_PLTFM
590 help
591 This selects support for Samsung Exynos SoC specific extensions to the
592 Synopsys DesignWare Memory Card Interface driver. Select this option
593 for platforms based on Exynos4 and Exynos5 SoC's.
594
Zhangfei Gao036f29d2014-01-09 22:35:11 +0800595config MMC_DW_K3
596 tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
597 depends on MMC_DW
598 select MMC_DW_PLTFM
599 select MMC_DW_IDMAC
600 help
601 This selects support for Hisilicon K3 SoC specific extensions to the
602 Synopsys DesignWare Memory Card Interface driver. Select this option
603 for platforms based on Hisilicon K3 SoC's.
604
Shashidhar Hiremath62ca8032012-01-13 16:04:57 +0530605config MMC_DW_PCI
606 tristate "Synopsys Designware MCI support on PCI bus"
607 depends on MMC_DW && PCI
608 help
609 This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
610 Select this option if the IP is present on PCI platform.
611
612 If you have a controller with this interface, say Y or M here.
613
614 If unsure, say N.
615
Yusuke Godafdc50a92010-05-26 14:41:59 -0700616config MMC_SH_MMCIF
617 tristate "SuperH Internal MMCIF support"
Laurent Pinchart9ccb0bd2013-11-27 02:18:30 +0100618 depends on MMC_BLOCK
619 depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
Yusuke Godafdc50a92010-05-26 14:41:59 -0700620 help
Uwe Kleine-Königb5950762010-11-01 15:38:34 -0400621 This selects the MMC Host Interface controller (MMCIF).
Yusuke Godafdc50a92010-05-26 14:41:59 -0700622
623 This driver supports MMCIF in sh7724/sh7757/sh7372.
Lars-Peter Clausen61bfbdb2010-07-15 20:06:04 +0000624
625config MMC_JZ4740
626 tristate "JZ4740 SD/Multimedia Card Interface support"
627 depends on MACH_JZ4740
628 help
629 This selects support for the SD/MMC controller on Ingenic JZ4740
630 SoCs.
631 If you have a board based on such a SoC and with a SD/MMC slot,
632 say Y or M here.
David Vrabel53f3a9e2010-09-02 14:15:08 +0000633
Tony Olech88095e72011-05-14 16:48:13 -0400634config MMC_VUB300
635 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
636 depends on USB
637 help
638 This selects support for Elan Digital Systems' VUB300 chip.
639
640 The VUB300 is a USB-SDIO Host Controller Interface chip
641 that enables the host computer to use SDIO/SD/MMC cards
642 via a USB 2.0 or USB 1.1 host.
643
644 The VUB300 chip will be found in both physically separate
645 USB to SDIO/SD/MMC adapters and embedded on some motherboards.
646
647 The VUB300 chip supports SD and MMC memory cards in addition
648 to single and multifunction SDIO cards.
649
650 Some SDIO cards will need a firmware file to be loaded and
651 sent to VUB300 chip in order to achieve better data throughput.
652 Download these "Offload Pseudocode" from Elan Digital Systems'
653 web-site http://www.elandigitalsystems.com/support/downloads.php
654 and put them in /lib/firmware. Note that without these additional
655 firmware files the VUB300 chip will still function, but not at
656 the best obtainable data rate.
657
658 To compile this mmc host controller driver as a module,
659 choose M here: the module will be called vub300.
660
661 If you have a computer with an embedded VUB300 chip
662 or if you intend connecting a USB adapter based on a
663 VUB300 chip say Y or M here.
664
David Vrabel53f3a9e2010-09-02 14:15:08 +0000665config MMC_USHC
666 tristate "USB SD Host Controller (USHC) support"
667 depends on USB
668 help
669 This selects support for USB SD Host Controllers based on
670 the Cypress Astoria chip with firmware compliant with CSR's
671 USB SD Host Controller specification (CS-118793-SP).
672
673 CSR boards with this device include: USB<>SDIO (M1985v2),
674 and Ultrasira.
675
676 Note: These controllers only support SDIO cards and do not
677 support MMC or SD memory cards.
Tony Prisk3a96dff2012-11-18 15:33:06 +1300678
679config MMC_WMT
680 tristate "Wondermedia SD/MMC Host Controller support"
681 depends on ARCH_VT8500
682 default y
683 help
684 This selects support for the SD/MMC Host Controller on
685 Wondermedia WM8505/WM8650 based SoCs.
686
687 To compile this driver as a module, choose M here: the
688 module will be called wmt-sdmmc.
Linus Torvalds6a5971d2012-12-11 13:56:38 -0800689
Guennadi Liakhovetski75fa9ea2014-05-31 20:38:51 +0200690config MMC_USDHI6ROL0
691 tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"
692 help
693 This selects support for the Renesas USDHI6ROL0 SD/SDIO
694 Host Controller
695
Wei WANG2c94b642012-11-09 20:53:34 +0800696config MMC_REALTEK_PCI
697 tristate "Realtek PCI-E SD/MMC Card Interface Driver"
698 depends on MFD_RTSX_PCI
699 help
700 Say Y here to include driver code to support SD/MMC card interface
701 of Realtek PCI-E card reader
Roger Tsengc7f65582014-04-11 14:53:22 +0800702
703config MMC_REALTEK_USB
704 tristate "Realtek USB SD/MMC Card Interface Driver"
705 depends on MFD_RTSX_USB
706 help
707 Say Y here to include driver code to support SD/MMC card interface
708 of Realtek RTS5129/39 series card reader
David Lanzendörfer19b7f792014-05-12 14:04:48 +0200709
710config MMC_SUNXI
711 tristate "Allwinner sunxi SD/MMC Host Controller support"
712 depends on ARCH_SUNXI
713 help
714 This selects support for the SD/MMC Host Controller on
715 Allwinner sunxi SoCs.