menu "MMC Host controller Support"

config MMC
	bool "Enable MMC support"
	depends on ARCH_SUNXI
	help
	  TODO: Move all architectures to use this option

config DM_MMC
	bool "Enable MMC controllers using Driver Model"
	depends on DM
	help
	  This enables the MultiMediaCard (MMC) uclass which suports MMC and
	  Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
	  and non-removable (e.g. eMMC chip) devices are supported. These
	  appear as block devices in U-Boot and can support filesystems such
	  as EXT4 and FAT.

config MSM_SDHCI
	bool "Qualcomm SDHCI controller"
	depends on DM_MMC
	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 ROCKCHIP_DWMMC
	bool "Rockchip SD/MMC controller support"
	depends on DM_MMC && OF_CONTROL
	help
	  This enables support for the Rockchip SD/MMM controller, which is
	  based on Designware IP. The device is compatible with at least
	  SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
	  as removeable SD and micro-SD cards.

config SH_SDHI
	bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
	depends on RMOBILE
	help
	  Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform

config PIC32_SDHCI
	bool "Microchip PIC32 on-chip SDHCI support"
	depends on DM_MMC && MACH_PIC32
	help
	  Support for Microchip PIC32 SDHCI controller.

config ZYNQ_SDHCI
	bool "Arasan SDHCI controller support"
	depends on DM_MMC && OF_CONTROL
	help
	  Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform

config MMC_UNIPHIER
	bool "UniPhier SD/MMC Host Controller support"
	depends on ARCH_UNIPHIER
	help
	  This selects support for the SD/MMC Host Controller on UniPhier SoCs.

endmenu
