mmc: sandbox: rename CONFIG, fix dependency, and use it in Makefile
[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 ZYNQ_SDHCI
169         bool "Arasan SDHCI controller support"
170         depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
171         depends on MMC_SDHCI
172         help
173           Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
174
175 config ROCKCHIP_SDHCI
176         bool "Arasan SDHCI controller for Rockchip support"
177         depends on DM_MMC && BLK && DM_MMC_OPS
178         depends on MMC_SDHCI
179         help
180           Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
181
182 config MMC_UNIPHIER
183         bool "UniPhier SD/MMC Host Controller support"
184         depends on ARCH_UNIPHIER
185         depends on BLK && DM_MMC_OPS
186         depends on OF_CONTROL
187         help
188           This selects support for the SD/MMC Host Controller on UniPhier SoCs.
189
190 config MMC_SANDBOX
191         bool "Sandbox MMC support"
192         depends on SANDBOX
193         depends on BLK && DM_MMC_OPS && OF_CONTROL
194         help
195           This select a dummy sandbox MMC driver. At present this does nothing
196           other than allow sandbox to be build with MMC support. This
197           improves build coverage for sandbox and makes it easier to detect
198           MMC build errors with sandbox.
199
200 config MMC_SDHCI
201         bool "Secure Digital Host Controller Interface support"
202         help
203           This selects the generic Secure Digital Host Controller Interface.
204           It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
205           and Toshiba(R). Most controllers found in laptops are of this type.
206
207           If you have a controller with this interface, say Y here.
208
209           If unsure, say N.
210
211 config MMC_SDHCI_IO_ACCESSORS
212         bool
213         depends on MMC_SDHCI
214         help
215           This is silent Kconfig symbol that is selected by the drivers that
216           need to overwrite SDHCI IO memory accessors.
217
218 config MMC_SDHCI_SDMA
219         bool "Support SDHCI SDMA"
220         depends on MMC_SDHCI
221         help
222           This enables support for the SDMA (Single Operation DMA) defined
223           in the SD Host Controller Standard Specification Version 1.00 .
224
225 config MMC_SDHCI_BCM2835
226         tristate "SDHCI support for the BCM2835 SD/MMC Controller"
227         depends on ARCH_BCM283X
228         depends on MMC_SDHCI
229         select MMC_SDHCI_IO_ACCESSORS
230         help
231           This selects the BCM2835 SD/MMC controller.
232
233           If you have a BCM2835 platform with SD or MMC devices,
234           say Y here.
235
236           If unsure, say N.
237
238 config MMC_SDHCI_CADENCE
239         bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
240         depends on BLK && DM_MMC_OPS
241         depends on MMC_SDHCI
242         depends on OF_CONTROL
243         help
244           This selects the Cadence SD/SDIO/eMMC driver.
245
246           If you have a controller with this interface, say Y here.
247
248           If unsure, say N.
249
250 config MMC_SDHCI_KONA
251         bool "SDHCI support on Broadcom KONA platform"
252         depends on MMC_SDHCI
253         help
254           This selects the Broadcom Kona Secure Digital Host Controller
255           Interface(SDHCI) support.
256           This is used in Broadcom mobile SoCs.
257
258           If you have a controller with this interface, say Y here.
259
260 config MMC_SDHCI_MV
261         bool "SDHCI support on Marvell platform"
262         depends on ARCH_MVEBU
263         depends on MMC_SDHCI
264         help
265           This selects the Secure Digital Host Controller Interface on
266           Marvell platform.
267
268           If you have a controller with this interface, say Y here.
269
270           If unsure, say N.
271
272 config MMC_SDHCI_S5P
273         bool "SDHCI support on Samsung S5P SoC"
274         depends on MMC_SDHCI
275         help
276           This selects the Secure Digital Host Controller Interface (SDHCI)
277           on Samsung S5P SoCs.
278
279           If you have a controller with this interface, say Y here.
280
281           If unsure, say N.
282
283 config MMC_SDHCI_SPEAR
284         bool "SDHCI support on ST SPEAr platform"
285         depends on MMC_SDHCI
286         help
287           This selects the Secure Digital Host Controller Interface (SDHCI)
288           often referrered to as the HSMMC block in some of the ST SPEAR range
289           of SoC
290
291           If you have a controller with this interface, say Y here.
292
293           If unsure, say N.
294
295 config MMC_SDHCI_XENON
296         bool "SDHCI support for the Xenon SDHCI controller"
297         depends on MMC_SDHCI && DM_MMC && OF_CONTROL
298         help
299           Support for Xenon SDHCI host controller on Marvell Armada 3700
300           7k/8k ARM SoCs platforms
301
302           If you have a controller with this interface, say Y here.
303
304           If unsure, say N.
305
306 config MMC_SDHCI_TEGRA
307         bool "SDHCI platform support for the Tegra SD/MMC Controller"
308         depends on TEGRA
309         default y
310         help
311           This selects the Tegra SD/MMC controller. If you have a Tegra
312           platform with SD or MMC devices, say Y here.
313
314           If unsure, say N.
315
316 config MMC_SUNXI
317         bool "Allwinner sunxi SD/MMC Host Controller support"
318         depends on ARCH_SUNXI && !UART0_PORT_F
319         default y
320         help
321           This selects support for the SD/MMC Host Controller on
322           Allwinner sunxi SoCs.
323
324 endif
325
326 endmenu
327
328 config SYS_FSL_ERRATUM_ESDHC111
329         bool
330
331 config SYS_FSL_ERRATUM_ESDHC13
332         bool
333
334 config SYS_FSL_ERRATUM_ESDHC135
335         bool
336
337 config SYS_FSL_ERRATUM_ESDHC_A001
338         bool