1menu "MMC Host controller Support" 2 3config MMC 4 bool "MMC/SD/SDIO card support" 5 default ARM || PPC || SANDBOX 6 select HAVE_BLOCK_DEVICE 7 select DM_MMC if DM 8 help 9 This selects MultiMediaCard, Secure Digital and Secure 10 Digital I/O support. 11 12 If you want MMC/SD/SDIO support, you should say Y here and 13 also to your specific host controller driver. 14 15config MMC_WRITE 16 bool "support for MMC/SD write operations" 17 depends on MMC 18 default y 19 help 20 Enable write access to MMC and SD Cards 21 22config MMC_PWRSEQ 23 bool "HW reset support for eMMC" 24 depends on PWRSEQ 25 help 26 Ths select Hardware reset support aka pwrseq-emmc for eMMC 27 devices. 28 29config MMC_BROKEN_CD 30 bool "Poll for broken card detection case" 31 help 32 If card detection feature is broken, just poll to detect. 33 34config DM_MMC 35 bool "Enable MMC controllers using Driver Model" 36 depends on DM 37 select BLK 38 help 39 This enables the MultiMediaCard (MMC) uclass which supports MMC and 40 Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.) 41 and non-removable (e.g. eMMC chip) devices are supported. These 42 appear as block devices in U-Boot and can support filesystems such 43 as EXT4 and FAT. 44 45config SPL_DM_MMC 46 bool "Enable MMC controllers using Driver Model in SPL" 47 depends on SPL_DM && DM_MMC 48 default y 49 help 50 This enables the MultiMediaCard (MMC) uclass which supports MMC and 51 Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.) 52 and non-removable (e.g. eMMC chip) devices are supported. These 53 appear as block devices in U-Boot and can support filesystems such 54 as EXT4 and FAT. 55 56if MMC 57 58config MMC_SDHCI_ADMA_HELPERS 59 bool 60 61config MMC_SPI 62 bool "Support for SPI-based MMC controller" 63 depends on DM_MMC && DM_SPI 64 help 65 This selects SPI-based MMC controllers. 66 If you have an MMC controller on a SPI bus, say Y here. 67 68 If unsure, say N. 69 70config MMC_SPI_CRC_ON 71 bool "Support CRC for SPI-based MMC controller" 72 depends on MMC_SPI 73 default y 74 help 75 This enables CRC for SPI-based MMC controllers. 76 77 If unsure, say N. 78 79config ARM_PL180_MMCI 80 bool "ARM AMBA Multimedia Card Interface and compatible support" 81 help 82 This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card 83 Interface (PL180, PL181 and compatible) support. 84 If you have an ARM(R) platform with a Multimedia Card slot, 85 say Y or M here. 86 87config MMC_QUIRKS 88 bool "Enable quirks" 89 default y 90 help 91 Some cards and hosts may sometimes behave unexpectedly (quirks). 92 This option enable workarounds to handle those quirks. Some of them 93 are enabled by default, other may require additional flags or are 94 enabled by the host driver. 95 96config MMC_HW_PARTITIONING 97 bool "Support for HW partitioning command(eMMC)" 98 default y 99 help 100 This adds a command and an API to do hardware partitioning on eMMC 101 devices. 102 103config SUPPORT_EMMC_RPMB 104 bool "Support eMMC replay protected memory block (RPMB)" 105 imply CMD_MMC_RPMB 106 help 107 Enable support for reading, writing and programming the 108 key for the Replay Protection Memory Block partition in eMMC. 109 110config SUPPORT_EMMC_BOOT 111 bool "Support some additional features of the eMMC boot partitions" 112 help 113 Enable support for eMMC boot partitions. This also enables 114 extensions within the mmc command. 115 116config MMC_IO_VOLTAGE 117 bool "Support IO voltage configuration" 118 help 119 IO voltage configuration allows selecting the voltage level of the IO 120 lines (not the level of main supply). This is required for UHS 121 support. For eMMC this not mandatory, but not enabling this option may 122 prevent the driver of using the faster modes. 123 124config SPL_MMC_IO_VOLTAGE 125 bool "Support IO voltage configuration in SPL" 126 default n 127 help 128 IO voltage configuration allows selecting the voltage level of the IO 129 lines (not the level of main supply). This is required for UHS 130 support. For eMMC this not mandatory, but not enabling this option may 131 prevent the driver of using the faster modes. 132 133config MMC_UHS_SUPPORT 134 bool "enable UHS support" 135 depends on MMC_IO_VOLTAGE 136 help 137 The Ultra High Speed (UHS) bus is available on some SDHC and SDXC 138 cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus 139 frequency can go up to 208MHz (SDR104) 140 141config SPL_MMC_UHS_SUPPORT 142 bool "enable UHS support in SPL" 143 depends on SPL_MMC_IO_VOLTAGE 144 help 145 The Ultra High Speed (UHS) bus is available on some SDHC and SDXC 146 cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus 147 frequency can go up to 208MHz (SDR104) 148 149config MMC_HS400_ES_SUPPORT 150 bool "enable HS400 Enhanced Strobe support" 151 help 152 The HS400 Enhanced Strobe mode is support by some eMMC. The bus 153 frequency is up to 200MHz. This mode does not tune the IO. 154 155config SPL_MMC_HS400_ES_SUPPORT 156 bool "enable HS400 Enhanced Strobe support in SPL" 157 help 158 The HS400 Enhanced Strobe mode is support by some eMMC. The bus 159 frequency is up to 200MHz. This mode does not tune the IO. 160 161config MMC_HS400_SUPPORT 162 bool "enable HS400 support" 163 select MMC_HS200_SUPPORT 164 help 165 The HS400 mode is support by some eMMC. The bus frequency is up to 166 200MHz. This mode requires tuning the IO. 167 168config SPL_MMC_HS400_SUPPORT 169 bool "enable HS400 support in SPL" 170 select SPL_MMC_HS200_SUPPORT 171 help 172 The HS400 mode is support by some eMMC. The bus frequency is up to 173 200MHz. This mode requires tuning the IO. 174 175config MMC_HS200_SUPPORT 176 bool "enable HS200 support" 177 help 178 The HS200 mode is support by some eMMC. The bus frequency is up to 179 200MHz. This mode requires tuning the IO. 180 181config SPL_MMC_HS200_SUPPORT 182 bool "enable HS200 support in SPL" 183 help 184 The HS200 mode is support by some eMMC. The bus frequency is up to 185 200MHz. This mode requires tuning the IO. 186 187config MMC_VERBOSE 188 bool "Output more information about the MMC" 189 default y 190 help 191 Enable the output of more information about the card such as the 192 operating mode. 193 194config MMC_TRACE 195 bool "MMC debugging" 196 default n 197 help 198 This is an option for use by developer. Enable MMC core debugging. 199 200 If you need to see the MMC core message, say Y. 201 202config MMC_DAVINCI 203 bool "TI DAVINCI Multimedia Card Interface support" 204 depends on ARCH_DAVINCI 205 default y 206 help 207 This selects the TI DAVINCI Multimedia card Interface. 208 If you have an DAVINCI board with a Multimedia Card slot, 209 say Y here. If unsure, say N. 210 211config MMC_DW 212 bool "Synopsys DesignWare Memory Card Interface" 213 select BOUNCE_BUFFER 214 help 215 This selects support for the Synopsys DesignWare Mobile Storage IP 216 block, this provides host support for SD and MMC interfaces, in both 217 PIO, internal DMA mode and external DMA mode. 218 219config MMC_DW_CORTINA 220 bool "Cortina specific extensions for Synopsys DW Memory Card Interface" 221 depends on DM_MMC 222 depends on MMC_DW 223 depends on BLK 224 default n 225 help 226 This selects support for Cortina SoC specific extensions to the 227 Synopsys DesignWare Memory Card Interface driver. Select this option 228 for platforms based on Cortina CAxxxx Soc's. 229 230config MMC_DW_EXYNOS 231 bool "Exynos specific extensions for Synopsys DW Memory Card Interface" 232 depends on ARCH_EXYNOS 233 depends on MMC_DW 234 default y 235 help 236 This selects support for Samsung Exynos SoC specific extensions to the 237 Synopsys DesignWare Memory Card Interface driver. Select this option 238 for platforms based on Exynos4 and Exynos5 SoC's. 239 240config MMC_DW_K3 241 bool "K3 specific extensions for Synopsys DW Memory Card Interface" 242 depends on MMC_DW 243 help 244 This selects support for Hisilicon K3 SoC specific extensions to the 245 Synopsys DesignWare Memory Card Interface driver. Select this option 246 for platforms based on Hisilicon K3 SoC's. 247 248config MMC_DW_ROCKCHIP 249 bool "Rockchip SD/MMC controller support" 250 depends on DM_MMC && OF_CONTROL 251 depends on MMC_DW 252 help 253 This enables support for the Rockchip SD/MMM controller, which is 254 based on Designware IP. The device is compatible with at least 255 SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well 256 as removeable SD and micro-SD cards. 257 258config MMC_DW_SOCFPGA 259 bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface" 260 depends on ARCH_SOCFPGA 261 depends on MMC_DW 262 default y 263 help 264 This selects support for Altera SOCFPGA specific extensions to the 265 Synopsys DesignWare Memory Card Interface driver. Select this option 266 for platforms based on Altera SOCFPGA. 267 268config MMC_DW_SNPS 269 bool "Extensions for DW Memory Card Interface used in Synopsys ARC devboards" 270 depends on MMC_DW 271 depends on DM_MMC 272 depends on OF_CONTROL 273 depends on CLK 274 help 275 This selects support for Synopsys DesignWare Memory Card Interface driver 276 extensions used in various Synopsys ARC devboards. 277 278config NEXELL_DWMMC 279 bool "Nexell SD/MMC controller support" 280 depends on ARCH_NEXELL 281 depends on MMC_DW 282 depends on DM_MMC 283 depends on PINCTRL_NEXELL 284 default y 285 286config MMC_MESON_GX 287 bool "Meson GX EMMC controller support" 288 depends on DM_MMC && BLK && ARCH_MESON 289 help 290 Support for EMMC host controller on Meson GX ARM SoCs platform (S905) 291 292config MMC_MXC 293 bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support" 294 help 295 This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x 296 Multimedia Card Interface. If you have an i.MX or MPC512x platform 297 with a Multimedia Card slot, say Y here. 298 299 If unsure, say N. 300 301config MMC_MXS 302 bool "Freescale MXS Multimedia Card Interface support" 303 depends on MX23 || MX28 || MX6 || MX7 304 select BOUNCE_BUFFER 305 select APBH_DMA 306 select APBH_DMA_BURST if ARCH_MX6 || ARCH_MX7 307 select APBH_DMA_BURST8 if ARCH_MX6 || ARCH_MX7 308 help 309 This selects the Freescale SSP MMC controller found on MXS based 310 platforms like mx23/28. 311 312 If unsure, say N. 313 314config MMC_PCI 315 bool "Support for MMC controllers on PCI" 316 depends on MMC_SDHCI 317 help 318 This selects PCI-based MMC controllers. 319 If you have an MMC controller on a PCI bus, say Y here. 320 321config MMC_OCTEONTX 322 bool "Marvell Octeon Multimedia Card Interface support" 323 depends on (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2) 324 depends on DM_MMC 325 help 326 This selects the Octeon Multimedia card Interface. 327 If you have an OcteonTX/TX2 or MIPS Octeon board with a 328 Multimedia Card slot, say Y here. 329 330 If unsure, say N. 331 332config MVEBU_MMC 333 bool "Kirkwood MMC controller support" 334 depends on DM_MMC && BLK && ARCH_KIRKWOOD 335 help 336 Support for MMC host controller on Kirkwood SoCs. 337 If you are on a Kirkwood architecture, say Y here. 338 339 If unsure, say N. 340 341config PXA_MMC_GENERIC 342 bool "Support for MMC controllers on PXA" 343 help 344 This selects MMC controllers on PXA. 345 If you are on a PXA architecture, say Y here. 346 347 If unsure, say N. 348 349config MMC_OMAP_HS 350 bool "TI OMAP High Speed Multimedia Card Interface support" 351 select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR 352 select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR 353 help 354 This selects the TI OMAP High Speed Multimedia card Interface. 355 If you have an omap2plus board with a Multimedia Card slot, 356 say Y here. 357 358 If unsure, say N. 359 360config MMC_OMAP_HS_ADMA 361 bool "ADMA support for OMAP HS MMC" 362 depends on MMC_OMAP_HS && !OMAP34XX 363 default y if !AM33XX 364 help 365 This enables support for the ADMA2 controller (SDA3.00 Part A2 DMA 366 controller). If supported by the hardware, selecting this option will 367 increase performances. 368 369config MMC_OMAP36XX_PINS 370 bool "Enable MMC1 on OMAP36xx/37xx" 371 depends on OMAP34XX && MMC_OMAP_HS 372 help 373 This enables extended-drain in the MMC/SD/SDIO1I/O and 374 GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129) 375 specific to the OMAP36xx/37xx using MMC1 376 377 If you have a controller with this interface, say Y here. 378 379 If unsure, say N. 380 381config SH_SDHI 382 bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support" 383 depends on ARCH_RMOBILE 384 help 385 Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform 386 387config SH_MMCIF 388 bool "SuperH/Renesas ARM SoCs on-chip MMCIF host controller support" 389 depends on ARCH_RMOBILE || SH 390 help 391 Support for the on-chip MMCIF host controller on SuperH/Renesas ARM SoCs platform 392 393config MMC_UNIPHIER 394 bool "UniPhier SD/MMC Host Controller support" 395 depends on ARCH_UNIPHIER 396 depends on BLK && DM_MMC 397 depends on OF_CONTROL 398 help 399 This selects support for the Matsushita SD/MMC Host Controller on 400 SocioNext UniPhier SoCs. 401 402config RENESAS_SDHI 403 bool "Renesas R-Car SD/MMC Host Controller support" 404 depends on ARCH_RMOBILE 405 depends on BLK && DM_MMC 406 depends on OF_CONTROL 407 select BOUNCE_BUFFER 408 help 409 This selects support for the Matsushita SD/MMC Host Controller on 410 Renesas R-Car SoCs. 411 412config MMC_BCM2835 413 bool "BCM2835 family custom SD/MMC Host Controller support" 414 depends on ARCH_BCM283X 415 depends on BLK && DM_MMC 416 depends on OF_CONTROL 417 default y 418 help 419 This selects support for the custom SD host controller in the BCM2835 420 family of devices. 421 422 If you have a BCM2835 platform with SD or MMC devices, say Y here. 423 424 If unsure, say N. 425 426config JZ47XX_MMC 427 bool "Ingenic JZ47xx SD/MMC Host Controller support" 428 depends on ARCH_JZ47XX 429 help 430 This selects support for the SD Card Controller on Ingenic JZ47xx SoCs. 431 432config MMC_SANDBOX 433 bool "Sandbox MMC support" 434 depends on SANDBOX 435 depends on BLK && DM_MMC && OF_CONTROL 436 help 437 This select a dummy sandbox MMC driver. At present this does nothing 438 other than allow sandbox to be build with MMC support. This 439 improves build coverage for sandbox and makes it easier to detect 440 MMC build errors with sandbox. 441 442config MMC_SDHCI 443 bool "Secure Digital Host Controller Interface support" 444 help 445 This selects the generic Secure Digital Host Controller Interface. 446 It is used by manufacturers such as Texas Instruments(R), Ricoh(R) 447 and Toshiba(R). Most controllers found in laptops are of this type. 448 449 If you have a controller with this interface, say Y here. 450 451 If unsure, say N. 452 453config MMC_SDHCI_IO_ACCESSORS 454 bool 455 depends on MMC_SDHCI 456 help 457 This is silent Kconfig symbol that is selected by the drivers that 458 need to overwrite SDHCI IO memory accessors. 459 460config MMC_SDHCI_SDMA 461 bool "Support SDHCI SDMA" 462 depends on MMC_SDHCI 463 help 464 This enables support for the SDMA (Single Operation DMA) defined 465 in the SD Host Controller Standard Specification Version 1.00 . 466 467config MMC_SDHCI_ADMA 468 bool "Support SDHCI ADMA2" 469 depends on MMC_SDHCI 470 select MMC_SDHCI_ADMA_HELPERS 471 help 472 This enables support for the ADMA (Advanced DMA) defined 473 in the SD Host Controller Standard Specification Version 3.00 474 475config SPL_MMC_SDHCI_ADMA 476 bool "Support SDHCI ADMA2 in SPL" 477 depends on MMC_SDHCI 478 select MMC_SDHCI_ADMA_HELPERS 479 help 480 This enables support for the ADMA (Advanced DMA) defined 481 in the SD Host Controller Standard Specification Version 3.00 in SPL. 482 483config MMC_SDHCI_ASPEED 484 bool "Aspeed SDHCI controller" 485 depends on ARCH_ASPEED 486 depends on DM_MMC 487 depends on MMC_SDHCI 488 help 489 Enables support for the Aspeed SDHCI 2.0 controller present on Aspeed 490 SoCs. This device is compatible with SD 3.0 and/or MMC 4.3 491 specifications. On the AST2600, the device is also compatible with 492 MMC 5.1 and eMMC 3.0. 493 494config MMC_SDHCI_ATMEL 495 bool "Atmel SDHCI controller support" 496 depends on ARCH_AT91 497 depends on DM_MMC && BLK && ARCH_AT91 498 depends on MMC_SDHCI 499 help 500 This enables support for the Atmel SDHCI controller, which supports 501 the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD 502 Memory Card Specification V3.0, and the SDIO V3.0 specification. 503 It is compliant with the SD Host Controller Standard V3.0 504 specification. 505 506config MMC_SDHCI_BCM2835 507 tristate "SDHCI support for the BCM2835 SD/MMC Controller" 508 depends on ARCH_BCM283X 509 depends on MMC_SDHCI 510 select MMC_SDHCI_IO_ACCESSORS 511 help 512 This selects the BCM2835 SD/MMC controller. 513 514 If you have a BCM2835 platform with SD or MMC devices, 515 say Y here. 516 517 If unsure, say N. 518 519config MMC_SDHCI_BCMSTB 520 tristate "SDHCI support for the BCMSTB SD/MMC Controller" 521 depends on MMC_SDHCI 522 help 523 This selects the Broadcom set-top box SD/MMC controller. 524 525 If you have a BCMSTB platform with SD or MMC devices, 526 say Y here. 527 528 If unsure, say N. 529 530config MMC_SDHCI_CADENCE 531 bool "SDHCI support for the Cadence SD/SDIO/eMMC controller" 532 depends on BLK && DM_MMC 533 depends on MMC_SDHCI 534 depends on OF_CONTROL 535 help 536 This selects the Cadence SD/SDIO/eMMC driver. 537 538 If you have a controller with this interface, say Y here. 539 540 If unsure, say N. 541 542config MMC_SDHCI_AM654 543 bool "SDHCI Controller on TI's Am654 devices" 544 depends on ARCH_K3 545 depends on MMC_SDHCI 546 depends on DM_MMC && OF_CONTROL && BLK 547 depends on REGMAP 548 select MMC_SDHCI_IO_ACCESSORS 549 help 550 Support for Secure Digital Host Controller Interface (SDHCI) 551 controllers present on TI's AM654 SOCs. 552 553config MMC_SDHCI_IPROC 554 bool "SDHCI support for the iProc SD/MMC Controller" 555 depends on MMC_SDHCI 556 help 557 This selects the iProc SD/MMC controller. 558 559 If you have a Broadcom IPROC platform with SD or MMC devices, 560 say Y or M here. 561 562 If unsure, say N. 563 564config MMC_SDHCI_KONA 565 bool "SDHCI support on Broadcom KONA platform" 566 depends on MMC_SDHCI 567 help 568 This selects the Broadcom Kona Secure Digital Host Controller 569 Interface(SDHCI) support. 570 This is used in Broadcom mobile SoCs. 571 572 If you have a controller with this interface, say Y here. 573 574config MMC_SDHCI_MSM 575 bool "Qualcomm SDHCI controller" 576 depends on BLK && DM_MMC 577 depends on MMC_SDHCI 578 help 579 Enables support for SDHCI 2.0 controller present on some Qualcomm 580 Snapdragon devices. This device is compatible with eMMC v4.5 and 581 SD 3.0 specifications. Both SD and eMMC devices are supported. 582 Card-detect gpios are not supported. 583 584config MMC_SDHCI_MV 585 bool "SDHCI support on Marvell platform" 586 depends on ARCH_MVEBU 587 depends on MMC_SDHCI 588 help 589 This selects the Secure Digital Host Controller Interface on 590 Marvell platform. 591 592 If you have a controller with this interface, say Y here. 593 594 If unsure, say N. 595 596config MMC_SDHCI_PIC32 597 bool "Microchip PIC32 on-chip SDHCI support" 598 depends on DM_MMC && MACH_PIC32 599 depends on MMC_SDHCI 600 help 601 Support for Microchip PIC32 SDHCI controller. 602 603config MMC_SDHCI_ROCKCHIP 604 bool "Arasan SDHCI controller for Rockchip support" 605 depends on ARCH_ROCKCHIP 606 depends on DM_MMC && BLK 607 depends on MMC_SDHCI 608 help 609 Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform 610 611config MMC_SDHCI_S5P 612 bool "SDHCI support on Samsung S5P SoC" 613 depends on MMC_SDHCI 614 help 615 This selects the Secure Digital Host Controller Interface (SDHCI) 616 on Samsung S5P SoCs. 617 618 If you have a controller with this interface, say Y here. 619 620 If unsure, say N. 621 622config MMC_SDHCI_SPEAR 623 bool "SDHCI support on ST SPEAr platform" 624 depends on MMC_SDHCI 625 help 626 This selects the Secure Digital Host Controller Interface (SDHCI) 627 often referrered to as the HSMMC block in some of the ST SPEAR range 628 of SoC 629 630 If you have a controller with this interface, say Y here. 631 632 If unsure, say N. 633 634config MMC_SDHCI_STI 635 bool "SDHCI support for STMicroelectronics SoC" 636 depends on MMC_SDHCI && OF_CONTROL 637 help 638 This selects the Secure Digital Host Controller Interface (SDHCI) 639 on STMicroelectronics STiH410 SoC. 640 641config MMC_SDHCI_XENON 642 bool "SDHCI support for the Xenon SDHCI controller" 643 depends on MMC_SDHCI && DM_MMC && OF_CONTROL 644 help 645 Support for Xenon SDHCI host controller on Marvell Armada 3700 646 7k/8k ARM SoCs platforms 647 648 If you have a controller with this interface, say Y here. 649 650 If unsure, say N. 651 652config MMC_SDHCI_TANGIER 653 bool "Tangier SDHCI controller support" 654 depends on DM_MMC && BLK 655 depends on MMC_SDHCI 656 help 657 This selects support for SDHCI controller on Tanginer 658 SoC. Note that this controller does not sit on PCI bus and, 659 hence, cannot be enumerated by standard PCI means. 660 661 If you're using an Intel Tangier SoC (available on Intel 662 Edison board), say Y here. 663 664 If unsure, say N. 665 666config MMC_SDHCI_TEGRA 667 bool "SDHCI platform support for the Tegra SD/MMC Controller" 668 depends on ARCH_TEGRA 669 select BOUNCE_BUFFER 670 default y 671 help 672 This selects the Tegra SD/MMC controller. If you have a Tegra 673 platform with SD or MMC devices, say Y here. 674 675 If unsure, say N. 676 677config TEGRA124_MMC_DISABLE_EXT_LOOPBACK 678 bool "Disable external clock loopback" 679 depends on MMC_SDHCI_TEGRA && TEGRA124 680 help 681 Disable the external clock loopback and use the internal one on SDMMC3 682 as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits 683 being set to 0xfffd according to the TRM. 684 685 TODO(marcel.ziswiler@toradex.com): Move to device tree controlled 686 approach once proper kernel integration made it mainline. 687 688config MMC_SDHCI_ZYNQ 689 bool "Arasan SDHCI controller support" 690 depends on DM_MMC && OF_CONTROL && BLK 691 depends on MMC_SDHCI 692 help 693 Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform 694 695config ZYNQ_SDHCI_MAX_FREQ 696 int "Set the maximum frequency of the controller" 697 depends on MMC_SDHCI_ZYNQ 698 help 699 Set the maximum frequency of the controller. 700 701config ZYNQ_SDHCI_MIN_FREQ 702 int "Set the minimum frequency of the controller" 703 depends on MMC_SDHCI_ZYNQ 704 default 0 705 help 706 Set the minimum frequency of the controller. 707 708config ZYNQ_HISPD_BROKEN 709 bool "High speed broken for Zynq SDHCI controller" 710 depends on MMC_SDHCI_ZYNQ 711 help 712 Set if high speed mode is broken. 713 714config MMC_SUNXI 715 bool "Allwinner sunxi SD/MMC Host Controller support" 716 depends on ARCH_SUNXI && !UART0_PORT_F 717 default y 718 help 719 This selects support for the SD/MMC Host Controller on 720 Allwinner sunxi SoCs. 721 722config MMC_SUNXI_HAS_NEW_MODE 723 bool 724 depends on MMC_SUNXI 725 726config MMC_SUNXI_HAS_MODE_SWITCH 727 bool 728 depends on MMC_SUNXI 729 730config GENERIC_ATMEL_MCI 731 bool "Atmel Multimedia Card Interface support" 732 depends on DM_MMC && BLK && ARCH_AT91 733 help 734 This enables support for Atmel High Speed Multimedia Card Interface 735 (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3, 736 the SD Memory Card Specification V2.0, the SDIO V2.0 specification 737 and CE-ATA V1.1. 738 739config STM32_SDMMC2 740 bool "STMicroelectronics STM32H7 SD/MMC Host Controller support" 741 depends on DM_MMC && BLK && OF_CONTROL 742 help 743 This selects support for the SD/MMC controller on STM32H7 SoCs. 744 If you have a board based on such a SoC and with a SD/MMC slot, 745 say Y or M here. 746 747config FTSDC010 748 bool "Ftsdc010 SD/MMC controller Support" 749 help 750 This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP. 751 752config FTSDC010_SDIO 753 bool "Support ftsdc010 sdio" 754 default n 755 depends on FTSDC010 756 help 757 This can enable ftsdc010 sdio function. 758 759config MMC_MTK 760 bool "MediaTek SD/MMC Card Interface support" 761 depends on ARCH_MEDIATEK || ARCH_MTMIPS 762 depends on BLK && DM_MMC 763 depends on OF_CONTROL 764 help 765 This selects the MediaTek(R) Secure digital and Multimedia card Interface. 766 If you have a machine with a integrated SD/MMC card reader, say Y or M here. 767 This is needed if support for any SD/SDIO/MMC devices is required. 768 If unsure, say N. 769 770endif 771 772config FSL_ESDHC 773 bool "Freescale/NXP eSDHC controller support" 774 help 775 This selects support for the eSDHC (Enhanced Secure Digital Host 776 Controller) found on numerous Freescale/NXP SoCs. 777 778config FSL_ESDHC_SUPPORT_ADMA2 779 bool "enable ADMA2 support" 780 depends on FSL_ESDHC 781 select MMC_SDHCI_ADMA_HELPERS 782 help 783 This enables support for the ADMA2 transfer mode. If supported by the 784 eSDHC it will allow 64bit DMA addresses. 785 786config FSL_ESDHC_33V_IO_RELIABILITY_WORKAROUND 787 bool "enable eSDHC workaround for 3.3v IO reliability issue" 788 depends on FSL_ESDHC && DM_MMC 789 default n 790 help 791 When eSDHC operates at 3.3v, damage can accumulate in an internal 792 level shifter at a higher than expected rate. The faster the interface 793 runs, the more damage accumulates. This issue now is found on LX2160A 794 eSDHC1 for only SD card. The hardware workaround is recommended to use 795 an on-board level shifter that is 1.8v on SoC side and 3.3v on SD card 796 side. For boards without hardware workaround, this option could be 797 enabled, ensuring 1.8v IO voltage and disabling eSDHC if no card. 798 This option assumes no hotplug, and u-boot has to make all the way to 799 to linux to use 1.8v UHS-I speed mode if has card. 800 801config FSL_ESDHC_VS33_NOT_SUPPORT 802 bool "3.3V power supply not supported" 803 depends on FSL_ESDHC 804 help 805 For eSDHC, power supply is through peripheral circuit. 3.3V support is 806 common. Select this if 3.3V power supply not supported. 807 808config FSL_ESDHC_IMX 809 bool "Freescale/NXP i.MX eSDHC controller support" 810 help 811 This selects support for the i.MX eSDHC (Enhanced Secure Digital Host 812 Controller) found on numerous Freescale/NXP SoCs. 813 814config FSL_USDHC 815 bool "Freescale/NXP i.MX uSDHC controller support" 816 depends on MX6 || MX7 ||ARCH_MX7ULP || IMX8 || IMX8M || IMXRT 817 select FSL_ESDHC_IMX 818 help 819 This enables the Ultra Secured Digital Host Controller enhancements 820 821endmenu 822 823config SYS_FSL_ERRATUM_ESDHC111 824 bool 825 826config SYS_FSL_ERRATUM_ESDHC13 827 bool 828 829config SYS_FSL_ERRATUM_ESDHC135 830 bool 831 832config SYS_FSL_ERRATUM_ESDHC_A001 833 bool 834 835config SYS_FSL_ERRATUM_A011334 836 bool 837 838config SYS_FSL_ESDHC_UNRELIABLE_PULSE_DETECTION_WORKAROUND 839 bool 840