44f58b4202366e09f964e0d2c2261a26369f1518
[oweals/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_ROCKCHIP
79         bool "Rockchip SD/MMC controller support"
80         depends on DM_MMC && OF_CONTROL
81         depends on MMC_DW
82         help
83           This enables support for the Rockchip SD/MMM controller, which is
84           based on Designware IP. The device is compatible with at least
85           SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
86           as removeable SD and micro-SD cards.
87
88 config SH_SDHI
89         bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
90         depends on RMOBILE
91         help
92           Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
93
94 config PIC32_SDHCI
95         bool "Microchip PIC32 on-chip SDHCI support"
96         depends on DM_MMC && MACH_PIC32
97         depends on MMC_SDHCI
98         help
99           Support for Microchip PIC32 SDHCI controller.
100
101 config ZYNQ_SDHCI
102         bool "Arasan SDHCI controller support"
103         depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
104         depends on MMC_SDHCI
105         help
106           Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
107
108 config ROCKCHIP_SDHCI
109         bool "Arasan SDHCI controller for Rockchip support"
110         depends on DM_MMC && BLK && DM_MMC_OPS
111         depends on MMC_SDHCI
112         help
113           Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
114
115 config MMC_UNIPHIER
116         bool "UniPhier SD/MMC Host Controller support"
117         depends on ARCH_UNIPHIER
118         depends on BLK && DM_MMC_OPS
119         depends on OF_CONTROL
120         help
121           This selects support for the SD/MMC Host Controller on UniPhier SoCs.
122
123 config SANDBOX_MMC
124         bool "Sandbox MMC support"
125         depends on MMC && SANDBOX
126         help
127           This select a dummy sandbox MMC driver. At present this does nothing
128           other than allow sandbox to be build with MMC support. This
129           improves build coverage for sandbox and makes it easier to detect
130           MMC build errors with sandbox.
131
132 config MMC_SDHCI
133         bool "Secure Digital Host Controller Interface support"
134         help
135           This selects the generic Secure Digital Host Controller Interface.
136           It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
137           and Toshiba(R). Most controllers found in laptops are of this type.
138
139           If you have a controller with this interface, say Y here.
140
141           If unsure, say N.
142
143 config MMC_SDHCI_IO_ACCESSORS
144         bool
145         depends on MMC_SDHCI
146         help
147           This is silent Kconfig symbol that is selected by the drivers that
148           need to overwrite SDHCI IO memory accessors.
149
150 config MMC_SDHCI_SDMA
151         bool "Support SDHCI SDMA"
152         depends on MMC_SDHCI
153         help
154           This enables support for the SDMA (Single Operation DMA) defined
155           in the SD Host Controller Standard Specification Version 1.00 .
156
157 config MMC_SDHCI_BCM2835
158         tristate "SDHCI support for the BCM2835 SD/MMC Controller"
159         depends on ARCH_BCM283X
160         depends on MMC_SDHCI
161         select MMC_SDHCI_IO_ACCESSORS
162         help
163           This selects the BCM2835 SD/MMC controller.
164
165           If you have a BCM2835 platform with SD or MMC devices,
166           say Y here.
167
168           If unsure, say N.
169
170 config MMC_SDHCI_CADENCE
171         bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
172         depends on BLK && DM_MMC_OPS
173         depends on MMC_SDHCI
174         depends on OF_CONTROL
175         help
176           This selects the Cadence SD/SDIO/eMMC driver.
177
178           If you have a controller with this interface, say Y here.
179
180           If unsure, say N.
181
182 config MMC_SDHCI_KONA
183         bool "SDHCI support on Broadcom KONA platform"
184         depends on MMC_SDHCI
185         help
186           This selects the Broadcom Kona Secure Digital Host Controller
187           Interface(SDHCI) support.
188           This is used in Broadcom mobile SoCs.
189
190           If you have a controller with this interface, say Y here.
191
192 config MMC_SDHCI_MV
193         bool "SDHCI support on Marvell platform"
194         depends on ARCH_MVEBU
195         depends on MMC_SDHCI
196         help
197           This selects the Secure Digital Host Controller Interface on
198           Marvell platform.
199
200           If you have a controller with this interface, say Y here.
201
202           If unsure, say N.
203
204 config MMC_SDHCI_S5P
205         bool "SDHCI support on Samsung S5P SoC"
206         depends on MMC_SDHCI
207         help
208           This selects the Secure Digital Host Controller Interface (SDHCI)
209           on Samsung S5P SoCs.
210
211           If you have a controller with this interface, say Y here.
212
213           If unsure, say N.
214
215 config MMC_SDHCI_SPEAR
216         bool "SDHCI support on ST SPEAr platform"
217         depends on MMC_SDHCI
218         help
219           This selects the Secure Digital Host Controller Interface (SDHCI)
220           often referrered to as the HSMMC block in some of the ST SPEAR range
221           of SoC
222
223           If you have a controller with this interface, say Y here.
224
225           If unsure, say N.
226
227 endif
228
229 endmenu
230
231 config SYS_FSL_ERRATUM_ESDHC111
232         bool
233
234 config SYS_FSL_ERRATUM_ESDHC13
235         bool
236
237 config SYS_FSL_ERRATUM_ESDHC135
238         bool
239
240 config SYS_FSL_ERRATUM_ESDHC_A001
241         bool