xref: /openbmc/u-boot/drivers/mmc/Kconfig (revision f99c2efe)
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
67a777f6dSMaxime Ripard	help
7c2726995SMasahiro Yamada	  This selects MultiMediaCard, Secure Digital and Secure
8c2726995SMasahiro Yamada	  Digital I/O support.
9c2726995SMasahiro Yamada
10c2726995SMasahiro Yamada	  If you want MMC/SD/SDIO support, you should say Y here and
11c2726995SMasahiro Yamada	  also to your specific host controller driver.
127a777f6dSMaxime Ripard
13e7ecf7cbSSimon Glassconfig DM_MMC
14e7ecf7cbSSimon Glass	bool "Enable MMC controllers using Driver Model"
15e7ecf7cbSSimon Glass	depends on DM
16e7ecf7cbSSimon Glass	help
1762a3b7ddSRobert P. J. Day	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
18e7ecf7cbSSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
19e7ecf7cbSSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
20e7ecf7cbSSimon Glass	  appear as block devices in U-Boot and can support filesystems such
21e7ecf7cbSSimon Glass	  as EXT4 and FAT.
22e7ecf7cbSSimon Glass
23c4d660d4SSimon Glassconfig SPL_DM_MMC
24c4d660d4SSimon Glass	bool "Enable MMC controllers using Driver Model in SPL"
25c4d660d4SSimon Glass	depends on SPL_DM && DM_MMC
26c4d660d4SSimon Glass	default y
27c4d660d4SSimon Glass	help
28c4d660d4SSimon Glass	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
29c4d660d4SSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
30c4d660d4SSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
31c4d660d4SSimon Glass	  appear as block devices in U-Boot and can support filesystems such
32c4d660d4SSimon Glass	  as EXT4 and FAT.
33c4d660d4SSimon Glass
34e298c46aSMasahiro Yamadaif MMC
35e298c46aSMasahiro Yamada
363c0dbed2SPatrice Chotardconfig ARM_PL180_MMCI
373c0dbed2SPatrice Chotard	bool "ARM AMBA Multimedia Card Interface and compatible support"
383c0dbed2SPatrice Chotard	depends on DM_MMC && OF_CONTROL
393c0dbed2SPatrice Chotard	help
403c0dbed2SPatrice Chotard	  This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
413c0dbed2SPatrice Chotard	  Interface (PL180, PL181 and compatible) support.
423c0dbed2SPatrice Chotard	  If you have an ARM(R) platform with a Multimedia Card slot,
433c0dbed2SPatrice Chotard	  say Y or M here.
443c0dbed2SPatrice Chotard
4583dc4227SKishon Vijay Abraham Iconfig MMC_QUIRKS
4683dc4227SKishon Vijay Abraham I	bool "Enable quirks"
4783dc4227SKishon Vijay Abraham I	default y
4883dc4227SKishon Vijay Abraham I	help
4983dc4227SKishon Vijay Abraham I	  Some cards and hosts may sometimes behave unexpectedly (quirks).
5083dc4227SKishon Vijay Abraham I	  This option enable workarounds to handle those quirks. Some of them
5183dc4227SKishon Vijay Abraham I	  are enabled by default, other may require additionnal flags or are
5283dc4227SKishon Vijay Abraham I	  enabled by the host driver.
5383dc4227SKishon Vijay Abraham I
54*f99c2efeSJean-Jacques Hiblotconfig MMC_IO_VOLTAGE
55*f99c2efeSJean-Jacques Hiblot	bool "Support IO voltage configuration"
56*f99c2efeSJean-Jacques Hiblot	help
57*f99c2efeSJean-Jacques Hiblot	  IO voltage configuration allows selecting the voltage level of the IO
58*f99c2efeSJean-Jacques Hiblot	  lines (not the level of main supply). This is required for UHS
59*f99c2efeSJean-Jacques Hiblot	  support. For eMMC this not mandatory, but not enabling this option may
60*f99c2efeSJean-Jacques Hiblot	  prevent the driver of using the faster modes.
61*f99c2efeSJean-Jacques Hiblot
62*f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_IO_VOLTAGE
63*f99c2efeSJean-Jacques Hiblot	bool "Support IO voltage configuration in SPL"
64*f99c2efeSJean-Jacques Hiblot	default n
65*f99c2efeSJean-Jacques Hiblot	help
66*f99c2efeSJean-Jacques Hiblot	  IO voltage configuration allows selecting the voltage level of the IO
67*f99c2efeSJean-Jacques Hiblot	  lines (not the level of main supply). This is required for UHS
68*f99c2efeSJean-Jacques Hiblot	  support. For eMMC this not mandatory, but not enabling this option may
69*f99c2efeSJean-Jacques Hiblot	  prevent the driver of using the faster modes.
70*f99c2efeSJean-Jacques Hiblot
71*f99c2efeSJean-Jacques Hiblotconfig MMC_UHS_SUPPORT
72*f99c2efeSJean-Jacques Hiblot	bool "enable UHS support"
73*f99c2efeSJean-Jacques Hiblot	depends on MMC_IO_VOLTAGE
74*f99c2efeSJean-Jacques Hiblot	help
75*f99c2efeSJean-Jacques Hiblot	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
76*f99c2efeSJean-Jacques Hiblot	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
77*f99c2efeSJean-Jacques Hiblot	  frequency can go up to 208MHz (SDR104)
78*f99c2efeSJean-Jacques Hiblot
79*f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_UHS_SUPPORT
80*f99c2efeSJean-Jacques Hiblot	bool "enable UHS support in SPL"
81*f99c2efeSJean-Jacques Hiblot	depends on SPL_MMC_IO_VOLTAGE
82*f99c2efeSJean-Jacques Hiblot	help
83*f99c2efeSJean-Jacques Hiblot	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
84*f99c2efeSJean-Jacques Hiblot	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
85*f99c2efeSJean-Jacques Hiblot	  frequency can go up to 208MHz (SDR104)
86*f99c2efeSJean-Jacques Hiblot
87*f99c2efeSJean-Jacques Hiblotconfig MMC_HS200_SUPPORT
88*f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support"
89*f99c2efeSJean-Jacques Hiblot	help
90*f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
91*f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
92*f99c2efeSJean-Jacques Hiblot
93*f99c2efeSJean-Jacques Hiblot
94*f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_HS200_SUPPORT
95*f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support in SPL"
96*f99c2efeSJean-Jacques Hiblot	help
97*f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
98*f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
99*f99c2efeSJean-Jacques Hiblot
10035f9e196SJean-Jacques Hiblotconfig MMC_VERBOSE
10135f9e196SJean-Jacques Hiblot	bool "Output more information about the MMC"
10235f9e196SJean-Jacques Hiblot	default y
10335f9e196SJean-Jacques Hiblot	help
10435f9e196SJean-Jacques Hiblot	  Enable the output of more information about the card such as the
10535f9e196SJean-Jacques Hiblot	  operating mode.
10635f9e196SJean-Jacques Hiblot
107b5b838f1SMarek Vasutconfig SPL_MMC_TINY
108b5b838f1SMarek Vasut	bool "Tiny MMC framework in SPL"
109b5b838f1SMarek Vasut	help
110b5b838f1SMarek Vasut	  Enable MMC framework tinification support. This option is useful if
111b5b838f1SMarek Vasut	  if your SPL is extremely size constrained. Heed the warning, enable
112b5b838f1SMarek Vasut	  this option if and only if you know exactly what you are doing, if
113b5b838f1SMarek Vasut	  you are reading this help text, you most likely have no idea :-)
114b5b838f1SMarek Vasut
115b5b838f1SMarek Vasut	  The MMC framework is reduced to bare minimum to be useful. No malloc
116b5b838f1SMarek Vasut	  support is needed for the MMC framework operation with this option
117b5b838f1SMarek Vasut	  enabled. The framework supports exactly one MMC device and exactly
118b5b838f1SMarek Vasut	  one MMC driver. The MMC driver can be adjusted to avoid any malloc
119b5b838f1SMarek Vasut	  operations too, which can remove the need for malloc support in SPL
120b5b838f1SMarek Vasut	  and thus further reduce footprint.
121b5b838f1SMarek Vasut
1221d2c0506SMasahiro Yamadaconfig MMC_DAVINCI
1231d2c0506SMasahiro Yamada	bool "TI DAVINCI Multimedia Card Interface support"
1241d2c0506SMasahiro Yamada	depends on ARCH_DAVINCI
1251d2c0506SMasahiro Yamada	default y
1261d2c0506SMasahiro Yamada	help
1271d2c0506SMasahiro Yamada	  This selects the TI DAVINCI Multimedia card Interface.
1281d2c0506SMasahiro Yamada	  If you have an DAVINCI board with a Multimedia Card slot,
1291d2c0506SMasahiro Yamada	  say Y here.  If unsure, say N.
1301d2c0506SMasahiro Yamada
13155ed3b46SMasahiro Yamadaconfig MMC_DW
13255ed3b46SMasahiro Yamada	bool "Synopsys DesignWare Memory Card Interface"
13355ed3b46SMasahiro Yamada	help
13455ed3b46SMasahiro Yamada	  This selects support for the Synopsys DesignWare Mobile Storage IP
13555ed3b46SMasahiro Yamada	  block, this provides host support for SD and MMC interfaces, in both
13655ed3b46SMasahiro Yamada	  PIO, internal DMA mode and external DMA mode.
13755ed3b46SMasahiro Yamada
138ae4c81e9SMasahiro Yamadaconfig MMC_DW_EXYNOS
139ae4c81e9SMasahiro Yamada	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
140ae4c81e9SMasahiro Yamada	depends on ARCH_EXYNOS
141ae4c81e9SMasahiro Yamada	depends on MMC_DW
142ae4c81e9SMasahiro Yamada	default y
143ae4c81e9SMasahiro Yamada	help
144ae4c81e9SMasahiro Yamada	  This selects support for Samsung Exynos SoC specific extensions to the
145ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
146ae4c81e9SMasahiro Yamada	  for platforms based on Exynos4 and Exynos5 SoC's.
147ae4c81e9SMasahiro Yamada
148ae4c81e9SMasahiro Yamadaconfig MMC_DW_K3
149ae4c81e9SMasahiro Yamada	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
150ae4c81e9SMasahiro Yamada	depends on MMC_DW
151ae4c81e9SMasahiro Yamada	help
152ae4c81e9SMasahiro Yamada	  This selects support for Hisilicon K3 SoC specific extensions to the
153ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
154ae4c81e9SMasahiro Yamada	  for platforms based on Hisilicon K3 SoC's.
155ae4c81e9SMasahiro Yamada
156fed44087SMasahiro Yamadaconfig MMC_DW_ROCKCHIP
157a8cb4fb5SSimon Glass	bool "Rockchip SD/MMC controller support"
158a8cb4fb5SSimon Glass	depends on DM_MMC && OF_CONTROL
15955ed3b46SMasahiro Yamada	depends on MMC_DW
160a8cb4fb5SSimon Glass	help
161a8cb4fb5SSimon Glass	  This enables support for the Rockchip SD/MMM controller, which is
162a8cb4fb5SSimon Glass	  based on Designware IP. The device is compatible with at least
163a8cb4fb5SSimon Glass	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
164a8cb4fb5SSimon Glass	  as removeable SD and micro-SD cards.
165a8cb4fb5SSimon Glass
166ae4c81e9SMasahiro Yamadaconfig MMC_DW_SOCFPGA
167ae4c81e9SMasahiro Yamada	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
168ae4c81e9SMasahiro Yamada	depends on ARCH_SOCFPGA
169ae4c81e9SMasahiro Yamada	depends on MMC_DW
170ae4c81e9SMasahiro Yamada	default y
171ae4c81e9SMasahiro Yamada	help
172ae4c81e9SMasahiro Yamada	  This selects support for Altera SOCFPGA specific extensions to the
173ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
174ae4c81e9SMasahiro Yamada	  for platforms based on Altera SOCFPGA.
175ae4c81e9SMasahiro Yamada
17693738620SCarlo Caioneconfig MMC_MESON_GX
17793738620SCarlo Caione	bool "Meson GX EMMC controller support"
178e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_MESON
17993738620SCarlo Caione	help
18093738620SCarlo Caione	 Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
18193738620SCarlo Caione
1821d2c0506SMasahiro Yamadaconfig MMC_MXC
1831d2c0506SMasahiro Yamada	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
1841d2c0506SMasahiro Yamada	help
1851d2c0506SMasahiro Yamada	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
1861d2c0506SMasahiro Yamada	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
1871d2c0506SMasahiro Yamada	  with a Multimedia Card slot, say Y here.
1881d2c0506SMasahiro Yamada
1891d2c0506SMasahiro Yamada	  If unsure, say N.
1901d2c0506SMasahiro Yamada
1911d2c0506SMasahiro Yamadaconfig MMC_MXS
1921d2c0506SMasahiro Yamada	bool "Freescale MXS Multimedia Card Interface support"
1931d2c0506SMasahiro Yamada	help
1941d2c0506SMasahiro Yamada	  This selects the Freescale SSP MMC controller found on MXS based
1951d2c0506SMasahiro Yamada	  platforms like mx23/28.
1961d2c0506SMasahiro Yamada
1971d2c0506SMasahiro Yamada	  If unsure, say N.
1981d2c0506SMasahiro Yamada
199b706b1c2SFelipe Balbiconfig MMC_PCI
200b706b1c2SFelipe Balbi	bool "Support for MMC controllers on PCI"
201b706b1c2SFelipe Balbi	help
202b706b1c2SFelipe Balbi	  This selects PCI-based MMC controllers.
203b706b1c2SFelipe Balbi	  If you have an MMC controller on a PCI bus, say Y here.
204b706b1c2SFelipe Balbi
205b706b1c2SFelipe Balbi	  If unsure, say N.
206b706b1c2SFelipe Balbi
2071d2c0506SMasahiro Yamadaconfig MMC_OMAP_HS
2081d2c0506SMasahiro Yamada	bool "TI OMAP High Speed Multimedia Card Interface support"
209e7881d85SSimon Glass	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2108ff7763dSJean-Jacques Hiblot	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2111d2c0506SMasahiro Yamada	help
2121d2c0506SMasahiro Yamada	  This selects the TI OMAP High Speed Multimedia card Interface.
2131d2c0506SMasahiro Yamada	  If you have an omap2plus board with a Multimedia Card slot,
2141d2c0506SMasahiro Yamada	  say Y here.
2151d2c0506SMasahiro Yamada
2161d2c0506SMasahiro Yamada	  If unsure, say N.
2171d2c0506SMasahiro Yamada
2186aca17c9SAdam Fordconfig MMC_OMAP36XX_PINS
2196aca17c9SAdam Ford	bool "Enable MMC1 on OMAP36xx/37xx"
2206aca17c9SAdam Ford	depends on OMAP34XX && MMC_OMAP_HS
2216aca17c9SAdam Ford	help
2226aca17c9SAdam Ford	  This enables extended-drain in the MMC/SD/SDIO1I/O and
2236aca17c9SAdam Ford	  GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
2246aca17c9SAdam Ford	  specific to the OMAP36xx/37xx using MMC1
2256aca17c9SAdam Ford
2266aca17c9SAdam Ford	  If you have a controller with this interface, say Y here.
2276aca17c9SAdam Ford
2286aca17c9SAdam Ford	  If unsure, say N.
2296aca17c9SAdam Ford
23072d42badSNobuhiro Iwamatsuconfig SH_SDHI
23172d42badSNobuhiro Iwamatsu	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
2320f531185SMarek Vasut	depends on ARCH_RMOBILE
23372d42badSNobuhiro Iwamatsu	help
23472d42badSNobuhiro Iwamatsu	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
23572d42badSNobuhiro Iwamatsu
236a111bfbfSMasahiro Yamadaconfig MMC_UNIPHIER
237b24633dfSMarek Vasut	bool "UniPhier/RCar SD/MMC Host Controller support"
238b24633dfSMarek Vasut	depends on ARCH_UNIPHIER || ARCH_RMOBILE
239e7881d85SSimon Glass	depends on BLK && DM_MMC
2409c720c81SMasahiro Yamada	depends on OF_CONTROL
241a111bfbfSMasahiro Yamada	help
242b24633dfSMarek Vasut	  This selects support for the Matsushita SD/MMC Host Controller on
243b24633dfSMarek Vasut	  SocioNext UniPhier and Renesas RCar SoCs.
244a111bfbfSMasahiro Yamada
245a5995a5dSMasahiro Yamadaconfig MMC_SANDBOX
246f376a3cbSSimon Glass	bool "Sandbox MMC support"
247a5995a5dSMasahiro Yamada	depends on SANDBOX
248e7881d85SSimon Glass	depends on BLK && DM_MMC && OF_CONTROL
249f376a3cbSSimon Glass	help
250f376a3cbSSimon Glass	  This select a dummy sandbox MMC driver. At present this does nothing
251f376a3cbSSimon Glass	  other than allow sandbox to be build with MMC support. This
252f376a3cbSSimon Glass	  improves build coverage for sandbox and makes it easier to detect
253f376a3cbSSimon Glass	  MMC build errors with sandbox.
254f376a3cbSSimon Glass
255e1ce61fbSMasahiro Yamadaconfig MMC_SDHCI
256e1ce61fbSMasahiro Yamada	bool "Secure Digital Host Controller Interface support"
257e1ce61fbSMasahiro Yamada	help
258e1ce61fbSMasahiro Yamada	  This selects the generic Secure Digital Host Controller Interface.
259e1ce61fbSMasahiro Yamada	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
260e1ce61fbSMasahiro Yamada	  and Toshiba(R). Most controllers found in laptops are of this type.
261e1ce61fbSMasahiro Yamada
262e1ce61fbSMasahiro Yamada	  If you have a controller with this interface, say Y here.
263e1ce61fbSMasahiro Yamada
264e1ce61fbSMasahiro Yamada	  If unsure, say N.
265e1ce61fbSMasahiro Yamada
2663d3a74ccSMasahiro Yamadaconfig MMC_SDHCI_IO_ACCESSORS
2673d3a74ccSMasahiro Yamada	bool
2683d3a74ccSMasahiro Yamada	depends on MMC_SDHCI
2693d3a74ccSMasahiro Yamada	help
2703d3a74ccSMasahiro Yamada	  This is silent Kconfig symbol that is selected by the drivers that
2713d3a74ccSMasahiro Yamada	  need to overwrite SDHCI IO memory accessors.
2723d3a74ccSMasahiro Yamada
27345a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SDMA
27445a68fe2SMasahiro Yamada	bool "Support SDHCI SDMA"
27545a68fe2SMasahiro Yamada	depends on MMC_SDHCI
27645a68fe2SMasahiro Yamada	help
27745a68fe2SMasahiro Yamada	  This enables support for the SDMA (Single Operation DMA) defined
27845a68fe2SMasahiro Yamada	  in the SD Host Controller Standard Specification Version 1.00 .
27945a68fe2SMasahiro Yamada
280dd3b64ebSMasahiro Yamadaconfig MMC_SDHCI_ATMEL
281dd3b64ebSMasahiro Yamada	bool "Atmel SDHCI controller support"
282dd3b64ebSMasahiro Yamada	depends on ARCH_AT91
283e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
284dd3b64ebSMasahiro Yamada	depends on MMC_SDHCI
285dd3b64ebSMasahiro Yamada	help
286dd3b64ebSMasahiro Yamada	  This enables support for the Atmel SDHCI controller, which supports
287dd3b64ebSMasahiro Yamada	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
288dd3b64ebSMasahiro Yamada	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
289dd3b64ebSMasahiro Yamada	  It is compliant with the SD Host Controller Standard V3.0
290dd3b64ebSMasahiro Yamada	  specification.
291dd3b64ebSMasahiro Yamada
29245a68fe2SMasahiro Yamadaconfig MMC_SDHCI_BCM2835
29345a68fe2SMasahiro Yamada	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
29445a68fe2SMasahiro Yamada	depends on ARCH_BCM283X
29545a68fe2SMasahiro Yamada	depends on MMC_SDHCI
2963d3a74ccSMasahiro Yamada	select MMC_SDHCI_IO_ACCESSORS
29745a68fe2SMasahiro Yamada	help
29845a68fe2SMasahiro Yamada	  This selects the BCM2835 SD/MMC controller.
29945a68fe2SMasahiro Yamada
30045a68fe2SMasahiro Yamada	  If you have a BCM2835 platform with SD or MMC devices,
30145a68fe2SMasahiro Yamada	  say Y here.
30245a68fe2SMasahiro Yamada
30345a68fe2SMasahiro Yamada	  If unsure, say N.
30445a68fe2SMasahiro Yamada
305e5e7a7c2SMasahiro Yamadaconfig MMC_SDHCI_CADENCE
306e5e7a7c2SMasahiro Yamada	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
307e7881d85SSimon Glass	depends on BLK && DM_MMC
308e5e7a7c2SMasahiro Yamada	depends on MMC_SDHCI
309e5e7a7c2SMasahiro Yamada	depends on OF_CONTROL
310e5e7a7c2SMasahiro Yamada	help
311e5e7a7c2SMasahiro Yamada	  This selects the Cadence SD/SDIO/eMMC driver.
312e5e7a7c2SMasahiro Yamada
313e5e7a7c2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
314e5e7a7c2SMasahiro Yamada
315e5e7a7c2SMasahiro Yamada	  If unsure, say N.
316e5e7a7c2SMasahiro Yamada
31745a68fe2SMasahiro Yamadaconfig MMC_SDHCI_KONA
31845a68fe2SMasahiro Yamada	bool "SDHCI support on Broadcom KONA platform"
31945a68fe2SMasahiro Yamada	depends on MMC_SDHCI
32045a68fe2SMasahiro Yamada	help
32145a68fe2SMasahiro Yamada	  This selects the Broadcom Kona Secure Digital Host Controller
32245a68fe2SMasahiro Yamada	  Interface(SDHCI) support.
32345a68fe2SMasahiro Yamada	  This is used in Broadcom mobile SoCs.
32445a68fe2SMasahiro Yamada
32545a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
32645a68fe2SMasahiro Yamada
327360c67d5SMasahiro Yamadaconfig MMC_SDHCI_MSM
328360c67d5SMasahiro Yamada	bool "Qualcomm SDHCI controller"
329e7881d85SSimon Glass	depends on BLK && DM_MMC
330360c67d5SMasahiro Yamada	depends on MMC_SDHCI
331360c67d5SMasahiro Yamada	help
332360c67d5SMasahiro Yamada	  Enables support for SDHCI 2.0 controller present on some Qualcomm
333360c67d5SMasahiro Yamada          Snapdragon devices. This device is compatible with eMMC v4.5 and
334360c67d5SMasahiro Yamada          SD 3.0 specifications. Both SD and eMMC devices are supported.
335360c67d5SMasahiro Yamada	  Card-detect gpios are not supported.
336360c67d5SMasahiro Yamada
33745a68fe2SMasahiro Yamadaconfig MMC_SDHCI_MV
33845a68fe2SMasahiro Yamada	bool "SDHCI support on Marvell platform"
33945a68fe2SMasahiro Yamada	depends on ARCH_MVEBU
34045a68fe2SMasahiro Yamada	depends on MMC_SDHCI
34145a68fe2SMasahiro Yamada	help
34245a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface on
34345a68fe2SMasahiro Yamada	  Marvell platform.
34445a68fe2SMasahiro Yamada
34545a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
34645a68fe2SMasahiro Yamada
34745a68fe2SMasahiro Yamada	  If unsure, say N.
34845a68fe2SMasahiro Yamada
3491b858770SMasahiro Yamadaconfig MMC_SDHCI_PIC32
3501b858770SMasahiro Yamada	bool "Microchip PIC32 on-chip SDHCI support"
3511b858770SMasahiro Yamada	depends on DM_MMC && MACH_PIC32
3521b858770SMasahiro Yamada	depends on MMC_SDHCI
3531b858770SMasahiro Yamada	help
3541b858770SMasahiro Yamada	  Support for Microchip PIC32 SDHCI controller.
3551b858770SMasahiro Yamada
356facc8058SMasahiro Yamadaconfig MMC_SDHCI_ROCKCHIP
357facc8058SMasahiro Yamada	bool "Arasan SDHCI controller for Rockchip support"
358facc8058SMasahiro Yamada	depends on ARCH_ROCKCHIP
359e7881d85SSimon Glass	depends on DM_MMC && BLK
360facc8058SMasahiro Yamada	depends on MMC_SDHCI
361facc8058SMasahiro Yamada	help
362facc8058SMasahiro Yamada	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
363facc8058SMasahiro Yamada
36445a68fe2SMasahiro Yamadaconfig MMC_SDHCI_S5P
36545a68fe2SMasahiro Yamada	bool "SDHCI support on Samsung S5P SoC"
36645a68fe2SMasahiro Yamada	depends on MMC_SDHCI
36745a68fe2SMasahiro Yamada	help
36845a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
36945a68fe2SMasahiro Yamada	  on Samsung S5P SoCs.
37045a68fe2SMasahiro Yamada
37145a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
37245a68fe2SMasahiro Yamada
37345a68fe2SMasahiro Yamada	  If unsure, say N.
37445a68fe2SMasahiro Yamada
37545a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SPEAR
37645a68fe2SMasahiro Yamada	bool "SDHCI support on ST SPEAr platform"
37745a68fe2SMasahiro Yamada	depends on MMC_SDHCI
37845a68fe2SMasahiro Yamada	help
37945a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
38045a68fe2SMasahiro Yamada	  often referrered to as the HSMMC block in some of the ST SPEAR range
38145a68fe2SMasahiro Yamada	  of SoC
38245a68fe2SMasahiro Yamada
38345a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
38445a68fe2SMasahiro Yamada
38545a68fe2SMasahiro Yamada	  If unsure, say N.
38645a68fe2SMasahiro Yamada
387eee20f81SPatrice Chotardconfig MMC_SDHCI_STI
388eee20f81SPatrice Chotard	bool "SDHCI support for STMicroelectronics SoC"
38951cb23d4SPatrice Chotard	depends on MMC_SDHCI && OF_CONTROL
390eee20f81SPatrice Chotard	help
391eee20f81SPatrice Chotard	  This selects the Secure Digital Host Controller Interface (SDHCI)
392eee20f81SPatrice Chotard	  on STMicroelectronics STiH410 SoC.
393eee20f81SPatrice Chotard
394b6acb5f1SStefan Roeseconfig MMC_SDHCI_XENON
395b6acb5f1SStefan Roese	bool "SDHCI support for the Xenon SDHCI controller"
396b6acb5f1SStefan Roese	depends on MMC_SDHCI && DM_MMC && OF_CONTROL
397b6acb5f1SStefan Roese	help
398b6acb5f1SStefan Roese	  Support for Xenon SDHCI host controller on Marvell Armada 3700
399b6acb5f1SStefan Roese	  7k/8k ARM SoCs platforms
400b6acb5f1SStefan Roese
401b6acb5f1SStefan Roese	  If you have a controller with this interface, say Y here.
402b6acb5f1SStefan Roese
403b6acb5f1SStefan Roese	  If unsure, say N.
404b6acb5f1SStefan Roese
40583b3248eSFelipe Balbiconfig MMC_SDHCI_TANGIER
40683b3248eSFelipe Balbi	bool "Tangier SDHCI controller support"
40783b3248eSFelipe Balbi	depends on DM_MMC && BLK
40883b3248eSFelipe Balbi	depends on MMC_SDHCI
40983b3248eSFelipe Balbi	help
41083b3248eSFelipe Balbi	  This selects support for SDHCI controller on Tanginer
41183b3248eSFelipe Balbi	  SoC. Note that this controller does not sit on PCI bus and,
41283b3248eSFelipe Balbi	  hence, cannot be enumerated by standard PCI means.
41383b3248eSFelipe Balbi
41483b3248eSFelipe Balbi	  If you're using an Intel Tangier SoC (available on Intel
41583b3248eSFelipe Balbi	  Edison board), say Y here.
41683b3248eSFelipe Balbi
41783b3248eSFelipe Balbi	  If unsure, say N.
41883b3248eSFelipe Balbi
4191d2c0506SMasahiro Yamadaconfig MMC_SDHCI_TEGRA
4201d2c0506SMasahiro Yamada	bool "SDHCI platform support for the Tegra SD/MMC Controller"
4211d2c0506SMasahiro Yamada	depends on TEGRA
4221d2c0506SMasahiro Yamada	default y
4231d2c0506SMasahiro Yamada	help
4241d2c0506SMasahiro Yamada	  This selects the Tegra SD/MMC controller. If you have a Tegra
4251d2c0506SMasahiro Yamada	  platform with SD or MMC devices, say Y here.
4261d2c0506SMasahiro Yamada
4271d2c0506SMasahiro Yamada	  If unsure, say N.
4281d2c0506SMasahiro Yamada
42908aa0334SMasahiro Yamadaconfig MMC_SDHCI_ZYNQ
43008aa0334SMasahiro Yamada	bool "Arasan SDHCI controller support"
43108aa0334SMasahiro Yamada	depends on ARCH_ZYNQ || ARCH_ZYNQMP
432e7881d85SSimon Glass	depends on DM_MMC && OF_CONTROL && BLK
43308aa0334SMasahiro Yamada	depends on MMC_SDHCI
43408aa0334SMasahiro Yamada	help
43508aa0334SMasahiro Yamada	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
43608aa0334SMasahiro Yamada
4371d2c0506SMasahiro Yamadaconfig MMC_SUNXI
4381d2c0506SMasahiro Yamada	bool "Allwinner sunxi SD/MMC Host Controller support"
4390ad178c1SMasahiro Yamada	depends on ARCH_SUNXI && !UART0_PORT_F
4401d2c0506SMasahiro Yamada	default y
4411d2c0506SMasahiro Yamada	help
4421d2c0506SMasahiro Yamada	  This selects support for the SD/MMC Host Controller on
4431d2c0506SMasahiro Yamada	  Allwinner sunxi SoCs.
4441d2c0506SMasahiro Yamada
445de9b1771SMaxime Ripardconfig MMC_SUNXI_HAS_NEW_MODE
446de9b1771SMaxime Ripard	bool
447de9b1771SMaxime Ripard	depends on MMC_SUNXI
448de9b1771SMaxime Ripard
449c86c0155SWenyou Yangconfig GENERIC_ATMEL_MCI
450c86c0155SWenyou Yang	bool "Atmel Multimedia Card Interface support"
451e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
452c86c0155SWenyou Yang	help
453c86c0155SWenyou Yang	  This enables support for Atmel High Speed Multimedia Card Interface
454c86c0155SWenyou Yang	  (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
455c86c0155SWenyou Yang	  the SD Memory Card Specification V2.0, the SDIO V2.0 specification
456c86c0155SWenyou Yang	  and CE-ATA V1.1.
457c86c0155SWenyou Yang
458b312c590SPatrice Chotardconfig STM32_SDMMC2
459b312c590SPatrice Chotard	bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
46053c656a8SPatrice Chotard	depends on DM_MMC && BLK && OF_CONTROL
461b312c590SPatrice Chotard	help
462b312c590SPatrice Chotard	  This selects support for the SD/MMC controller on STM32H7 SoCs.
463b312c590SPatrice Chotard	  If you have a board based on such a SoC and with a SD/MMC slot,
464b312c590SPatrice Chotard	  say Y or M here.
465b312c590SPatrice Chotard
4669f678ab1SRick Chenconfig MMC_NDS32
4679f678ab1SRick Chen	bool "Andestech SD/MMC controller support"
4689f678ab1SRick Chen	depends on DM_MMC && OF_CONTROL && BLK && FTSDC010
4699f678ab1SRick Chen	help
4709f678ab1SRick Chen	  This enables support for the Andestech SD/MMM controller, which is
4719f678ab1SRick Chen	  based on Faraday IP.
4729f678ab1SRick Chen
4739f678ab1SRick Chenconfig FTSDC010
4749f678ab1SRick Chen	bool "Ftsdc010 SD/MMC controller Support"
4759f678ab1SRick Chen	help
4769f678ab1SRick Chen	  This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
4779f678ab1SRick Chen
478e298c46aSMasahiro Yamadaendif
479e298c46aSMasahiro Yamada
4804119b709SMarcel Ziswilerconfig TEGRA124_MMC_DISABLE_EXT_LOOPBACK
4814119b709SMarcel Ziswiler	bool "Disable external clock loopback"
4824119b709SMarcel Ziswiler	depends on MMC_SDHCI_TEGRA && TEGRA124
4834119b709SMarcel Ziswiler	help
4844119b709SMarcel Ziswiler	  Disable the external clock loopback and use the internal one on SDMMC3
4854119b709SMarcel Ziswiler	  as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
4864119b709SMarcel Ziswiler	  being set to 0xfffd according to the TRM.
4874119b709SMarcel Ziswiler
4884119b709SMarcel Ziswiler	  TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
4894119b709SMarcel Ziswiler	  approach once proper kernel integration made it mainline.
4904119b709SMarcel Ziswiler
49172d42badSNobuhiro Iwamatsuendmenu
492c01e4a1aSYork Sun
493c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC111
494c01e4a1aSYork Sun	bool
495c01e4a1aSYork Sun
496c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC13
497c01e4a1aSYork Sun	bool
498c01e4a1aSYork Sun
499c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC135
500c01e4a1aSYork Sun	bool
501c01e4a1aSYork Sun
502c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC_A001
503c01e4a1aSYork Sun	bool
504