• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1menu "MMC Host controller Support"
2
3config MMC
4	bool "MMC/SD/SDIO card support"
5	default ARM || PPC || SANDBOX
6	select HAVE_BLOCK_DEVICE
7	help
8	  This selects MultiMediaCard, Secure Digital and Secure
9	  Digital I/O support.
10
11	  If you want MMC/SD/SDIO support, you should say Y here and
12	  also to your specific host controller driver.
13
14config MMC_WRITE
15	bool "support for MMC/SD write operations"
16	depends on MMC
17	default y
18	help
19	  Enable write access to MMC and SD Cards
20
21config MMC_BROKEN_CD
22	bool "Poll for broken card detection case"
23	help
24	  If card  detection feature is broken, just poll to detect.
25
26config DM_MMC
27	bool "Enable MMC controllers using Driver Model"
28	depends on DM
29	help
30	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
31	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
32	  and non-removable (e.g. eMMC chip) devices are supported. These
33	  appear as block devices in U-Boot and can support filesystems such
34	  as EXT4 and FAT.
35
36config SPL_DM_MMC
37	bool "Enable MMC controllers using Driver Model in SPL"
38	depends on SPL_DM && DM_MMC
39	default y
40	help
41	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
42	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
43	  and non-removable (e.g. eMMC chip) devices are supported. These
44	  appear as block devices in U-Boot and can support filesystems such
45	  as EXT4 and FAT.
46
47if MMC
48
49config MMC_SPI
50	bool "Support for SPI-based MMC controller"
51	depends on DM_MMC && DM_SPI
52	help
53	  This selects SPI-based MMC controllers.
54	  If you have an MMC controller on a SPI bus, say Y here.
55
56	  If unsure, say N.
57
58config MMC_SPI_CRC_ON
59	bool "Support CRC for SPI-based MMC controller"
60	depends on MMC_SPI
61	default y
62	help
63	  This enables CRC for SPI-based MMC controllers.
64
65	  If unsure, say N.
66
67config ARM_PL180_MMCI
68	bool "ARM AMBA Multimedia Card Interface and compatible support"
69	depends on DM_MMC && OF_CONTROL
70	help
71	  This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
72	  Interface (PL180, PL181 and compatible) support.
73	  If you have an ARM(R) platform with a Multimedia Card slot,
74	  say Y or M here.
75
76config MMC_QUIRKS
77	bool "Enable quirks"
78	default y
79	help
80	  Some cards and hosts may sometimes behave unexpectedly (quirks).
81	  This option enable workarounds to handle those quirks. Some of them
82	  are enabled by default, other may require additionnal flags or are
83	  enabled by the host driver.
84
85config MMC_HW_PARTITIONING
86	bool "Support for HW partitioning command(eMMC)"
87	default y
88	help
89	  This adds a command and an API to do hardware partitioning on eMMC
90	  devices.
91
92config SUPPORT_EMMC_RPMB
93	bool "Support eMMC replay protected memory block (RPMB)"
94	imply CMD_MMC_RPMB
95	help
96	  Enable support for reading, writing and programming the
97	  key for the Replay Protection Memory Block partition in eMMC.
98
99config SUPPORT_EMMC_BOOT
100	bool "Support some additional features of the eMMC boot partitions"
101	help
102	  Enable support for eMMC boot partitions. This also enables
103	  extensions within the mmc command.
104
105config MMC_IO_VOLTAGE
106	bool "Support IO voltage configuration"
107	help
108	  IO voltage configuration allows selecting the voltage level of the IO
109	  lines (not the level of main supply). This is required for UHS
110	  support. For eMMC this not mandatory, but not enabling this option may
111	  prevent the driver of using the faster modes.
112
113config SPL_MMC_IO_VOLTAGE
114	bool "Support IO voltage configuration in SPL"
115	default n
116	help
117	  IO voltage configuration allows selecting the voltage level of the IO
118	  lines (not the level of main supply). This is required for UHS
119	  support. For eMMC this not mandatory, but not enabling this option may
120	  prevent the driver of using the faster modes.
121
122config MMC_UHS_SUPPORT
123	bool "enable UHS support"
124	depends on MMC_IO_VOLTAGE
125	help
126	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
127	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
128	  frequency can go up to 208MHz (SDR104)
129
130config SPL_MMC_UHS_SUPPORT
131	bool "enable UHS support in SPL"
132	depends on SPL_MMC_IO_VOLTAGE
133	help
134	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
135	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
136	  frequency can go up to 208MHz (SDR104)
137
138config MMC_HS400_ES_SUPPORT
139	bool "enable HS400 Enhanced Strobe support"
140	help
141	  The HS400 Enhanced Strobe mode is support by some eMMC. The bus
142	  frequency is up to 200MHz. This mode does not tune the IO.
143
144config SPL_MMC_HS400_ES_SUPPORT
145	bool "enable HS400 Enhanced Strobe support in SPL"
146	help
147	  The HS400 Enhanced Strobe mode is support by some eMMC. The bus
148	  frequency is up to 200MHz. This mode does not tune the IO.
149
150config MMC_HS400_SUPPORT
151	bool "enable HS400 support"
152	select MMC_HS200_SUPPORT
153	help
154	  The HS400 mode is support by some eMMC. The bus frequency is up to
155	  200MHz. This mode requires tuning the IO.
156
157config SPL_MMC_HS400_SUPPORT
158	bool "enable HS400 support in SPL"
159	select SPL_MMC_HS200_SUPPORT
160	help
161	  The HS400 mode is support by some eMMC. The bus frequency is up to
162	  200MHz. This mode requires tuning the IO.
163
164config MMC_HS200_SUPPORT
165	bool "enable HS200 support"
166	help
167	  The HS200 mode is support by some eMMC. The bus frequency is up to
168	  200MHz. This mode requires tuning the IO.
169
170config SPL_MMC_HS200_SUPPORT
171	bool "enable HS200 support in SPL"
172	help
173	  The HS200 mode is support by some eMMC. The bus frequency is up to
174	  200MHz. This mode requires tuning the IO.
175
176config MMC_VERBOSE
177	bool "Output more information about the MMC"
178	default y
179	help
180	  Enable the output of more information about the card such as the
181	  operating mode.
182
183config MMC_TRACE
184	bool "MMC debugging"
185	default n
186	help
187	  This is an option for use by developer. Enable MMC core debugging.
188
189	  If you need to see the MMC core message, say Y.
190
191config MMC_DAVINCI
192	bool "TI DAVINCI Multimedia Card Interface support"
193	depends on ARCH_DAVINCI
194	default y
195	help
196	  This selects the TI DAVINCI Multimedia card Interface.
197	  If you have an DAVINCI board with a Multimedia Card slot,
198	  say Y here.  If unsure, say N.
199
200config MMC_DW
201	bool "Synopsys DesignWare Memory Card Interface"
202	select BOUNCE_BUFFER
203	help
204	  This selects support for the Synopsys DesignWare Mobile Storage IP
205	  block, this provides host support for SD and MMC interfaces, in both
206	  PIO, internal DMA mode and external DMA mode.
207
208config MMC_DW_EXYNOS
209	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
210	depends on ARCH_EXYNOS
211	depends on MMC_DW
212	default y
213	help
214	  This selects support for Samsung Exynos SoC specific extensions to the
215	  Synopsys DesignWare Memory Card Interface driver. Select this option
216	  for platforms based on Exynos4 and Exynos5 SoC's.
217
218config MMC_DW_K3
219	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
220	depends on MMC_DW
221	help
222	  This selects support for Hisilicon K3 SoC specific extensions to the
223	  Synopsys DesignWare Memory Card Interface driver. Select this option
224	  for platforms based on Hisilicon K3 SoC's.
225
226config MMC_DW_ROCKCHIP
227	bool "Rockchip SD/MMC controller support"
228	depends on DM_MMC && OF_CONTROL
229	depends on MMC_DW
230	help
231	  This enables support for the Rockchip SD/MMM controller, which is
232	  based on Designware IP. The device is compatible with at least
233	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
234	  as removeable SD and micro-SD cards.
235
236config MMC_DW_SOCFPGA
237	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
238	depends on ARCH_SOCFPGA
239	depends on MMC_DW
240	default y
241	help
242	  This selects support for Altera SOCFPGA specific extensions to the
243	  Synopsys DesignWare Memory Card Interface driver. Select this option
244	  for platforms based on Altera SOCFPGA.
245
246config MMC_DW_SNPS
247	bool "Extensions for DW Memory Card Interface used in Synopsys ARC devboards"
248	depends on MMC_DW
249	depends on DM_MMC
250	depends on OF_CONTROL
251	depends on CLK
252	help
253	  This selects support for Synopsys DesignWare Memory Card Interface driver
254	  extensions used in various Synopsys ARC devboards.
255
256config MMC_MESON_GX
257	bool "Meson GX EMMC controller support"
258	depends on DM_MMC && BLK && ARCH_MESON
259	help
260	 Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
261
262config MMC_MXC
263	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
264	help
265	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
266	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
267	  with a Multimedia Card slot, say Y here.
268
269	  If unsure, say N.
270
271config MMC_MXS
272	bool "Freescale MXS Multimedia Card Interface support"
273	depends on MX23 || MX28 || MX6 || MX7
274	select BOUNCE_BUFFER
275	select APBH_DMA
276	select APBH_DMA_BURST if ARCH_MX6 || ARCH_MX7
277	select APBH_DMA_BURST8 if ARCH_MX6 || ARCH_MX7
278	help
279	  This selects the Freescale SSP MMC controller found on MXS based
280	  platforms like mx23/28.
281
282	  If unsure, say N.
283
284config MMC_PCI
285	bool "Support for MMC controllers on PCI"
286	help
287	  This selects PCI-based MMC controllers.
288	  If you have an MMC controller on a PCI bus, say Y here.
289
290	  If unsure, say N.
291
292config MMC_OMAP_HS
293	bool "TI OMAP High Speed Multimedia Card Interface support"
294	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
295	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
296	help
297	  This selects the TI OMAP High Speed Multimedia card Interface.
298	  If you have an omap2plus board with a Multimedia Card slot,
299	  say Y here.
300
301	  If unsure, say N.
302
303config MMC_OMAP_HS_ADMA
304	bool "ADMA support for OMAP HS MMC"
305	depends on MMC_OMAP_HS && !OMAP34XX
306	default y if !AM33XX
307	help
308	  This enables support for the ADMA2 controller (SDA3.00 Part A2 DMA
309	  controller). If supported by the hardware, selecting this option will
310	  increase performances.
311
312config MMC_OMAP36XX_PINS
313	bool "Enable MMC1 on OMAP36xx/37xx"
314	depends on OMAP34XX && MMC_OMAP_HS
315	help
316	  This enables extended-drain in the MMC/SD/SDIO1I/O and
317	  GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
318	  specific to the OMAP36xx/37xx using MMC1
319
320	  If you have a controller with this interface, say Y here.
321
322	  If unsure, say N.
323
324config SH_SDHI
325	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
326	depends on ARCH_RMOBILE
327	help
328	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
329
330config SH_MMCIF
331	bool "SuperH/Renesas ARM SoCs on-chip MMCIF host controller support"
332	depends on ARCH_RMOBILE || SH
333	help
334	  Support for the on-chip MMCIF host controller on SuperH/Renesas ARM SoCs platform
335
336config MMC_UNIPHIER
337	bool "UniPhier SD/MMC Host Controller support"
338	depends on ARCH_UNIPHIER
339	depends on BLK && DM_MMC
340	depends on OF_CONTROL
341	help
342	  This selects support for the Matsushita SD/MMC Host Controller on
343	  SocioNext UniPhier SoCs.
344
345config RENESAS_SDHI
346	bool "Renesas R-Car SD/MMC Host Controller support"
347	depends on ARCH_RMOBILE
348	depends on BLK && DM_MMC
349	depends on OF_CONTROL
350	help
351	  This selects support for the Matsushita SD/MMC Host Controller on
352	  Renesas R-Car SoCs.
353
354config MMC_BCM2835
355	bool "BCM2835 family custom SD/MMC Host Controller support"
356	depends on ARCH_BCM283X
357	depends on BLK && DM_MMC
358	depends on OF_CONTROL
359	default y
360	help
361	  This selects support for the custom SD host controller in the BCM2835
362	  family of devices.
363
364	  If you have a BCM2835 platform with SD or MMC devices, say Y here.
365
366	  If unsure, say N.
367
368config JZ47XX_MMC
369	bool "Ingenic JZ47xx SD/MMC Host Controller support"
370	depends on ARCH_JZ47XX
371	help
372	  This selects support for the SD Card Controller on Ingenic JZ47xx SoCs.
373
374config MMC_SANDBOX
375	bool "Sandbox MMC support"
376	depends on SANDBOX
377	depends on BLK && DM_MMC && OF_CONTROL
378	help
379	  This select a dummy sandbox MMC driver. At present this does nothing
380	  other than allow sandbox to be build with MMC support. This
381	  improves build coverage for sandbox and makes it easier to detect
382	  MMC build errors with sandbox.
383
384config MMC_SDHCI
385	bool "Secure Digital Host Controller Interface support"
386	help
387	  This selects the generic Secure Digital Host Controller Interface.
388	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
389	  and Toshiba(R). Most controllers found in laptops are of this type.
390
391	  If you have a controller with this interface, say Y here.
392
393	  If unsure, say N.
394
395config MMC_SDHCI_IO_ACCESSORS
396	bool
397	depends on MMC_SDHCI
398	help
399	  This is silent Kconfig symbol that is selected by the drivers that
400	  need to overwrite SDHCI IO memory accessors.
401
402config MMC_SDHCI_SDMA
403	bool "Support SDHCI SDMA"
404	depends on MMC_SDHCI
405	help
406	  This enables support for the SDMA (Single Operation DMA) defined
407	  in the SD Host Controller Standard Specification Version 1.00 .
408
409config MMC_SDHCI_ADMA
410	bool "Support SDHCI ADMA2"
411	depends on MMC_SDHCI
412	help
413	  This enables support for the ADMA (Advanced DMA) defined
414	  in the SD Host Controller Standard Specification Version 3.00
415
416config SPL_MMC_SDHCI_ADMA
417	bool "Support SDHCI ADMA2 in SPL"
418	depends on MMC_SDHCI
419	help
420	  This enables support for the ADMA (Advanced DMA) defined
421	  in the SD Host Controller Standard Specification Version 3.00 in SPL.
422
423config MMC_SDHCI_ASPEED
424	bool "Aspeed SDHCI controller"
425	depends on ARCH_ASPEED
426	depends on DM_MMC
427	depends on MMC_SDHCI
428	help
429	  Enables support for the Aspeed SDHCI 2.0 controller present on Aspeed
430	  SoCs. This device is compatible with SD 3.0 and/or MMC 4.3
431	  specifications. On the AST2600, the device is also compatible with
432	  MMC 5.1 and eMMC 3.0.
433
434config MMC_SDHCI_ATMEL
435	bool "Atmel SDHCI controller support"
436	depends on ARCH_AT91
437	depends on DM_MMC && BLK && ARCH_AT91
438	depends on MMC_SDHCI
439	help
440	  This enables support for the Atmel SDHCI controller, which supports
441	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
442	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
443	  It is compliant with the SD Host Controller Standard V3.0
444	  specification.
445
446config MMC_SDHCI_BCM2835
447	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
448	depends on ARCH_BCM283X
449	depends on MMC_SDHCI
450	select MMC_SDHCI_IO_ACCESSORS
451	help
452	  This selects the BCM2835 SD/MMC controller.
453
454	  If you have a BCM2835 platform with SD or MMC devices,
455	  say Y here.
456
457	  If unsure, say N.
458
459config MMC_SDHCI_BCMSTB
460	tristate "SDHCI support for the BCMSTB SD/MMC Controller"
461	depends on MMC_SDHCI
462	help
463	  This selects the Broadcom set-top box SD/MMC controller.
464
465	  If you have a BCMSTB platform with SD or MMC devices,
466	  say Y here.
467
468	  If unsure, say N.
469
470config MMC_SDHCI_CADENCE
471	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
472	depends on BLK && DM_MMC
473	depends on MMC_SDHCI
474	depends on OF_CONTROL
475	help
476	  This selects the Cadence SD/SDIO/eMMC driver.
477
478	  If you have a controller with this interface, say Y here.
479
480	  If unsure, say N.
481
482config MMC_SDHCI_AM654
483	bool "SDHCI Controller on TI's Am654 devices"
484	depends on ARCH_K3
485	depends on MMC_SDHCI
486	depends on DM_MMC && OF_CONTROL && BLK
487	depends on REGMAP
488	help
489	  Support for Secure Digital Host Controller Interface (SDHCI)
490	  controllers present on TI's AM654 SOCs.
491
492config MMC_SDHCI_IPROC
493	bool "SDHCI support for the iProc SD/MMC Controller"
494	depends on MMC_SDHCI
495	help
496	  This selects the iProc SD/MMC controller.
497
498	  If you have a Broadcom IPROC platform with SD or MMC devices,
499	  say Y or M here.
500
501	  If unsure, say N.
502
503config MMC_SDHCI_KONA
504	bool "SDHCI support on Broadcom KONA platform"
505	depends on MMC_SDHCI
506	help
507	  This selects the Broadcom Kona Secure Digital Host Controller
508	  Interface(SDHCI) support.
509	  This is used in Broadcom mobile SoCs.
510
511	  If you have a controller with this interface, say Y here.
512
513config MMC_SDHCI_MSM
514	bool "Qualcomm SDHCI controller"
515	depends on BLK && DM_MMC
516	depends on MMC_SDHCI
517	help
518	  Enables support for SDHCI 2.0 controller present on some Qualcomm
519          Snapdragon devices. This device is compatible with eMMC v4.5 and
520          SD 3.0 specifications. Both SD and eMMC devices are supported.
521	  Card-detect gpios are not supported.
522
523config MMC_SDHCI_MV
524	bool "SDHCI support on Marvell platform"
525	depends on ARCH_MVEBU
526	depends on MMC_SDHCI
527	help
528	  This selects the Secure Digital Host Controller Interface on
529	  Marvell platform.
530
531	  If you have a controller with this interface, say Y here.
532
533	  If unsure, say N.
534
535config MMC_SDHCI_PIC32
536	bool "Microchip PIC32 on-chip SDHCI support"
537	depends on DM_MMC && MACH_PIC32
538	depends on MMC_SDHCI
539	help
540	  Support for Microchip PIC32 SDHCI controller.
541
542config MMC_SDHCI_ROCKCHIP
543	bool "Arasan SDHCI controller for Rockchip support"
544	depends on ARCH_ROCKCHIP
545	depends on DM_MMC && BLK
546	depends on MMC_SDHCI
547	help
548	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
549
550config MMC_SDHCI_S5P
551	bool "SDHCI support on Samsung S5P SoC"
552	depends on MMC_SDHCI
553	help
554	  This selects the Secure Digital Host Controller Interface (SDHCI)
555	  on Samsung S5P SoCs.
556
557	  If you have a controller with this interface, say Y here.
558
559	  If unsure, say N.
560
561config MMC_SDHCI_SPEAR
562	bool "SDHCI support on ST SPEAr platform"
563	depends on MMC_SDHCI
564	help
565	  This selects the Secure Digital Host Controller Interface (SDHCI)
566	  often referrered to as the HSMMC block in some of the ST SPEAR range
567	  of SoC
568
569	  If you have a controller with this interface, say Y here.
570
571	  If unsure, say N.
572
573config MMC_SDHCI_STI
574	bool "SDHCI support for STMicroelectronics SoC"
575	depends on MMC_SDHCI && OF_CONTROL
576	help
577	  This selects the Secure Digital Host Controller Interface (SDHCI)
578	  on STMicroelectronics STiH410 SoC.
579
580config MMC_SDHCI_XENON
581	bool "SDHCI support for the Xenon SDHCI controller"
582	depends on MMC_SDHCI && DM_MMC && OF_CONTROL
583	help
584	  Support for Xenon SDHCI host controller on Marvell Armada 3700
585	  7k/8k ARM SoCs platforms
586
587	  If you have a controller with this interface, say Y here.
588
589	  If unsure, say N.
590
591config MMC_SDHCI_TANGIER
592	bool "Tangier SDHCI controller support"
593	depends on DM_MMC && BLK
594	depends on MMC_SDHCI
595	help
596	  This selects support for SDHCI controller on Tanginer
597	  SoC. Note that this controller does not sit on PCI bus and,
598	  hence, cannot be enumerated by standard PCI means.
599
600	  If you're using an Intel Tangier SoC (available on Intel
601	  Edison board), say Y here.
602
603	  If unsure, say N.
604
605config MMC_SDHCI_TEGRA
606	bool "SDHCI platform support for the Tegra SD/MMC Controller"
607	depends on TEGRA
608	select BOUNCE_BUFFER
609	default y
610	help
611	  This selects the Tegra SD/MMC controller. If you have a Tegra
612	  platform with SD or MMC devices, say Y here.
613
614	  If unsure, say N.
615
616config TEGRA124_MMC_DISABLE_EXT_LOOPBACK
617	bool "Disable external clock loopback"
618	depends on MMC_SDHCI_TEGRA && TEGRA124
619	help
620	  Disable the external clock loopback and use the internal one on SDMMC3
621	  as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
622	  being set to 0xfffd according to the TRM.
623
624	  TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
625	  approach once proper kernel integration made it mainline.
626
627config MMC_SDHCI_ZYNQ
628	bool "Arasan SDHCI controller support"
629	depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
630	depends on DM_MMC && OF_CONTROL && BLK
631	depends on MMC_SDHCI
632	help
633	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
634
635config ZYNQ_SDHCI_MAX_FREQ
636	int "Set the maximum frequency of the controller"
637	depends on MMC_SDHCI_ZYNQ
638	help
639	  Set the maximum frequency of the controller.
640
641config ZYNQ_SDHCI_MIN_FREQ
642	int "Set the minimum frequency of the controller"
643	depends on MMC_SDHCI_ZYNQ
644	default 0
645	help
646	  Set the minimum frequency of the controller.
647
648config ZYNQ_HISPD_BROKEN
649	bool "High speed broken for Zynq SDHCI controller"
650	depends on MMC_SDHCI_ZYNQ
651	help
652	  Set if high speed mode is broken.
653
654config MMC_SUNXI
655	bool "Allwinner sunxi SD/MMC Host Controller support"
656	depends on ARCH_SUNXI && !UART0_PORT_F
657	default y
658	help
659	  This selects support for the SD/MMC Host Controller on
660	  Allwinner sunxi SoCs.
661
662config MMC_SUNXI_HAS_NEW_MODE
663	bool
664	depends on MMC_SUNXI
665
666config MMC_SUNXI_HAS_MODE_SWITCH
667	bool
668	depends on MMC_SUNXI
669
670config GENERIC_ATMEL_MCI
671	bool "Atmel Multimedia Card Interface support"
672	depends on DM_MMC && BLK && ARCH_AT91
673	help
674	  This enables support for Atmel High Speed Multimedia Card Interface
675	  (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
676	  the SD Memory Card Specification V2.0, the SDIO V2.0 specification
677	  and CE-ATA V1.1.
678
679config STM32_SDMMC2
680	bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
681	depends on DM_MMC && BLK && OF_CONTROL
682	help
683	  This selects support for the SD/MMC controller on STM32H7 SoCs.
684	  If you have a board based on such a SoC and with a SD/MMC slot,
685	  say Y or M here.
686
687config FTSDC010
688	bool "Ftsdc010 SD/MMC controller Support"
689	help
690	  This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
691
692config FTSDC010_SDIO
693	bool "Support ftsdc010 sdio"
694	default n
695	depends on FTSDC010
696	help
697		This can enable ftsdc010 sdio function.
698
699config MMC_MTK
700	bool "MediaTek SD/MMC Card Interface support"
701	depends on ARCH_MEDIATEK || ARCH_MTMIPS
702	depends on BLK && DM_MMC
703	depends on OF_CONTROL
704	help
705	  This selects the MediaTek(R) Secure digital and Multimedia card Interface.
706	  If you have a machine with a integrated SD/MMC card reader, say Y or M here.
707	  This is needed if support for any SD/SDIO/MMC devices is required.
708	  If unsure, say N.
709
710endif
711
712config FSL_ESDHC
713	bool "Freescale/NXP eSDHC controller support"
714	select FSL_ESDHC_USE_PERIPHERAL_CLK if MMC_HS200_SUPPORT || MMC_UHS_SUPPORT
715	help
716	  This selects support for the eSDHC (Enhanced Secure Digital Host
717	  Controller) found on numerous Freescale/NXP SoCs.
718
719config FSL_ESDHC_USE_PERIPHERAL_CLK
720	bool "enable ESDHC peripheral clock support"
721	depends on FSL_ESDHC
722	help
723	  eSDHC supports two reference clocks (platform clock and peripheral clock).
724	  Peripheral clock which could provide higher clock frequency is required to
725	  be used for tuning of SD UHS mode and eMMC HS200/HS400 modes.
726
727config FSL_ESDHC_IMX
728	bool "Freescale/NXP i.MX eSDHC controller support"
729	help
730	  This selects support for the i.MX eSDHC (Enhanced Secure Digital Host
731	  Controller) found on numerous Freescale/NXP SoCs.
732
733config FSL_USDHC
734	bool "Freescale/NXP i.MX uSDHC controller support"
735	depends on MX6 || MX7 ||ARCH_MX7ULP || IMX8 || IMX8M || TARGET_S32V234EVB
736	select FSL_ESDHC_IMX
737	help
738	  This enables the Ultra Secured Digital Host Controller enhancements
739
740endmenu
741
742config SYS_FSL_ERRATUM_ESDHC111
743	bool
744
745config SYS_FSL_ERRATUM_ESDHC13
746	bool
747
748config SYS_FSL_ERRATUM_ESDHC135
749	bool
750
751config SYS_FSL_ERRATUM_ESDHC_A001
752	bool
753