Linux Audio

Check our new training course

Loading...
v3.5.6
 
  1#
  2# MMC/SD host controller drivers
  3#
  4
  5comment "MMC/SD/SDIO Host Controller Drivers"
  6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  7config MMC_ARMMMCI
  8	tristate "ARM AMBA Multimedia Card Interface support"
  9	depends on ARM_AMBA
 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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 17config MMC_PXA
 18	tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
 19	depends on ARCH_PXA
 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
 27config MMC_SDHCI
 28	tristate "Secure Digital Host Controller Interface support"
 29	depends on HAS_DMA
 30	help
 31	  This selects the generic Secure Digital Host Controller Interface.
 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.
 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
 40config 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
 47config 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
 58	  This is the case for the Freescale eSDHC and Nintendo Wii SDHCI.
 
 
 
 
 
 
 
 
 
 59
 60config 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
 67	  If you have a controller with this interface, say Y or M here.
 68
 69	  If unsure, say N.
 70
 71config MMC_RICOH_MMC
 72	bool "Ricoh MMC Controller Disabler  (EXPERIMENTAL)"
 73	depends on MMC_SDHCI_PCI
 
 74	help
 75	  This adds a pci quirk to disable Ricoh MMC Controller. This
 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
 79	  useless. It is safe to select this even if you don't
 80	  have a Ricoh based card reader.
 81
 82	  If unsure, say Y.
 83
 
 
 
 
 
 
 
 
 
 
 
 
 
 84config MMC_SDHCI_PLTFM
 85	tristate "SDHCI platform and OF driver helper"
 86	depends on MMC_SDHCI
 87	help
 88	  This selects the common helper functions support for Secure Digital
 89	  Host Controller Interface based platform and OF drivers.
 90
 91	  If you have a controller with this interface, say Y or M here.
 92
 93	  If unsure, say N.
 94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 95config MMC_SDHCI_OF_ESDHC
 96	tristate "SDHCI OF support for the Freescale eSDHC controller"
 97	depends on MMC_SDHCI_PLTFM
 98	depends on PPC_OF
 99	select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
 
100	help
101	  This selects the Freescale eSDHC controller support.
102
103	  If you have a controller with this interface, say Y or M here.
104
105	  If unsure, say N.
106
107config MMC_SDHCI_OF_HLWD
108	tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers"
109	depends on MMC_SDHCI_PLTFM
110	depends on PPC_OF
111	select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
112	help
113	  This selects the Secure Digital Host Controller Interface (SDHCI)
114	  found in the "Hollywood" chipset of the Nintendo Wii video game
115	  console.
116
117	  If you have a controller with this interface, say Y or M here.
118
119	  If unsure, say N.
120
121config MMC_SDHCI_CNS3XXX
122	tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
123	depends on ARCH_CNS3XXX
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124	depends on MMC_SDHCI_PLTFM
 
125	help
126	  This selects the SDHCI support for CNS3xxx System-on-Chip devices.
 
127
128	  If you have a controller with this interface, say Y or M here.
129
130	  If unsure, say N.
131
132config MMC_SDHCI_ESDHC_IMX
133	tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
134	depends on ARCH_MXC
135	depends on MMC_SDHCI_PLTFM
 
136	select MMC_SDHCI_IO_ACCESSORS
 
137	help
138	  This selects the Freescale eSDHC/uSDHC controller support
139	  found on i.MX25, i.MX35 i.MX5x and i.MX6x.
140
141	  If you have a controller with this interface, say Y or M here.
142
143	  If unsure, say N.
144
145config MMC_SDHCI_DOVE
146	tristate "SDHCI support on Marvell's Dove SoC"
147	depends on ARCH_DOVE
148	depends on MMC_SDHCI_PLTFM
149	select MMC_SDHCI_IO_ACCESSORS
150	help
151	  This selects the Secure Digital Host Controller Interface in
152	  Marvell's Dove SoC.
153
154	  If you have a controller with this interface, say Y or M here.
155
156	  If unsure, say N.
157
158config MMC_SDHCI_TEGRA
159	tristate "SDHCI platform support for the Tegra SD/MMC Controller"
160	depends on ARCH_TEGRA
161	depends on MMC_SDHCI_PLTFM
162	select MMC_SDHCI_IO_ACCESSORS
 
163	help
164	  This selects the Tegra SD/MMC controller. If you have a Tegra
165	  platform with SD or MMC devices, say Y or M here.
166
167	  If unsure, say N.
168
169config MMC_SDHCI_S3C
170	tristate "SDHCI support on Samsung S3C SoC"
171	depends on MMC_SDHCI && PLAT_SAMSUNG
 
172	help
173	  This selects the Secure Digital Host Controller Interface (SDHCI)
174	  often referrered to as the HSMMC block in some of the Samsung S3C
175	  range of SoC.
176
177	  Note, due to the problems with DMA, the DMA support is only
178	  available with CONFIG_EXPERIMENTAL is selected.
179
180	  If you have a controller with this interface, say Y or M here.
181
182	  If unsure, say N.
183
184config MMC_SDHCI_PXAV3
185	tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
186	depends on CLKDEV_LOOKUP
187	select MMC_SDHCI
188	select MMC_SDHCI_PLTFM
189	default CPU_MMP2
190	help
191	  This selects the Marvell(R) PXAV3 SD Host Controller.
192	  If you have a MMP2 platform with SD Host Controller
193	  and a card slot, say Y or M here.
194
195	  If unsure, say N.
196
197config MMC_SDHCI_PXAV2
198	tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
199	depends on CLKDEV_LOOKUP
200	select MMC_SDHCI
201	select MMC_SDHCI_PLTFM
202	default CPU_PXA910
 
203	help
204	  This selects the Marvell(R) PXAV2 SD Host Controller.
205	  If you have a PXA9XX platform with SD Host Controller
206	  and a card slot, say Y or M here.
207
208	  If unsure, say N.
209
210config MMC_SDHCI_SPEAR
211	tristate "SDHCI support on ST SPEAr platform"
212	depends on MMC_SDHCI && PLAT_SPEAR
 
 
213	help
214	  This selects the Secure Digital Host Controller Interface (SDHCI)
215	  often referrered to as the HSMMC block in some of the ST SPEAR range
216	  of SoC
217
218	  If you have a controller with this interface, say Y or M here.
219
220	  If unsure, say N.
221
222config MMC_SDHCI_S3C_DMA
223	bool "DMA support on S3C SDHCI"
224	depends on MMC_SDHCI_S3C && EXPERIMENTAL
225	help
226	  Enable DMA support on the Samsung S3C SDHCI glue. The DMA
227	  has proved to be problematic if the controller encounters
228	  certain errors, and thus should be treated with care.
229
230	  YMMV.
231
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
232config MMC_OMAP
233	tristate "TI OMAP Multimedia Card Interface support"
234	depends on ARCH_OMAP
235	select TPS65010 if MACH_OMAP_H2
236	help
237	  This selects the TI OMAP Multimedia card Interface.
238	  If you have an OMAP board with a Multimedia Card slot,
239	  say Y or M here.
240
241	  If unsure, say N.
242
243config MMC_OMAP_HS
244	tristate "TI OMAP High Speed Multimedia Card Interface support"
245	depends on SOC_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4
246	help
247	  This selects the TI OMAP High Speed Multimedia card Interface.
248	  If you have an OMAP2430 or OMAP3 board or OMAP4 board with a
249	  Multimedia Card slot, say Y or M here.
250
251	  If unsure, say N.
252
253config MMC_WBSD
254	tristate "Winbond W83L51xD SD/MMC Card Interface support"
255	depends on ISA_DMA_API
256	help
257	  This selects the Winbond(R) W83L51xD Secure digital and
258          Multimedia card Interface.
259	  If you have a machine with a integrated W83L518D or W83L519D
260	  SD/MMC card reader, say Y or M here.
261
262	  If unsure, say N.
263
 
 
 
 
 
 
 
264config MMC_AU1X
265	tristate "Alchemy AU1XX0 MMC Card Interface support"
266	depends on MIPS_ALCHEMY
 
