xref: /openbmc/u-boot/drivers/mmc/Kconfig (revision d6400c3f)
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
13*d6400c3fSJean-Jacques Hiblotconfig MMC_WRITE
14*d6400c3fSJean-Jacques Hiblot	bool "support for MMC/SD write operations"
15*d6400c3fSJean-Jacques Hiblot	depends on MMC
16*d6400c3fSJean-Jacques Hiblot	default y
17*d6400c3fSJean-Jacques Hiblot	help
18*d6400c3fSJean-Jacques Hiblot	  Enable write access to MMC and SD Cards
19*d6400c3fSJean-Jacques Hiblot
20e7ecf7cbSSimon Glassconfig DM_MMC
21e7ecf7cbSSimon Glass	bool "Enable MMC controllers using Driver Model"
22e7ecf7cbSSimon Glass	depends on DM
23e7ecf7cbSSimon Glass	help
2462a3b7ddSRobert P. J. Day	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
25e7ecf7cbSSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
26e7ecf7cbSSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
27e7ecf7cbSSimon Glass	  appear as block devices in U-Boot and can support filesystems such
28e7ecf7cbSSimon Glass	  as EXT4 and FAT.
29e7ecf7cbSSimon Glass
30c4d660d4SSimon Glassconfig SPL_DM_MMC
31c4d660d4SSimon Glass	bool "Enable MMC controllers using Driver Model in SPL"
32c4d660d4SSimon Glass	depends on SPL_DM && DM_MMC
33c4d660d4SSimon Glass	default y
34c4d660d4SSimon Glass	help
35c4d660d4SSimon Glass	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
36c4d660d4SSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
37c4d660d4SSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
38c4d660d4SSimon Glass	  appear as block devices in U-Boot and can support filesystems such
39c4d660d4SSimon Glass	  as EXT4 and FAT.
40c4d660d4SSimon Glass
41e298c46aSMasahiro Yamadaif MMC
42e298c46aSMasahiro Yamada
433c0dbed2SPatrice Chotardconfig ARM_PL180_MMCI
443c0dbed2SPatrice Chotard	bool "ARM AMBA Multimedia Card Interface and compatible support"
453c0dbed2SPatrice Chotard	depends on DM_MMC && OF_CONTROL
463c0dbed2SPatrice Chotard	help
473c0dbed2SPatrice Chotard	  This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
483c0dbed2SPatrice Chotard	  Interface (PL180, PL181 and compatible) support.
493c0dbed2SPatrice Chotard	  If you have an ARM(R) platform with a Multimedia Card slot,
503c0dbed2SPatrice Chotard	  say Y or M here.
513c0dbed2SPatrice Chotard
5283dc4227SKishon Vijay Abraham Iconfig MMC_QUIRKS
5383dc4227SKishon Vijay Abraham I	bool "Enable quirks"
5483dc4227SKishon Vijay Abraham I	default y
5583dc4227SKishon Vijay Abraham I	help
5683dc4227SKishon Vijay Abraham I	  Some cards and hosts may sometimes behave unexpectedly (quirks).
5783dc4227SKishon Vijay Abraham I	  This option enable workarounds to handle those quirks. Some of them
5883dc4227SKishon Vijay Abraham I	  are enabled by default, other may require additionnal flags or are
5983dc4227SKishon Vijay Abraham I	  enabled by the host driver.
6083dc4227SKishon Vijay Abraham I
61cf17789eSJean-Jacques Hiblotconfig MMC_HW_PARTITIONING
62cf17789eSJean-Jacques Hiblot	bool "Support for HW partitioning command(eMMC)"
63cf17789eSJean-Jacques Hiblot	default y
64cf17789eSJean-Jacques Hiblot	help
65cf17789eSJean-Jacques Hiblot	  This adds a command and an API to do hardware partitioning on eMMC
66cf17789eSJean-Jacques Hiblot	  devices.
67cf17789eSJean-Jacques Hiblot
68f99c2efeSJean-Jacques Hiblotconfig MMC_IO_VOLTAGE
69f99c2efeSJean-Jacques Hiblot	bool "Support IO voltage configuration"
70f99c2efeSJean-Jacques Hiblot	help
71f99c2efeSJean-Jacques Hiblot	  IO voltage configuration allows selecting the voltage level of the IO
72f99c2efeSJean-Jacques Hiblot	  lines (not the level of main supply). This is required for UHS
73f99c2efeSJean-Jacques Hiblot	  support. For eMMC this not mandatory, but not enabling this option may
74f99c2efeSJean-Jacques Hiblot	  prevent the driver of using the faster modes.
75f99c2efeSJean-Jacques Hiblot
76f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_IO_VOLTAGE
77f99c2efeSJean-Jacques Hiblot	bool "Support IO voltage configuration in SPL"
78f99c2efeSJean-Jacques Hiblot	default n
79f99c2efeSJean-Jacques Hiblot	help
80f99c2efeSJean-Jacques Hiblot	  IO voltage configuration allows selecting the voltage level of the IO
81f99c2efeSJean-Jacques Hiblot	  lines (not the level of main supply). This is required for UHS
82f99c2efeSJean-Jacques Hiblot	  support. For eMMC this not mandatory, but not enabling this option may
83f99c2efeSJean-Jacques Hiblot	  prevent the driver of using the faster modes.
84f99c2efeSJean-Jacques Hiblot
85f99c2efeSJean-Jacques Hiblotconfig MMC_UHS_SUPPORT
86f99c2efeSJean-Jacques Hiblot	bool "enable UHS support"
87f99c2efeSJean-Jacques Hiblot	depends on MMC_IO_VOLTAGE
88f99c2efeSJean-Jacques Hiblot	help
89f99c2efeSJean-Jacques Hiblot	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
90f99c2efeSJean-Jacques Hiblot	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
91f99c2efeSJean-Jacques Hiblot	  frequency can go up to 208MHz (SDR104)
92f99c2efeSJean-Jacques Hiblot
93f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_UHS_SUPPORT
94f99c2efeSJean-Jacques Hiblot	bool "enable UHS support in SPL"
95f99c2efeSJean-Jacques Hiblot	depends on SPL_MMC_IO_VOLTAGE
96f99c2efeSJean-Jacques Hiblot	help
97f99c2efeSJean-Jacques Hiblot	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
98f99c2efeSJean-Jacques Hiblot	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
99f99c2efeSJean-Jacques Hiblot	  frequency can go up to 208MHz (SDR104)
100f99c2efeSJean-Jacques Hiblot
101f99c2efeSJean-Jacques Hiblotconfig MMC_HS200_SUPPORT
102f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support"
103f99c2efeSJean-Jacques Hiblot	help
104f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
105f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
106f99c2efeSJean-Jacques Hiblot
107f99c2efeSJean-Jacques Hiblot
108f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_HS200_SUPPORT
109f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support in SPL"
110f99c2efeSJean-Jacques Hiblot	help
111f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
112f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
113f99c2efeSJean-Jacques Hiblot
11435f9e196SJean-Jacques Hiblotconfig MMC_VERBOSE
11535f9e196SJean-Jacques Hiblot	bool "Output more information about the MMC"
11635f9e196SJean-Jacques Hiblot	default y
11735f9e196SJean-Jacques Hiblot	help
11835f9e196SJean-Jacques Hiblot	  Enable the output of more information about the card such as the
11935f9e196SJean-Jacques Hiblot	  operating mode.
12035f9e196SJean-Jacques Hiblot
121b5b838f1SMarek Vasutconfig SPL_MMC_TINY
122b5b838f1SMarek Vasut	bool "Tiny MMC framework in SPL"
123b5b838f1SMarek Vasut	help
124b5b838f1SMarek Vasut	  Enable MMC framework tinification support. This option is useful if
125b5b838f1SMarek Vasut	  if your SPL is extremely size constrained. Heed the warning, enable
126b5b838f1SMarek Vasut	  this option if and only if you know exactly what you are doing, if
127b5b838f1SMarek Vasut	  you are reading this help text, you most likely have no idea :-)
128b5b838f1SMarek Vasut
129b5b838f1SMarek Vasut	  The MMC framework is reduced to bare minimum to be useful. No malloc
130b5b838f1SMarek Vasut	  support is needed for the MMC framework operation with this option
131b5b838f1SMarek Vasut	  enabled. The framework supports exactly one MMC device and exactly
132b5b838f1SMarek Vasut	  one MMC driver. The MMC driver can be adjusted to avoid any malloc
133b5b838f1SMarek Vasut	  operations too, which can remove the need for malloc support in SPL
134b5b838f1SMarek Vasut	  and thus further reduce footprint.
135b5b838f1SMarek Vasut
1361d2c0506SMasahiro Yamadaconfig MMC_DAVINCI
1371d2c0506SMasahiro Yamada	bool "TI DAVINCI Multimedia Card Interface support"
1381d2c0506SMasahiro Yamada	depends on ARCH_DAVINCI
1391d2c0506SMasahiro Yamada	default y
1401d2c0506SMasahiro Yamada	help
1411d2c0506SMasahiro Yamada	  This selects the TI DAVINCI Multimedia card Interface.
1421d2c0506SMasahiro Yamada	  If you have an DAVINCI board with a Multimedia Card slot,
1431d2c0506SMasahiro Yamada	  say Y here.  If unsure, say N.
1441d2c0506SMasahiro Yamada
14555ed3b46SMasahiro Yamadaconfig MMC_DW
14655ed3b46SMasahiro Yamada	bool "Synopsys DesignWare Memory Card Interface"
14755ed3b46SMasahiro Yamada	help
14855ed3b46SMasahiro Yamada	  This selects support for the Synopsys DesignWare Mobile Storage IP
14955ed3b46SMasahiro Yamada	  block, this provides host support for SD and MMC interfaces, in both
15055ed3b46SMasahiro Yamada	  PIO, internal DMA mode and external DMA mode.
15155ed3b46SMasahiro Yamada
152ae4c81e9SMasahiro Yamadaconfig MMC_DW_EXYNOS
153ae4c81e9SMasahiro Yamada	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
154ae4c81e9SMasahiro Yamada	depends on ARCH_EXYNOS
155ae4c81e9SMasahiro Yamada	depends on MMC_DW
156ae4c81e9SMasahiro Yamada	default y
157ae4c81e9SMasahiro Yamada	help
158ae4c81e9SMasahiro Yamada	  This selects support for Samsung Exynos SoC specific extensions to the
159ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
160ae4c81e9SMasahiro Yamada	  for platforms based on Exynos4 and Exynos5 SoC's.
161ae4c81e9SMasahiro Yamada
162ae4c81e9SMasahiro Yamadaconfig MMC_DW_K3
163ae4c81e9SMasahiro Yamada	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
164ae4c81e9SMasahiro Yamada	depends on MMC_DW
165ae4c81e9SMasahiro Yamada	help
166ae4c81e9SMasahiro Yamada	  This selects support for Hisilicon K3 SoC specific extensions to the
167ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
168ae4c81e9SMasahiro Yamada	  for platforms based on Hisilicon K3 SoC's.
169ae4c81e9SMasahiro Yamada
170fed44087SMasahiro Yamadaconfig MMC_DW_ROCKCHIP
171a8cb4fb5SSimon Glass	bool "Rockchip SD/MMC controller support"
172a8cb4fb5SSimon Glass	depends on DM_MMC && OF_CONTROL
17355ed3b46SMasahiro Yamada	depends on MMC_DW
174a8cb4fb5SSimon Glass	help
175a8cb4fb5SSimon Glass	  This enables support for the Rockchip SD/MMM controller, which is
176a8cb4fb5SSimon Glass	  based on Designware IP. The device is compatible with at least
177a8cb4fb5SSimon Glass	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
178a8cb4fb5SSimon Glass	  as removeable SD and micro-SD cards.
179a8cb4fb5SSimon Glass
180ae4c81e9SMasahiro Yamadaconfig MMC_DW_SOCFPGA
181ae4c81e9SMasahiro Yamada	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
182ae4c81e9SMasahiro Yamada	depends on ARCH_SOCFPGA
183ae4c81e9SMasahiro Yamada	depends on MMC_DW
184ae4c81e9SMasahiro Yamada	default y
185ae4c81e9SMasahiro Yamada	help
186ae4c81e9SMasahiro Yamada	  This selects support for Altera SOCFPGA specific extensions to the
187ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
188ae4c81e9SMasahiro Yamada	  for platforms based on Altera SOCFPGA.
189ae4c81e9SMasahiro Yamada
19093738620SCarlo Caioneconfig MMC_MESON_GX
19193738620SCarlo Caione	bool "Meson GX EMMC controller support"
192e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_MESON
19393738620SCarlo Caione	help
19493738620SCarlo Caione	 Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
19593738620SCarlo Caione
1961d2c0506SMasahiro Yamadaconfig MMC_MXC
1971d2c0506SMasahiro Yamada	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
1981d2c0506SMasahiro Yamada	help
1991d2c0506SMasahiro Yamada	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
2001d2c0506SMasahiro Yamada	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
2011d2c0506SMasahiro Yamada	  with a Multimedia Card slot, say Y here.
2021d2c0506SMasahiro Yamada
2031d2c0506SMasahiro Yamada	  If unsure, say N.
2041d2c0506SMasahiro Yamada
2051d2c0506SMasahiro Yamadaconfig MMC_MXS
2061d2c0506SMasahiro Yamada	bool "Freescale MXS Multimedia Card Interface support"
2071d2c0506SMasahiro Yamada	help
2081d2c0506SMasahiro Yamada	  This selects the Freescale SSP MMC controller found on MXS based
2091d2c0506SMasahiro Yamada	  platforms like mx23/28.
2101d2c0506SMasahiro Yamada
2111d2c0506SMasahiro Yamada	  If unsure, say N.
2121d2c0506SMasahiro Yamada
213b706b1c2SFelipe Balbiconfig MMC_PCI
214b706b1c2SFelipe Balbi	bool "Support for MMC controllers on PCI"
215b706b1c2SFelipe Balbi	help
216b706b1c2SFelipe Balbi	  This selects PCI-based MMC controllers.
217b706b1c2SFelipe Balbi	  If you have an MMC controller on a PCI bus, say Y here.
218b706b1c2SFelipe Balbi
219b706b1c2SFelipe Balbi	  If unsure, say N.
220b706b1c2SFelipe Balbi
2211d2c0506SMasahiro Yamadaconfig MMC_OMAP_HS
2221d2c0506SMasahiro Yamada	bool "TI OMAP High Speed Multimedia Card Interface support"
223e7881d85SSimon Glass	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2248ff7763dSJean-Jacques Hiblot	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2251d2c0506SMasahiro Yamada	help
2261d2c0506SMasahiro Yamada	  This selects the TI OMAP High Speed Multimedia card Interface.
2271d2c0506SMasahiro Yamada	  If you have an omap2plus board with a Multimedia Card slot,
2281d2c0506SMasahiro Yamada	  say Y here.
2291d2c0506SMasahiro Yamada
2301d2c0506SMasahiro Yamada	  If unsure, say N.
2311d2c0506SMasahiro Yamada
2326aca17c9SAdam Fordconfig MMC_OMAP36XX_PINS
2336aca17c9SAdam Ford	bool "Enable MMC1 on OMAP36xx/37xx"
2346aca17c9SAdam Ford	depends on OMAP34XX && MMC_OMAP_HS
2356aca17c9SAdam Ford	help
2366aca17c9SAdam Ford	  This enables extended-drain in the MMC/SD/SDIO1I/O and
2376aca17c9SAdam Ford	  GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
2386aca17c9SAdam Ford	  specific to the OMAP36xx/37xx using MMC1
2396aca17c9SAdam Ford
2406aca17c9SAdam Ford	  If you have a controller with this interface, say Y here.
2416aca17c9SAdam Ford
2426aca17c9SAdam Ford	  If unsure, say N.
2436aca17c9SAdam Ford
24472d42badSNobuhiro Iwamatsuconfig SH_SDHI
24572d42badSNobuhiro Iwamatsu	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
2460f531185SMarek Vasut	depends on ARCH_RMOBILE
24772d42badSNobuhiro Iwamatsu	help
24872d42badSNobuhiro Iwamatsu	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
24972d42badSNobuhiro Iwamatsu
250a111bfbfSMasahiro Yamadaconfig MMC_UNIPHIER
251b24633dfSMarek Vasut	bool "UniPhier/RCar SD/MMC Host Controller support"
252b24633dfSMarek Vasut	depends on ARCH_UNIPHIER || ARCH_RMOBILE
253e7881d85SSimon Glass	depends on BLK && DM_MMC
2549c720c81SMasahiro Yamada	depends on OF_CONTROL
255a111bfbfSMasahiro Yamada	help
256b24633dfSMarek Vasut	  This selects support for the Matsushita SD/MMC Host Controller on
257b24633dfSMarek Vasut	  SocioNext UniPhier and Renesas RCar SoCs.
258a111bfbfSMasahiro Yamada
259a5995a5dSMasahiro Yamadaconfig MMC_SANDBOX
260f376a3cbSSimon Glass	bool "Sandbox MMC support"
261a5995a5dSMasahiro Yamada	depends on SANDBOX
262e7881d85SSimon Glass	depends on BLK && DM_MMC && OF_CONTROL
263f376a3cbSSimon Glass	help
264f376a3cbSSimon Glass	  This select a dummy sandbox MMC driver. At present this does nothing
265f376a3cbSSimon Glass	  other than allow sandbox to be build with MMC support. This
266f376a3cbSSimon Glass	  improves build coverage for sandbox and makes it easier to detect
267f376a3cbSSimon Glass	  MMC build errors with sandbox.
268f376a3cbSSimon Glass
269e1ce61fbSMasahiro Yamadaconfig MMC_SDHCI
270e1ce61fbSMasahiro Yamada	bool "Secure Digital Host Controller Interface support"
271e1ce61fbSMasahiro Yamada	help
272e1ce61fbSMasahiro Yamada	  This selects the generic Secure Digital Host Controller Interface.
273e1ce61fbSMasahiro Yamada	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
274e1ce61fbSMasahiro Yamada	  and Toshiba(R). Most controllers found in laptops are of this type.
275e1ce61fbSMasahiro Yamada
276e1ce61fbSMasahiro Yamada	  If you have a controller with this interface, say Y here.
277e1ce61fbSMasahiro Yamada
278e1ce61fbSMasahiro Yamada	  If unsure, say N.
279e1ce61fbSMasahiro Yamada
2803d3a74ccSMasahiro Yamadaconfig MMC_SDHCI_IO_ACCESSORS
2813d3a74ccSMasahiro Yamada	bool
2823d3a74ccSMasahiro Yamada	depends on MMC_SDHCI
2833d3a74ccSMasahiro Yamada	help
2843d3a74ccSMasahiro Yamada	  This is silent Kconfig symbol that is selected by the drivers that
2853d3a74ccSMasahiro Yamada	  need to overwrite SDHCI IO memory accessors.
2863d3a74ccSMasahiro Yamada
28745a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SDMA
28845a68fe2SMasahiro Yamada	bool "Support SDHCI SDMA"
28945a68fe2SMasahiro Yamada	depends on MMC_SDHCI
29045a68fe2SMasahiro Yamada	help
29145a68fe2SMasahiro Yamada	  This enables support for the SDMA (Single Operation DMA) defined
29245a68fe2SMasahiro Yamada	  in the SD Host Controller Standard Specification Version 1.00 .
29345a68fe2SMasahiro Yamada
294dd3b64ebSMasahiro Yamadaconfig MMC_SDHCI_ATMEL
295dd3b64ebSMasahiro Yamada	bool "Atmel SDHCI controller support"
296dd3b64ebSMasahiro Yamada	depends on ARCH_AT91
297e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
298dd3b64ebSMasahiro Yamada	depends on MMC_SDHCI
299dd3b64ebSMasahiro Yamada	help
300dd3b64ebSMasahiro Yamada	  This enables support for the Atmel SDHCI controller, which supports
301dd3b64ebSMasahiro Yamada	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
302dd3b64ebSMasahiro Yamada	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
303dd3b64ebSMasahiro Yamada	  It is compliant with the SD Host Controller Standard V3.0
304dd3b64ebSMasahiro Yamada	  specification.
305dd3b64ebSMasahiro Yamada
30645a68fe2SMasahiro Yamadaconfig MMC_SDHCI_BCM2835
30745a68fe2SMasahiro Yamada	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
30845a68fe2SMasahiro Yamada	depends on ARCH_BCM283X
30945a68fe2SMasahiro Yamada	depends on MMC_SDHCI
3103d3a74ccSMasahiro Yamada	select MMC_SDHCI_IO_ACCESSORS
31145a68fe2SMasahiro Yamada	help
31245a68fe2SMasahiro Yamada	  This selects the BCM2835 SD/MMC controller.
31345a68fe2SMasahiro Yamada
31445a68fe2SMasahiro Yamada	  If you have a BCM2835 platform with SD or MMC devices,
31545a68fe2SMasahiro Yamada	  say Y here.
31645a68fe2SMasahiro Yamada
31745a68fe2SMasahiro Yamada	  If unsure, say N.
31845a68fe2SMasahiro Yamada
319e5e7a7c2SMasahiro Yamadaconfig MMC_SDHCI_CADENCE
320e5e7a7c2SMasahiro Yamada	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
321e7881d85SSimon Glass	depends on BLK && DM_MMC
322e5e7a7c2SMasahiro Yamada	depends on MMC_SDHCI
323e5e7a7c2SMasahiro Yamada	depends on OF_CONTROL
324e5e7a7c2SMasahiro Yamada	help
325e5e7a7c2SMasahiro Yamada	  This selects the Cadence SD/SDIO/eMMC driver.
326e5e7a7c2SMasahiro Yamada
327e5e7a7c2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
328e5e7a7c2SMasahiro Yamada
329e5e7a7c2SMasahiro Yamada	  If unsure, say N.
330e5e7a7c2SMasahiro Yamada
33145a68fe2SMasahiro Yamadaconfig MMC_SDHCI_KONA
33245a68fe2SMasahiro Yamada	bool "SDHCI support on Broadcom KONA platform"
33345a68fe2SMasahiro Yamada	depends on MMC_SDHCI
33445a68fe2SMasahiro Yamada	help
33545a68fe2SMasahiro Yamada	  This selects the Broadcom Kona Secure Digital Host Controller
33645a68fe2SMasahiro Yamada	  Interface(SDHCI) support.
33745a68fe2SMasahiro Yamada	  This is used in Broadcom mobile SoCs.
33845a68fe2SMasahiro Yamada
33945a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
34045a68fe2SMasahiro Yamada
341360c67d5SMasahiro Yamadaconfig MMC_SDHCI_MSM
342360c67d5SMasahiro Yamada	bool "Qualcomm SDHCI controller"
343e7881d85SSimon Glass	depends on BLK && DM_MMC
344360c67d5SMasahiro Yamada	depends on MMC_SDHCI
345360c67d5SMasahiro Yamada	help
346360c67d5SMasahiro Yamada	  Enables support for SDHCI 2.0 controller present on some Qualcomm
347360c67d5SMasahiro Yamada          Snapdragon devices. This device is compatible with eMMC v4.5 and
348360c67d5SMasahiro Yamada          SD 3.0 specifications. Both SD and eMMC devices are supported.
349360c67d5SMasahiro Yamada	  Card-detect gpios are not supported.
350360c67d5SMasahiro Yamada
35145a68fe2SMasahiro Yamadaconfig MMC_SDHCI_MV
35245a68fe2SMasahiro Yamada	bool "SDHCI support on Marvell platform"
35345a68fe2SMasahiro Yamada	depends on ARCH_MVEBU
35445a68fe2SMasahiro Yamada	depends on MMC_SDHCI
35545a68fe2SMasahiro Yamada	help
35645a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface on
35745a68fe2SMasahiro Yamada	  Marvell platform.
35845a68fe2SMasahiro Yamada
35945a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
36045a68fe2SMasahiro Yamada
36145a68fe2SMasahiro Yamada	  If unsure, say N.
36245a68fe2SMasahiro Yamada
3631b858770SMasahiro Yamadaconfig MMC_SDHCI_PIC32
3641b858770SMasahiro Yamada	bool "Microchip PIC32 on-chip SDHCI support"
3651b858770SMasahiro Yamada	depends on DM_MMC && MACH_PIC32
3661b858770SMasahiro Yamada	depends on MMC_SDHCI
3671b858770SMasahiro Yamada	help
3681b858770SMasahiro Yamada	  Support for Microchip PIC32 SDHCI controller.
3691b858770SMasahiro Yamada
370facc8058SMasahiro Yamadaconfig MMC_SDHCI_ROCKCHIP
371facc8058SMasahiro Yamada	bool "Arasan SDHCI controller for Rockchip support"
372facc8058SMasahiro Yamada	depends on ARCH_ROCKCHIP
373e7881d85SSimon Glass	depends on DM_MMC && BLK
374facc8058SMasahiro Yamada	depends on MMC_SDHCI
375facc8058SMasahiro Yamada	help
376facc8058SMasahiro Yamada	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
377facc8058SMasahiro Yamada
37845a68fe2SMasahiro Yamadaconfig MMC_SDHCI_S5P
37945a68fe2SMasahiro Yamada	bool "SDHCI support on Samsung S5P SoC"
38045a68fe2SMasahiro Yamada	depends on MMC_SDHCI
38145a68fe2SMasahiro Yamada	help
38245a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
38345a68fe2SMasahiro Yamada	  on Samsung S5P SoCs.
38445a68fe2SMasahiro Yamada
38545a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
38645a68fe2SMasahiro Yamada
38745a68fe2SMasahiro Yamada	  If unsure, say N.
38845a68fe2SMasahiro Yamada
38945a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SPEAR
39045a68fe2SMasahiro Yamada	bool "SDHCI support on ST SPEAr platform"
39145a68fe2SMasahiro Yamada	depends on MMC_SDHCI
39245a68fe2SMasahiro Yamada	help
39345a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
39445a68fe2SMasahiro Yamada	  often referrered to as the HSMMC block in some of the ST SPEAR range
39545a68fe2SMasahiro Yamada	  of SoC
39645a68fe2SMasahiro Yamada
39745a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
39845a68fe2SMasahiro Yamada
39945a68fe2SMasahiro Yamada	  If unsure, say N.
40045a68fe2SMasahiro Yamada
401eee20f81SPatrice Chotardconfig MMC_SDHCI_STI
402eee20f81SPatrice Chotard	bool "SDHCI support for STMicroelectronics SoC"
40351cb23d4SPatrice Chotard	depends on MMC_SDHCI && OF_CONTROL
404eee20f81SPatrice Chotard	help
405eee20f81SPatrice Chotard	  This selects the Secure Digital Host Controller Interface (SDHCI)
406eee20f81SPatrice Chotard	  on STMicroelectronics STiH410 SoC.
407eee20f81SPatrice Chotard
408b6acb5f1SStefan Roeseconfig MMC_SDHCI_XENON
409b6acb5f1SStefan Roese	bool "SDHCI support for the Xenon SDHCI controller"
410b6acb5f1SStefan Roese	depends on MMC_SDHCI && DM_MMC && OF_CONTROL
411b6acb5f1SStefan Roese	help
412b6acb5f1SStefan Roese	  Support for Xenon SDHCI host controller on Marvell Armada 3700
413b6acb5f1SStefan Roese	  7k/8k ARM SoCs platforms
414b6acb5f1SStefan Roese
415b6acb5f1SStefan Roese	  If you have a controller with this interface, say Y here.
416b6acb5f1SStefan Roese
417b6acb5f1SStefan Roese	  If unsure, say N.
418b6acb5f1SStefan Roese
41983b3248eSFelipe Balbiconfig MMC_SDHCI_TANGIER
42083b3248eSFelipe Balbi	bool "Tangier SDHCI controller support"
42183b3248eSFelipe Balbi	depends on DM_MMC && BLK
42283b3248eSFelipe Balbi	depends on MMC_SDHCI
42383b3248eSFelipe Balbi	help
42483b3248eSFelipe Balbi	  This selects support for SDHCI controller on Tanginer
42583b3248eSFelipe Balbi	  SoC. Note that this controller does not sit on PCI bus and,
42683b3248eSFelipe Balbi	  hence, cannot be enumerated by standard PCI means.
42783b3248eSFelipe Balbi
42883b3248eSFelipe Balbi	  If you're using an Intel Tangier SoC (available on Intel
42983b3248eSFelipe Balbi	  Edison board), say Y here.
43083b3248eSFelipe Balbi
43183b3248eSFelipe Balbi	  If unsure, say N.
43283b3248eSFelipe Balbi
4331d2c0506SMasahiro Yamadaconfig MMC_SDHCI_TEGRA
4341d2c0506SMasahiro Yamada	bool "SDHCI platform support for the Tegra SD/MMC Controller"
4351d2c0506SMasahiro Yamada	depends on TEGRA
4361d2c0506SMasahiro Yamada	default y
4371d2c0506SMasahiro Yamada	help
4381d2c0506SMasahiro Yamada	  This selects the Tegra SD/MMC controller. If you have a Tegra
4391d2c0506SMasahiro Yamada	  platform with SD or MMC devices, say Y here.
4401d2c0506SMasahiro Yamada
4411d2c0506SMasahiro Yamada	  If unsure, say N.
4421d2c0506SMasahiro Yamada
44308aa0334SMasahiro Yamadaconfig MMC_SDHCI_ZYNQ
44408aa0334SMasahiro Yamada	bool "Arasan SDHCI controller support"
44508aa0334SMasahiro Yamada	depends on ARCH_ZYNQ || ARCH_ZYNQMP
446e7881d85SSimon Glass	depends on DM_MMC && OF_CONTROL && BLK
44708aa0334SMasahiro Yamada	depends on MMC_SDHCI
44808aa0334SMasahiro Yamada	help
44908aa0334SMasahiro Yamada	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
45008aa0334SMasahiro Yamada
4511d2c0506SMasahiro Yamadaconfig MMC_SUNXI
4521d2c0506SMasahiro Yamada	bool "Allwinner sunxi SD/MMC Host Controller support"
4530ad178c1SMasahiro Yamada	depends on ARCH_SUNXI && !UART0_PORT_F
4541d2c0506SMasahiro Yamada	default y
4551d2c0506SMasahiro Yamada	help
4561d2c0506SMasahiro Yamada	  This selects support for the SD/MMC Host Controller on
4571d2c0506SMasahiro Yamada	  Allwinner sunxi SoCs.
4581d2c0506SMasahiro Yamada
459de9b1771SMaxime Ripardconfig MMC_SUNXI_HAS_NEW_MODE
460de9b1771SMaxime Ripard	bool
461de9b1771SMaxime Ripard	depends on MMC_SUNXI
462de9b1771SMaxime Ripard
463c86c0155SWenyou Yangconfig GENERIC_ATMEL_MCI
464c86c0155SWenyou Yang	bool "Atmel Multimedia Card Interface support"
465e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
466c86c0155SWenyou Yang	help
467c86c0155SWenyou Yang	  This enables support for Atmel High Speed Multimedia Card Interface
468c86c0155SWenyou Yang	  (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
469c86c0155SWenyou Yang	  the SD Memory Card Specification V2.0, the SDIO V2.0 specification
470c86c0155SWenyou Yang	  and CE-ATA V1.1.
471c86c0155SWenyou Yang
472b312c590SPatrice Chotardconfig STM32_SDMMC2
473b312c590SPatrice Chotard	bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
47453c656a8SPatrice Chotard	depends on DM_MMC && BLK && OF_CONTROL
475b312c590SPatrice Chotard	help
476b312c590SPatrice Chotard	  This selects support for the SD/MMC controller on STM32H7 SoCs.
477b312c590SPatrice Chotard	  If you have a board based on such a SoC and with a SD/MMC slot,
478b312c590SPatrice Chotard	  say Y or M here.
479b312c590SPatrice Chotard
4809f678ab1SRick Chenconfig MMC_NDS32
4819f678ab1SRick Chen	bool "Andestech SD/MMC controller support"
4829f678ab1SRick Chen	depends on DM_MMC && OF_CONTROL && BLK && FTSDC010
4839f678ab1SRick Chen	help
4849f678ab1SRick Chen	  This enables support for the Andestech SD/MMM controller, which is
4859f678ab1SRick Chen	  based on Faraday IP.
4869f678ab1SRick Chen
4879f678ab1SRick Chenconfig FTSDC010
4889f678ab1SRick Chen	bool "Ftsdc010 SD/MMC controller Support"
4899f678ab1SRick Chen	help
4909f678ab1SRick Chen	  This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
4919f678ab1SRick Chen
492e298c46aSMasahiro Yamadaendif
493e298c46aSMasahiro Yamada
4944119b709SMarcel Ziswilerconfig TEGRA124_MMC_DISABLE_EXT_LOOPBACK
4954119b709SMarcel Ziswiler	bool "Disable external clock loopback"
4964119b709SMarcel Ziswiler	depends on MMC_SDHCI_TEGRA && TEGRA124
4974119b709SMarcel Ziswiler	help
4984119b709SMarcel Ziswiler	  Disable the external clock loopback and use the internal one on SDMMC3
4994119b709SMarcel Ziswiler	  as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
5004119b709SMarcel Ziswiler	  being set to 0xfffd according to the TRM.
5014119b709SMarcel Ziswiler
5024119b709SMarcel Ziswiler	  TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
5034119b709SMarcel Ziswiler	  approach once proper kernel integration made it mainline.
5044119b709SMarcel Ziswiler
50572d42badSNobuhiro Iwamatsuendmenu
506c01e4a1aSYork Sun
507c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC111
508c01e4a1aSYork Sun	bool
509c01e4a1aSYork Sun
510c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC13
511c01e4a1aSYork Sun	bool
512c01e4a1aSYork Sun
513c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC135
514c01e4a1aSYork Sun	bool
515c01e4a1aSYork Sun
516c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC_A001
517c01e4a1aSYork Sun	bool
518