]> git.ipfire.org Git - people/ms/u-boot.git/blame - drivers/mmc/Kconfig
mmc: add a function to read and test the ext csd (mmc >= 4)
[people/ms/u-boot.git] / drivers / mmc / Kconfig
CommitLineData
72d42bad
NI
1menu "MMC Host controller Support"
2
7a777f6d 3config MMC
c2726995
MY
4 bool "MMC/SD/SDIO card support"
5 default ARM || PPC || SANDBOX
7a777f6d 6 help
c2726995
MY
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.
7a777f6d 12
e7ecf7cb
SG
13config DM_MMC
14 bool "Enable MMC controllers using Driver Model"
15 depends on DM
16 help
62a3b7dd 17 This enables the MultiMediaCard (MMC) uclass which supports MMC and
e7ecf7cb
SG
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
c4d660d4
SG
23config 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
e298c46a
MY
34if MMC
35
3c0dbed2
PC
36config 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
b5b838f1
MV
45config 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
1d2c0506
MY
60config 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
55ed3b46
MY
69config 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
ae4c81e9
MY
76config 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
86config 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
fed44087 94config MMC_DW_ROCKCHIP
a8cb4fb5
SG
95 bool "Rockchip SD/MMC controller support"
96 depends on DM_MMC && OF_CONTROL
55ed3b46 97 depends on MMC_DW
a8cb4fb5
SG
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
ae4c81e9
MY
104config 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
93738620
CC
114config MMC_MESON_GX
115 bool "Meson GX EMMC controller support"
e7881d85 116 depends on DM_MMC && BLK && ARCH_MESON
93738620
CC
117 help
118 Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
119
1d2c0506
MY
120config 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
129config 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
b706b1c2
FB
137config 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
1d2c0506
MY
145config MMC_OMAP_HS
146 bool "TI OMAP High Speed Multimedia Card Interface support"
e7881d85 147 select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
8ff7763d 148 select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
1d2c0506
MY
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
6aca17c9
AF
156config 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
72d42bad
NI
168config SH_SDHI
169 bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
0f531185 170 depends on ARCH_RMOBILE
72d42bad
NI
171 help
172 Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
173
a111bfbf 174config MMC_UNIPHIER
b24633df
MV
175 bool "UniPhier/RCar SD/MMC Host Controller support"
176 depends on ARCH_UNIPHIER || ARCH_RMOBILE
e7881d85 177 depends on BLK && DM_MMC
9c720c81 178 depends on OF_CONTROL
a111bfbf 179 help
b24633df
MV
180 This selects support for the Matsushita SD/MMC Host Controller on
181 SocioNext UniPhier and Renesas RCar SoCs.
a111bfbf 182
a5995a5d 183config MMC_SANDBOX
f376a3cb 184 bool "Sandbox MMC support"
a5995a5d 185 depends on SANDBOX
e7881d85 186 depends on BLK && DM_MMC && OF_CONTROL
f376a3cb
SG
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
e1ce61fb
MY
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
3d3a74cc
MY
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
45a68fe2
MY
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
dd3b64eb
MY
218config MMC_SDHCI_ATMEL
219 bool "Atmel SDHCI controller support"
220 depends on ARCH_AT91
e7881d85 221 depends on DM_MMC && BLK && ARCH_AT91
dd3b64eb
MY
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
45a68fe2
MY
230config MMC_SDHCI_BCM2835
231 tristate "SDHCI support for the BCM2835 SD/MMC Controller"
232 depends on ARCH_BCM283X
233 depends on MMC_SDHCI
3d3a74cc 234 select MMC_SDHCI_IO_ACCESSORS
45a68fe2
MY
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
e5e7a7c2
MY
243config MMC_SDHCI_CADENCE
244 bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
e7881d85 245 depends on BLK && DM_MMC
e5e7a7c2
MY
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
45a68fe2
MY
255config 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
360c67d5
MY
265config MMC_SDHCI_MSM
266 bool "Qualcomm SDHCI controller"
e7881d85 267 depends on BLK && DM_MMC
360c67d5
MY
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
45a68fe2
MY
275config 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
1b858770
MY
287config 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
facc8058
MY
294config MMC_SDHCI_ROCKCHIP
295 bool "Arasan SDHCI controller for Rockchip support"
296 depends on ARCH_ROCKCHIP
e7881d85 297 depends on DM_MMC && BLK
facc8058
MY
298 depends on MMC_SDHCI
299 help
300 Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
301
45a68fe2
MY
302config 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
313config 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
eee20f81
PC
325config MMC_SDHCI_STI
326 bool "SDHCI support for STMicroelectronics SoC"
51cb23d4 327 depends on MMC_SDHCI && OF_CONTROL
eee20f81
PC
328 help
329 This selects the Secure Digital Host Controller Interface (SDHCI)
330 on STMicroelectronics STiH410 SoC.
331
b6acb5f1
SR
332config 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
83b3248e
FB
343config 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
1d2c0506
MY
357config 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
08aa0334
MY
367config MMC_SDHCI_ZYNQ
368 bool "Arasan SDHCI controller support"
369 depends on ARCH_ZYNQ || ARCH_ZYNQMP
e7881d85 370 depends on DM_MMC && OF_CONTROL && BLK
08aa0334
MY
371 depends on MMC_SDHCI
372 help
373 Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
374
1d2c0506
MY
375config MMC_SUNXI
376 bool "Allwinner sunxi SD/MMC Host Controller support"
0ad178c1 377 depends on ARCH_SUNXI && !UART0_PORT_F
1d2c0506
MY
378 default y
379 help
380 This selects support for the SD/MMC Host Controller on
381 Allwinner sunxi SoCs.
382
de9b1771
MR
383config MMC_SUNXI_HAS_NEW_MODE
384 bool
385 depends on MMC_SUNXI
386
c86c0155
WY
387config GENERIC_ATMEL_MCI
388 bool "Atmel Multimedia Card Interface support"
e7881d85 389 depends on DM_MMC && BLK && ARCH_AT91
c86c0155
WY
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
b312c590
PC
396config STM32_SDMMC2
397 bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
53c656a8 398 depends on DM_MMC && BLK && OF_CONTROL
b312c590
PC
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
9f678ab1
RC
404config 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
411config 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
e298c46a
MY
416endif
417
4119b709
MZ
418config 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
72d42bad 429endmenu
c01e4a1a
YS
430
431config SYS_FSL_ERRATUM_ESDHC111
432 bool
433
434config SYS_FSL_ERRATUM_ESDHC13
435 bool
436
437config SYS_FSL_ERRATUM_ESDHC135
438 bool
439
440config SYS_FSL_ERRATUM_ESDHC_A001
441 bool