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