]> git.ipfire.org Git - people/ms/u-boot.git/blob - drivers/mmc/Kconfig
Merge git://git.denx.de/u-boot-x86
[people/ms/u-boot.git] / drivers / mmc / Kconfig
1 menu "MMC Host controller Support"
2
3 config 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
13 config DM_MMC
14 bool "Enable MMC controllers using Driver Model"
15 depends on DM
16 help
17 This enables the MultiMediaCard (MMC) uclass which supports MMC and
18 Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
19 and non-removable (e.g. eMMC chip) devices are supported. These
20 appear as block devices in U-Boot and can support filesystems such
21 as EXT4 and FAT.
22
23 config SPL_DM_MMC
24 bool "Enable MMC controllers using Driver Model in SPL"
25 depends on SPL_DM && DM_MMC
26 default y
27 help
28 This enables the MultiMediaCard (MMC) uclass which supports MMC and
29 Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
30 and non-removable (e.g. eMMC chip) devices are supported. These
31 appear as block devices in U-Boot and can support filesystems such
32 as EXT4 and FAT.
33
34 if MMC
35
36 config ARM_PL180_MMCI
37 bool "ARM AMBA Multimedia Card Interface and compatible support"
38 depends on DM_MMC && OF_CONTROL
39 help
40 This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
41 Interface (PL180, PL181 and compatible) support.
42 If you have an ARM(R) platform with a Multimedia Card slot,
43 say Y or M here.
44
45 config SPL_MMC_TINY
46 bool "Tiny MMC framework in SPL"
47 help
48 Enable MMC framework tinification support. This option is useful if
49 if your SPL is extremely size constrained. Heed the warning, enable
50 this option if and only if you know exactly what you are doing, if
51 you are reading this help text, you most likely have no idea :-)
52
53 The MMC framework is reduced to bare minimum to be useful. No malloc
54 support is needed for the MMC framework operation with this option
55 enabled. The framework supports exactly one MMC device and exactly
56 one MMC driver. The MMC driver can be adjusted to avoid any malloc
57 operations too, which can remove the need for malloc support in SPL
58 and thus further reduce footprint.
59
60 config MMC_DAVINCI
61 bool "TI DAVINCI Multimedia Card Interface support"
62 depends on ARCH_DAVINCI
63 default y
64 help
65 This selects the TI DAVINCI Multimedia card Interface.
66 If you have an DAVINCI board with a Multimedia Card slot,
67 say Y here. If unsure, say N.
68
69 config MMC_DW
70 bool "Synopsys DesignWare Memory Card Interface"
71 help
72 This selects support for the Synopsys DesignWare Mobile Storage IP
73 block, this provides host support for SD and MMC interfaces, in both
74 PIO, internal DMA mode and external DMA mode.
75
76 config MMC_DW_EXYNOS
77 bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
78 depends on ARCH_EXYNOS
79 depends on MMC_DW
80 default y
81 help
82 This selects support for Samsung Exynos SoC specific extensions to the
83 Synopsys DesignWare Memory Card Interface driver. Select this option
84 for platforms based on Exynos4 and Exynos5 SoC's.
85
86 config MMC_DW_K3
87 bool "K3 specific extensions for Synopsys DW Memory Card Interface"
88 depends on MMC_DW
89 help
90 This selects support for Hisilicon K3 SoC specific extensions to the
91 Synopsys DesignWare Memory Card Interface driver. Select this option
92 for platforms based on Hisilicon K3 SoC's.
93
94 config MMC_DW_ROCKCHIP
95 bool "Rockchip SD/MMC controller support"
96 depends on DM_MMC && OF_CONTROL
97 depends on MMC_DW
98 help
99 This enables support for the Rockchip SD/MMM controller, which is
100 based on Designware IP. The device is compatible with at least
101 SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
102 as removeable SD and micro-SD cards.
103
104 config MMC_DW_SOCFPGA
105 bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
106 depends on ARCH_SOCFPGA
107 depends on MMC_DW
108 default y
109 help
110 This selects support for Altera SOCFPGA specific extensions to the
111 Synopsys DesignWare Memory Card Interface driver. Select this option
112 for platforms based on Altera SOCFPGA.
113
114 config MMC_MESON_GX
115 bool "Meson GX EMMC controller support"
116 depends on DM_MMC && BLK && ARCH_MESON
117 help
118 Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
119
120 config MMC_MXC
121 bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
122 help
123 This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
124 Multimedia Card Interface. If you have an i.MX or MPC512x platform
125 with a Multimedia Card slot, say Y here.
126
127 If unsure, say N.
128
129 config MMC_MXS
130 bool "Freescale MXS Multimedia Card Interface support"
131 help
132 This selects the Freescale SSP MMC controller found on MXS based
133 platforms like mx23/28.
134
135 If unsure, say N.
136
137 config MMC_PCI
138 bool "Support for MMC controllers on PCI"
139 help
140 This selects PCI-based MMC controllers.
141 If you have an MMC controller on a PCI bus, say Y here.
142
143 If unsure, say N.
144
145 config MMC_OMAP_HS
146 bool "TI OMAP High Speed Multimedia Card Interface support"
147 select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
148 select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
149 help
150 This selects the TI OMAP High Speed Multimedia card Interface.
151 If you have an omap2plus board with a Multimedia Card slot,
152 say Y here.
153
154 If unsure, say N.
155
156 config MMC_OMAP36XX_PINS
157 bool "Enable MMC1 on OMAP36xx/37xx"
158 depends on OMAP34XX && MMC_OMAP_HS
159 help
160 This enables extended-drain in the MMC/SD/SDIO1I/O and
161 GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
162 specific to the OMAP36xx/37xx using MMC1
163
164 If you have a controller with this interface, say Y here.
165
166 If unsure, say N.
167
168 config SH_SDHI
169 bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
170 depends on ARCH_RMOBILE
171 help
172 Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
173
174 config MMC_UNIPHIER
175 bool "UniPhier/RCar SD/MMC Host Controller support"
176 depends on ARCH_UNIPHIER || ARCH_RMOBILE
177 depends on BLK && DM_MMC
178 depends on OF_CONTROL
179 help
180 This selects support for the Matsushita SD/MMC Host Controller on
181 SocioNext UniPhier and Renesas RCar SoCs.
182
183 config MMC_SANDBOX
184 bool "Sandbox MMC support"
185 depends on SANDBOX
186 depends on BLK && DM_MMC && 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
193 config 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
204 config 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
211 config 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
218 config MMC_SDHCI_ATMEL
219 bool "Atmel SDHCI controller support"
220 depends on ARCH_AT91
221 depends on DM_MMC && BLK && ARCH_AT91
222 depends on MMC_SDHCI
223 help
224 This enables support for the Atmel SDHCI controller, which supports
225 the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
226 Memory Card Specification V3.0, and the SDIO V3.0 specification.
227 It is compliant with the SD Host Controller Standard V3.0
228 specification.
229
230 config MMC_SDHCI_BCM2835
231 tristate "SDHCI support for the BCM2835 SD/MMC Controller"
232 depends on ARCH_BCM283X
233 depends on MMC_SDHCI
234 select MMC_SDHCI_IO_ACCESSORS
235 help
236 This selects the BCM2835 SD/MMC controller.
237
238 If you have a BCM2835 platform with SD or MMC devices,
239 say Y here.
240
241 If unsure, say N.
242
243 config MMC_SDHCI_CADENCE
244 bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
245 depends on BLK && DM_MMC
246 depends on MMC_SDHCI
247 depends on OF_CONTROL
248 help
249 This selects the Cadence SD/SDIO/eMMC driver.
250
251 If you have a controller with this interface, say Y here.
252
253 If unsure, say N.
254
255 config MMC_SDHCI_KONA
256 bool "SDHCI support on Broadcom KONA platform"
257 depends on MMC_SDHCI
258 help
259 This selects the Broadcom Kona Secure Digital Host Controller
260 Interface(SDHCI) support.
261 This is used in Broadcom mobile SoCs.
262
263 If you have a controller with this interface, say Y here.
264
265 config MMC_SDHCI_MSM
266 bool "Qualcomm SDHCI controller"
267 depends on BLK && DM_MMC
268 depends on MMC_SDHCI
269 help
270 Enables support for SDHCI 2.0 controller present on some Qualcomm
271 Snapdragon devices. This device is compatible with eMMC v4.5 and
272 SD 3.0 specifications. Both SD and eMMC devices are supported.
273 Card-detect gpios are not supported.
274
275 config MMC_SDHCI_MV
276 bool "SDHCI support on Marvell platform"
277 depends on ARCH_MVEBU
278 depends on MMC_SDHCI
279 help
280 This selects the Secure Digital Host Controller Interface on
281 Marvell platform.
282
283 If you have a controller with this interface, say Y here.
284
285 If unsure, say N.
286
287 config MMC_SDHCI_PIC32
288 bool "Microchip PIC32 on-chip SDHCI support"
289 depends on DM_MMC && MACH_PIC32
290 depends on MMC_SDHCI
291 help
292 Support for Microchip PIC32 SDHCI controller.
293
294 config MMC_SDHCI_ROCKCHIP
295 bool "Arasan SDHCI controller for Rockchip support"
296 depends on ARCH_ROCKCHIP
297 depends on DM_MMC && BLK
298 depends on MMC_SDHCI
299 help
300 Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
301
302 config MMC_SDHCI_S5P
303 bool "SDHCI support on Samsung S5P SoC"
304 depends on MMC_SDHCI
305 help
306 This selects the Secure Digital Host Controller Interface (SDHCI)
307 on Samsung S5P SoCs.
308
309 If you have a controller with this interface, say Y here.
310
311 If unsure, say N.
312
313 config MMC_SDHCI_SPEAR
314 bool "SDHCI support on ST SPEAr platform"
315 depends on MMC_SDHCI
316 help
317 This selects the Secure Digital Host Controller Interface (SDHCI)
318 often referrered to as the HSMMC block in some of the ST SPEAR range
319 of SoC
320
321 If you have a controller with this interface, say Y here.
322
323 If unsure, say N.
324
325 config MMC_SDHCI_STI
326 bool "SDHCI support for STMicroelectronics SoC"
327 depends on MMC_SDHCI && OF_CONTROL
328 help
329 This selects the Secure Digital Host Controller Interface (SDHCI)
330 on STMicroelectronics STiH410 SoC.
331
332 config MMC_SDHCI_XENON
333 bool "SDHCI support for the Xenon SDHCI controller"
334 depends on MMC_SDHCI && DM_MMC && OF_CONTROL
335 help
336 Support for Xenon SDHCI host controller on Marvell Armada 3700
337 7k/8k ARM SoCs platforms
338
339 If you have a controller with this interface, say Y here.
340
341 If unsure, say N.
342
343 config MMC_SDHCI_TANGIER
344 bool "Tangier SDHCI controller support"
345 depends on DM_MMC && BLK
346 depends on MMC_SDHCI
347 help
348 This selects support for SDHCI controller on Tanginer
349 SoC. Note that this controller does not sit on PCI bus and,
350 hence, cannot be enumerated by standard PCI means.
351
352 If you're using an Intel Tangier SoC (available on Intel
353 Edison board), say Y here.
354
355 If unsure, say N.
356
357 config MMC_SDHCI_TEGRA
358 bool "SDHCI platform support for the Tegra SD/MMC Controller"
359 depends on TEGRA
360 default y
361 help
362 This selects the Tegra SD/MMC controller. If you have a Tegra
363 platform with SD or MMC devices, say Y here.
364
365 If unsure, say N.
366
367 config MMC_SDHCI_ZYNQ
368 bool "Arasan SDHCI controller support"
369 depends on ARCH_ZYNQ || ARCH_ZYNQMP
370 depends on DM_MMC && OF_CONTROL && BLK
371 depends on MMC_SDHCI
372 help
373 Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
374
375 config MMC_SUNXI
376 bool "Allwinner sunxi SD/MMC Host Controller support"
377 depends on ARCH_SUNXI && !UART0_PORT_F
378 default y
379 help
380 This selects support for the SD/MMC Host Controller on
381 Allwinner sunxi SoCs.
382
383 config MMC_SUNXI_HAS_NEW_MODE
384 bool
385 depends on MMC_SUNXI
386
387 config GENERIC_ATMEL_MCI
388 bool "Atmel Multimedia Card Interface support"
389 depends on DM_MMC && BLK && ARCH_AT91
390 help
391 This enables support for Atmel High Speed Multimedia Card Interface
392 (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
393 the SD Memory Card Specification V2.0, the SDIO V2.0 specification
394 and CE-ATA V1.1.
395
396 config STM32_SDMMC2
397 bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
398 depends on DM_MMC && BLK && OF_CONTROL
399 help
400 This selects support for the SD/MMC controller on STM32H7 SoCs.
401 If you have a board based on such a SoC and with a SD/MMC slot,
402 say Y or M here.
403
404 config MMC_NDS32
405 bool "Andestech SD/MMC controller support"
406 depends on DM_MMC && OF_CONTROL && BLK && FTSDC010
407 help
408 This enables support for the Andestech SD/MMM controller, which is
409 based on Faraday IP.
410
411 config FTSDC010
412 bool "Ftsdc010 SD/MMC controller Support"
413 help
414 This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
415
416 endif
417
418 config TEGRA124_MMC_DISABLE_EXT_LOOPBACK
419 bool "Disable external clock loopback"
420 depends on MMC_SDHCI_TEGRA && TEGRA124
421 help
422 Disable the external clock loopback and use the internal one on SDMMC3
423 as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
424 being set to 0xfffd according to the TRM.
425
426 TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
427 approach once proper kernel integration made it mainline.
428
429 endmenu
430
431 config SYS_FSL_ERRATUM_ESDHC111
432 bool
433
434 config SYS_FSL_ERRATUM_ESDHC13
435 bool
436
437 config SYS_FSL_ERRATUM_ESDHC135
438 bool
439
440 config SYS_FSL_ERRATUM_ESDHC_A001
441 bool