mmc: zynq: rename CONFIG_ZYNQ_SDHCI to CONFIG_MMC_SDHCI_ZYNQ
[platform/kernel/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 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 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
64 config 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
75 config 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
84 config 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
91 config 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
101 config 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
109 config 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
119 config 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
129 config 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
138 config 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
146 config 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
155 config 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
161 config 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
168 config 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
175 config 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
183 config 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
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_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
231 config 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
243 config 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
253 config 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
265 config 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
276 config 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
288 config 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
299 config 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
309 config 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
317 config 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
325 endif
326
327 endmenu
328
329 config SYS_FSL_ERRATUM_ESDHC111
330         bool
331
332 config SYS_FSL_ERRATUM_ESDHC13
333         bool
334
335 config SYS_FSL_ERRATUM_ESDHC135
336         bool
337
338 config SYS_FSL_ERRATUM_ESDHC_A001
339         bool