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