Merge branch 'next'
[oweals/u-boot.git] / drivers / mmc / Kconfig
index c23299ea962b6f435071550de5d6693e4c303a6b..bb38787eca619c6bdc453949c816e6455a15d5fb 100644 (file)
@@ -46,6 +46,24 @@ config SPL_DM_MMC
 
 if MMC
 
 
 if MMC
 
+config MMC_SPI
+       bool "Support for SPI-based MMC controller"
+       depends on DM_MMC && DM_SPI
+       help
+         This selects SPI-based MMC controllers.
+         If you have an MMC controller on a SPI bus, say Y here.
+
+         If unsure, say N.
+
+config MMC_SPI_CRC_ON
+       bool "Support CRC for SPI-based MMC controller"
+       depends on MMC_SPI
+       default y
+       help
+         This enables CRC for SPI-based MMC controllers.
+
+         If unsure, say N.
+
 config ARM_PL180_MMCI
        bool "ARM AMBA Multimedia Card Interface and compatible support"
        depends on DM_MMC && OF_CONTROL
 config ARM_PL180_MMCI
        bool "ARM AMBA Multimedia Card Interface and compatible support"
        depends on DM_MMC && OF_CONTROL
@@ -61,7 +79,7 @@ config MMC_QUIRKS
        help
          Some cards and hosts may sometimes behave unexpectedly (quirks).
          This option enable workarounds to handle those quirks. Some of them
        help
          Some cards and hosts may sometimes behave unexpectedly (quirks).
          This option enable workarounds to handle those quirks. Some of them
-         are enabled by default, other may require additionnal flags or are
+         are enabled by default, other may require additional flags or are
          enabled by the host driver.
 
 config MMC_HW_PARTITIONING
          enabled by the host driver.
 
 config MMC_HW_PARTITIONING
@@ -117,6 +135,18 @@ config SPL_MMC_UHS_SUPPORT
          cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
          frequency can go up to 208MHz (SDR104)
 
          cards. The IO voltage must be switchable from 3.3v to 1.8v. The bus
          frequency can go up to 208MHz (SDR104)
 
+config MMC_HS400_ES_SUPPORT
+       bool "enable HS400 Enhanced Strobe support"
+       help
+         The HS400 Enhanced Strobe mode is support by some eMMC. The bus
+         frequency is up to 200MHz. This mode does not tune the IO.
+
+config SPL_MMC_HS400_ES_SUPPORT
+       bool "enable HS400 Enhanced Strobe support in SPL"
+       help
+         The HS400 Enhanced Strobe mode is support by some eMMC. The bus
+         frequency is up to 200MHz. This mode does not tune the IO.
+
 config MMC_HS400_SUPPORT
        bool "enable HS400 support"
        select MMC_HS200_SUPPORT
 config MMC_HS400_SUPPORT
        bool "enable HS400 support"
        select MMC_HS200_SUPPORT
@@ -126,6 +156,7 @@ config MMC_HS400_SUPPORT
 
 config SPL_MMC_HS400_SUPPORT
        bool "enable HS400 support in SPL"
 
 config SPL_MMC_HS400_SUPPORT
        bool "enable HS400 support in SPL"
+       select SPL_MMC_HS200_SUPPORT
        help
          The HS400 mode is support by some eMMC. The bus frequency is up to
          200MHz. This mode requires tuning the IO.
        help
          The HS400 mode is support by some eMMC. The bus frequency is up to
          200MHz. This mode requires tuning the IO.
@@ -136,7 +167,6 @@ config MMC_HS200_SUPPORT
          The HS200 mode is support by some eMMC. The bus frequency is up to
          200MHz. This mode requires tuning the IO.
 
          The HS200 mode is support by some eMMC. The bus frequency is up to
          200MHz. This mode requires tuning the IO.
 
-
 config SPL_MMC_HS200_SUPPORT
        bool "enable HS200 support in SPL"
        help
 config SPL_MMC_HS200_SUPPORT
        bool "enable HS200 support in SPL"
        help
@@ -158,21 +188,6 @@ config MMC_TRACE
 
          If you need to see the MMC core message, say Y.
 
 
          If you need to see the MMC core message, say Y.
 
-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 MMC_DAVINCI
        bool "TI DAVINCI Multimedia Card Interface support"
        depends on ARCH_DAVINCI
 config MMC_DAVINCI
        bool "TI DAVINCI Multimedia Card Interface support"
        depends on ARCH_DAVINCI
@@ -190,6 +205,17 @@ config MMC_DW
          block, this provides host support for SD and MMC interfaces, in both
          PIO, internal DMA mode and external DMA mode.
 
          block, this provides host support for SD and MMC interfaces, in both
          PIO, internal DMA mode and external DMA mode.
 
+config MMC_DW_CORTINA
+       bool "Cortina specific extensions for Synopsys DW Memory Card Interface"
+       depends on DM_MMC
+       depends on MMC_DW
+       depends on BLK
+       default n
+       help
+         This selects support for Cortina SoC specific extensions to the
+         Synopsys DesignWare Memory Card Interface driver. Select this option
+         for platforms based on Cortina CAxxxx Soc's.
+
 config MMC_DW_EXYNOS
        bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
        depends on ARCH_EXYNOS
 config MMC_DW_EXYNOS
        bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
        depends on ARCH_EXYNOS
@@ -405,6 +431,17 @@ config SPL_MMC_SDHCI_ADMA
          This enables support for the ADMA (Advanced DMA) defined
          in the SD Host Controller Standard Specification Version 3.00 in SPL.
 
          This enables support for the ADMA (Advanced DMA) defined
          in the SD Host Controller Standard Specification Version 3.00 in SPL.
 
