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