1# SPDX-License-Identifier: GPL-2.0-only 2# 3# MMC/SD host controller drivers 4# 5 6comment "MMC/SD/SDIO Host Controller Drivers" 7 8config MMC_DEBUG 9 bool "MMC host drivers debugging" 10 depends on MMC != n 11 help 12 This is an option for use by developers; most people should 13 say N here. This enables MMC host driver debugging. And further 14 added host drivers please don't invent their private macro for 15 debugging. 16 17config MMC_ARMMMCI 18 tristate "ARM AMBA Multimedia Card Interface support" 19 depends on ARM_AMBA 20 help 21 This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card 22 Interface (PL180 and PL181) support. If you have an ARM(R) 23 platform with a Multimedia Card slot, say Y or M here. 24 25 If unsure, say N. 26 27config MMC_QCOM_DML 28 bool "Qualcomm Data Mover for SD Card Controller" 29 depends on MMC_ARMMMCI && QCOM_BAM_DMA 30 default y 31 help 32 This selects the Qualcomm Data Mover lite/local on SD Card controller. 33 This option will enable the dma to work correctly, if you are using 34 Qcom SOCs and MMC, you would probably need this option to get DMA working. 35 36 if unsure, say N. 37 38config MMC_STM32_SDMMC 39 bool "STMicroelectronics STM32 SDMMC Controller" 40 depends on MMC_ARMMMCI 41 default y 42 help 43 This selects the STMicroelectronics STM32 SDMMC host controller. 44 If you have a STM32 sdmmc host with internal DMA say Y here. 45 46 If unsure, say N. 47 48config MMC_PXA 49 tristate "Intel PXA25x/26x/27x Multimedia Card Interface support" 50 depends on ARCH_PXA 51 help 52 This selects the Intel(R) PXA(R) Multimedia card Interface. 53 If you have a PXA(R) platform with a Multimedia Card slot, 54 say Y or M here. 55 56 If unsure, say N. 57 58config MMC_SDHCI 59 tristate "Secure Digital Host Controller Interface support" 60 depends on HAS_DMA 61 help 62 This selects the generic Secure Digital Host Controller Interface. 63 It is used by manufacturers such as Texas Instruments(R), Ricoh(R) 64 and Toshiba(R). Most controllers found in laptops are of this type. 65 66 If you have a controller with this interface, say Y or M here. You 67 also need to enable an appropriate bus interface. 68 69 If unsure, say N. 70 71config MMC_SDHCI_IO_ACCESSORS 72 bool 73 depends on MMC_SDHCI 74 help 75 This is silent Kconfig symbol that is selected by the drivers that 76 need to overwrite SDHCI IO memory accessors. 77 78config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER 79 bool 80 depends on MMC_SDHCI 81 select MMC_SDHCI_IO_ACCESSORS 82 help 83 This option is selected by drivers running on big endian hosts 84 and performing I/O to a SDHCI controller through a bus that 85 implements a hardware byte swapper using a 32-bit datum. 86 This endian mapping mode is called "data invariance" and 87 has the effect of scrambling the addresses and formats of data 88 accessed in sizes other than the datum size. 89 90 This is the case for the Nintendo Wii SDHCI. 91 92config MMC_SDHCI_PCI 93 tristate "SDHCI support on PCI bus" 94 depends on MMC_SDHCI && PCI 95 select MMC_CQHCI 96 select IOSF_MBI if X86 97 help 98 This selects the PCI Secure Digital Host Controller Interface. 99 Most controllers found today are PCI devices. 100 101 If you have a controller with this interface, say Y or M here. 102 103 If unsure, say N. 104 105config MMC_RICOH_MMC 106 bool "Ricoh MMC Controller Disabler" 107 depends on MMC_SDHCI_PCI 108 default y 109 help 110 This adds a pci quirk to disable Ricoh MMC Controller. This 111 proprietary controller is unnecessary because the SDHCI driver 112 supports MMC cards on the SD controller, but if it is not 113 disabled, it will steal the MMC cards away - rendering them 114 useless. It is safe to select this even if you don't 115 have a Ricoh based card reader. 116 117 If unsure, say Y. 118 119config MMC_SDHCI_ACPI 120 tristate "SDHCI support for ACPI enumerated SDHCI controllers" 121 depends on MMC_SDHCI && ACPI && PCI 122 select IOSF_MBI if X86 123 help 124 This selects support for ACPI enumerated SDHCI controllers, 125 identified by ACPI Compatibility ID PNP0D40 or specific 126 ACPI Hardware IDs. 127 128 If you have a controller with this interface, say Y or M here. 129 130 If unsure, say N. 131 132config MMC_SDHCI_PLTFM 133 tristate "SDHCI platform and OF driver helper" 134 depends on MMC_SDHCI 135 help 136 This selects the common helper functions support for Secure Digital 137 Host Controller Interface based platform and OF drivers. 138 139 If you have a controller with this interface, say Y or M here. 140 141 If unsure, say N. 142 143config MMC_SDHCI_OF_ARASAN 144 tristate "SDHCI OF support for the Arasan SDHCI controllers" 145 depends on MMC_SDHCI_PLTFM 146 depends on OF 147 depends on COMMON_CLK 148 select MMC_CQHCI 149 help 150 This selects the Arasan Secure Digital Host Controller Interface 151 (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC. 152 153 If you have a controller with this interface, say Y or M here. 154 155 If unsure, say N. 156 157config MMC_SDHCI_OF_ASPEED 158 tristate "SDHCI OF support for the ASPEED SDHCI controller" 159 depends on MMC_SDHCI_PLTFM 160 depends on OF && OF_ADDRESS 161 help 162 This selects the ASPEED Secure Digital Host Controller Interface. 163 164 If you have a controller with this interface, say Y or M here. You 165 also need to enable an appropriate bus interface. 166 167 If unsure, say N. 168 169config MMC_SDHCI_OF_AT91 170 tristate "SDHCI OF support for the Atmel SDMMC controller" 171 depends on MMC_SDHCI_PLTFM 172 depends on OF 173 help 174 This selects the Atmel SDMMC driver 175 176config MMC_SDHCI_OF_ESDHC 177 tristate "SDHCI OF support for the Freescale eSDHC controller" 178 depends on MMC_SDHCI_PLTFM 179 depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE 180 select MMC_SDHCI_IO_ACCESSORS 181 select FSL_GUTS 182 help 183 This selects the Freescale eSDHC controller support. 184 185 If you have a controller with this interface, say Y or M here. 186 187 If unsure, say N. 188 189config MMC_SDHCI_OF_HLWD 190 tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers" 191 depends on MMC_SDHCI_PLTFM 192 depends on PPC 193 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER 194 help 195 This selects the Secure Digital Host Controller Interface (SDHCI) 196 found in the "Hollywood" chipset of the Nintendo Wii video game 197 console. 198 199 If you have a controller with this interface, say Y or M here. 200 201 If unsure, say N. 202 203config MMC_SDHCI_OF_DWCMSHC 204 tristate "SDHCI OF support for the Synopsys DWC MSHC" 205 depends on MMC_SDHCI_PLTFM 206 depends on OF 207 depends on COMMON_CLK 208 help 209 This selects Synopsys DesignWare Cores Mobile Storage Controller 210 support. 211 If you have a controller with this interface, say Y or M here. 212 If unsure, say N. 213 214config MMC_SDHCI_CADENCE 215 tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller" 216 depends on MMC_SDHCI_PLTFM 217 depends on OF 218 help 219 This selects the Cadence SD/SDIO/eMMC driver. 220 221 If you have a controller with this interface, say Y or M here. 222 223 If unsure, say N. 224 225config MMC_SDHCI_CNS3XXX 226 tristate "SDHCI support on the Cavium Networks CNS3xxx SoC" 227 depends on ARCH_CNS3XXX 228 depends on MMC_SDHCI_PLTFM 229 help 230 This selects the SDHCI support for CNS3xxx System-on-Chip devices. 231 232 If you have a controller with this interface, say Y or M here. 233 234 If unsure, say N. 235 236config MMC_SDHCI_ESDHC_IMX 237 tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller" 238 depends on ARCH_MXC 239 depends on MMC_SDHCI_PLTFM 240 select MMC_SDHCI_IO_ACCESSORS 241 select MMC_CQHCI 242 help 243 This selects the Freescale eSDHC/uSDHC controller support 244 found on i.MX25, i.MX35 i.MX5x and i.MX6x. 245 246 If you have a controller with this interface, say Y or M here. 247 248 If unsure, say N. 249 250config MMC_SDHCI_DOVE 251 tristate "SDHCI support on Marvell's Dove SoC" 252 depends on ARCH_DOVE || MACH_DOVE 253 depends on MMC_SDHCI_PLTFM 254 select MMC_SDHCI_IO_ACCESSORS 255 help 256 This selects the Secure Digital Host Controller Interface in 257 Marvell's Dove SoC. 258 259 If you have a controller with this interface, say Y or M here. 260 261 If unsure, say N. 262 263config MMC_SDHCI_TEGRA 264 tristate "SDHCI platform support for the Tegra SD/MMC Controller" 265 depends on ARCH_TEGRA 266 depends on MMC_SDHCI_PLTFM 267 select MMC_SDHCI_IO_ACCESSORS 268 select MMC_CQHCI 269 help 270 This selects the Tegra SD/MMC controller. If you have a Tegra 271 platform with SD or MMC devices, say Y or M here. 272 273 If unsure, say N. 274 275config MMC_SDHCI_S3C 276 tristate "SDHCI support on Samsung S3C SoC" 277 depends on MMC_SDHCI && PLAT_SAMSUNG 278 help 279 This selects the Secure Digital Host Controller Interface (SDHCI) 280 often referrered to as the HSMMC block in some of the Samsung S3C 281 range of SoC. 282 283 If you have a controller with this interface, say Y or M here. 284 285 If unsure, say N. 286 287config MMC_SDHCI_SIRF 288 tristate "SDHCI support on CSR SiRFprimaII and SiRFmarco SoCs" 289 depends on ARCH_SIRF 290 depends on MMC_SDHCI_PLTFM 291 select MMC_SDHCI_IO_ACCESSORS 292 help 293 This selects the SDHCI support for SiRF System-on-Chip devices. 294 295 If you have a controller with this interface, say Y or M here. 296 297 If unsure, say N. 298 299config MMC_SDHCI_PXAV3 300 tristate "Marvell MMP2 SD Host Controller support (PXAV3)" 301 depends on CLKDEV_LOOKUP 302 depends on MMC_SDHCI_PLTFM 303 depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST 304 default CPU_MMP2 305 help 306 This selects the Marvell(R) PXAV3 SD Host Controller. 307 If you have a MMP2 platform with SD Host Controller 308 and a card slot, say Y or M here. 309 310 If unsure, say N. 311 312config MMC_SDHCI_PXAV2 313 tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" 314 depends on CLKDEV_LOOKUP 315 depends on MMC_SDHCI_PLTFM 316 depends on ARCH_MMP || COMPILE_TEST 317 default CPU_PXA910 318 help 319 This selects the Marvell(R) PXAV2 SD Host Controller. 320 If you have a PXA9XX platform with SD Host Controller 321 and a card slot, say Y or M here. 322 323 If unsure, say N. 324 325config MMC_SDHCI_SPEAR 326 tristate "SDHCI support on ST SPEAr platform" 327 depends on MMC_SDHCI && PLAT_SPEAR 328 depends on OF 329 help 330 This selects the Secure Digital Host Controller Interface (SDHCI) 331 often referrered to as the HSMMC block in some of the ST SPEAR range 332 of SoC 333 334 If you have a controller with this interface, say Y or M here. 335 336 If unsure, say N. 337 338config MMC_SDHCI_S3C_DMA 339 bool "DMA support on S3C SDHCI" 340 depends on MMC_SDHCI_S3C 341 help 342 Enable DMA support on the Samsung S3C SDHCI glue. The DMA 343 has proved to be problematic if the controller encounters 344 certain errors, and thus should be treated with care. 345 346 YMMV. 347 348config MMC_SDHCI_BCM_KONA 349 tristate "SDHCI support on Broadcom KONA platform" 350 depends on ARCH_BCM_MOBILE 351 depends on MMC_SDHCI_PLTFM 352 help 353 This selects the Broadcom Kona Secure Digital Host Controller 354 Interface(SDHCI) support. 355 This is used in Broadcom mobile SoCs. 356 357 If you have a controller with this interface, say Y or M here. 358 359config MMC_SDHCI_F_SDH30 360 tristate "SDHCI support for Fujitsu Semiconductor F_SDH30" 361 depends on MMC_SDHCI_PLTFM 362 depends on OF || ACPI 363 help 364 This selects the Secure Digital Host Controller Interface (SDHCI) 365 Needed by some Fujitsu SoC for MMC / SD / SDIO support. 366 If you have a controller with this interface, say Y or M here. 367 368 If unsure, say N. 369 370config MMC_SDHCI_IPROC 371 tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller" 372 depends on ARCH_BCM2835 || ARCH_BCM_IPROC || COMPILE_TEST 373 depends on MMC_SDHCI_PLTFM 374 depends on OF || ACPI 375 default ARCH_BCM_IPROC 376 select MMC_SDHCI_IO_ACCESSORS 377 help 378 This selects the iProc SD/MMC controller. 379 380 If you have a BCM2835 or IPROC platform with SD or MMC devices, 381 say Y or M here. 382 383 If unsure, say N. 384 385config MMC_MESON_GX 386 tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support" 387 depends on ARCH_MESON && MMC 388 help 389 This selects support for the Amlogic SD/MMC Host Controller 390 found on the S905/GX*/AXG family of SoCs. This controller is 391 MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces. 392 393 If you have a controller with this interface, say Y here. 394 395config MMC_MESON_MX_SDIO 396 tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support" 397 depends on ARCH_MESON || COMPILE_TEST 398 depends on COMMON_CLK 399 depends on OF 400 help 401 This selects support for the SD/MMC Host Controller on 402 Amlogic Meson6, Meson8 and Meson8b SoCs. 403 404 If you have a controller with this interface, say Y or M here. 405 If unsure, say N. 406 407config MMC_MOXART 408 tristate "MOXART SD/MMC Host Controller support" 409 depends on ARCH_MOXART && MMC 410 help 411 This selects support for the MOXART SD/MMC Host Controller. 412 MOXA provides one multi-functional card reader which can 413 be found on some embedded hardware such as UC-7112-LX. 414 If you have a controller with this interface, say Y here. 415 416config MMC_SDHCI_ST 417 tristate "SDHCI support on STMicroelectronics SoC" 418 depends on ARCH_STI || FSP2 419 depends on MMC_SDHCI_PLTFM 420 select MMC_SDHCI_IO_ACCESSORS 421 help 422 This selects the Secure Digital Host Controller Interface in 423 STMicroelectronics SoCs. 424 425 If you have a controller with this interface, say Y or M here. 426 If unsure, say N. 427 428config MMC_OMAP 429 tristate "TI OMAP Multimedia Card Interface support" 430 depends on ARCH_OMAP 431 depends on TPS65010 || !MACH_OMAP_H2 432 help 433 This selects the TI OMAP Multimedia card Interface. 434 If you have an OMAP board with a Multimedia Card slot, 435 say Y or M here. 436 437 If unsure, say N. 438 439config MMC_OMAP_HS 440 tristate "TI OMAP High Speed Multimedia Card Interface support" 441 depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST 442 help 443 This selects the TI OMAP High Speed Multimedia card Interface. 444 If you have an omap2plus board with a Multimedia Card slot, 445 say Y or M here. 446 447 If unsure, say N. 448 449config MMC_WBSD 450 tristate "Winbond W83L51xD SD/MMC Card Interface support" 451 depends on ISA_DMA_API 452 help 453 This selects the Winbond(R) W83L51xD Secure digital and 454 Multimedia card Interface. 455 If you have a machine with a integrated W83L518D or W83L519D 456 SD/MMC card reader, say Y or M here. 457 458 If unsure, say N. 459 460config MMC_ALCOR 461 tristate "Alcor Micro/Alcor Link SD/MMC controller" 462 depends on MISC_ALCOR_PCI 463 help 464 Say Y here to include driver code to support SD/MMC card interface 465 of Alcor Micro PCI-E card reader 466 467config MMC_AU1X 468 tristate "Alchemy AU1XX0 MMC Card Interface support" 469 depends on MIPS_ALCHEMY 470 help 471 This selects the AMD Alchemy(R) Multimedia card interface. 472 If you have a Alchemy platform with a MMC slot, say Y or M here. 473 474 If unsure, say N. 475 476config MMC_ATMELMCI 477 tristate "Atmel SD/MMC Driver (Multimedia Card Interface)" 478 depends on ARCH_AT91 479 help 480 This selects the Atmel Multimedia Card Interface driver. 481 If you have an AT91 platform with a Multimedia Card slot, 482 say Y or M here. 483 484 If unsure, say N. 485 486config MMC_SDHCI_MSM 487 tristate "Qualcomm SDHCI Controller Support" 488 depends on ARCH_QCOM || (ARM && COMPILE_TEST) 489 depends on MMC_SDHCI_PLTFM 490 select MMC_SDHCI_IO_ACCESSORS 491 help 492 This selects the Secure Digital Host Controller Interface (SDHCI) 493 support present in Qualcomm SOCs. The controller supports 494 SD/MMC/SDIO devices. 495 496 If you have a controller with this interface, say Y or M here. 497 498 If unsure, say N. 499 500config MMC_MXC 501 tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support" 502 depends on ARCH_MXC || PPC_MPC512x 503 help 504 This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x 505 Multimedia Card Interface. If you have an i.MX or MPC512x platform 506 with a Multimedia Card slot, say Y or M here. 507 508 If unsure, say N. 509 510config MMC_MXS 511 tristate "Freescale MXS Multimedia Card Interface support" 512 depends on ARCH_MXS && MXS_DMA 513 help 514 This selects the Freescale SSP MMC controller found on MXS based 515 platforms like mx23/28. 516 517 If unsure, say N. 518 519config MMC_TIFM_SD 520 tristate "TI Flash Media MMC/SD Interface support" 521 depends on PCI 522 select TIFM_CORE 523 help 524 Say Y here if you want to be able to access MMC/SD cards with 525 the Texas Instruments(R) Flash Media card reader, found in many 526 laptops. 527 This option 'selects' (turns on, enables) 'TIFM_CORE', but you 528 probably also need appropriate card reader host adapter, such as 529 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support 530 (TIFM_7XX1)'. 531 532 To compile this driver as a module, choose M here: the 533 module will be called tifm_sd. 534 535config MMC_MVSDIO 536 tristate "Marvell MMC/SD/SDIO host driver" 537 depends on PLAT_ORION 538 depends on OF 539 ---help--- 540 This selects the Marvell SDIO host driver. 541 SDIO may currently be found on the Kirkwood 88F6281 and 88F6192 542 SoC controllers. 543 544 To compile this driver as a module, choose M here: the 545 module will be called mvsdio. 546 547config MMC_DAVINCI 548 tristate "TI DAVINCI Multimedia Card Interface support" 549 depends on ARCH_DAVINCI 550 help 551 This selects the TI DAVINCI Multimedia card Interface. 552 If you have an DAVINCI board with a Multimedia Card slot, 553 say Y or M here. If unsure, say N. 554 555config MMC_GOLDFISH 556 tristate "goldfish qemu Multimedia Card Interface support" 557 depends on GOLDFISH || COMPILE_TEST 558 help 559 This selects the Goldfish Multimedia card Interface emulation 560 found on the Goldfish Android virtual device emulation. 561 562config MMC_SPI 563 tristate "MMC/SD/SDIO over SPI" 564 depends on SPI_MASTER && HAS_DMA 565 select CRC7 566 select CRC_ITU_T 567 help 568 Some systems access MMC/SD/SDIO cards using a SPI controller 569 instead of using a "native" MMC/SD/SDIO controller. This has a 570 disadvantage of being relatively high overhead, but a compensating 571 advantage of working on many systems without dedicated MMC/SD/SDIO 572 controllers. 573 574 If unsure, or if your system has no SPI master driver, say N. 575 576config MMC_S3C 577 tristate "Samsung S3C SD/MMC Card Interface support" 578 depends on ARCH_S3C24XX 579 depends on S3C24XX_DMAC 580 help 581 This selects a driver for the MCI interface found in 582 Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs. 583 If you have a board based on one of those and a MMC/SD 584 slot, say Y or M here. 585 586 If unsure, say N. 587 588config MMC_S3C_HW_SDIO_IRQ 589 bool "Hardware support for SDIO IRQ" 590 depends on MMC_S3C 591 help 592 Enable the hardware support for SDIO interrupts instead of using 593 the generic polling code. 594 595choice 596 prompt "Samsung S3C SD/MMC transfer code" 597 depends on MMC_S3C 598 599config MMC_S3C_PIO 600 bool "Use PIO transfers only" 601 help 602 Use PIO to transfer data between memory and the hardware. 603 604 PIO is slower than DMA as it requires CPU instructions to 605 move the data. This has been the traditional default for 606 the S3C MCI driver. 607 608config MMC_S3C_DMA 609 bool "Use DMA transfers only" 610 help 611 Use DMA to transfer data between memory and the hardare. 612 613 Currently, the DMA support in this driver seems to not be 614 working properly and needs to be debugged before this 615 option is useful. 616 617endchoice 618 619config MMC_SDRICOH_CS 620 tristate "MMC/SD driver for Ricoh Bay1Controllers" 621 depends on PCI && PCMCIA 622 help 623 Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA 624 card whenever you insert a MMC or SD card into the card slot. 625 626 To compile this driver as a module, choose M here: the 627 module will be called sdricoh_cs. 628 629config MMC_SDHCI_SPRD 630 tristate "Spreadtrum SDIO host Controller" 631 depends on ARCH_SPRD 632 depends on MMC_SDHCI_PLTFM 633 select MMC_SDHCI_IO_ACCESSORS 634 help 635 This selects the SDIO Host Controller in Spreadtrum 636 SoCs, this driver supports R11(IP version: R11P0). 637 638 If you have a controller with this interface, say Y or M here. 639 640 If unsure, say N. 641 642config MMC_TMIO_CORE 643 tristate 644 645config MMC_TMIO 646 tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support" 647 depends on MFD_TMIO || MFD_ASIC3 648 select MMC_TMIO_CORE 649 help 650 This provides support for the SD/MMC cell found in TC6393XB, 651 T7L66XB and also HTC ASIC3 652 653config MMC_SDHI 654 tristate "Renesas SDHI SD/SDIO controller support" 655 depends on SUPERH || ARCH_RENESAS || COMPILE_TEST 656 select MMC_TMIO_CORE 657 help 658 This provides support for the SDHI SD/SDIO controller found in 659 Renesas SuperH, ARM and ARM64 based SoCs 660 661config MMC_SDHI_SYS_DMAC 662 tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC" 663 depends on MMC_SDHI 664 default MMC_SDHI if (SUPERH || ARM) 665 help 666 This provides DMA support for SDHI SD/SDIO controllers 667 using SYS-DMAC via DMA Engine. This supports the controllers 668 found in SuperH and Renesas ARM based SoCs. 669 670config MMC_SDHI_INTERNAL_DMAC 671 tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering" 672 depends on ARM64 || ARCH_R7S9210 || ARCH_R8A77470 || COMPILE_TEST 673 depends on MMC_SDHI 674 default MMC_SDHI if (ARM64 || ARCH_R7S9210 || ARCH_R8A77470) 675 help 676 This provides DMA support for SDHI SD/SDIO controllers 677 using on-chip bus mastering. This supports the controllers 678 found in arm64 based SoCs. This controller is also found in 679 some RZ family SoCs. 680 681config MMC_UNIPHIER 682 tristate "UniPhier SD/eMMC Host Controller support" 683 depends on ARCH_UNIPHIER || COMPILE_TEST 684 depends on OF 685 select MMC_TMIO_CORE 686 help 687 This provides support for the SD/eMMC controller found in 688 UniPhier SoCs. The eMMC variant of this controller is used 689 only for 32-bit SoCs. 690 691config MMC_CB710 692 tristate "ENE CB710 MMC/SD Interface support" 693 depends on PCI 694 select CB710_CORE 695 help 696 This option enables support for MMC/SD part of ENE CB710/720 Flash 697 memory card reader found in some laptops (ie. some versions of 698 HP Compaq nx9500). 699 700 This driver can also be built as a module. If so, the module 701 will be called cb710-mmc. 702 703config MMC_VIA_SDMMC 704 tristate "VIA SD/MMC Card Reader Driver" 705 depends on PCI 706 help 707 This selects the VIA SD/MMC Card Reader driver, say Y or M here. 708 VIA provides one multi-functional card reader which integrated into 709 some motherboards manufactured by VIA. This card reader supports 710 SD/MMC/SDHC. 711 If you have a controller with this interface, say Y or M here. 712 713 If unsure, say N. 714 715config MMC_CAVIUM_OCTEON 716 tristate "Cavium OCTEON SD/MMC Card Interface support" 717 depends on CAVIUM_OCTEON_SOC 718 help 719 This selects Cavium OCTEON SD/MMC card Interface. 720 If you have an OCTEON board with a Multimedia Card slot, 721 say Y or M here. 722 723 If unsure, say N. 724 725config MMC_CAVIUM_THUNDERX 726 tristate "Cavium ThunderX SD/MMC Card Interface support" 727 depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) 728 depends on GPIO_THUNDERX 729 depends on OF_ADDRESS 730 help 731 This selects Cavium ThunderX SD/MMC Card Interface. 732 If you have an Cavium ARM64 board with a Multimedia Card slot 733 or builtin eMMC chip say Y or M here. If built as a module 734 the module will be called thunderx_mmc.ko. 735 736config MMC_DW 737 tristate "Synopsys DesignWare Memory Card Interface" 738 depends on ARC || ARM || ARM64 || MIPS || COMPILE_TEST 739 help 740 This selects support for the Synopsys DesignWare Mobile Storage IP 741 block, this provides host support for SD and MMC interfaces, in both 742 PIO, internal DMA mode and external DMA mode. 743 744config MMC_DW_PLTFM 745 tristate "Synopsys Designware MCI Support as platform device" 746 depends on MMC_DW 747 default y 748 help 749 This selects the common helper functions support for Host Controller 750 Interface based platform driver. Please select this option if the IP 751 is present as a platform device. This is the common interface for the 752 Synopsys Designware IP. 753 754 If you have a controller with this interface, say Y or M here. 755 756 If unsure, say Y. 757 758config MMC_DW_BLUEFIELD 759 tristate "BlueField specific extensions for Synopsys DW Memory Card Interface" 760 depends on MMC_DW 761 select MMC_DW_PLTFM 762 help 763 This selects support for Mellanox BlueField SoC specific extensions to 764 the Synopsys DesignWare Memory Card Interface driver. Select this 765 option for platforms based on Mellanox BlueField SoC's. 766 767config MMC_DW_EXYNOS 768 tristate "Exynos specific extensions for Synopsys DW Memory Card Interface" 769 depends on MMC_DW 770 select MMC_DW_PLTFM 771 help 772 This selects support for Samsung Exynos SoC specific extensions to the 773 Synopsys DesignWare Memory Card Interface driver. Select this option 774 for platforms based on Exynos4 and Exynos5 SoC's. 775 776config MMC_DW_HI3798CV200 777 tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface" 778 depends on MMC_DW 779 select MMC_DW_PLTFM 780 help 781 This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the 782 Synopsys DesignWare Memory Card Interface driver. Select this option 783 for platforms based on HiSilicon Hi3798CV200 SoC. 784 785config MMC_DW_K3 786 tristate "K3 specific extensions for Synopsys DW Memory Card Interface" 787 depends on MMC_DW 788 select MMC_DW_PLTFM 789 help 790 This selects support for Hisilicon K3 SoC specific extensions to the 791 Synopsys DesignWare Memory Card Interface driver. Select this option 792 for platforms based on Hisilicon K3 SoC's. 793 794config MMC_DW_PCI 795 tristate "Synopsys Designware MCI support on PCI bus" 796 depends on MMC_DW && PCI 797 help 798 This selects the PCI bus for the Synopsys Designware Mobile Storage IP. 799 Select this option if the IP is present on PCI platform. 800 801 If you have a controller with this interface, say Y or M here. 802 803 If unsure, say N. 804 805config MMC_DW_ROCKCHIP 806 tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface" 807 depends on MMC_DW && ARCH_ROCKCHIP 808 select MMC_DW_PLTFM 809 help 810 This selects support for Rockchip SoC specific extensions to the 811 Synopsys DesignWare Memory Card Interface driver. Select this option 812 for platforms based on RK3066, RK3188 and RK3288 SoC's. 813 814config MMC_DW_ZX 815 tristate "ZTE specific extensions for Synopsys DW Memory Card Interface" 816 depends on MMC_DW && ARCH_ZX 817 select MMC_DW_PLTFM 818 help 819 This selects support for ZTE SoC specific extensions to the 820 Synopsys DesignWare Memory Card Interface driver. Select this option 821 for platforms based on ZX296718 SoC's. 822 823config MMC_SH_MMCIF 824 tristate "SuperH Internal MMCIF support" 825 depends on SUPERH || ARCH_RENESAS || COMPILE_TEST 826 help 827 This selects the MMC Host Interface controller (MMCIF) found in various 828 Renesas SoCs for SH and ARM architectures. 829 830 831config MMC_JZ4740 832 tristate "Ingenic JZ47xx SD/Multimedia Card Interface support" 833 depends on MIPS 834 help 835 This selects support for the SD/MMC controller on Ingenic 836 JZ4740, JZ4750, JZ4770 and JZ4780 SoCs. 837 838 If you have a board based on such a SoC and with a SD/MMC slot, 839 say Y or M here. 840 841config MMC_VUB300 842 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support" 843 depends on USB 844 help 845 This selects support for Elan Digital Systems' VUB300 chip. 846 847 The VUB300 is a USB-SDIO Host Controller Interface chip 848 that enables the host computer to use SDIO/SD/MMC cards 849 via a USB 2.0 or USB 1.1 host. 850 851 The VUB300 chip will be found in both physically separate 852 USB to SDIO/SD/MMC adapters and embedded on some motherboards. 853 854 The VUB300 chip supports SD and MMC memory cards in addition 855 to single and multifunction SDIO cards. 856 857 Some SDIO cards will need a firmware file to be loaded and 858 sent to VUB300 chip in order to achieve better data throughput. 859 Download these "Offload Pseudocode" from Elan Digital Systems' 860 web-site http://www.elandigitalsystems.com/support/downloads.php 861 and put them in /lib/firmware. Note that without these additional 862 firmware files the VUB300 chip will still function, but not at 863 the best obtainable data rate. 864 865 To compile this mmc host controller driver as a module, 866 choose M here: the module will be called vub300. 867 868 If you have a computer with an embedded VUB300 chip 869 or if you intend connecting a USB adapter based on a 870 VUB300 chip say Y or M here. 871 872config MMC_USHC 873 tristate "USB SD Host Controller (USHC) support" 874 depends on USB 875 help 876 This selects support for USB SD Host Controllers based on 877 the Cypress Astoria chip with firmware compliant with CSR's 878 USB SD Host Controller specification (CS-118793-SP). 879 880 CSR boards with this device include: USB<>SDIO (M1985v2), 881 and Ultrasira. 882 883 Note: These controllers only support SDIO cards and do not 884 support MMC or SD memory cards. 885 886config MMC_WMT 887 tristate "Wondermedia SD/MMC Host Controller support" 888 depends on ARCH_VT8500 889 default y 890 help 891 This selects support for the SD/MMC Host Controller on 892 Wondermedia WM8505/WM8650 based SoCs. 893 894 To compile this driver as a module, choose M here: the 895 module will be called wmt-sdmmc. 896 897config MMC_USDHI6ROL0 898 tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support" 899 depends on HAS_DMA 900 help 901 This selects support for the Renesas USDHI6ROL0 SD/SDIO 902 Host Controller 903 904config MMC_REALTEK_PCI 905 tristate "Realtek PCI-E SD/MMC Card Interface Driver" 906 depends on MISC_RTSX_PCI 907 help 908 Say Y here to include driver code to support SD/MMC card interface 909 of Realtek PCI-E card reader 910 911config MMC_REALTEK_USB 912 tristate "Realtek USB SD/MMC Card Interface Driver" 913 depends on MISC_RTSX_USB 914 help 915 Say Y here to include driver code to support SD/MMC card interface 916 of Realtek RTS5129/39 series card reader 917 918config MMC_SUNXI 919 tristate "Allwinner sunxi SD/MMC Host Controller support" 920 depends on ARCH_SUNXI 921 help 922 This selects support for the SD/MMC Host Controller on 923 Allwinner sunxi SoCs. 924 925config MMC_CQHCI 926 tristate "Command Queue Host Controller Interface support" 927 depends on HAS_DMA 928 help 929 This selects the Command Queue Host Controller Interface (CQHCI) 930 support present in host controllers of Qualcomm Technologies, Inc 931 amongst others. 932 This controller supports eMMC devices with command queue support. 933 934 If you have a controller with this interface, say Y or M here. 935 936 If unsure, say N. 937 938config MMC_TOSHIBA_PCI 939 tristate "Toshiba Type A SD/MMC Card Interface Driver" 940 depends on PCI 941 942config MMC_BCM2835 943 tristate "Broadcom BCM2835 SDHOST MMC Controller support" 944 depends on ARCH_BCM2835 || COMPILE_TEST 945 help 946 This selects the BCM2835 SDHOST MMC controller. If you have 947 a BCM2835 platform with SD or MMC devices, say Y or M here. 948 949 Note that the BCM2835 has two SD controllers: The Arasan 950 sdhci controller (supported by MMC_SDHCI_IPROC) and a custom 951 sdhost controller (supported by this driver). 952 953 If unsure, say N. 954 955config MMC_MTK 956 tristate "MediaTek SD/MMC Card Interface support" 957 depends on HAS_DMA 958 select REGULATOR 959 help 960 This selects the MediaTek(R) Secure digital and Multimedia card Interface. 961 If you have a machine with a integrated SD/MMC card reader, say Y or M here. 962 This is needed if support for any SD/SDIO/MMC devices is required. 963 If unsure, say N. 964 965config MMC_SDHCI_MICROCHIP_PIC32 966 tristate "Microchip PIC32MZDA SDHCI support" 967 depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM 968 help 969 This selects the Secure Digital Host Controller Interface (SDHCI) 970 for PIC32MZDA platform. 971 972 If you have a controller with this interface, say Y or M here. 973 974 If unsure, say N. 975 976config MMC_SDHCI_BRCMSTB 977 tristate "Broadcom SDIO/SD/MMC support" 978 depends on ARCH_BRCMSTB || BMIPS_GENERIC 979 depends on MMC_SDHCI_PLTFM 980 default y 981 help 982 This selects support for the SDIO/SD/MMC Host Controller on 983 Broadcom STB SoCs. 984 985 If unsure, say Y. 986 987config MMC_SDHCI_XENON 988 tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver" 989 depends on MMC_SDHCI_PLTFM 990 help 991 This selects Marvell Xenon eMMC/SD/SDIO SDHCI. 992 If you have a controller with this interface, say Y or M here. 993 If unsure, say N. 994 995config MMC_SDHCI_OMAP 996 tristate "TI SDHCI Controller Support" 997 depends on MMC_SDHCI_PLTFM && OF 998 select THERMAL 999 imply TI_SOC_THERMAL 1000 help 1001 This selects the Secure Digital Host Controller Interface (SDHCI) 1002 support present in TI's DRA7 SOCs. The controller supports 1003 SD/MMC/SDIO devices. 1004 1005 If you have a controller with this interface, say Y or M here. 1006 1007 If unsure, say N. 1008 1009config MMC_SDHCI_AM654 1010 tristate "Support for the SDHCI Controller in TI's AM654 SOCs" 1011 depends on MMC_SDHCI_PLTFM && OF && REGMAP_MMIO 1012 select MMC_SDHCI_IO_ACCESSORS 1013 help 1014 This selects the Secure Digital Host Controller Interface (SDHCI) 1015 support present in TI's AM654 SOCs. The controller supports 1016 SD/MMC/SDIO devices. 1017 1018 If you have a controller with this interface, say Y or M here. 1019 1020 If unsure, say N. 1021