267	help
268	  This selects the AMD Alchemy(R) Multimedia card interface.
269	  If you have a Alchemy platform with a MMC slot, say Y or M here.
270
271	  If unsure, say N.
272
273choice
274	prompt "Atmel SD/MMC Driver"
275	depends on AVR32 || ARCH_AT91
276	default MMC_ATMELMCI if AVR32
277	help
278	  Choose which driver to use for the Atmel MCI Silicon
279
280config MMC_AT91
281	tristate "AT91 SD/MMC Card Interface support (DEPRECATED)"
282	depends on ARCH_AT91
283	help
284	  This selects the AT91 MCI controller. This driver will
285	  be removed soon (for more information have a look to
286	  Documentation/feature-removal-schedule.txt). Please use
287	  MMC_ATMEL_MCI.
288
289	  If unsure, say N.
290
291config MMC_ATMELMCI
292	tristate "Atmel Multimedia Card Interface support"
293	depends on AVR32 || ARCH_AT91
 
 
 
 
294	help
295	  This selects the Atmel Multimedia Card Interface driver. If
296	  you have an AT32 (AVR32) or AT91 platform with a Multimedia
297	  Card slot, say Y or M here.
298
299	  If unsure, say N.
300
301endchoice
302
303config MMC_ATMELMCI_DMA
304	bool "Atmel MCI DMA support"
305	depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE
306	help
307	  Say Y here to have the Atmel MCI driver use a DMA engine to
308	  do data transfers and thus increase the throughput and
309	  reduce the CPU utilization.
310
311	  If unsure, say N.
312
313config MMC_MSM
314	tristate "Qualcomm SDCC Controller Support"
315	depends on MMC && ARCH_MSM
316	help
317	  This provides support for the SD/MMC cell found in the
318	  MSM and QSD SOCs from Qualcomm. The controller also has
319	  support for SDIO devices.
320
321config MMC_MXC
322	tristate "Freescale i.MX21/27/31 Multimedia Card Interface support"
323	depends on ARCH_MXC
324	help
325	  This selects the Freescale i.MX21, i.MX27 and i.MX31 Multimedia card
326	  Interface. If you have a i.MX platform with a Multimedia Card slot,
327	  say Y or M here.
328
329	  If unsure, say N.
330
331config MMC_MXS
332	tristate "Freescale MXS Multimedia Card Interface support"
333	depends on ARCH_MXS && MXS_DMA
334	help
335	  This selects the Freescale SSP MMC controller found on MXS based
336	  platforms like mx23/28.
337
338	  If unsure, say N.
339
340config MMC_TIFM_SD
341	tristate "TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)"
342	depends on EXPERIMENTAL && PCI
343	select TIFM_CORE
344	help
345	  Say Y here if you want to be able to access MMC/SD cards with
346	  the Texas Instruments(R) Flash Media card reader, found in many
347	  laptops.
348	  This option 'selects' (turns on, enables) 'TIFM_CORE', but you
349	  probably also need appropriate card reader host adapter, such as
350	  'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
351	  (TIFM_7XX1)'.
352
353          To compile this driver as a module, choose M here: the
354	  module will be called tifm_sd.
355
356config MMC_MVSDIO
357	tristate "Marvell MMC/SD/SDIO host driver"
358	depends on PLAT_ORION
359	---help---
 
360	  This selects the Marvell SDIO host driver.
361	  SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
362	  SoC controllers.
363
364	  To compile this driver as a module, choose M here: the
365	  module will be called mvsdio.
366
367config MMC_DAVINCI
368        tristate "TI DAVINCI Multimedia Card Interface support"
369        depends on ARCH_DAVINCI
370        help
371          This selects the TI DAVINCI Multimedia card Interface.
372          If you have an DAVINCI board with a Multimedia Card slot,
373          say Y or M here.  If unsure, say N.
374
375config MMC_SPI
376	tristate "MMC/SD/SDIO over SPI"
377	depends on SPI_MASTER && !HIGHMEM && HAS_DMA
378	select CRC7
379	select CRC_ITU_T
380	help
381	  Some systems access MMC/SD/SDIO cards using a SPI controller
382	  instead of using a "native" MMC/SD/SDIO controller.  This has a
383	  disadvantage of being relatively high overhead, but a compensating
384	  advantage of working on many systems without dedicated MMC/SD/SDIO
385	  controllers.
386
387	  If unsure, or if your system has no SPI master driver, say N.
388
389config MMC_S3C
390	tristate "Samsung S3C SD/MMC Card Interface support"
391	depends on ARCH_S3C24XX
392	help
393	  This selects a driver for the MCI interface found in
394          Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
395	  If you have a board based on one of those and a MMC/SD
396	  slot, say Y or M here.
397
398	  If unsure, say N.
399
400config MMC_S3C_HW_SDIO_IRQ
401       bool "Hardware support for SDIO IRQ"
402       depends on MMC_S3C
403       help
404         Enable the hardware support for SDIO interrupts instead of using
405	 the generic polling code.
406
407choice
408	prompt "Samsung S3C SD/MMC transfer code"
409	depends on MMC_S3C
410
411config MMC_S3C_PIO
412	bool "Use PIO transfers only"
413	help
414	  Use PIO to transfer data between memory and the hardware.
415
416	  PIO is slower than DMA as it requires CPU instructions to
417	  move the data. This has been the traditional default for
418	  the S3C MCI driver.
419
420config MMC_S3C_DMA
421	bool "Use DMA transfers only (EXPERIMENTAL)"
422	depends on EXPERIMENTAL
423	help
424	  Use DMA to transfer data between memory and the hardare.
425
426	  Currently, the DMA support in this driver seems to not be
427	  working properly and needs to be debugged before this
428	  option is useful.
429
430config MMC_S3C_PIODMA
431	bool "Support for both PIO and DMA (EXPERIMENTAL)"
432	help
433	  Compile both the PIO and DMA transfer routines into the
434	  driver and let the platform select at run-time which one
435	  is best.
436
437	  See notes for the DMA option.
438
439endchoice
440
441config MMC_SDRICOH_CS
442	tristate "MMC/SD driver for Ricoh Bay1Controllers (EXPERIMENTAL)"
443	depends on EXPERIMENTAL && PCI && PCMCIA
444	help
445	  Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
446	  card whenever you insert a MMC or SD card into the card slot.
447
448	  To compile this driver as a module, choose M here: the
449	  module will be called sdricoh_cs.
450
 
 
 
 
 
 
 
 
 
 
 
 
 
 
451config MMC_TMIO_CORE
452	tristate
453
454config MMC_TMIO
455	tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
456	depends on MFD_TMIO || MFD_ASIC3
457	select MMC_TMIO_CORE
 
458	help
459	  This provides support for the SD/MMC cell found in TC6393XB,
460	  T7L66XB and also HTC ASIC3
461
462config MMC_SDHI
463	tristate "SH-Mobile SDHI SD/SDIO controller support"
464	depends on SUPERH || ARCH_SHMOBILE
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
465	select MMC_TMIO_CORE
466	help
467	  This provides support for the SDHI SD/SDIO controller found in
468	  SuperH and ARM SH-Mobile SoCs
 
469
470config MMC_CB710
471	tristate "ENE CB710 MMC/SD Interface support"
472	depends on PCI
473	select CB710_CORE
474	help
475	  This option enables support for MMC/SD part of ENE CB710/720 Flash
476	  memory card reader found in some laptops (ie. some versions of
477	  HP Compaq nx9500).
478
479	  This driver can also be built as a module. If so, the module
480	  will be called cb710-mmc.
481
482config MMC_VIA_SDMMC
483	tristate "VIA SD/MMC Card Reader Driver"
484	depends on PCI
485	help
486	  This selects the VIA SD/MMC Card Reader driver, say Y or M here.
487	  VIA provides one multi-functional card reader which integrated into
488	  some motherboards manufactured by VIA. This card reader supports
489	  SD/MMC/SDHC.
490	  If you have a controller with this interface, say Y or M here.
491
492	  If unsure, say N.
493
494config SDH_BFIN
495	tristate "Blackfin Secure Digital Host support"
496	depends on (BF54x && !BF544) || (BF51x && !BF512)
497	help
498	  If you say yes here you will get support for the Blackfin on-chip
499	  Secure Digital Host interface.  This includes support for MMC and
500	  SD cards.
501
502	  To compile this driver as a module, choose M here: the
503	  module will be called bfin_sdh.
504
505	  If unsure, say N.
506
507config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND
508	bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround"
509	depends on SDH_BFIN
510	help
511	  If you say yes here SD-Cards may work on the EZkit.
 
 
 
 
 
