1# 2# MMC/SD host controller drivers 3# 4 5comment "MMC/SD/SDIO Host Controller Drivers" 6 7config MMC_ARMMMCI 8 tristate "ARM AMBA Multimedia Card Interface support" 9 depends on ARM_AMBA 10 help 11 This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card 12 Interface (PL180 and PL181) support. If you have an ARM(R) 13 platform with a Multimedia Card slot, say Y or M here. 14 15 If unsure, say N. 16 17config MMC_PXA 18 tristate "Intel PXA25x/26x/27x Multimedia Card Interface support" 19 depends on ARCH_PXA 20 help 21 This selects the Intel(R) PXA(R) Multimedia card Interface. 22 If you have a PXA(R) platform with a Multimedia Card slot, 23 say Y or M here. 24 25 If unsure, say N. 26 27config MMC_SDHCI 28 tristate "Secure Digital Host Controller Interface support" 29 depends on HAS_DMA 30 help 31 This selects the generic Secure Digital Host Controller Interface. 32 It is used by manufacturers such as Texas Instruments(R), Ricoh(R) 33 and Toshiba(R). Most controllers found in laptops are of this type. 34 35 If you have a controller with this interface, say Y or M here. You 36 also need to enable an appropriate bus interface. 37 38 If unsure, say N. 39 40config MMC_SDHCI_IO_ACCESSORS 41 bool 42 depends on MMC_SDHCI 43 help 44 This is silent Kconfig symbol that is selected by the drivers that 45 need to overwrite SDHCI IO memory accessors. 46 47config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER 48 bool 49 select MMC_SDHCI_IO_ACCESSORS 50 help 51 This option is selected by drivers running on big endian hosts 52 and performing I/O to a SDHCI controller through a bus that 53 implements a hardware byte swapper using a 32-bit datum. 54 This endian mapping mode is called "data invariance" and 55 has the effect of scrambling the addresses and formats of data 56 accessed in sizes other than the datum size. 57 58 This is the case for the Freescale eSDHC and Nintendo Wii SDHCI. 59 60config MMC_SDHCI_PCI 61 tristate "SDHCI support on PCI bus" 62 depends on MMC_SDHCI && PCI 63 help 64 This selects the PCI Secure Digital Host Controller Interface. 65 Most controllers found today are PCI devices. 66 67 If you have a controller with this interface, say Y or M here. 68 69 If unsure, say N. 70 71config MMC_RICOH_MMC 72 bool "Ricoh MMC Controller Disabler" 73 depends on MMC_SDHCI_PCI 74 help 75 This adds a pci quirk to disable Ricoh MMC Controller. This 76 proprietary controller is unnecessary because the SDHCI driver 77 supports MMC cards on the SD controller, but if it is not 78 disabled, it will steal the MMC cards away - rendering them 79 useless. It is safe to select this even if you don't 80 have a Ricoh based card reader. 81 82 If unsure, say Y. 83 84config MMC_SDHCI_ACPI 85 tristate "SDHCI support for ACPI enumerated SDHCI controllers" 86 depends on MMC_SDHCI && ACPI 87 help 88 This selects support for ACPI enumerated SDHCI controllers, 89 identified by ACPI Compatibility ID PNP0D40 or specific 90 ACPI Hardware IDs. 91 92 If you have a controller with this interface, say Y or M here. 93 94 If unsure, say N. 95 96config MMC_SDHCI_PLTFM 97 tristate "SDHCI platform and OF driver helper" 98 depends on MMC_SDHCI 99 help 100 This selects the common helper functions support for Secure Digital 101 Host Controller Interface based platform and OF drivers. 102 103 If you have a controller with this interface, say Y or M here. 104 105 If unsure, say N. 106 107config MMC_SDHCI_OF_ESDHC 108 tristate "SDHCI OF support for the Freescale eSDHC controller" 109 depends on MMC_SDHCI_PLTFM 110 depends on PPC_OF 111 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER 112 help 113 This selects the Freescale eSDHC controller support. 114 115 If you have a controller with this interface, say Y or M here. 116 117 If unsure, say N. 118 119config MMC_SDHCI_OF_HLWD 120 tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers" 121 depends on MMC_SDHCI_PLTFM 122 depends on PPC_OF 123 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER 124 help 125 This selects the Secure Digital Host Controller Interface (SDHCI) 126 found in the "Hollywood" chipset of the Nintendo Wii video game 127 console. 128 129 If you have a controller with this interface, say Y or M here. 130 131 If unsure, say N. 132 133config MMC_SDHCI_CNS3XXX 134 tristate "SDHCI support on the Cavium Networks CNS3xxx SoC" 135 depends on ARCH_CNS3XXX 136 depends on MMC_SDHCI_PLTFM 137 help 138 This selects the SDHCI support for CNS3xxx System-on-Chip devices. 139 140 If you have a controller with this interface, say Y or M here. 141 142 If unsure, say N. 143 144config MMC_SDHCI_ESDHC_IMX 145 tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller" 146 depends on ARCH_MXC 147 depends on MMC_SDHCI_PLTFM 148 select MMC_SDHCI_IO_ACCESSORS 149 help 150 This selects the Freescale eSDHC/uSDHC controller support 151 found on i.MX25, i.MX35 i.MX5x and i.MX6x. 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_DOVE 158 tristate "SDHCI support on Marvell's Dove SoC" 159 depends on ARCH_DOVE 160 depends on MMC_SDHCI_PLTFM 161 select MMC_SDHCI_IO_ACCESSORS 162 help 163 This selects the Secure Digital Host Controller Interface in 164 Marvell's Dove SoC. 165 166 If you have a controller with this interface, say Y or M here. 167 168 If unsure, say N. 169 170config MMC_SDHCI_TEGRA 171 tristate "SDHCI platform support for the Tegra SD/MMC Controller" 172 depends on ARCH_TEGRA 173 depends on MMC_SDHCI_PLTFM 174 select MMC_SDHCI_IO_ACCESSORS 175 help 176 This selects the Tegra SD/MMC controller. If you have a Tegra 177 platform with SD or MMC devices, say Y or M here. 178 179 If unsure, say N. 180 181config MMC_SDHCI_S3C 182 tristate "SDHCI support on Samsung S3C SoC" 183 depends on MMC_SDHCI && PLAT_SAMSUNG 184 help 185 This selects the Secure Digital Host Controller Interface (SDHCI) 186 often referrered to as the HSMMC block in some of the Samsung S3C 187 range of SoC. 188 189 If you have a controller with this interface, say Y or M here. 190 191 If unsure, say N. 192 193config MMC_SDHCI_PXAV3 194 tristate "Marvell MMP2 SD Host Controller support (PXAV3)" 195 depends on CLKDEV_LOOKUP 196 select MMC_SDHCI 197 select MMC_SDHCI_PLTFM 198 default CPU_MMP2 199 help 200 This selects the Marvell(R) PXAV3 SD Host Controller. 201 If you have a MMP2 platform with SD Host Controller 202 and a card slot, say Y or M here. 203 204 If unsure, say N. 205 206config MMC_SDHCI_PXAV2 207 tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" 208 depends on CLKDEV_LOOKUP 209 select MMC_SDHCI 210 select MMC_SDHCI_PLTFM 211 default CPU_PXA910 212 help 213 This selects the Marvell(R) PXAV2 SD Host Controller. 214 If you have a PXA9XX platform with SD Host Controller 215 and a card slot, say Y or M here. 216 217 If unsure, say N. 218 219config MMC_SDHCI_SPEAR 220 tristate "SDHCI support on ST SPEAr platform" 221 depends on MMC_SDHCI && PLAT_SPEAR 222 help 223 This selects the Secure Digital Host Controller Interface (SDHCI) 224 often referrered to as the HSMMC block in some of the ST SPEAR range 225 of SoC 226 227 If you have a controller with this interface, say Y or M here. 228 229 If unsure, say N. 230 231config MMC_SDHCI_S3C_DMA 232 bool "DMA support on S3C SDHCI" 233 depends on MMC_SDHCI_S3C 234 help 235 Enable DMA support on the Samsung S3C SDHCI glue. The DMA 236 has proved to be problematic if the controller encounters 237 certain errors, and thus should be treated with care. 238 239 YMMV. 240 241config MMC_SDHCI_BCM2835 242 tristate "SDHCI platform support for the BCM2835 SD/MMC Controller" 243 depends on ARCH_BCM2835 244 depends on MMC_SDHCI_PLTFM 245 select MMC_SDHCI_IO_ACCESSORS 246 help 247 This selects the BCM2835 SD/MMC controller. If you have a BCM2835 248 platform with SD or MMC devices, say Y or M here. 249 250 If unsure, say N. 251 252config MMC_OMAP 253 tristate "TI OMAP Multimedia Card Interface support" 254 depends on ARCH_OMAP 255 select TPS65010 if MACH_OMAP_H2 256 help 257 This selects the TI OMAP Multimedia card Interface. 258 If you have an OMAP board with a Multimedia Card slot, 259 say Y or M here. 260 261 If unsure, say N. 262 263config MMC_OMAP_HS 264 tristate "TI OMAP High Speed Multimedia Card Interface support" 265 depends on SOC_OMAP2430 || ARCH_OMAP3 || ARCH_OMAP4 266 help 267 This selects the TI OMAP High Speed Multimedia card Interface. 268 If you have an OMAP2430 or OMAP3 board or OMAP4 board with a 269 Multimedia Card slot, say Y or M here. 270 271 If unsure, say N. 272 273config MMC_WBSD 274 tristate "Winbond W83L51xD SD/MMC Card Interface support" 275 depends on ISA_DMA_API 276 help 277 This selects the Winbond(R) W83L51xD Secure digital and 278 Multimedia card Interface. 279 If you have a machine with a integrated W83L518D or W83L519D 280 SD/MMC card reader, say Y or M here. 281 282 If unsure, say N. 283 284config MMC_AU1X 285 tristate "Alchemy AU1XX0 MMC Card Interface support" 286 depends on MIPS_ALCHEMY 287 help 288 This selects the AMD Alchemy(R) Multimedia card interface. 289 If you have a Alchemy platform with a MMC slot, say Y or M here. 290 291 If unsure, say N. 292 293config MMC_ATMELMCI 294 tristate "Atmel SD/MMC Driver (Multimedia Card Interface)" 295 depends on AVR32 || ARCH_AT91 296 help 297 This selects the Atmel Multimedia Card Interface driver. If 298 you have an AT32 (AVR32) or AT91 platform with a Multimedia 299 Card slot, say Y or M here. 300 301 If unsure, say N. 302 303config MMC_ATMELMCI_DMA 304 bool "Atmel MCI DMA support" 305 depends on MMC_ATMELMCI && (AVR32 || ARCH_AT91SAM9G45) && DMA_ENGINE 306 help 307 Say Y here to have the Atmel MCI driver use a DMA engine to 308 do data transfers and thus increase the throughput and 309 reduce the CPU utilization. 310 311 If unsure, say N. 312 313config MMC_MSM 314 tristate "Qualcomm SDCC Controller Support" 315 depends on MMC && ARCH_MSM 316 help 317 This provides support for the SD/MMC cell found in the 318 MSM and QSD SOCs from Qualcomm. The controller also has 319 support for SDIO devices. 320 321config MMC_MXC 322 tristate "Freescale i.MX21/27/31 Multimedia Card Interface support" 323 depends on ARCH_MXC 324 help 325 This selects the Freescale i.MX21, i.MX27 and i.MX31 Multimedia card 326 Interface. If you have a i.MX platform with a Multimedia Card slot, 327 say Y or M here. 328 329 If unsure, say N. 330 331config MMC_MXS 332 tristate "Freescale MXS Multimedia Card Interface support" 333 depends on ARCH_MXS && MXS_DMA 334 help 335 This selects the Freescale SSP MMC controller found on MXS based 336 platforms like mx23/28. 337 338 If unsure, say N. 339 340config MMC_TIFM_SD 341 tristate "TI Flash Media MMC/SD Interface support" 342 depends on PCI 343 select TIFM_CORE 344 help 345 Say Y here if you want to be able to access MMC/SD cards with 346 the Texas Instruments(R) Flash Media card reader, found in many 347 laptops. 348 This option 'selects' (turns on, enables) 'TIFM_CORE', but you 349 probably also need appropriate card reader host adapter, such as 350 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support 351 (TIFM_7XX1)'. 352 353 To compile this driver as a module, choose M here: the 354 module will be called tifm_sd. 355 356config MMC_MVSDIO 357 tristate "Marvell MMC/SD/SDIO host driver" 358 depends on PLAT_ORION 359 ---help--- 360 This selects the Marvell SDIO host driver. 361 SDIO may currently be found on the Kirkwood 88F6281 and 88F6192 362 SoC controllers. 363 364 To compile this driver as a module, choose M here: the 365 module will be called mvsdio. 366 367config MMC_DAVINCI 368 tristate "TI DAVINCI Multimedia Card Interface support" 369 depends on ARCH_DAVINCI 370 help 371 This selects the TI DAVINCI Multimedia card Interface. 372 If you have an DAVINCI board with a Multimedia Card slot, 373 say Y or M here. If unsure, say N. 374 375config MMC_GOLDFISH 376 tristate "goldfish qemu Multimedia Card Interface support" 377 depends on GOLDFISH 378 help 379 This selects the Goldfish Multimedia card Interface emulation 380 found on the Goldfish Android virtual device emulation. 381 382config MMC_SPI 383 tristate "MMC/SD/SDIO over SPI" 384 depends on SPI_MASTER && !HIGHMEM && HAS_DMA 385 select CRC7 386 select CRC_ITU_T 387 help 388 Some systems access MMC/SD/SDIO cards using a SPI controller 389 instead of using a "native" MMC/SD/SDIO controller. This has a 390 disadvantage of being relatively high overhead, but a compensating 391 advantage of working on many systems without dedicated MMC/SD/SDIO 392 controllers. 393 394 If unsure, or if your system has no SPI master driver, say N. 395 396config MMC_S3C 397 tristate "Samsung S3C SD/MMC Card Interface support" 398 depends on ARCH_S3C24XX 399 help 400 This selects a driver for the MCI interface found in 401 Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs. 402 If you have a board based on one of those and a MMC/SD 403 slot, say Y or M here. 404 405 If unsure, say N. 406 407config MMC_S3C_HW_SDIO_IRQ 408 bool "Hardware support for SDIO IRQ" 409 depends on MMC_S3C 410 help 411 Enable the hardware support for SDIO interrupts instead of using 412 the generic polling code. 413 414choice 415 prompt "Samsung S3C SD/MMC transfer code" 416 depends on MMC_S3C 417 418config MMC_S3C_PIO 419 bool "Use PIO transfers only" 420 help 421 Use PIO to transfer data between memory and the hardware. 422 423 PIO is slower than DMA as it requires CPU instructions to 424 move the data. This has been the traditional default for 425 the S3C MCI driver. 426 427config MMC_S3C_DMA 428 bool "Use DMA transfers only" 429 help 430 Use DMA to transfer data between memory and the hardare. 431 432 Currently, the DMA support in this driver seems to not be 433 working properly and needs to be debugged before this 434 option is useful. 435 436config MMC_S3C_PIODMA 437 bool "Support for both PIO and DMA" 438 help 439 Compile both the PIO and DMA transfer routines into the 440 driver and let the platform select at run-time which one 441 is best. 442 443 See notes for the DMA option. 444 445endchoice 446 447config MMC_SDRICOH_CS 448 tristate "MMC/SD driver for Ricoh Bay1Controllers" 449 depends on PCI && PCMCIA 450 help 451 Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA 452 card whenever you insert a MMC or SD card into the card slot. 453 454 To compile this driver as a module, choose M here: the 455 module will be called sdricoh_cs. 456 457config MMC_TMIO_CORE 458 tristate 459 460config MMC_TMIO 461 tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support" 462 depends on MFD_TMIO || MFD_ASIC3 463 select MMC_TMIO_CORE 464 help 465 This provides support for the SD/MMC cell found in TC6393XB, 466 T7L66XB and also HTC ASIC3 467 468config MMC_SDHI 469 tristate "SH-Mobile SDHI SD/SDIO controller support" 470 depends on SUPERH || ARCH_SHMOBILE 471 select MMC_TMIO_CORE 472 help 473 This provides support for the SDHI SD/SDIO controller found in 474 SuperH and ARM SH-Mobile SoCs 475 476config MMC_CB710 477 tristate "ENE CB710 MMC/SD Interface support" 478 depends on PCI && GENERIC_HARDIRQS 479 select CB710_CORE 480 help 481 This option enables support for MMC/SD part of ENE CB710/720 Flash 482 memory card reader found in some laptops (ie. some versions of 483 HP Compaq nx9500). 484 485 This driver can also be built as a module. If so, the module 486 will be called cb710-mmc. 487 488config MMC_VIA_SDMMC 489 tristate "VIA SD/MMC Card Reader Driver" 490 depends on PCI 491 help 492 This selects the VIA SD/MMC Card Reader driver, say Y or M here. 493 VIA provides one multi-functional card reader which integrated into 494 some motherboards manufactured by VIA. This card reader supports 495 SD/MMC/SDHC. 496 If you have a controller with this interface, say Y or M here. 497 498 If unsure, say N. 499 500config SDH_BFIN 501 tristate "Blackfin Secure Digital Host support" 502 depends on (BF54x && !BF544) || (BF51x && !BF512) 503 help 504 If you say yes here you will get support for the Blackfin on-chip 505 Secure Digital Host interface. This includes support for MMC and 506 SD cards. 507 508 To compile this driver as a module, choose M here: the 509 module will be called bfin_sdh. 510 511 If unsure, say N. 512 513config SDH_BFIN_MISSING_CMD_PULLUP_WORKAROUND 514 bool "Blackfin EZkit Missing SDH_CMD Pull Up Resistor Workaround" 515 depends on SDH_BFIN 516 help 517 If you say yes here SD-Cards may work on the EZkit. 518 519config MMC_DW 520 tristate "Synopsys DesignWare Memory Card Interface" 521 depends on ARM 522 help 523 This selects support for the Synopsys DesignWare Mobile Storage IP 524 block, this provides host support for SD and MMC interfaces, in both 525 PIO and external DMA modes. 526 527config MMC_DW_IDMAC 528 bool "Internal DMAC interface" 529 depends on MMC_DW 530 help 531 This selects support for the internal DMAC block within the Synopsys 532 Designware Mobile Storage IP block. This disables the external DMA 533 interface. 534 535config MMC_DW_PLTFM 536 tristate "Synopsys Designware MCI Support as platform device" 537 depends on MMC_DW 538 default y 539 help 540 This selects the common helper functions support for Host Controller 541 Interface based platform driver. Please select this option if the IP 542 is present as a platform device. This is the common interface for the 543 Synopsys Designware IP. 544 545 If you have a controller with this interface, say Y or M here. 546 547 If unsure, say Y. 548 549config MMC_DW_EXYNOS 550 tristate "Exynos specific extensions for Synopsys DW Memory Card Interface" 551 depends on MMC_DW 552 select MMC_DW_PLTFM 553 help 554 This selects support for Samsung Exynos SoC specific extensions to the 555 Synopsys DesignWare Memory Card Interface driver. Select this option 556 for platforms based on Exynos4 and Exynos5 SoC's. 557 558config MMC_DW_PCI 559 tristate "Synopsys Designware MCI support on PCI bus" 560 depends on MMC_DW && PCI 561 help 562 This selects the PCI bus for the Synopsys Designware Mobile Storage IP. 563 Select this option if the IP is present on PCI platform. 564 565 If you have a controller with this interface, say Y or M here. 566 567 If unsure, say N. 568 569config MMC_SH_MMCIF 570 tristate "SuperH Internal MMCIF support" 571 depends on MMC_BLOCK && (SUPERH || ARCH_SHMOBILE) 572 help 573 This selects the MMC Host Interface controller (MMCIF). 574 575 This driver supports MMCIF in sh7724/sh7757/sh7372. 576 577config MMC_JZ4740 578 tristate "JZ4740 SD/Multimedia Card Interface support" 579 depends on MACH_JZ4740 580 help 581 This selects support for the SD/MMC controller on Ingenic JZ4740 582 SoCs. 583 If you have a board based on such a SoC and with a SD/MMC slot, 584 say Y or M here. 585 586config MMC_VUB300 587 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support" 588 depends on USB 589 help 590 This selects support for Elan Digital Systems' VUB300 chip. 591 592 The VUB300 is a USB-SDIO Host Controller Interface chip 593 that enables the host computer to use SDIO/SD/MMC cards 594 via a USB 2.0 or USB 1.1 host. 595 596 The VUB300 chip will be found in both physically separate 597 USB to SDIO/SD/MMC adapters and embedded on some motherboards. 598 599 The VUB300 chip supports SD and MMC memory cards in addition 600 to single and multifunction SDIO cards. 601 602 Some SDIO cards will need a firmware file to be loaded and 603 sent to VUB300 chip in order to achieve better data throughput. 604 Download these "Offload Pseudocode" from Elan Digital Systems' 605 web-site http://www.elandigitalsystems.com/support/downloads.php 606 and put them in /lib/firmware. Note that without these additional 607 firmware files the VUB300 chip will still function, but not at 608 the best obtainable data rate. 609 610 To compile this mmc host controller driver as a module, 611 choose M here: the module will be called vub300. 612 613 If you have a computer with an embedded VUB300 chip 614 or if you intend connecting a USB adapter based on a 615 VUB300 chip say Y or M here. 616 617config MMC_USHC 618 tristate "USB SD Host Controller (USHC) support" 619 depends on USB 620 help 621 This selects support for USB SD Host Controllers based on 622 the Cypress Astoria chip with firmware compliant with CSR's 623 USB SD Host Controller specification (CS-118793-SP). 624 625 CSR boards with this device include: USB<>SDIO (M1985v2), 626 and Ultrasira. 627 628 Note: These controllers only support SDIO cards and do not 629 support MMC or SD memory cards. 630 631config MMC_WMT 632 tristate "Wondermedia SD/MMC Host Controller support" 633 depends on ARCH_VT8500 634 default y 635 help 636 This selects support for the SD/MMC Host Controller on 637 Wondermedia WM8505/WM8650 based SoCs. 638 639 To compile this driver as a module, choose M here: the 640 module will be called wmt-sdmmc. 641 642config MMC_REALTEK_PCI 643 tristate "Realtek PCI-E SD/MMC Card Interface Driver" 644 depends on MFD_RTSX_PCI 645 help 646 Say Y here to include driver code to support SD/MMC card interface 647 of Realtek PCI-E card reader 648