blob: a5652548230a9457812a8badc69d7001a9df1f9c [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
Thomas Kleffelbe518012008-06-30 22:40:24 +0100443 help
444 This selects a driver for the MCI interface found in
445 Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
446 If you have a board based on one of those and a MMC/SD
447 slot, say Y or M here.
448
449 If unsure, say N.
450
Ben Dooks5a2c4fe2009-10-01 15:44:20 -0700451config MMC_S3C_HW_SDIO_IRQ
452 bool "Hardware support for SDIO IRQ"
453 depends on MMC_S3C
454 help
455 Enable the hardware support for SDIO interrupts instead of using
456 the generic polling code.
457
Ben Dooks26f14942009-10-01 15:44:18 -0700458choice
459 prompt "Samsung S3C SD/MMC transfer code"
460 depends on MMC_S3C
461
462config MMC_S3C_PIO
463 bool "Use PIO transfers only"
464 help
465 Use PIO to transfer data between memory and the hardware.
466
467 PIO is slower than DMA as it requires CPU instructions to
468 move the data. This has been the traditional default for
469 the S3C MCI driver.
470
471config MMC_S3C_DMA
Kees Cook86147c82012-10-02 11:17:47 -0700472 bool "Use DMA transfers only"
Ben Dooks26f14942009-10-01 15:44:18 -0700473 help
474 Use DMA to transfer data between memory and the hardare.
475
476 Currently, the DMA support in this driver seems to not be
477 working properly and needs to be debugged before this
478 option is useful.
479
480config MMC_S3C_PIODMA
Kees Cook86147c82012-10-02 11:17:47 -0700481 bool "Support for both PIO and DMA"
Ben Dooks26f14942009-10-01 15:44:18 -0700482 help
483 Compile both the PIO and DMA transfer routines into the
484 driver and let the platform select at run-time which one
485 is best.
486
487 See notes for the DMA option.
488
489endchoice
490
Sascha Sommer6a369132008-07-15 14:21:29 +0200491config MMC_SDRICOH_CS
Kees Cook86147c82012-10-02 11:17:47 -0700492 tristate "MMC/SD driver for Ricoh Bay1Controllers"
493 depends on PCI && PCMCIA
Sascha Sommer6a369132008-07-15 14:21:29 +0200494 help
495 Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
496 card whenever you insert a MMC or SD card into the card slot.
497
498 To compile this driver as a module, choose M here: the
499 module will be called sdricoh_cs.
500
Guennadi Liakhovetskib6147492011-03-23 12:42:44 +0100501config MMC_TMIO_CORE
502 tristate
503
Ian Molton4a489982008-07-15 16:02:21 +0100504config MMC_TMIO
505 tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
Guennadi Liakhovetski42051e82011-03-14 09:52:33 +0100506 depends on MFD_TMIO || MFD_ASIC3
Guennadi Liakhovetskib6147492011-03-23 12:42:44 +0100507 select MMC_TMIO_CORE
Ian Molton4a489982008-07-15 16:02:21 +0100508 help
509 This provides support for the SD/MMC cell found in TC6393XB,
Philipp Zabele6f2c7a2009-06-04 20:12:37 +0200510 T7L66XB and also HTC ASIC3
Michał Mirosław5f5bac82009-05-22 20:33:59 +0200511
Guennadi Liakhovetski42051e82011-03-14 09:52:33 +0100512config MMC_SDHI
513 tristate "SH-Mobile SDHI SD/SDIO controller support"
Laurent Pinchartff0fa482013-11-27 02:18:29 +0100514 depends on SUPERH || ARM
515 depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
Guennadi Liakhovetski42051e82011-03-14 09:52:33 +0100516 select MMC_TMIO_CORE
517 help
518 This provides support for the SDHI SD/SDIO controller found in
519 SuperH and ARM SH-Mobile SoCs
520
Michał Mirosław5f5bac82009-05-22 20:33:59 +0200521config MMC_CB710
522 tristate "ENE CB710 MMC/SD Interface support"
Martin Schwidefsky0244ad02013-08-30 09:39:53 +0200523 depends on PCI
Michał Mirosław5f5bac82009-05-22 20:33:59 +0200524 select CB710_CORE
525 help
526 This option enables support for MMC/SD part of ENE CB710/720 Flash
527 memory card reader found in some laptops (ie. some versions of
528 HP Compaq nx9500).
529
530 This driver can also be built as a module. If so, the module
531 will be called cb710-mmc.
532
Harald Weltef0bf7f62009-06-17 20:22:39 +0200533config MMC_VIA_SDMMC
534 tristate "VIA SD/MMC Card Reader Driver"
535 depends on PCI
536 help
537 This selects the VIA SD/MMC Card Reader driver, say Y or M here.
538 VIA provides one multi-functional card reader which integrated into
539 some motherboards manufactured by VIA. This card reader supports
540 SD/MMC/SDHC.
541 If you have a controller with this interface, say Y or M here.
542
543 If unsure, say N.
Cliff Caieb962d52009-12-14 18:01:32 -0800544
545config SDH_BFIN
546 tristate "Blackfin Secure Digital Host support"
Mike Frysinger05dabcc2010-03-05 13:43:24 -0800547 depends on (BF54x && !BF544) || (BF51x && !BF512)
Cliff Caieb962d52009-12-14 18:01:32 -0800548 help
549 If you say yes here you will get support for the Blackfin on-chip
550 Secure Digital Host interface. This includes support for MMC and
551 SD cards.
552
553 To compile this driver as a module, choose M here: the
554 module will be called bfin_sdh.
555
556 If unsure, say N.
557
558config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND
559 bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround"
560 depends on SDH_BFIN
561 help
562 If you say yes here SD-Cards may work on the EZkit.
Yusuke Godafdc50a92010-05-26 14:41:59 -0700563
Will Newtonf95f3852011-01-02 01:11:59 -0500564config MMC_DW
565 tristate "Synopsys DesignWare Memory Card Interface"
Mischa Jonkerb7d06c82013-08-28 20:40:29 +0200566 depends on ARC || ARM
Will Newtonf95f3852011-01-02 01:11:59 -0500567 help
568 This selects support for the Synopsys DesignWare Mobile Storage IP
569 block, this provides host support for SD and MMC interfaces, in both
570 PIO and external DMA modes.
571
572config MMC_DW_IDMAC
573 bool "Internal DMAC interface"
574 depends on MMC_DW
575 help
576 This selects support for the internal DMAC block within the Synopsys
577 Designware Mobile Storage IP block. This disables the external DMA
578 interface.
579
Shashidhar Hiremath62ca8032012-01-13 16:04:57 +0530580config MMC_DW_PLTFM
581 tristate "Synopsys Designware MCI Support as platform device"
582 depends on MMC_DW
583 default y
584 help
585 This selects the common helper functions support for Host Controller
586 Interface based platform driver. Please select this option if the IP
587 is present as a platform device. This is the common interface for the
588 Synopsys Designware IP.
589
590 If you have a controller with this interface, say Y or M here.
591
592 If unsure, say Y.
593
Thomas Abrahamc3665002012-09-17 18:16:43 +0000594config MMC_DW_EXYNOS
Masanari Iidae41e85c2012-11-30 16:44:39 +0900595 tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
Thomas Abrahamc3665002012-09-17 18:16:43 +0000596 depends on MMC_DW
597 select MMC_DW_PLTFM
598 help
599 This selects support for Samsung Exynos SoC specific extensions to the
600 Synopsys DesignWare Memory Card Interface driver. Select this option
601 for platforms based on Exynos4 and Exynos5 SoC's.
602
Zhangfei Gao036f29d2014-01-09 22:35:11 +0800603config MMC_DW_K3
604 tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
605 depends on MMC_DW
606 select MMC_DW_PLTFM
607 select MMC_DW_IDMAC
608 help
609 This selects support for Hisilicon K3 SoC specific extensions to the
610 Synopsys DesignWare Memory Card Interface driver. Select this option
611 for platforms based on Hisilicon K3 SoC's.
612
Shashidhar Hiremath62ca8032012-01-13 16:04:57 +0530613config MMC_DW_PCI
614 tristate "Synopsys Designware MCI support on PCI bus"
615 depends on MMC_DW && PCI
616 help
617 This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
618 Select this option if the IP is present on PCI platform.
619
620 If you have a controller with this interface, say Y or M here.
621
622 If unsure, say N.
623
Yusuke Godafdc50a92010-05-26 14:41:59 -0700624config MMC_SH_MMCIF
625 tristate "SuperH Internal MMCIF support"
Laurent Pinchart9ccb0bd2013-11-27 02:18:30 +0100626 depends on MMC_BLOCK
627 depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
Yusuke Godafdc50a92010-05-26 14:41:59 -0700628 help
Uwe Kleine-Königb5950762010-11-01 15:38:34 -0400629 This selects the MMC Host Interface controller (MMCIF).
Yusuke Godafdc50a92010-05-26 14:41:59 -0700630
631 This driver supports MMCIF in sh7724/sh7757/sh7372.
Lars-Peter Clausen61bfbdb2010-07-15 20:06:04 +0000632
633config MMC_JZ4740
634 tristate "JZ4740 SD/Multimedia Card Interface support"
635 depends on MACH_JZ4740
636 help
637 This selects support for the SD/MMC controller on Ingenic JZ4740
638 SoCs.
639 If you have a board based on such a SoC and with a SD/MMC slot,
640 say Y or M here.
David Vrabel53f3a9e2010-09-02 14:15:08 +0000641
Tony Olech88095e72011-05-14 16:48:13 -0400642config MMC_VUB300
643 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
644 depends on USB
645 help
646 This selects support for Elan Digital Systems' VUB300 chip.
647
648 The VUB300 is a USB-SDIO Host Controller Interface chip
649 that enables the host computer to use SDIO/SD/MMC cards
650 via a USB 2.0 or USB 1.1 host.
651
652 The VUB300 chip will be found in both physically separate
653 USB to SDIO/SD/MMC adapters and embedded on some motherboards.
654
655 The VUB300 chip supports SD and MMC memory cards in addition
656 to single and multifunction SDIO cards.
657
658 Some SDIO cards will need a firmware file to be loaded and
659 sent to VUB300 chip in order to achieve better data throughput.
660 Download these "Offload Pseudocode" from Elan Digital Systems'
661 web-site http://www.elandigitalsystems.com/support/downloads.php
662 and put them in /lib/firmware. Note that without these additional
663 firmware files the VUB300 chip will still function, but not at
664 the best obtainable data rate.
665
666 To compile this mmc host controller driver as a module,
667 choose M here: the module will be called vub300.
668
669 If you have a computer with an embedded VUB300 chip
670 or if you intend connecting a USB adapter based on a
671 VUB300 chip say Y or M here.
672
David Vrabel53f3a9e2010-09-02 14:15:08 +0000673config MMC_USHC
674 tristate "USB SD Host Controller (USHC) support"
675 depends on USB
676 help
677 This selects support for USB SD Host Controllers based on
678 the Cypress Astoria chip with firmware compliant with CSR's
679 USB SD Host Controller specification (CS-118793-SP).
680
681 CSR boards with this device include: USB<>SDIO (M1985v2),
682 and Ultrasira.
683
684 Note: These controllers only support SDIO cards and do not
685 support MMC or SD memory cards.
Tony Prisk3a96dff2012-11-18 15:33:06 +1300686
687config MMC_WMT
688 tristate "Wondermedia SD/MMC Host Controller support"
689 depends on ARCH_VT8500
690 default y
691 help
692 This selects support for the SD/MMC Host Controller on
693 Wondermedia WM8505/WM8650 based SoCs.
694
695 To compile this driver as a module, choose M here: the
696 module will be called wmt-sdmmc.
Linus Torvalds6a5971d2012-12-11 13:56:38 -0800697
Guennadi Liakhovetski75fa9ea2014-05-31 20:38:51 +0200698config MMC_USDHI6ROL0
699 tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"
700 help
701 This selects support for the Renesas USDHI6ROL0 SD/SDIO
702 Host Controller
703
Wei WANG2c94b642012-11-09 20:53:34 +0800704config MMC_REALTEK_PCI
705 tristate "Realtek PCI-E SD/MMC Card Interface Driver"
706 depends on MFD_RTSX_PCI
707 help
708 Say Y here to include driver code to support SD/MMC card interface
709 of Realtek PCI-E card reader
Roger Tsengc7f65582014-04-11 14:53:22 +0800710
711config MMC_REALTEK_USB
712 tristate "Realtek USB SD/MMC Card Interface Driver"
713 depends on MFD_RTSX_USB
714 help
715 Say Y here to include driver code to support SD/MMC card interface
716 of Realtek RTS5129/39 series card reader
David Lanzendörfer19b7f792014-05-12 14:04:48 +0200717
718config MMC_SUNXI
719 tristate "Allwinner sunxi SD/MMC Host Controller support"
720 depends on ARCH_SUNXI
721 help
722 This selects support for the SD/MMC Host Controller on
723 Allwinner sunxi SoCs.