menuconfig MCI
	bool "MCI drivers"
	select DISK
	help
	  Add support for MCI drivers, used to handle MMC and SD cards

if MCI

comment "--- Feature list ---"

config MCI_STARTUP
	bool "Probe on system start"
	help
	  Say 'y' here if the MCI framework should probe for attached MCI cards
	  on system start up. This is required if the card carries barebox's
	  environment (for example on systems where the MCI card is the sole
	  bootmedia). Otherwise probing run on demand with "mci*.probe=1"

config MCI_INFO
	bool "MCI Info"
	depends on CMD_DEVINFO
	default y
	help
	  This entry adds more info about the attached MCI card, when the
	  'devinfo' command is used on the mci device.

config MCI_WRITE
	bool "Support writing to MCI cards"
	default y
	select DISK_WRITE

config MCI_MMC_BOOT_PARTITIONS
	bool "support MMC boot partitions"

comment "--- MCI host drivers ---"

config MCI_DW
	bool "Synopsys DesignWare Memory Card Interface"
	depends on ARM
	help
	  This selects support for the Synopsys DesignWare Mobile Storage IP
	  block, this provides host support for SD and MMC interfaces, in both
	  PIO and external DMA modes.

config MCI_MXS
	bool "i.MX23/i.MX28"
	depends on ARCH_MXS
	help
	  Enable this entry to add support to read and write SD cards on a
	  i.MX23/i.MX28 based system.

config MCI_S3C
	bool "S3C"
	depends on ARCH_S3C24xx
	help
	  Enable this entry to add support to read and write SD cards on a
	  Samsung S3C24xx based system.

config MCI_BCM2835
	bool "MCI support for BCM2835"
	depends on ARCH_BCM2835

config MCI_IMX
	bool "i.MX"
	depends on ARCH_IMX27 || ARCH_IMX31
	help
	  Enable this entry to add support to read and write SD cards on a
	  Freescale i.MX based system.

config MCI_IMX_ESDHC
	bool "i.MX esdhc"
	depends on ARCH_IMX
	help
	  Enable this entry to add support to read and write SD cards on a
	  Freescale i.MX25/35/51 based system.

config MCI_IMX_ESDHC_PIO
	bool "use PIO mode"
	depends on MCI_IMX_ESDHC
	help
	  mostly useful for debugging. Normally you should use DMA.

config MCI_OMAP_HSMMC
	bool "OMAP HSMMC"
	depends on ARCH_OMAP4 || ARCH_OMAP3 || ARCH_AM33XX
	help
	  Enable this entry to add support to read and write SD cards on
	  both OMAP3 and OMAP4 based systems.

config MCI_PXA
	bool "PXA"
	depends on ARCH_PXA
	help
	  Enable this entry to add support to read and write SD cards on a
	  XScale PXA25x / PXA27x based system.

config MCI_ATMEL
	bool "ATMEL (AT91)"
	depends on ARCH_AT91
	help
	  Enable this entry to add support to read and write SD cards on a
	  Atmel AT91.

config MCI_MMCI
	bool "ARM PL180 MMCI"
	depends on ARM_AMBA
	help
	  Enable this entry to add support to read and write SD cards on a
	  ARM AMBA PL180.

config MCI_TEGRA
	bool "Tegra SD/MMC"
	depends on ARCH_TEGRA
	help
	  Enable this to support SD and MMC card read/write on a Tegra based
	  systems.

config MCI_SPI
	bool "MMC/SD over SPI"
	select CRC7
	depends on SPI
	help
	  Some systems access MMC/SD/SDIO cards using a SPI controller
	  instead of using a "native" MMC/SD/SDIO controller. This has a
	  disadvantage of being relatively high overhead, but a compensating
	  advantage of working on many systems without dedicated MMC/SD/SDIO
	  controllers.

config MMC_SPI_CRC_ON
	bool "Enable CRC protection for transfers"
	select CRC16
	depends on MCI_SPI
	help
	  Enable CRC protection for transfers

endif
