brintos

brintos / linux-shallow public Read only

0
0
Text · 33.9 KiB · 7199cb0 Raw
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