18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# MMC/SD host controller drivers
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cicomment "MMC/SD/SDIO Host Controller Drivers"
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ciconfig MMC_DEBUG
98c2ecf20Sopenharmony_ci	bool "MMC host drivers debugging"
108c2ecf20Sopenharmony_ci	depends on MMC != n
118c2ecf20Sopenharmony_ci	help
128c2ecf20Sopenharmony_ci	  This is an option for use by developers; most people should
138c2ecf20Sopenharmony_ci	  say N here. This enables MMC host driver debugging. And further
148c2ecf20Sopenharmony_ci	  added host drivers please don't invent their private macro for
158c2ecf20Sopenharmony_ci	  debugging.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciconfig MMC_ARMMMCI
188c2ecf20Sopenharmony_ci	tristate "ARM AMBA Multimedia Card Interface support"
198c2ecf20Sopenharmony_ci	depends on ARM_AMBA
208c2ecf20Sopenharmony_ci	help
218c2ecf20Sopenharmony_ci	  This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
228c2ecf20Sopenharmony_ci	  Interface (PL180 and PL181) support.  If you have an ARM(R)
238c2ecf20Sopenharmony_ci	  platform with a Multimedia Card slot, say Y or M here.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci	  If unsure, say N.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciconfig MMC_QCOM_DML
288c2ecf20Sopenharmony_ci	bool "Qualcomm Data Mover for SD Card Controller"
298c2ecf20Sopenharmony_ci	depends on MMC_ARMMMCI && QCOM_BAM_DMA
308c2ecf20Sopenharmony_ci	default y
318c2ecf20Sopenharmony_ci	help
328c2ecf20Sopenharmony_ci	  This selects the Qualcomm Data Mover lite/local on SD Card controller.
338c2ecf20Sopenharmony_ci	  This option will enable the dma to work correctly, if you are using
348c2ecf20Sopenharmony_ci	  Qcom SOCs and MMC, you would probably need this option to get DMA working.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ci	  if unsure, say N.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciconfig MMC_STM32_SDMMC
398c2ecf20Sopenharmony_ci	bool "STMicroelectronics STM32 SDMMC Controller"
408c2ecf20Sopenharmony_ci	depends on MMC_ARMMMCI
418c2ecf20Sopenharmony_ci	default y
428c2ecf20Sopenharmony_ci	help
438c2ecf20Sopenharmony_ci	  This selects the STMicroelectronics STM32 SDMMC host controller.
448c2ecf20Sopenharmony_ci	  If you have a STM32 sdmmc host with internal DMA say Y here.
458c2ecf20Sopenharmony_ci
468c2ecf20Sopenharmony_ci	  If unsure, say N.
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciconfig MMC_PXA
498c2ecf20Sopenharmony_ci	tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
508c2ecf20Sopenharmony_ci	depends on ARCH_PXA
518c2ecf20Sopenharmony_ci	help
528c2ecf20Sopenharmony_ci	  This selects the Intel(R) PXA(R) Multimedia card Interface.
538c2ecf20Sopenharmony_ci	  If you have a PXA(R) platform with a Multimedia Card slot,
548c2ecf20Sopenharmony_ci	  say Y or M here.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  If unsure, say N.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciconfig MMC_SDHCI
598c2ecf20Sopenharmony_ci	tristate "Secure Digital Host Controller Interface support"
608c2ecf20Sopenharmony_ci	depends on HAS_DMA
618c2ecf20Sopenharmony_ci	help
628c2ecf20Sopenharmony_ci	  This selects the generic Secure Digital Host Controller Interface.
638c2ecf20Sopenharmony_ci	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
648c2ecf20Sopenharmony_ci	  and Toshiba(R). Most controllers found in laptops are of this type.
658c2ecf20Sopenharmony_ci
668c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here. You
678c2ecf20Sopenharmony_ci	  also need to enable an appropriate bus interface.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci	  If unsure, say N.
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig MMC_SDHCI_IO_ACCESSORS
728c2ecf20Sopenharmony_ci	bool
738c2ecf20Sopenharmony_ci	depends on MMC_SDHCI
748c2ecf20Sopenharmony_ci	help
758c2ecf20Sopenharmony_ci	  This is silent Kconfig symbol that is selected by the drivers that
768c2ecf20Sopenharmony_ci	  need to overwrite SDHCI IO memory accessors.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciconfig MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
798c2ecf20Sopenharmony_ci	bool
808c2ecf20Sopenharmony_ci	depends on MMC_SDHCI
818c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
828c2ecf20Sopenharmony_ci	help
838c2ecf20Sopenharmony_ci	  This option is selected by drivers running on big endian hosts
848c2ecf20Sopenharmony_ci	  and performing I/O to a SDHCI controller through a bus that
858c2ecf20Sopenharmony_ci	  implements a hardware byte swapper using a 32-bit datum.
868c2ecf20Sopenharmony_ci	  This endian mapping mode is called "data invariance" and
878c2ecf20Sopenharmony_ci	  has the effect of scrambling the addresses and formats of data
888c2ecf20Sopenharmony_ci	  accessed in sizes other than the datum size.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci	  This is the case for the Nintendo Wii SDHCI.
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ciconfig MMC_SDHCI_PCI
938c2ecf20Sopenharmony_ci	tristate "SDHCI support on PCI bus"
948c2ecf20Sopenharmony_ci	depends on MMC_SDHCI && PCI
958c2ecf20Sopenharmony_ci	select MMC_CQHCI
968c2ecf20Sopenharmony_ci	select IOSF_MBI if X86
978c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
988c2ecf20Sopenharmony_ci	help
998c2ecf20Sopenharmony_ci	  This selects the PCI Secure Digital Host Controller Interface.
1008c2ecf20Sopenharmony_ci	  Most controllers found today are PCI devices.
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci	  If unsure, say N.
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ciconfig MMC_RICOH_MMC
1078c2ecf20Sopenharmony_ci	bool "Ricoh MMC Controller Disabler"
1088c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PCI
1098c2ecf20Sopenharmony_ci	default y
1108c2ecf20Sopenharmony_ci	help
1118c2ecf20Sopenharmony_ci	  This adds a pci quirk to disable Ricoh MMC Controller. This
1128c2ecf20Sopenharmony_ci	  proprietary controller is unnecessary because the SDHCI driver
1138c2ecf20Sopenharmony_ci	  supports MMC cards on the SD controller, but if it is not
1148c2ecf20Sopenharmony_ci	  disabled, it will steal the MMC cards away - rendering them
1158c2ecf20Sopenharmony_ci	  useless. It is safe to select this even if you don't
1168c2ecf20Sopenharmony_ci	  have a Ricoh based card reader.
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci	  If unsure, say Y.
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ciconfig MMC_SDHCI_ACPI
1218c2ecf20Sopenharmony_ci	tristate "SDHCI support for ACPI enumerated SDHCI controllers"
1228c2ecf20Sopenharmony_ci	depends on MMC_SDHCI && ACPI && PCI
1238c2ecf20Sopenharmony_ci	select IOSF_MBI if X86
1248c2ecf20Sopenharmony_ci	help
1258c2ecf20Sopenharmony_ci	  This selects support for ACPI enumerated SDHCI controllers,
1268c2ecf20Sopenharmony_ci	  identified by ACPI Compatibility ID PNP0D40 or specific
1278c2ecf20Sopenharmony_ci	  ACPI Hardware IDs.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci	  If unsure, say N.
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ciconfig MMC_SDHCI_PLTFM
1348c2ecf20Sopenharmony_ci	tristate "SDHCI platform and OF driver helper"
1358c2ecf20Sopenharmony_ci	depends on MMC_SDHCI
1368c2ecf20Sopenharmony_ci	help
1378c2ecf20Sopenharmony_ci	  This selects the common helper functions support for Secure Digital
1388c2ecf20Sopenharmony_ci	  Host Controller Interface based platform and OF drivers.
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci	  If unsure, say N.
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ciconfig MMC_SDHCI_OF_ARASAN
1458c2ecf20Sopenharmony_ci	tristate "SDHCI OF support for the Arasan SDHCI controllers"
1468c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
1478c2ecf20Sopenharmony_ci	depends on OF
1488c2ecf20Sopenharmony_ci	depends on COMMON_CLK
1498c2ecf20Sopenharmony_ci	select MMC_CQHCI
1508c2ecf20Sopenharmony_ci	help
1518c2ecf20Sopenharmony_ci	  This selects the Arasan Secure Digital Host Controller Interface
1528c2ecf20Sopenharmony_ci	  (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC.
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci	  If unsure, say N.
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ciconfig MMC_SDHCI_OF_ASPEED
1598c2ecf20Sopenharmony_ci	tristate "SDHCI OF support for the ASPEED SDHCI controller"
1608c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
1618c2ecf20Sopenharmony_ci	depends on OF && OF_ADDRESS
1628c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
1638c2ecf20Sopenharmony_ci	help
1648c2ecf20Sopenharmony_ci	  This selects the ASPEED Secure Digital Host Controller Interface.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here. You
1678c2ecf20Sopenharmony_ci	  also need to enable an appropriate bus interface.
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci	  If unsure, say N.
1708c2ecf20Sopenharmony_ci
1718c2ecf20Sopenharmony_ciconfig MMC_SDHCI_OF_AT91
1728c2ecf20Sopenharmony_ci	tristate "SDHCI OF support for the Atmel SDMMC controller"
1738c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
1748c2ecf20Sopenharmony_ci	depends on OF && HAVE_CLK
1758c2ecf20Sopenharmony_ci	help
1768c2ecf20Sopenharmony_ci	  This selects the Atmel SDMMC driver
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciconfig MMC_SDHCI_OF_ESDHC
1798c2ecf20Sopenharmony_ci	tristate "SDHCI OF support for the Freescale eSDHC controller"
1808c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
1818c2ecf20Sopenharmony_ci	depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST
1828c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
1838c2ecf20Sopenharmony_ci	select FSL_GUTS
1848c2ecf20Sopenharmony_ci	help
1858c2ecf20Sopenharmony_ci	  This selects the Freescale eSDHC controller support.
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
1888c2ecf20Sopenharmony_ci
1898c2ecf20Sopenharmony_ci	  If unsure, say N.
1908c2ecf20Sopenharmony_ci
1918c2ecf20Sopenharmony_ciconfig MMC_SDHCI_OF_HLWD
1928c2ecf20Sopenharmony_ci	tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers"
1938c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
1948c2ecf20Sopenharmony_ci	depends on PPC
1958c2ecf20Sopenharmony_ci	select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
1968c2ecf20Sopenharmony_ci	help
1978c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
1988c2ecf20Sopenharmony_ci	  found in the "Hollywood" chipset of the Nintendo Wii video game
1998c2ecf20Sopenharmony_ci	  console.
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci	  If unsure, say N.
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ciconfig MMC_SDHCI_OF_DWCMSHC
2068c2ecf20Sopenharmony_ci	tristate "SDHCI OF support for the Synopsys DWC MSHC"
2078c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
2088c2ecf20Sopenharmony_ci	depends on OF
2098c2ecf20Sopenharmony_ci	depends on COMMON_CLK
2108c2ecf20Sopenharmony_ci	help
2118c2ecf20Sopenharmony_ci	  This selects Synopsys DesignWare Cores Mobile Storage Controller
2128c2ecf20Sopenharmony_ci	  support.
2138c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
2148c2ecf20Sopenharmony_ci	  If unsure, say N.
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ciconfig MMC_SDHCI_OF_SPARX5
2178c2ecf20Sopenharmony_ci	tristate "SDHCI OF support for the MCHP Sparx5 SoC"
2188c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
2198c2ecf20Sopenharmony_ci	depends on ARCH_SPARX5 || COMPILE_TEST
2208c2ecf20Sopenharmony_ci	help
2218c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
2228c2ecf20Sopenharmony_ci	  found in the MCHP Sparx5 SoC.
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ci	  If you have a Sparx5 SoC with this interface, say Y or M here.
2258c2ecf20Sopenharmony_ci
2268c2ecf20Sopenharmony_ci	  If unsure, say N.
2278c2ecf20Sopenharmony_ci
2288c2ecf20Sopenharmony_ciconfig MMC_SDHCI_CADENCE
2298c2ecf20Sopenharmony_ci	tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller"
2308c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
2318c2ecf20Sopenharmony_ci	depends on OF
2328c2ecf20Sopenharmony_ci	help
2338c2ecf20Sopenharmony_ci	  This selects the Cadence SD/SDIO/eMMC driver.
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ci	  If unsure, say N.
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ciconfig MMC_SDHCI_CNS3XXX
2408c2ecf20Sopenharmony_ci	tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
2418c2ecf20Sopenharmony_ci	depends on ARCH_CNS3XXX || COMPILE_TEST
2428c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
2438c2ecf20Sopenharmony_ci	help
2448c2ecf20Sopenharmony_ci	  This selects the SDHCI support for CNS3xxx System-on-Chip devices.
2458c2ecf20Sopenharmony_ci
2468c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
2478c2ecf20Sopenharmony_ci
2488c2ecf20Sopenharmony_ci	  If unsure, say N.
2498c2ecf20Sopenharmony_ci
2508c2ecf20Sopenharmony_ciconfig MMC_SDHCI_ESDHC_MCF
2518c2ecf20Sopenharmony_ci	tristate "SDHCI support for the Freescale eSDHC ColdFire controller"
2528c2ecf20Sopenharmony_ci	depends on M5441x
2538c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
2548c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
2558c2ecf20Sopenharmony_ci	help
2568c2ecf20Sopenharmony_ci	  This selects the Freescale eSDHC controller support for
2578c2ecf20Sopenharmony_ci	  ColdFire mcf5441x devices.
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
2608c2ecf20Sopenharmony_ci
2618c2ecf20Sopenharmony_ci	  If unsure, say N.
2628c2ecf20Sopenharmony_ci
2638c2ecf20Sopenharmony_ciconfig MMC_SDHCI_ESDHC_IMX
2648c2ecf20Sopenharmony_ci	tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
2658c2ecf20Sopenharmony_ci	depends on ARCH_MXC || COMPILE_TEST
2668c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
2678c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
2688c2ecf20Sopenharmony_ci	select MMC_CQHCI
2698c2ecf20Sopenharmony_ci	help
2708c2ecf20Sopenharmony_ci	  This selects the Freescale eSDHC/uSDHC controller support
2718c2ecf20Sopenharmony_ci	  found on i.MX25, i.MX35 i.MX5x and i.MX6x.
2728c2ecf20Sopenharmony_ci
2738c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ci	  If unsure, say N.
2768c2ecf20Sopenharmony_ci
2778c2ecf20Sopenharmony_ciconfig MMC_SDHCI_DOVE
2788c2ecf20Sopenharmony_ci	tristate "SDHCI support on Marvell's Dove SoC"
2798c2ecf20Sopenharmony_ci	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
2808c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
2818c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
2828c2ecf20Sopenharmony_ci	help
2838c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface in
2848c2ecf20Sopenharmony_ci	  Marvell's Dove SoC.
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
2878c2ecf20Sopenharmony_ci
2888c2ecf20Sopenharmony_ci	  If unsure, say N.
2898c2ecf20Sopenharmony_ci
2908c2ecf20Sopenharmony_ciconfig MMC_SDHCI_TEGRA
2918c2ecf20Sopenharmony_ci	tristate "SDHCI platform support for the Tegra SD/MMC Controller"
2928c2ecf20Sopenharmony_ci	depends on ARCH_TEGRA || COMPILE_TEST
2938c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
2948c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
2958c2ecf20Sopenharmony_ci	select MMC_CQHCI
2968c2ecf20Sopenharmony_ci	help
2978c2ecf20Sopenharmony_ci	  This selects the Tegra SD/MMC controller. If you have a Tegra
2988c2ecf20Sopenharmony_ci	  platform with SD or MMC devices, say Y or M here.
2998c2ecf20Sopenharmony_ci
3008c2ecf20Sopenharmony_ci	  If unsure, say N.
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ciconfig MMC_SDHCI_S3C
3038c2ecf20Sopenharmony_ci	tristate "SDHCI support on Samsung S3C SoC"
3048c2ecf20Sopenharmony_ci	depends on MMC_SDHCI
3058c2ecf20Sopenharmony_ci	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
3068c2ecf20Sopenharmony_ci	help
3078c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
3088c2ecf20Sopenharmony_ci	  often referrered to as the HSMMC block in some of the Samsung S3C
3098c2ecf20Sopenharmony_ci	  range of SoC.
3108c2ecf20Sopenharmony_ci
3118c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
3128c2ecf20Sopenharmony_ci
3138c2ecf20Sopenharmony_ci	  If unsure, say N.
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ciconfig MMC_SDHCI_SIRF
3168c2ecf20Sopenharmony_ci	tristate "SDHCI support on CSR SiRFprimaII and SiRFmarco SoCs"
3178c2ecf20Sopenharmony_ci	depends on ARCH_SIRF || COMPILE_TEST
3188c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
3198c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
3208c2ecf20Sopenharmony_ci	help
3218c2ecf20Sopenharmony_ci	  This selects the SDHCI support for SiRF System-on-Chip devices.
3228c2ecf20Sopenharmony_ci
3238c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
3248c2ecf20Sopenharmony_ci
3258c2ecf20Sopenharmony_ci	  If unsure, say N.
3268c2ecf20Sopenharmony_ci
3278c2ecf20Sopenharmony_ciconfig MMC_SDHCI_PXAV3
3288c2ecf20Sopenharmony_ci	tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
3298c2ecf20Sopenharmony_ci	depends on CLKDEV_LOOKUP
3308c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
3318c2ecf20Sopenharmony_ci	depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST
3328c2ecf20Sopenharmony_ci	default CPU_MMP2
3338c2ecf20Sopenharmony_ci	help
3348c2ecf20Sopenharmony_ci	  This selects the Marvell(R) PXAV3 SD Host Controller.
3358c2ecf20Sopenharmony_ci	  If you have a MMP2 platform with SD Host Controller
3368c2ecf20Sopenharmony_ci	  and a card slot, say Y or M here.
3378c2ecf20Sopenharmony_ci
3388c2ecf20Sopenharmony_ci	  If unsure, say N.
3398c2ecf20Sopenharmony_ci
3408c2ecf20Sopenharmony_ciconfig MMC_SDHCI_PXAV2
3418c2ecf20Sopenharmony_ci	tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
3428c2ecf20Sopenharmony_ci	depends on CLKDEV_LOOKUP
3438c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
3448c2ecf20Sopenharmony_ci	depends on ARCH_MMP || COMPILE_TEST
3458c2ecf20Sopenharmony_ci	default CPU_PXA910
3468c2ecf20Sopenharmony_ci	help
3478c2ecf20Sopenharmony_ci	  This selects the Marvell(R) PXAV2 SD Host Controller.
3488c2ecf20Sopenharmony_ci	  If you have a PXA9XX platform with SD Host Controller
3498c2ecf20Sopenharmony_ci	  and a card slot, say Y or M here.
3508c2ecf20Sopenharmony_ci
3518c2ecf20Sopenharmony_ci	  If unsure, say N.
3528c2ecf20Sopenharmony_ci
3538c2ecf20Sopenharmony_ciconfig MMC_SDHCI_SPEAR
3548c2ecf20Sopenharmony_ci	tristate "SDHCI support on ST SPEAr platform"
3558c2ecf20Sopenharmony_ci	depends on MMC_SDHCI
3568c2ecf20Sopenharmony_ci	depends on PLAT_SPEAR || COMPILE_TEST
3578c2ecf20Sopenharmony_ci	depends on OF
3588c2ecf20Sopenharmony_ci	help
3598c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
3608c2ecf20Sopenharmony_ci	  often referrered to as the HSMMC block in some of the ST SPEAR range
3618c2ecf20Sopenharmony_ci	  of SoC
3628c2ecf20Sopenharmony_ci
3638c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
3648c2ecf20Sopenharmony_ci
3658c2ecf20Sopenharmony_ci	  If unsure, say N.
3668c2ecf20Sopenharmony_ci
3678c2ecf20Sopenharmony_ciconfig MMC_SDHCI_S3C_DMA
3688c2ecf20Sopenharmony_ci	bool "DMA support on S3C SDHCI"
3698c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_S3C
3708c2ecf20Sopenharmony_ci	help
3718c2ecf20Sopenharmony_ci	  Enable DMA support on the Samsung S3C SDHCI glue. The DMA
3728c2ecf20Sopenharmony_ci	  has proved to be problematic if the controller encounters
3738c2ecf20Sopenharmony_ci	  certain errors, and thus should be treated with care.
3748c2ecf20Sopenharmony_ci
3758c2ecf20Sopenharmony_ci	  YMMV.
3768c2ecf20Sopenharmony_ci
3778c2ecf20Sopenharmony_ciconfig MMC_SDHCI_BCM_KONA
3788c2ecf20Sopenharmony_ci	tristate "SDHCI support on Broadcom KONA platform"
3798c2ecf20Sopenharmony_ci	depends on ARCH_BCM_MOBILE || COMPILE_TEST
3808c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
3818c2ecf20Sopenharmony_ci	help
3828c2ecf20Sopenharmony_ci	  This selects the Broadcom Kona Secure Digital Host Controller
3838c2ecf20Sopenharmony_ci	  Interface(SDHCI) support.
3848c2ecf20Sopenharmony_ci	  This is used in Broadcom mobile SoCs.
3858c2ecf20Sopenharmony_ci
3868c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
3878c2ecf20Sopenharmony_ci
3888c2ecf20Sopenharmony_ciconfig MMC_SDHCI_F_SDH30
3898c2ecf20Sopenharmony_ci	tristate "SDHCI support for Fujitsu Semiconductor F_SDH30"
3908c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
3918c2ecf20Sopenharmony_ci	depends on OF || ACPI
3928c2ecf20Sopenharmony_ci	help
3938c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
3948c2ecf20Sopenharmony_ci	  Needed by some Fujitsu SoC for MMC / SD / SDIO support.
3958c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
3968c2ecf20Sopenharmony_ci
3978c2ecf20Sopenharmony_ci	  If unsure, say N.
3988c2ecf20Sopenharmony_ci
3998c2ecf20Sopenharmony_ciconfig MMC_SDHCI_MILBEAUT
4008c2ecf20Sopenharmony_ci	tristate "SDHCI support for Socionext Milbeaut Serieas using F_SDH30"
4018c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
4028c2ecf20Sopenharmony_ci	depends on OF
4038c2ecf20Sopenharmony_ci	help
4048c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
4058c2ecf20Sopenharmony_ci	  Needed by Milbeaut SoC for MMC / SD / SDIO support.
4068c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
4078c2ecf20Sopenharmony_ci
4088c2ecf20Sopenharmony_ci	  If unsure, say N.
4098c2ecf20Sopenharmony_ci
4108c2ecf20Sopenharmony_ciconfig MMC_SDHCI_IPROC
4118c2ecf20Sopenharmony_ci	tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller"
4128c2ecf20Sopenharmony_ci	depends on ARCH_BCM2835 || ARCH_BCM_IPROC || COMPILE_TEST
4138c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
4148c2ecf20Sopenharmony_ci	depends on OF || ACPI
4158c2ecf20Sopenharmony_ci	default ARCH_BCM_IPROC
4168c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
4178c2ecf20Sopenharmony_ci	help
4188c2ecf20Sopenharmony_ci	  This selects the iProc SD/MMC controller.
4198c2ecf20Sopenharmony_ci
4208c2ecf20Sopenharmony_ci	  If you have a BCM2835 or IPROC platform with SD or MMC devices,
4218c2ecf20Sopenharmony_ci	  say Y or M here.
4228c2ecf20Sopenharmony_ci
4238c2ecf20Sopenharmony_ci	  If unsure, say N.
4248c2ecf20Sopenharmony_ci
4258c2ecf20Sopenharmony_ciconfig MMC_MESON_GX
4268c2ecf20Sopenharmony_ci	tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support"
4278c2ecf20Sopenharmony_ci	depends on ARCH_MESON|| COMPILE_TEST
4288c2ecf20Sopenharmony_ci	depends on COMMON_CLK
4298c2ecf20Sopenharmony_ci	help
4308c2ecf20Sopenharmony_ci	  This selects support for the Amlogic SD/MMC Host Controller
4318c2ecf20Sopenharmony_ci	  found on the S905/GX*/AXG family of SoCs.  This controller is
4328c2ecf20Sopenharmony_ci	  MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces.
4338c2ecf20Sopenharmony_ci
4348c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y here.
4358c2ecf20Sopenharmony_ci
4368c2ecf20Sopenharmony_ciconfig MMC_MESON_MX_SDHC
4378c2ecf20Sopenharmony_ci	tristate "Amlogic Meson SDHC Host Controller support"
4388c2ecf20Sopenharmony_ci	depends on (ARM && ARCH_MESON) || COMPILE_TEST
4398c2ecf20Sopenharmony_ci	depends on COMMON_CLK
4408c2ecf20Sopenharmony_ci	depends on OF
4418c2ecf20Sopenharmony_ci	help
4428c2ecf20Sopenharmony_ci	  This selects support for the SDHC Host Controller on
4438c2ecf20Sopenharmony_ci	  Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs.
4448c2ecf20Sopenharmony_ci	  The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x
4458c2ecf20Sopenharmony_ci	  with 1, 4, and 8 bit bus widths.
4468c2ecf20Sopenharmony_ci
4478c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
4488c2ecf20Sopenharmony_ci	  If unsure, say N.
4498c2ecf20Sopenharmony_ci
4508c2ecf20Sopenharmony_ciconfig MMC_MESON_MX_SDIO
4518c2ecf20Sopenharmony_ci	tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support"
4528c2ecf20Sopenharmony_ci	depends on ARCH_MESON || COMPILE_TEST
4538c2ecf20Sopenharmony_ci	depends on COMMON_CLK
4548c2ecf20Sopenharmony_ci	depends on OF_ADDRESS
4558c2ecf20Sopenharmony_ci	help
4568c2ecf20Sopenharmony_ci	  This selects support for the SD/MMC Host Controller on
4578c2ecf20Sopenharmony_ci	  Amlogic Meson6, Meson8 and Meson8b SoCs.
4588c2ecf20Sopenharmony_ci
4598c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
4608c2ecf20Sopenharmony_ci	  If unsure, say N.
4618c2ecf20Sopenharmony_ci
4628c2ecf20Sopenharmony_ciconfig MMC_MOXART
4638c2ecf20Sopenharmony_ci	tristate "MOXART SD/MMC Host Controller support"
4648c2ecf20Sopenharmony_ci	depends on ARCH_MOXART || COMPILE_TEST
4658c2ecf20Sopenharmony_ci	help
4668c2ecf20Sopenharmony_ci	  This selects support for the MOXART SD/MMC Host Controller.
4678c2ecf20Sopenharmony_ci	  MOXA provides one multi-functional card reader which can
4688c2ecf20Sopenharmony_ci	  be found on some embedded hardware such as UC-7112-LX.
4698c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y here.
4708c2ecf20Sopenharmony_ci
4718c2ecf20Sopenharmony_ciconfig MMC_SDHCI_ST
4728c2ecf20Sopenharmony_ci	tristate "SDHCI support on STMicroelectronics SoC"
4738c2ecf20Sopenharmony_ci	depends on ARCH_STI || FSP2 || COMPILE_TEST
4748c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
4758c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
4768c2ecf20Sopenharmony_ci	help
4778c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface in
4788c2ecf20Sopenharmony_ci	  STMicroelectronics SoCs.
4798c2ecf20Sopenharmony_ci
4808c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
4818c2ecf20Sopenharmony_ci	  If unsure, say N.
4828c2ecf20Sopenharmony_ci
4838c2ecf20Sopenharmony_ciconfig MMC_OMAP
4848c2ecf20Sopenharmony_ci	tristate "TI OMAP Multimedia Card Interface support"
4858c2ecf20Sopenharmony_ci	depends on ARCH_OMAP
4868c2ecf20Sopenharmony_ci	depends on TPS65010 || !MACH_OMAP_H2
4878c2ecf20Sopenharmony_ci	help
4888c2ecf20Sopenharmony_ci	  This selects the TI OMAP Multimedia card Interface.
4898c2ecf20Sopenharmony_ci	  If you have an OMAP board with a Multimedia Card slot,
4908c2ecf20Sopenharmony_ci	  say Y or M here.
4918c2ecf20Sopenharmony_ci
4928c2ecf20Sopenharmony_ci	  If unsure, say N.
4938c2ecf20Sopenharmony_ci
4948c2ecf20Sopenharmony_ciconfig MMC_OMAP_HS
4958c2ecf20Sopenharmony_ci	tristate "TI OMAP High Speed Multimedia Card Interface support"
4968c2ecf20Sopenharmony_ci	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
4978c2ecf20Sopenharmony_ci	help
4988c2ecf20Sopenharmony_ci	  This selects the TI OMAP High Speed Multimedia card Interface.
4998c2ecf20Sopenharmony_ci	  If you have an omap2plus board with a Multimedia Card slot,
5008c2ecf20Sopenharmony_ci	  say Y or M here.
5018c2ecf20Sopenharmony_ci
5028c2ecf20Sopenharmony_ci	  If unsure, say N.
5038c2ecf20Sopenharmony_ci
5048c2ecf20Sopenharmony_ciconfig MMC_WBSD
5058c2ecf20Sopenharmony_ci	tristate "Winbond W83L51xD SD/MMC Card Interface support"
5068c2ecf20Sopenharmony_ci	depends on ISA_DMA_API && !M68K
5078c2ecf20Sopenharmony_ci	help
5088c2ecf20Sopenharmony_ci	  This selects the Winbond(R) W83L51xD Secure digital and
5098c2ecf20Sopenharmony_ci	  Multimedia card Interface.
5108c2ecf20Sopenharmony_ci	  If you have a machine with a integrated W83L518D or W83L519D
5118c2ecf20Sopenharmony_ci	  SD/MMC card reader, say Y or M here.
5128c2ecf20Sopenharmony_ci
5138c2ecf20Sopenharmony_ci	  If unsure, say N.
5148c2ecf20Sopenharmony_ci
5158c2ecf20Sopenharmony_ciconfig MMC_ALCOR
5168c2ecf20Sopenharmony_ci	tristate "Alcor Micro/Alcor Link SD/MMC controller"
5178c2ecf20Sopenharmony_ci	depends on MISC_ALCOR_PCI
5188c2ecf20Sopenharmony_ci	help
5198c2ecf20Sopenharmony_ci	  Say Y here to include driver code to support SD/MMC card interface
5208c2ecf20Sopenharmony_ci	  of Alcor Micro PCI-E card reader
5218c2ecf20Sopenharmony_ci
5228c2ecf20Sopenharmony_ciconfig MMC_AU1X
5238c2ecf20Sopenharmony_ci	bool "Alchemy AU1XX0 MMC Card Interface support"
5248c2ecf20Sopenharmony_ci	depends on MIPS_ALCHEMY
5258c2ecf20Sopenharmony_ci	depends on MMC=y
5268c2ecf20Sopenharmony_ci	help
5278c2ecf20Sopenharmony_ci	  This selects the AMD Alchemy(R) Multimedia card interface.
5288c2ecf20Sopenharmony_ci	  If you have a Alchemy platform with a MMC slot, say Y here.
5298c2ecf20Sopenharmony_ci
5308c2ecf20Sopenharmony_ci	  If unsure, say N.
5318c2ecf20Sopenharmony_ci
5328c2ecf20Sopenharmony_ciconfig MMC_ATMELMCI
5338c2ecf20Sopenharmony_ci	tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"
5348c2ecf20Sopenharmony_ci	depends on ARCH_AT91
5358c2ecf20Sopenharmony_ci	help
5368c2ecf20Sopenharmony_ci	  This selects the Atmel Multimedia Card Interface driver.
5378c2ecf20Sopenharmony_ci	  If you have an AT91 platform with a Multimedia Card slot,
5388c2ecf20Sopenharmony_ci	  say Y or M here.
5398c2ecf20Sopenharmony_ci
5408c2ecf20Sopenharmony_ci	  If unsure, say N.
5418c2ecf20Sopenharmony_ci
5428c2ecf20Sopenharmony_ciconfig MMC_SDHCI_MSM
5438c2ecf20Sopenharmony_ci	tristate "Qualcomm SDHCI Controller Support"
5448c2ecf20Sopenharmony_ci	depends on ARCH_QCOM || COMPILE_TEST
5458c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
5468c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
5478c2ecf20Sopenharmony_ci	select MMC_CQHCI
5488c2ecf20Sopenharmony_ci	help
5498c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
5508c2ecf20Sopenharmony_ci	  support present in Qualcomm SOCs. The controller supports
5518c2ecf20Sopenharmony_ci	  SD/MMC/SDIO devices.
5528c2ecf20Sopenharmony_ci
5538c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
5548c2ecf20Sopenharmony_ci
5558c2ecf20Sopenharmony_ci	  If unsure, say N.
5568c2ecf20Sopenharmony_ci
5578c2ecf20Sopenharmony_ciconfig MMC_MXC
5588c2ecf20Sopenharmony_ci	tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
5598c2ecf20Sopenharmony_ci	depends on ARCH_MXC || PPC_MPC512x
5608c2ecf20Sopenharmony_ci	help
5618c2ecf20Sopenharmony_ci	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
5628c2ecf20Sopenharmony_ci	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
5638c2ecf20Sopenharmony_ci	  with a Multimedia Card slot, say Y or M here.
5648c2ecf20Sopenharmony_ci
5658c2ecf20Sopenharmony_ci	  If unsure, say N.
5668c2ecf20Sopenharmony_ci
5678c2ecf20Sopenharmony_ciconfig MMC_MXS
5688c2ecf20Sopenharmony_ci	tristate "Freescale MXS Multimedia Card Interface support"
5698c2ecf20Sopenharmony_ci	depends on ARCH_MXS && MXS_DMA
5708c2ecf20Sopenharmony_ci	help
5718c2ecf20Sopenharmony_ci	  This selects the Freescale SSP MMC controller found on MXS based
5728c2ecf20Sopenharmony_ci	  platforms like mx23/28.
5738c2ecf20Sopenharmony_ci
5748c2ecf20Sopenharmony_ci	  If unsure, say N.
5758c2ecf20Sopenharmony_ci
5768c2ecf20Sopenharmony_ciconfig MMC_TIFM_SD
5778c2ecf20Sopenharmony_ci	tristate "TI Flash Media MMC/SD Interface support"
5788c2ecf20Sopenharmony_ci	depends on PCI
5798c2ecf20Sopenharmony_ci	select TIFM_CORE
5808c2ecf20Sopenharmony_ci	help
5818c2ecf20Sopenharmony_ci	  Say Y here if you want to be able to access MMC/SD cards with
5828c2ecf20Sopenharmony_ci	  the Texas Instruments(R) Flash Media card reader, found in many
5838c2ecf20Sopenharmony_ci	  laptops.
5848c2ecf20Sopenharmony_ci	  This option 'selects' (turns on, enables) 'TIFM_CORE', but you
5858c2ecf20Sopenharmony_ci	  probably also need appropriate card reader host adapter, such as
5868c2ecf20Sopenharmony_ci	  'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
5878c2ecf20Sopenharmony_ci	  (TIFM_7XX1)'.
5888c2ecf20Sopenharmony_ci
5898c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
5908c2ecf20Sopenharmony_ci	  module will be called tifm_sd.
5918c2ecf20Sopenharmony_ci
5928c2ecf20Sopenharmony_ciconfig MMC_MVSDIO
5938c2ecf20Sopenharmony_ci	tristate "Marvell MMC/SD/SDIO host driver"
5948c2ecf20Sopenharmony_ci	depends on PLAT_ORION || (COMPILE_TEST && ARM)
5958c2ecf20Sopenharmony_ci	depends on OF
5968c2ecf20Sopenharmony_ci	help
5978c2ecf20Sopenharmony_ci	  This selects the Marvell SDIO host driver.
5988c2ecf20Sopenharmony_ci	  SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
5998c2ecf20Sopenharmony_ci	  SoC controllers.
6008c2ecf20Sopenharmony_ci
6018c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
6028c2ecf20Sopenharmony_ci	  module will be called mvsdio.
6038c2ecf20Sopenharmony_ci
6048c2ecf20Sopenharmony_ciconfig MMC_DAVINCI
6058c2ecf20Sopenharmony_ci	tristate "TI DAVINCI Multimedia Card Interface support"
6068c2ecf20Sopenharmony_ci	depends on ARCH_DAVINCI || COMPILE_TEST
6078c2ecf20Sopenharmony_ci	help
6088c2ecf20Sopenharmony_ci	  This selects the TI DAVINCI Multimedia card Interface.
6098c2ecf20Sopenharmony_ci	  If you have an DAVINCI board with a Multimedia Card slot,
6108c2ecf20Sopenharmony_ci	  say Y or M here.  If unsure, say N.
6118c2ecf20Sopenharmony_ci
6128c2ecf20Sopenharmony_ciconfig MMC_GOLDFISH
6138c2ecf20Sopenharmony_ci	tristate "goldfish qemu Multimedia Card Interface support"
6148c2ecf20Sopenharmony_ci	depends on GOLDFISH || COMPILE_TEST
6158c2ecf20Sopenharmony_ci	help
6168c2ecf20Sopenharmony_ci	  This selects the Goldfish Multimedia card Interface emulation
6178c2ecf20Sopenharmony_ci	  found on the Goldfish Android virtual device emulation.
6188c2ecf20Sopenharmony_ci
6198c2ecf20Sopenharmony_ciconfig MMC_SPI
6208c2ecf20Sopenharmony_ci	tristate "MMC/SD/SDIO over SPI"
6218c2ecf20Sopenharmony_ci	depends on SPI_MASTER
6228c2ecf20Sopenharmony_ci	select CRC7
6238c2ecf20Sopenharmony_ci	select CRC_ITU_T
6248c2ecf20Sopenharmony_ci	help
6258c2ecf20Sopenharmony_ci	  Some systems access MMC/SD/SDIO cards using a SPI controller
6268c2ecf20Sopenharmony_ci	  instead of using a "native" MMC/SD/SDIO controller.  This has a
6278c2ecf20Sopenharmony_ci	  disadvantage of being relatively high overhead, but a compensating
6288c2ecf20Sopenharmony_ci	  advantage of working on many systems without dedicated MMC/SD/SDIO
6298c2ecf20Sopenharmony_ci	  controllers.
6308c2ecf20Sopenharmony_ci
6318c2ecf20Sopenharmony_ci	  If unsure, or if your system has no SPI master driver, say N.
6328c2ecf20Sopenharmony_ci
6338c2ecf20Sopenharmony_ciconfig MMC_S3C
6348c2ecf20Sopenharmony_ci	tristate "Samsung S3C SD/MMC Card Interface support"
6358c2ecf20Sopenharmony_ci	depends on ARCH_S3C24XX
6368c2ecf20Sopenharmony_ci	depends on S3C24XX_DMAC
6378c2ecf20Sopenharmony_ci	help
6388c2ecf20Sopenharmony_ci	  This selects a driver for the MCI interface found in
6398c2ecf20Sopenharmony_ci	  Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs.
6408c2ecf20Sopenharmony_ci	  If you have a board based on one of those and a MMC/SD
6418c2ecf20Sopenharmony_ci	  slot, say Y or M here.
6428c2ecf20Sopenharmony_ci
6438c2ecf20Sopenharmony_ci	  If unsure, say N.
6448c2ecf20Sopenharmony_ci
6458c2ecf20Sopenharmony_ciconfig MMC_S3C_HW_SDIO_IRQ
6468c2ecf20Sopenharmony_ci	bool "Hardware support for SDIO IRQ"
6478c2ecf20Sopenharmony_ci	depends on MMC_S3C
6488c2ecf20Sopenharmony_ci	help
6498c2ecf20Sopenharmony_ci	  Enable the hardware support for SDIO interrupts instead of using
6508c2ecf20Sopenharmony_ci	  the generic polling code.
6518c2ecf20Sopenharmony_ci
6528c2ecf20Sopenharmony_cichoice
6538c2ecf20Sopenharmony_ci	prompt "Samsung S3C SD/MMC transfer code"
6548c2ecf20Sopenharmony_ci	depends on MMC_S3C
6558c2ecf20Sopenharmony_ci
6568c2ecf20Sopenharmony_ciconfig MMC_S3C_PIO
6578c2ecf20Sopenharmony_ci	bool "Use PIO transfers only"
6588c2ecf20Sopenharmony_ci	help
6598c2ecf20Sopenharmony_ci	  Use PIO to transfer data between memory and the hardware.
6608c2ecf20Sopenharmony_ci
6618c2ecf20Sopenharmony_ci	  PIO is slower than DMA as it requires CPU instructions to
6628c2ecf20Sopenharmony_ci	  move the data. This has been the traditional default for
6638c2ecf20Sopenharmony_ci	  the S3C MCI driver.
6648c2ecf20Sopenharmony_ci
6658c2ecf20Sopenharmony_ciconfig MMC_S3C_DMA
6668c2ecf20Sopenharmony_ci	bool "Use DMA transfers only"
6678c2ecf20Sopenharmony_ci	help
6688c2ecf20Sopenharmony_ci	  Use DMA to transfer data between memory and the hardare.
6698c2ecf20Sopenharmony_ci
6708c2ecf20Sopenharmony_ci	  Currently, the DMA support in this driver seems to not be
6718c2ecf20Sopenharmony_ci	  working properly and needs to be debugged before this
6728c2ecf20Sopenharmony_ci	  option is useful.
6738c2ecf20Sopenharmony_ci
6748c2ecf20Sopenharmony_ciendchoice
6758c2ecf20Sopenharmony_ci
6768c2ecf20Sopenharmony_ciconfig MMC_SDRICOH_CS
6778c2ecf20Sopenharmony_ci	tristate "MMC/SD driver for Ricoh Bay1Controllers"
6788c2ecf20Sopenharmony_ci	depends on PCI && PCMCIA
6798c2ecf20Sopenharmony_ci	help
6808c2ecf20Sopenharmony_ci	  Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
6818c2ecf20Sopenharmony_ci	  card whenever you insert a MMC or SD card into the card slot.
6828c2ecf20Sopenharmony_ci
6838c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
6848c2ecf20Sopenharmony_ci	  module will be called sdricoh_cs.
6858c2ecf20Sopenharmony_ci
6868c2ecf20Sopenharmony_ciconfig MMC_SDHCI_SPRD
6878c2ecf20Sopenharmony_ci	tristate "Spreadtrum SDIO host Controller"
6888c2ecf20Sopenharmony_ci	depends on ARCH_SPRD || COMPILE_TEST
6898c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
6908c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
6918c2ecf20Sopenharmony_ci	select MMC_HSQ
6928c2ecf20Sopenharmony_ci	help
6938c2ecf20Sopenharmony_ci	  This selects the SDIO Host Controller in Spreadtrum
6948c2ecf20Sopenharmony_ci	  SoCs, this driver supports R11(IP version: R11P0).
6958c2ecf20Sopenharmony_ci
6968c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
6978c2ecf20Sopenharmony_ci
6988c2ecf20Sopenharmony_ci	  If unsure, say N.
6998c2ecf20Sopenharmony_ci
7008c2ecf20Sopenharmony_ciconfig MMC_TMIO_CORE
7018c2ecf20Sopenharmony_ci	tristate
7028c2ecf20Sopenharmony_ci
7038c2ecf20Sopenharmony_ciconfig MMC_TMIO
7048c2ecf20Sopenharmony_ci	tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support"
7058c2ecf20Sopenharmony_ci	depends on MFD_TMIO || MFD_ASIC3 || COMPILE_TEST
7068c2ecf20Sopenharmony_ci	select MMC_TMIO_CORE
7078c2ecf20Sopenharmony_ci	help
7088c2ecf20Sopenharmony_ci	  This provides support for the SD/MMC cell found in TC6393XB,
7098c2ecf20Sopenharmony_ci	  T7L66XB and also HTC ASIC3
7108c2ecf20Sopenharmony_ci
7118c2ecf20Sopenharmony_ciconfig MMC_SDHI
7128c2ecf20Sopenharmony_ci	tristate "Renesas SDHI SD/SDIO controller support"
7138c2ecf20Sopenharmony_ci	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
7148c2ecf20Sopenharmony_ci	select MMC_TMIO_CORE
7158c2ecf20Sopenharmony_ci	help
7168c2ecf20Sopenharmony_ci	  This provides support for the SDHI SD/SDIO controller found in
7178c2ecf20Sopenharmony_ci	  Renesas SuperH, ARM and ARM64 based SoCs
7188c2ecf20Sopenharmony_ci
7198c2ecf20Sopenharmony_ciconfig MMC_SDHI_SYS_DMAC
7208c2ecf20Sopenharmony_ci	tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC"
7218c2ecf20Sopenharmony_ci	depends on MMC_SDHI
7228c2ecf20Sopenharmony_ci	default MMC_SDHI if (SUPERH || ARM)
7238c2ecf20Sopenharmony_ci	help
7248c2ecf20Sopenharmony_ci	  This provides DMA support for SDHI SD/SDIO controllers
7258c2ecf20Sopenharmony_ci	  using SYS-DMAC via DMA Engine. This supports the controllers
7268c2ecf20Sopenharmony_ci	  found in SuperH and Renesas ARM based SoCs.
7278c2ecf20Sopenharmony_ci
7288c2ecf20Sopenharmony_ciconfig MMC_SDHI_INTERNAL_DMAC
7298c2ecf20Sopenharmony_ci	tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering"
7308c2ecf20Sopenharmony_ci	depends on ARM64 || ARCH_R7S9210 || ARCH_R8A77470 || COMPILE_TEST
7318c2ecf20Sopenharmony_ci	depends on MMC_SDHI
7328c2ecf20Sopenharmony_ci	default MMC_SDHI if (ARM64 || ARCH_R7S9210 || ARCH_R8A77470)
7338c2ecf20Sopenharmony_ci	help
7348c2ecf20Sopenharmony_ci	  This provides DMA support for SDHI SD/SDIO controllers
7358c2ecf20Sopenharmony_ci	  using on-chip bus mastering. This supports the controllers
7368c2ecf20Sopenharmony_ci	  found in arm64 based SoCs. This controller is also found in
7378c2ecf20Sopenharmony_ci	  some RZ family SoCs.
7388c2ecf20Sopenharmony_ci
7398c2ecf20Sopenharmony_ciconfig MMC_UNIPHIER
7408c2ecf20Sopenharmony_ci	tristate "UniPhier SD/eMMC Host Controller support"
7418c2ecf20Sopenharmony_ci	depends on ARCH_UNIPHIER || COMPILE_TEST
7428c2ecf20Sopenharmony_ci	depends on OF
7438c2ecf20Sopenharmony_ci	select MMC_TMIO_CORE
7448c2ecf20Sopenharmony_ci	help
7458c2ecf20Sopenharmony_ci	  This provides support for the SD/eMMC controller found in
7468c2ecf20Sopenharmony_ci	  UniPhier SoCs. The eMMC variant of this controller is used
7478c2ecf20Sopenharmony_ci	  only for 32-bit SoCs.
7488c2ecf20Sopenharmony_ci
7498c2ecf20Sopenharmony_ciconfig MMC_CB710
7508c2ecf20Sopenharmony_ci	tristate "ENE CB710 MMC/SD Interface support"
7518c2ecf20Sopenharmony_ci	depends on PCI
7528c2ecf20Sopenharmony_ci	select CB710_CORE
7538c2ecf20Sopenharmony_ci	help
7548c2ecf20Sopenharmony_ci	  This option enables support for MMC/SD part of ENE CB710/720 Flash
7558c2ecf20Sopenharmony_ci	  memory card reader found in some laptops (ie. some versions of
7568c2ecf20Sopenharmony_ci	  HP Compaq nx9500).
7578c2ecf20Sopenharmony_ci
7588c2ecf20Sopenharmony_ci	  This driver can also be built as a module. If so, the module
7598c2ecf20Sopenharmony_ci	  will be called cb710-mmc.
7608c2ecf20Sopenharmony_ci
7618c2ecf20Sopenharmony_ciconfig MMC_VIA_SDMMC
7628c2ecf20Sopenharmony_ci	tristate "VIA SD/MMC Card Reader Driver"
7638c2ecf20Sopenharmony_ci	depends on PCI
7648c2ecf20Sopenharmony_ci	help
7658c2ecf20Sopenharmony_ci	  This selects the VIA SD/MMC Card Reader driver, say Y or M here.
7668c2ecf20Sopenharmony_ci	  VIA provides one multi-functional card reader which integrated into
7678c2ecf20Sopenharmony_ci	  some motherboards manufactured by VIA. This card reader supports
7688c2ecf20Sopenharmony_ci	  SD/MMC/SDHC.
7698c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
7708c2ecf20Sopenharmony_ci
7718c2ecf20Sopenharmony_ci	  If unsure, say N.
7728c2ecf20Sopenharmony_ci
7738c2ecf20Sopenharmony_ciconfig MMC_CAVIUM_OCTEON
7748c2ecf20Sopenharmony_ci	tristate "Cavium OCTEON SD/MMC Card Interface support"
7758c2ecf20Sopenharmony_ci	depends on CAVIUM_OCTEON_SOC
7768c2ecf20Sopenharmony_ci	help
7778c2ecf20Sopenharmony_ci	  This selects Cavium OCTEON SD/MMC card Interface.
7788c2ecf20Sopenharmony_ci	  If you have an OCTEON board with a Multimedia Card slot,
7798c2ecf20Sopenharmony_ci	  say Y or M here.
7808c2ecf20Sopenharmony_ci
7818c2ecf20Sopenharmony_ci	  If unsure, say N.
7828c2ecf20Sopenharmony_ci
7838c2ecf20Sopenharmony_ciconfig MMC_CAVIUM_THUNDERX
7848c2ecf20Sopenharmony_ci	tristate "Cavium ThunderX SD/MMC Card Interface support"
7858c2ecf20Sopenharmony_ci	depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)
7868c2ecf20Sopenharmony_ci	depends on GPIO_THUNDERX
7878c2ecf20Sopenharmony_ci	depends on OF_ADDRESS
7888c2ecf20Sopenharmony_ci	help
7898c2ecf20Sopenharmony_ci	  This selects Cavium ThunderX SD/MMC Card Interface.
7908c2ecf20Sopenharmony_ci	  If you have an Cavium ARM64 board with a Multimedia Card slot
7918c2ecf20Sopenharmony_ci	  or builtin eMMC chip say Y or M here. If built as a module
7928c2ecf20Sopenharmony_ci	  the module will be called thunderx_mmc.ko.
7938c2ecf20Sopenharmony_ci
7948c2ecf20Sopenharmony_ciconfig MMC_DW
7958c2ecf20Sopenharmony_ci	tristate "Synopsys DesignWare Memory Card Interface"
7968c2ecf20Sopenharmony_ci	depends on ARC || ARM || ARM64 || MIPS || RISCV || CSKY || COMPILE_TEST
7978c2ecf20Sopenharmony_ci	help
7988c2ecf20Sopenharmony_ci	  This selects support for the Synopsys DesignWare Mobile Storage IP
7998c2ecf20Sopenharmony_ci	  block, this provides host support for SD and MMC interfaces, in both
8008c2ecf20Sopenharmony_ci	  PIO, internal DMA mode and external DMA mode.
8018c2ecf20Sopenharmony_ci
8028c2ecf20Sopenharmony_ciconfig MMC_DW_PLTFM
8038c2ecf20Sopenharmony_ci	tristate "Synopsys Designware MCI Support as platform device"
8048c2ecf20Sopenharmony_ci	depends on MMC_DW
8058c2ecf20Sopenharmony_ci	default y
8068c2ecf20Sopenharmony_ci	help
8078c2ecf20Sopenharmony_ci	  This selects the common helper functions support for Host Controller
8088c2ecf20Sopenharmony_ci	  Interface based platform driver. Please select this option if the IP
8098c2ecf20Sopenharmony_ci	  is present as a platform device. This is the common interface for the
8108c2ecf20Sopenharmony_ci	  Synopsys Designware IP.
8118c2ecf20Sopenharmony_ci
8128c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
8138c2ecf20Sopenharmony_ci
8148c2ecf20Sopenharmony_ci	  If unsure, say Y.
8158c2ecf20Sopenharmony_ci
8168c2ecf20Sopenharmony_ciconfig MMC_DW_BLUEFIELD
8178c2ecf20Sopenharmony_ci	tristate "BlueField specific extensions for Synopsys DW Memory Card Interface"
8188c2ecf20Sopenharmony_ci	depends on MMC_DW
8198c2ecf20Sopenharmony_ci	select MMC_DW_PLTFM
8208c2ecf20Sopenharmony_ci	help
8218c2ecf20Sopenharmony_ci	  This selects support for Mellanox BlueField SoC specific extensions to
8228c2ecf20Sopenharmony_ci	  the Synopsys DesignWare Memory Card Interface driver. Select this
8238c2ecf20Sopenharmony_ci	  option for platforms based on Mellanox BlueField SoC's.
8248c2ecf20Sopenharmony_ci
8258c2ecf20Sopenharmony_ciconfig MMC_DW_EXYNOS
8268c2ecf20Sopenharmony_ci	tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
8278c2ecf20Sopenharmony_ci	depends on MMC_DW
8288c2ecf20Sopenharmony_ci	select MMC_DW_PLTFM
8298c2ecf20Sopenharmony_ci	help
8308c2ecf20Sopenharmony_ci	  This selects support for Samsung Exynos SoC specific extensions to the
8318c2ecf20Sopenharmony_ci	  Synopsys DesignWare Memory Card Interface driver. Select this option
8328c2ecf20Sopenharmony_ci	  for platforms based on Exynos4 and Exynos5 SoC's.
8338c2ecf20Sopenharmony_ci
8348c2ecf20Sopenharmony_ciconfig MMC_DW_HI3798CV200
8358c2ecf20Sopenharmony_ci	tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface"
8368c2ecf20Sopenharmony_ci	depends on MMC_DW
8378c2ecf20Sopenharmony_ci	select MMC_DW_PLTFM
8388c2ecf20Sopenharmony_ci	help
8398c2ecf20Sopenharmony_ci	  This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the
8408c2ecf20Sopenharmony_ci	  Synopsys DesignWare Memory Card Interface driver. Select this option
8418c2ecf20Sopenharmony_ci	  for platforms based on HiSilicon Hi3798CV200 SoC.
8428c2ecf20Sopenharmony_ci
8438c2ecf20Sopenharmony_ciconfig MMC_DW_K3
8448c2ecf20Sopenharmony_ci	tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
8458c2ecf20Sopenharmony_ci	depends on MMC_DW
8468c2ecf20Sopenharmony_ci	select MMC_DW_PLTFM
8478c2ecf20Sopenharmony_ci	help
8488c2ecf20Sopenharmony_ci	  This selects support for Hisilicon K3 SoC specific extensions to the
8498c2ecf20Sopenharmony_ci	  Synopsys DesignWare Memory Card Interface driver. Select this option
8508c2ecf20Sopenharmony_ci	  for platforms based on Hisilicon K3 SoC's.
8518c2ecf20Sopenharmony_ci
8528c2ecf20Sopenharmony_ciconfig MMC_DW_PCI
8538c2ecf20Sopenharmony_ci	tristate "Synopsys Designware MCI support on PCI bus"
8548c2ecf20Sopenharmony_ci	depends on MMC_DW && PCI
8558c2ecf20Sopenharmony_ci	help
8568c2ecf20Sopenharmony_ci	  This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
8578c2ecf20Sopenharmony_ci	  Select this option if the IP is present on PCI platform.
8588c2ecf20Sopenharmony_ci
8598c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
8608c2ecf20Sopenharmony_ci
8618c2ecf20Sopenharmony_ci	  If unsure, say N.
8628c2ecf20Sopenharmony_ci
8638c2ecf20Sopenharmony_ciconfig MMC_DW_ROCKCHIP
8648c2ecf20Sopenharmony_ci	tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface"
8658c2ecf20Sopenharmony_ci	depends on MMC_DW && ARCH_ROCKCHIP
8668c2ecf20Sopenharmony_ci	select MMC_DW_PLTFM
8678c2ecf20Sopenharmony_ci	help
8688c2ecf20Sopenharmony_ci	  This selects support for Rockchip SoC specific extensions to the
8698c2ecf20Sopenharmony_ci	  Synopsys DesignWare Memory Card Interface driver. Select this option
8708c2ecf20Sopenharmony_ci	  for platforms based on RK3066, RK3188 and RK3288 SoC's.
8718c2ecf20Sopenharmony_ci
8728c2ecf20Sopenharmony_ciconfig MMC_DW_ZX
8738c2ecf20Sopenharmony_ci	tristate "ZTE specific extensions for Synopsys DW Memory Card Interface"
8748c2ecf20Sopenharmony_ci	depends on MMC_DW && ARCH_ZX
8758c2ecf20Sopenharmony_ci	select MMC_DW_PLTFM
8768c2ecf20Sopenharmony_ci	help
8778c2ecf20Sopenharmony_ci	  This selects support for ZTE SoC specific extensions to the
8788c2ecf20Sopenharmony_ci	  Synopsys DesignWare Memory Card Interface driver. Select this option
8798c2ecf20Sopenharmony_ci	  for platforms based on ZX296718 SoC's.
8808c2ecf20Sopenharmony_ci
8818c2ecf20Sopenharmony_ciconfig MMC_SH_MMCIF
8828c2ecf20Sopenharmony_ci	tristate "SuperH Internal MMCIF support"
8838c2ecf20Sopenharmony_ci	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
8848c2ecf20Sopenharmony_ci	help
8858c2ecf20Sopenharmony_ci	  This selects the MMC Host Interface controller (MMCIF) found in various
8868c2ecf20Sopenharmony_ci	  Renesas SoCs for SH and ARM architectures.
8878c2ecf20Sopenharmony_ci
8888c2ecf20Sopenharmony_ci
8898c2ecf20Sopenharmony_ciconfig MMC_JZ4740
8908c2ecf20Sopenharmony_ci	tristate "Ingenic JZ47xx SD/Multimedia Card Interface support"
8918c2ecf20Sopenharmony_ci	depends on MIPS
8928c2ecf20Sopenharmony_ci	help
8938c2ecf20Sopenharmony_ci	  This selects support for the SD/MMC controller on Ingenic
8948c2ecf20Sopenharmony_ci	  JZ4740, JZ4750, JZ4770 and JZ4780 SoCs.
8958c2ecf20Sopenharmony_ci
8968c2ecf20Sopenharmony_ci	  If you have a board based on such a SoC and with a SD/MMC slot,
8978c2ecf20Sopenharmony_ci	  say Y or M here.
8988c2ecf20Sopenharmony_ci
8998c2ecf20Sopenharmony_ciconfig MMC_VUB300
9008c2ecf20Sopenharmony_ci	tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
9018c2ecf20Sopenharmony_ci	depends on USB
9028c2ecf20Sopenharmony_ci	help
9038c2ecf20Sopenharmony_ci	  This selects support for Elan Digital Systems' VUB300 chip.
9048c2ecf20Sopenharmony_ci
9058c2ecf20Sopenharmony_ci	  The VUB300 is a USB-SDIO Host Controller Interface chip
9068c2ecf20Sopenharmony_ci	  that enables the host computer to use SDIO/SD/MMC cards
9078c2ecf20Sopenharmony_ci	  via a USB 2.0 or USB 1.1 host.
9088c2ecf20Sopenharmony_ci
9098c2ecf20Sopenharmony_ci	  The VUB300 chip will be found in both physically separate
9108c2ecf20Sopenharmony_ci	  USB to SDIO/SD/MMC adapters and embedded on some motherboards.
9118c2ecf20Sopenharmony_ci
9128c2ecf20Sopenharmony_ci	  The VUB300 chip supports SD and MMC memory cards in addition
9138c2ecf20Sopenharmony_ci	  to single and multifunction SDIO cards.
9148c2ecf20Sopenharmony_ci
9158c2ecf20Sopenharmony_ci	  Some SDIO cards will need a firmware file to be loaded and
9168c2ecf20Sopenharmony_ci	  sent to VUB300 chip in order to achieve better data throughput.
9178c2ecf20Sopenharmony_ci	  Download these "Offload Pseudocode" from Elan Digital Systems'
9188c2ecf20Sopenharmony_ci	  web-site http://www.elandigitalsystems.com/support/downloads.php
9198c2ecf20Sopenharmony_ci	  and put them in /lib/firmware. Note that without these additional
9208c2ecf20Sopenharmony_ci	  firmware files the VUB300 chip will still function, but not at
9218c2ecf20Sopenharmony_ci	  the best obtainable data rate.
9228c2ecf20Sopenharmony_ci
9238c2ecf20Sopenharmony_ci	  To compile this mmc host controller driver as a module,
9248c2ecf20Sopenharmony_ci	  choose M here: the module will be called vub300.
9258c2ecf20Sopenharmony_ci
9268c2ecf20Sopenharmony_ci	  If you have a computer with an embedded VUB300 chip
9278c2ecf20Sopenharmony_ci	  or if you intend connecting a USB adapter based on a
9288c2ecf20Sopenharmony_ci	  VUB300 chip say Y or M here.
9298c2ecf20Sopenharmony_ci
9308c2ecf20Sopenharmony_ciconfig MMC_USHC
9318c2ecf20Sopenharmony_ci	tristate "USB SD Host Controller (USHC) support"
9328c2ecf20Sopenharmony_ci	depends on USB
9338c2ecf20Sopenharmony_ci	help
9348c2ecf20Sopenharmony_ci	  This selects support for USB SD Host Controllers based on
9358c2ecf20Sopenharmony_ci	  the Cypress Astoria chip with firmware compliant with CSR's
9368c2ecf20Sopenharmony_ci	  USB SD Host Controller specification (CS-118793-SP).
9378c2ecf20Sopenharmony_ci
9388c2ecf20Sopenharmony_ci	  CSR boards with this device include: USB<>SDIO (M1985v2),
9398c2ecf20Sopenharmony_ci	  and Ultrasira.
9408c2ecf20Sopenharmony_ci
9418c2ecf20Sopenharmony_ci	  Note: These controllers only support SDIO cards and do not
9428c2ecf20Sopenharmony_ci	  support MMC or SD memory cards.
9438c2ecf20Sopenharmony_ci
9448c2ecf20Sopenharmony_ciconfig MMC_WMT
9458c2ecf20Sopenharmony_ci	tristate "Wondermedia SD/MMC Host Controller support"
9468c2ecf20Sopenharmony_ci	depends on ARCH_VT8500
9478c2ecf20Sopenharmony_ci	default y
9488c2ecf20Sopenharmony_ci	help
9498c2ecf20Sopenharmony_ci	  This selects support for the SD/MMC Host Controller on
9508c2ecf20Sopenharmony_ci	  Wondermedia WM8505/WM8650 based SoCs.
9518c2ecf20Sopenharmony_ci
9528c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
9538c2ecf20Sopenharmony_ci	  module will be called wmt-sdmmc.
9548c2ecf20Sopenharmony_ci
9558c2ecf20Sopenharmony_ciconfig MMC_USDHI6ROL0
9568c2ecf20Sopenharmony_ci	tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"
9578c2ecf20Sopenharmony_ci	depends on HAS_DMA
9588c2ecf20Sopenharmony_ci	help
9598c2ecf20Sopenharmony_ci	  This selects support for the Renesas USDHI6ROL0 SD/SDIO
9608c2ecf20Sopenharmony_ci	  Host Controller
9618c2ecf20Sopenharmony_ci
9628c2ecf20Sopenharmony_ciconfig MMC_REALTEK_PCI
9638c2ecf20Sopenharmony_ci	tristate "Realtek PCI-E SD/MMC Card Interface Driver"
9648c2ecf20Sopenharmony_ci	depends on MISC_RTSX_PCI
9658c2ecf20Sopenharmony_ci	help
9668c2ecf20Sopenharmony_ci	  Say Y here to include driver code to support SD/MMC card interface
9678c2ecf20Sopenharmony_ci	  of Realtek PCI-E card reader
9688c2ecf20Sopenharmony_ci
9698c2ecf20Sopenharmony_ciconfig MMC_REALTEK_USB
9708c2ecf20Sopenharmony_ci	tristate "Realtek USB SD/MMC Card Interface Driver"
9718c2ecf20Sopenharmony_ci	depends on MISC_RTSX_USB
9728c2ecf20Sopenharmony_ci	help
9738c2ecf20Sopenharmony_ci	  Say Y here to include driver code to support SD/MMC card interface
9748c2ecf20Sopenharmony_ci	  of Realtek RTS5129/39 series card reader
9758c2ecf20Sopenharmony_ci
9768c2ecf20Sopenharmony_ciconfig MMC_SUNXI
9778c2ecf20Sopenharmony_ci	tristate "Allwinner sunxi SD/MMC Host Controller support"
9788c2ecf20Sopenharmony_ci	depends on ARCH_SUNXI || COMPILE_TEST
9798c2ecf20Sopenharmony_ci	help
9808c2ecf20Sopenharmony_ci	  This selects support for the SD/MMC Host Controller on
9818c2ecf20Sopenharmony_ci	  Allwinner sunxi SoCs.
9828c2ecf20Sopenharmony_ci
9838c2ecf20Sopenharmony_ciconfig MMC_CQHCI
9848c2ecf20Sopenharmony_ci	tristate "Command Queue Host Controller Interface support"
9858c2ecf20Sopenharmony_ci	depends on HAS_DMA
9868c2ecf20Sopenharmony_ci	help
9878c2ecf20Sopenharmony_ci	  This selects the Command Queue Host Controller Interface (CQHCI)
9888c2ecf20Sopenharmony_ci	  support present in host controllers of Qualcomm Technologies, Inc
9898c2ecf20Sopenharmony_ci	  amongst others.
9908c2ecf20Sopenharmony_ci	  This controller supports eMMC devices with command queue support.
9918c2ecf20Sopenharmony_ci
9928c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
9938c2ecf20Sopenharmony_ci
9948c2ecf20Sopenharmony_ci	  If unsure, say N.
9958c2ecf20Sopenharmony_ci
9968c2ecf20Sopenharmony_ciconfig MMC_HSQ
9978c2ecf20Sopenharmony_ci	tristate "MMC Host Software Queue support"
9988c2ecf20Sopenharmony_ci	help
9998c2ecf20Sopenharmony_ci	  This selects the MMC Host Software Queue support. This may increase
10008c2ecf20Sopenharmony_ci	  performance, if the host controller and its driver supports it.
10018c2ecf20Sopenharmony_ci
10028c2ecf20Sopenharmony_ci	  If you have a controller/driver supporting this interface, say Y or M
10038c2ecf20Sopenharmony_ci	  here.
10048c2ecf20Sopenharmony_ci
10058c2ecf20Sopenharmony_ci	  If unsure, say N.
10068c2ecf20Sopenharmony_ci
10078c2ecf20Sopenharmony_ciconfig MMC_TOSHIBA_PCI
10088c2ecf20Sopenharmony_ci	tristate "Toshiba Type A SD/MMC Card Interface Driver"
10098c2ecf20Sopenharmony_ci	depends on PCI
10108c2ecf20Sopenharmony_ci
10118c2ecf20Sopenharmony_ciconfig MMC_BCM2835
10128c2ecf20Sopenharmony_ci	tristate "Broadcom BCM2835 SDHOST MMC Controller support"
10138c2ecf20Sopenharmony_ci	depends on ARCH_BCM2835 || COMPILE_TEST
10148c2ecf20Sopenharmony_ci	help
10158c2ecf20Sopenharmony_ci	  This selects the BCM2835 SDHOST MMC controller. If you have
10168c2ecf20Sopenharmony_ci	  a BCM2835 platform with SD or MMC devices, say Y or M here.
10178c2ecf20Sopenharmony_ci
10188c2ecf20Sopenharmony_ci	  Note that the BCM2835 has two SD controllers: The Arasan
10198c2ecf20Sopenharmony_ci	  sdhci controller (supported by MMC_SDHCI_IPROC) and a custom
10208c2ecf20Sopenharmony_ci	  sdhost controller (supported by this driver).
10218c2ecf20Sopenharmony_ci
10228c2ecf20Sopenharmony_ci	  If unsure, say N.
10238c2ecf20Sopenharmony_ci
10248c2ecf20Sopenharmony_ciconfig MMC_MTK
10258c2ecf20Sopenharmony_ci	tristate "MediaTek SD/MMC Card Interface support"
10268c2ecf20Sopenharmony_ci	depends on HAS_DMA
10278c2ecf20Sopenharmony_ci	select REGULATOR
10288c2ecf20Sopenharmony_ci	select MMC_CQHCI
10298c2ecf20Sopenharmony_ci	help
10308c2ecf20Sopenharmony_ci	  This selects the MediaTek(R) Secure digital and Multimedia card Interface.
10318c2ecf20Sopenharmony_ci	  If you have a machine with a integrated SD/MMC card reader, say Y or M here.
10328c2ecf20Sopenharmony_ci	  This is needed if support for any SD/SDIO/MMC devices is required.
10338c2ecf20Sopenharmony_ci	  If unsure, say N.
10348c2ecf20Sopenharmony_ci
10358c2ecf20Sopenharmony_ciconfig MMC_SDHCI_MICROCHIP_PIC32
10368c2ecf20Sopenharmony_ci	tristate "Microchip PIC32MZDA SDHCI support"
10378c2ecf20Sopenharmony_ci	depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM
10388c2ecf20Sopenharmony_ci	help
10398c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
10408c2ecf20Sopenharmony_ci	  for PIC32MZDA platform.
10418c2ecf20Sopenharmony_ci
10428c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
10438c2ecf20Sopenharmony_ci
10448c2ecf20Sopenharmony_ci	  If unsure, say N.
10458c2ecf20Sopenharmony_ci
10468c2ecf20Sopenharmony_ciconfig MMC_SDHCI_BRCMSTB
10478c2ecf20Sopenharmony_ci	tristate "Broadcom SDIO/SD/MMC support"
10488c2ecf20Sopenharmony_ci	depends on ARCH_BRCMSTB || BMIPS_GENERIC
10498c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
10508c2ecf20Sopenharmony_ci	select MMC_CQHCI
10518c2ecf20Sopenharmony_ci	default y
10528c2ecf20Sopenharmony_ci	help
10538c2ecf20Sopenharmony_ci	  This selects support for the SDIO/SD/MMC Host Controller on
10548c2ecf20Sopenharmony_ci	  Broadcom STB SoCs.
10558c2ecf20Sopenharmony_ci
10568c2ecf20Sopenharmony_ci	  If unsure, say Y.
10578c2ecf20Sopenharmony_ci
10588c2ecf20Sopenharmony_ciconfig MMC_SDHCI_XENON
10598c2ecf20Sopenharmony_ci	tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver"
10608c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM
10618c2ecf20Sopenharmony_ci	help
10628c2ecf20Sopenharmony_ci	  This selects Marvell Xenon eMMC/SD/SDIO SDHCI.
10638c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
10648c2ecf20Sopenharmony_ci	  If unsure, say N.
10658c2ecf20Sopenharmony_ci
10668c2ecf20Sopenharmony_ciconfig MMC_SDHCI_OMAP
10678c2ecf20Sopenharmony_ci	tristate "TI SDHCI Controller Support"
10688c2ecf20Sopenharmony_ci	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
10698c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM && OF
10708c2ecf20Sopenharmony_ci	select THERMAL
10718c2ecf20Sopenharmony_ci	imply TI_SOC_THERMAL
10728c2ecf20Sopenharmony_ci	select MMC_SDHCI_EXTERNAL_DMA if DMA_ENGINE
10738c2ecf20Sopenharmony_ci	help
10748c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
10758c2ecf20Sopenharmony_ci	  support present in TI's Keystone/OMAP2+/DRA7 SOCs. The controller
10768c2ecf20Sopenharmony_ci	  supports SD/MMC/SDIO devices.
10778c2ecf20Sopenharmony_ci
10788c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
10798c2ecf20Sopenharmony_ci
10808c2ecf20Sopenharmony_ci	  If unsure, say N.
10818c2ecf20Sopenharmony_ci
10828c2ecf20Sopenharmony_ciconfig MMC_SDHCI_AM654
10838c2ecf20Sopenharmony_ci	tristate "Support for the SDHCI Controller in TI's AM654 SOCs"
10848c2ecf20Sopenharmony_ci	depends on ARCH_K3 || COMPILE_TEST
10858c2ecf20Sopenharmony_ci	depends on MMC_SDHCI_PLTFM && OF
10868c2ecf20Sopenharmony_ci	select MMC_SDHCI_IO_ACCESSORS
10878c2ecf20Sopenharmony_ci	select MMC_CQHCI
10888c2ecf20Sopenharmony_ci	select REGMAP_MMIO
10898c2ecf20Sopenharmony_ci	help
10908c2ecf20Sopenharmony_ci	  This selects the Secure Digital Host Controller Interface (SDHCI)
10918c2ecf20Sopenharmony_ci	  support present in TI's AM65x/AM64x/AM62x/J721E SOCs. The controller
10928c2ecf20Sopenharmony_ci	  supports SD/MMC/SDIO devices.
10938c2ecf20Sopenharmony_ci
10948c2ecf20Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
10958c2ecf20Sopenharmony_ci
10968c2ecf20Sopenharmony_ci	  If unsure, say N.
10978c2ecf20Sopenharmony_ci
10988c2ecf20Sopenharmony_ciconfig MMC_OWL
10998c2ecf20Sopenharmony_ci	tristate "Actions Semi Owl SD/MMC Host Controller support"
11008c2ecf20Sopenharmony_ci	depends on HAS_DMA
11018c2ecf20Sopenharmony_ci	depends on ARCH_ACTIONS || COMPILE_TEST
11028c2ecf20Sopenharmony_ci	help
11038c2ecf20Sopenharmony_ci	  This selects support for the SD/MMC Host Controller on
11048c2ecf20Sopenharmony_ci	  Actions Semi Owl SoCs.
11058c2ecf20Sopenharmony_ci
11068c2ecf20Sopenharmony_ciconfig MMC_SDHCI_EXTERNAL_DMA
11078c2ecf20Sopenharmony_ci	bool
1108