]> git.sur5r.net Git - u-boot/blob - drivers/mmc/Kconfig
drivers: omap_hsmmc: move to DM_MMC_OPS
[u-boot] / 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 GENERIC_MMC
14         bool "Generic MMC driver framework"
15         default MMC
16
17 config 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
27 config 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
37 if MMC
38
39 config 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
54 config 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
63 config 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
70 config 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
80 config 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
88 config 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
98 config 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
108 config MMC_MESON_GX
109         bool "Meson GX EMMC controller support"
110         depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_MESON
111         help
112          Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
113
114 config MMC_MXC
115         bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
116         help
117           This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
118           Multimedia Card Interface. If you have an i.MX or MPC512x platform
119           with a Multimedia Card slot, say Y here.
120
121           If unsure, say N.
122
123 config MMC_MXS
124         bool "Freescale MXS Multimedia Card Interface support"
125         help
126           This selects the Freescale SSP MMC controller found on MXS based
127           platforms like mx23/28.
128
129           If unsure, say N.
130
131 config MMC_PCI
132         bool "Support for MMC controllers on PCI"
133         help
134           This selects PCI-based MMC controllers.
135           If you have an MMC controller on a PCI bus, say Y here.
136
137           If unsure, say N.
138
139 config MMC_OMAP_HS
140         bool "TI OMAP High Speed Multimedia Card Interface support"
141         select DM_MMC_OPS if DM_MMC
142         help
143           This selects the TI OMAP High Speed Multimedia card Interface.
144           If you have an omap2plus board with a Multimedia Card slot,
145           say Y here.
146
147           If unsure, say N.
148
149 config MMC_OMAP36XX_PINS
150         bool "Enable MMC1 on OMAP36xx/37xx"
151         depends on OMAP34XX && MMC_OMAP_HS
152         help
153           This enables extended-drain in the MMC/SD/SDIO1I/O and
154           GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
155           specific to the OMAP36xx/37xx using MMC1
156
157           If you have a controller with this interface, say Y here.
158
159           If unsure, say N.
160
161 config SH_SDHI
162         bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
163         depends on RMOBILE
164         help
165           Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
166
167 config MMC_UNIPHIER
168         bool "UniPhier SD/MMC Host Controller support"
169         depends on ARCH_UNIPHIER
170         depends on BLK && DM_MMC_OPS
171         depends on OF_CONTROL
172         help
173           This selects support for the SD/MMC Host Controller on UniPhier SoCs.
174
175 config MMC_SANDBOX
176         bool "Sandbox MMC support"
177         depends on SANDBOX
178         depends on BLK && DM_MMC_OPS && OF_CONTROL
179         help
180           This select a dummy sandbox MMC driver. At present this does nothing
181           other than allow sandbox to be build with MMC support. This
182           improves build coverage for sandbox and makes it easier to detect
183           MMC build errors with sandbox.
184
185 config MMC_SDHCI
186         bool "Secure Digital Host Controller Interface support"
187         help
188           This selects the generic Secure Digital Host Controller Interface.
189           It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
190           and Toshiba(R). Most controllers found in laptops are of this type.
191
192           If you have a controller with this interface, say Y here.
193
194           If unsure, say N.
195
196 config MMC_SDHCI_IO_ACCESSORS
197         bool
198         depends on MMC_SDHCI
199         help
200           This is silent Kconfig symbol that is selected by the drivers that
201           need to overwrite SDHCI IO memory accessors.
202
203 config MMC_SDHCI_SDMA
204         bool "Support SDHCI SDMA"
205         depends on MMC_SDHCI
206         help
207           This enables support for the SDMA (Single Operation DMA) defined
208           in the SD Host Controller Standard Specification Version 1.00 .
209
210 config MMC_SDHCI_ATMEL
211         bool "Atmel SDHCI controller support"
212         depends on ARCH_AT91
213         depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
214         depends on MMC_SDHCI
215         help
216           This enables support for the Atmel SDHCI controller, which supports
217           the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
218           Memory Card Specification V3.0, and the SDIO V3.0 specification.
219           It is compliant with the SD Host Controller Standard V3.0
220           specification.
221
222 config MMC_SDHCI_BCM2835
223         tristate "SDHCI support for the BCM2835 SD/MMC Controller"
224         depends on ARCH_BCM283X
225         depends on MMC_SDHCI
226         select MMC_SDHCI_IO_ACCESSORS
227         help
228           This selects the BCM2835 SD/MMC controller.
229
230           If you have a BCM2835 platform with SD or MMC devices,
231           say Y here.
232
233           If unsure, say N.
234
235 config MMC_SDHCI_CADENCE
236         bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
237         depends on BLK && DM_MMC_OPS
238         depends on MMC_SDHCI
239         depends on OF_CONTROL
240         help
241           This selects the Cadence SD/SDIO/eMMC driver.
242
243           If you have a controller with this interface, say Y here.
244
245           If unsure, say N.
246
247 config MMC_SDHCI_KONA
248         bool "SDHCI support on Broadcom KONA platform"
249         depends on MMC_SDHCI
250         help
251           This selects the Broadcom Kona Secure Digital Host Controller
252           Interface(SDHCI) support.
253           This is used in Broadcom mobile SoCs.
254
255           If you have a controller with this interface, say Y here.
256
257 config MMC_SDHCI_MSM
258         bool "Qualcomm SDHCI controller"
259         depends on BLK && DM_MMC_OPS
260         depends on MMC_SDHCI
261         help
262           Enables support for SDHCI 2.0 controller present on some Qualcomm
263           Snapdragon devices. This device is compatible with eMMC v4.5 and
264           SD 3.0 specifications. Both SD and eMMC devices are supported.
265           Card-detect gpios are not supported.
266
267 config MMC_SDHCI_MV
268         bool "SDHCI support on Marvell platform"
269         depends on ARCH_MVEBU
270         depends on MMC_SDHCI
271         help
272           This selects the Secure Digital Host Controller Interface on
273           Marvell platform.
274
275           If you have a controller with this interface, say Y here.
276
277           If unsure, say N.
278
279 config MMC_SDHCI_PIC32
280         bool "Microchip PIC32 on-chip SDHCI support"
281         depends on DM_MMC && MACH_PIC32
282         depends on MMC_SDHCI
283         help
284           Support for Microchip PIC32 SDHCI controller.
285
286 config MMC_SDHCI_ROCKCHIP
287         bool "Arasan SDHCI controller for Rockchip support"
288         depends on ARCH_ROCKCHIP
289         depends on DM_MMC && BLK && DM_MMC_OPS
290         depends on MMC_SDHCI
291         help
292           Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
293
294 config MMC_SDHCI_S5P
295         bool "SDHCI support on Samsung S5P SoC"
296         depends on MMC_SDHCI
297         help
298           This selects the Secure Digital Host Controller Interface (SDHCI)
299           on Samsung S5P SoCs.
300
301           If you have a controller with this interface, say Y here.
302
303           If unsure, say N.
304
305 config MMC_SDHCI_SPEAR
306         bool "SDHCI support on ST SPEAr platform"
307         depends on MMC_SDHCI
308         help
309           This selects the Secure Digital Host Controller Interface (SDHCI)
310           often referrered to as the HSMMC block in some of the ST SPEAR range
311           of SoC
312
313           If you have a controller with this interface, say Y here.
314
315           If unsure, say N.
316
317 config MMC_SDHCI_STI
318         bool "SDHCI support for STMicroelectronics SoC"
319         depends on MMC_SDHCI && OF_CONTROL
320         help
321           This selects the Secure Digital Host Controller Interface (SDHCI)
322           on STMicroelectronics STiH410 SoC.
323
324 config MMC_SDHCI_XENON
325         bool "SDHCI support for the Xenon SDHCI controller"
326         depends on MMC_SDHCI && DM_MMC && OF_CONTROL
327         help
328           Support for Xenon SDHCI host controller on Marvell Armada 3700
329           7k/8k ARM SoCs platforms
330
331           If you have a controller with this interface, say Y here.
332
333           If unsure, say N.
334
335 config MMC_SDHCI_TANGIER
336         bool "Tangier SDHCI controller support"
337         depends on DM_MMC && BLK
338         depends on MMC_SDHCI
339         help
340           This selects support for SDHCI controller on Tanginer
341           SoC. Note that this controller does not sit on PCI bus and,
342           hence, cannot be enumerated by standard PCI means.
343
344           If you're using an Intel Tangier SoC (available on Intel
345           Edison board), say Y here.
346
347           If unsure, say N.
348
349 config MMC_SDHCI_TEGRA
350         bool "SDHCI platform support for the Tegra SD/MMC Controller"
351         depends on TEGRA
352         default y
353         help
354           This selects the Tegra SD/MMC controller. If you have a Tegra
355           platform with SD or MMC devices, say Y here.
356
357           If unsure, say N.
358
359 config MMC_SDHCI_ZYNQ
360         bool "Arasan SDHCI controller support"
361         depends on ARCH_ZYNQ || ARCH_ZYNQMP
362         depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
363         depends on MMC_SDHCI
364         help
365           Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
366
367 config MMC_SUNXI
368         bool "Allwinner sunxi SD/MMC Host Controller support"
369         depends on ARCH_SUNXI && !UART0_PORT_F
370         default y
371         help
372           This selects support for the SD/MMC Host Controller on
373           Allwinner sunxi SoCs.
374
375 config GENERIC_ATMEL_MCI
376         bool "Atmel Multimedia Card Interface support"
377         depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
378         help
379           This enables support for Atmel High Speed Multimedia Card Interface
380           (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
381           the SD Memory Card Specification V2.0, the SDIO V2.0 specification
382           and CE-ATA V1.1.
383
384 endif
385
386 config TEGRA124_MMC_DISABLE_EXT_LOOPBACK
387         bool "Disable external clock loopback"
388         depends on MMC_SDHCI_TEGRA && TEGRA124
389         help
390           Disable the external clock loopback and use the internal one on SDMMC3
391           as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
392           being set to 0xfffd according to the TRM.
393
394           TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
395           approach once proper kernel integration made it mainline.
396
397 endmenu
398
399 config SYS_FSL_ERRATUM_ESDHC111
400         bool
401
402 config SYS_FSL_ERRATUM_ESDHC13
403         bool
404
405 config SYS_FSL_ERRATUM_ESDHC135
406         bool
407
408 config SYS_FSL_ERRATUM_ESDHC_A001
409         bool