+config MMC_SDHCI_ASPEED
+       bool "Aspeed SDHCI controller"
+       depends on ARCH_ASPEED
+       depends on DM_MMC
+       depends on MMC_SDHCI
+       help
+         Enables support for the Aspeed SDHCI 2.0 controller present on Aspeed
+         SoCs. This device is compatible with SD 3.0 and/or MMC 4.3
+         specifications. On the AST2600, the device is also compatible with
+         MMC 5.1 and eMMC 3.0.
+
 config MMC_SDHCI_ATMEL
        bool "Atmel SDHCI controller support"
        depends on ARCH_AT91
 config MMC_SDHCI_ATMEL
        bool "Atmel SDHCI controller support"
        depends on ARCH_AT91
@@ -453,14 +490,26 @@ config MMC_SDHCI_CADENCE
 
          If unsure, say N.
 
 
          If unsure, say N.
 
-config MMC_SDHCI_K3_ARASAN
-       bool "Arasan SDHCI controller for TI's K3 based SoCs"
+config MMC_SDHCI_AM654
+       bool "SDHCI Controller on TI's Am654 devices"
        depends on ARCH_K3
        depends on MMC_SDHCI
        depends on DM_MMC && OF_CONTROL && BLK
        depends on ARCH_K3
        depends on MMC_SDHCI
        depends on DM_MMC && OF_CONTROL && BLK
+       depends on REGMAP
        help
        help
-         Support for Arasan SDHCI host controller on Texas Instruments'
-         K3 family based SoC platforms
+         Support for Secure Digital Host Controller Interface (SDHCI)
+         controllers present on TI's AM654 SOCs.
+
+config MMC_SDHCI_IPROC
+       bool "SDHCI support for the iProc SD/MMC Controller"
+       depends on MMC_SDHCI
+       help
+         This selects the iProc SD/MMC controller.
+
+         If you have a Broadcom IPROC platform with SD or MMC devices,
+         say Y or M here.
+
+         If unsure, say N.
 
 config MMC_SDHCI_KONA
        bool "SDHCI support on Broadcom KONA platform"
 
 config MMC_SDHCI_KONA
        bool "SDHCI support on Broadcom KONA platform"
@@ -575,6 +624,17 @@ config MMC_SDHCI_TEGRA
 
          If unsure, say N.
 
 
          If unsure, say N.
 
+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 MMC_SDHCI_ZYNQ
        bool "Arasan SDHCI controller support"
        depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
 config MMC_SDHCI_ZYNQ
        bool "Arasan SDHCI controller support"
        depends on ARCH_ZYNQ || ARCH_ZYNQMP || ARCH_VERSAL
@@ -596,6 +656,12 @@ config ZYNQ_SDHCI_MIN_FREQ
        help
          Set the minimum frequency of the controller.
 
        help
          Set the minimum frequency of the controller.
 
+config ZYNQ_HISPD_BROKEN
+       bool "High speed broken for Zynq SDHCI controller"
+       depends on MMC_SDHCI_ZYNQ
+       help
+         Set if high speed mode is broken.
+
 config MMC_SUNXI
        bool "Allwinner sunxi SD/MMC Host Controller support"
        depends on ARCH_SUNXI && !UART0_PORT_F
 config MMC_SUNXI
        bool "Allwinner sunxi SD/MMC Host Controller support"
        depends on ARCH_SUNXI && !UART0_PORT_F
@@ -643,7 +709,7 @@ config FTSDC010_SDIO
 
 config MMC_MTK
        bool "MediaTek SD/MMC Card Interface support"
 
 config MMC_MTK
        bool "MediaTek SD/MMC Card Interface support"
-       depends on ARCH_MEDIATEK
+       depends on ARCH_MEDIATEK || ARCH_MTMIPS
        depends on BLK && DM_MMC
        depends on OF_CONTROL
        help
        depends on BLK && DM_MMC
        depends on OF_CONTROL
        help
@@ -654,22 +720,24 @@ config MMC_MTK
 
 endif
 
 
 endif
 
-config TEGRA124_MMC_DISABLE_EXT_LOOPBACK
-       bool "Disable external clock loopback"
-       depends on MMC_SDHCI_TEGRA && TEGRA124
+config FSL_ESDHC
+       bool "Freescale/NXP eSDHC controller support"
        help
        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.
+         This selects support for the eSDHC (Enhanced Secure Digital Host
+         Controller) found on numerous Freescale/NXP SoCs.
 
 
-         TODO(marcel.ziswiler@toradex.com): Move to device tree controlled
-         approach once proper kernel integration made it mainline.
+config FSL_ESDHC_IMX
+       bool "Freescale/NXP i.MX eSDHC controller support"
+       help
+         This selects support for the i.MX eSDHC (Enhanced Secure Digital Host
+         Controller) found on numerous Freescale/NXP SoCs.
 
 
-config FSL_ESDHC
-       bool "Freescale/NXP eSDHC controller support"
+config FSL_USDHC
+       bool "Freescale/NXP i.MX uSDHC controller support"
+       depends on MX6 || MX7 ||ARCH_MX7ULP || IMX8 || IMX8M || IMXRT || TARGET_S32V234EVB
+       select FSL_ESDHC_IMX
        help
        help
-         This selects support for the eSDHC (enhanced secure digital host
-         controller) found on numerous Freescale/NXP SoCs.
+         This enables the Ultra Secured Digital Host Controller enhancements
 
 endmenu
 
 
 endmenu