xref: /openbmc/u-boot/drivers/mmc/Kconfig (revision 5a7b11e6)
172d42badSNobuhiro Iwamatsumenu "MMC Host controller Support"
272d42badSNobuhiro Iwamatsu
37a777f6dSMaxime Ripardconfig MMC
4c2726995SMasahiro Yamada	bool "MMC/SD/SDIO card support"
5c2726995SMasahiro Yamada	default ARM || PPC || SANDBOX
61811a928SAdam Ford	select HAVE_BLOCK_DEVICE
77a777f6dSMaxime Ripard	help
8c2726995SMasahiro Yamada	  This selects MultiMediaCard, Secure Digital and Secure
9c2726995SMasahiro Yamada	  Digital I/O support.
10c2726995SMasahiro Yamada
11c2726995SMasahiro Yamada	  If you want MMC/SD/SDIO support, you should say Y here and
12c2726995SMasahiro Yamada	  also to your specific host controller driver.
137a777f6dSMaxime Ripard
14d6400c3fSJean-Jacques Hiblotconfig MMC_WRITE
15d6400c3fSJean-Jacques Hiblot	bool "support for MMC/SD write operations"
16d6400c3fSJean-Jacques Hiblot	depends on MMC
17d6400c3fSJean-Jacques Hiblot	default y
18d6400c3fSJean-Jacques Hiblot	help
19d6400c3fSJean-Jacques Hiblot	  Enable write access to MMC and SD Cards
20d6400c3fSJean-Jacques Hiblot
212f516e4aSJun Nieconfig MMC_BROKEN_CD
222f516e4aSJun Nie	bool "Poll for broken card detection case"
232f516e4aSJun Nie	help
242f516e4aSJun Nie	  If card  detection feature is broken, just poll to detect.
252f516e4aSJun Nie
26e7ecf7cbSSimon Glassconfig DM_MMC
27e7ecf7cbSSimon Glass	bool "Enable MMC controllers using Driver Model"
28e7ecf7cbSSimon Glass	depends on DM
29e7ecf7cbSSimon Glass	help
3062a3b7ddSRobert P. J. Day	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
31e7ecf7cbSSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
32e7ecf7cbSSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
33e7ecf7cbSSimon Glass	  appear as block devices in U-Boot and can support filesystems such
34e7ecf7cbSSimon Glass	  as EXT4 and FAT.
35e7ecf7cbSSimon Glass
36c4d660d4SSimon Glassconfig SPL_DM_MMC
37c4d660d4SSimon Glass	bool "Enable MMC controllers using Driver Model in SPL"
38c4d660d4SSimon Glass	depends on SPL_DM && DM_MMC
39c4d660d4SSimon Glass	default y
40c4d660d4SSimon Glass	help
41c4d660d4SSimon Glass	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
42c4d660d4SSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
43c4d660d4SSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
44c4d660d4SSimon Glass	  appear as block devices in U-Boot and can support filesystems such
45c4d660d4SSimon Glass	  as EXT4 and FAT.
46c4d660d4SSimon Glass
47e298c46aSMasahiro Yamadaif MMC
48e298c46aSMasahiro Yamada
493c0dbed2SPatrice Chotardconfig ARM_PL180_MMCI
503c0dbed2SPatrice Chotard	bool "ARM AMBA Multimedia Card Interface and compatible support"
513c0dbed2SPatrice Chotard	depends on DM_MMC && OF_CONTROL
523c0dbed2SPatrice Chotard	help
533c0dbed2SPatrice Chotard	  This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
543c0dbed2SPatrice Chotard	  Interface (PL180, PL181 and compatible) support.
553c0dbed2SPatrice Chotard	  If you have an ARM(R) platform with a Multimedia Card slot,
563c0dbed2SPatrice Chotard	  say Y or M here.
573c0dbed2SPatrice Chotard
5883dc4227SKishon Vijay Abraham Iconfig MMC_QUIRKS
5983dc4227SKishon Vijay Abraham I	bool "Enable quirks"
6083dc4227SKishon Vijay Abraham I	default y
6183dc4227SKishon Vijay Abraham I	help
6283dc4227SKishon Vijay Abraham I	  Some cards and hosts may sometimes behave unexpectedly (quirks).
6383dc4227SKishon Vijay Abraham I	  This option enable workarounds to handle those quirks. Some of them
6483dc4227SKishon Vijay Abraham I	  are enabled by default, other may require additionnal flags or are
6583dc4227SKishon Vijay Abraham I	  enabled by the host driver.
6683dc4227SKishon Vijay Abraham I
67cf17789eSJean-Jacques Hiblotconfig MMC_HW_PARTITIONING
68cf17789eSJean-Jacques Hiblot	bool "Support for HW partitioning command(eMMC)"
69cf17789eSJean-Jacques Hiblot	default y
70cf17789eSJean-Jacques Hiblot	help
71cf17789eSJean-Jacques Hiblot	  This adds a command and an API to do hardware partitioning on eMMC
72cf17789eSJean-Jacques Hiblot	  devices.
73cf17789eSJean-Jacques Hiblot
74*5a7b11e6SAlex Kiernanconfig SUPPORT_EMMC_RPMB
75*5a7b11e6SAlex Kiernan	bool "Support eMMC replay protected memory block (RPMB)"
76*5a7b11e6SAlex Kiernan	imply CMD_MMC_RPMB
77*5a7b11e6SAlex Kiernan	help
78*5a7b11e6SAlex Kiernan	  Enable support for reading, writing and programming the
79*5a7b11e6SAlex Kiernan	  key for the Replay Protection Memory Block partition in eMMC.
80*5a7b11e6SAlex Kiernan
81f99c2efeSJean-Jacques Hiblotconfig MMC_IO_VOLTAGE
82f99c2efeSJean-Jacques Hiblot	bool "Support IO voltage configuration"
83f99c2efeSJean-Jacques Hiblot	help
84f99c2efeSJean-Jacques Hiblot	  IO voltage configuration allows selecting the voltage level of the IO
85f99c2efeSJean-Jacques Hiblot	  lines (not the level of main supply). This is required for UHS
86f99c2efeSJean-Jacques Hiblot	  support. For eMMC this not mandatory, but not enabling this option may
87f99c2efeSJean-Jacques Hiblot	  prevent the driver of using the faster modes.
88f99c2efeSJean-Jacques Hiblot
89f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_IO_VOLTAGE
90f99c2efeSJean-Jacques Hiblot	bool "Support IO voltage configuration in SPL"
91f99c2efeSJean-Jacques Hiblot	default n
92f99c2efeSJean-Jacques Hiblot	help
93f99c2efeSJean-Jacques Hiblot	  IO voltage configuration allows selecting the voltage level of the IO
94f99c2efeSJean-Jacques Hiblot	  lines (not the level of main supply). This is required for UHS
95f99c2efeSJean-Jacques Hiblot	  support. For eMMC this not mandatory, but not enabling this option may
96f99c2efeSJean-Jacques Hiblot	  prevent the driver of using the faster modes.
97f99c2efeSJean-Jacques Hiblot
98f99c2efeSJean-Jacques Hiblotconfig MMC_UHS_SUPPORT
99f99c2efeSJean-Jacques Hiblot	bool "enable UHS support"
100f99c2efeSJean-Jacques Hiblot	depends on MMC_IO_VOLTAGE
101f99c2efeSJean-Jacques Hiblot	help
102f99c2efeSJean-Jacques Hiblot	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
103f99c2efeSJean-Jacques Hiblot	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
104f99c2efeSJean-Jacques Hiblot	  frequency can go up to 208MHz (SDR104)
105f99c2efeSJean-Jacques Hiblot
106f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_UHS_SUPPORT
107f99c2efeSJean-Jacques Hiblot	bool "enable UHS support in SPL"
108f99c2efeSJean-Jacques Hiblot	depends on SPL_MMC_IO_VOLTAGE
109f99c2efeSJean-Jacques Hiblot	help
110f99c2efeSJean-Jacques Hiblot	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
111f99c2efeSJean-Jacques Hiblot	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
112f99c2efeSJean-Jacques Hiblot	  frequency can go up to 208MHz (SDR104)
113f99c2efeSJean-Jacques Hiblot
114f99c2efeSJean-Jacques Hiblotconfig MMC_HS200_SUPPORT
115f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support"
116f99c2efeSJean-Jacques Hiblot	help
117f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
118f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
119f99c2efeSJean-Jacques Hiblot
120f99c2efeSJean-Jacques Hiblot
121f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_HS200_SUPPORT
122f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support in SPL"
123f99c2efeSJean-Jacques Hiblot	help
124f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
125f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
126f99c2efeSJean-Jacques Hiblot
12735f9e196SJean-Jacques Hiblotconfig MMC_VERBOSE
12835f9e196SJean-Jacques Hiblot	bool "Output more information about the MMC"
12935f9e196SJean-Jacques Hiblot	default y
13035f9e196SJean-Jacques Hiblot	help
13135f9e196SJean-Jacques Hiblot	  Enable the output of more information about the card such as the
13235f9e196SJean-Jacques Hiblot	  operating mode.
13335f9e196SJean-Jacques Hiblot
13472b5a037SJaehoon Chungconfig MMC_TRACE
13572b5a037SJaehoon Chung	bool "MMC debugging"
13672b5a037SJaehoon Chung	default n
13772b5a037SJaehoon Chung	help
13872b5a037SJaehoon Chung	  This is an option for use by developer. Enable MMC core debugging.
13972b5a037SJaehoon Chung
14072b5a037SJaehoon Chung	  If you need to see the MMC core message, say Y.
14172b5a037SJaehoon Chung
142b5b838f1SMarek Vasutconfig SPL_MMC_TINY
143b5b838f1SMarek Vasut	bool "Tiny MMC framework in SPL"
144b5b838f1SMarek Vasut	help
145b5b838f1SMarek Vasut	  Enable MMC framework tinification support. This option is useful if
146b5b838f1SMarek Vasut	  if your SPL is extremely size constrained. Heed the warning, enable
147b5b838f1SMarek Vasut	  this option if and only if you know exactly what you are doing, if
148b5b838f1SMarek Vasut	  you are reading this help text, you most likely have no idea :-)
149b5b838f1SMarek Vasut
150b5b838f1SMarek Vasut	  The MMC framework is reduced to bare minimum to be useful. No malloc
151b5b838f1SMarek Vasut	  support is needed for the MMC framework operation with this option
152b5b838f1SMarek Vasut	  enabled. The framework supports exactly one MMC device and exactly
153b5b838f1SMarek Vasut	  one MMC driver. The MMC driver can be adjusted to avoid any malloc
154b5b838f1SMarek Vasut	  operations too, which can remove the need for malloc support in SPL
155b5b838f1SMarek Vasut	  and thus further reduce footprint.
156b5b838f1SMarek Vasut
1571d2c0506SMasahiro Yamadaconfig MMC_DAVINCI
1581d2c0506SMasahiro Yamada	bool "TI DAVINCI Multimedia Card Interface support"
1591d2c0506SMasahiro Yamada	depends on ARCH_DAVINCI
1601d2c0506SMasahiro Yamada	default y
1611d2c0506SMasahiro Yamada	help
1621d2c0506SMasahiro Yamada	  This selects the TI DAVINCI Multimedia card Interface.
1631d2c0506SMasahiro Yamada	  If you have an DAVINCI board with a Multimedia Card slot,
1641d2c0506SMasahiro Yamada	  say Y here.  If unsure, say N.
1651d2c0506SMasahiro Yamada
16655ed3b46SMasahiro Yamadaconfig MMC_DW
16755ed3b46SMasahiro Yamada	bool "Synopsys DesignWare Memory Card Interface"
16855ed3b46SMasahiro Yamada	help
16955ed3b46SMasahiro Yamada	  This selects support for the Synopsys DesignWare Mobile Storage IP
17055ed3b46SMasahiro Yamada	  block, this provides host support for SD and MMC interfaces, in both
17155ed3b46SMasahiro Yamada	  PIO, internal DMA mode and external DMA mode.
17255ed3b46SMasahiro Yamada
173ae4c81e9SMasahiro Yamadaconfig MMC_DW_EXYNOS
174ae4c81e9SMasahiro Yamada	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
175ae4c81e9SMasahiro Yamada	depends on ARCH_EXYNOS
176ae4c81e9SMasahiro Yamada	depends on MMC_DW
177ae4c81e9SMasahiro Yamada	default y
178ae4c81e9SMasahiro Yamada	help
179ae4c81e9SMasahiro Yamada	  This selects support for Samsung Exynos SoC specific extensions to the
180ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
181ae4c81e9SMasahiro Yamada	  for platforms based on Exynos4 and Exynos5 SoC's.
182ae4c81e9SMasahiro Yamada
183ae4c81e9SMasahiro Yamadaconfig MMC_DW_K3
184ae4c81e9SMasahiro Yamada	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
185ae4c81e9SMasahiro Yamada	depends on MMC_DW
186ae4c81e9SMasahiro Yamada	help
187ae4c81e9SMasahiro Yamada	  This selects support for Hisilicon K3 SoC specific extensions to the
188ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
189ae4c81e9SMasahiro Yamada	  for platforms based on Hisilicon K3 SoC's.
190ae4c81e9SMasahiro Yamada
191fed44087SMasahiro Yamadaconfig MMC_DW_ROCKCHIP
192a8cb4fb5SSimon Glass	bool "Rockchip SD/MMC controller support"
193a8cb4fb5SSimon Glass	depends on DM_MMC && OF_CONTROL
19455ed3b46SMasahiro Yamada	depends on MMC_DW
195a8cb4fb5SSimon Glass	help
196a8cb4fb5SSimon Glass	  This enables support for the Rockchip SD/MMM controller, which is
197a8cb4fb5SSimon Glass	  based on Designware IP. The device is compatible with at least
198a8cb4fb5SSimon Glass	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
199a8cb4fb5SSimon Glass	  as removeable SD and micro-SD cards.
200a8cb4fb5SSimon Glass
201ae4c81e9SMasahiro Yamadaconfig MMC_DW_SOCFPGA
202ae4c81e9SMasahiro Yamada	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
203ae4c81e9SMasahiro Yamada	depends on ARCH_SOCFPGA
204ae4c81e9SMasahiro Yamada	depends on MMC_DW
205ae4c81e9SMasahiro Yamada	default y
206ae4c81e9SMasahiro Yamada	help
207ae4c81e9SMasahiro Yamada	  This selects support for Altera SOCFPGA specific extensions to the
208ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
209ae4c81e9SMasahiro Yamada	  for platforms based on Altera SOCFPGA.
210ae4c81e9SMasahiro Yamada
21193738620SCarlo Caioneconfig MMC_MESON_GX
21293738620SCarlo Caione	bool "Meson GX EMMC controller support"
213e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_MESON
21493738620SCarlo Caione	help
21593738620SCarlo Caione	 Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
21693738620SCarlo Caione
2171d2c0506SMasahiro Yamadaconfig MMC_MXC
2181d2c0506SMasahiro Yamada	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
2191d2c0506SMasahiro Yamada	help
2201d2c0506SMasahiro Yamada	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
2211d2c0506SMasahiro Yamada	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
2221d2c0506SMasahiro Yamada	  with a Multimedia Card slot, say Y here.
2231d2c0506SMasahiro Yamada
2241d2c0506SMasahiro Yamada	  If unsure, say N.
2251d2c0506SMasahiro Yamada
2261d2c0506SMasahiro Yamadaconfig MMC_MXS
2271d2c0506SMasahiro Yamada	bool "Freescale MXS Multimedia Card Interface support"
22899bec1aeSAdam Ford	depends on MX23 || MX28 || MX6 || MX7
22999bec1aeSAdam Ford	select APBH_DMA
23099bec1aeSAdam Ford	select APBH_DMA_BURST if ARCH_MX6 || ARCH_MX7
23199bec1aeSAdam Ford	select APBH_DMA_BURST8 if ARCH_MX6 || ARCH_MX7
2321d2c0506SMasahiro Yamada	help
2331d2c0506SMasahiro Yamada	  This selects the Freescale SSP MMC controller found on MXS based
2341d2c0506SMasahiro Yamada	  platforms like mx23/28.
2351d2c0506SMasahiro Yamada
2361d2c0506SMasahiro Yamada	  If unsure, say N.
2371d2c0506SMasahiro Yamada
238b706b1c2SFelipe Balbiconfig MMC_PCI
239b706b1c2SFelipe Balbi	bool "Support for MMC controllers on PCI"
240b706b1c2SFelipe Balbi	help
241b706b1c2SFelipe Balbi	  This selects PCI-based MMC controllers.
242b706b1c2SFelipe Balbi	  If you have an MMC controller on a PCI bus, say Y here.
243b706b1c2SFelipe Balbi
244b706b1c2SFelipe Balbi	  If unsure, say N.
245b706b1c2SFelipe Balbi
2461d2c0506SMasahiro Yamadaconfig MMC_OMAP_HS
2471d2c0506SMasahiro Yamada	bool "TI OMAP High Speed Multimedia Card Interface support"
248e7881d85SSimon Glass	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2498ff7763dSJean-Jacques Hiblot	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2501d2c0506SMasahiro Yamada	help
2511d2c0506SMasahiro Yamada	  This selects the TI OMAP High Speed Multimedia card Interface.
2521d2c0506SMasahiro Yamada	  If you have an omap2plus board with a Multimedia Card slot,
2531d2c0506SMasahiro Yamada	  say Y here.
2541d2c0506SMasahiro Yamada
2551d2c0506SMasahiro Yamada	  If unsure, say N.
2561d2c0506SMasahiro Yamada
25727a4b3bcSJean-Jacques Hiblotconfig MMC_OMAP_HS_ADMA
25827a4b3bcSJean-Jacques Hiblot	bool "ADMA support for OMAP HS MMC"
25927a4b3bcSJean-Jacques Hiblot	depends on MMC_OMAP_HS && !OMAP34XX
26027a4b3bcSJean-Jacques Hiblot	default y if !AM33XX
26127a4b3bcSJean-Jacques Hiblot	help
26227a4b3bcSJean-Jacques Hiblot	  This enables support for the ADMA2 controller (SDA3.00 Part A2 DMA
26327a4b3bcSJean-Jacques Hiblot	  controller). If supported by the hardware, selecting this option will
26427a4b3bcSJean-Jacques Hiblot	  increase performances.
26527a4b3bcSJean-Jacques Hiblot
2666aca17c9SAdam Fordconfig MMC_OMAP36XX_PINS
2676aca17c9SAdam Ford	bool "Enable MMC1 on OMAP36xx/37xx"
2686aca17c9SAdam Ford	depends on OMAP34XX && MMC_OMAP_HS
2696aca17c9SAdam Ford	help
2706aca17c9SAdam Ford	  This enables extended-drain in the MMC/SD/SDIO1I/O and
2716aca17c9SAdam Ford	  GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
2726aca17c9SAdam Ford	  specific to the OMAP36xx/37xx using MMC1
2736aca17c9SAdam Ford
2746aca17c9SAdam Ford	  If you have a controller with this interface, say Y here.
2756aca17c9SAdam Ford
2766aca17c9SAdam Ford	  If unsure, say N.
2776aca17c9SAdam Ford
27872d42badSNobuhiro Iwamatsuconfig SH_SDHI
27972d42badSNobuhiro Iwamatsu	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
2800f531185SMarek Vasut	depends on ARCH_RMOBILE
28172d42badSNobuhiro Iwamatsu	help
28272d42badSNobuhiro Iwamatsu	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
28372d42badSNobuhiro Iwamatsu
284f3dca4aaSMarek Vasutconfig SH_MMCIF
285f3dca4aaSMarek Vasut	bool "SuperH/Renesas ARM SoCs on-chip MMCIF host controller support"
286f3dca4aaSMarek Vasut	depends on ARCH_RMOBILE || SH
287f3dca4aaSMarek Vasut	help
288f3dca4aaSMarek Vasut	  Support for the on-chip MMCIF host controller on SuperH/Renesas ARM SoCs platform
289f3dca4aaSMarek Vasut
290a111bfbfSMasahiro Yamadaconfig MMC_UNIPHIER
2917dfddc09SMarek Vasut	bool "UniPhier SD/MMC Host Controller support"
2927dfddc09SMarek Vasut	depends on ARCH_UNIPHIER
293e7881d85SSimon Glass	depends on BLK && DM_MMC
2949c720c81SMasahiro Yamada	depends on OF_CONTROL
295a111bfbfSMasahiro Yamada	help
296b24633dfSMarek Vasut	  This selects support for the Matsushita SD/MMC Host Controller on
2977dfddc09SMarek Vasut	  SocioNext UniPhier SoCs.
2987dfddc09SMarek Vasut
2997dfddc09SMarek Vasutconfig RENESAS_SDHI
3007dfddc09SMarek Vasut	bool "Renesas R-Car SD/MMC Host Controller support"
3017dfddc09SMarek Vasut	depends on ARCH_RMOBILE
3027dfddc09SMarek Vasut	depends on BLK && DM_MMC
3037dfddc09SMarek Vasut	depends on OF_CONTROL
3047dfddc09SMarek Vasut	help
3057dfddc09SMarek Vasut	  This selects support for the Matsushita SD/MMC Host Controller on
3067dfddc09SMarek Vasut	  Renesas R-Car SoCs.
307a111bfbfSMasahiro Yamada
308c8a73a26SAlexander Grafconfig MMC_BCM2835
309c8a73a26SAlexander Graf	bool "BCM2835 family custom SD/MMC Host Controller support"
310c8a73a26SAlexander Graf	depends on ARCH_BCM283X
311c8a73a26SAlexander Graf	depends on BLK && DM_MMC
312c8a73a26SAlexander Graf	depends on OF_CONTROL
313c8a73a26SAlexander Graf	default y
314c8a73a26SAlexander Graf	help
315c8a73a26SAlexander Graf	  This selects support for the custom SD host controller in the BCM2835
316c8a73a26SAlexander Graf	  family of devices.
317c8a73a26SAlexander Graf
318c8a73a26SAlexander Graf	  If you have a BCM2835 platform with SD or MMC devices, say Y here.
319c8a73a26SAlexander Graf
320c8a73a26SAlexander Graf	  If unsure, say N.
321c8a73a26SAlexander Graf
322a5995a5dSMasahiro Yamadaconfig MMC_SANDBOX
323f376a3cbSSimon Glass	bool "Sandbox MMC support"
324a5995a5dSMasahiro Yamada	depends on SANDBOX
325e7881d85SSimon Glass	depends on BLK && DM_MMC && OF_CONTROL
326f376a3cbSSimon Glass	help
327f376a3cbSSimon Glass	  This select a dummy sandbox MMC driver. At present this does nothing
328f376a3cbSSimon Glass	  other than allow sandbox to be build with MMC support. This
329f376a3cbSSimon Glass	  improves build coverage for sandbox and makes it easier to detect
330f376a3cbSSimon Glass	  MMC build errors with sandbox.
331f376a3cbSSimon Glass
332e1ce61fbSMasahiro Yamadaconfig MMC_SDHCI
333e1ce61fbSMasahiro Yamada	bool "Secure Digital Host Controller Interface support"
334e1ce61fbSMasahiro Yamada	help
335e1ce61fbSMasahiro Yamada	  This selects the generic Secure Digital Host Controller Interface.
336e1ce61fbSMasahiro Yamada	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
337e1ce61fbSMasahiro Yamada	  and Toshiba(R). Most controllers found in laptops are of this type.
338e1ce61fbSMasahiro Yamada
339e1ce61fbSMasahiro Yamada	  If you have a controller with this interface, say Y here.
340e1ce61fbSMasahiro Yamada
341e1ce61fbSMasahiro Yamada	  If unsure, say N.
342e1ce61fbSMasahiro Yamada
3433d3a74ccSMasahiro Yamadaconfig MMC_SDHCI_IO_ACCESSORS
3443d3a74ccSMasahiro Yamada	bool
3453d3a74ccSMasahiro Yamada	depends on MMC_SDHCI
3463d3a74ccSMasahiro Yamada	help
3473d3a74ccSMasahiro Yamada	  This is silent Kconfig symbol that is selected by the drivers that
3483d3a74ccSMasahiro Yamada	  need to overwrite SDHCI IO memory accessors.
3493d3a74ccSMasahiro Yamada
35045a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SDMA
35145a68fe2SMasahiro Yamada	bool "Support SDHCI SDMA"
35245a68fe2SMasahiro Yamada	depends on MMC_SDHCI
35345a68fe2SMasahiro Yamada	help
35445a68fe2SMasahiro Yamada	  This enables support for the SDMA (Single Operation DMA) defined
35545a68fe2SMasahiro Yamada	  in the SD Host Controller Standard Specification Version 1.00 .
35645a68fe2SMasahiro Yamada
357dd3b64ebSMasahiro Yamadaconfig MMC_SDHCI_ATMEL
358dd3b64ebSMasahiro Yamada	bool "Atmel SDHCI controller support"
359dd3b64ebSMasahiro Yamada	depends on ARCH_AT91
360e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
361dd3b64ebSMasahiro Yamada	depends on MMC_SDHCI
362dd3b64ebSMasahiro Yamada	help
363dd3b64ebSMasahiro Yamada	  This enables support for the Atmel SDHCI controller, which supports
364dd3b64ebSMasahiro Yamada	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
365dd3b64ebSMasahiro Yamada	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
366dd3b64ebSMasahiro Yamada	  It is compliant with the SD Host Controller Standard V3.0
367dd3b64ebSMasahiro Yamada	  specification.
368dd3b64ebSMasahiro Yamada
36945a68fe2SMasahiro Yamadaconfig MMC_SDHCI_BCM2835
37045a68fe2SMasahiro Yamada	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
37145a68fe2SMasahiro Yamada	depends on ARCH_BCM283X
37245a68fe2SMasahiro Yamada	depends on MMC_SDHCI
3733d3a74ccSMasahiro Yamada	select MMC_SDHCI_IO_ACCESSORS
37445a68fe2SMasahiro Yamada	help
37545a68fe2SMasahiro Yamada	  This selects the BCM2835 SD/MMC controller.
37645a68fe2SMasahiro Yamada
37745a68fe2SMasahiro Yamada	  If you have a BCM2835 platform with SD or MMC devices,
37845a68fe2SMasahiro Yamada	  say Y here.
37945a68fe2SMasahiro Yamada
38045a68fe2SMasahiro Yamada	  If unsure, say N.
38145a68fe2SMasahiro Yamada
382e5e7a7c2SMasahiro Yamadaconfig MMC_SDHCI_CADENCE
383e5e7a7c2SMasahiro Yamada	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
384e7881d85SSimon Glass	depends on BLK && DM_MMC
385e5e7a7c2SMasahiro Yamada	depends on MMC_SDHCI
386e5e7a7c2SMasahiro Yamada	depends on OF_CONTROL
387e5e7a7c2SMasahiro Yamada	help
388e5e7a7c2SMasahiro Yamada	  This selects the Cadence SD/SDIO/eMMC driver.
389e5e7a7c2SMasahiro Yamada
390e5e7a7c2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
391e5e7a7c2SMasahiro Yamada
392e5e7a7c2SMasahiro Yamada	  If unsure, say N.
393e5e7a7c2SMasahiro Yamada
39445a68fe2SMasahiro Yamadaconfig MMC_SDHCI_KONA
39545a68fe2SMasahiro Yamada	bool "SDHCI support on Broadcom KONA platform"
39645a68fe2SMasahiro Yamada	depends on MMC_SDHCI
39745a68fe2SMasahiro Yamada	help
39845a68fe2SMasahiro Yamada	  This selects the Broadcom Kona Secure Digital Host Controller
39945a68fe2SMasahiro Yamada	  Interface(SDHCI) support.
40045a68fe2SMasahiro Yamada	  This is used in Broadcom mobile SoCs.
40145a68fe2SMasahiro Yamada
40245a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
40345a68fe2SMasahiro Yamada
404360c67d5SMasahiro Yamadaconfig MMC_SDHCI_MSM
405360c67d5SMasahiro Yamada	bool "Qualcomm SDHCI controller"
406e7881d85SSimon Glass	depends on BLK && DM_MMC
407360c67d5SMasahiro Yamada	depends on MMC_SDHCI
408360c67d5SMasahiro Yamada	help
409360c67d5SMasahiro Yamada	  Enables support for SDHCI 2.0 controller present on some Qualcomm
410360c67d5SMasahiro Yamada          Snapdragon devices. This device is compatible with eMMC v4.5 and
411360c67d5SMasahiro Yamada          SD 3.0 specifications. Both SD and eMMC devices are supported.
412360c67d5SMasahiro Yamada	  Card-detect gpios are not supported.
413360c67d5SMasahiro Yamada
41445a68fe2SMasahiro Yamadaconfig MMC_SDHCI_MV
41545a68fe2SMasahiro Yamada	bool "SDHCI support on Marvell platform"
41645a68fe2SMasahiro Yamada	depends on ARCH_MVEBU
41745a68fe2SMasahiro Yamada	depends on MMC_SDHCI
41845a68fe2SMasahiro Yamada	help
41945a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface on
42045a68fe2SMasahiro Yamada	  Marvell platform.
42145a68fe2SMasahiro Yamada
42245a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
42345a68fe2SMasahiro Yamada
42445a68fe2SMasahiro Yamada	  If unsure, say N.
42545a68fe2SMasahiro Yamada
4261b858770SMasahiro Yamadaconfig MMC_SDHCI_PIC32
4271b858770SMasahiro Yamada	bool "Microchip PIC32 on-chip SDHCI support"
4281b858770SMasahiro Yamada	depends on DM_MMC && MACH_PIC32
4291b858770SMasahiro Yamada	depends on MMC_SDHCI
4301b858770SMasahiro Yamada	help
4311b858770SMasahiro Yamada	  Support for Microchip PIC32 SDHCI controller.
4321b858770SMasahiro Yamada
433facc8058SMasahiro Yamadaconfig MMC_SDHCI_ROCKCHIP
434facc8058SMasahiro Yamada	bool "Arasan SDHCI controller for Rockchip support"
435facc8058SMasahiro Yamada	depends on ARCH_ROCKCHIP
436e7881d85SSimon Glass	depends on DM_MMC && BLK
437facc8058SMasahiro Yamada	depends on MMC_SDHCI
438facc8058SMasahiro Yamada	help
439facc8058SMasahiro Yamada	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
440facc8058SMasahiro Yamada
44145a68fe2SMasahiro Yamadaconfig MMC_SDHCI_S5P
44245a68fe2SMasahiro Yamada	bool "SDHCI support on Samsung S5P SoC"
44345a68fe2SMasahiro Yamada	depends on MMC_SDHCI
44445a68fe2SMasahiro Yamada	help
44545a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
44645a68fe2SMasahiro Yamada	  on Samsung S5P SoCs.
44745a68fe2SMasahiro Yamada
44845a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
44945a68fe2SMasahiro Yamada
45045a68fe2SMasahiro Yamada	  If unsure, say N.
45145a68fe2SMasahiro Yamada
45245a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SPEAR
45345a68fe2SMasahiro Yamada	bool "SDHCI support on ST SPEAr platform"
45445a68fe2SMasahiro Yamada	depends on MMC_SDHCI
45545a68fe2SMasahiro Yamada	help
45645a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
45745a68fe2SMasahiro Yamada	  often referrered to as the HSMMC block in some of the ST SPEAR range
45845a68fe2SMasahiro Yamada	  of SoC
45945a68fe2SMasahiro Yamada
46045a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
46145a68fe2SMasahiro Yamada
46245a68fe2SMasahiro Yamada	  If unsure, say N.
46345a68fe2SMasahiro Yamada
464eee20f81SPatrice Chotardconfig MMC_SDHCI_STI
465eee20f81SPatrice Chotard	bool "SDHCI support for STMicroelectronics SoC"
46651cb23d4SPatrice Chotard	depends on MMC_SDHCI && OF_CONTROL
467eee20f81SPatrice Chotard	help
468eee20f81SPatrice Chotard	  This selects the Secure Digital Host Controller Interface (SDHCI)
469eee20f81SPatrice Chotard	  on STMicroelectronics STiH410 SoC.
470eee20f81SPatrice Chotard
471b6acb5f1SStefan Roeseconfig MMC_SDHCI_XENON
472b6acb5f1SStefan Roese	bool "SDHCI support for the Xenon SDHCI controller"
473b6acb5f1SStefan Roese	depends on MMC_SDHCI && DM_MMC && OF_CONTROL
474b6acb5f1SStefan Roese	help
475b6acb5f1SStefan Roese	  Support for Xenon SDHCI host controller on Marvell Armada 3700
476b6acb5f1SStefan Roese	  7k/8k ARM SoCs platforms
477b6acb5f1SStefan Roese
478b6acb5f1SStefan Roese	  If you have a controller with this interface, say Y here.
479b6acb5f1SStefan Roese
480b6acb5f1SStefan Roese	  If unsure, say N.
481b6acb5f1SStefan Roese
48283b3248eSFelipe Balbiconfig MMC_SDHCI_TANGIER
48383b3248eSFelipe Balbi	bool "Tangier SDHCI controller support"
48483b3248eSFelipe Balbi	depends on DM_MMC && BLK
48583b3248eSFelipe Balbi	depends on MMC_SDHCI
48683b3248eSFelipe Balbi	help
48783b3248eSFelipe Balbi	  This selects support for SDHCI controller on Tanginer
48883b3248eSFelipe Balbi	  SoC. Note that this controller does not sit on PCI bus and,
48983b3248eSFelipe Balbi	  hence, cannot be enumerated by standard PCI means.
49083b3248eSFelipe Balbi
49183b3248eSFelipe Balbi	  If you're using an Intel Tangier SoC (available on Intel
49283b3248eSFelipe Balbi	  Edison board), say Y here.
49383b3248eSFelipe Balbi
49483b3248eSFelipe Balbi	  If unsure, say N.
49583b3248eSFelipe Balbi
4961d2c0506SMasahiro Yamadaconfig MMC_SDHCI_TEGRA
4971d2c0506SMasahiro Yamada	bool "SDHCI platform support for the Tegra SD/MMC Controller"
4981d2c0506SMasahiro Yamada	depends on TEGRA
4991d2c0506SMasahiro Yamada	default y
5001d2c0506SMasahiro Yamada	help
5011d2c0506SMasahiro Yamada	  This selects the Tegra SD/MMC controller. If you have a Tegra
5021d2c0506SMasahiro Yamada	  platform with SD or MMC devices, say Y here.
5031d2c0506SMasahiro Yamada
5041d2c0506SMasahiro Yamada	  If unsure, say N.
5051d2c0506SMasahiro Yamada
50608aa0334SMasahiro Yamadaconfig MMC_SDHCI_ZYNQ
50708aa0334SMasahiro Yamada	bool "Arasan SDHCI controller support"
50808aa0334SMasahiro Yamada	depends on ARCH_ZYNQ || ARCH_ZYNQMP
509e7881d85SSimon Glass	depends on DM_MMC && OF_CONTROL && BLK
51008aa0334SMasahiro Yamada	depends on MMC_SDHCI
51108aa0334SMasahiro Yamada	help
51208aa0334SMasahiro Yamada	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
51308aa0334SMasahiro Yamada
5145dc5a53cSVipul Kumarconfig ZYNQ_SDHCI_MAX_FREQ
5155dc5a53cSVipul Kumar	int "Set the maximum frequency of the controller"
5165dc5a53cSVipul Kumar	depends on MMC_SDHCI_ZYNQ
5175dc5a53cSVipul Kumar	help
5185dc5a53cSVipul Kumar	  Set the maximum frequency of the controller.
5195dc5a53cSVipul Kumar
5203ccc207aSVipul Kumarconfig ZYNQ_SDHCI_MIN_FREQ
5213ccc207aSVipul Kumar	int "Set the minimum frequency of the controller"
5223ccc207aSVipul Kumar	depends on MMC_SDHCI_ZYNQ
5233ccc207aSVipul Kumar	default 0
5243ccc207aSVipul Kumar	help
5253ccc207aSVipul Kumar	  Set the minimum frequency of the controller.
5263ccc207aSVipul Kumar
5271d2c0506SMasahiro Yamadaconfig MMC_SUNXI
5281d2c0506SMasahiro Yamada	bool "Allwinner sunxi SD/MMC Host Controller support"
5290ad178c1SMasahiro Yamada	depends on ARCH_SUNXI && !UART0_PORT_F
5301d2c0506SMasahiro Yamada	default y
5311d2c0506SMasahiro Yamada	help
5321d2c0506SMasahiro Yamada	  This selects support for the SD/MMC Host Controller on
5331d2c0506SMasahiro Yamada	  Allwinner sunxi SoCs.
5341d2c0506SMasahiro Yamada
535de9b1771SMaxime Ripardconfig MMC_SUNXI_HAS_NEW_MODE
536de9b1771SMaxime Ripard	bool
537de9b1771SMaxime Ripard	depends on MMC_SUNXI
538de9b1771SMaxime Ripard
539c86c0155SWenyou Yangconfig GENERIC_ATMEL_MCI
540c86c0155SWenyou Yang	bool "Atmel Multimedia Card Interface support"
541e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
542c86c0155SWenyou Yang	help
543c86c0155SWenyou Yang	  This enables support for Atmel High Speed Multimedia Card Interface
544c86c0155SWenyou Yang	  (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
545c86c0155SWenyou Yang	  the SD Memory Card Specification V2.0, the SDIO V2.0 specification
546c86c0155SWenyou Yang	  and CE-ATA V1.1.
547c86c0155SWenyou Yang
548b312c590SPatrice Chotardconfig STM32_SDMMC2
549b312c590SPatrice Chotard	bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
55053c656a8SPatrice Chotard	depends on DM_MMC && BLK && OF_CONTROL
551b312c590SPatrice Chotard	help
552b312c590SPatrice Chotard	  This selects support for the SD/MMC controller on STM32H7 SoCs.
553b312c590SPatrice Chotard	  If you have a board based on such a SoC and with a SD/MMC slot,
554b312c590SPatrice Chotard	  say Y or M here.
555b312c590SPatrice Chotard
5569f678ab1SRick Chenconfig FTSDC010
5579f678ab1SRick Chen	bool "Ftsdc010 SD/MMC controller Support"
5589f678ab1SRick Chen	help
5599f678ab1SRick Chen	  This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
5609f678ab1SRick Chen
561095c9f35SRick Chenconfig FTSDC010_SDIO
562095c9f35SRick Chen	bool "Support ftsdc010 sdio"
563095c9f35SRick Chen	default n
564095c9f35SRick Chen	depends on FTSDC010
565095c9f35SRick Chen	help
566095c9f35SRick Chen		This can enable ftsdc010 sdio function.
567095c9f35SRick Chen
568e298c46aSMasahiro Yamadaendif
569e298c46aSMasahiro Yamada
5704119b709SMarcel Ziswilerconfig TEGRA124_MMC_DISABLE_EXT_LOOPBACK
5714119b709SMarcel Ziswiler	bool "Disable external clock loopback"
5724119b709SMarcel Ziswiler	depends on MMC_SDHCI_TEGRA && TEGRA124
5734119b709SMarcel Ziswiler	help
5744119b709SMarcel Ziswiler	  Disable the external clock loopback and use the internal one on SDMMC3
5754119b709SMarcel Ziswiler	  as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
5764119b709SMarcel Ziswiler	  being set to 0xfffd according to the TRM.
5774119b709SMarcel Ziswiler
5784119b709SMarcel Ziswiler	  TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
5794119b709SMarcel Ziswiler	  approach once proper kernel integration made it mainline.
5804119b709SMarcel Ziswiler
58107dea2e7SMario Sixconfig FSL_ESDHC
58207dea2e7SMario Six	bool "Freescale/NXP eSDHC controller support"
58307dea2e7SMario Six	help
58407dea2e7SMario Six	  This selects support for the eSDHC (enhanced secure digital host
58507dea2e7SMario Six	  controller) found on numerous Freescale/NXP SoCs.
58607dea2e7SMario Six
58772d42badSNobuhiro Iwamatsuendmenu
588c01e4a1aSYork Sun
589c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC111
590c01e4a1aSYork Sun	bool
591c01e4a1aSYork Sun
592c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC13
593c01e4a1aSYork Sun	bool
594c01e4a1aSYork Sun
595c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC135
596c01e4a1aSYork Sun	bool
597c01e4a1aSYork Sun
598c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC_A001
599c01e4a1aSYork Sun	bool
600