xref: /openbmc/u-boot/drivers/mmc/Kconfig (revision 0ad178c1)
172d42badSNobuhiro Iwamatsumenu "MMC Host controller Support"
272d42badSNobuhiro Iwamatsu
37a777f6dSMaxime Ripardconfig MMC
4c2726995SMasahiro Yamada	bool "MMC/SD/SDIO card support"
5c2726995SMasahiro Yamada	default ARM || PPC || SANDBOX
67a777f6dSMaxime Ripard	help
7c2726995SMasahiro Yamada	  This selects MultiMediaCard, Secure Digital and Secure
8c2726995SMasahiro Yamada	  Digital I/O support.
9c2726995SMasahiro Yamada
10c2726995SMasahiro Yamada	  If you want MMC/SD/SDIO support, you should say Y here and
11c2726995SMasahiro Yamada	  also to your specific host controller driver.
127a777f6dSMaxime Ripard
13e7ecf7cbSSimon Glassconfig DM_MMC
14e7ecf7cbSSimon Glass	bool "Enable MMC controllers using Driver Model"
15e7ecf7cbSSimon Glass	depends on DM
16e7ecf7cbSSimon Glass	help
1762a3b7ddSRobert P. J. Day	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
18e7ecf7cbSSimon Glass	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
19e7ecf7cbSSimon Glass	  and non-removable (e.g. eMMC chip) devices are supported. These
20e7ecf7cbSSimon Glass	  appear as block devices in U-Boot and can support filesystems such
21e7ecf7cbSSimon Glass	  as EXT4 and FAT.
22e7ecf7cbSSimon Glass
238ca51e51SSimon Glassconfig DM_MMC_OPS
248ca51e51SSimon Glass	bool "Support MMC controller operations using Driver Model"
258ca51e51SSimon Glass	depends on DM_MMC
26252788b4SSimon Glass	default y if DM_MMC
278ca51e51SSimon Glass	help
288ca51e51SSimon Glass	  Driver model provides a means of supporting device operations. This
298ca51e51SSimon Glass	  option moves MMC operations under the control of driver model. The
308ca51e51SSimon Glass	  option will be removed as soon as all DM_MMC drivers use it, as it
318ca51e51SSimon Glass	  will the only supported behaviour.
328ca51e51SSimon Glass
33e298c46aSMasahiro Yamadaif MMC
34e298c46aSMasahiro Yamada
35b5b838f1SMarek Vasutconfig SPL_MMC_TINY
36b5b838f1SMarek Vasut	bool "Tiny MMC framework in SPL"
37b5b838f1SMarek Vasut	help
38b5b838f1SMarek Vasut	  Enable MMC framework tinification support. This option is useful if
39b5b838f1SMarek Vasut	  if your SPL is extremely size constrained. Heed the warning, enable
40b5b838f1SMarek Vasut	  this option if and only if you know exactly what you are doing, if
41b5b838f1SMarek Vasut	  you are reading this help text, you most likely have no idea :-)
42b5b838f1SMarek Vasut
43b5b838f1SMarek Vasut	  The MMC framework is reduced to bare minimum to be useful. No malloc
44b5b838f1SMarek Vasut	  support is needed for the MMC framework operation with this option
45b5b838f1SMarek Vasut	  enabled. The framework supports exactly one MMC device and exactly
46b5b838f1SMarek Vasut	  one MMC driver. The MMC driver can be adjusted to avoid any malloc
47b5b838f1SMarek Vasut	  operations too, which can remove the need for malloc support in SPL
48b5b838f1SMarek Vasut	  and thus further reduce footprint.
49b5b838f1SMarek Vasut
509d11d12aSMateusz Kulikowskiconfig MSM_SDHCI
519d11d12aSMateusz Kulikowski	bool "Qualcomm SDHCI controller"
524b00bdb7SSimon Glass	depends on DM_MMC && BLK && DM_MMC_OPS
53e1ce61fbSMasahiro Yamada	depends on MMC_SDHCI
549d11d12aSMateusz Kulikowski	help
559d11d12aSMateusz Kulikowski	  Enables support for SDHCI 2.0 controller present on some Qualcomm
569d11d12aSMateusz Kulikowski          Snapdragon devices. This device is compatible with eMMC v4.5 and
579d11d12aSMateusz Kulikowski          SD 3.0 specifications. Both SD and eMMC devices are supported.
589d11d12aSMateusz Kulikowski	  Card-detect gpios are not supported.
599d11d12aSMateusz Kulikowski
60a0d0d86fSWenyou Yangconfig ATMEL_SDHCI
61a0d0d86fSWenyou Yang	bool "Atmel SDHCI controller support"
62a0d0d86fSWenyou Yang	depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
63e1ce61fbSMasahiro Yamada	depends on MMC_SDHCI
64a0d0d86fSWenyou Yang	help
65a0d0d86fSWenyou Yang	  This enables support for the Atmel SDHCI controller, which supports
66a0d0d86fSWenyou Yang	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
67a0d0d86fSWenyou Yang	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
68a0d0d86fSWenyou Yang	  It is compliant with the SD Host Controller Standard V3.0
69a0d0d86fSWenyou Yang	  specification.
70a0d0d86fSWenyou Yang
711d2c0506SMasahiro Yamadaconfig MMC_DAVINCI
721d2c0506SMasahiro Yamada	bool "TI DAVINCI Multimedia Card Interface support"
731d2c0506SMasahiro Yamada	depends on ARCH_DAVINCI
741d2c0506SMasahiro Yamada	default y
751d2c0506SMasahiro Yamada	help
761d2c0506SMasahiro Yamada	  This selects the TI DAVINCI Multimedia card Interface.
771d2c0506SMasahiro Yamada	  If you have an DAVINCI board with a Multimedia Card slot,
781d2c0506SMasahiro Yamada	  say Y here.  If unsure, say N.
791d2c0506SMasahiro Yamada
8055ed3b46SMasahiro Yamadaconfig MMC_DW
8155ed3b46SMasahiro Yamada	bool "Synopsys DesignWare Memory Card Interface"
8255ed3b46SMasahiro Yamada	help
8355ed3b46SMasahiro Yamada	  This selects support for the Synopsys DesignWare Mobile Storage IP
8455ed3b46SMasahiro Yamada	  block, this provides host support for SD and MMC interfaces, in both
8555ed3b46SMasahiro Yamada	  PIO, internal DMA mode and external DMA mode.
8655ed3b46SMasahiro Yamada
87ae4c81e9SMasahiro Yamadaconfig MMC_DW_EXYNOS
88ae4c81e9SMasahiro Yamada	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
89ae4c81e9SMasahiro Yamada	depends on ARCH_EXYNOS
90ae4c81e9SMasahiro Yamada	depends on MMC_DW
91ae4c81e9SMasahiro Yamada	default y
92ae4c81e9SMasahiro Yamada	help
93ae4c81e9SMasahiro Yamada	  This selects support for Samsung Exynos SoC specific extensions to the
94ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
95ae4c81e9SMasahiro Yamada	  for platforms based on Exynos4 and Exynos5 SoC's.
96ae4c81e9SMasahiro Yamada
97ae4c81e9SMasahiro Yamadaconfig MMC_DW_K3
98ae4c81e9SMasahiro Yamada	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
99ae4c81e9SMasahiro Yamada	depends on MMC_DW
100ae4c81e9SMasahiro Yamada	help
101ae4c81e9SMasahiro Yamada	  This selects support for Hisilicon K3 SoC specific extensions to the
102ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
103ae4c81e9SMasahiro Yamada	  for platforms based on Hisilicon K3 SoC's.
104ae4c81e9SMasahiro Yamada
105fed44087SMasahiro Yamadaconfig MMC_DW_ROCKCHIP
106a8cb4fb5SSimon Glass	bool "Rockchip SD/MMC controller support"
107a8cb4fb5SSimon Glass	depends on DM_MMC && OF_CONTROL
10855ed3b46SMasahiro Yamada	depends on MMC_DW
109a8cb4fb5SSimon Glass	help
110a8cb4fb5SSimon Glass	  This enables support for the Rockchip SD/MMM controller, which is
111a8cb4fb5SSimon Glass	  based on Designware IP. The device is compatible with at least
112a8cb4fb5SSimon Glass	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
113a8cb4fb5SSimon Glass	  as removeable SD and micro-SD cards.
114a8cb4fb5SSimon Glass
115ae4c81e9SMasahiro Yamadaconfig MMC_DW_SOCFPGA
116ae4c81e9SMasahiro Yamada	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
117ae4c81e9SMasahiro Yamada	depends on ARCH_SOCFPGA
118ae4c81e9SMasahiro Yamada	depends on MMC_DW
119ae4c81e9SMasahiro Yamada	default y
120ae4c81e9SMasahiro Yamada	help
121ae4c81e9SMasahiro Yamada	  This selects support for Altera SOCFPGA specific extensions to the
122ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
123ae4c81e9SMasahiro Yamada	  for platforms based on Altera SOCFPGA.
124ae4c81e9SMasahiro Yamada
1251d2c0506SMasahiro Yamadaconfig MMC_MXC
1261d2c0506SMasahiro Yamada	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
1271d2c0506SMasahiro Yamada	help
1281d2c0506SMasahiro Yamada	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
1291d2c0506SMasahiro Yamada	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
1301d2c0506SMasahiro Yamada	  with a Multimedia Card slot, say Y here.
1311d2c0506SMasahiro Yamada
1321d2c0506SMasahiro Yamada	  If unsure, say N.
1331d2c0506SMasahiro Yamada
1341d2c0506SMasahiro Yamadaconfig MMC_MXS
1351d2c0506SMasahiro Yamada	bool "Freescale MXS Multimedia Card Interface support"
1361d2c0506SMasahiro Yamada	help
1371d2c0506SMasahiro Yamada	  This selects the Freescale SSP MMC controller found on MXS based
1381d2c0506SMasahiro Yamada	  platforms like mx23/28.
1391d2c0506SMasahiro Yamada
1401d2c0506SMasahiro Yamada	  If unsure, say N.
1411d2c0506SMasahiro Yamada
1421d2c0506SMasahiro Yamadaconfig MMC_OMAP_HS
1431d2c0506SMasahiro Yamada	bool "TI OMAP High Speed Multimedia Card Interface support"
1441d2c0506SMasahiro Yamada	help
1451d2c0506SMasahiro Yamada	  This selects the TI OMAP High Speed Multimedia card Interface.
1461d2c0506SMasahiro Yamada	  If you have an omap2plus board with a Multimedia Card slot,
1471d2c0506SMasahiro Yamada	  say Y here.
1481d2c0506SMasahiro Yamada
1491d2c0506SMasahiro Yamada	  If unsure, say N.
1501d2c0506SMasahiro Yamada
15172d42badSNobuhiro Iwamatsuconfig SH_SDHI
15272d42badSNobuhiro Iwamatsu	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
15372d42badSNobuhiro Iwamatsu	depends on RMOBILE
15472d42badSNobuhiro Iwamatsu	help
15572d42badSNobuhiro Iwamatsu	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
15672d42badSNobuhiro Iwamatsu
157102142c9SAndrei Pistiricaconfig PIC32_SDHCI
158102142c9SAndrei Pistirica	bool "Microchip PIC32 on-chip SDHCI support"
159102142c9SAndrei Pistirica	depends on DM_MMC && MACH_PIC32
160e1ce61fbSMasahiro Yamada	depends on MMC_SDHCI
161102142c9SAndrei Pistirica	help
162102142c9SAndrei Pistirica	  Support for Microchip PIC32 SDHCI controller.
163102142c9SAndrei Pistirica
164ce0335f2SMichal Simekconfig ZYNQ_SDHCI
165ce0335f2SMichal Simek	bool "Arasan SDHCI controller support"
1669c4132b5SMichal Simek	depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
167e1ce61fbSMasahiro Yamada	depends on MMC_SDHCI
168ce0335f2SMichal Simek	help
169ce0335f2SMichal Simek	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
170ce0335f2SMichal Simek
17179c83065SKever Yangconfig ROCKCHIP_SDHCI
17279c83065SKever Yang	bool "Arasan SDHCI controller for Rockchip support"
17379c83065SKever Yang	depends on DM_MMC && BLK && DM_MMC_OPS
174e1ce61fbSMasahiro Yamada	depends on MMC_SDHCI
17579c83065SKever Yang	help
17679c83065SKever Yang	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
17779c83065SKever Yang
178a111bfbfSMasahiro Yamadaconfig MMC_UNIPHIER
179a111bfbfSMasahiro Yamada	bool "UniPhier SD/MMC Host Controller support"
180a111bfbfSMasahiro Yamada	depends on ARCH_UNIPHIER
1819c720c81SMasahiro Yamada	depends on BLK && DM_MMC_OPS
1829c720c81SMasahiro Yamada	depends on OF_CONTROL
183a111bfbfSMasahiro Yamada	help
184a111bfbfSMasahiro Yamada	  This selects support for the SD/MMC Host Controller on UniPhier SoCs.
185a111bfbfSMasahiro Yamada
186f376a3cbSSimon Glassconfig SANDBOX_MMC
187f376a3cbSSimon Glass	bool "Sandbox MMC support"
188f376a3cbSSimon Glass	depends on MMC && SANDBOX
189f376a3cbSSimon Glass	help
190f376a3cbSSimon Glass	  This select a dummy sandbox MMC driver. At present this does nothing
191f376a3cbSSimon Glass	  other than allow sandbox to be build with MMC support. This
192f376a3cbSSimon Glass	  improves build coverage for sandbox and makes it easier to detect
193f376a3cbSSimon Glass	  MMC build errors with sandbox.
194f376a3cbSSimon Glass
195e1ce61fbSMasahiro Yamadaconfig MMC_SDHCI
196e1ce61fbSMasahiro Yamada	bool "Secure Digital Host Controller Interface support"
197e1ce61fbSMasahiro Yamada	help
198e1ce61fbSMasahiro Yamada	  This selects the generic Secure Digital Host Controller Interface.
199e1ce61fbSMasahiro Yamada	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
200e1ce61fbSMasahiro Yamada	  and Toshiba(R). Most controllers found in laptops are of this type.
201e1ce61fbSMasahiro Yamada
202e1ce61fbSMasahiro Yamada	  If you have a controller with this interface, say Y here.
203e1ce61fbSMasahiro Yamada
204e1ce61fbSMasahiro Yamada	  If unsure, say N.
205e1ce61fbSMasahiro Yamada
2063d3a74ccSMasahiro Yamadaconfig MMC_SDHCI_IO_ACCESSORS
2073d3a74ccSMasahiro Yamada	bool
2083d3a74ccSMasahiro Yamada	depends on MMC_SDHCI
2093d3a74ccSMasahiro Yamada	help
2103d3a74ccSMasahiro Yamada	  This is silent Kconfig symbol that is selected by the drivers that
2113d3a74ccSMasahiro Yamada	  need to overwrite SDHCI IO memory accessors.
2123d3a74ccSMasahiro Yamada
21345a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SDMA
21445a68fe2SMasahiro Yamada	bool "Support SDHCI SDMA"
21545a68fe2SMasahiro Yamada	depends on MMC_SDHCI
21645a68fe2SMasahiro Yamada	help
21745a68fe2SMasahiro Yamada	  This enables support for the SDMA (Single Operation DMA) defined
21845a68fe2SMasahiro Yamada	  in the SD Host Controller Standard Specification Version 1.00 .
21945a68fe2SMasahiro Yamada
22045a68fe2SMasahiro Yamadaconfig MMC_SDHCI_BCM2835
22145a68fe2SMasahiro Yamada	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
22245a68fe2SMasahiro Yamada	depends on ARCH_BCM283X
22345a68fe2SMasahiro Yamada	depends on MMC_SDHCI
2243d3a74ccSMasahiro Yamada	select MMC_SDHCI_IO_ACCESSORS
22545a68fe2SMasahiro Yamada	help
22645a68fe2SMasahiro Yamada	  This selects the BCM2835 SD/MMC controller.
22745a68fe2SMasahiro Yamada
22845a68fe2SMasahiro Yamada	  If you have a BCM2835 platform with SD or MMC devices,
22945a68fe2SMasahiro Yamada	  say Y here.
23045a68fe2SMasahiro Yamada
23145a68fe2SMasahiro Yamada	  If unsure, say N.
23245a68fe2SMasahiro Yamada
233e5e7a7c2SMasahiro Yamadaconfig MMC_SDHCI_CADENCE
234e5e7a7c2SMasahiro Yamada	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
235e5e7a7c2SMasahiro Yamada	depends on BLK && DM_MMC_OPS
236e5e7a7c2SMasahiro Yamada	depends on MMC_SDHCI
237e5e7a7c2SMasahiro Yamada	depends on OF_CONTROL
238e5e7a7c2SMasahiro Yamada	help
239e5e7a7c2SMasahiro Yamada	  This selects the Cadence SD/SDIO/eMMC driver.
240e5e7a7c2SMasahiro Yamada
241e5e7a7c2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
242e5e7a7c2SMasahiro Yamada
243e5e7a7c2SMasahiro Yamada	  If unsure, say N.
244e5e7a7c2SMasahiro Yamada
24545a68fe2SMasahiro Yamadaconfig MMC_SDHCI_KONA
24645a68fe2SMasahiro Yamada	bool "SDHCI support on Broadcom KONA platform"
24745a68fe2SMasahiro Yamada	depends on MMC_SDHCI
24845a68fe2SMasahiro Yamada	help
24945a68fe2SMasahiro Yamada	  This selects the Broadcom Kona Secure Digital Host Controller
25045a68fe2SMasahiro Yamada	  Interface(SDHCI) support.
25145a68fe2SMasahiro Yamada	  This is used in Broadcom mobile SoCs.
25245a68fe2SMasahiro Yamada
25345a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
25445a68fe2SMasahiro Yamada
25545a68fe2SMasahiro Yamadaconfig MMC_SDHCI_MV
25645a68fe2SMasahiro Yamada	bool "SDHCI support on Marvell platform"
25745a68fe2SMasahiro Yamada	depends on ARCH_MVEBU
25845a68fe2SMasahiro Yamada	depends on MMC_SDHCI
25945a68fe2SMasahiro Yamada	help
26045a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface on
26145a68fe2SMasahiro Yamada	  Marvell platform.
26245a68fe2SMasahiro Yamada
26345a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
26445a68fe2SMasahiro Yamada
26545a68fe2SMasahiro Yamada	  If unsure, say N.
26645a68fe2SMasahiro Yamada
26745a68fe2SMasahiro Yamadaconfig MMC_SDHCI_S5P
26845a68fe2SMasahiro Yamada	bool "SDHCI support on Samsung S5P SoC"
26945a68fe2SMasahiro Yamada	depends on MMC_SDHCI
27045a68fe2SMasahiro Yamada	help
27145a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
27245a68fe2SMasahiro Yamada	  on Samsung S5P SoCs.
27345a68fe2SMasahiro Yamada
27445a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
27545a68fe2SMasahiro Yamada
27645a68fe2SMasahiro Yamada	  If unsure, say N.
27745a68fe2SMasahiro Yamada
27845a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SPEAR
27945a68fe2SMasahiro Yamada	bool "SDHCI support on ST SPEAr platform"
28045a68fe2SMasahiro Yamada	depends on MMC_SDHCI
28145a68fe2SMasahiro Yamada	help
28245a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
28345a68fe2SMasahiro Yamada	  often referrered to as the HSMMC block in some of the ST SPEAR range
28445a68fe2SMasahiro Yamada	  of SoC
28545a68fe2SMasahiro Yamada
28645a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
28745a68fe2SMasahiro Yamada
28845a68fe2SMasahiro Yamada	  If unsure, say N.
28945a68fe2SMasahiro Yamada
2901d2c0506SMasahiro Yamadaconfig MMC_SDHCI_TEGRA
2911d2c0506SMasahiro Yamada	bool "SDHCI platform support for the Tegra SD/MMC Controller"
2921d2c0506SMasahiro Yamada	depends on TEGRA
2931d2c0506SMasahiro Yamada	default y
2941d2c0506SMasahiro Yamada	help
2951d2c0506SMasahiro Yamada	  This selects the Tegra SD/MMC controller. If you have a Tegra
2961d2c0506SMasahiro Yamada	  platform with SD or MMC devices, say Y here.
2971d2c0506SMasahiro Yamada
2981d2c0506SMasahiro Yamada	  If unsure, say N.
2991d2c0506SMasahiro Yamada
3001d2c0506SMasahiro Yamadaconfig MMC_SUNXI
3011d2c0506SMasahiro Yamada	bool "Allwinner sunxi SD/MMC Host Controller support"
302*0ad178c1SMasahiro Yamada	depends on ARCH_SUNXI && !UART0_PORT_F
3031d2c0506SMasahiro Yamada	default y
3041d2c0506SMasahiro Yamada	help
3051d2c0506SMasahiro Yamada	  This selects support for the SD/MMC Host Controller on
3061d2c0506SMasahiro Yamada	  Allwinner sunxi SoCs.
3071d2c0506SMasahiro Yamada
308e298c46aSMasahiro Yamadaendif
309e298c46aSMasahiro Yamada
31072d42badSNobuhiro Iwamatsuendmenu
311c01e4a1aSYork Sun
312c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC111
313c01e4a1aSYork Sun	bool
314c01e4a1aSYork Sun
315c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC13
316c01e4a1aSYork Sun	bool
317c01e4a1aSYork Sun
318c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC135
319c01e4a1aSYork Sun	bool
320c01e4a1aSYork Sun
321c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC_A001
322c01e4a1aSYork Sun	bool
323