512
513config MMC_DW
514	tristate "Synopsys DesignWare Memory Card Interface"
515	depends on ARM
516	help
517	  This selects support for the Synopsys DesignWare Mobile Storage IP
518	  block, this provides host support for SD and MMC interfaces, in both
519	  PIO and external DMA modes.
520
521config MMC_DW_IDMAC
522	bool "Internal DMAC interface"
523	depends on MMC_DW
524	help
525	  This selects support for the internal DMAC block within the Synopsys
526	  Designware Mobile Storage IP block. This disables the external DMA
527	  interface.
528
529config MMC_DW_PLTFM
530	tristate "Synopsys Designware MCI Support as platform device"
531	depends on MMC_DW
532	default y
533	help
534	  This selects the common helper functions support for Host Controller
535	  Interface based platform driver. Please select this option if the IP
536	  is present as a platform device. This is the common interface for the
537	  Synopsys Designware IP.
538
539	  If you have a controller with this interface, say Y or M here.
540
541	  If unsure, say Y.
542
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
543config MMC_DW_PCI
544	tristate "Synopsys Designware MCI support on PCI bus"
545	depends on MMC_DW && PCI
546	help
547	  This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
548	  Select this option if the IP is present on PCI platform.
549
550	  If you have a controller with this interface, say Y or M here.
551
552	  If unsure, say N.
553
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
554config MMC_SH_MMCIF
555	tristate "SuperH Internal MMCIF support"
556	depends on MMC_BLOCK && (SUPERH || ARCH_SHMOBILE)
557	help
558	  This selects the MMC Host Interface controller (MMCIF).
 
559
560	  This driver supports MMCIF in sh7724/sh7757/sh7372.
561
562config MMC_JZ4740
563	tristate "JZ4740 SD/Multimedia Card Interface support"
564	depends on MACH_JZ4740
565	help
566	  This selects support for the SD/MMC controller on Ingenic JZ4740
567	  SoCs.
 
