+config MMC_SDHCI
+ bool "Secure Digital Host Controller Interface support"
+ help
+ This selects the generic Secure Digital Host Controller Interface.
+ It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
+ and Toshiba(R). Most controllers found in laptops are of this type.
+
+ If you have a controller with this interface, say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_IO_ACCESSORS
+ bool
+ depends on MMC_SDHCI
+ help
+ This is silent Kconfig symbol that is selected by the drivers that
+ need to overwrite SDHCI IO memory accessors.
+
+config MMC_SDHCI_SDMA
+ bool "Support SDHCI SDMA"
+ depends on MMC_SDHCI
+ help
+ This enables support for the SDMA (Single Operation DMA) defined
+ in the SD Host Controller Standard Specification Version 1.00 .
+
+config MMC_SDHCI_ATMEL
+ bool "Atmel SDHCI controller support"
+ depends on ARCH_AT91
+ depends on DM_MMC && BLK && ARCH_AT91
+ depends on MMC_SDHCI
+ help
+ This enables support for the Atmel SDHCI controller, which supports
+ the embedded MultiMedia Card (e.MMC) Specification V4.51, the SD
+ Memory Card Specification V3.0, and the SDIO V3.0 specification.
+ It is compliant with the SD Host Controller Standard V3.0
+ specification.
+
+config MMC_SDHCI_BCM2835
+ tristate "SDHCI support for the BCM2835 SD/MMC Controller"
+ depends on ARCH_BCM283X
+ depends on MMC_SDHCI
+ select MMC_SDHCI_IO_ACCESSORS
+ help
+ This selects the BCM2835 SD/MMC controller.
+
+ If you have a BCM2835 platform with SD or MMC devices,
+ say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_BCMSTB
+ tristate "SDHCI support for the BCMSTB SD/MMC Controller"
+ depends on MMC_SDHCI
+ help
+ This selects the Broadcom set-top box SD/MMC controller.
+
+ If you have a BCMSTB platform with SD or MMC devices,
+ say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_CADENCE
+ bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
+ depends on BLK && DM_MMC
+ depends on MMC_SDHCI
+ depends on OF_CONTROL
+ help
+ This selects the Cadence SD/SDIO/eMMC driver.
+
+ If you have a controller with this interface, say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_KONA
+ bool "SDHCI support on Broadcom KONA platform"
+ depends on MMC_SDHCI
+ help
+ This selects the Broadcom Kona Secure Digital Host Controller
+ Interface(SDHCI) support.
+ This is used in Broadcom mobile SoCs.
+
+ If you have a controller with this interface, say Y here.
+
+config MMC_SDHCI_MSM
+ bool "Qualcomm SDHCI controller"
+ depends on BLK && DM_MMC
+ depends on MMC_SDHCI
+ help
+ Enables support for SDHCI 2.0 controller present on some Qualcomm
+ Snapdragon devices. This device is compatible with eMMC v4.5 and
+ SD 3.0 specifications. Both SD and eMMC devices are supported.
+ Card-detect gpios are not supported.
+
+config MMC_SDHCI_MV
+ bool "SDHCI support on Marvell platform"
+ depends on ARCH_MVEBU
+ depends on MMC_SDHCI
+ help
+ This selects the Secure Digital Host Controller Interface on
+ Marvell platform.
+
+ If you have a controller with this interface, say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_PIC32
+ bool "Microchip PIC32 on-chip SDHCI support"
+ depends on DM_MMC && MACH_PIC32
+ depends on MMC_SDHCI
+ help
+ Support for Microchip PIC32 SDHCI controller.
+
+config MMC_SDHCI_ROCKCHIP
+ bool "Arasan SDHCI controller for Rockchip support"
+ depends on ARCH_ROCKCHIP
+ depends on DM_MMC && BLK
+ depends on MMC_SDHCI
+ help
+ Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
+
+config MMC_SDHCI_S5P
+ bool "SDHCI support on Samsung S5P SoC"
+ depends on MMC_SDHCI
+ help
+ This selects the Secure Digital Host Controller Interface (SDHCI)
+ on Samsung S5P SoCs.
+
+ If you have a controller with this interface, say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_SPEAR
+ bool "SDHCI support on ST SPEAr platform"
+ depends on MMC_SDHCI
+ help
+ This selects the Secure Digital Host Controller Interface (SDHCI)
+ often referrered to as the HSMMC block in some of the ST SPEAR range
+ of SoC
+
+ If you have a controller with this interface, say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_STI
+ bool "SDHCI support for STMicroelectronics SoC"
+ depends on MMC_SDHCI && OF_CONTROL
+ help
+ This selects the Secure Digital Host Controller Interface (SDHCI)
+ on STMicroelectronics STiH410 SoC.
+
+config MMC_SDHCI_XENON
+ bool "SDHCI support for the Xenon SDHCI controller"
+ depends on MMC_SDHCI && DM_MMC && OF_CONTROL
+ help
+ Support for Xenon SDHCI host controller on Marvell Armada 3700
+ 7k/8k ARM SoCs platforms
+
+ If you have a controller with this interface, say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_TANGIER
+ bool "Tangier SDHCI controller support"
+ depends on DM_MMC && BLK
+ depends on MMC_SDHCI
+ help
+ This selects support for SDHCI controller on Tanginer
+ SoC. Note that this controller does not sit on PCI bus and,
+ hence, cannot be enumerated by standard PCI means.
+
+ If you're using an Intel Tangier SoC (available on Intel
+ Edison board), say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_TEGRA
+ bool "SDHCI platform support for the Tegra SD/MMC Controller"
+ depends on TEGRA
+ default y
+ help
+ This selects the Tegra SD/MMC controller. If you have a Tegra
+ platform with SD or MMC devices, say Y here.
+
+ If unsure, say N.
+
+config MMC_SDHCI_ZYNQ
+ bool "Arasan SDHCI controller support"
+ depends on ARCH_ZYNQ || ARCH_ZYNQMP
+ depends on DM_MMC && OF_CONTROL && BLK
+ depends on MMC_SDHCI
+ help
+ Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
+
+config ZYNQ_SDHCI_MAX_FREQ
+ int "Set the maximum frequency of the controller"
+ depends on MMC_SDHCI_ZYNQ
+ help
+ Set the maximum frequency of the controller.
+
+config ZYNQ_SDHCI_MIN_FREQ
+ int "Set the minimum frequency of the controller"
+ depends on MMC_SDHCI_ZYNQ
+ default 0
+ help
+ Set the minimum frequency of the controller.
+
+config MMC_SUNXI
+ bool "Allwinner sunxi SD/MMC Host Controller support"
+ depends on ARCH_SUNXI && !UART0_PORT_F
+ default y
+ help
+ This selects support for the SD/MMC Host Controller on
+ Allwinner sunxi SoCs.
+
+config MMC_SUNXI_HAS_NEW_MODE
+ bool
+ depends on MMC_SUNXI
+
+config GENERIC_ATMEL_MCI
+ bool "Atmel Multimedia Card Interface support"
+ depends on DM_MMC && BLK && ARCH_AT91
+ help
+ This enables support for Atmel High Speed Multimedia Card Interface
+ (HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
+ the SD Memory Card Specification V2.0, the SDIO V2.0 specification
+ and CE-ATA V1.1.
+
+config STM32_SDMMC2
+ bool "STMicroelectronics STM32H7 SD/MMC Host Controller support"
+ depends on DM_MMC && BLK && OF_CONTROL
+ help
+ This selects support for the SD/MMC controller on STM32H7 SoCs.
+ If you have a board based on such a SoC and with a SD/MMC slot,
+ say Y or M here.
+
+config FTSDC010
+ bool "Ftsdc010 SD/MMC controller Support"
+ help
+ This SD/MMC controller is present in Andestech SoCs which is based on Faraday IP.
+
+config FTSDC010_SDIO
+ bool "Support ftsdc010 sdio"
+ default n
+ depends on FTSDC010
+ help
+ This can enable ftsdc010 sdio function.
+
+endif
+
+config TEGRA124_MMC_DISABLE_EXT_LOOPBACK
+ bool "Disable external clock loopback"
+ depends on MMC_SDHCI_TEGRA && TEGRA124
+ help
+ Disable the external clock loopback and use the internal one on SDMMC3
+ as per the SDMMC_VENDOR_MISC_CNTRL_0 register's SDMMC_SPARE1 bits
+ being set to 0xfffd according to the TRM.
+
+ TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
+ approach once proper kernel integration made it mainline.
+
+config FSL_ESDHC
+ bool "Freescale/NXP eSDHC controller support"
+ help
+ This selects support for the eSDHC (enhanced secure digital host
+ controller) found on numerous Freescale/NXP SoCs.
+