1104 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# MMC/SD host controller drivers4#5 6comment "MMC/SD/SDIO Host Controller Drivers"7 8config MMC_DEBUG9 bool "MMC host drivers debugging"10 depends on MMC != n11 help12 This is an option for use by developers; most people should13 say N here. This enables MMC host driver debugging. And further14 added host drivers please don't invent their private macro for15 debugging.16 17config MMC_SUNPLUS18 tristate "Sunplus SP7021 MMC Controller"19 depends on ARCH_SUNPLUS || COMPILE_TEST20 help21 If you say yes here, you will get support for eMMC host interface22 on Sunplus SoCs.23 24 If unsure, say N25 26config MMC_ARMMMCI27 tristate "ARM AMBA Multimedia Card Interface support"28 depends on ARM_AMBA29 help30 This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card31 Interface (PL180 and PL181) support. If you have an ARM(R)32 platform with a Multimedia Card slot, say Y or M here.33 34 If unsure, say N.35 36config MMC_QCOM_DML37 bool "Qualcomm Data Mover for SD Card Controller"38 depends on MMC_ARMMMCI && QCOM_BAM_DMA39 default y40 help41 This selects the Qualcomm Data Mover lite/local on SD Card controller.42 This option will enable the dma to work correctly, if you are using43 Qcom SOCs and MMC, you would probably need this option to get DMA working.44 45 if unsure, say N.46 47config MMC_STM32_SDMMC48 bool "STMicroelectronics STM32 SDMMC Controller"49 depends on MMC_ARMMMCI50 default y51 help52 This selects the STMicroelectronics STM32 SDMMC host controller.53 If you have a STM32 sdmmc host with internal DMA say Y here.54 55 If unsure, say N.56 57config MMC_PXA58 tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"59 depends on ARCH_PXA60 help61 This selects the Intel(R) PXA(R) Multimedia card Interface.62 If you have a PXA(R) platform with a Multimedia Card slot,63 say Y or M here.64 65 If unsure, say N.66 67config MMC_SDHCI68 tristate "Secure Digital Host Controller Interface support"69 depends on HAS_DMA70 help71 This selects the generic Secure Digital Host Controller Interface.72 It is used by manufacturers such as Texas Instruments(R), Ricoh(R)73 and Toshiba(R). Most controllers found in laptops are of this type.74 75 If you have a controller with this interface, say Y or M here. You76 also need to enable an appropriate bus interface.77 78 If unsure, say N.79 80config MMC_SDHCI_IO_ACCESSORS81 bool82 depends on MMC_SDHCI83 help84 This is silent Kconfig symbol that is selected by the drivers that85 need to overwrite SDHCI IO memory accessors.86 87config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER88 bool89 depends on MMC_SDHCI90 select MMC_SDHCI_IO_ACCESSORS91 help92 This option is selected by drivers running on big endian hosts93 and performing I/O to a SDHCI controller through a bus that94 implements a hardware byte swapper using a 32-bit datum.95 This endian mapping mode is called "data invariance" and96 has the effect of scrambling the addresses and formats of data97 accessed in sizes other than the datum size.98 99 This is the case for the Nintendo Wii SDHCI.100 101config MMC_SDHCI_PCI102 tristate "SDHCI support on PCI bus"103 depends on MMC_SDHCI && PCI104 select MMC_CQHCI105 select IOSF_MBI if X86106 select MMC_SDHCI_IO_ACCESSORS107 help108 This selects the PCI Secure Digital Host Controller Interface.109 Most controllers found today are PCI devices.110 111 If you have a controller with this interface, say Y or M here.112 113 If unsure, say N.114 115config MMC_RICOH_MMC116 bool "Ricoh MMC Controller Disabler"117 depends on MMC_SDHCI_PCI118 default y119 help120 This adds a pci quirk to disable Ricoh MMC Controller. This121 proprietary controller is unnecessary because the SDHCI driver122 supports MMC cards on the SD controller, but if it is not123 disabled, it will steal the MMC cards away - rendering them124 useless. It is safe to select this even if you don't125 have a Ricoh based card reader.126 127 If unsure, say Y.128 129config MMC_SDHCI_ACPI130 tristate "SDHCI support for ACPI enumerated SDHCI controllers"131 depends on MMC_SDHCI && ACPI && PCI132 select IOSF_MBI if X86133 help134 This selects support for ACPI enumerated SDHCI controllers,135 identified by ACPI Compatibility ID PNP0D40 or specific136 ACPI Hardware IDs.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_PLTFM143 tristate "SDHCI platform and OF driver helper"144 depends on MMC_SDHCI145 help146 This selects the common helper functions support for Secure Digital147 Host Controller Interface based platform and OF drivers.148 149 If you have a controller with this interface, say Y or M here.150 151 If unsure, say N.152 153config MMC_SDHCI_OF_ARASAN154 tristate "SDHCI OF support for the Arasan SDHCI controllers"155 depends on MMC_SDHCI_PLTFM156 depends on OF157 depends on COMMON_CLK158 select MMC_CQHCI159 help160 This selects the Arasan Secure Digital Host Controller Interface161 (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC.162 163 If you have a controller with this interface, say Y or M here.164 165 If unsure, say N.166 167config MMC_SDHCI_OF_ASPEED168 tristate "SDHCI OF support for the ASPEED SDHCI controller"169 depends on ARCH_ASPEED || COMPILE_TEST170 depends on MMC_SDHCI_PLTFM171 depends on OF && OF_ADDRESS172 select MMC_SDHCI_IO_ACCESSORS173 help174 This selects the ASPEED Secure Digital Host Controller Interface.175 176 If you have a controller with this interface, say Y or M here. You177 also need to enable an appropriate bus interface.178 179 If unsure, say N.180 181config MMC_SDHCI_OF_ASPEED_TEST182 bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS183 depends on MMC_SDHCI_OF_ASPEED && KUNIT184 depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)185 default KUNIT_ALL_TESTS186 help187 Enable KUnit tests for the ASPEED SDHCI driver. Select this188 option only if you will boot the kernel for the purpose of running189 unit tests (e.g. under UML or qemu).190 191 The KUnit tests generally exercise parts of the driver that do not192 directly touch the hardware, for example, the phase correction193 calculations.194 195 If unsure, say N.196 197config MMC_SDHCI_OF_AT91198 tristate "SDHCI OF support for the Atmel SDMMC controller"199 depends on MMC_SDHCI_PLTFM200 depends on OF && HAVE_CLK201 help202 This selects the Atmel SDMMC driver203 204config MMC_SDHCI_OF_ESDHC205 tristate "SDHCI OF support for the Freescale eSDHC controller"206 depends on MMC_SDHCI_PLTFM207 depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST208 select MMC_SDHCI_IO_ACCESSORS209 select FSL_GUTS210 help211 This selects the Freescale eSDHC controller support.212 213 If you have a controller with this interface, say Y or M here.214 215 If unsure, say N.216 217config MMC_SDHCI_OF_HLWD218 tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers"219 depends on MMC_SDHCI_PLTFM220 depends on PPC221 select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER222 help223 This selects the Secure Digital Host Controller Interface (SDHCI)224 found in the "Hollywood" chipset of the Nintendo Wii video game225 console.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_OF_DWCMSHC232 tristate "SDHCI OF support for the Synopsys DWC MSHC"233 depends on MMC_SDHCI_PLTFM234 depends on OF235 depends on COMMON_CLK236 select MMC_CQHCI237 help238 This selects Synopsys DesignWare Cores Mobile Storage Controller239 support.240 If you have a controller with this interface, say Y or M here.241 If unsure, say N.242 243config MMC_SDHCI_OF_SPARX5244 tristate "SDHCI OF support for the MCHP Sparx5 SoC"245 depends on MMC_SDHCI_PLTFM246 depends on ARCH_SPARX5 || COMPILE_TEST247 help248 This selects the Secure Digital Host Controller Interface (SDHCI)249 found in the MCHP Sparx5 SoC.250 251 If you have a Sparx5 SoC with this interface, say Y or M here.252 253 If unsure, say N.254 255config MMC_SDHCI_OF_MA35D1256 tristate "SDHCI OF support for the MA35D1 SDHCI controller"257 depends on ARCH_MA35 || COMPILE_TEST258 depends on MMC_SDHCI_PLTFM259 help260 This selects the MA35D1 Secure Digital Host Controller Interface.261 The controller supports SD/MMC/SDIO devices.262 263 If you have a controller with this interface, say Y or M here.264 265 If unsure, say N.266 267config MMC_SDHCI_CADENCE268 tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller"269 depends on MMC_SDHCI_PLTFM270 depends on OF271 select MMC_SDHCI_IO_ACCESSORS272 help273 This selects the Cadence SD/SDIO/eMMC driver.274 275 If you have a controller with this interface, say Y or M here.276 277 If unsure, say N.278 279config MMC_SDHCI_ESDHC_MCF280 tristate "SDHCI support for the Freescale eSDHC ColdFire controller"281 depends on M5441x282 depends on MMC_SDHCI_PLTFM283 select MMC_SDHCI_IO_ACCESSORS284 help285 This selects the Freescale eSDHC controller support for286 ColdFire mcf5441x devices.287 288 If you have a controller with this interface, say Y or M here.289 290 If unsure, say N.291 292config MMC_SDHCI_ESDHC_IMX293 tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"294 depends on ARCH_MXC || COMPILE_TEST295 depends on MMC_SDHCI_PLTFM296 depends on OF297 select MMC_SDHCI_IO_ACCESSORS298 select MMC_CQHCI299 help300 This selects the Freescale eSDHC/uSDHC controller support301 found on i.MX25, i.MX35 i.MX5x and i.MX6x.302 303 If you have a controller with this interface, say Y or M here.304 305 If unsure, say N.306 307config MMC_SDHCI_DOVE308 tristate "SDHCI support on Marvell's Dove SoC"309 depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST310 depends on MMC_SDHCI_PLTFM311 select MMC_SDHCI_IO_ACCESSORS312 help313 This selects the Secure Digital Host Controller Interface in314 Marvell's Dove SoC.315 316 If you have a controller with this interface, say Y or M here.317 318 If unsure, say N.319 320config MMC_SDHCI_TEGRA321 tristate "SDHCI platform support for the Tegra SD/MMC Controller"322 depends on ARCH_TEGRA || COMPILE_TEST323 depends on MMC_SDHCI_PLTFM324 select MMC_SDHCI_IO_ACCESSORS325 select MMC_CQHCI326 help327 This selects the Tegra SD/MMC controller. If you have a Tegra328 platform with SD or MMC devices, say Y or M here.329 330 If unsure, say N.331 332config MMC_SDHCI_S3C333 tristate "SDHCI support on Samsung S3C/S5P/Exynos SoC"334 depends on MMC_SDHCI335 depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST336 help337 This selects the Secure Digital Host Controller Interface (SDHCI)338 often referrered to as the HSMMC block in some of the Samsung339 S3C6410, S5Pv210 and Exynos (Exynso4210, Exynos4412) SoCs.340 341 If you have a controller with this interface (thereforeyou build for342 such Samsung SoC), say Y or M here.343 344 If unsure, say N.345 346config MMC_SDHCI_PXAV3347 tristate "Marvell MMP2 SD Host Controller support (PXAV3)"348 depends on HAVE_CLK349 depends on MMC_SDHCI_PLTFM350 depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST351 default CPU_MMP2352 help353 This selects the Marvell(R) PXAV3 SD Host Controller.354 If you have a MMP2 platform with SD Host Controller355 and a card slot, say Y or M here.356 357 If unsure, say N.358 359config MMC_SDHCI_PXAV2360 tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"361 depends on HAVE_CLK362 depends on MMC_SDHCI_PLTFM363 depends on ARCH_MMP || COMPILE_TEST364 default CPU_PXA910365 select MMC_SDHCI_IO_ACCESSORS366 help367 This selects the Marvell(R) PXAV2 SD Host Controller.368 If you have a PXA9XX platform with SD Host Controller369 and a card slot, say Y or M here.370 371 If unsure, say N.372 373config MMC_SDHCI_SPEAR374 tristate "SDHCI support on ST SPEAr platform"375 depends on MMC_SDHCI376 depends on PLAT_SPEAR || COMPILE_TEST377 depends on OF378 help379 This selects the Secure Digital Host Controller Interface (SDHCI)380 often referrered to as the HSMMC block in some of the ST SPEAR range381 of SoC382 383 If you have a controller with this interface, say Y or M here.384 385 If unsure, say N.386 387config MMC_SDHCI_S3C_DMA388 bool "DMA support on S3C SDHCI"389 depends on MMC_SDHCI_S3C390 help391 Enable DMA support on the Samsung S3C SDHCI glue. The DMA392 has proved to be problematic if the controller encounters393 certain errors, and thus should be treated with care.394 395 YMMV.396 397config MMC_SDHCI_BCM_KONA398 tristate "SDHCI support on Broadcom KONA platform"399 depends on ARCH_BCM_MOBILE || COMPILE_TEST400 depends on MMC_SDHCI_PLTFM401 help402 This selects the Broadcom Kona Secure Digital Host Controller403 Interface(SDHCI) support.404 This is used in Broadcom mobile SoCs.405 406 If you have a controller with this interface, say Y or M here.407 408config MMC_SDHCI_F_SDH30409 tristate "SDHCI support for Fujitsu Semiconductor F_SDH30"410 depends on MMC_SDHCI_PLTFM411 depends on OF || ACPI412 help413 This selects the Secure Digital Host Controller Interface (SDHCI)414 Needed by some Fujitsu SoC for MMC / SD / SDIO support.415 If you have a controller with this interface, say Y or M here.416 417 If unsure, say N.418 419config MMC_SDHCI_MILBEAUT420 tristate "SDHCI support for Socionext Milbeaut Serieas using F_SDH30"421 depends on MMC_SDHCI_PLTFM422 depends on OF423 help424 This selects the Secure Digital Host Controller Interface (SDHCI)425 Needed by Milbeaut SoC for MMC / SD / SDIO support.426 If you have a controller with this interface, say Y or M here.427 428 If unsure, say N.429 430config MMC_SDHCI_IPROC431 tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller"432 depends on ARCH_BCM2835 || ARCH_BCM_IPROC || ARCH_BRCMSTB || COMPILE_TEST433 depends on MMC_SDHCI_PLTFM434 depends on OF || ACPI435 default ARCH_BCM_IPROC436 select MMC_SDHCI_IO_ACCESSORS437 help438 This selects the iProc SD/MMC controller.439 440 If you have a BCM2835 or IPROC platform with SD or MMC devices,441 say Y or M here.442 443 If unsure, say N.444 445config MMC_SDHCI_NPCM446 tristate "Secure Digital Host Controller Interface support for NPCM"447 depends on ARCH_NPCM || COMPILE_TEST448 depends on MMC_SDHCI_PLTFM449 help450 This provides support for the SD/eMMC controller found in451 NPCM BMC family SoCs.452 453config MMC_MESON_GX454 tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support"455 depends on ARCH_MESON|| COMPILE_TEST456 depends on COMMON_CLK457 help458 This selects support for the Amlogic SD/MMC Host Controller459 found on the S905/GX*/AXG family of SoCs. This controller is460 MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces.461 462 If you have a controller with this interface, say Y here.463 464config MMC_MESON_MX_SDHC465 tristate "Amlogic Meson SDHC Host Controller support"466 depends on (ARM && ARCH_MESON) || COMPILE_TEST467 depends on COMMON_CLK468 depends on OF469 help470 This selects support for the SDHC Host Controller on471 Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs.472 The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x473 with 1, 4, and 8 bit bus widths.474 475 If you have a controller with this interface, say Y or M here.476 If unsure, say N.477 478config MMC_MESON_MX_SDIO479 tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support"480 depends on ARCH_MESON || COMPILE_TEST481 depends on COMMON_CLK482 depends on OF_ADDRESS483 help484 This selects support for the SD/MMC Host Controller on485 Amlogic Meson6, Meson8 and Meson8b SoCs.486 487 If you have a controller with this interface, say Y or M here.488 If unsure, say N.489 490config MMC_MOXART491 tristate "MOXART SD/MMC Host Controller support"492 depends on ARCH_MOXART || COMPILE_TEST493 help494 This selects support for the MOXART SD/MMC Host Controller.495 MOXA provides one multi-functional card reader which can496 be found on some embedded hardware such as UC-7112-LX.497 If you have a controller with this interface, say Y here.498 499config MMC_SDHCI_ST500 tristate "SDHCI support on STMicroelectronics SoC"501 depends on ARCH_STI || FSP2 || COMPILE_TEST502 depends on MMC_SDHCI_PLTFM503 select MMC_SDHCI_IO_ACCESSORS504 help505 This selects the Secure Digital Host Controller Interface in506 STMicroelectronics SoCs.507 508 If you have a controller with this interface, say Y or M here.509 If unsure, say N.510 511config MMC_OMAP512 tristate "TI OMAP Multimedia Card Interface support"513 depends on ARCH_OMAP514 help515 This selects the TI OMAP Multimedia card Interface.516 If you have an OMAP board with a Multimedia Card slot,517 say Y or M here.518 519 If unsure, say N.520 521config MMC_OMAP_HS522 tristate "TI OMAP High Speed Multimedia Card Interface support"523 depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST524 help525 This selects the TI OMAP High Speed Multimedia card Interface.526 If you have an omap2plus board with a Multimedia Card slot,527 say Y or M here.528 529 If unsure, say N.530 531config MMC_WBSD532 tristate "Winbond W83L51xD SD/MMC Card Interface support"533 depends on ISA_DMA_API534 help535 This selects the Winbond(R) W83L51xD Secure digital and536 Multimedia card Interface.537 If you have a machine with a integrated W83L518D or W83L519D538 SD/MMC card reader, say Y or M here.539 540 If unsure, say N.541 542config MMC_ALCOR543 tristate "Alcor Micro/Alcor Link SD/MMC controller"544 depends on MISC_ALCOR_PCI545 help546 Say Y here to include driver code to support SD/MMC card interface547 of Alcor Micro PCI-E card reader548 549config MMC_AU1X550 bool "Alchemy AU1XX0 MMC Card Interface support"551 depends on MIPS_ALCHEMY552 depends on MMC=y553 help554 This selects the AMD Alchemy(R) Multimedia card interface.555 If you have a Alchemy platform with a MMC slot, say Y here.556 557 If unsure, say N.558 559config MMC_ATMELMCI560 tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"561 depends on ARCH_AT91562 help563 This selects the Atmel Multimedia Card Interface driver.564 If you have an AT91 platform with a Multimedia Card slot,565 say Y or M here.566 567 If unsure, say N.568 569config MMC_SDHCI_MSM570 tristate "Qualcomm SDHCI Controller Support"571 depends on ARCH_QCOM || COMPILE_TEST572 depends on MMC_SDHCI_PLTFM573 select MMC_SDHCI_IO_ACCESSORS574 select MMC_CQHCI575 select QCOM_INLINE_CRYPTO_ENGINE if MMC_CRYPTO576 help577 This selects the Secure Digital Host Controller Interface (SDHCI)578 support present in Qualcomm SOCs. The controller supports579 SD/MMC/SDIO devices.580 581 If you have a controller with this interface, say Y or M here.582 583 If unsure, say N.584 585config MMC_MXC586 tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"587 depends on ARCH_MXC || PPC_MPC512x588 help589 This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x590 Multimedia Card Interface. If you have an i.MX or MPC512x platform591 with a Multimedia Card slot, say Y or M here.592 593 If unsure, say N.594 595config MMC_MXS596 tristate "Freescale MXS Multimedia Card Interface support"597 depends on ARCH_MXS && MXS_DMA598 help599 This selects the Freescale SSP MMC controller found on MXS based600 platforms like mx23/28.601 602 If unsure, say N.603 604config MMC_TIFM_SD605 tristate "TI Flash Media MMC/SD Interface support"606 depends on PCI607 select TIFM_CORE608 help609 Say Y here if you want to be able to access MMC/SD cards with610 the Texas Instruments(R) Flash Media card reader, found in many611 laptops.612 This option 'selects' (turns on, enables) 'TIFM_CORE', but you613 probably also need appropriate card reader host adapter, such as614 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support615 (TIFM_7XX1)'.616 617 To compile this driver as a module, choose M here: the618 module will be called tifm_sd.619 620config MMC_MVSDIO621 tristate "Marvell MMC/SD/SDIO host driver"622 depends on PLAT_ORION || (COMPILE_TEST && ARM)623 depends on OF624 help625 This selects the Marvell SDIO host driver.626 SDIO may currently be found on the Kirkwood 88F6281 and 88F6192627 SoC controllers.628 629 To compile this driver as a module, choose M here: the630 module will be called mvsdio.631 632config MMC_DAVINCI633 tristate "TI DAVINCI Multimedia Card Interface support"634 depends on ARCH_DAVINCI || COMPILE_TEST635 help636 This selects the TI DAVINCI Multimedia card Interface.637 If you have an DAVINCI board with a Multimedia Card slot,638 say Y or M here. If unsure, say N.639 640config MMC_SPI641 tristate "MMC/SD/SDIO over SPI"642 depends on SPI_MASTER643 select CRC7644 select CRC_ITU_T645 help646 Some systems access MMC/SD/SDIO cards using a SPI controller647 instead of using a "native" MMC/SD/SDIO controller. This has a648 disadvantage of being relatively high overhead, but a compensating649 advantage of working on many systems without dedicated MMC/SD/SDIO650 controllers.651 652 If unsure, or if your system has no SPI master driver, say N.653 654config MMC_SDRICOH_CS655 tristate "MMC/SD driver for Ricoh Bay1Controllers"656 depends on PCI && PCMCIA657 help658 Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA659 card whenever you insert a MMC or SD card into the card slot.660 661 To compile this driver as a module, choose M here: the662 module will be called sdricoh_cs.663 664config MMC_SDHCI_SPRD665 tristate "Spreadtrum SDIO host Controller"666 depends on ARCH_SPRD || COMPILE_TEST667 depends on MMC_SDHCI_PLTFM668 select MMC_SDHCI_IO_ACCESSORS669 select MMC_HSQ670 help671 This selects the SDIO Host Controller in Spreadtrum672 SoCs, this driver supports R11(IP version: R11P0).673 674 If you have a controller with this interface, say Y or M here.675 676 If unsure, say N.677 678config MMC_TMIO_CORE679 tristate680 681config MMC_SDHI682 tristate "Renesas SDHI SD/SDIO controller support"683 depends on SUPERH || ARCH_RENESAS || COMPILE_TEST684 select MMC_TMIO_CORE685 select RESET_CONTROLLER if ARCH_RENESAS686 help687 This provides support for the SDHI SD/SDIO controller found in688 Renesas SuperH, ARM and ARM64 based SoCs689 690config MMC_SDHI_SYS_DMAC691 tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC"692 depends on MMC_SDHI693 default MMC_SDHI if (SUPERH || ARM)694 help695 This provides DMA support for SDHI SD/SDIO controllers696 using SYS-DMAC via DMA Engine. This supports the controllers697 found in SuperH and Renesas ARM based SoCs.698 699config MMC_SDHI_INTERNAL_DMAC700 tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering"701 depends on ARCH_RENESAS || COMPILE_TEST702 depends on MMC_SDHI703 default MMC_SDHI if ARCH_RENESAS704 help705 This provides DMA support for SDHI SD/SDIO controllers706 using on-chip bus mastering. This supports the controllers707 found in arm64 based SoCs. This controller is also found in708 some RZ family SoCs.709 710config MMC_UNIPHIER711 tristate "UniPhier SD/eMMC Host Controller support"712 depends on ARCH_UNIPHIER || COMPILE_TEST713 depends on OF714 select MMC_TMIO_CORE715 help716 This provides support for the SD/eMMC controller found in717 UniPhier SoCs. The eMMC variant of this controller is used718 only for 32-bit SoCs.719 720config MMC_CB710721 tristate "ENE CB710 MMC/SD Interface support"722 depends on PCI723 select CB710_CORE724 help725 This option enables support for MMC/SD part of ENE CB710/720 Flash726 memory card reader found in some laptops (ie. some versions of727 HP Compaq nx9500).728 729 This driver can also be built as a module. If so, the module730 will be called cb710-mmc.731 732config MMC_VIA_SDMMC733 tristate "VIA SD/MMC Card Reader Driver"734 depends on PCI735 help736 This selects the VIA SD/MMC Card Reader driver, say Y or M here.737 VIA provides one multi-functional card reader which integrated into738 some motherboards manufactured by VIA. This card reader supports739 SD/MMC/SDHC.740 If you have a controller with this interface, say Y or M here.741 742 If unsure, say N.743 744config MMC_CAVIUM_OCTEON745 tristate "Cavium OCTEON SD/MMC Card Interface support"746 depends on CAVIUM_OCTEON_SOC747 help748 This selects Cavium OCTEON SD/MMC card Interface.749 If you have an OCTEON board with a Multimedia Card slot,750 say Y or M here.751 752 If unsure, say N.753 754config MMC_CAVIUM_THUNDERX755 tristate "Cavium ThunderX SD/MMC Card Interface support"756 depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)757 depends on GPIO_THUNDERX758 depends on OF_ADDRESS759 help760 This selects Cavium ThunderX SD/MMC Card Interface.761 If you have an Cavium ARM64 board with a Multimedia Card slot762 or builtin eMMC chip say Y or M here. If built as a module763 the module will be called thunderx_mmc.ko.764 765config MMC_DW766 tristate "Synopsys DesignWare Memory Card Interface"767 depends on ARC || ARM || ARM64 || MIPS || RISCV || CSKY || COMPILE_TEST768 help769 This selects support for the Synopsys DesignWare Mobile Storage IP770 block, this provides host support for SD and MMC interfaces, in both771 PIO, internal DMA mode and external DMA mode.772 773config MMC_DW_PLTFM774 tristate "Synopsys Designware MCI Support as platform device"775 depends on MMC_DW776 default y777 help778 This selects the common helper functions support for Host Controller779 Interface based platform driver. Please select this option if the IP780 is present as a platform device. This is the common interface for the781 Synopsys Designware IP.782 783 If you have a controller with this interface, say Y or M here.784 785 If unsure, say Y.786 787config MMC_DW_BLUEFIELD788 tristate "BlueField specific extensions for Synopsys DW Memory Card Interface"789 depends on MMC_DW790 select MMC_DW_PLTFM791 help792 This selects support for Mellanox BlueField SoC specific extensions to793 the Synopsys DesignWare Memory Card Interface driver. Select this794 option for platforms based on Mellanox BlueField SoC's.795 796config MMC_DW_EXYNOS797 tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"798 depends on MMC_DW799 select MMC_DW_PLTFM800 help801 This selects support for Samsung Exynos SoC specific extensions to the802 Synopsys DesignWare Memory Card Interface driver. Select this option803 for platforms based on Exynos4 and Exynos5 SoC's.804 805config MMC_DW_HI3798CV200806 tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface"807 depends on MMC_DW808 select MMC_DW_PLTFM809 help810 This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the811 Synopsys DesignWare Memory Card Interface driver. Select this option812 for platforms based on HiSilicon Hi3798CV200 SoC.813 814config MMC_DW_HI3798MV200815 tristate "Hi3798MV200 specific extensions for Synopsys DW Memory Card Interface"816 depends on MMC_DW817 select MMC_DW_PLTFM818 help819 This selects support for HiSilicon Hi3798MV200 SoC specific extensions to the820 Synopsys DesignWare Memory Card Interface driver. Select this option821 for platforms based on HiSilicon Hi3798MV200 SoC.822 823config MMC_DW_K3824 tristate "K3 specific extensions for Synopsys DW Memory Card Interface"825 depends on MMC_DW826 select MMC_DW_PLTFM827 help828 This selects support for Hisilicon K3 SoC specific extensions to the829 Synopsys DesignWare Memory Card Interface driver. Select this option830 for platforms based on Hisilicon K3 SoC's.831 832config MMC_DW_PCI833 tristate "Synopsys Designware MCI support on PCI bus"834 depends on MMC_DW && PCI835 help836 This selects the PCI bus for the Synopsys Designware Mobile Storage IP.837 Select this option if the IP is present on PCI platform.838 839 If you have a controller with this interface, say Y or M here.840 841 If unsure, say N.842 843config MMC_DW_ROCKCHIP844 tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface"845 depends on MMC_DW && ARCH_ROCKCHIP846 select MMC_DW_PLTFM847 help848 This selects support for Rockchip SoC specific extensions to the849 Synopsys DesignWare Memory Card Interface driver. Select this option850 for platforms based on RK3066, RK3188 and RK3288 SoC's.851 852config MMC_DW_STARFIVE853 tristate "StarFive specific extensions for Synopsys DW Memory Card Interface"854 depends on SOC_STARFIVE855 depends on MMC_DW856 select MMC_DW_PLTFM857 help858 This selects support for StarFive JH7110 SoC specific extensions to the859 Synopsys DesignWare Memory Card Interface driver. Select this option860 for platforms based on StarFive JH7110 SoC.861 862config MMC_SH_MMCIF863 tristate "SuperH Internal MMCIF support"864 depends on SUPERH || ARCH_RENESAS || COMPILE_TEST865 help866 This selects the MMC Host Interface controller (MMCIF) found in various867 Renesas SoCs for SH and ARM architectures.868 869 870config MMC_JZ4740871 tristate "Ingenic JZ47xx SD/Multimedia Card Interface support"872 depends on MIPS873 help874 This selects support for the SD/MMC controller on Ingenic875 JZ4740, JZ4750, JZ4770 and JZ4780 SoCs.876 877 If you have a board based on such a SoC and with a SD/MMC slot,878 say Y or M here.879 880config MMC_VUB300881 tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"882 depends on USB883 help884 This selects support for Elan Digital Systems' VUB300 chip.885 886 The VUB300 is a USB-SDIO Host Controller Interface chip887 that enables the host computer to use SDIO/SD/MMC cards888 via a USB 2.0 or USB 1.1 host.889 890 The VUB300 chip will be found in both physically separate891 USB to SDIO/SD/MMC adapters and embedded on some motherboards.892 893 The VUB300 chip supports SD and MMC memory cards in addition894 to single and multifunction SDIO cards.895 896 Some SDIO cards will need a firmware file to be loaded and897 sent to VUB300 chip in order to achieve better data throughput.898 Download these "Offload Pseudocode" from Elan Digital Systems'899 web-site http://www.elandigitalsystems.com/support/downloads.php900 and put them in /lib/firmware. Note that without these additional901 firmware files the VUB300 chip will still function, but not at902 the best obtainable data rate.903 904 To compile this mmc host controller driver as a module,905 choose M here: the module will be called vub300.906 907 If you have a computer with an embedded VUB300 chip908 or if you intend connecting a USB adapter based on a909 VUB300 chip say Y or M here.910 911config MMC_USHC912 tristate "USB SD Host Controller (USHC) support"913 depends on USB914 help915 This selects support for USB SD Host Controllers based on916 the Cypress Astoria chip with firmware compliant with CSR's917 USB SD Host Controller specification (CS-118793-SP).918 919 CSR boards with this device include: USB<>SDIO (M1985v2),920 and Ultrasira.921 922 Note: These controllers only support SDIO cards and do not923 support MMC or SD memory cards.924 925config MMC_WMT926 tristate "Wondermedia SD/MMC Host Controller support"927 depends on ARCH_VT8500928 default y929 help930 This selects support for the SD/MMC Host Controller on931 Wondermedia WM8505/WM8650 based SoCs.932 933 To compile this driver as a module, choose M here: the934 module will be called wmt-sdmmc.935 936config MMC_USDHI6ROL0937 tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"938 depends on HAS_DMA939 help940 This selects support for the Renesas USDHI6ROL0 SD/SDIO941 Host Controller942 943config MMC_REALTEK_PCI944 tristate "Realtek PCI-E SD/MMC Card Interface Driver"945 depends on MISC_RTSX_PCI946 help947 Say Y here to include driver code to support SD/MMC card interface948 of Realtek PCI-E card reader949 950config MMC_REALTEK_USB951 tristate "Realtek USB SD/MMC Card Interface Driver"952 depends on MISC_RTSX_USB953 help954 Say Y here to include driver code to support SD/MMC card interface955 of Realtek RTS5129/39 series card reader956 957config MMC_SUNXI958 tristate "Allwinner sunxi SD/MMC Host Controller support"959 depends on ARCH_SUNXI || COMPILE_TEST960 depends on SUNXI_CCU961 help962 This selects support for the SD/MMC Host Controller on963 Allwinner sunxi SoCs.964 965config MMC_CQHCI966 tristate "Command Queue Host Controller Interface support"967 depends on HAS_DMA968 help969 This selects the Command Queue Host Controller Interface (CQHCI)970 support present in host controllers of Qualcomm Technologies, Inc971 amongst others.972 This controller supports eMMC devices with command queue support.973 974 If you have a controller with this interface, say Y or M here.975 976 If unsure, say N.977 978config MMC_HSQ979 tristate "MMC Host Software Queue support"980 help981 This selects the MMC Host Software Queue support. This may increase982 performance, if the host controller and its driver supports it.983 984 If you have a controller/driver supporting this interface, say Y or M985 here.986 987 If unsure, say N.988 989config MMC_TOSHIBA_PCI990 tristate "Toshiba Type A SD/MMC Card Interface Driver"991 depends on PCI992 993config MMC_BCM2835994 tristate "Broadcom BCM2835 SDHOST MMC Controller support"995 depends on ARCH_BCM2835 || COMPILE_TEST996 help997 This selects the BCM2835 SDHOST MMC controller. If you have998 a BCM2835 platform with SD or MMC devices, say Y or M here.999 1000 Note that the BCM2835 has two SD controllers: The Arasan1001 sdhci controller (supported by MMC_SDHCI_IPROC) and a custom1002 sdhost controller (supported by this driver).1003 1004 If unsure, say N.1005 1006config MMC_MTK1007 tristate "MediaTek SD/MMC Card Interface support"1008 depends on HAS_DMA1009 depends on COMMON_CLK1010 select REGULATOR1011 select MMC_CQHCI1012 help1013 This selects the MediaTek(R) Secure digital and Multimedia card Interface.1014 If you have a machine with a integrated SD/MMC card reader, say Y or M here.1015 This is needed if support for any SD/SDIO/MMC devices is required.1016 If unsure, say N.1017 1018config MMC_SDHCI_MICROCHIP_PIC321019 tristate "Microchip PIC32MZDA SDHCI support"1020 depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM1021 help1022 This selects the Secure Digital Host Controller Interface (SDHCI)1023 for PIC32MZDA platform.1024 1025 If you have a controller with this interface, say Y or M here.1026 1027 If unsure, say N.1028 1029config MMC_SDHCI_BRCMSTB1030 tristate "Broadcom SDIO/SD/MMC support"1031 depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST1032 depends on MMC_SDHCI_PLTFM1033 select MMC_CQHCI1034 default ARCH_BRCMSTB || BMIPS_GENERIC1035 help1036 This selects support for the SDIO/SD/MMC Host Controller on1037 Broadcom STB SoCs.1038 1039 If unsure, say Y.1040 1041config MMC_SDHCI_XENON1042 tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver"1043 depends on MMC_SDHCI_PLTFM1044 help1045 This selects Marvell Xenon eMMC/SD/SDIO SDHCI.1046 If you have a controller with this interface, say Y or M here.1047 If unsure, say N.1048 1049config MMC_SDHCI_OMAP1050 tristate "TI SDHCI Controller Support"1051 depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST1052 depends on MMC_SDHCI_PLTFM && OF1053 select THERMAL1054 imply TI_SOC_THERMAL1055 select MMC_SDHCI_EXTERNAL_DMA if DMA_ENGINE1056 help1057 This selects the Secure Digital Host Controller Interface (SDHCI)1058 support present in TI's Keystone/OMAP2+/DRA7 SOCs. The controller1059 supports SD/MMC/SDIO devices.1060 1061 If you have a controller with this interface, say Y or M here.1062 1063 If unsure, say N.1064 1065config MMC_SDHCI_AM6541066 tristate "Support for the SDHCI Controller in TI's AM654 SOCs"1067 depends on ARCH_K3 || COMPILE_TEST1068 depends on MMC_SDHCI_PLTFM && OF1069 select MMC_SDHCI_IO_ACCESSORS1070 select MMC_CQHCI1071 select REGMAP_MMIO1072 help1073 This selects the Secure Digital Host Controller Interface (SDHCI)1074 support present in TI's AM65x/AM64x/AM62x/J721E SOCs. The controller1075 supports SD/MMC/SDIO devices.1076 1077 If you have a controller with this interface, say Y or M here.1078 1079 If unsure, say N.1080 1081config MMC_OWL1082 tristate "Actions Semi Owl SD/MMC Host Controller support"1083 depends on HAS_DMA1084 depends on ARCH_ACTIONS || COMPILE_TEST1085 help1086 This selects support for the SD/MMC Host Controller on1087 Actions Semi Owl SoCs.1088 1089config MMC_SDHCI_EXTERNAL_DMA1090 bool1091 1092config MMC_LITEX1093 tristate "LiteX MMC Host Controller support"1094 depends on ((PPC_MICROWATT || LITEX) && OF && HAVE_CLK) || COMPILE_TEST1095 select REGULATOR1096 select REGULATOR_FIXED_VOLTAGE1097 help1098 This selects support for the MMC Host Controller found in LiteX SoCs.1099 1100 To compile this driver as a module, choose M here: the1101 module will be called litex_mmc.1102 1103 If unsure, say N.1104