blob: f99264d5a6df614f1a4cc8582878cf5224c466bf [file] [log] [blame]
Nobuhiro Iwamatsu3ec5f862014-12-17 08:03:00 +09001menu "MMC Host controller Support"
2
Maxime Ripard4f780742015-10-15 22:04:05 +02003config MMC
Masahiro Yamadaa5ed4be2016-12-07 22:10:26 +09004 bool "MMC/SD/SDIO card support"
5 default ARM || PPC || SANDBOX
Maxime Ripard4f780742015-10-15 22:04:05 +02006 help
Masahiro Yamadaa5ed4be2016-12-07 22:10:26 +09007 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.
Maxime Ripard4f780742015-10-15 22:04:05 +020012
Simon Glass1e8eb1b2015-06-23 15:38:48 -060013config DM_MMC
14 bool "Enable MMC controllers using Driver Model"
15 depends on DM
16 help
Robert P. J. Day8d56db92016-07-15 13:44:45 -040017 This enables the MultiMediaCard (MMC) uclass which supports MMC and
Simon Glass1e8eb1b2015-06-23 15:38:48 -060018 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
Simon Glass394dfc02016-06-12 23:30:22 -060023config DM_MMC_OPS
24 bool "Support MMC controller operations using Driver Model"
25 depends on DM_MMC
Simon Glass0bf1f492016-10-01 14:43:19 -060026 default y if DM_MMC
Simon Glass394dfc02016-06-12 23:30:22 -060027 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
Masahiro Yamadae8b99722016-12-07 22:10:27 +090033if MMC
34
Marek Vasutf537e392016-12-01 02:06:33 +010035config 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
Mateusz Kulikowskia00b0c02016-03-31 23:12:16 +020050config MSM_SDHCI
51 bool "Qualcomm SDHCI controller"
Simon Glass86120252016-06-12 23:30:31 -060052 depends on DM_MMC && BLK && DM_MMC_OPS
Masahiro Yamada7db8c172016-12-07 22:10:28 +090053 depends on MMC_SDHCI
Mateusz Kulikowskia00b0c02016-03-31 23:12:16 +020054 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
Wenyou Yang83e88a42016-08-10 10:51:05 +080060config ATMEL_SDHCI
61 bool "Atmel SDHCI controller support"
62 depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
Masahiro Yamada7db8c172016-12-07 22:10:28 +090063 depends on MMC_SDHCI
Wenyou Yang83e88a42016-08-10 10:51:05 +080064 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
Masahiro Yamada7942e912017-01-10 13:32:04 +090071config 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
Masahiro Yamadaf1ad7282017-01-10 13:32:05 +090078config 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
88config 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
Masahiro Yamadadc607f82017-01-10 13:32:03 +090096config MMC_DW_ROCKCHIP
Simon Glass4ecaa6d2015-08-30 16:55:37 -060097 bool "Rockchip SD/MMC controller support"
98 depends on DM_MMC && OF_CONTROL
Masahiro Yamada7942e912017-01-10 13:32:04 +090099 depends on MMC_DW
Simon Glass4ecaa6d2015-08-30 16:55:37 -0600100 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
Masahiro Yamadaf1ad7282017-01-10 13:32:05 +0900106config 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
Nobuhiro Iwamatsu3ec5f862014-12-17 08:03:00 +0900116config 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
Andrei Pistiricabe033172016-01-28 15:30:18 +0530122config PIC32_SDHCI
123 bool "Microchip PIC32 on-chip SDHCI support"
124 depends on DM_MMC && MACH_PIC32
Masahiro Yamada7db8c172016-12-07 22:10:28 +0900125 depends on MMC_SDHCI
Andrei Pistiricabe033172016-01-28 15:30:18 +0530126 help
127 Support for Microchip PIC32 SDHCI controller.
128
Michal Simek90770fe2016-02-04 11:43:40 +0100129config ZYNQ_SDHCI
130 bool "Arasan SDHCI controller support"
Michal Simek2cdeab22016-12-15 11:15:49 +0100131 depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
Masahiro Yamada7db8c172016-12-07 22:10:28 +0900132 depends on MMC_SDHCI
Michal Simek90770fe2016-02-04 11:43:40 +0100133 help
134 Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
135
Kever Yang65922e02016-07-18 17:00:58 +0800136config ROCKCHIP_SDHCI
137 bool "Arasan SDHCI controller for Rockchip support"
138 depends on DM_MMC && BLK && DM_MMC_OPS
Masahiro Yamada7db8c172016-12-07 22:10:28 +0900139 depends on MMC_SDHCI
Kever Yang65922e02016-07-18 17:00:58 +0800140 help
141 Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
142
Masahiro Yamadaa0cfcc02016-02-18 19:52:48 +0900143config MMC_UNIPHIER
144 bool "UniPhier SD/MMC Host Controller support"
145 depends on ARCH_UNIPHIER
Masahiro Yamadac2326532016-12-30 23:20:14 +0900146 depends on BLK && DM_MMC_OPS
147 depends on OF_CONTROL
Masahiro Yamadaa0cfcc02016-02-18 19:52:48 +0900148 help
149 This selects support for the SD/MMC Host Controller on UniPhier SoCs.
150
Simon Glassf9eebac2016-05-01 13:52:42 -0600151config 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
Masahiro Yamada7db8c172016-12-07 22:10:28 +0900160config 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
Masahiro Yamadabfd110f2016-12-07 22:10:30 +0900171config 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
Masahiro Yamada124f6ce2016-12-07 22:10:29 +0900178config 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
185config MMC_SDHCI_BCM2835
186 tristate "SDHCI support for the BCM2835 SD/MMC Controller"
187 depends on ARCH_BCM283X
188 depends on MMC_SDHCI
Masahiro Yamadabfd110f2016-12-07 22:10:30 +0900189 select MMC_SDHCI_IO_ACCESSORS
Masahiro Yamada124f6ce2016-12-07 22:10:29 +0900190 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
Masahiro Yamadadcbc4432016-12-30 22:41:46 +0900198config 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
Masahiro Yamada124f6ce2016-12-07 22:10:29 +0900210config 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
220config 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
232config 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
243config 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
Masahiro Yamadae8b99722016-12-07 22:10:27 +0900255endif
256
Nobuhiro Iwamatsu3ec5f862014-12-17 08:03:00 +0900257endmenu
York Sun097e3602016-12-28 08:43:42 -0800258
259config SYS_FSL_ERRATUM_ESDHC111
260 bool
261
262config SYS_FSL_ERRATUM_ESDHC13
263 bool
264
265config SYS_FSL_ERRATUM_ESDHC135
266 bool
267
268config SYS_FSL_ERRATUM_ESDHC_A001
269 bool