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