568	  If you have a board based on such a SoC and with a SD/MMC slot,
569	  say Y or M here.
570
571config MMC_VUB300
572	tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
573	depends on USB
574	help
575	  This selects support for Elan Digital Systems' VUB300 chip.
576
577	  The VUB300 is a USB-SDIO Host Controller Interface chip
578	  that enables the host computer to use SDIO/SD/MMC cards
579	  via a USB 2.0 or USB 1.1 host.
580
581	  The VUB300 chip will be found in both physically separate
582	  USB to SDIO/SD/MMC adapters and embedded on some motherboards.
583
584	  The VUB300 chip supports SD and MMC memory cards in addition
585	  to single and multifunction SDIO cards.
586
587	  Some SDIO cards will need a firmware file to be loaded and
588	  sent to VUB300 chip in order to achieve better data throughput.
589	  Download these "Offload Pseudocode" from Elan Digital Systems'
590	  web-site http://www.elandigitalsystems.com/support/downloads.php
591	  and put them in /lib/firmware. Note that without these additional
592	  firmware files the VUB300 chip will still function, but not at
593	  the best obtainable data rate.
594
595	  To compile this mmc host controller driver as a module,
596	  choose M here: the module will be called vub300.
597
598	  If you have a computer with an embedded VUB300 chip
599	  or if you intend connecting a USB adapter based on a
600	  VUB300 chip say Y or M here.
601
602config MMC_USHC
603	tristate "USB SD Host Controller (USHC) support"
604	depends on USB
605	help
606	  This selects support for USB SD Host Controllers based on
607	  the Cypress Astoria chip with firmware compliant with CSR's
608	  USB SD Host Controller specification (CS-118793-SP).
609
610	  CSR boards with this device include: USB<>SDIO (M1985v2),
611	  and Ultrasira.
612
613	  Note: These controllers only support SDIO cards and do not
614	  support MMC or SD memory cards.
v6.13.7
   1# SPDX-License-Identifier: GPL-2.0-only
   2#
   3# MMC/SD host controller drivers
   4#
   5
   6comment "MMC/SD/SDIO Host Controller Drivers"
   7
   8config MMC_DEBUG
   9	bool "MMC host drivers debugging"
  10	depends on MMC != n
  11	help
  12	  This is an option for use by developers; most people should
  13	  say N here. This enables MMC host driver debugging. And further
  14	  added host drivers please don't invent their private macro for
  15	  debugging.
  16
  17config MMC_SUNPLUS
  18	tristate "Sunplus SP7021 MMC Controller"
  19	depends on ARCH_SUNPLUS || COMPILE_TEST
  20	help
  21	  If you say yes here, you will get support for eMMC host interface
  22	  on Sunplus SoCs.
  23
  24	  If unsure, say N
  25
  26config MMC_ARMMMCI
  27	tristate "ARM AMBA Multimedia Card Interface support"
  28	depends on ARM_AMBA
  29	help
  30	  This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
  31	  Interface (PL180 and PL181) support.  If you have an ARM(R)
  32	  platform with a Multimedia Card slot, say Y or M here.
  33
  34	  If unsure, say N.
  35
  36config MMC_QCOM_DML
  37	bool "Qualcomm Data Mover for SD Card Controller"
  38	depends on MMC_ARMMMCI && QCOM_BAM_DMA
  39	default y
  40	help
  41	  This selects the Qualcomm Data Mover lite/local on SD Card controller.
  42	  This option will enable the dma to work correctly, if you are using
  43	  Qcom SOCs and MMC, you would probably need this option to get DMA working.
  44
  45	  if unsure, say N.
  46
  47config MMC_STM32_SDMMC
  48	bool "STMicroelectronics STM32 SDMMC Controller"
  49	depends on MMC_ARMMMCI
  50	default y
  51	help
  52	  This selects the STMicroelectronics STM32 SDMMC host controller.
  53	  If you have a STM32 sdmmc host with internal DMA say Y here.
  54
  55	  If unsure, say N.
  56
  57config MMC_PXA
  58	tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
  59	depends on ARCH_PXA
  60	help
  61	  This selects the Intel(R) PXA(R) Multimedia card Interface.
  62	  If you have a PXA(R) platform with a Multimedia Card slot,
  63	  say Y or M here.
  64
  65	  If unsure, say N.
  66
  67config MMC_SDHCI
  68	tristate "Secure Digital Host Controller Interface support"
  69	depends on HAS_DMA
  70	help
  71	  This selects the generic Secure Digital Host Controller Interface.
  72	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
  73	  and Toshiba(R). Most controllers found in laptops are of this type.
  74
  75	  If you have a controller with this interface, say Y or M here. You
  76	  also need to enable an appropriate bus interface.
  77
  78	  If unsure, say N.
  79
  80config MMC_SDHCI_IO_ACCESSORS
  81	bool
  82	depends on MMC_SDHCI
  83	help
  84	  This is silent Kconfig symbol that is selected by the drivers that
  85	  need to overwrite SDHCI IO memory accessors.
  86
  87config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
  88	bool
  89	depends on MMC_SDHCI
  90	select MMC_SDHCI_IO_ACCESSORS
  91	help
  92	  This option is selected by drivers running on big endian hosts
  93	  and performing I/O to a SDHCI controller through a bus that
  94	  implements a hardware byte swapper using a 32-bit datum.
  95	  This endian mapping mode is called "data invariance" and
  96	  has the effect of scrambling the addresses and formats of data
  97	  accessed in sizes other than the datum size.
  98
  99	  This is the case for the Nintendo Wii SDHCI.
 100
 101config MMC_SDHCI_UHS2
 102	tristate "UHS2 support on SDHCI controller" if COMPILE_TEST
 103	depends on MMC_SDHCI
 104	help
 105	  This option is selected by SDHCI controller drivers that want to
 106	  support UHS2-capable devices.
 107
 108	  If you have a controller with this feature, say Y or M here.
 109
 110config MMC_SDHCI_PCI
 111	tristate "SDHCI support on PCI bus"
 112	depends on MMC_SDHCI && PCI
 113	select MMC_CQHCI
 114	select MMC_SDHCI_UHS2
 115	select IOSF_MBI if X86
 116	select MMC_SDHCI_IO_ACCESSORS
 117	help
 118	  This selects the PCI Secure Digital Host Controller Interface.
 119	  Most controllers found today are PCI devices.
 120
 121	  If you have a controller with this interface, say Y or M here.
 122
 123	  If unsure, say N.
 124
 125config MMC_RICOH_MMC
 126	bool "Ricoh MMC Controller Disabler"
 127	depends on MMC_SDHCI_PCI
 128	default y
 129	help
 130	  This adds a pci quirk to disable Ricoh MMC Controller. This
 131	  proprietary controller is unnecessary because the SDHCI driver
 132	  supports MMC cards on the SD controller, but if it is not
 133	  disabled, it will steal the MMC cards away - rendering them
 134	  useless. It is safe to select this even if you don't
 135	  have a Ricoh based card reader.
 136
 137	  If unsure, say Y.
 138
 139config MMC_SDHCI_ACPI
 140	tristate "SDHCI support for ACPI enumerated SDHCI controllers"
 141	depends on MMC_SDHCI && ACPI && PCI
 142	select IOSF_MBI if X86
 143	help
 144	  This selects support for ACPI enumerated SDHCI controllers,
 145	  identified by ACPI Compatibility ID PNP0D40 or specific
 146	  ACPI Hardware IDs.
 147
 148	  If you have a controller with this interface, say Y or M here.
 149
 150	  If unsure, say N.
 151
 152config MMC_SDHCI_PLTFM
 153	tristate "SDHCI platform and OF driver helper"
 154	depends on MMC_SDHCI
 155	help
 156	  This selects the common helper functions support for Secure Digital
 157	  Host Controller Interface based platform and OF drivers.
 158
 159	  If you have a controller with this interface, say Y or M here.
 160
 161	  If unsure, say N.
 162
 163config MMC_SDHCI_OF_ARASAN
 164	tristate "SDHCI OF support for the Arasan SDHCI controllers"
 165	depends on MMC_SDHCI_PLTFM
 166	depends on OF
 167	depends on COMMON_CLK
 168	select MMC_CQHCI
 169	help
 170	  This selects the Arasan Secure Digital Host Controller Interface
 171	  (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC.
 172
 173	  If you have a controller with this interface, say Y or M here.
 174
 175	  If unsure, say N.
 176
 177config MMC_SDHCI_OF_ASPEED
 178	tristate "SDHCI OF support for the ASPEED SDHCI controller"
 179	depends on ARCH_ASPEED || COMPILE_TEST
 180	depends on MMC_SDHCI_PLTFM
 181	depends on OF && OF_ADDRESS
 182	select MMC_SDHCI_IO_ACCESSORS
 183	help
 184	  This selects the ASPEED Secure Digital Host Controller Interface.
 185
 186	  If you have a controller with this interface, say Y or M here. You
 187	  also need to enable an appropriate bus interface.
 188
 189	  If unsure, say N.
 190
 191config MMC_SDHCI_OF_ASPEED_TEST
 192	bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS
 193	depends on MMC_SDHCI_OF_ASPEED && KUNIT
 194	depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)
 195	default KUNIT_ALL_TESTS
 196	help
 197	  Enable KUnit tests for the ASPEED SDHCI driver. Select this
 198	  option only if you will boot the kernel for the purpose of running
 199	  unit tests (e.g. under UML or qemu).
 200
 201	  The KUnit tests generally exercise parts of the driver that do not
 202	  directly touch the hardware, for example, the phase correction
 203	  calculations.
 204
 205	  If unsure, say N.
 206
 207config MMC_SDHCI_OF_AT91
 208	tristate "SDHCI OF support for the Atmel SDMMC controller"
 209	depends on MMC_SDHCI_PLTFM
 210	depends on OF && HAVE_CLK
 211	help
 212	  This selects the Atmel SDMMC driver
 213
 214config MMC_SDHCI_OF_ESDHC
 215	tristate "SDHCI OF support for the Freescale eSDHC controller"
 216	depends on MMC_SDHCI_PLTFM
 217	depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST
 218	select MMC_SDHCI_IO_ACCESSORS
 219	select FSL_GUTS
 220	help
 221	  This selects the Freescale eSDHC controller support.
 222
 223	  If you have a controller with this interface, say Y or M here.
 224
 225	  If unsure, say N.
 226
 227config MMC_SDHCI_OF_HLWD
 228	tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers"
 229	depends on MMC_SDHCI_PLTFM
 230	depends on PPC
 231	select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
 232	help
 233	  This selects the Secure Digital Host Controller Interface (SDHCI)
 234	  found in the "Hollywood" chipset of the Nintendo Wii video game
 235	  console.
 236
 237	  If you have a controller with this interface, say Y or M here.
 238
 239	  If unsure, say N.
 240
 241config MMC_SDHCI_OF_DWCMSHC
 242	tristate "SDHCI OF support for the Synopsys DWC MSHC"
 243	depends on MMC_SDHCI_PLTFM
 244	depends on OF
 245	depends on COMMON_CLK
 246	select MMC_CQHCI
 247	help
 248	  This selects Synopsys DesignWare Cores Mobile Storage Controller
 249	  support.
 250	  If you have a controller with this interface, say Y or M here.
 251	  If unsure, say N.
 252
 253config MMC_SDHCI_OF_SPARX5
 254	tristate "SDHCI OF support for the MCHP Sparx5 SoC"
 255	depends on MMC_SDHCI_PLTFM
 256	depends on ARCH_SPARX5 || COMPILE_TEST
 257	help
 258	  This selects the Secure Digital Host Controller Interface (SDHCI)
 259	  found in the MCHP Sparx5 SoC.
 260
 261	  If you have a Sparx5 SoC with this interface, say Y or M here.
 262
 263	  If unsure, say N.
 264
 265config MMC_SDHCI_OF_MA35D1
 266	tristate "SDHCI OF support for the MA35D1 SDHCI controller"
 267	depends on ARCH_MA35 || COMPILE_TEST
 268	depends on MMC_SDHCI_PLTFM
 269	help
 270	  This selects the MA35D1 Secure Digital Host Controller Interface.
 271	  The controller supports SD/MMC/SDIO devices.
 272
 273	  If you have a controller with this interface, say Y or M here.
 274
 275	  If unsure, say N.
 276
 277config MMC_SDHCI_CADENCE
 278	tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller"
 279	depends on MMC_SDHCI_PLTFM
 280	depends on OF
 281	select MMC_SDHCI_IO_ACCESSORS
 282	help
 283	  This selects the Cadence SD/SDIO/eMMC driver.
 284
 285	  If you have a controller with this interface, say Y or M here.
 286
 287	  If unsure, say N.
 288
 289config MMC_SDHCI_ESDHC_MCF
 290	tristate "SDHCI support for the Freescale eSDHC ColdFire controller"
 291	depends on M5441x
 292	depends on MMC_SDHCI_PLTFM
 293	select MMC_SDHCI_IO_ACCESSORS
 294	help
 295	  This selects the Freescale eSDHC controller support for
 296	  ColdFire mcf5441x devices.
 297
 298	  If you have a controller with this interface, say Y or M here.
 299
 300	  If unsure, say N.
 301
 302config MMC_SDHCI_ESDHC_IMX
 303	tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
 304	depends on ARCH_MXC || COMPILE_TEST
 305	depends on MMC_SDHCI_PLTFM
 306	depends on OF
 307	select MMC_SDHCI_IO_ACCESSORS
 308	select MMC_CQHCI
 309	help
 310	  This selects the Freescale eSDHC/uSDHC controller support
 311	  found on i.MX25, i.MX35 i.MX5x and i.MX6x.
 312
 313	  If you have a controller with this interface, say Y or M here.
 314
 315	  If unsure, say N.
 316
 317config MMC_SDHCI_DOVE
 318	tristate "SDHCI support on Marvell's Dove SoC"
 319	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
 320	depends on MMC_SDHCI_PLTFM
 321	select MMC_SDHCI_IO_ACCESSORS
 322	help
 323	  This selects the Secure Digital Host Controller Interface in
 324	  Marvell's Dove SoC.
 325
 326	  If you have a controller with this interface, say Y or M here.
 327
 328	  If unsure, say N.
 329
 330config MMC_SDHCI_TEGRA
 331	tristate "SDHCI platform support for the Tegra SD/MMC Controller"
 332	depends on ARCH_TEGRA || COMPILE_TEST
 333	depends on MMC_SDHCI_PLTFM
 334	select MMC_SDHCI_IO_ACCESSORS
 335	select MMC_CQHCI
 336	help
 337	  This selects the Tegra SD/MMC controller. If you have a Tegra
 338	  platform with SD or MMC devices, say Y or M here.
 339
 340	  If unsure, say N.
 341
 342config MMC_SDHCI_S3C
 343	tristate "SDHCI support on Samsung S3C/S5P/Exynos SoC"
 344	depends on MMC_SDHCI
 345	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
 346	help
 347	  This selects the Secure Digital Host Controller Interface (SDHCI)
 348	  often referrered to as the HSMMC block in some of the Samsung
 349	  S3C6410, S5Pv210 and Exynos (Exynso4210, Exynos4412) SoCs.
 350
 351	  If you have a controller with this interface (thereforeyou build for
 352	  such Samsung SoC), say Y or M here.
 
 
 353
 354	  If unsure, say N.
 355
 356config MMC_SDHCI_PXAV3
 357	tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
 358	depends on HAVE_CLK
 359	depends on MMC_SDHCI_PLTFM
 360	depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST
 361	default CPU_MMP2
 362	help
 363	  This selects the Marvell(R) PXAV3 SD Host Controller.
 364	  If you have a MMP2 platform with SD Host Controller
 365	  and a card slot, say Y or M here.
 366
 367	  If unsure, say N.
 368
 369config MMC_SDHCI_PXAV2
 370	tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
 371	depends on HAVE_CLK
 372	depends on MMC_SDHCI_PLTFM
 373	depends on ARCH_MMP || COMPILE_TEST
 374	default CPU_PXA910
 375	select MMC_SDHCI_IO_ACCESSORS
 376	help
 377	  This selects the Marvell(R) PXAV2 SD Host Controller.
 378	  If you have a PXA9XX platform with SD Host Controller
 379	  and a card slot, say Y or M here.
 380
 381	  If unsure, say N.
 382
 383config MMC_SDHCI_SPEAR
 384	tristate "SDHCI support on ST SPEAr platform"
 385	depends on MMC_SDHCI
 386	depends on PLAT_SPEAR || COMPILE_TEST
 387	depends on OF
 388	help
 389	  This selects the Secure Digital Host Controller Interface (SDHCI)
 390	  often referrered to as the HSMMC block in some of the ST SPEAR range
 391	  of SoC
 392
 393	  If you have a controller with this interface, say Y or M here.
 394
 395	  If unsure, say N.
 396
 397config MMC_SDHCI_S3C_DMA
 398	bool "DMA support on S3C SDHCI"
 399	depends on MMC_SDHCI_S3C
 400	help
 401	  Enable DMA support on the Samsung S3C SDHCI glue. The DMA
 402	  has proved to be problematic if the controller encounters
 403	  certain errors, and thus should be treated with care.
 404
 405	  YMMV.
 406
 407config MMC_SDHCI_BCM_KONA
 408	tristate "SDHCI support on Broadcom KONA platform"
 409	depends on ARCH_BCM_MOBILE || COMPILE_TEST
 410	depends on MMC_SDHCI_PLTFM
 411	help
 412	  This selects the Broadcom Kona Secure Digital Host Controller
 413	  Interface(SDHCI) support.
 414	  This is used in Broadcom mobile SoCs.
 415
 416	  If you have a controller with this interface, say Y or M here.
 417
 418config MMC_SDHCI_F_SDH30
 419	tristate "SDHCI support for Fujitsu Semiconductor F_SDH30"
 420	depends on MMC_SDHCI_PLTFM
 421	depends on OF || ACPI
 422	help
 423	  This selects the Secure Digital Host Controller Interface (SDHCI)
 424	  Needed by some Fujitsu SoC for MMC / SD / SDIO support.
 425	  If you have a controller with this interface, say Y or M here.
 426
 427	  If unsure, say N.
 428
 429config MMC_SDHCI_MILBEAUT
 430	tristate "SDHCI support for Socionext Milbeaut Serieas using F_SDH30"
 431	depends on MMC_SDHCI_PLTFM
 432	depends on OF
 433	help
 434	  This selects the Secure Digital Host Controller Interface (SDHCI)
 435	  Needed by Milbeaut SoC for MMC / SD / SDIO support.
 436	  If you have a controller with this interface, say Y or M here.
 437
 438	  If unsure, say N.
 439
 440config MMC_SDHCI_IPROC
 441	tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller"
 442	depends on ARCH_BCM2835 || ARCH_BCM_IPROC || ARCH_BRCMSTB || COMPILE_TEST
 443	depends on MMC_SDHCI_PLTFM
 444	depends on OF || ACPI
 445	default ARCH_BCM_IPROC
 446	select MMC_SDHCI_IO_ACCESSORS
 447	help
 448	  This selects the iProc SD/MMC controller.
 449
 450	  If you have a BCM2835 or IPROC platform with SD or MMC devices,
 451	  say Y or M here.
 452
 453	  If unsure, say N.
 454
 455config MMC_SDHCI_NPCM
 456	tristate "Secure Digital Host Controller Interface support for NPCM"
 457	depends on ARCH_NPCM || COMPILE_TEST
 458	depends on MMC_SDHCI_PLTFM
 459	help
 460	  This provides support for the SD/eMMC controller found in
 461	  NPCM BMC family SoCs.
 462
 463config MMC_MESON_GX
 464	tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support"
 465	depends on ARCH_MESON|| COMPILE_TEST
 466	depends on COMMON_CLK
 467	help
 468	  This selects support for the Amlogic SD/MMC Host Controller
 469	  found on the S905/GX*/AXG family of SoCs.  This controller is
 470	  MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces.
 471
 472	  If you have a controller with this interface, say Y here.
 473
 474config MMC_MESON_MX_SDHC
 475	tristate "Amlogic Meson SDHC Host Controller support"
 476	depends on (ARM && ARCH_MESON) || COMPILE_TEST
 477	depends on COMMON_CLK
 478	depends on OF
 479	help
 480	  This selects support for the SDHC Host Controller on
 481	  Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs.
 482	  The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x
 483	  with 1, 4, and 8 bit bus widths.
 484
 485	  If you have a controller with this interface, say Y or M here.
 486	  If unsure, say N.
 487
 488config MMC_MESON_MX_SDIO
 489	tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support"
 490	depends on ARCH_MESON || COMPILE_TEST
 491	depends on COMMON_CLK
 492	depends on OF_ADDRESS
 493	help
 494	  This selects support for the SD/MMC Host Controller on
 495	  Amlogic Meson6, Meson8 and Meson8b SoCs.
 496
 497	  If you have a controller with this interface, say Y or M here.
 498	  If unsure, say N.
 499
 500config MMC_MOXART
 501	tristate "MOXART SD/MMC Host Controller support"
 502	depends on ARCH_MOXART || COMPILE_TEST
 503	help
 504	  This selects support for the MOXART SD/MMC Host Controller.
 505	  MOXA provides one multi-functional card reader which can
 506	  be found on some embedded hardware such as UC-7112-LX.
 507	  If you have a controller with this interface, say Y here.
 508
 509config MMC_SDHCI_ST
 510	tristate "SDHCI support on STMicroelectronics SoC"
 511	depends on ARCH_STI || FSP2 || COMPILE_TEST
 512	depends on MMC_SDHCI_PLTFM
 513	select MMC_SDHCI_IO_ACCESSORS
 514	help
 515	  This selects the Secure Digital Host Controller Interface in
 516	  STMicroelectronics SoCs.
 517
 518	  If you have a controller with this interface, say Y or M here.
 519	  If unsure, say N.
 520
 521config MMC_OMAP
 522	tristate "TI OMAP Multimedia Card Interface support"
 523	depends on ARCH_OMAP
 
 524	help
 525	  This selects the TI OMAP Multimedia card Interface.
 526	  If you have an OMAP board with a Multimedia Card slot,
 527	  say Y or M here.
 528
 529	  If unsure, say N.
 530
 531config MMC_OMAP_HS
 532	tristate "TI OMAP High Speed Multimedia Card Interface support"
 533	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
 534	help
 535	  This selects the TI OMAP High Speed Multimedia card Interface.
 536	  If you have an omap2plus board with a Multimedia Card slot,
 537	  say Y or M here.
 538
 539	  If unsure, say N.
 540
 541config MMC_WBSD
 542	tristate "Winbond W83L51xD SD/MMC Card Interface support"
 543	depends on ISA_DMA_API
 544	help
 545	  This selects the Winbond(R) W83L51xD Secure digital and
 546	  Multimedia card Interface.
 547	  If you have a machine with a integrated W83L518D or W83L519D
 548	  SD/MMC card reader, say Y or M here.
 549
 550	  If unsure, say N.
 551
 552config MMC_ALCOR
 553	tristate "Alcor Micro/Alcor Link SD/MMC controller"
 554	depends on MISC_ALCOR_PCI
 555	help
 556	  Say Y here to include driver code to support SD/MMC card interface
 557	  of Alcor Micro PCI-E card reader
 558
 559config MMC_AU1X
 560	bool "Alchemy AU1XX0 MMC Card Interface support"
 561	depends on MIPS_ALCHEMY
 562	depends on MMC=y
 563	help
 564	  This selects the AMD Alchemy(R) Multimedia card interface.
 565	  If you have a Alchemy platform with a MMC slot, say Y here.
 566
 567	  If unsure, say N.
 568
 569config MMC_ATMELMCI
 570	tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"
 
 
 
 
 
 
 
 571	depends on ARCH_AT91
 572	help
 573	  This selects the Atmel Multimedia Card Interface driver.
 574	  If you have an AT91 platform with a Multimedia Card slot,
 575	  say Y or M here.
 
 576
 577	  If unsure, say N.
 578
 579config MMC_SDHCI_MSM
 580	tristate "Qualcomm SDHCI Controller Support"
 581	depends on ARCH_QCOM || COMPILE_TEST
 582	depends on MMC_SDHCI_PLTFM
 583	select MMC_SDHCI_IO_ACCESSORS
 584	select MMC_CQHCI
 585	select QCOM_INLINE_CRYPTO_ENGINE if MMC_CRYPTO
 586	help
 587	  This selects the Secure Digital Host Controller Interface (SDHCI)
 588	  support present in Qualcomm SOCs. The controller supports
 589	  SD/MMC/SDIO devices.
 
 
 
 
 590
 591	  If you have a controller with this interface, say Y or M here.
 
 
 
 
 
 
 592
 593	  If unsure, say N.
 594
 
 
 
 
 
 
 
 
 595config MMC_MXC
 596	tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
 597	depends on ARCH_MXC || PPC_MPC512x
 598	help
 599	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
 600	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
 601	  with a Multimedia Card slot, say Y or M here.
 602
 603	  If unsure, say N.
 604
 605config MMC_MXS
 606	tristate "Freescale MXS Multimedia Card Interface support"
 607	depends on ARCH_MXS && MXS_DMA
 608	help
 609	  This selects the Freescale SSP MMC controller found on MXS based
 610	  platforms like mx23/28.
 611
 612	  If unsure, say N.
 613
 614config MMC_TIFM_SD
 615	tristate "TI Flash Media MMC/SD Interface support"
 616	depends on PCI
 617	select TIFM_CORE
 618	help
 619	  Say Y here if you want to be able to access MMC/SD cards with
 620	  the Texas Instruments(R) Flash Media card reader, found in many
 621	  laptops.
 622	  This option 'selects' (turns on, enables) 'TIFM_CORE', but you
 623	  probably also need appropriate card reader host adapter, such as
 624	  'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
 625	  (TIFM_7XX1)'.
 626
 627	  To compile this driver as a module, choose M here: the
 628	  module will be called tifm_sd.
 629
 630config MMC_MVSDIO
 631	tristate "Marvell MMC/SD/SDIO host driver"
 632	depends on PLAT_ORION || (COMPILE_TEST && ARM)
 633	depends on OF
 634	help
 635	  This selects the Marvell SDIO host driver.
 636	  SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
 637	  SoC controllers.
 638
 639	  To compile this driver as a module, choose M here: the
 640	  module will be called mvsdio.
 641
 642config MMC_DAVINCI
 643	tristate "TI DAVINCI Multimedia Card Interface support"
 644	depends on ARCH_DAVINCI || COMPILE_TEST
 645	help
 646	  This selects the TI DAVINCI Multimedia card Interface.
 647	  If you have an DAVINCI board with a Multimedia Card slot,
 648	  say Y or M here.  If unsure, say N.
 649
 650config MMC_SPI
 651	tristate "MMC/SD/SDIO over SPI"
 652	depends on SPI_MASTER
 653	select CRC7
 654	select CRC_ITU_T
 655	help
 656	  Some systems access MMC/SD/SDIO cards using a SPI controller
 657	  instead of using a "native" MMC/SD/SDIO controller.  This has a
 658	  disadvantage of being relatively high overhead, but a compensating
 659	  advantage of working on many systems without dedicated MMC/SD/SDIO
 660	  controllers.
 661
 662	  If unsure, or if your system has no SPI master driver, say N.
 663
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 664config MMC_SDRICOH_CS
 665	tristate "MMC/SD driver for Ricoh Bay1Controllers"
 666	depends on PCI && PCMCIA
 667	help
 668	  Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
 669	  card whenever you insert a MMC or SD card into the card slot.
 670
 671	  To compile this driver as a module, choose M here: the
 672	  module will be called sdricoh_cs.
 673
 674config MMC_SDHCI_SPRD
 675	tristate "Spreadtrum SDIO host Controller"
 676	depends on ARCH_SPRD || COMPILE_TEST
 677	depends on MMC_SDHCI_PLTFM
 678	select MMC_SDHCI_IO_ACCESSORS
 679	select MMC_HSQ
 680	help
 681	  This selects the SDIO Host Controller in Spreadtrum
 682	  SoCs, this driver supports R11(IP version: R11P0).
 683
 684	  If you have a controller with this interface, say Y or M here.
 685
 686	  If unsure, say N.
 687
 688config MMC_TMIO_CORE
 689	tristate
 690
 691config MMC_SDHI
 692	tristate "Renesas SDHI SD/SDIO controller support"
 693	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 694	select MMC_TMIO_CORE
 695	select RESET_CONTROLLER if ARCH_RENESAS
 696	help
 697	  This provides support for the SDHI SD/SDIO controller found in
 698	  Renesas SuperH, ARM and ARM64 based SoCs
 699
 700config MMC_SDHI_SYS_DMAC
 701	tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC"
 702	depends on MMC_SDHI
 703	default MMC_SDHI if (SUPERH || ARM)
 704	help
 705	  This provides DMA support for SDHI SD/SDIO controllers
 706	  using SYS-DMAC via DMA Engine. This supports the controllers
 707	  found in SuperH and Renesas ARM based SoCs.
 708
 709config MMC_SDHI_INTERNAL_DMAC
 710	tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering"
 711	depends on ARCH_RENESAS || COMPILE_TEST
 712	depends on MMC_SDHI
 713	default MMC_SDHI if ARCH_RENESAS
 714	help
 715	  This provides DMA support for SDHI SD/SDIO controllers
 716	  using on-chip bus mastering. This supports the controllers
 717	  found in arm64 based SoCs. This controller is also found in
 718	  some RZ family SoCs.
 719
 720config MMC_UNIPHIER
 721	tristate "UniPhier SD/eMMC Host Controller support"
 722	depends on ARCH_UNIPHIER || COMPILE_TEST
 723	depends on OF
 724	select MMC_TMIO_CORE
 725	help
 726	  This provides support for the SD/eMMC controller found in
 727	  UniPhier SoCs. The eMMC variant of this controller is used
 728	  only for 32-bit SoCs.
 729
 730config MMC_CB710
 731	tristate "ENE CB710 MMC/SD Interface support"
 732	depends on PCI
 733	select CB710_CORE
 734	help
 735	  This option enables support for MMC/SD part of ENE CB710/720 Flash
 736	  memory card reader found in some laptops (ie. some versions of
 737	  HP Compaq nx9500).
 738
 739	  This driver can also be built as a module. If so, the module
 740	  will be called cb710-mmc.
 741
 742config MMC_VIA_SDMMC
 743	tristate "VIA SD/MMC Card Reader Driver"
 744	depends on PCI
 745	help
 746	  This selects the VIA SD/MMC Card Reader driver, say Y or M here.
 747	  VIA provides one multi-functional card reader which integrated into
 748	  some motherboards manufactured by VIA. This card reader supports
 749	  SD/MMC/SDHC.
 750	  If you have a controller with this interface, say Y or M here.
 751
 752	  If unsure, say N.
 753
 754config MMC_CAVIUM_OCTEON
 755	tristate "Cavium OCTEON SD/MMC Card Interface support"
 756	depends on CAVIUM_OCTEON_SOC
 757	help
 758	  This selects Cavium OCTEON SD/MMC card Interface.
 759	  If you have an OCTEON board with a Multimedia Card slot,
 760	  say Y or M here.
 
 
 
 761
 762	  If unsure, say N.
 763
 764config MMC_CAVIUM_THUNDERX
 765	tristate "Cavium ThunderX SD/MMC Card Interface support"
 766	depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)
 767	depends on GPIO_THUNDERX
 768	depends on OF_ADDRESS
 769	help
 770	  This selects Cavium ThunderX SD/MMC Card Interface.
 771	  If you have an Cavium ARM64 board with a Multimedia Card slot
 772	  or builtin eMMC chip say Y or M here. If built as a module
 773	  the module will be called thunderx_mmc.ko.
 774
 775config MMC_DW
 776	tristate "Synopsys DesignWare Memory Card Interface"
 777	depends on ARC || ARM || ARM64 || MIPS || RISCV || CSKY || COMPILE_TEST
 778	help
 779	  This selects support for the Synopsys DesignWare Mobile Storage IP
 780	  block, this provides host support for SD and MMC interfaces, in both
 781	  PIO, internal DMA mode and external DMA mode.
 
 
 
 
 
 
 
 
 782
 783config MMC_DW_PLTFM
 784	tristate "Synopsys Designware MCI Support as platform device"
 785	depends on MMC_DW
 786	default y
 787	help
 788	  This selects the common helper functions support for Host Controller
 789	  Interface based platform driver. Please select this option if the IP
 790	  is present as a platform device. This is the common interface for the
 791	  Synopsys Designware IP.
 792
 793	  If you have a controller with this interface, say Y or M here.
 794
 795	  If unsure, say Y.
 796
 797config MMC_DW_BLUEFIELD
 798	tristate "BlueField specific extensions for Synopsys DW Memory Card Interface"
 799	depends on MMC_DW
 800	select MMC_DW_PLTFM
 801	help
 802	  This selects support for Mellanox BlueField SoC specific extensions to
 803	  the Synopsys DesignWare Memory Card Interface driver. Select this
 804	  option for platforms based on Mellanox BlueField SoC's.
 805
 806config MMC_DW_EXYNOS
 807	tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
 808	depends on MMC_DW
 809	select MMC_DW_PLTFM
 810	help
 811	  This selects support for Samsung Exynos SoC specific extensions to the
 812	  Synopsys DesignWare Memory Card Interface driver. Select this option
 813	  for platforms based on Exynos4 and Exynos5 SoC's.
 814
 815config MMC_DW_HI3798CV200
 816	tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface"
 817	depends on MMC_DW
 818	select MMC_DW_PLTFM
 819	help
 820	  This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the
 821	  Synopsys DesignWare Memory Card Interface driver. Select this option
 822	  for platforms based on HiSilicon Hi3798CV200 SoC.
 823
 824config MMC_DW_HI3798MV200
 825	tristate "Hi3798MV200 specific extensions for Synopsys DW Memory Card Interface"
 826	depends on MMC_DW
 827	select MMC_DW_PLTFM
 828	help
 829	  This selects support for HiSilicon Hi3798MV200 SoC specific extensions to the
 830	  Synopsys DesignWare Memory Card Interface driver. Select this option
 831	  for platforms based on HiSilicon Hi3798MV200 SoC.
 832
 833config MMC_DW_K3
 834	tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
 835	depends on MMC_DW
 836	select MMC_DW_PLTFM
 837	help
 838	  This selects support for Hisilicon K3 SoC specific extensions to the
 839	  Synopsys DesignWare Memory Card Interface driver. Select this option
 840	  for platforms based on Hisilicon K3 SoC's.
 841
 842config MMC_DW_PCI
 843	tristate "Synopsys Designware MCI support on PCI bus"
 844	depends on MMC_DW && PCI
 845	help
 846	  This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
 847	  Select this option if the IP is present on PCI platform.
 848
 849	  If you have a controller with this interface, say Y or M here.
 850
 851	  If unsure, say N.
 852
 853config MMC_DW_ROCKCHIP
 854	tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface"
 855	depends on MMC_DW && ARCH_ROCKCHIP
 856	select MMC_DW_PLTFM
 857	help
 858	  This selects support for Rockchip SoC specific extensions to the
 859	  Synopsys DesignWare Memory Card Interface driver. Select this option
 860	  for platforms based on RK3066, RK3188 and RK3288 SoC's.
 861
 862config MMC_DW_STARFIVE
 863	tristate "StarFive specific extensions for Synopsys DW Memory Card Interface"
 864	depends on SOC_STARFIVE
 865	depends on MMC_DW
 866	select MMC_DW_PLTFM
 867	help
 868	  This selects support for StarFive JH7110 SoC specific extensions to the
 869	  Synopsys DesignWare Memory Card Interface driver. Select this option
 870	  for platforms based on StarFive JH7110 SoC.
 871
 872config MMC_SH_MMCIF
 873	tristate "SuperH Internal MMCIF support"
 874	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 875	help
 876	  This selects the MMC Host Interface controller (MMCIF) found in various
 877	  Renesas SoCs for SH and ARM architectures.
 878
 
 879
 880config MMC_JZ4740
 881	tristate "Ingenic JZ47xx SD/Multimedia Card Interface support"
 882	depends on MIPS
 883	help
 884	  This selects support for the SD/MMC controller on Ingenic
 885	  JZ4740, JZ4750, JZ4770 and JZ4780 SoCs.
 886
 887	  If you have a board based on such a SoC and with a SD/MMC slot,
 888	  say Y or M here.
 889
 890config MMC_VUB300
 891	tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
 892	depends on USB
 893	help
 894	  This selects support for Elan Digital Systems' VUB300 chip.
 895
 896	  The VUB300 is a USB-SDIO Host Controller Interface chip
 897	  that enables the host computer to use SDIO/SD/MMC cards
 898	  via a USB 2.0 or USB 1.1 host.
 899
 900	  The VUB300 chip will be found in both physically separate
 901	  USB to SDIO/SD/MMC adapters and embedded on some motherboards.
 902
 903	  The VUB300 chip supports SD and MMC memory cards in addition
 904	  to single and multifunction SDIO cards.
 905
 906	  Some SDIO cards will need a firmware file to be loaded and
 907	  sent to VUB300 chip in order to achieve better data throughput.
 908	  Download these "Offload Pseudocode" from Elan Digital Systems'
 909	  web-site http://www.elandigitalsystems.com/support/downloads.php
 910	  and put them in /lib/firmware. Note that without these additional
 911	  firmware files the VUB300 chip will still function, but not at
 912	  the best obtainable data rate.
 913
 914	  To compile this mmc host controller driver as a module,
 915	  choose M here: the module will be called vub300.
 916
 917	  If you have a computer with an embedded VUB300 chip
 918	  or if you intend connecting a USB adapter based on a
 919	  VUB300 chip say Y or M here.
 920
 921config MMC_USHC
 922	tristate "USB SD Host Controller (USHC) support"
 923	depends on USB
 924	help
 925	  This selects support for USB SD Host Controllers based on
 926	  the Cypress Astoria chip with firmware compliant with CSR's
 927	  USB SD Host Controller specification (CS-118793-SP).
 928
 929	  CSR boards with this device include: USB<>SDIO (M1985v2),
 930	  and Ultrasira.
 931
 932	  Note: These controllers only support SDIO cards and do not
 933	  support MMC or SD memory cards.
 934
 935config MMC_WMT
 936	tristate "Wondermedia SD/MMC Host Controller support"
 937	depends on ARCH_VT8500
 938	default y
 939	help
 940	  This selects support for the SD/MMC Host Controller on
 941	  Wondermedia WM8505/WM8650 based SoCs.
 942
 943	  To compile this driver as a module, choose M here: the
 944	  module will be called wmt-sdmmc.
 945
 946config MMC_USDHI6ROL0
 947	tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"
 948	depends on HAS_DMA
 949	help
 950	  This selects support for the Renesas USDHI6ROL0 SD/SDIO
 951	  Host Controller
 952
 953config MMC_REALTEK_PCI
 954	tristate "Realtek PCI-E SD/MMC Card Interface Driver"
 955	depends on MISC_RTSX_PCI
 956	help
 957	  Say Y here to include driver code to support SD/MMC card interface
 958	  of Realtek PCI-E card reader
 959
 960config MMC_REALTEK_USB
 961	tristate "Realtek USB SD/MMC Card Interface Driver"
 962	depends on MISC_RTSX_USB
 963	help
 964	  Say Y here to include driver code to support SD/MMC card interface
 965	  of Realtek RTS5129/39 series card reader
 966
 967config MMC_SUNXI
 968	tristate "Allwinner sunxi SD/MMC Host Controller support"
 969	depends on ARCH_SUNXI || COMPILE_TEST
 970	depends on SUNXI_CCU
 971	help
 972	  This selects support for the SD/MMC Host Controller on
 973	  Allwinner sunxi SoCs.
 974
 975config MMC_CQHCI
 976	tristate "Command Queue Host Controller Interface support"
 977	depends on HAS_DMA
 978	help
 979	  This selects the Command Queue Host Controller Interface (CQHCI)
 980	  support present in host controllers of Qualcomm Technologies, Inc
 981	  amongst others.
 982	  This controller supports eMMC devices with command queue support.
 983
 984	  If you have a controller with this interface, say Y or M here.
 985
 986	  If unsure, say N.
 987
 988config MMC_HSQ
 989	tristate "MMC Host Software Queue support"
 990	help
 991	  This selects the MMC Host Software Queue support. This may increase
 992	  performance, if the host controller and its driver supports it.
 993
 994	  If you have a controller/driver supporting this interface, say Y or M
 995	  here.
 996
 997	  If unsure, say N.
 998
 999config MMC_TOSHIBA_PCI
