xref: /openbmc/u-boot/drivers/mmc/Kconfig (revision 4aac44be)
1menu "MMC Host controller Support"
2
3config MMC
4	bool "MMC/SD/SDIO card support"
5	default ARM || PPC || SANDBOX
6	help
7	  This selects MultiMediaCard, Secure Digital and Secure
8	  Digital I/O support.
9
10	  If you want MMC/SD/SDIO support, you should say Y here and
11	  also to your specific host controller driver.
12
13config GENERIC_MMC
14	bool "Generic MMC driver framework"
15	default MMC
16
17config DM_MMC
18	bool "Enable MMC controllers using Driver Model"
19	depends on DM
20	help
21	  This enables the MultiMediaCard (MMC) uclass which supports MMC and
22	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
23	  and non-removable (e.g. eMMC chip) devices are supported. These
24	  appear as block devices in U-Boot and can support filesystems such
25	  as EXT4 and FAT.
26
27config DM_MMC_OPS
28	bool "Support MMC controller operations using Driver Model"
29	depends on DM_MMC
30	default y if DM_MMC
31	help
32	  Driver model provides a means of supporting device operations. This
33	  option moves MMC operations under the control of driver model. The
34	  option will be removed as soon as all DM_MMC drivers use it, as it
35	  will the only supported behaviour.
36
37if MMC
38
39config SPL_MMC_TINY
40	bool "Tiny MMC framework in SPL"
41	help
42	  Enable MMC framework tinification support. This option is useful if
43	  if your SPL is extremely size constrained. Heed the warning, enable
44	  this option if and only if you know exactly what you are doing, if
45	  you are reading this help text, you most likely have no idea :-)
46
47	  The MMC framework is reduced to bare minimum to be useful. No malloc
48	  support is needed for the MMC framework operation with this option
49	  enabled. The framework supports exactly one MMC device and exactly
50	  one MMC driver. The MMC driver can be adjusted to avoid any malloc
51	  operations too, which can remove the need for malloc support in SPL
52	  and thus further reduce footprint.
53
54config MMC_DAVINCI
55	bool "TI DAVINCI Multimedia Card Interface support"
56	depends on ARCH_DAVINCI
57	default y
58	help
59	  This selects the TI DAVINCI Multimedia card Interface.
60	  If you have an DAVINCI board with a Multimedia Card slot,
61	  say Y here.  If unsure, say N.
62
63config MMC_DW
64	bool "Synopsys DesignWare Memory Card Interface"
65	help
66	  This selects support for the Synopsys DesignWare Mobile Storage IP
67	  block, this provides host support for SD and MMC interfaces, in both
68	  PIO, internal DMA mode and external DMA mode.
69
70config MMC_DW_EXYNOS
71	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
72	depends on ARCH_EXYNOS
73	depends on MMC_DW
74	default y
75	help
76	  This selects support for Samsung Exynos SoC specific extensions to the
77	  Synopsys DesignWare Memory Card Interface driver. Select this option
78	  for platforms based on Exynos4 and Exynos5 SoC's.
79
80config MMC_DW_K3
81	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
82	depends on MMC_DW
83	help
84	  This selects support for Hisilicon K3 SoC specific extensions to the
85	  Synopsys DesignWare Memory Card Interface driver. Select this option
86	  for platforms based on Hisilicon K3 SoC's.
87
88config MMC_DW_ROCKCHIP
89	bool "Rockchip SD/MMC controller support"
90	depends on DM_MMC && OF_CONTROL
91	depends on MMC_DW
92	help
93	  This enables support for the Rockchip SD/MMM controller, which is
94	  based on Designware IP. The device is compatible with at least
95	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
96	  as removeable SD and micro-SD cards.
97
98config MMC_DW_SOCFPGA
99	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
100	depends on ARCH_SOCFPGA
101	depends on MMC_DW
102	default y
103	help
104	  This selects support for Altera SOCFPGA specific extensions to the
105	  Synopsys DesignWare Memory Card Interface driver. Select this option
106	  for platforms based on Altera SOCFPGA.
107
108config MMC_MXC
109	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
110	help
111	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
112	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
113	  with a Multimedia Card slot, say Y here.
114
115	  If unsure, say N.
116
117config MMC_MXS
118	bool "Freescale MXS Multimedia Card Interface support"
119	help
120	  This selects the Freescale SSP MMC controller found on MXS based
121	  platforms like mx23/28.
122
123	  If unsure, say N.
124
125config MMC_OMAP_HS
126	bool "TI OMAP High Speed Multimedia Card Interface support"
127	help
128	  This selects the TI OMAP High Speed Multimedia card Interface.
129	  If you have an omap2plus board with a Multimedia Card slot,
130	  say Y here.
131
132	  If unsure, say N.
133
134config MMC_OMAP36XX_PINS
135	bool "Enable MMC1 on OMAP36xx/37xx"
136	depends on OMAP34XX && MMC_OMAP_HS
137	help
138	  This enables extended-drain in the MMC/SD/SDIO1I/O and
139	  GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
140	  specific to the OMAP36xx/37xx using MMC1
141
142	  If you have a controller with this interface, say Y here.
143
144	  If unsure, say N.
145
146config SH_SDHI
147	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
148	depends on RMOBILE
149	help
150	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
151
152config MMC_UNIPHIER
153	bool "UniPhier SD/MMC Host Controller support"
154	depends on ARCH_UNIPHIER
155	depends on BLK && DM_MMC_OPS
156	depends on OF_CONTROL
157	help
158	  This selects support for the SD/MMC Host Controller on UniPhier SoCs.
159
160config MMC_SANDBOX
161	bool "Sandbox MMC support"
162	depends on SANDBOX
163	depends on BLK && DM_MMC_OPS && OF_CONTROL
164	help
165	  This select a dummy sandbox MMC driver. At present this does nothing
166	  other than allow sandbox to be build with MMC support. This
167	  improves build coverage for sandbox and makes it easier to detect
168	  MMC build errors with sandbox.
169
170config MMC_SDHCI
171	bool "Secure Digital Host Controller Interface support"
172	help
173	  This selects the generic Secure Digital Host Controller Interface.
174	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
175	  and Toshiba(R). Most controllers found in laptops are of this type.
176
177	  If you have a controller with this interface, say Y here.
178
179	  If unsure, say N.
180
181config MMC_SDHCI_IO_ACCESSORS
182	bool
183	depends on MMC_SDHCI
184	help
185	  This is silent Kconfig symbol that is selected by the drivers that
186	  need to overwrite SDHCI IO memory accessors.
187
188config MMC_SDHCI_SDMA
189	bool "Support SDHCI SDMA"
190	depends on MMC_SDHCI
191	help
192	  This enables support for the SDMA (Single Operation DMA) defined
193	  in the SD Host Controller Standard Specification Version 1.00 .
194
195config MMC_SDHCI_ATMEL
196	bool "Atmel SDHCI controller support"
197	depends on ARCH_AT91
198	depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
199	depends on MMC_SDHCI
200	help
201	  This enables support for the Atmel SDHCI controller, which supports
202	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
203	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
204	  It is compliant with the SD Host Controller Standard V3.0
205	  specification.
206
207config MMC_SDHCI_BCM2835
208	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
209	depends on ARCH_BCM283X
210	depends on MMC_SDHCI
211	select MMC_SDHCI_IO_ACCESSORS
212	help
213	  This selects the BCM2835 SD/MMC controller.
214
215	  If you have a BCM2835 platform with SD or MMC devices,
216	  say Y here.
217
218	  If unsure, say N.
219
220config MMC_SDHCI_CADENCE
221	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
222	depends on BLK && DM_MMC_OPS
223	depends on MMC_SDHCI
224	depends on OF_CONTROL
225	help
226	  This selects the Cadence SD/SDIO/eMMC driver.
227
228	  If you have a controller with this interface, say Y here.
229
230	  If unsure, say N.
231
232config MMC_SDHCI_KONA
233	bool "SDHCI support on Broadcom KONA platform"
234	depends on MMC_SDHCI
235	help
236	  This selects the Broadcom Kona Secure Digital Host Controller
237	  Interface(SDHCI) support.
238	  This is used in Broadcom mobile SoCs.
239
240	  If you have a controller with this interface, say Y here.
241
242config MMC_SDHCI_MSM
243	bool "Qualcomm SDHCI controller"
244	depends on BLK && DM_MMC_OPS
245	depends on MMC_SDHCI
246	help
247	  Enables support for SDHCI 2.0 controller present on some Qualcomm
248          Snapdragon devices. This device is compatible with eMMC v4.5 and
249          SD 3.0 specifications. Both SD and eMMC devices are supported.
250	  Card-detect gpios are not supported.
251
252config MMC_SDHCI_MV
253	bool "SDHCI support on Marvell platform"
254	depends on ARCH_MVEBU
255	depends on MMC_SDHCI
256	help
257	  This selects the Secure Digital Host Controller Interface on
258	  Marvell platform.
259
260	  If you have a controller with this interface, say Y here.
261
262	  If unsure, say N.
263
264config MMC_SDHCI_PIC32
265	bool "Microchip PIC32 on-chip SDHCI support"
266	depends on DM_MMC && MACH_PIC32
267	depends on MMC_SDHCI
268	help
269	  Support for Microchip PIC32 SDHCI controller.
270
271config MMC_SDHCI_ROCKCHIP
272	bool "Arasan SDHCI controller for Rockchip support"
273	depends on ARCH_ROCKCHIP
274	depends on DM_MMC && BLK && DM_MMC_OPS
275	depends on MMC_SDHCI
276	help
277	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
278
279config MMC_SDHCI_S5P
280	bool "SDHCI support on Samsung S5P SoC"
281	depends on MMC_SDHCI
282	help
283	  This selects the Secure Digital Host Controller Interface (SDHCI)
284	  on Samsung S5P SoCs.
285
286	  If you have a controller with this interface, say Y here.
287
288	  If unsure, say N.
289
290config MMC_SDHCI_SPEAR
291	bool "SDHCI support on ST SPEAr platform"
292	depends on MMC_SDHCI
293	help
294	  This selects the Secure Digital Host Controller Interface (SDHCI)
295	  often referrered to as the HSMMC block in some of the ST SPEAR range
296	  of SoC
297
298	  If you have a controller with this interface, say Y here.
299
300	  If unsure, say N.
301
302config MMC_SDHCI_XENON
303	bool "SDHCI support for the Xenon SDHCI controller"
304	depends on MMC_SDHCI && DM_MMC && OF_CONTROL
305	help
306	  Support for Xenon SDHCI host controller on Marvell Armada 3700
307	  7k/8k ARM SoCs platforms
308
309	  If you have a controller with this interface, say Y here.
310
311	  If unsure, say N.
312
313config MMC_SDHCI_TEGRA
314	bool "SDHCI platform support for the Tegra SD/MMC Controller"
315	depends on TEGRA
316	default y
317	help
318	  This selects the Tegra SD/MMC controller. If you have a Tegra
319	  platform with SD or MMC devices, say Y here.
320
321	  If unsure, say N.
322
323config MMC_SDHCI_ZYNQ
324	bool "Arasan SDHCI controller support"
325	depends on ARCH_ZYNQ || ARCH_ZYNQMP
326	depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
327	depends on MMC_SDHCI
328	help
329	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
330
331config MMC_SUNXI
332	bool "Allwinner sunxi SD/MMC Host Controller support"
333	depends on ARCH_SUNXI && !UART0_PORT_F
334	default y
335	help
336	  This selects support for the SD/MMC Host Controller on
337	  Allwinner sunxi SoCs.
338
339endif
340
341endmenu
342
343config SYS_FSL_ERRATUM_ESDHC111
344	bool
345
346config SYS_FSL_ERRATUM_ESDHC13
347	bool
348
349config SYS_FSL_ERRATUM_ESDHC135
350	bool
351
352config SYS_FSL_ERRATUM_ESDHC_A001
353	bool
354