xref: /openbmc/u-boot/drivers/mmc/Kconfig (revision 2acc24fc)
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
745a7b11e6SAlex Kiernanconfig SUPPORT_EMMC_RPMB
755a7b11e6SAlex Kiernan	bool "Support eMMC replay protected memory block (RPMB)"
765a7b11e6SAlex Kiernan	imply CMD_MMC_RPMB
775a7b11e6SAlex Kiernan	help
785a7b11e6SAlex Kiernan	  Enable support for reading, writing and programming the
795a7b11e6SAlex Kiernan	  key for the Replay Protection Memory Block partition in eMMC.
805a7b11e6SAlex 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
1143dd2626fSPeng Fanconfig MMC_HS400_SUPPORT
1153dd2626fSPeng Fan	bool "enable HS400 support"
1163dd2626fSPeng Fan	select MMC_HS200_SUPPORT
1173dd2626fSPeng Fan	help
1183dd2626fSPeng Fan	  The HS400 mode is support by some eMMC. The bus frequency is up to
1193dd2626fSPeng Fan	  200MHz. This mode requires tuning the IO.
1203dd2626fSPeng Fan
1213dd2626fSPeng Fanconfig SPL_MMC_HS400_SUPPORT
1223dd2626fSPeng Fan	bool "enable HS400 support in SPL"
1233dd2626fSPeng Fan	help
1243dd2626fSPeng Fan	  The HS400 mode is support by some eMMC. The bus frequency is up to
1253dd2626fSPeng Fan	  200MHz. This mode requires tuning the IO.
1263dd2626fSPeng Fan
127f99c2efeSJean-Jacques Hiblotconfig MMC_HS200_SUPPORT
128f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support"
129f99c2efeSJean-Jacques Hiblot	help
130f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
131f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
132f99c2efeSJean-Jacques Hiblot
133f99c2efeSJean-Jacques Hiblot
134f99c2efeSJean-Jacques Hiblotconfig SPL_MMC_HS200_SUPPORT
135f99c2efeSJean-Jacques Hiblot	bool "enable HS200 support in SPL"
136f99c2efeSJean-Jacques Hiblot	help
137f99c2efeSJean-Jacques Hiblot	  The HS200 mode is support by some eMMC. The bus frequency is up to
138f99c2efeSJean-Jacques Hiblot	  200MHz. This mode requires tuning the IO.
139f99c2efeSJean-Jacques Hiblot
14035f9e196SJean-Jacques Hiblotconfig MMC_VERBOSE
14135f9e196SJean-Jacques Hiblot	bool "Output more information about the MMC"
14235f9e196SJean-Jacques Hiblot	default y
14335f9e196SJean-Jacques Hiblot	help
14435f9e196SJean-Jacques Hiblot	  Enable the output of more information about the card such as the
14535f9e196SJean-Jacques Hiblot	  operating mode.
14635f9e196SJean-Jacques Hiblot
14772b5a037SJaehoon Chungconfig MMC_TRACE
14872b5a037SJaehoon Chung	bool "MMC debugging"
14972b5a037SJaehoon Chung	default n
15072b5a037SJaehoon Chung	help
15172b5a037SJaehoon Chung	  This is an option for use by developer. Enable MMC core debugging.
15272b5a037SJaehoon Chung
15372b5a037SJaehoon Chung	  If you need to see the MMC core message, say Y.
15472b5a037SJaehoon Chung
155b5b838f1SMarek Vasutconfig SPL_MMC_TINY
156b5b838f1SMarek Vasut	bool "Tiny MMC framework in SPL"
157b5b838f1SMarek Vasut	help
158b5b838f1SMarek Vasut	  Enable MMC framework tinification support. This option is useful if
159b5b838f1SMarek Vasut	  if your SPL is extremely size constrained. Heed the warning, enable
160b5b838f1SMarek Vasut	  this option if and only if you know exactly what you are doing, if
161b5b838f1SMarek Vasut	  you are reading this help text, you most likely have no idea :-)
162b5b838f1SMarek Vasut
163b5b838f1SMarek Vasut	  The MMC framework is reduced to bare minimum to be useful. No malloc
164b5b838f1SMarek Vasut	  support is needed for the MMC framework operation with this option
165b5b838f1SMarek Vasut	  enabled. The framework supports exactly one MMC device and exactly
166b5b838f1SMarek Vasut	  one MMC driver. The MMC driver can be adjusted to avoid any malloc
167b5b838f1SMarek Vasut	  operations too, which can remove the need for malloc support in SPL
168b5b838f1SMarek Vasut	  and thus further reduce footprint.
169b5b838f1SMarek Vasut
1701d2c0506SMasahiro Yamadaconfig MMC_DAVINCI
1711d2c0506SMasahiro Yamada	bool "TI DAVINCI Multimedia Card Interface support"
1721d2c0506SMasahiro Yamada	depends on ARCH_DAVINCI
1731d2c0506SMasahiro Yamada	default y
1741d2c0506SMasahiro Yamada	help
1751d2c0506SMasahiro Yamada	  This selects the TI DAVINCI Multimedia card Interface.
1761d2c0506SMasahiro Yamada	  If you have an DAVINCI board with a Multimedia Card slot,
1771d2c0506SMasahiro Yamada	  say Y here.  If unsure, say N.
1781d2c0506SMasahiro Yamada
17955ed3b46SMasahiro Yamadaconfig MMC_DW
18055ed3b46SMasahiro Yamada	bool "Synopsys DesignWare Memory Card Interface"
181*2acc24fcSPhilipp Tomsich	select BOUNCE_BUFFER
18255ed3b46SMasahiro Yamada	help
18355ed3b46SMasahiro Yamada	  This selects support for the Synopsys DesignWare Mobile Storage IP
18455ed3b46SMasahiro Yamada	  block, this provides host support for SD and MMC interfaces, in both
18555ed3b46SMasahiro Yamada	  PIO, internal DMA mode and external DMA mode.
18655ed3b46SMasahiro Yamada
187ae4c81e9SMasahiro Yamadaconfig MMC_DW_EXYNOS
188ae4c81e9SMasahiro Yamada	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
189ae4c81e9SMasahiro Yamada	depends on ARCH_EXYNOS
190ae4c81e9SMasahiro Yamada	depends on MMC_DW
191ae4c81e9SMasahiro Yamada	default y
192ae4c81e9SMasahiro Yamada	help
193ae4c81e9SMasahiro Yamada	  This selects support for Samsung Exynos SoC specific extensions to the
194ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
195ae4c81e9SMasahiro Yamada	  for platforms based on Exynos4 and Exynos5 SoC's.
196ae4c81e9SMasahiro Yamada
197ae4c81e9SMasahiro Yamadaconfig MMC_DW_K3
198ae4c81e9SMasahiro Yamada	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
199ae4c81e9SMasahiro Yamada	depends on MMC_DW
200ae4c81e9SMasahiro Yamada	help
201ae4c81e9SMasahiro Yamada	  This selects support for Hisilicon K3 SoC specific extensions to the
202ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
203ae4c81e9SMasahiro Yamada	  for platforms based on Hisilicon K3 SoC's.
204ae4c81e9SMasahiro Yamada
205fed44087SMasahiro Yamadaconfig MMC_DW_ROCKCHIP
206a8cb4fb5SSimon Glass	bool "Rockchip SD/MMC controller support"
207a8cb4fb5SSimon Glass	depends on DM_MMC && OF_CONTROL
20855ed3b46SMasahiro Yamada	depends on MMC_DW
209a8cb4fb5SSimon Glass	help
210a8cb4fb5SSimon Glass	  This enables support for the Rockchip SD/MMM controller, which is
211a8cb4fb5SSimon Glass	  based on Designware IP. The device is compatible with at least
212a8cb4fb5SSimon Glass	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
213a8cb4fb5SSimon Glass	  as removeable SD and micro-SD cards.
214a8cb4fb5SSimon Glass
215ae4c81e9SMasahiro Yamadaconfig MMC_DW_SOCFPGA
216ae4c81e9SMasahiro Yamada	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
217ae4c81e9SMasahiro Yamada	depends on ARCH_SOCFPGA
218ae4c81e9SMasahiro Yamada	depends on MMC_DW
219ae4c81e9SMasahiro Yamada	default y
220ae4c81e9SMasahiro Yamada	help
221ae4c81e9SMasahiro Yamada	  This selects support for Altera SOCFPGA specific extensions to the
222ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
223ae4c81e9SMasahiro Yamada	  for platforms based on Altera SOCFPGA.
224ae4c81e9SMasahiro Yamada
22593738620SCarlo Caioneconfig MMC_MESON_GX
22693738620SCarlo Caione	bool "Meson GX EMMC controller support"
227e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_MESON
22893738620SCarlo Caione	help
22993738620SCarlo Caione	 Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
23093738620SCarlo Caione
2311d2c0506SMasahiro Yamadaconfig MMC_MXC
2321d2c0506SMasahiro Yamada	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
2331d2c0506SMasahiro Yamada	help
2341d2c0506SMasahiro Yamada	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
2351d2c0506SMasahiro Yamada	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
2361d2c0506SMasahiro Yamada	  with a Multimedia Card slot, say Y here.
2371d2c0506SMasahiro Yamada
2381d2c0506SMasahiro Yamada	  If unsure, say N.
2391d2c0506SMasahiro Yamada
2401d2c0506SMasahiro Yamadaconfig MMC_MXS
2411d2c0506SMasahiro Yamada	bool "Freescale MXS Multimedia Card Interface support"
24299bec1aeSAdam Ford	depends on MX23 || MX28 || MX6 || MX7
243*2acc24fcSPhilipp Tomsich	select BOUNCE_BUFFER
24499bec1aeSAdam Ford	select APBH_DMA
24599bec1aeSAdam Ford	select APBH_DMA_BURST if ARCH_MX6 || ARCH_MX7
24699bec1aeSAdam Ford	select APBH_DMA_BURST8 if ARCH_MX6 || ARCH_MX7
2471d2c0506SMasahiro Yamada	help
2481d2c0506SMasahiro Yamada	  This selects the Freescale SSP MMC controller found on MXS based
2491d2c0506SMasahiro Yamada	  platforms like mx23/28.
2501d2c0506SMasahiro Yamada
2511d2c0506SMasahiro Yamada	  If unsure, say N.
2521d2c0506SMasahiro Yamada
253b706b1c2SFelipe Balbiconfig MMC_PCI
254b706b1c2SFelipe Balbi	bool "Support for MMC controllers on PCI"
255b706b1c2SFelipe Balbi	help
256b706b1c2SFelipe Balbi	  This selects PCI-based MMC controllers.
257b706b1c2SFelipe Balbi	  If you have an MMC controller on a PCI bus, say Y here.
258b706b1c2SFelipe Balbi
259b706b1c2SFelipe Balbi	  If unsure, say N.
260b706b1c2SFelipe Balbi
2611d2c0506SMasahiro Yamadaconfig MMC_OMAP_HS
2621d2c0506SMasahiro Yamada	bool "TI OMAP High Speed Multimedia Card Interface support"
263e7881d85SSimon Glass	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2648ff7763dSJean-Jacques Hiblot	select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
2651d2c0506SMasahiro Yamada	help
2661d2c0506SMasahiro Yamada	  This selects the TI OMAP High Speed Multimedia card Interface.
2671d2c0506SMasahiro Yamada	  If you have an omap2plus board with a Multimedia Card slot,
2681d2c0506SMasahiro Yamada	  say Y here.
2691d2c0506SMasahiro Yamada
2701d2c0506SMasahiro Yamada	  If unsure, say N.
2711d2c0506SMasahiro Yamada
27227a4b3bcSJean-Jacques Hiblotconfig MMC_OMAP_HS_ADMA
27327a4b3bcSJean-Jacques Hiblot	bool "ADMA support for OMAP HS MMC"
27427a4b3bcSJean-Jacques Hiblot	depends on MMC_OMAP_HS && !OMAP34XX
27527a4b3bcSJean-Jacques Hiblot	default y if !AM33XX
27627a4b3bcSJean-Jacques Hiblot	help
27727a4b3bcSJean-Jacques Hiblot	  This enables support for the ADMA2 controller (SDA3.00 Part A2 DMA
27827a4b3bcSJean-Jacques Hiblot	  controller). If supported by the hardware, selecting this option will
27927a4b3bcSJean-Jacques Hiblot	  increase performances.
28027a4b3bcSJean-Jacques Hiblot
2816aca17c9SAdam Fordconfig MMC_OMAP36XX_PINS
2826aca17c9SAdam Ford	bool "Enable MMC1 on OMAP36xx/37xx"
2836aca17c9SAdam Ford	depends on OMAP34XX && MMC_OMAP_HS
2846aca17c9SAdam Ford	help
2856aca17c9SAdam Ford	  This enables extended-drain in the MMC/SD/SDIO1I/O and
2866aca17c9SAdam Ford	  GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
2876aca17c9SAdam Ford	  specific to the OMAP36xx/37xx using MMC1
2886aca17c9SAdam Ford
2896aca17c9SAdam Ford	  If you have a controller with this interface, say Y here.
2906aca17c9SAdam Ford
2916aca17c9SAdam Ford	  If unsure, say N.
2926aca17c9SAdam Ford
29372d42badSNobuhiro Iwamatsuconfig SH_SDHI
29472d42badSNobuhiro Iwamatsu	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
2950f531185SMarek Vasut	depends on ARCH_RMOBILE
29672d42badSNobuhiro Iwamatsu	help
29772d42badSNobuhiro Iwamatsu	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
29872d42badSNobuhiro Iwamatsu
299f3dca4aaSMarek Vasutconfig SH_MMCIF
300f3dca4aaSMarek Vasut	bool "SuperH/Renesas ARM SoCs on-chip MMCIF host controller support"
301f3dca4aaSMarek Vasut	depends on ARCH_RMOBILE || SH
302f3dca4aaSMarek Vasut	help
303f3dca4aaSMarek Vasut	  Support for the on-chip MMCIF host controller on SuperH/Renesas ARM SoCs platform
304f3dca4aaSMarek Vasut
305a111bfbfSMasahiro Yamadaconfig MMC_UNIPHIER
3067dfddc09SMarek Vasut	bool "UniPhier SD/MMC Host Controller support"
3077dfddc09SMarek Vasut	depends on ARCH_UNIPHIER
308e7881d85SSimon Glass	depends on BLK && DM_MMC
3099c720c81SMasahiro Yamada	depends on OF_CONTROL
310a111bfbfSMasahiro Yamada	help
311b24633dfSMarek Vasut	  This selects support for the Matsushita SD/MMC Host Controller on
3127dfddc09SMarek Vasut	  SocioNext UniPhier SoCs.
3137dfddc09SMarek Vasut
3147dfddc09SMarek Vasutconfig RENESAS_SDHI
3157dfddc09SMarek Vasut	bool "Renesas R-Car SD/MMC Host Controller support"
3167dfddc09SMarek Vasut	depends on ARCH_RMOBILE
3177dfddc09SMarek Vasut	depends on BLK && DM_MMC
3187dfddc09SMarek Vasut	depends on OF_CONTROL
3197dfddc09SMarek Vasut	help
3207dfddc09SMarek Vasut	  This selects support for the Matsushita SD/MMC Host Controller on
3217dfddc09SMarek Vasut	  Renesas R-Car SoCs.
322a111bfbfSMasahiro Yamada
323c8a73a26SAlexander Grafconfig MMC_BCM2835
324c8a73a26SAlexander Graf	bool "BCM2835 family custom SD/MMC Host Controller support"
325c8a73a26SAlexander Graf	depends on ARCH_BCM283X
326c8a73a26SAlexander Graf	depends on BLK && DM_MMC
327c8a73a26SAlexander Graf	depends on OF_CONTROL
328c8a73a26SAlexander Graf	default y
329c8a73a26SAlexander Graf	help
330c8a73a26SAlexander Graf	  This selects support for the custom SD host controller in the BCM2835
331c8a73a26SAlexander Graf	  family of devices.
332c8a73a26SAlexander Graf
333c8a73a26SAlexander Graf	  If you have a BCM2835 platform with SD or MMC devices, say Y here.
334c8a73a26SAlexander Graf
335c8a73a26SAlexander Graf	  If unsure, say N.
336c8a73a26SAlexander Graf
337d7727139SPaul Burtonconfig JZ47XX_MMC
338d7727139SPaul Burton	bool "Ingenic JZ47xx SD/MMC Host Controller support"
339d7727139SPaul Burton	depends on ARCH_JZ47XX
340d7727139SPaul Burton	help
341d7727139SPaul Burton	  This selects support for the SD Card Controller on Ingenic JZ47xx SoCs.
342d7727139SPaul Burton
343a5995a5dSMasahiro Yamadaconfig MMC_SANDBOX
344f376a3cbSSimon Glass	bool "Sandbox MMC support"
345a5995a5dSMasahiro Yamada	depends on SANDBOX
346e7881d85SSimon Glass	depends on BLK && DM_MMC && OF_CONTROL
347f376a3cbSSimon Glass	help
348f376a3cbSSimon Glass	  This select a dummy sandbox MMC driver. At present this does nothing
349f376a3cbSSimon Glass	  other than allow sandbox to be build with MMC support. This
350f376a3cbSSimon Glass	  improves build coverage for sandbox and makes it easier to detect
351f376a3cbSSimon Glass	  MMC build errors with sandbox.
352f376a3cbSSimon Glass
353e1ce61fbSMasahiro Yamadaconfig MMC_SDHCI
354e1ce61fbSMasahiro Yamada	bool "Secure Digital Host Controller Interface support"
355e1ce61fbSMasahiro Yamada	help
356e1ce61fbSMasahiro Yamada	  This selects the generic Secure Digital Host Controller Interface.
357e1ce61fbSMasahiro Yamada	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
358e1ce61fbSMasahiro Yamada	  and Toshiba(R). Most controllers found in laptops are of this type.
359e1ce61fbSMasahiro Yamada
360e1ce61fbSMasahiro Yamada	  If you have a controller with this interface, say Y here.
361e1ce61fbSMasahiro Yamada
362e1ce61fbSMasahiro Yamada	  If unsure, say N.
363e1ce61fbSMasahiro Yamada
3643d3a74ccSMasahiro Yamadaconfig MMC_SDHCI_IO_ACCESSORS
3653d3a74ccSMasahiro Yamada	bool
3663d3a74ccSMasahiro Yamada	depends on MMC_SDHCI
3673d3a74ccSMasahiro Yamada	help
3683d3a74ccSMasahiro Yamada	  This is silent Kconfig symbol that is selected by the drivers that
3693d3a74ccSMasahiro Yamada	  need to overwrite SDHCI IO memory accessors.
3703d3a74ccSMasahiro Yamada
37145a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SDMA
37245a68fe2SMasahiro Yamada	bool "Support SDHCI SDMA"
37345a68fe2SMasahiro Yamada	depends on MMC_SDHCI
37445a68fe2SMasahiro Yamada	help
37545a68fe2SMasahiro Yamada	  This enables support for the SDMA (Single Operation DMA) defined
37645a68fe2SMasahiro Yamada	  in the SD Host Controller Standard Specification Version 1.00 .
37745a68fe2SMasahiro Yamada
378dd3b64ebSMasahiro Yamadaconfig MMC_SDHCI_ATMEL
379dd3b64ebSMasahiro Yamada	bool "Atmel SDHCI controller support"
380dd3b64ebSMasahiro Yamada	depends on ARCH_AT91
381e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
382dd3b64ebSMasahiro Yamada	depends on MMC_SDHCI
383dd3b64ebSMasahiro Yamada	help
384dd3b64ebSMasahiro Yamada	  This enables support for the Atmel SDHCI controller, which supports
385dd3b64ebSMasahiro Yamada	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
386dd3b64ebSMasahiro Yamada	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
387dd3b64ebSMasahiro Yamada	  It is compliant with the SD Host Controller Standard V3.0
388dd3b64ebSMasahiro Yamada	  specification.
389dd3b64ebSMasahiro Yamada
39045a68fe2SMasahiro Yamadaconfig MMC_SDHCI_BCM2835
39145a68fe2SMasahiro Yamada	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
39245a68fe2SMasahiro Yamada	depends on ARCH_BCM283X
39345a68fe2SMasahiro Yamada	depends on MMC_SDHCI
3943d3a74ccSMasahiro Yamada	select MMC_SDHCI_IO_ACCESSORS
39545a68fe2SMasahiro Yamada	help
39645a68fe2SMasahiro Yamada	  This selects the BCM2835 SD/MMC controller.
39745a68fe2SMasahiro Yamada
39845a68fe2SMasahiro Yamada	  If you have a BCM2835 platform with SD or MMC devices,
39945a68fe2SMasahiro Yamada	  say Y here.
40045a68fe2SMasahiro Yamada
40145a68fe2SMasahiro Yamada	  If unsure, say N.
40245a68fe2SMasahiro Yamada
403894c3ad2SThomas Fitzsimmonsconfig MMC_SDHCI_BCMSTB
404894c3ad2SThomas Fitzsimmons	tristate "SDHCI support for the BCMSTB SD/MMC Controller"
405894c3ad2SThomas Fitzsimmons	depends on MMC_SDHCI
406894c3ad2SThomas Fitzsimmons	help
407894c3ad2SThomas Fitzsimmons	  This selects the Broadcom set-top box SD/MMC controller.
408894c3ad2SThomas Fitzsimmons
409894c3ad2SThomas Fitzsimmons	  If you have a BCMSTB platform with SD or MMC devices,
410894c3ad2SThomas Fitzsimmons	  say Y here.
411894c3ad2SThomas Fitzsimmons
412894c3ad2SThomas Fitzsimmons	  If unsure, say N.
413894c3ad2SThomas Fitzsimmons
414e5e7a7c2SMasahiro Yamadaconfig MMC_SDHCI_CADENCE
415e5e7a7c2SMasahiro Yamada	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
416e7881d85SSimon Glass	depends on BLK && DM_MMC
417e5e7a7c2SMasahiro Yamada	depends on MMC_SDHCI
418e5e7a7c2SMasahiro Yamada	depends on OF_CONTROL
419e5e7a7c2SMasahiro Yamada	help
420e5e7a7c2SMasahiro Yamada	  This selects the Cadence SD/SDIO/eMMC driver.
421e5e7a7c2SMasahiro Yamada
422e5e7a7c2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
423e5e7a7c2SMasahiro Yamada
424e5e7a7c2SMasahiro Yamada	  If unsure, say N.
425e5e7a7c2SMasahiro Yamada
426aaa449fbSLokesh Vutlaconfig MMC_SDHCI_K3_ARASAN
427aaa449fbSLokesh Vutla	bool "Arasan SDHCI controller for TI's K3 based SoCs"
428aaa449fbSLokesh Vutla	depends on ARCH_K3
429aaa449fbSLokesh Vutla	depends on MMC_SDHCI
430aaa449fbSLokesh Vutla	depends on DM_MMC && OF_CONTROL && BLK
431aaa449fbSLokesh Vutla	help
432aaa449fbSLokesh Vutla	  Support for Arasan SDHCI host controller on Texas Instruments'
433aaa449fbSLokesh Vutla	  K3 family based SoC platforms
434aaa449fbSLokesh Vutla
43545a68fe2SMasahiro Yamadaconfig MMC_SDHCI_KONA
43645a68fe2SMasahiro Yamada	bool "SDHCI support on Broadcom KONA platform"
43745a68fe2SMasahiro Yamada	depends on MMC_SDHCI
43845a68fe2SMasahiro Yamada	help
43945a68fe2SMasahiro Yamada	  This selects the Broadcom Kona Secure Digital Host Controller
44045a68fe2SMasahiro Yamada	  Interface(SDHCI) support.
44145a68fe2SMasahiro Yamada	  This is used in Broadcom mobile SoCs.
44245a68fe2SMasahiro Yamada
44345a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
44445a68fe2SMasahiro Yamada
445360c67d5SMasahiro Yamadaconfig MMC_SDHCI_MSM
446360c67d5SMasahiro Yamada	bool "Qualcomm SDHCI controller"
447e7881d85SSimon Glass	depends on BLK && DM_MMC
448360c67d5SMasahiro Yamada	depends on MMC_SDHCI
449360c67d5SMasahiro Yamada	help
450360c67d5SMasahiro Yamada	  Enables support for SDHCI 2.0 controller present on some Qualcomm
451360c67d5SMasahiro Yamada          Snapdragon devices. This device is compatible with eMMC v4.5 and
452360c67d5SMasahiro Yamada          SD 3.0 specifications. Both SD and eMMC devices are supported.
453360c67d5SMasahiro Yamada	  Card-detect gpios are not supported.
454360c67d5SMasahiro Yamada
45545a68fe2SMasahiro Yamadaconfig MMC_SDHCI_MV
45645a68fe2SMasahiro Yamada	bool "SDHCI support on Marvell platform"
45745a68fe2SMasahiro Yamada	depends on ARCH_MVEBU
45845a68fe2SMasahiro Yamada	depends on MMC_SDHCI
45945a68fe2SMasahiro Yamada	help
46045a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface on
46145a68fe2SMasahiro Yamada	  Marvell platform.
46245a68fe2SMasahiro Yamada
46345a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
46445a68fe2SMasahiro Yamada
46545a68fe2SMasahiro Yamada	  If unsure, say N.
46645a68fe2SMasahiro Yamada
4671b858770SMasahiro Yamadaconfig MMC_SDHCI_PIC32
4681b858770SMasahiro Yamada	bool "Microchip PIC32 on-chip SDHCI support"
4691b858770SMasahiro Yamada	depends on DM_MMC && MACH_PIC32
4701b858770SMasahiro Yamada	depends on MMC_SDHCI
4711b858770SMasahiro Yamada	help
4721b858770SMasahiro Yamada	  Support for Microchip PIC32 SDHCI controller.
4731b858770SMasahiro Yamada
474facc8058SMasahiro Yamadaconfig MMC_SDHCI_ROCKCHIP
475facc8058SMasahiro Yamada	bool "Arasan SDHCI controller for Rockchip support"
476facc8058SMasahiro Yamada	depends on ARCH_ROCKCHIP
477e7881d85SSimon Glass	depends on DM_MMC && BLK
478facc8058SMasahiro Yamada	depends on MMC_SDHCI
479facc8058SMasahiro Yamada	help
480facc8058SMasahiro Yamada	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
481facc8058SMasahiro Yamada
48245a68fe2SMasahiro Yamadaconfig MMC_SDHCI_S5P
48345a68fe2SMasahiro Yamada	bool "SDHCI support on Samsung S5P SoC"
48445a68fe2SMasahiro Yamada	depends on MMC_SDHCI
48545a68fe2SMasahiro Yamada	help
48645a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
48745a68fe2SMasahiro Yamada	  on Samsung S5P SoCs.
48845a68fe2SMasahiro Yamada
48945a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
49045a68fe2SMasahiro Yamada
49145a68fe2SMasahiro Yamada	  If unsure, say N.
49245a68fe2SMasahiro Yamada
49345a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SPEAR
49445a68fe2SMasahiro Yamada	bool "SDHCI support on ST SPEAr platform"
49545a68fe2SMasahiro Yamada	depends on MMC_SDHCI
49645a68fe2SMasahiro Yamada	help
49745a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
49845a68fe2SMasahiro Yamada	  often referrered to as the HSMMC block in some of the ST SPEAR range
49945a68fe2SMasahiro Yamada	  of SoC
50045a68fe2SMasahiro Yamada
50145a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
50245a68fe2SMasahiro Yamada
50345a68fe2SMasahiro Yamada	  If unsure, say N.
50445a68fe2SMasahiro Yamada
505eee20f81SPatrice Chotardconfig MMC_SDHCI_STI
506eee20f81SPatrice Chotard	bool "SDHCI support for STMicroelectronics SoC"
50751cb23d4SPatrice Chotard	depends on MMC_SDHCI && OF_CONTROL
508eee20f81SPatrice Chotard	help
509eee20f81SPatrice Chotard	  This selects the Secure Digital Host Controller Interface (SDHCI)
510eee20f81SPatrice Chotard	  on STMicroelectronics STiH410 SoC.
511eee20f81SPatrice Chotard
512b6acb5f1SStefan Roeseconfig MMC_SDHCI_XENON
513b6acb5f1SStefan Roese	bool "SDHCI support for the Xenon SDHCI controller"
514b6acb5f1SStefan Roese	depends on MMC_SDHCI && DM_MMC && OF_CONTROL
515b6acb5f1SStefan Roese	help
516b6acb5f1SStefan Roese	  Support for Xenon SDHCI host controller on Marvell Armada 3700
517b6acb5f1SStefan Roese	  7k/8k ARM SoCs platforms
518b6acb5f1SStefan Roese
519b6acb5f1SStefan Roese	  If you have a controller with this interface, say Y here.
520b6acb5f1SStefan Roese
521b6acb5f1SStefan Roese	  If unsure, say N.
522b6acb5f1SStefan Roese
52383b3248eSFelipe Balbiconfig MMC_SDHCI_TANGIER
52483b3248eSFelipe Balbi	bool "Tangier SDHCI controller support"
52583b3248eSFelipe Balbi	depends on DM_MMC && BLK
52683b3248eSFelipe Balbi	depends on MMC_SDHCI
52783b3248eSFelipe Balbi	help
52883b3248eSFelipe Balbi	  This selects support for SDHCI controller on Tanginer
52983b3248eSFelipe Balbi	  SoC. Note that this controller does not sit on PCI bus and,
53083b3248eSFelipe Balbi	  hence, cannot be enumerated by standard PCI means.
53183b3248eSFelipe Balbi
53283b3248eSFelipe Balbi	  If you're using an Intel Tangier SoC (available on Intel
53383b3248eSFelipe Balbi	  Edison board), say Y here.
53483b3248eSFelipe Balbi
53583b3248eSFelipe Balbi	  If unsure, say N.
53683b3248eSFelipe Balbi
5371d2c0506SMasahiro Yamadaconfig MMC_SDHCI_TEGRA
5381d2c0506SMasahiro Yamada	bool "SDHCI platform support for the Tegra SD/MMC Controller"
5391d2c0506SMasahiro Yamada	depends on TEGRA
540*2acc24fcSPhilipp Tomsich	select BOUNCE_BUFFER
5411d2c0506SMasahiro Yamada	default y
5421d2c0506SMasahiro Yamada	help
5431d2c0506SMasahiro Yamada	  This selects the Tegra SD/MMC controller. If you have a Tegra
5441d2c0506SMasahiro Yamada	  platform with SD or MMC devices, say Y here.
5451d2c0506SMasahiro Yamada
5461d2c0506SMasahiro Yamada	  If unsure, say N.
5471d2c0506SMasahiro Yamada
54808aa0334SMasahiro Yamadaconfig MMC_SDHCI_ZYNQ
54908aa0334SMasahiro Yamada	bool "Arasan SDHCI controller support"
550ec48b6c9SMichal Simek	depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
551e7881d85SSimon Glass	depends on DM_MMC && OF_CONTROL && BLK
55208aa0334SMasahiro Yamada	depends on MMC_SDHCI
55308aa0334SMasahiro Yamada	help
55408aa0334SMasahiro Yamada	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
55508aa0334SMasahiro Yamada
5565dc5a53cSVipul Kumarconfig ZYNQ_SDHCI_MAX_FREQ
5575dc5a53cSVipul Kumar	int "Set the maximum frequency of the controller"
5585dc5a53cSVipul Kumar	depends on MMC_SDHCI_ZYNQ
5595dc5a53cSVipul Kumar	help
5605dc5a53cSVipul Kumar	  Set the maximum frequency of the controller.
5615dc5a53cSVipul Kumar
5623ccc207aSVipul Kumarconfig ZYNQ_SDHCI_MIN_FREQ
5633ccc207aSVipul Kumar	int "Set the minimum frequency of the controller"
5643ccc207aSVipul Kumar	depends on MMC_SDHCI_ZYNQ
5653ccc207aSVipul Kumar	default 0
5663ccc207aSVipul Kumar	help
5673ccc207aSVipul Kumar	  Set the minimum frequency of the controller.
5683ccc207aSVipul Kumar
5691d2c0506SMasahiro Yamadaconfig MMC_SUNXI
5701d2c0506SMasahiro Yamada	bool "Allwinner sunxi SD/MMC Host Controller support"
5710ad178c1SMasahiro Yamada	depends on ARCH_SUNXI && !UART0_PORT_F
5721d2c0506SMasahiro Yamada	default y
5731d2c0506SMasahiro Yamada	help
5741d2c0506SMasahiro Yamada	  This selects support for the SD/MMC Host Controller on
5751d2c0506SMasahiro Yamada	  Allwinner sunxi SoCs.
5761d2c0506SMasahiro Yamada
577de9b1771SMaxime Ripardconfig MMC_SUNXI_HAS_NEW_MODE
578de9b1771SMaxime Ripard	bool
579de9b1771SMaxime Ripard	depends on MMC_SUNXI
580de9b1771SMaxime Ripard
5812a8882ecSVasily Khoruzhickconfig MMC_SUNXI_HAS_MODE_SWITCH
5822a8882ecSVasily Khoruzhick	bool
5832a8882ecSVasily Khoruzhick	depends on MMC_SUNXI
5842a8882ecSVasily Khoruzhick
585c86c0155SWenyou Yangconfig GENERIC_ATMEL_MCI
586c86c0155SWenyou Yang	bool "Atmel Multimedia Card Interface support"
587e7881d85SSimon Glass	depends on DM_MMC && BLK && ARCH_AT91
588c86c0155SWenyou Yang	help
589c86c0155SWenyou Yang	  This enables support for Atmel High Speed Multimedia Card Interface
590c86c0155SWenyou Yang	  (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
591c86c0155SWenyou Yang	  the SD Memory Card Specification V2.0, the SDIO V2.0 specification
592c86c0155SWenyou Yang	  and CE-ATA V1.1.
593c86c0155SWenyou Yang
594b312c590SPatrice Chotardconfig STM32_SDMMC2
595b312c590SPatrice Chotard	bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
59653c656a8SPatrice Chotard	depends on DM_MMC && BLK && OF_CONTROL
597b312c590SPatrice Chotard	help
598b312c590SPatrice Chotard	  This selects support for the SD/MMC controller on STM32H7 SoCs.
599b312c590SPatrice Chotard	  If you have a board based on such a SoC and with a SD/MMC slot,
600b312c590SPatrice Chotard	  say Y or M here.
601b312c590SPatrice Chotard
6029f678ab1SRick Chenconfig FTSDC010
6039f678ab1SRick Chen	bool "Ftsdc010 SD/MMC controller Support"
6049f678ab1SRick Chen	help
6059f678ab1SRick Chen	  This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
6069f678ab1SRick Chen
607095c9f35SRick Chenconfig FTSDC010_SDIO
608095c9f35SRick Chen	bool "Support ftsdc010 sdio"
609095c9f35SRick Chen	default n
610095c9f35SRick Chen	depends on FTSDC010
611095c9f35SRick Chen	help
612095c9f35SRick Chen		This can enable ftsdc010 sdio function.
613095c9f35SRick Chen
614d24b6939SWeijie Gaoconfig MMC_MTK
615d24b6939SWeijie Gao	bool "MediaTek SD/MMC Card Interface support"
616d24b6939SWeijie Gao	depends on ARCH_MEDIATEK
617d24b6939SWeijie Gao	depends on BLK && DM_MMC
618d24b6939SWeijie Gao	depends on OF_CONTROL
619d24b6939SWeijie Gao	help
620d24b6939SWeijie Gao	  This selects the MediaTek(R) Secure digital and Multimedia card Interface.
621d24b6939SWeijie Gao	  If you have a machine with a integrated SD/MMC card reader, say Y or M here.
622d24b6939SWeijie Gao	  This is needed if support for any SD/SDIO/MMC devices is required.
623d24b6939SWeijie Gao	  If unsure, say N.
624d24b6939SWeijie Gao
625e298c46aSMasahiro Yamadaendif
626e298c46aSMasahiro Yamada
6274119b709SMarcel Ziswilerconfig TEGRA124_MMC_DISABLE_EXT_LOOPBACK
6284119b709SMarcel Ziswiler	bool "Disable external clock loopback"
6294119b709SMarcel Ziswiler	depends on MMC_SDHCI_TEGRA && TEGRA124
6304119b709SMarcel Ziswiler	help
6314119b709SMarcel Ziswiler	  Disable the external clock loopback and use the internal one on SDMMC3
6324119b709SMarcel Ziswiler	  as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
6334119b709SMarcel Ziswiler	  being set to 0xfffd according to the TRM.
6344119b709SMarcel Ziswiler
6354119b709SMarcel Ziswiler	  TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
6364119b709SMarcel Ziswiler	  approach once proper kernel integration made it mainline.
6374119b709SMarcel Ziswiler
63807dea2e7SMario Sixconfig FSL_ESDHC
63907dea2e7SMario Six	bool "Freescale/NXP eSDHC controller support"
64007dea2e7SMario Six	help
64107dea2e7SMario Six	  This selects support for the eSDHC (enhanced secure digital host
64207dea2e7SMario Six	  controller) found on numerous Freescale/NXP SoCs.
64307dea2e7SMario Six
64472d42badSNobuhiro Iwamatsuendmenu
645c01e4a1aSYork Sun
646c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC111
647c01e4a1aSYork Sun	bool
648c01e4a1aSYork Sun
649c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC13
650c01e4a1aSYork Sun	bool
651c01e4a1aSYork Sun
652c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC135
653c01e4a1aSYork Sun	bool
654c01e4a1aSYork Sun
655c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC_A001
656c01e4a1aSYork Sun	bool
657