1000	tristate "Toshiba Type A SD/MMC Card Interface Driver"
1001	depends on PCI
1002
1003config MMC_BCM2835
1004	tristate "Broadcom BCM2835 SDHOST MMC Controller support"
1005	depends on ARCH_BCM2835 || COMPILE_TEST
1006	help
1007	  This selects the BCM2835 SDHOST MMC controller. If you have
1008	  a BCM2835 platform with SD or MMC devices, say Y or M here.
1009
1010	  Note that the BCM2835 has two SD controllers: The Arasan
1011	  sdhci controller (supported by MMC_SDHCI_IPROC) and a custom
1012	  sdhost controller (supported by this driver).
1013
1014	  If unsure, say N.
1015
1016config MMC_MTK
1017	tristate "MediaTek SD/MMC Card Interface support"
1018	depends on HAS_DMA
1019	depends on COMMON_CLK
1020	select REGULATOR
1021	select MMC_CQHCI
1022	select MMC_HSQ
1023	help
1024	  This selects the MediaTek(R) Secure digital and Multimedia card Interface.
1025	  If you have a machine with a integrated SD/MMC card reader, say Y or M here.
1026	  This is needed if support for any SD/SDIO/MMC devices is required.
1027	  If unsure, say N.
1028
1029config MMC_SDHCI_MICROCHIP_PIC32
1030	tristate "Microchip PIC32MZDA SDHCI support"
1031	depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM
1032	help
1033	  This selects the Secure Digital Host Controller Interface (SDHCI)
1034	  for PIC32MZDA platform.
1035
1036	  If you have a controller with this interface, say Y or M here.
1037
1038	  If unsure, say N.
1039
1040config MMC_SDHCI_BRCMSTB
1041	tristate "Broadcom SDIO/SD/MMC support"
1042	depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST
1043	depends on MMC_SDHCI_PLTFM
1044	select MMC_CQHCI
1045	default ARCH_BRCMSTB || BMIPS_GENERIC
1046	help
1047	  This selects support for the SDIO/SD/MMC Host Controller on
1048	  Broadcom STB SoCs.
1049
1050	  If unsure, say Y.
1051
1052config MMC_SDHCI_XENON
1053	tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver"
1054	depends on MMC_SDHCI_PLTFM
1055	help
1056	  This selects Marvell Xenon eMMC/SD/SDIO SDHCI.
1057	  If you have a controller with this interface, say Y or M here.
1058	  If unsure, say N.
1059
1060config MMC_SDHCI_OMAP
1061	tristate "TI SDHCI Controller Support"
1062	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
1063	depends on MMC_SDHCI_PLTFM && OF
1064	select THERMAL
1065	imply TI_SOC_THERMAL
1066	select MMC_SDHCI_EXTERNAL_DMA if DMA_ENGINE
1067	help
1068	  This selects the Secure Digital Host Controller Interface (SDHCI)
1069	  support present in TI's Keystone/OMAP2+/DRA7 SOCs. The controller
1070	  supports SD/MMC/SDIO devices.
1071
1072	  If you have a controller with this interface, say Y or M here.
1073
1074	  If unsure, say N.
1075
1076config MMC_SDHCI_AM654
1077	tristate "Support for the SDHCI Controller in TI's AM654 SOCs"
1078	depends on ARCH_K3 || COMPILE_TEST
1079	depends on MMC_SDHCI_PLTFM && OF
1080	select MMC_SDHCI_IO_ACCESSORS
1081	select MMC_CQHCI
1082	select REGMAP_MMIO
1083	help
1084	  This selects the Secure Digital Host Controller Interface (SDHCI)
1085	  support present in TI's AM65x/AM64x/AM62x/J721E SOCs. The controller
1086	  supports SD/MMC/SDIO devices.
1087
1088	  If you have a controller with this interface, say Y or M here.
1089
1090	  If unsure, say N.
1091
1092config MMC_OWL
1093	tristate "Actions Semi Owl SD/MMC Host Controller support"
1094	depends on HAS_DMA
1095	depends on ARCH_ACTIONS || COMPILE_TEST
1096	help
1097	  This selects support for the SD/MMC Host Controller on
1098	  Actions Semi Owl SoCs.
1099
1100config MMC_SDHCI_EXTERNAL_DMA
1101	bool
1102
1103config MMC_LITEX
1104	tristate "LiteX MMC Host Controller support"
1105	depends on ((PPC_MICROWATT || LITEX) && OF && HAVE_CLK) || COMPILE_TEST
1106	select REGULATOR
1107	select REGULATOR_FIXED_VOLTAGE
1108	help
1109	  This selects support for the MMC Host Controller found in LiteX SoCs.
1110
1111	  To compile this driver as a module, choose M here: the
1112	  module will be called litex_mmc.
1113
1114	  If unsure, say N.