mmc: move CONFIG_DWMMC to Kconfig, renaming to CONFIG_MMC_DW
[oweals/u-boot.git] / drivers / mmc / Kconfig
index 998391328970bf82352273b5b8076bdd89e20791..44f58b4202366e09f964e0d2c2261a26369f1518 100644 (file)
@@ -1,10 +1,14 @@
 menu "MMC Host controller Support"
 
 config MMC
-       bool "Enable MMC support"
-       depends on ARCH_SUNXI || SANDBOX
+       bool "MMC/SD/SDIO card support"
+       default ARM || PPC || SANDBOX
        help
-         TODO: Move all architectures to use this option
+         This selects MultiMediaCard, Secure Digital and Secure
+         Digital I/O support.
+
+         If you want MMC/SD/SDIO support, you should say Y here and
+         also to your specific host controller driver.
 
 config DM_MMC
        bool "Enable MMC controllers using Driver Model"
@@ -26,6 +30,8 @@ config DM_MMC_OPS
          option will be removed as soon as all DM_MMC drivers use it, as it
          will the only supported behaviour.
 
+if MMC
+
 config SPL_MMC_TINY
        bool "Tiny MMC framework in SPL"
        help
@@ -44,6 +50,7 @@ config SPL_MMC_TINY
 config MSM_SDHCI
        bool "Qualcomm SDHCI controller"
        depends on DM_MMC && BLK && DM_MMC_OPS
+       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
@@ -53,6 +60,7 @@ config MSM_SDHCI
 config ATMEL_SDHCI
        bool "Atmel SDHCI controller support"
        depends on DM_MMC && BLK && DM_MMC_OPS && 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
@@ -60,9 +68,17 @@ config ATMEL_SDHCI
          It is compliant with the SD Host Controller Standard V3.0
          specification.
 
-config ROCKCHIP_DWMMC
+config MMC_DW
+       bool "Synopsys DesignWare Memory Card Interface"
+       help
+         This selects support for the Synopsys DesignWare Mobile Storage IP
+         block, this provides host support for SD and MMC interfaces, in both
+         PIO, internal DMA mode and external DMA mode.
+
+config MMC_DW_ROCKCHIP
        bool "Rockchip SD/MMC controller support"
        depends on DM_MMC && OF_CONTROL
+       depends on MMC_DW
        help
          This enables support for the Rockchip SD/MMM controller, which is
          based on Designware IP. The device is compatible with at least
@@ -78,26 +94,29 @@ config SH_SDHI
 config PIC32_SDHCI
        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 ZYNQ_SDHCI
        bool "Arasan SDHCI controller support"
        depends on DM_MMC && OF_CONTROL && BLK && DM_MMC_OPS
+       depends on MMC_SDHCI
        help
          Support for Arasan SDHCI host controller on Zynq/ZynqMP ARM SoCs platform
 
 config ROCKCHIP_SDHCI
        bool "Arasan SDHCI controller for Rockchip support"
        depends on DM_MMC && BLK && DM_MMC_OPS
+       depends on MMC_SDHCI
        help
          Support for Arasan SDHCI host controller on Rockchip ARM SoCs platform
 
 config MMC_UNIPHIER
        bool "UniPhier SD/MMC Host Controller support"
        depends on ARCH_UNIPHIER
-       depends on BLK
-       select DM_MMC_OPS
+       depends on BLK && DM_MMC_OPS
+       depends on OF_CONTROL
        help
          This selects support for the SD/MMC Host Controller on UniPhier SoCs.
 
@@ -110,4 +129,113 @@ config SANDBOX_MMC
          improves build coverage for sandbox and makes it easier to detect
          MMC build errors with sandbox.
 
+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_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_CADENCE
+       bool "SDHCI support for the Cadence SD/SDIO/eMMC controller"
+       depends on BLK && DM_MMC_OPS
+       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_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_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.
+
+endif
+
 endmenu
+
+config SYS_FSL_ERRATUM_ESDHC111
+       bool
+
+config SYS_FSL_ERRATUM_ESDHC13
+       bool
+
+config SYS_FSL_ERRATUM_ESDHC135
+       bool
+
+config SYS_FSL_ERRATUM_ESDHC_A001
+       bool