xref: /rk3399_rockchip-uboot/drivers/mmc/Kconfig (revision 08aa0334c6e885491c6d10fa4a8209b8917fbf63)
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 MSM_SDHCI
55	bool "Qualcomm SDHCI controller"
56	depends on DM_MMC && BLK && DM_MMC_OPS
57	depends on MMC_SDHCI
58	help
59	  Enables support for SDHCI 2.0 controller present on some Qualcomm
60          Snapdragon devices. This device is compatible with eMMC v4.5 and
61          SD 3.0 specifications. Both SD and eMMC devices are supported.
62	  Card-detect gpios are not supported.
63
64config ATMEL_SDHCI
65	bool "Atmel SDHCI controller support"
66	depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
67	depends on MMC_SDHCI
68	help
69	  This enables support for the Atmel SDHCI controller, which supports
70	  the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
71	  Memory Card Specification V3.0, and the SDIO V3.0 specification.
72	  It is compliant with the SD Host Controller Standard V3.0
73	  specification.
74
75config MMC_DAVINCI
76	bool "TI DAVINCI Multimedia Card Interface support"
77	depends on ARCH_DAVINCI
78	default y
79	help
80	  This selects the TI DAVINCI Multimedia card Interface.
81	  If you have an DAVINCI board with a Multimedia Card slot,
82	  say Y here.  If unsure, say N.
83
84config MMC_DW
85	bool "Synopsys DesignWare Memory Card Interface"
86	help
87	  This selects support for the Synopsys DesignWare Mobile Storage IP
88	  block, this provides host support for SD and MMC interfaces, in both
89	  PIO, internal DMA mode and external DMA mode.
90
91config MMC_DW_EXYNOS
92	bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
93	depends on ARCH_EXYNOS
94	depends on MMC_DW
95	default y
96	help
97	  This selects support for Samsung Exynos SoC specific extensions to the
98	  Synopsys DesignWare Memory Card Interface driver. Select this option
99	  for platforms based on Exynos4 and Exynos5 SoC's.
100
101config MMC_DW_K3
102	bool "K3 specific extensions for Synopsys DW Memory Card Interface"
103	depends on MMC_DW
104	help
105	  This selects support for Hisilicon K3 SoC specific extensions to the
106	  Synopsys DesignWare Memory Card Interface driver. Select this option
107	  for platforms based on Hisilicon K3 SoC's.
108
109config MMC_DW_ROCKCHIP
110	bool "Rockchip SD/MMC controller support"
111	depends on DM_MMC && OF_CONTROL
112	depends on MMC_DW
113	help
114	  This enables support for the Rockchip SD/MMM controller, which is
115	  based on Designware IP. The device is compatible with at least
116	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
117	  as removeable SD and micro-SD cards.
118
119config MMC_DW_SOCFPGA
120	bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
121	depends on ARCH_SOCFPGA
122	depends on MMC_DW
123	default y
124	help
125	  This selects support for Altera SOCFPGA specific extensions to the
126	  Synopsys DesignWare Memory Card Interface driver. Select this option
127	  for platforms based on Altera SOCFPGA.
128
129config MMC_MXC
130	bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
131	help
132	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
133	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
134	  with a Multimedia Card slot, say Y here.
135
136	  If unsure, say N.
137
138config MMC_MXS
139	bool "Freescale MXS Multimedia Card Interface support"
140	help
141	  This selects the Freescale SSP MMC controller found on MXS based
142	  platforms like mx23/28.
143
144	  If unsure, say N.
145
146config MMC_OMAP_HS
147	bool "TI OMAP High Speed Multimedia Card Interface support"
148	help
149	  This selects the TI OMAP High Speed Multimedia card Interface.
150	  If you have an omap2plus board with a Multimedia Card slot,
151	  say Y here.
152
153	  If unsure, say N.
154
155config SH_SDHI
156	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
157	depends on RMOBILE
158	help
159	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
160
161config PIC32_SDHCI
162	bool "Microchip PIC32 on-chip SDHCI support"
163	depends on DM_MMC && MACH_PIC32
164	depends on MMC_SDHCI
165	help
166	  Support for Microchip PIC32 SDHCI controller.
167
168config ROCKCHIP_SDHCI
169	bool "Arasan SDHCI controller for Rockchip support"
170	depends on DM_MMC && BLK && DM_MMC_OPS
171	depends on MMC_SDHCI
172	help
173	  Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
174
175config MMC_UNIPHIER
176	bool "UniPhier SD/MMC Host Controller support"
177	depends on ARCH_UNIPHIER
178	depends on BLK && DM_MMC_OPS
179	depends on OF_CONTROL
180	help
181	  This selects support for the SD/MMC Host Controller on UniPhier SoCs.
182
183config MMC_SANDBOX
184	bool "Sandbox MMC support"
185	depends on SANDBOX
186	depends on BLK && DM_MMC_OPS && OF_CONTROL
187	help
188	  This select a dummy sandbox MMC driver. At present this does nothing
189	  other than allow sandbox to be build with MMC support. This
190	  improves build coverage for sandbox and makes it easier to detect
191	  MMC build errors with sandbox.
192
193config MMC_SDHCI
194	bool "Secure Digital Host Controller Interface support"
195	help
196	  This selects the generic Secure Digital Host Controller Interface.
197	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
198	  and Toshiba(R). Most controllers found in laptops are of this type.
199
200	  If you have a controller with this interface, say Y here.
201
202	  If unsure, say N.
203
204config MMC_SDHCI_IO_ACCESSORS
205	bool
206	depends on MMC_SDHCI
207	help
208	  This is silent Kconfig symbol that is selected by the drivers that
209	  need to overwrite SDHCI IO memory accessors.
210
211config MMC_SDHCI_SDMA
212	bool "Support SDHCI SDMA"
213	depends on MMC_SDHCI
214	help
215	  This enables support for the SDMA (Single Operation DMA) defined
216	  in the SD Host Controller Standard Specification Version 1.00 .
217
218config MMC_SDHCI_BCM2835
219	tristate "SDHCI support for the BCM2835 SD/MMC Controller"
220	depends on ARCH_BCM283X
221	depends on MMC_SDHCI
222	select MMC_SDHCI_IO_ACCESSORS
223	help
224	  This selects the BCM2835 SD/MMC controller.
225
226	  If you have a BCM2835 platform with SD or MMC devices,
227	  say Y here.
228
229	  If unsure, say N.
230
231config MMC_SDHCI_CADENCE
232	bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
233	depends on BLK && DM_MMC_OPS
234	depends on MMC_SDHCI
235	depends on OF_CONTROL
236	help
237	  This selects the Cadence SD/SDIO/eMMC driver.
238
239	  If you have a controller with this interface, say Y here.
240
241	  If unsure, say N.
242
243config MMC_SDHCI_KONA
244	bool "SDHCI support on Broadcom KONA platform"
245	depends on MMC_SDHCI
246	help
247	  This selects the Broadcom Kona Secure Digital Host Controller
248	  Interface(SDHCI) support.
249	  This is used in Broadcom mobile SoCs.
250
251	  If you have a controller with this interface, say Y here.
252
253config MMC_SDHCI_MV
254	bool "SDHCI support on Marvell platform"
255	depends on ARCH_MVEBU
256	depends on MMC_SDHCI
257	help
258	  This selects the Secure Digital Host Controller Interface on
259	  Marvell platform.
260
261	  If you have a controller with this interface, say Y here.
262
263	  If unsure, say N.
264
265config MMC_SDHCI_S5P
266	bool "SDHCI support on Samsung S5P SoC"
267	depends on MMC_SDHCI
268	help
269	  This selects the Secure Digital Host Controller Interface (SDHCI)
270	  on Samsung S5P SoCs.
271
272	  If you have a controller with this interface, say Y here.
273
274	  If unsure, say N.
275
276config MMC_SDHCI_SPEAR
277	bool "SDHCI support on ST SPEAr platform"
278	depends on MMC_SDHCI
279	help
280	  This selects the Secure Digital Host Controller Interface (SDHCI)
281	  often referrered to as the HSMMC block in some of the ST SPEAR range
282	  of SoC
283
284	  If you have a controller with this interface, say Y here.
285
286	  If unsure, say N.
287
288config MMC_SDHCI_XENON
289	bool "SDHCI support for the Xenon SDHCI controller"
290	depends on MMC_SDHCI && DM_MMC && OF_CONTROL
291	help
292	  Support for Xenon SDHCI host controller on Marvell Armada 3700
293	  7k/8k ARM SoCs platforms
294
295	  If you have a controller with this interface, say Y here.
296
297	  If unsure, say N.
298
299config MMC_SDHCI_TEGRA
300	bool "SDHCI platform support for the Tegra SD/MMC Controller"
301	depends on TEGRA
302	default y
303	help
304	  This selects the Tegra SD/MMC controller. If you have a Tegra
305	  platform with SD or MMC devices, say Y here.
306
307	  If unsure, say N.
308
309config MMC_SDHCI_ZYNQ
310	bool "Arasan SDHCI controller support"
311	depends on ARCH_ZYNQ || ARCH_ZYNQMP
312	depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
313	depends on MMC_SDHCI
314	help
315	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
316
317config MMC_SUNXI
318	bool "Allwinner sunxi SD/MMC Host Controller support"
319	depends on ARCH_SUNXI && !UART0_PORT_F
320	default y
321	help
322	  This selects support for the SD/MMC Host Controller on
323	  Allwinner sunxi SoCs.
324
325endif
326
327endmenu
328
329config SYS_FSL_ERRATUM_ESDHC111
330	bool
331
332config SYS_FSL_ERRATUM_ESDHC13
333	bool
334
335config SYS_FSL_ERRATUM_ESDHC135
336	bool
337
338config SYS_FSL_ERRATUM_ESDHC_A001
339	bool
340