f99264d5a6df614f1a4cc8582878cf5224c466bf
[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 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 DM_MMC_OPS
24         bool "Support MMC controller operations using Driver Model"
25         depends on DM_MMC
26         default y if DM_MMC
27         help
28           Driver model provides a means of supporting device operations. This
29           option moves MMC operations under the control of driver model. The
30           option will be removed as soon as all DM_MMC drivers use it, as it
31           will the only supported behaviour.
32
33 if MMC
34
35 config SPL_MMC_TINY
36         bool "Tiny MMC framework in SPL"
37         help
38           Enable MMC framework tinification support. This option is useful if
39           if your SPL is extremely size constrained. Heed the warning, enable
40           this option if and only if you know exactly what you are doing, if
41           you are reading this help text, you most likely have no idea :-)
42
43           The MMC framework is reduced to bare minimum to be useful. No malloc
44           support is needed for the MMC framework operation with this option
45           enabled. The framework supports exactly one MMC device and exactly
46           one MMC driver. The MMC driver can be adjusted to avoid any malloc
47           operations too, which can remove the need for malloc support in SPL
48           and thus further reduce footprint.
49
50 config MSM_SDHCI
51         bool "Qualcomm SDHCI controller"
52         depends on DM_MMC && BLK && DM_MMC_OPS
53         depends on MMC_SDHCI
54         help
55           Enables support for SDHCI 2.0 controller present on some Qualcomm
56           Snapdragon devices. This device is compatible with eMMC v4.5 and
57           SD 3.0 specifications. Both SD and eMMC devices are supported.
58           Card-detect gpios are not supported.
59
60 config ATMEL_SDHCI
61         bool "Atmel SDHCI controller support"
62         depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
63         depends on MMC_SDHCI
64         help
65           This enables support for the Atmel SDHCI controller, which supports
66           the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
67           Memory Card Specification V3.0, and the SDIO V3.0 specification.
68           It is compliant with the SD Host Controller Standard V3.0
69           specification.
70
71 config MMC_DW
72         bool "Synopsys DesignWare Memory Card Interface"
73         help
74           This selects support for the Synopsys DesignWare Mobile Storage IP
75           block, this provides host support for SD and MMC interfaces, in both
76           PIO, internal DMA mode and external DMA mode.
77
78 config MMC_DW_EXYNOS
79         bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
80         depends on ARCH_EXYNOS
81         depends on MMC_DW
82         default y
83         help
84           This selects support for Samsung Exynos SoC specific extensions to the
85           Synopsys DesignWare Memory Card Interface driver. Select this option
86           for platforms based on Exynos4 and Exynos5 SoC's.
87
88 config MMC_DW_K3
89         bool "K3 specific extensions for Synopsys DW Memory Card Interface"
90         depends on MMC_DW
91         help
92           This selects support for Hisilicon K3 SoC specific extensions to the
93           Synopsys DesignWare Memory Card Interface driver. Select this option
94           for platforms based on Hisilicon K3 SoC's.
95
96 config MMC_DW_ROCKCHIP
97         bool "Rockchip SD/MMC controller support"
98         depends on DM_MMC && OF_CONTROL
99         depends on MMC_DW
100         help
101           This enables support for the Rockchip SD/MMM controller, which is
102           based on Designware IP. The device is compatible with at least
103           SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
104           as removeable SD and micro-SD cards.
105
106 config MMC_DW_SOCFPGA
107         bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
108         depends on ARCH_SOCFPGA
109         depends on MMC_DW
110         default y
111         help
112           This selects support for Altera SOCFPGA specific extensions to the
113           Synopsys DesignWare Memory Card Interface driver. Select this option
114           for platforms based on Altera SOCFPGA.
115
116 config SH_SDHI
117         bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
118         depends on RMOBILE
119         help
120           Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
121
122 config PIC32_SDHCI
123         bool "Microchip PIC32 on-chip SDHCI support"
124         depends on DM_MMC && MACH_PIC32
125         depends on MMC_SDHCI
126         help
127           Support for Microchip PIC32 SDHCI controller.
128
129 config ZYNQ_SDHCI
130         bool "Arasan SDHCI controller support"
131         depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
132         depends on MMC_SDHCI
133         help
134           Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
135
136 config ROCKCHIP_SDHCI
137         bool "Arasan SDHCI controller for Rockchip support"
138         depends on DM_MMC && BLK && DM_MMC_OPS
139         depends on MMC_SDHCI
140         help
141           Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
142
143 config MMC_UNIPHIER
144         bool "UniPhier SD/MMC Host Controller support"
145         depends on ARCH_UNIPHIER
146         depends on BLK && DM_MMC_OPS
147         depends on OF_CONTROL
148         help
149           This selects support for the SD/MMC Host Controller on UniPhier SoCs.
150
151 config SANDBOX_MMC
152         bool "Sandbox MMC support"
153         depends on MMC && SANDBOX
154         help
155           This select a dummy sandbox MMC driver. At present this does nothing
156           other than allow sandbox to be build with MMC support. This
157           improves build coverage for sandbox and makes it easier to detect
158           MMC build errors with sandbox.
159
160 config MMC_SDHCI
161         bool "Secure Digital Host Controller Interface support"
162         help
163           This selects the generic Secure Digital Host Controller Interface.
164           It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
165           and Toshiba(R). Most controllers found in laptops are of this type.
166
167           If you have a controller with this interface, say Y here.
168
169           If unsure, say N.
170
171 config MMC_SDHCI_IO_ACCESSORS
172         bool
173         depends on MMC_SDHCI
174         help
175           This is silent Kconfig symbol that is selected by the drivers that
176           need to overwrite SDHCI IO memory accessors.
177
178 config MMC_SDHCI_SDMA
179         bool "Support SDHCI SDMA"
180         depends on MMC_SDHCI
181         help
182           This enables support for the SDMA (Single Operation DMA) defined
183           in the SD Host Controller Standard Specification Version 1.00 .
184
185 config MMC_SDHCI_BCM2835
186         tristate "SDHCI support for the BCM2835 SD/MMC Controller"
187         depends on ARCH_BCM283X
188         depends on MMC_SDHCI
189         select MMC_SDHCI_IO_ACCESSORS
190         help
191           This selects the BCM2835 SD/MMC controller.
192
193           If you have a BCM2835 platform with SD or MMC devices,
194           say Y here.
195
196           If unsure, say N.
197
198 config MMC_SDHCI_CADENCE
199         bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
200         depends on BLK && DM_MMC_OPS
201         depends on MMC_SDHCI
202         depends on OF_CONTROL
203         help
204           This selects the Cadence SD/SDIO/eMMC driver.
205
206           If you have a controller with this interface, say Y here.
207
208           If unsure, say N.
209
210 config MMC_SDHCI_KONA
211         bool "SDHCI support on Broadcom KONA platform"
212         depends on MMC_SDHCI
213         help
214           This selects the Broadcom Kona Secure Digital Host Controller
215           Interface(SDHCI) support.
216           This is used in Broadcom mobile SoCs.
217
218           If you have a controller with this interface, say Y here.
219
220 config MMC_SDHCI_MV
221         bool "SDHCI support on Marvell platform"
222         depends on ARCH_MVEBU
223         depends on MMC_SDHCI
224         help
225           This selects the Secure Digital Host Controller Interface on
226           Marvell platform.
227
228           If you have a controller with this interface, say Y here.
229
230           If unsure, say N.
231
232 config MMC_SDHCI_S5P
233         bool "SDHCI support on Samsung S5P SoC"
234         depends on MMC_SDHCI
235         help
236           This selects the Secure Digital Host Controller Interface (SDHCI)
237           on Samsung S5P SoCs.
238
239           If you have a controller with this interface, say Y here.
240
241           If unsure, say N.
242
243 config MMC_SDHCI_SPEAR
244         bool "SDHCI support on ST SPEAr platform"
245         depends on MMC_SDHCI
246         help
247           This selects the Secure Digital Host Controller Interface (SDHCI)
248           often referrered to as the HSMMC block in some of the ST SPEAR range
249           of SoC
250
251           If you have a controller with this interface, say Y here.
252
253           If unsure, say N.
254
255 endif
256
257 endmenu
258
259 config SYS_FSL_ERRATUM_ESDHC111
260         bool
261
262 config SYS_FSL_ERRATUM_ESDHC13
263         bool
264
265 config SYS_FSL_ERRATUM_ESDHC135
266         bool
267
268 config SYS_FSL_ERRATUM_ESDHC_A001
269         bool