mmc: move CONFIG_SDHCI to Kconfig, renaming to CONFIG_MMC_SDHCI
[oweals/u-boot.git] / drivers / mmc / Kconfig
index 6277f92ef5b7cd911ba0cc82e575da41353be271..7d7ef370d4e2b166e5e0938162156c4bb6514a55 100644 (file)
@@ -1,15 +1,73 @@
 menu "MMC Host controller Support"
 
+config MMC
+       bool "MMC/SD/SDIO card support"
+       default ARM || PPC || SANDBOX
+       help
+         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"
        depends on DM
        help
-         This enables the MultiMediaCard (MMC) uclass which suports MMC and
+         This enables the MultiMediaCard (MMC) uclass which supports 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 DM_MMC_OPS
+       bool "Support MMC controller operations using Driver Model"
+       depends on DM_MMC
+       default y if DM_MMC
+       help
+         Driver model provides a means of supporting device operations. This
+         option moves MMC operations under the control of driver model. The
+         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
+         Enable MMC framework tinification support. This option is useful if
+         if your SPL is extremely size constrained. Heed the warning, enable
+         this option if and only if you know exactly what you are doing, if
+         you are reading this help text, you most likely have no idea :-)
+
+         The MMC framework is reduced to bare minimum to be useful. No malloc
+         support is needed for the MMC framework operation with this option
+         enabled. The framework supports exactly one MMC device and exactly
+         one MMC driver. The MMC driver can be adjusted to avoid any malloc
+         operations too, which can remove the need for malloc support in SPL
+         and thus further reduce footprint.
+
+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
+          SD 3.0 specifications. Both SD and eMMC devices are supported.
+         Card-detect gpios are not supported.
+
+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
+         Memory Card Specification V3.0, and the SDIO V3.0 specification.
+         It is compliant with the SD Host Controller Standard V3.0
+         specification.
+
 config ROCKCHIP_DWMMC
        bool "Rockchip SD/MMC controller support"
        depends on DM_MMC && OF_CONTROL
@@ -25,4 +83,55 @@ config SH_SDHI
        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
+       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
+       help
+         This selects support for the SD/MMC Host Controller on UniPhier SoCs.
+
+config SANDBOX_MMC
+       bool "Sandbox MMC support"
+       depends on MMC && SANDBOX
+       help
+         This select a dummy sandbox MMC driver. At present this does nothing
+         other than allow sandbox to be build with MMC support. This
+         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.
+
+endif
+
 endmenu