xref: /openbmc/u-boot/drivers/mmc/Kconfig (revision ae4c81e9)
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
7155ed3b46SMasahiro Yamadaconfig MMC_DW
7255ed3b46SMasahiro Yamada	bool "Synopsys DesignWare Memory Card Interface"
7355ed3b46SMasahiro Yamada	help
7455ed3b46SMasahiro Yamada	  This selects support for the Synopsys DesignWare Mobile Storage IP
7555ed3b46SMasahiro Yamada	  block, this provides host support for SD and MMC interfaces, in both
7655ed3b46SMasahiro Yamada	  PIO, internal DMA mode and external DMA mode.
7755ed3b46SMasahiro Yamada
78*ae4c81e9SMasahiro Yamadaconfig MMC_DW_EXYNOS
79*ae4c81e9SMasahiro Yamada	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
80*ae4c81e9SMasahiro Yamada	depends on ARCH_EXYNOS
81*ae4c81e9SMasahiro Yamada	depends on MMC_DW
82*ae4c81e9SMasahiro Yamada	default y
83*ae4c81e9SMasahiro Yamada	help
84*ae4c81e9SMasahiro Yamada	  This selects support for Samsung Exynos SoC specific extensions to the
85*ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
86*ae4c81e9SMasahiro Yamada	  for platforms based on Exynos4 and Exynos5 SoC's.
87*ae4c81e9SMasahiro Yamada
88*ae4c81e9SMasahiro Yamadaconfig MMC_DW_K3
89*ae4c81e9SMasahiro Yamada	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
90*ae4c81e9SMasahiro Yamada	depends on MMC_DW
91*ae4c81e9SMasahiro Yamada	help
92*ae4c81e9SMasahiro Yamada	  This selects support for Hisilicon K3 SoC specific extensions to the
93*ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
94*ae4c81e9SMasahiro Yamada	  for platforms based on Hisilicon K3 SoC's.
95*ae4c81e9SMasahiro Yamada
96fed44087SMasahiro Yamadaconfig MMC_DW_ROCKCHIP
97a8cb4fb5SSimon Glass	bool "Rockchip SD/MMC controller support"
98a8cb4fb5SSimon Glass	depends on DM_MMC && OF_CONTROL
9955ed3b46SMasahiro Yamada	depends on MMC_DW
100a8cb4fb5SSimon Glass	help
101a8cb4fb5SSimon Glass	  This enables support for the Rockchip SD/MMM controller, which is
102a8cb4fb5SSimon Glass	  based on Designware IP. The device is compatible with at least
103a8cb4fb5SSimon Glass	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
104a8cb4fb5SSimon Glass	  as removeable SD and micro-SD cards.
105a8cb4fb5SSimon Glass
106*ae4c81e9SMasahiro Yamadaconfig MMC_DW_SOCFPGA
107*ae4c81e9SMasahiro Yamada	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
108*ae4c81e9SMasahiro Yamada	depends on ARCH_SOCFPGA
109*ae4c81e9SMasahiro Yamada	depends on MMC_DW
110*ae4c81e9SMasahiro Yamada	default y
111*ae4c81e9SMasahiro Yamada	help
112*ae4c81e9SMasahiro Yamada	  This selects support for Altera SOCFPGA specific extensions to the
113*ae4c81e9SMasahiro Yamada	  Synopsys DesignWare Memory Card Interface driver. Select this option
114*ae4c81e9SMasahiro Yamada	  for platforms based on Altera SOCFPGA.
115*ae4c81e9SMasahiro Yamada
11672d42badSNobuhiro Iwamatsuconfig SH_SDHI
11772d42badSNobuhiro Iwamatsu	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
11872d42badSNobuhiro Iwamatsu	depends on RMOBILE
11972d42badSNobuhiro Iwamatsu	help
12072d42badSNobuhiro Iwamatsu	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
12172d42badSNobuhiro Iwamatsu
122102142c9SAndrei Pistiricaconfig PIC32_SDHCI
123102142c9SAndrei Pistirica	bool "Microchip PIC32 on-chip SDHCI support"
124102142c9SAndrei Pistirica	depends on DM_MMC && MACH_PIC32
125e1ce61fbSMasahiro Yamada	depends on MMC_SDHCI
126102142c9SAndrei Pistirica	help
127102142c9SAndrei Pistirica	  Support for Microchip PIC32 SDHCI controller.
128102142c9SAndrei Pistirica
129ce0335f2SMichal Simekconfig ZYNQ_SDHCI
130ce0335f2SMichal Simek	bool "Arasan SDHCI controller support"
1319c4132b5SMichal Simek	depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
132e1ce61fbSMasahiro Yamada	depends on MMC_SDHCI
133ce0335f2SMichal Simek	help
134ce0335f2SMichal Simek	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
135ce0335f2SMichal Simek
13679c83065SKever Yangconfig ROCKCHIP_SDHCI
13779c83065SKever Yang	bool "Arasan SDHCI controller for Rockchip support"
13879c83065SKever Yang	depends on DM_MMC && BLK && DM_MMC_OPS
139e1ce61fbSMasahiro Yamada	depends on MMC_SDHCI
14079c83065SKever Yang	help
14179c83065SKever Yang	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
14279c83065SKever Yang
143a111bfbfSMasahiro Yamadaconfig MMC_UNIPHIER
144a111bfbfSMasahiro Yamada	bool "UniPhier SD/MMC Host Controller support"
145a111bfbfSMasahiro Yamada	depends on ARCH_UNIPHIER
1469c720c81SMasahiro Yamada	depends on BLK && DM_MMC_OPS
1479c720c81SMasahiro Yamada	depends on OF_CONTROL
148a111bfbfSMasahiro Yamada	help
149a111bfbfSMasahiro Yamada	  This selects support for the SD/MMC Host Controller on UniPhier SoCs.
150a111bfbfSMasahiro Yamada
151f376a3cbSSimon Glassconfig SANDBOX_MMC
152f376a3cbSSimon Glass	bool "Sandbox MMC support"
153f376a3cbSSimon Glass	depends on MMC && SANDBOX
154f376a3cbSSimon Glass	help
155f376a3cbSSimon Glass	  This select a dummy sandbox MMC driver. At present this does nothing
156f376a3cbSSimon Glass	  other than allow sandbox to be build with MMC support. This
157f376a3cbSSimon Glass	  improves build coverage for sandbox and makes it easier to detect
158f376a3cbSSimon Glass	  MMC build errors with sandbox.
159f376a3cbSSimon Glass
160e1ce61fbSMasahiro Yamadaconfig MMC_SDHCI
161e1ce61fbSMasahiro Yamada	bool "Secure Digital Host Controller Interface support"
162e1ce61fbSMasahiro Yamada	help
163e1ce61fbSMasahiro Yamada	  This selects the generic Secure Digital Host Controller Interface.
164e1ce61fbSMasahiro Yamada	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
165e1ce61fbSMasahiro Yamada	  and Toshiba(R). Most controllers found in laptops are of this type.
166e1ce61fbSMasahiro Yamada
167e1ce61fbSMasahiro Yamada	  If you have a controller with this interface, say Y here.
168e1ce61fbSMasahiro Yamada
169e1ce61fbSMasahiro Yamada	  If unsure, say N.
170e1ce61fbSMasahiro Yamada
1713d3a74ccSMasahiro Yamadaconfig MMC_SDHCI_IO_ACCESSORS
1723d3a74ccSMasahiro Yamada	bool
1733d3a74ccSMasahiro Yamada	depends on MMC_SDHCI
1743d3a74ccSMasahiro Yamada	help
1753d3a74ccSMasahiro Yamada	  This is silent Kconfig symbol that is selected by the drivers that
1763d3a74ccSMasahiro Yamada	  need to overwrite SDHCI IO memory accessors.
1773d3a74ccSMasahiro Yamada
17845a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SDMA
17945a68fe2SMasahiro Yamada	bool "Support SDHCI SDMA"
18045a68fe2SMasahiro Yamada	depends on MMC_SDHCI
18145a68fe2SMasahiro Yamada	help
18245a68fe2SMasahiro Yamada	  This enables support for the SDMA (Single Operation DMA) defined
18345a68fe2SMasahiro Yamada	  in the SD Host Controller Standard Specification Version 1.00 .
18445a68fe2SMasahiro Yamada
18545a68fe2SMasahiro Yamadaconfig MMC_SDHCI_BCM2835
18645a68fe2SMasahiro Yamada	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
18745a68fe2SMasahiro Yamada	depends on ARCH_BCM283X
18845a68fe2SMasahiro Yamada	depends on MMC_SDHCI
1893d3a74ccSMasahiro Yamada	select MMC_SDHCI_IO_ACCESSORS
19045a68fe2SMasahiro Yamada	help
19145a68fe2SMasahiro Yamada	  This selects the BCM2835 SD/MMC controller.
19245a68fe2SMasahiro Yamada
19345a68fe2SMasahiro Yamada	  If you have a BCM2835 platform with SD or MMC devices,
19445a68fe2SMasahiro Yamada	  say Y here.
19545a68fe2SMasahiro Yamada
19645a68fe2SMasahiro Yamada	  If unsure, say N.
19745a68fe2SMasahiro Yamada
198e5e7a7c2SMasahiro Yamadaconfig MMC_SDHCI_CADENCE
199e5e7a7c2SMasahiro Yamada	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
200e5e7a7c2SMasahiro Yamada	depends on BLK && DM_MMC_OPS
201e5e7a7c2SMasahiro Yamada	depends on MMC_SDHCI
202e5e7a7c2SMasahiro Yamada	depends on OF_CONTROL
203e5e7a7c2SMasahiro Yamada	help
204e5e7a7c2SMasahiro Yamada	  This selects the Cadence SD/SDIO/eMMC driver.
205e5e7a7c2SMasahiro Yamada
206e5e7a7c2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
207e5e7a7c2SMasahiro Yamada
208e5e7a7c2SMasahiro Yamada	  If unsure, say N.
209e5e7a7c2SMasahiro Yamada
21045a68fe2SMasahiro Yamadaconfig MMC_SDHCI_KONA
21145a68fe2SMasahiro Yamada	bool "SDHCI support on Broadcom KONA platform"
21245a68fe2SMasahiro Yamada	depends on MMC_SDHCI
21345a68fe2SMasahiro Yamada	help
21445a68fe2SMasahiro Yamada	  This selects the Broadcom Kona Secure Digital Host Controller
21545a68fe2SMasahiro Yamada	  Interface(SDHCI) support.
21645a68fe2SMasahiro Yamada	  This is used in Broadcom mobile SoCs.
21745a68fe2SMasahiro Yamada
21845a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
21945a68fe2SMasahiro Yamada
22045a68fe2SMasahiro Yamadaconfig MMC_SDHCI_MV
22145a68fe2SMasahiro Yamada	bool "SDHCI support on Marvell platform"
22245a68fe2SMasahiro Yamada	depends on ARCH_MVEBU
22345a68fe2SMasahiro Yamada	depends on MMC_SDHCI
22445a68fe2SMasahiro Yamada	help
22545a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface on
22645a68fe2SMasahiro Yamada	  Marvell platform.
22745a68fe2SMasahiro Yamada
22845a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
22945a68fe2SMasahiro Yamada
23045a68fe2SMasahiro Yamada	  If unsure, say N.
23145a68fe2SMasahiro Yamada
23245a68fe2SMasahiro Yamadaconfig MMC_SDHCI_S5P
23345a68fe2SMasahiro Yamada	bool "SDHCI support on Samsung S5P SoC"
23445a68fe2SMasahiro Yamada	depends on MMC_SDHCI
23545a68fe2SMasahiro Yamada	help
23645a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
23745a68fe2SMasahiro Yamada	  on Samsung S5P SoCs.
23845a68fe2SMasahiro Yamada
23945a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
24045a68fe2SMasahiro Yamada
24145a68fe2SMasahiro Yamada	  If unsure, say N.
24245a68fe2SMasahiro Yamada
24345a68fe2SMasahiro Yamadaconfig MMC_SDHCI_SPEAR
24445a68fe2SMasahiro Yamada	bool "SDHCI support on ST SPEAr platform"
24545a68fe2SMasahiro Yamada	depends on MMC_SDHCI
24645a68fe2SMasahiro Yamada	help
24745a68fe2SMasahiro Yamada	  This selects the Secure Digital Host Controller Interface (SDHCI)
24845a68fe2SMasahiro Yamada	  often referrered to as the HSMMC block in some of the ST SPEAR range
24945a68fe2SMasahiro Yamada	  of SoC
25045a68fe2SMasahiro Yamada
25145a68fe2SMasahiro Yamada	  If you have a controller with this interface, say Y here.
25245a68fe2SMasahiro Yamada
25345a68fe2SMasahiro Yamada	  If unsure, say N.
25445a68fe2SMasahiro Yamada
255e298c46aSMasahiro Yamadaendif
256e298c46aSMasahiro Yamada
25772d42badSNobuhiro Iwamatsuendmenu
258c01e4a1aSYork Sun
259c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC111
260c01e4a1aSYork Sun	bool
261c01e4a1aSYork Sun
262c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC13
263c01e4a1aSYork Sun	bool
264c01e4a1aSYork Sun
265c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC135
266c01e4a1aSYork Sun	bool
267c01e4a1aSYork Sun
268c01e4a1aSYork Sunconfig SYS_FSL_ERRATUM_ESDHC_A001
269c01e4a1aSYork Sun	bool
270