xref: /openbmc/u-boot/drivers/mmc/Kconfig (revision 99bec1ae)
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
13d6400c3fSJean-Jacques Hiblotconfig MMC_WRITE
14d6400c3fSJean-Jacques Hiblot	bool "support for MMC/SD write operations"
15d6400c3fSJean-Jacques Hiblot	depends on MMC
16d6400c3fSJean-Jacques Hiblot	default y
17d6400c3fSJean-Jacques Hiblot	help
18d6400c3fSJean-Jacques Hiblot	  Enable write access to MMC and SD Cards
19d6400c3fSJean-Jacques Hiblot
202f516e4aSJun Nieconfig MMC_BROKEN_CD
212f516e4aSJun Nie	bool "Poll for broken card detection case"
222f516e4aSJun Nie	help
232f516e4aSJun Nie	  If card  detection feature is broken, just poll to detect.
242f516e4aSJun Nie
25e7ecf7cbSSimon Glassconfig DM_MMC
26e7ecf7cbSSimon Glass	bool "Enable MMC controllers using Driver Model"
27e7ecf7cbSSimon Glass	depends on DM
28e7ecf7cbSSimon Glass	help
2962a3b7ddSRobert P. J. Day	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
30e7ecf7cbSSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
31e7ecf7cbSSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
32e7ecf7cbSSimon Glass	  appear as block devices in U-Boot and can support filesystems such
33e7ecf7cbSSimon Glass	  as EXT4 and FAT.
34e7ecf7cbSSimon Glass
35c4d660d4SSimon Glassconfig SPL_DM_MMC
36c4d660d4SSimon Glass	bool "Enable MMC controllers using Driver Model in SPL"
37c4d660d4SSimon Glass	depends on SPL_DM && DM_MMC
38c4d660d4SSimon Glass	default y
39c4d660d4SSimon Glass	help
40c4d660d4SSimon Glass	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
41c4d660d4SSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
42c4d660d4SSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
43c4d660d4SSimon Glass	  appear as block devices in U-Boot and can support filesystems such
44c4d660d4SSimon Glass	  as EXT4 and FAT.
45c4d660d4SSimon Glass
46e298c46aSMasahiro Yamadaif MMC
47e298c46aSMasahiro Yamada
483c0dbed2SPatrice Chotardconfig ARM_PL180_MMCI
493c0dbed2SPatrice Chotard	bool "ARM AMBA Multimedia Card Interface and compatible support"
503c0dbed2SPatrice Chotard	depends on DM_MMC && OF_CONTROL
513c0dbed2SPatrice Chotard	help
523c0dbed2SPatrice Chotard	  This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
533c0dbed2SPatrice Chotard	  Interface (PL180, PL181 and compatible) support.
543c0dbed2SPatrice Chotard	  If you have an ARM(R) platform with a Multimedia Card slot,
553c0dbed2SPatrice Chotard	  say Y or M here.
563c0dbed2SPatrice Chotard
5783dc4227SKishon Vijay Abraham Iconfig MMC_QUIRKS
5883dc4227SKishon Vijay Abraham I	bool "Enable quirks"
5983dc4227SKishon Vijay Abraham I	default y
6083dc4227SKishon Vijay Abraham I	help
6183dc4227SKishon Vijay Abraham I	  Some cards and hosts may sometimes behave unexpectedly (quirks).
6283dc4227SKishon Vijay Abraham I	  This option enable workarounds to handle those quirks. Some of them
6383dc4227SKishon Vijay Abraham I	  are enabled by default, other may require additionnal flags or are
6483dc4227SKishon Vijay Abraham I	  enabled by the host driver.
6583dc4227SKishon Vijay Abraham I
66cf17789eSJean-Jacques Hiblotconfig MMC_HW_PARTITIONING
67cf17789eSJean-Jacques Hiblot	bool "Support for HW partitioning command(eMMC)"
68cf17789eSJean-Jacques Hiblot	default y
69cf17789eSJean-Jacques Hiblot	help
70cf17789eSJean-Jacques Hiblot	  This adds a command and an API to do hardware partitioning on eMMC
71cf17789eSJean-Jacques Hiblot	  devices.
72cf17789eSJean-Jacques Hiblot
73f99c2efeSJean-Jacques Hiblotconfig MMC_IO_VOLTAGE
74f99c2efeSJean-Jacques Hiblot	bool "Support IO voltage configuration"
75f99c2efeSJean-Jacques Hiblot	help
76f99c2efeSJean-Jacques Hiblot	  IO voltage configuration allows selecting the voltage level of the IO
77f99c2efeSJean-Jacques Hiblot	  lines (not the level of main supply). This is required for UHS
78f99c2efeSJean-Jacques Hiblot	  support. For eMMC this not mandatory, but not enabling this option may
79f99c2efeSJean-Jacques Hiblot	  prevent the driver of using the faster modes.
80f99c2efeSJean-Jacques Hiblot
81f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_IO_VOLTAGE
82f99c2efeSJean-Jacques Hiblot	bool "Support IO voltage configuration in SPL"
83f99c2efeSJean-Jacques Hiblot	default n
84f99c2efeSJean-Jacques Hiblot	help
85f99c2efeSJean-Jacques Hiblot	  IO voltage configuration allows selecting the voltage level of the IO
86f99c2efeSJean-Jacques Hiblot	  lines (not the level of main supply). This is required for UHS
87f99c2efeSJean-Jacques Hiblot	  support. For eMMC this not mandatory, but not enabling this option may
88f99c2efeSJean-Jacques Hiblot	  prevent the driver of using the faster modes.
89f99c2efeSJean-Jacques Hiblot
90f99c2efeSJean-Jacques Hiblotconfig MMC_UHS_SUPPORT
91f99c2efeSJean-Jacques Hiblot	bool "enable UHS support"
92f99c2efeSJean-Jacques Hiblot	depends on MMC_IO_VOLTAGE
93f99c2efeSJean-Jacques Hiblot	help
94f99c2efeSJean-Jacques Hiblot	  The Ultra High Speed (UHS) bus is available on some SDHC and SDXC
95f99c2efeSJean-Jacques Hiblot	  cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
96f99c2efeSJean-Jacques Hiblot	  frequency can go up to 208MHz (SDR104)
97f99c2efeSJean-Jacques Hiblot
98f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_UHS_SUPPORT
99f99c2efeSJean-Jacques Hiblot	bool "enable UHS support in SPL"
100f99c2efeSJean-Jacques Hiblot	depends on SPL_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 MMC_HS200_SUPPORT
107f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support"
108f99c2efeSJean-Jacques Hiblot	help
109f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
110f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
111f99c2efeSJean-Jacques Hiblot
112f99c2efeSJean-Jacques Hiblot
113f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_HS200_SUPPORT
114f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support in SPL"
115f99c2efeSJean-Jacques Hiblot	help
116f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
117f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
118f99c2efeSJean-Jacques Hiblot
11935f9e196SJean-Jacques Hiblotconfig MMC_VERBOSE
12035f9e196SJean-Jacques Hiblot	bool "Output more information about the MMC"
12135f9e196SJean-Jacques Hiblot	default y
12235f9e196SJean-Jacques Hiblot	help
12335f9e196SJean-Jacques Hiblot	  Enable the output of more information about the card such as the
12435f9e196SJean-Jacques Hiblot	  operating mode.
12535f9e196SJean-Jacques Hiblot
126b5b838f1SMarek Vasutconfig SPL_MMC_TINY
127b5b838f1SMarek Vasut	bool "Tiny MMC framework in SPL"
128b5b838f1SMarek Vasut	help
129b5b838f1SMarek Vasut	  Enable MMC framework tinification support. This option is useful if
130b5b838f1SMarek Vasut	  if your SPL is extremely size constrained. Heed the warning, enable
131b5b838f1SMarek Vasut	  this option if and only if you know exactly what you are doing, if
132b5b838f1SMarek Vasut	  you are reading this help text, you most likely have no idea :-)
133b5b838f1SMarek Vasut
134b5b838f1SMarek Vasut	  The MMC framework is reduced to bare minimum to be useful. No malloc
135b5b838f1SMarek Vasut	  support is needed for the MMC framework operation with this option
136b5b838f1SMarek Vasut	  enabled. The framework supports exactly one MMC device and exactly
137b5b838f1SMarek Vasut	  one MMC driver. The MMC driver can be adjusted to avoid any malloc
138b5b838f1SMarek Vasut	  operations too, which can remove the need for malloc support in SPL
139b5b838f1SMarek Vasut	  and thus further reduce footprint.
140b5b838f1SMarek Vasut
1411d2c0506SMasahiro Yamadaconfig MMC_DAVINCI
1421d2c0506SMasahiro Yamada	bool "TI DAVINCI Multimedia Card Interface support"
1431d2c0506SMasahiro Yamada	depends on ARCH_DAVINCI
1441d2c0506SMasahiro Yamada	default y
1451d2c0506SMasahiro Yamada	help
1461d2c0506SMasahiro Yamada	  This selects the TI DAVINCI Multimedia card Interface.
1471d2c0506SMasahiro Yamada	  If you have an DAVINCI board with a Multimedia Card slot,
1481d2c0506SMasahiro Yamada	  say Y here.  If unsure, say N.
1491d2c0506SMasahiro Yamada
15055ed3b46SMasahiro Yamadaconfig MMC_DW
15155ed3b46SMasahiro Yamada	bool "Synopsys DesignWare Memory Card Interface"
15255ed3b46SMasahiro Yamada	help
15355ed3b46SMasahiro Yamada	  This selects support for the Synopsys DesignWare Mobile Storage IP
15455ed3b46SMasahiro Yamada	  block, this provides host support for SD and MMC interfaces, in both
15555ed3b46SMasahiro Yamada	  PIO, internal DMA mode and external DMA mode.
15655ed3b46SMasahiro Yamada
157ae4c81e9SMasahiro Yamadaconfig MMC_DW_EXYNOS
158ae4c81e9SMasahiro Yamada	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
159ae4c81e9SMasahiro Yamada	depends on ARCH_EXYNOS
160ae4c81e9SMasahiro Yamada	depends on MMC_DW
161ae4c81e9SMasahiro Yamada	default y
162ae4c81e9SMasahiro Yamada	help
163ae4c81e9SMasahiro Yamada	  This selects support for Samsung Exynos SoC specific extensions to the
164ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
165ae4c81e9SMasahiro Yamada	  for platforms based on Exynos4 and Exynos5 SoC's.
166ae4c81e9SMasahiro Yamada
167ae4c81e9SMasahiro Yamadaconfig MMC_DW_K3
168ae4c81e9SMasahiro Yamada	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
169ae4c81e9SMasahiro Yamada	depends on MMC_DW
170ae4c81e9SMasahiro Yamada	help
171ae4c81e9SMasahiro Yamada	  This selects support for Hisilicon K3 SoC specific extensions to the
172ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
173ae4c81e9SMasahiro Yamada	  for platforms based on Hisilicon K3 SoC's.
174ae4c81e9SMasahiro Yamada
175fed44087SMasahiro Yamadaconfig MMC_DW_ROCKCHIP
176a8cb4fb5SSimon Glass	bool "Rockchip SD/MMC controller support"
177a8cb4fb5SSimon Glass	depends on DM_MMC && OF_CONTROL
17855ed3b46SMasahiro Yamada	depends on MMC_DW
179a8cb4fb5SSimon Glass	help
180a8cb4fb5SSimon Glass	  This enables support for the Rockchip SD/MMM controller, which is
181a8cb4fb5SSimon Glass	  based on Designware IP. The device is compatible with at least
182a8cb4fb5SSimon Glass	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
183a8cb4fb5SSimon Glass	  as removeable SD and micro-SD cards.
184a8cb4fb5SSimon Glass
185ae4c81e9SMasahiro Yamadaconfig MMC_DW_SOCFPGA
186ae4c81e9SMasahiro Yamada	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
187ae4c81e9SMasahiro Yamada	depends on ARCH_SOCFPGA
188ae4c81e9SMasahiro Yamada	depends on MMC_DW
189ae4c81e9SMasahiro Yamada	default y
190ae4c81e9SMasahiro Yamada	help
191ae4c81e9SMasahiro Yamada	  This selects support for Altera SOCFPGA specific extensions to the
192ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
193ae4c81e9SMasahiro Yamada	  for platforms based on Altera SOCFPGA.
194ae4c81e9SMasahiro Yamada
19593738620SCarlo Caioneconfig MMC_MESON_GX
19693738620SCarlo Caione	bool "Meson GX EMMC controller support"
197e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_MESON
19893738620SCarlo Caione	help
19993738620SCarlo Caione	 Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
20093738620SCarlo Caione
2011d2c0506SMasahiro Yamadaconfig MMC_MXC
2021d2c0506SMasahiro Yamada	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
2031d2c0506SMasahiro Yamada	help
2041d2c0506SMasahiro Yamada	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
2051d2c0506SMasahiro Yamada	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
2061d2c0506SMasahiro Yamada	  with a Multimedia Card slot, say Y here.
2071d2c0506SMasahiro Yamada
2081d2c0506SMasahiro Yamada	  If unsure, say N.
2091d2c0506SMasahiro Yamada
2101d2c0506SMasahiro Yamadaconfig MMC_MXS
2111d2c0506SMasahiro Yamada	bool "Freescale MXS Multimedia Card Interface support"
212*99bec1aeSAdam Ford	depends on MX23 || MX28 || MX6 || MX7
213*99bec1aeSAdam Ford	select APBH_DMA
214*99bec1aeSAdam Ford	select APBH_DMA_BURST if ARCH_MX6 || ARCH_MX7
215*99bec1aeSAdam Ford	select APBH_DMA_BURST8 if ARCH_MX6 || ARCH_MX7
2161d2c0506SMasahiro Yamada	help
2171d2c0506SMasahiro Yamada	  This selects the Freescale SSP MMC controller found on MXS based
2181d2c0506SMasahiro Yamada	  platforms like mx23/28.
2191d2c0506SMasahiro Yamada
2201d2c0506SMasahiro Yamada	  If unsure, say N.
2211d2c0506SMasahiro Yamada
222b706b1c2SFelipe Balbiconfig MMC_PCI
223b706b1c2SFelipe Balbi	bool "Support for MMC controllers on PCI"
224b706b1c2SFelipe Balbi	help
225b706b1c2SFelipe Balbi	  This selects PCI-based MMC controllers.
226b706b1c2SFelipe Balbi	  If you have an MMC controller on a PCI bus, say Y here.
227b706b1c2SFelipe Balbi
228b706b1c2SFelipe Balbi	  If unsure, say N.
229b706b1c2SFelipe Balbi
2301d2c0506SMasahiro Yamadaconfig MMC_OMAP_HS
2311d2c0506SMasahiro Yamada	bool "TI OMAP High Speed Multimedia Card Interface support"
232e7881d85SSimon Glass	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2338ff7763dSJean-Jacques Hiblot	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2341d2c0506SMasahiro Yamada	help
2351d2c0506SMasahiro Yamada	  This selects the TI OMAP High Speed Multimedia card Interface.
2361d2c0506SMasahiro Yamada	  If you have an omap2plus board with a Multimedia Card slot,
2371d2c0506SMasahiro Yamada	  say Y here.
2381d2c0506SMasahiro Yamada
2391d2c0506SMasahiro Yamada	  If unsure, say N.
2401d2c0506SMasahiro Yamada
2416aca17c9SAdam Fordconfig MMC_OMAP36XX_PINS
2426aca17c9SAdam Ford	bool "Enable MMC1 on OMAP36xx/37xx"
2436aca17c9SAdam Ford	depends on OMAP34XX && MMC_OMAP_HS
2446aca17c9SAdam Ford	help
2456aca17c9SAdam Ford	  This enables extended-drain in the MMC/SD/SDIO1I/O and
2466aca17c9SAdam Ford	  GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
2476aca17c9SAdam Ford	  specific to the OMAP36xx/37xx using MMC1
2486aca17c9SAdam Ford
2496aca17c9SAdam Ford	  If you have a controller with this interface, say Y here.
2506aca17c9SAdam Ford
2516aca17c9SAdam Ford	  If unsure, say N.
2526aca17c9SAdam Ford
25372d42badSNobuhiro Iwamatsuconfig SH_SDHI
25472d42badSNobuhiro Iwamatsu	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
2550f531185SMarek Vasut	depends on ARCH_RMOBILE
25672d42badSNobuhiro Iwamatsu	help
25772d42badSNobuhiro Iwamatsu	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
25872d42badSNobuhiro Iwamatsu
259a111bfbfSMasahiro Yamadaconfig MMC_UNIPHIER
260b24633dfSMarek Vasut	bool "UniPhier/RCar SD/MMC Host Controller support"
261b24633dfSMarek Vasut	depends on ARCH_UNIPHIER || ARCH_RMOBILE
262e7881d85SSimon Glass	depends on BLK && DM_MMC
2639c720c81SMasahiro Yamada	depends on OF_CONTROL
264a111bfbfSMasahiro Yamada	help
265b24633dfSMarek Vasut	  This selects support for the Matsushita SD/MMC Host Controller on
266b24633dfSMarek Vasut	  SocioNext UniPhier and Renesas RCar SoCs.
267a111bfbfSMasahiro Yamada
268c8a73a26SAlexander Grafconfig MMC_BCM2835
269c8a73a26SAlexander Graf	bool "BCM2835 family custom SD/MMC Host Controller support"
270c8a73a26SAlexander Graf	depends on ARCH_BCM283X
271c8a73a26SAlexander Graf	depends on BLK && DM_MMC
272c8a73a26SAlexander Graf	depends on OF_CONTROL
273c8a73a26SAlexander Graf	default y
274c8a73a26SAlexander Graf	help
275c8a73a26SAlexander Graf	  This selects support for the custom SD host controller in the BCM2835
276c8a73a26SAlexander Graf	  family of devices.
277c8a73a26SAlexander Graf
278c8a73a26SAlexander Graf	  If you have a BCM2835 platform with SD or MMC devices, say Y here.
279c8a73a26SAlexander Graf
280c8a73a26SAlexander Graf	  If unsure, say N.
281c8a73a26SAlexander Graf
282a5995a5dSMasahiro Yamadaconfig MMC_SANDBOX
283f376a3cbSSimon Glass	bool "Sandbox MMC support"
284a5995a5dSMasahiro Yamada	depends on SANDBOX
285e7881d85SSimon Glass	depends on BLK && DM_MMC && OF_CONTROL
286f376a3cbSSimon Glass	help
287f376a3cbSSimon Glass	  This select a dummy sandbox MMC driver. At present this does nothing
288f376a3cbSSimon Glass	  other than allow sandbox to be build with MMC support. This
289f376a3cbSSimon Glass	  improves build coverage for sandbox and makes it easier to detect
290f376a3cbSSimon Glass	  MMC build errors with sandbox.
291f376a3cbSSimon Glass
292e1ce61fbSMasahiro Yamadaconfig MMC_SDHCI
293e1ce61fbSMasahiro Yamada	bool "Secure Digital Host Controller Interface support"
294e1ce61fbSMasahiro Yamada	help
295e1ce61fbSMasahiro Yamada	  This selects the generic Secure Digital Host Controller Interface.
296e1ce61fbSMasahiro Yamada	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
297e1ce61fbSMasahiro Yamada	  and Toshiba(R). Most controllers found in laptops are of this type.
298e1ce61fbSMasahiro Yamada
299e1ce61fbSMasahiro Yamada	  If you have a controller with this interface, say Y here.
300e1ce61fbSMasahiro Yamada
301e1ce61fbSMasahiro Yamada	  If unsure, say N.
302e1ce61fbSMasahiro Yamada
3033d3a74ccSMasahiro Yamadaconfig MMC_SDHCI_IO_ACCESSORS
3043d3a74ccSMasahiro Yamada	bool
3053d3a74ccSMasahiro Yamada	depends on MMC_SDHCI
3063d3a74ccSMasahiro Yamada	help
3073d3a74ccSMasahiro Yamada	  This is silent Kconfig symbol that is selected by the drivers that
3083d3a74ccSMasahiro Yamada	  need to overwrite SDHCI IO memory accessors.
3093d3a74ccSMasahiro Yamada
31045a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SDMA
31145a68fe2SMasahiro Yamada	bool "Support SDHCI SDMA"
31245a68fe2SMasahiro Yamada	depends on MMC_SDHCI
31345a68fe2SMasahiro Yamada	help
31445a68fe2SMasahiro Yamada	  This enables support for the SDMA (Single Operation DMA) defined
31545a68fe2SMasahiro Yamada	  in the SD Host Controller Standard Specification Version 1.00 .
31645a68fe2SMasahiro Yamada
317dd3b64ebSMasahiro Yamadaconfig MMC_SDHCI_ATMEL
318dd3b64ebSMasahiro Yamada	bool "Atmel SDHCI controller support"
319dd3b64ebSMasahiro Yamada	depends on ARCH_AT91
320e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
321dd3b64ebSMasahiro Yamada	depends on MMC_SDHCI
322dd3b64ebSMasahiro Yamada	help
323dd3b64ebSMasahiro Yamada	  This enables support for the Atmel SDHCI controller, which supports
324dd3b64ebSMasahiro Yamada	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
325dd3b64ebSMasahiro Yamada	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
326dd3b64ebSMasahiro Yamada	  It is compliant with the SD Host Controller Standard V3.0
327dd3b64ebSMasahiro Yamada	  specification.
328dd3b64ebSMasahiro Yamada
32945a68fe2SMasahiro Yamadaconfig MMC_SDHCI_BCM2835
33045a68fe2SMasahiro Yamada	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
33145a68fe2SMasahiro Yamada	depends on ARCH_BCM283X
33245a68fe2SMasahiro Yamada	depends on MMC_SDHCI
3333d3a74ccSMasahiro Yamada	select MMC_SDHCI_IO_ACCESSORS
33445a68fe2SMasahiro Yamada	help
33545a68fe2SMasahiro Yamada	  This selects the BCM2835 SD/MMC controller.
33645a68fe2SMasahiro Yamada
33745a68fe2SMasahiro Yamada	  If you have a BCM2835 platform with SD or MMC devices,
33845a68fe2SMasahiro Yamada	  say Y here.
33945a68fe2SMasahiro Yamada
34045a68fe2SMasahiro Yamada	  If unsure, say N.
34145a68fe2SMasahiro Yamada
342e5e7a7c2SMasahiro Yamadaconfig MMC_SDHCI_CADENCE
343e5e7a7c2SMasahiro Yamada	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
344e7881d85SSimon Glass	depends on BLK && DM_MMC
345e5e7a7c2SMasahiro Yamada	depends on MMC_SDHCI
346e5e7a7c2SMasahiro Yamada	depends on OF_CONTROL
347e5e7a7c2SMasahiro Yamada	help
348e5e7a7c2SMasahiro Yamada	  This selects the Cadence SD/SDIO/eMMC driver.
349e5e7a7c2SMasahiro Yamada
350e5e7a7c2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
351e5e7a7c2SMasahiro Yamada
352e5e7a7c2SMasahiro Yamada	  If unsure, say N.
353e5e7a7c2SMasahiro Yamada
35445a68fe2SMasahiro Yamadaconfig MMC_SDHCI_KONA
35545a68fe2SMasahiro Yamada	bool "SDHCI support on Broadcom KONA platform"
35645a68fe2SMasahiro Yamada	depends on MMC_SDHCI
35745a68fe2SMasahiro Yamada	help
35845a68fe2SMasahiro Yamada	  This selects the Broadcom Kona Secure Digital Host Controller
35945a68fe2SMasahiro Yamada	  Interface(SDHCI) support.
36045a68fe2SMasahiro Yamada	  This is used in Broadcom mobile SoCs.
36145a68fe2SMasahiro Yamada
36245a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
36345a68fe2SMasahiro Yamada
364360c67d5SMasahiro Yamadaconfig MMC_SDHCI_MSM
365360c67d5SMasahiro Yamada	bool "Qualcomm SDHCI controller"
366e7881d85SSimon Glass	depends on BLK && DM_MMC
367360c67d5SMasahiro Yamada	depends on MMC_SDHCI
368360c67d5SMasahiro Yamada	help
369360c67d5SMasahiro Yamada	  Enables support for SDHCI 2.0 controller present on some Qualcomm
370360c67d5SMasahiro Yamada          Snapdragon devices. This device is compatible with eMMC v4.5 and
371360c67d5SMasahiro Yamada          SD 3.0 specifications. Both SD and eMMC devices are supported.
372360c67d5SMasahiro Yamada	  Card-detect gpios are not supported.
373360c67d5SMasahiro Yamada
37445a68fe2SMasahiro Yamadaconfig MMC_SDHCI_MV
37545a68fe2SMasahiro Yamada	bool "SDHCI support on Marvell platform"
37645a68fe2SMasahiro Yamada	depends on ARCH_MVEBU
37745a68fe2SMasahiro Yamada	depends on MMC_SDHCI
37845a68fe2SMasahiro Yamada	help
37945a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface on
38045a68fe2SMasahiro Yamada	  Marvell platform.
38145a68fe2SMasahiro Yamada
38245a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
38345a68fe2SMasahiro Yamada
38445a68fe2SMasahiro Yamada	  If unsure, say N.
38545a68fe2SMasahiro Yamada
3861b858770SMasahiro Yamadaconfig MMC_SDHCI_PIC32
3871b858770SMasahiro Yamada	bool "Microchip PIC32 on-chip SDHCI support"
3881b858770SMasahiro Yamada	depends on DM_MMC && MACH_PIC32
3891b858770SMasahiro Yamada	depends on MMC_SDHCI
3901b858770SMasahiro Yamada	help
3911b858770SMasahiro Yamada	  Support for Microchip PIC32 SDHCI controller.
3921b858770SMasahiro Yamada
393facc8058SMasahiro Yamadaconfig MMC_SDHCI_ROCKCHIP
394facc8058SMasahiro Yamada	bool "Arasan SDHCI controller for Rockchip support"
395facc8058SMasahiro Yamada	depends on ARCH_ROCKCHIP
396e7881d85SSimon Glass	depends on DM_MMC && BLK
397facc8058SMasahiro Yamada	depends on MMC_SDHCI
398facc8058SMasahiro Yamada	help
399facc8058SMasahiro Yamada	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
400facc8058SMasahiro Yamada
40145a68fe2SMasahiro Yamadaconfig MMC_SDHCI_S5P
40245a68fe2SMasahiro Yamada	bool "SDHCI support on Samsung S5P SoC"
40345a68fe2SMasahiro Yamada	depends on MMC_SDHCI
40445a68fe2SMasahiro Yamada	help
40545a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
40645a68fe2SMasahiro Yamada	  on Samsung S5P SoCs.
40745a68fe2SMasahiro Yamada
40845a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
40945a68fe2SMasahiro Yamada
41045a68fe2SMasahiro Yamada	  If unsure, say N.
41145a68fe2SMasahiro Yamada
41245a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SPEAR
41345a68fe2SMasahiro Yamada	bool "SDHCI support on ST SPEAr platform"
41445a68fe2SMasahiro Yamada	depends on MMC_SDHCI
41545a68fe2SMasahiro Yamada	help
41645a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
41745a68fe2SMasahiro Yamada	  often referrered to as the HSMMC block in some of the ST SPEAR range
41845a68fe2SMasahiro Yamada	  of SoC
41945a68fe2SMasahiro Yamada
42045a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
42145a68fe2SMasahiro Yamada
42245a68fe2SMasahiro Yamada	  If unsure, say N.
42345a68fe2SMasahiro Yamada
424eee20f81SPatrice Chotardconfig MMC_SDHCI_STI
425eee20f81SPatrice Chotard	bool "SDHCI support for STMicroelectronics SoC"
42651cb23d4SPatrice Chotard	depends on MMC_SDHCI && OF_CONTROL
427eee20f81SPatrice Chotard	help
428eee20f81SPatrice Chotard	  This selects the Secure Digital Host Controller Interface (SDHCI)
429eee20f81SPatrice Chotard	  on STMicroelectronics STiH410 SoC.
430eee20f81SPatrice Chotard
431b6acb5f1SStefan Roeseconfig MMC_SDHCI_XENON
432b6acb5f1SStefan Roese	bool "SDHCI support for the Xenon SDHCI controller"
433b6acb5f1SStefan Roese	depends on MMC_SDHCI && DM_MMC && OF_CONTROL
434b6acb5f1SStefan Roese	help
435b6acb5f1SStefan Roese	  Support for Xenon SDHCI host controller on Marvell Armada 3700
436b6acb5f1SStefan Roese	  7k/8k ARM SoCs platforms
437b6acb5f1SStefan Roese
438b6acb5f1SStefan Roese	  If you have a controller with this interface, say Y here.
439b6acb5f1SStefan Roese
440b6acb5f1SStefan Roese	  If unsure, say N.
441b6acb5f1SStefan Roese
44283b3248eSFelipe Balbiconfig MMC_SDHCI_TANGIER
44383b3248eSFelipe Balbi	bool "Tangier SDHCI controller support"
44483b3248eSFelipe Balbi	depends on DM_MMC && BLK
44583b3248eSFelipe Balbi	depends on MMC_SDHCI
44683b3248eSFelipe Balbi	help
44783b3248eSFelipe Balbi	  This selects support for SDHCI controller on Tanginer
44883b3248eSFelipe Balbi	  SoC. Note that this controller does not sit on PCI bus and,
44983b3248eSFelipe Balbi	  hence, cannot be enumerated by standard PCI means.
45083b3248eSFelipe Balbi
45183b3248eSFelipe Balbi	  If you're using an Intel Tangier SoC (available on Intel
45283b3248eSFelipe Balbi	  Edison board), say Y here.
45383b3248eSFelipe Balbi
45483b3248eSFelipe Balbi	  If unsure, say N.
45583b3248eSFelipe Balbi
4561d2c0506SMasahiro Yamadaconfig MMC_SDHCI_TEGRA
4571d2c0506SMasahiro Yamada	bool "SDHCI platform support for the Tegra SD/MMC Controller"
4581d2c0506SMasahiro Yamada	depends on TEGRA
4591d2c0506SMasahiro Yamada	default y
4601d2c0506SMasahiro Yamada	help
4611d2c0506SMasahiro Yamada	  This selects the Tegra SD/MMC controller. If you have a Tegra
4621d2c0506SMasahiro Yamada	  platform with SD or MMC devices, say Y here.
4631d2c0506SMasahiro Yamada
4641d2c0506SMasahiro Yamada	  If unsure, say N.
4651d2c0506SMasahiro Yamada
46608aa0334SMasahiro Yamadaconfig MMC_SDHCI_ZYNQ
46708aa0334SMasahiro Yamada	bool "Arasan SDHCI controller support"
46808aa0334SMasahiro Yamada	depends on ARCH_ZYNQ || ARCH_ZYNQMP
469e7881d85SSimon Glass	depends on DM_MMC && OF_CONTROL && BLK
47008aa0334SMasahiro Yamada	depends on MMC_SDHCI
47108aa0334SMasahiro Yamada	help
47208aa0334SMasahiro Yamada	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
47308aa0334SMasahiro Yamada
4741d2c0506SMasahiro Yamadaconfig MMC_SUNXI
4751d2c0506SMasahiro Yamada	bool "Allwinner sunxi SD/MMC Host Controller support"
4760ad178c1SMasahiro Yamada	depends on ARCH_SUNXI && !UART0_PORT_F
4771d2c0506SMasahiro Yamada	default y
4781d2c0506SMasahiro Yamada	help
4791d2c0506SMasahiro Yamada	  This selects support for the SD/MMC Host Controller on
4801d2c0506SMasahiro Yamada	  Allwinner sunxi SoCs.
4811d2c0506SMasahiro Yamada
482de9b1771SMaxime Ripardconfig MMC_SUNXI_HAS_NEW_MODE
483de9b1771SMaxime Ripard	bool
484de9b1771SMaxime Ripard	depends on MMC_SUNXI
485de9b1771SMaxime Ripard
486c86c0155SWenyou Yangconfig GENERIC_ATMEL_MCI
487c86c0155SWenyou Yang	bool "Atmel Multimedia Card Interface support"
488e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
489c86c0155SWenyou Yang	help
490c86c0155SWenyou Yang	  This enables support for Atmel High Speed Multimedia Card Interface
491c86c0155SWenyou Yang	  (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
492c86c0155SWenyou Yang	  the SD Memory Card Specification V2.0, the SDIO V2.0 specification
493c86c0155SWenyou Yang	  and CE-ATA V1.1.
494c86c0155SWenyou Yang
495b312c590SPatrice Chotardconfig STM32_SDMMC2
496b312c590SPatrice Chotard	bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
49753c656a8SPatrice Chotard	depends on DM_MMC && BLK && OF_CONTROL
498b312c590SPatrice Chotard	help
499b312c590SPatrice Chotard	  This selects support for the SD/MMC controller on STM32H7 SoCs.
500b312c590SPatrice Chotard	  If you have a board based on such a SoC and with a SD/MMC slot,
501b312c590SPatrice Chotard	  say Y or M here.
502b312c590SPatrice Chotard
5039f678ab1SRick Chenconfig MMC_NDS32
5049f678ab1SRick Chen	bool "Andestech SD/MMC controller support"
5059f678ab1SRick Chen	depends on DM_MMC && OF_CONTROL && BLK && FTSDC010
5069f678ab1SRick Chen	help
5079f678ab1SRick Chen	  This enables support for the Andestech SD/MMM controller, which is
5089f678ab1SRick Chen	  based on Faraday IP.
5099f678ab1SRick Chen
5109f678ab1SRick Chenconfig FTSDC010
5119f678ab1SRick Chen	bool "Ftsdc010 SD/MMC controller Support"
5129f678ab1SRick Chen	help
5139f678ab1SRick Chen	  This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
5149f678ab1SRick Chen
515e298c46aSMasahiro Yamadaendif
516e298c46aSMasahiro Yamada
5174119b709SMarcel Ziswilerconfig TEGRA124_MMC_DISABLE_EXT_LOOPBACK
5184119b709SMarcel Ziswiler	bool "Disable external clock loopback"
5194119b709SMarcel Ziswiler	depends on MMC_SDHCI_TEGRA && TEGRA124
5204119b709SMarcel Ziswiler	help
5214119b709SMarcel Ziswiler	  Disable the external clock loopback and use the internal one on SDMMC3
5224119b709SMarcel Ziswiler	  as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
5234119b709SMarcel Ziswiler	  being set to 0xfffd according to the TRM.
5244119b709SMarcel Ziswiler
5254119b709SMarcel Ziswiler	  TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
5264119b709SMarcel Ziswiler	  approach once proper kernel integration made it mainline.
5274119b709SMarcel Ziswiler
52872d42badSNobuhiro Iwamatsuendmenu
529c01e4a1aSYork Sun
530c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC111
531c01e4a1aSYork Sun	bool
532c01e4a1aSYork Sun
533c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC13
534c01e4a1aSYork Sun	bool
535c01e4a1aSYork Sun
536c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC135
537c01e4a1aSYork Sun	bool
538c01e4a1aSYork Sun
539c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC_A001
540c01e4a1aSYork Sun	bool
541