1menu "MMC Host controller Support" 2 3config 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 13config 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 23config SPL_DM_MMC 24 bool "Enable MMC controllers using Driver Model in SPL" 25 depends on SPL_DM && DM_MMC 26 default y 27 help 28 This enables the MultiMediaCard (MMC) uclass which supports MMC and 29 Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.) 30 and non-removable (e.g. eMMC chip) devices are supported. These 31 appear as block devices in U-Boot and can support filesystems such 32 as EXT4 and FAT. 33 34if MMC 35 36config SPL_MMC_TINY 37 bool "Tiny MMC framework in SPL" 38 help 39 Enable MMC framework tinification support. This option is useful if 40 if your SPL is extremely size constrained. Heed the warning, enable 41 this option if and only if you know exactly what you are doing, if 42 you are reading this help text, you most likely have no idea :-) 43 44 The MMC framework is reduced to bare minimum to be useful. No malloc 45 support is needed for the MMC framework operation with this option 46 enabled. The framework supports exactly one MMC device and exactly 47 one MMC driver. The MMC driver can be adjusted to avoid any malloc 48 operations too, which can remove the need for malloc support in SPL 49 and thus further reduce footprint. 50 51config MMC_DAVINCI 52 bool "TI DAVINCI Multimedia Card Interface support" 53 depends on ARCH_DAVINCI 54 default y 55 help 56 This selects the TI DAVINCI Multimedia card Interface. 57 If you have an DAVINCI board with a Multimedia Card slot, 58 say Y here. If unsure, say N. 59 60config MMC_DW 61 bool "Synopsys DesignWare Memory Card Interface" 62 help 63 This selects support for the Synopsys DesignWare Mobile Storage IP 64 block, this provides host support for SD and MMC interfaces, in both 65 PIO, internal DMA mode and external DMA mode. 66 67config MMC_DW_EXYNOS 68 bool "Exynos specific extensions for Synopsys DW Memory Card Interface" 69 depends on ARCH_EXYNOS 70 depends on MMC_DW 71 default y 72 help 73 This selects support for Samsung Exynos SoC specific extensions to the 74 Synopsys DesignWare Memory Card Interface driver. Select this option 75 for platforms based on Exynos4 and Exynos5 SoC's. 76 77config MMC_DW_K3 78 bool "K3 specific extensions for Synopsys DW Memory Card Interface" 79 depends on MMC_DW 80 help 81 This selects support for Hisilicon K3 SoC specific extensions to the 82 Synopsys DesignWare Memory Card Interface driver. Select this option 83 for platforms based on Hisilicon K3 SoC's. 84 85config MMC_DW_ROCKCHIP 86 bool "Rockchip SD/MMC controller support" 87 depends on DM_MMC && OF_CONTROL 88 depends on MMC_DW 89 help 90 This enables support for the Rockchip SD/MMM controller, which is 91 based on Designware IP. The device is compatible with at least 92 SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well 93 as removeable SD and micro-SD cards. 94 95config MMC_DW_SOCFPGA 96 bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface" 97 depends on ARCH_SOCFPGA 98 depends on MMC_DW 99 default y 100 help 101 This selects support for Altera SOCFPGA specific extensions to the 102 Synopsys DesignWare Memory Card Interface driver. Select this option 103 for platforms based on Altera SOCFPGA. 104 105config MMC_MESON_GX 106 bool "Meson GX EMMC controller support" 107 depends on DM_MMC && BLK && ARCH_MESON 108 help 109 Support for EMMC host controller on Meson GX ARM SoCs platform (S905) 110 111config MMC_MXC 112 bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support" 113 help 114 This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x 115 Multimedia Card Interface. If you have an i.MX or MPC512x platform 116 with a Multimedia Card slot, say Y here. 117 118 If unsure, say N. 119 120config MMC_MXS 121 bool "Freescale MXS Multimedia Card Interface support" 122 help 123 This selects the Freescale SSP MMC controller found on MXS based 124 platforms like mx23/28. 125 126 If unsure, say N. 127 128config MMC_PCI 129 bool "Support for MMC controllers on PCI" 130 help 131 This selects PCI-based MMC controllers. 132 If you have an MMC controller on a PCI bus, say Y here. 133 134 If unsure, say N. 135 136config MMC_OMAP_HS 137 bool "TI OMAP High Speed Multimedia Card Interface support" 138 select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR 139 help 140 This selects the TI OMAP High Speed Multimedia card Interface. 141 If you have an omap2plus board with a Multimedia Card slot, 142 say Y here. 143 144 If unsure, say N. 145 146config MMC_OMAP36XX_PINS 147 bool "Enable MMC1 on OMAP36xx/37xx" 148 depends on OMAP34XX && MMC_OMAP_HS 149 help 150 This enables extended-drain in the MMC/SD/SDIO1I/O and 151 GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129) 152 specific to the OMAP36xx/37xx using MMC1 153 154 If you have a controller with this interface, say Y here. 155 156 If unsure, say N. 157 158config SH_SDHI 159 bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support" 160 depends on ARCH_RMOBILE 161 help 162 Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform 163 164config MMC_UNIPHIER 165 bool "UniPhier SD/MMC Host Controller support" 166 depends on ARCH_UNIPHIER 167 depends on BLK && DM_MMC 168 depends on OF_CONTROL 169 help 170 This selects support for the SD/MMC Host Controller on UniPhier SoCs. 171 172config MMC_SANDBOX 173 bool "Sandbox MMC support" 174 depends on SANDBOX 175 depends on BLK && DM_MMC && OF_CONTROL 176 help 177 This select a dummy sandbox MMC driver. At present this does nothing 178 other than allow sandbox to be build with MMC support. This 179 improves build coverage for sandbox and makes it easier to detect 180 MMC build errors with sandbox. 181 182config MMC_SDHCI 183 bool "Secure Digital Host Controller Interface support" 184 help 185 This selects the generic Secure Digital Host Controller Interface. 186 It is used by manufacturers such as Texas Instruments(R), Ricoh(R) 187 and Toshiba(R). Most controllers found in laptops are of this type. 188 189 If you have a controller with this interface, say Y here. 190 191 If unsure, say N. 192 193config MMC_SDHCI_IO_ACCESSORS 194 bool 195 depends on MMC_SDHCI 196 help 197 This is silent Kconfig symbol that is selected by the drivers that 198 need to overwrite SDHCI IO memory accessors. 199 200config MMC_SDHCI_SDMA 201 bool "Support SDHCI SDMA" 202 depends on MMC_SDHCI 203 help 204 This enables support for the SDMA (Single Operation DMA) defined 205 in the SD Host Controller Standard Specification Version 1.00 . 206 207config MMC_SDHCI_ATMEL 208 bool "Atmel SDHCI controller support" 209 depends on ARCH_AT91 210 depends on DM_MMC && BLK && ARCH_AT91 211 depends on MMC_SDHCI 212 help 213 This enables support for the Atmel SDHCI controller, which supports 214 the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD 215 Memory Card Specification V3.0, and the SDIO V3.0 specification. 216 It is compliant with the SD Host Controller Standard V3.0 217 specification. 218 219config MMC_SDHCI_BCM2835 220 tristate "SDHCI support for the BCM2835 SD/MMC Controller" 221 depends on ARCH_BCM283X 222 depends on MMC_SDHCI 223 select MMC_SDHCI_IO_ACCESSORS 224 help 225 This selects the BCM2835 SD/MMC controller. 226 227 If you have a BCM2835 platform with SD or MMC devices, 228 say Y here. 229 230 If unsure, say N. 231 232config MMC_SDHCI_CADENCE 233 bool "SDHCI support for the Cadence SD/SDIO/eMMC controller" 234 depends on BLK && DM_MMC 235 depends on MMC_SDHCI 236 depends on OF_CONTROL 237 help 238 This selects the Cadence SD/SDIO/eMMC driver. 239 240 If you have a controller with this interface, say Y here. 241 242 If unsure, say N. 243 244config MMC_SDHCI_KONA 245 bool "SDHCI support on Broadcom KONA platform" 246 depends on MMC_SDHCI 247 help 248 This selects the Broadcom Kona Secure Digital Host Controller 249 Interface(SDHCI) support. 250 This is used in Broadcom mobile SoCs. 251 252 If you have a controller with this interface, say Y here. 253 254config MMC_SDHCI_MSM 255 bool "Qualcomm SDHCI controller" 256 depends on BLK && DM_MMC 257 depends on MMC_SDHCI 258 help 259 Enables support for SDHCI 2.0 controller present on some Qualcomm 260 Snapdragon devices. This device is compatible with eMMC v4.5 and 261 SD 3.0 specifications. Both SD and eMMC devices are supported. 262 Card-detect gpios are not supported. 263 264config MMC_SDHCI_MV 265 bool "SDHCI support on Marvell platform" 266 depends on ARCH_MVEBU 267 depends on MMC_SDHCI 268 help 269 This selects the Secure Digital Host Controller Interface on 270 Marvell platform. 271 272 If you have a controller with this interface, say Y here. 273 274 If unsure, say N. 275 276config MMC_SDHCI_PIC32 277 bool "Microchip PIC32 on-chip SDHCI support" 278 depends on DM_MMC && MACH_PIC32 279 depends on MMC_SDHCI 280 help 281 Support for Microchip PIC32 SDHCI controller. 282 283config MMC_SDHCI_ROCKCHIP 284 bool "Arasan SDHCI controller for Rockchip support" 285 depends on ARCH_ROCKCHIP 286 depends on DM_MMC && BLK 287 depends on MMC_SDHCI 288 help 289 Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform 290 291config MMC_SDHCI_S5P 292 bool "SDHCI support on Samsung S5P SoC" 293 depends on MMC_SDHCI 294 help 295 This selects the Secure Digital Host Controller Interface (SDHCI) 296 on Samsung S5P SoCs. 297 298 If you have a controller with this interface, say Y here. 299 300 If unsure, say N. 301 302config MMC_SDHCI_SPEAR 303 bool "SDHCI support on ST SPEAr platform" 304 depends on MMC_SDHCI 305 help 306 This selects the Secure Digital Host Controller Interface (SDHCI) 307 often referrered to as the HSMMC block in some of the ST SPEAR range 308 of SoC 309 310 If you have a controller with this interface, say Y here. 311 312 If unsure, say N. 313 314config MMC_SDHCI_STI 315 bool "SDHCI support for STMicroelectronics SoC" 316 depends on MMC_SDHCI && OF_CONTROL 317 help 318 This selects the Secure Digital Host Controller Interface (SDHCI) 319 on STMicroelectronics STiH410 SoC. 320 321config MMC_SDHCI_XENON 322 bool "SDHCI support for the Xenon SDHCI controller" 323 depends on MMC_SDHCI && DM_MMC && OF_CONTROL 324 help 325 Support for Xenon SDHCI host controller on Marvell Armada 3700 326 7k/8k ARM SoCs platforms 327 328 If you have a controller with this interface, say Y here. 329 330 If unsure, say N. 331 332config MMC_SDHCI_TANGIER 333 bool "Tangier SDHCI controller support" 334 depends on DM_MMC && BLK 335 depends on MMC_SDHCI 336 help 337 This selects support for SDHCI controller on Tanginer 338 SoC. Note that this controller does not sit on PCI bus and, 339 hence, cannot be enumerated by standard PCI means. 340 341 If you're using an Intel Tangier SoC (available on Intel 342 Edison board), say Y here. 343 344 If unsure, say N. 345 346config MMC_SDHCI_TEGRA 347 bool "SDHCI platform support for the Tegra SD/MMC Controller" 348 depends on TEGRA 349 default y 350 help 351 This selects the Tegra SD/MMC controller. If you have a Tegra 352 platform with SD or MMC devices, say Y here. 353 354 If unsure, say N. 355 356config MMC_SDHCI_ZYNQ 357 bool "Arasan SDHCI controller support" 358 depends on ARCH_ZYNQ || ARCH_ZYNQMP 359 depends on DM_MMC && OF_CONTROL && BLK 360 depends on MMC_SDHCI 361 help 362 Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform 363 364config MMC_SUNXI 365 bool "Allwinner sunxi SD/MMC Host Controller support" 366 depends on ARCH_SUNXI && !UART0_PORT_F 367 default y 368 help 369 This selects support for the SD/MMC Host Controller on 370 Allwinner sunxi SoCs. 371 372config MMC_SUNXI_HAS_NEW_MODE 373 bool 374 depends on MMC_SUNXI 375 376config GENERIC_ATMEL_MCI 377 bool "Atmel Multimedia Card Interface support" 378 depends on DM_MMC && BLK && ARCH_AT91 379 help 380 This enables support for Atmel High Speed Multimedia Card Interface 381 (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3, 382 the SD Memory Card Specification V2.0, the SDIO V2.0 specification 383 and CE-ATA V1.1. 384 385endif 386 387config TEGRA124_MMC_DISABLE_EXT_LOOPBACK 388 bool "Disable external clock loopback" 389 depends on MMC_SDHCI_TEGRA && TEGRA124 390 help 391 Disable the external clock loopback and use the internal one on SDMMC3 392 as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits 393 being set to 0xfffd according to the TRM. 394 395 TODO(marcel.ziswiler@toradex.com): Move to device tree controlled 396 approach once proper kernel integration made it mainline. 397 398endmenu 399 400config SYS_FSL_ERRATUM_ESDHC111 401 bool 402 403config SYS_FSL_ERRATUM_ESDHC13 404 bool 405 406config SYS_FSL_ERRATUM_ESDHC135 407 bool 408 409config SYS_FSL_ERRATUM_ESDHC_A001 410 bool 411