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