Nobuhiro Iwamatsu | 3ec5f86 | 2014-12-17 08:03:00 +0900 | [diff] [blame] | 1 | menu "MMC Host controller Support" |
| 2 | |
Maxime Ripard | 4f78074 | 2015-10-15 22:04:05 +0200 | [diff] [blame] | 3 | config MMC |
Masahiro Yamada | a5ed4be | 2016-12-07 22:10:26 +0900 | [diff] [blame] | 4 | bool "MMC/SD/SDIO card support" |
| 5 | default ARM || PPC || SANDBOX |
Maxime Ripard | 4f78074 | 2015-10-15 22:04:05 +0200 | [diff] [blame] | 6 | help |
Masahiro Yamada | a5ed4be | 2016-12-07 22:10:26 +0900 | [diff] [blame] | 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. |
Maxime Ripard | 4f78074 | 2015-10-15 22:04:05 +0200 | [diff] [blame] | 12 | |
Masahiro Yamada | 7bbebd1 | 2017-01-30 19:46:49 +0900 | [diff] [blame] | 13 | config GENERIC_MMC |
| 14 | bool "Generic MMC driver framework" |
| 15 | default MMC |
| 16 | |
Simon Glass | 1e8eb1b | 2015-06-23 15:38:48 -0600 | [diff] [blame] | 17 | config DM_MMC |
| 18 | bool "Enable MMC controllers using Driver Model" |
| 19 | depends on DM |
| 20 | help |
Robert P. J. Day | 8d56db9 | 2016-07-15 13:44:45 -0400 | [diff] [blame] | 21 | This enables the MultiMediaCard (MMC) uclass which supports MMC and |
Simon Glass | 1e8eb1b | 2015-06-23 15:38:48 -0600 | [diff] [blame] | 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 | |
Simon Glass | 394dfc0 | 2016-06-12 23:30:22 -0600 | [diff] [blame] | 27 | config DM_MMC_OPS |
| 28 | bool "Support MMC controller operations using Driver Model" |
| 29 | depends on DM_MMC |
Simon Glass | 0bf1f49 | 2016-10-01 14:43:19 -0600 | [diff] [blame] | 30 | default y if DM_MMC |
Simon Glass | 394dfc0 | 2016-06-12 23:30:22 -0600 | [diff] [blame] | 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 | |
Masahiro Yamada | e8b9972 | 2016-12-07 22:10:27 +0900 | [diff] [blame] | 37 | if MMC |
| 38 | |
Marek Vasut | f537e39 | 2016-12-01 02:06:33 +0100 | [diff] [blame] | 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 | |
Masahiro Yamada | b2c8868 | 2017-01-10 13:32:07 +0900 | [diff] [blame] | 54 | config MMC_DAVINCI |
| 55 | bool "TI DAVINCI Multimedia Card Interface support" |
| 56 | depends on ARCH_DAVINCI |
| 57 | default y |
| 58 | help |
| 59 | This selects the TI DAVINCI Multimedia card Interface. |
| 60 | If you have an DAVINCI board with a Multimedia Card slot, |
| 61 | say Y here. If unsure, say N. |
| 62 | |
Masahiro Yamada | 7942e91 | 2017-01-10 13:32:04 +0900 | [diff] [blame] | 63 | config MMC_DW |
| 64 | bool "Synopsys DesignWare Memory Card Interface" |
| 65 | help |
| 66 | This selects support for the Synopsys DesignWare Mobile Storage IP |
| 67 | block, this provides host support for SD and MMC interfaces, in both |
| 68 | PIO, internal DMA mode and external DMA mode. |
| 69 | |
Masahiro Yamada | f1ad728 | 2017-01-10 13:32:05 +0900 | [diff] [blame] | 70 | config MMC_DW_EXYNOS |
| 71 | bool "Exynos specific extensions for Synopsys DW Memory Card Interface" |
| 72 | depends on ARCH_EXYNOS |
| 73 | depends on MMC_DW |
| 74 | default y |
| 75 | help |
| 76 | This selects support for Samsung Exynos SoC specific extensions to the |
| 77 | Synopsys DesignWare Memory Card Interface driver. Select this option |
| 78 | for platforms based on Exynos4 and Exynos5 SoC's. |
| 79 | |
| 80 | config MMC_DW_K3 |
| 81 | bool "K3 specific extensions for Synopsys DW Memory Card Interface" |
| 82 | depends on MMC_DW |
| 83 | help |
| 84 | This selects support for Hisilicon K3 SoC specific extensions to the |
| 85 | Synopsys DesignWare Memory Card Interface driver. Select this option |
| 86 | for platforms based on Hisilicon K3 SoC's. |
| 87 | |
Masahiro Yamada | dc607f8 | 2017-01-10 13:32:03 +0900 | [diff] [blame] | 88 | config MMC_DW_ROCKCHIP |
Simon Glass | 4ecaa6d | 2015-08-30 16:55:37 -0600 | [diff] [blame] | 89 | bool "Rockchip SD/MMC controller support" |
| 90 | depends on DM_MMC && OF_CONTROL |
Masahiro Yamada | 7942e91 | 2017-01-10 13:32:04 +0900 | [diff] [blame] | 91 | depends on MMC_DW |
Simon Glass | 4ecaa6d | 2015-08-30 16:55:37 -0600 | [diff] [blame] | 92 | help |
| 93 | This enables support for the Rockchip SD/MMM controller, which is |
| 94 | based on Designware IP. The device is compatible with at least |
| 95 | SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well |
| 96 | as removeable SD and micro-SD cards. |
| 97 | |
Masahiro Yamada | f1ad728 | 2017-01-10 13:32:05 +0900 | [diff] [blame] | 98 | config MMC_DW_SOCFPGA |
| 99 | bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface" |
| 100 | depends on ARCH_SOCFPGA |
| 101 | depends on MMC_DW |
| 102 | default y |
| 103 | help |
| 104 | This selects support for Altera SOCFPGA specific extensions to the |
| 105 | Synopsys DesignWare Memory Card Interface driver. Select this option |
| 106 | for platforms based on Altera SOCFPGA. |
| 107 | |
Masahiro Yamada | b2c8868 | 2017-01-10 13:32:07 +0900 | [diff] [blame] | 108 | config MMC_MXC |
| 109 | bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support" |
| 110 | help |
| 111 | This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x |
| 112 | Multimedia Card Interface. If you have an i.MX or MPC512x platform |
| 113 | with a Multimedia Card slot, say Y here. |
| 114 | |
| 115 | If unsure, say N. |
| 116 | |
| 117 | config MMC_MXS |
| 118 | bool "Freescale MXS Multimedia Card Interface support" |
| 119 | help |
| 120 | This selects the Freescale SSP MMC controller found on MXS based |
| 121 | platforms like mx23/28. |
| 122 | |
| 123 | If unsure, say N. |
| 124 | |
Felipe Balbi | ecf7dfd | 2017-02-20 14:24:13 +0300 | [diff] [blame] | 125 | config MMC_PCI |
| 126 | bool "Support for MMC controllers on PCI" |
| 127 | help |
| 128 | This selects PCI-based MMC controllers. |
| 129 | If you have an MMC controller on a PCI bus, say Y here. |
| 130 | |
| 131 | If unsure, say N. |
| 132 | |
Masahiro Yamada | b2c8868 | 2017-01-10 13:32:07 +0900 | [diff] [blame] | 133 | config MMC_OMAP_HS |
| 134 | bool "TI OMAP High Speed Multimedia Card Interface support" |
| 135 | help |
| 136 | This selects the TI OMAP High Speed Multimedia card Interface. |
| 137 | If you have an omap2plus board with a Multimedia Card slot, |
| 138 | say Y here. |
| 139 | |
| 140 | If unsure, say N. |
| 141 | |
Adam Ford | ef35496 | 2017-02-06 11:31:43 -0600 | [diff] [blame] | 142 | config MMC_OMAP36XX_PINS |
| 143 | bool "Enable MMC1 on OMAP36xx/37xx" |
| 144 | depends on OMAP34XX && MMC_OMAP_HS |
| 145 | help |
| 146 | This enables extended-drain in the MMC/SD/SDIO1I/O and |
| 147 | GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129) |
| 148 | specific to the OMAP36xx/37xx using MMC1 |
| 149 | |
| 150 | If you have a controller with this interface, say Y here. |
| 151 | |
| 152 | If unsure, say N. |
| 153 | |
Nobuhiro Iwamatsu | 3ec5f86 | 2014-12-17 08:03:00 +0900 | [diff] [blame] | 154 | config SH_SDHI |
| 155 | bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support" |
| 156 | depends on RMOBILE |
| 157 | help |
| 158 | Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform |
| 159 | |
Masahiro Yamada | a0cfcc0 | 2016-02-18 19:52:48 +0900 | [diff] [blame] | 160 | config MMC_UNIPHIER |
| 161 | bool "UniPhier SD/MMC Host Controller support" |
| 162 | depends on ARCH_UNIPHIER |
Masahiro Yamada | c232653 | 2016-12-30 23:20:14 +0900 | [diff] [blame] | 163 | depends on BLK && DM_MMC_OPS |
| 164 | depends on OF_CONTROL |
Masahiro Yamada | a0cfcc0 | 2016-02-18 19:52:48 +0900 | [diff] [blame] | 165 | help |
| 166 | This selects support for the SD/MMC Host Controller on UniPhier SoCs. |
| 167 | |
Masahiro Yamada | 54f7cfc | 2017-01-30 19:46:50 +0900 | [diff] [blame] | 168 | config MMC_SANDBOX |
Simon Glass | f9eebac | 2016-05-01 13:52:42 -0600 | [diff] [blame] | 169 | bool "Sandbox MMC support" |
Masahiro Yamada | 54f7cfc | 2017-01-30 19:46:50 +0900 | [diff] [blame] | 170 | depends on SANDBOX |
| 171 | depends on BLK && DM_MMC_OPS && OF_CONTROL |
Simon Glass | f9eebac | 2016-05-01 13:52:42 -0600 | [diff] [blame] | 172 | help |
| 173 | This select a dummy sandbox MMC driver. At present this does nothing |
| 174 | other than allow sandbox to be build with MMC support. This |
| 175 | improves build coverage for sandbox and makes it easier to detect |
| 176 | MMC build errors with sandbox. |
| 177 | |
Masahiro Yamada | 7db8c17 | 2016-12-07 22:10:28 +0900 | [diff] [blame] | 178 | config MMC_SDHCI |
| 179 | bool "Secure Digital Host Controller Interface support" |
| 180 | help |
| 181 | This selects the generic Secure Digital Host Controller Interface. |
| 182 | It is used by manufacturers such as Texas Instruments(R), Ricoh(R) |
| 183 | and Toshiba(R). Most controllers found in laptops are of this type. |
| 184 | |
| 185 | If you have a controller with this interface, say Y here. |
| 186 | |
| 187 | If unsure, say N. |
| 188 | |
Masahiro Yamada | bfd110f | 2016-12-07 22:10:30 +0900 | [diff] [blame] | 189 | config MMC_SDHCI_IO_ACCESSORS |
| 190 | bool |
| 191 | depends on MMC_SDHCI |
| 192 | help |
| 193 | This is silent Kconfig symbol that is selected by the drivers that |
| 194 | need to overwrite SDHCI IO memory accessors. |
| 195 | |
Masahiro Yamada | 124f6ce | 2016-12-07 22:10:29 +0900 | [diff] [blame] | 196 | config MMC_SDHCI_SDMA |
| 197 | bool "Support SDHCI SDMA" |
| 198 | depends on MMC_SDHCI |
| 199 | help |
| 200 | This enables support for the SDMA (Single Operation DMA) defined |
| 201 | in the SD Host Controller Standard Specification Version 1.00 . |
| 202 | |
Masahiro Yamada | 8c1a132 | 2017-01-30 19:46:55 +0900 | [diff] [blame] | 203 | config MMC_SDHCI_ATMEL |
| 204 | bool "Atmel SDHCI controller support" |
| 205 | depends on ARCH_AT91 |
| 206 | depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91 |
| 207 | depends on MMC_SDHCI |
| 208 | help |
| 209 | This enables support for the Atmel SDHCI controller, which supports |
| 210 | the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD |
| 211 | Memory Card Specification V3.0, and the SDIO V3.0 specification. |
| 212 | It is compliant with the SD Host Controller Standard V3.0 |
| 213 | specification. |
| 214 | |
Masahiro Yamada | 124f6ce | 2016-12-07 22:10:29 +0900 | [diff] [blame] | 215 | config MMC_SDHCI_BCM2835 |
| 216 | tristate "SDHCI support for the BCM2835 SD/MMC Controller" |
| 217 | depends on ARCH_BCM283X |
| 218 | depends on MMC_SDHCI |
Masahiro Yamada | bfd110f | 2016-12-07 22:10:30 +0900 | [diff] [blame] | 219 | select MMC_SDHCI_IO_ACCESSORS |
Masahiro Yamada | 124f6ce | 2016-12-07 22:10:29 +0900 | [diff] [blame] | 220 | help |
| 221 | This selects the BCM2835 SD/MMC controller. |
| 222 | |
| 223 | If you have a BCM2835 platform with SD or MMC devices, |
| 224 | say Y here. |
| 225 | |
| 226 | If unsure, say N. |
| 227 | |
Masahiro Yamada | dcbc443 | 2016-12-30 22:41:46 +0900 | [diff] [blame] | 228 | config MMC_SDHCI_CADENCE |
| 229 | bool "SDHCI support for the Cadence SD/SDIO/eMMC controller" |
| 230 | depends on BLK && DM_MMC_OPS |
| 231 | depends on MMC_SDHCI |
| 232 | depends on OF_CONTROL |
| 233 | help |
| 234 | This selects the Cadence SD/SDIO/eMMC driver. |
| 235 | |
| 236 | If you have a controller with this interface, say Y here. |
| 237 | |
| 238 | If unsure, say N. |
| 239 | |
Masahiro Yamada | 124f6ce | 2016-12-07 22:10:29 +0900 | [diff] [blame] | 240 | config MMC_SDHCI_KONA |
| 241 | bool "SDHCI support on Broadcom KONA platform" |
| 242 | depends on MMC_SDHCI |
| 243 | help |
| 244 | This selects the Broadcom Kona Secure Digital Host Controller |
| 245 | Interface(SDHCI) support. |
| 246 | This is used in Broadcom mobile SoCs. |
| 247 | |
| 248 | If you have a controller with this interface, say Y here. |
| 249 | |
Masahiro Yamada | a1262eb | 2017-01-30 19:46:53 +0900 | [diff] [blame] | 250 | config MMC_SDHCI_MSM |
| 251 | bool "Qualcomm SDHCI controller" |
| 252 | depends on BLK && DM_MMC_OPS |
| 253 | depends on MMC_SDHCI |
| 254 | help |
| 255 | Enables support for SDHCI 2.0 controller present on some Qualcomm |
| 256 | Snapdragon devices. This device is compatible with eMMC v4.5 and |
| 257 | SD 3.0 specifications. Both SD and eMMC devices are supported. |
| 258 | Card-detect gpios are not supported. |
| 259 | |
Masahiro Yamada | 124f6ce | 2016-12-07 22:10:29 +0900 | [diff] [blame] | 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 | |
Masahiro Yamada | f79df03 | 2017-01-30 19:46:54 +0900 | [diff] [blame] | 272 | config MMC_SDHCI_PIC32 |
| 273 | bool "Microchip PIC32 on-chip SDHCI support" |
| 274 | depends on DM_MMC && MACH_PIC32 |
| 275 | depends on MMC_SDHCI |
| 276 | help |
| 277 | Support for Microchip PIC32 SDHCI controller. |
| 278 | |
Masahiro Yamada | babe026 | 2017-01-30 19:46:52 +0900 | [diff] [blame] | 279 | config MMC_SDHCI_ROCKCHIP |
| 280 | bool "Arasan SDHCI controller for Rockchip support" |
| 281 | depends on ARCH_ROCKCHIP |
| 282 | depends on DM_MMC && BLK && DM_MMC_OPS |
| 283 | depends on MMC_SDHCI |
| 284 | help |
| 285 | Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform |
| 286 | |
Masahiro Yamada | 124f6ce | 2016-12-07 22:10:29 +0900 | [diff] [blame] | 287 | config MMC_SDHCI_S5P |
| 288 | bool "SDHCI support on Samsung S5P SoC" |
| 289 | depends on MMC_SDHCI |
| 290 | help |
| 291 | This selects the Secure Digital Host Controller Interface (SDHCI) |
| 292 | on Samsung S5P SoCs. |
| 293 | |
| 294 | If you have a controller with this interface, say Y here. |
| 295 | |
| 296 | If unsure, say N. |
| 297 | |
| 298 | config MMC_SDHCI_SPEAR |
| 299 | bool "SDHCI support on ST SPEAr platform" |
| 300 | depends on MMC_SDHCI |
| 301 | help |
| 302 | This selects the Secure Digital Host Controller Interface (SDHCI) |
| 303 | often referrered to as the HSMMC block in some of the ST SPEAR range |
| 304 | of SoC |
| 305 | |
| 306 | If you have a controller with this interface, say Y here. |
| 307 | |
| 308 | If unsure, say N. |
| 309 | |
Patrice Chotard | 2eea7d8 | 2017-02-21 13:37:09 +0100 | [diff] [blame] | 310 | config MMC_SDHCI_STI |
| 311 | bool "SDHCI support for STMicroelectronics SoC" |
Patrice Chotard | cdf6b57 | 2017-02-21 13:37:11 +0100 | [diff] [blame] | 312 | depends on MMC_SDHCI && OF_CONTROL |
Patrice Chotard | 2eea7d8 | 2017-02-21 13:37:09 +0100 | [diff] [blame] | 313 | help |
| 314 | This selects the Secure Digital Host Controller Interface (SDHCI) |
| 315 | on STMicroelectronics STiH410 SoC. |
| 316 | |
Stefan Roese | 121fc56 | 2016-12-09 15:03:28 +0100 | [diff] [blame] | 317 | config MMC_SDHCI_XENON |
| 318 | bool "SDHCI support for the Xenon SDHCI controller" |
| 319 | depends on MMC_SDHCI && DM_MMC && OF_CONTROL |
| 320 | help |
| 321 | Support for Xenon SDHCI host controller on Marvell Armada 3700 |
| 322 | 7k/8k ARM SoCs platforms |
| 323 | |
| 324 | If you have a controller with this interface, say Y here. |
| 325 | |
| 326 | If unsure, say N. |
| 327 | |
Felipe Balbi | b756760 | 2017-02-20 14:24:14 +0300 | [diff] [blame] | 328 | config MMC_SDHCI_TANGIER |
| 329 | bool "Tangier SDHCI controller support" |
| 330 | depends on DM_MMC && BLK |
| 331 | depends on MMC_SDHCI |
| 332 | help |
| 333 | This selects support for SDHCI controller on Tanginer |
| 334 | SoC. Note that this controller does not sit on PCI bus and, |
| 335 | hence, cannot be enumerated by standard PCI means. |
| 336 | |
| 337 | If you're using an Intel Tangier SoC (available on Intel |
| 338 | Edison board), say Y here. |
| 339 | |
| 340 | If unsure, say N. |
| 341 | |
Masahiro Yamada | b2c8868 | 2017-01-10 13:32:07 +0900 | [diff] [blame] | 342 | config MMC_SDHCI_TEGRA |
| 343 | bool "SDHCI platform support for the Tegra SD/MMC Controller" |
| 344 | depends on TEGRA |
| 345 | default y |
| 346 | help |
| 347 | This selects the Tegra SD/MMC controller. If you have a Tegra |
| 348 | platform with SD or MMC devices, say Y here. |
| 349 | |
| 350 | If unsure, say N. |
| 351 | |
Masahiro Yamada | 168c57d | 2017-01-30 19:46:51 +0900 | [diff] [blame] | 352 | config MMC_SDHCI_ZYNQ |
| 353 | bool "Arasan SDHCI controller support" |
| 354 | depends on ARCH_ZYNQ || ARCH_ZYNQMP |
| 355 | depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS |
| 356 | depends on MMC_SDHCI |
| 357 | help |
| 358 | Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform |
| 359 | |
Masahiro Yamada | b2c8868 | 2017-01-10 13:32:07 +0900 | [diff] [blame] | 360 | config MMC_SUNXI |
| 361 | bool "Allwinner sunxi SD/MMC Host Controller support" |
Masahiro Yamada | 41ff529 | 2017-01-12 12:16:15 +0900 | [diff] [blame] | 362 | depends on ARCH_SUNXI && !UART0_PORT_F |
Masahiro Yamada | b2c8868 | 2017-01-10 13:32:07 +0900 | [diff] [blame] | 363 | default y |
| 364 | help |
| 365 | This selects support for the SD/MMC Host Controller on |
| 366 | Allwinner sunxi SoCs. |
| 367 | |
Masahiro Yamada | e8b9972 | 2016-12-07 22:10:27 +0900 | [diff] [blame] | 368 | endif |
| 369 | |
Nobuhiro Iwamatsu | 3ec5f86 | 2014-12-17 08:03:00 +0900 | [diff] [blame] | 370 | endmenu |
York Sun | 097e360 | 2016-12-28 08:43:42 -0800 | [diff] [blame] | 371 | |
| 372 | config SYS_FSL_ERRATUM_ESDHC111 |
| 373 | bool |
| 374 | |
| 375 | config SYS_FSL_ERRATUM_ESDHC13 |
| 376 | bool |
| 377 | |
| 378 | config SYS_FSL_ERRATUM_ESDHC135 |
| 379 | bool |
| 380 | |
| 381 | config SYS_FSL_ERRATUM_ESDHC_A001 |
| 382 | bool |