mmc: nuvoton: Add NPCM7xx mmc driver
[platform/kernel/u-boot.git] / drivers / mmc / Kconfig
index 197aa82..c5e1a1b 100644 (file)
@@ -4,6 +4,7 @@ config MMC
        bool "MMC/SD/SDIO card support"
        default ARM || PPC || SANDBOX
        select HAVE_BLOCK_DEVICE
+       select DM_MMC if DM
        help
          This selects MultiMediaCard, Secure Digital and Secure
          Digital I/O support.
@@ -33,6 +34,7 @@ config MMC_BROKEN_CD
 config DM_MMC
        bool "Enable MMC controllers using Driver Model"
        depends on DM
+       select BLK
        help
          This enables the MultiMediaCard (MMC) uclass which supports MMC and
          Secure Digital I/O (SDIO) cards. Both removable (SD, micro-SD, etc.)
@@ -43,6 +45,7 @@ config DM_MMC
 config SPL_DM_MMC
        bool "Enable MMC controllers using Driver Model in SPL"
        depends on SPL_DM && DM_MMC
+       default n if ARCH_MVEBU && !MVEBU_SPL_BOOT_DEVICE_MMC
        default y
        help
          This enables the MultiMediaCard (MMC) uclass which supports MMC and
@@ -121,7 +124,7 @@ config MMC_IO_VOLTAGE
 
 config SPL_MMC_IO_VOLTAGE
        bool "Support IO voltage configuration in SPL"
-       default n
+       depends on SPL_MMC
        help
          IO voltage configuration allows selecting the voltage level of the IO
          lines (not the level of main supply). This is required for UHS
@@ -152,6 +155,7 @@ config MMC_HS400_ES_SUPPORT
 
 config SPL_MMC_HS400_ES_SUPPORT
        bool "enable HS400 Enhanced Strobe support in SPL"
+       depends on SPL_MMC
        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.
@@ -165,6 +169,7 @@ config MMC_HS400_SUPPORT
 
 config SPL_MMC_HS400_SUPPORT
        bool "enable HS400 support in SPL"
+       depends on SPL_MMC
        select SPL_MMC_HS200_SUPPORT
        help
          The HS400 mode is support by some eMMC. The bus frequency is up to
@@ -178,6 +183,7 @@ config MMC_HS200_SUPPORT
 
 config SPL_MMC_HS200_SUPPORT
        bool "enable HS200 support in SPL"
+       depends on SPL_MMC
        help
          The HS200 mode is support by some eMMC. The bus frequency is up to
          200MHz. This mode requires tuning the IO.
@@ -191,7 +197,6 @@ config MMC_VERBOSE
 
 config MMC_TRACE
        bool "MMC debugging"
-       default n
        help
          This is an option for use by developer. Enable MMC core debugging.
 
@@ -219,7 +224,6 @@ config MMC_DW_CORTINA
        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
@@ -296,6 +300,13 @@ config MMC_MXC
 
          If unsure, say N.
 
+config MMC_OWL
+       bool "Actions OWL Multimedia Card Interface support"
+       depends on ARCH_OWL && DM_MMC && BLK
+       help
+         This selects the OWL SD/MMC host controller found on board
+         based on Actions S700/S900 SoC.
+
 config MMC_MXS
        bool "Freescale MXS Multimedia Card Interface support"
        depends on MX23 || MX28 || MX6 || MX7
@@ -317,13 +328,13 @@ config MMC_PCI
          If you have an MMC controller on a PCI bus, say Y here.
 
 config MMC_OCTEONTX
-       bool "Marvell OcteonTX Multimedia Card Interface support"
-       depends on (ARCH_OCTEONTX || ARCH_OCTEONTX2)
+       bool "Marvell Octeon Multimedia Card Interface support"
+       depends on (ARCH_OCTEON || ARCH_OCTEONTX || ARCH_OCTEONTX2)
        depends on DM_MMC
        help
-         This selects the OcteonTX Multimedia card Interface.
-         If you have an OcteonTX/TX2 board with a Multimedia Card slot,
-         say Y here.
+         This selects the Octeon Multimedia card Interface.
+         If you have an OcteonTX/TX2 or MIPS Octeon board with a
+         Multimedia Card slot, say Y here.
 
          If unsure, say N.
 
@@ -336,14 +347,6 @@ config MVEBU_MMC
 
          If unsure, say N.
 
-config PXA_MMC_GENERIC
-       bool "Support for MMC controllers on PXA"
-       help
-         This selects MMC controllers on PXA.
-         If you are on a PXA architecture, say Y here.
-
-         If unsure, say N.
-
 config MMC_OMAP_HS
        bool "TI OMAP High Speed Multimedia Card Interface support"
        select DM_REGULATOR_PBIAS if DM_MMC && DM_REGULATOR
@@ -472,17 +475,31 @@ config MMC_SDHCI_ADMA
 
 config SPL_MMC_SDHCI_ADMA
        bool "Support SDHCI ADMA2 in SPL"
-       depends on MMC_SDHCI
+       depends on SPL_MMC && MMC_SDHCI
        select MMC_SDHCI_ADMA_HELPERS
        help
          This enables support for the ADMA (Advanced DMA) defined
          in the SD Host Controller Standard Specification Version 3.00 in SPL.
 
+config FIXED_SDHCI_ALIGNED_BUFFER
+       hex "SDRAM address for fixed buffer"
+       depends on SPL && MVEBU_SPL_BOOT_DEVICE_MMC
+       default 0x00180000
+       help
+         On the Marvell Armada 38x when the SPL runs it located in internal
+         SRAM which is the L2 cache locked to memory. When the MMC buffers
+         are located on the stack (or bss), the SDIO controller (SDHCI) can't
+         write into this L2 cache memory.
+
+         This specifies the address of a fixed buffer located in SDRAM that
+         will be used for all SDHCI transfers in the SPL.
+
 config MMC_SDHCI_ASPEED
        bool "Aspeed SDHCI controller"
        depends on ARCH_ASPEED
        depends on DM_MMC
        depends on MMC_SDHCI
+       select MISC
        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
@@ -559,6 +576,16 @@ config MMC_SDHCI_IPROC
 
          If unsure, say N.
 
+config MMC_SDHCI_F_SDH30
+       bool "SDHCI support for Fujitsu Semiconductor F_SDH30"
+       depends on BLK && DM_MMC
+       depends on MMC_SDHCI
+       help
+         This selects the Secure Digital Host Controller Interface (SDHCI)
+         Needed by some Fujitsu SoC for MMC / SD / SDIO support.
+         If you have a controller with this interface, say Y or M here.
+         If unsure, say N.
+
 config MMC_SDHCI_KONA
        bool "SDHCI support on Broadcom KONA platform"
        depends on MMC_SDHCI
@@ -591,6 +618,18 @@ config MMC_SDHCI_MV
 
          If unsure, say N.
 
+config MMC_SDHCI_NPCM
+       bool "SDHCI support on Nuvoton NPCM device"
+       depends on MMC_SDHCI
+       depends on DM_MMC
+       help
+         This selects the Secure Digital Host Controller Interface (SDHCI)
+         on Nuvoton NPCM device.
+
+         If you have a controller with this interface, say Y here.
+
+         If unsure, say N.
+
 config MMC_SDHCI_PIC32
        bool "Microchip PIC32 on-chip SDHCI support"
        depends on DM_MMC && MACH_PIC32
@@ -711,7 +750,7 @@ config ZYNQ_HISPD_BROKEN
 
 config MMC_SUNXI
        bool "Allwinner sunxi SD/MMC Host Controller support"
-       depends on ARCH_SUNXI && !UART0_PORT_F
+       depends on ARCH_SUNXI
        default y
        help
          This selects support for the SD/MMC Host Controller on
@@ -725,6 +764,15 @@ config MMC_SUNXI_HAS_MODE_SWITCH
        bool
        depends on MMC_SUNXI
 
+config MMC_PITON
+       bool "MMC support for OpenPiton SoC"
+       depends on DM_MMC && BLK
+       help
+         This selects support for the SD host controller on OpenPiton SoC.
+         Note that this SD controller directly exposes the contents of the
+         SD card as memory mapped, so there is no manual configuration
+         required
+
 config GENERIC_ATMEL_MCI
        bool "Atmel Multimedia Card Interface support"
        depends on DM_MMC && BLK && ARCH_AT91
@@ -749,7 +797,6 @@ config FTSDC010
 
 config FTSDC010_SDIO
        bool "Support ftsdc010 sdio"
-       default n
        depends on FTSDC010
        help
                This can enable ftsdc010 sdio function.
@@ -784,7 +831,6 @@ config FSL_ESDHC_SUPPORT_ADMA2
 config FSL_ESDHC_33V_IO_RELIABILITY_WORKAROUND
        bool "enable eSDHC workaround for 3.3v IO reliability issue"
        depends on FSL_ESDHC && DM_MMC
-       default n
        help
          When eSDHC operates at 3.3v, damage can accumulate in an internal
          level shifter at a higher than expected rate. The faster the interface
@@ -796,6 +842,22 @@ config FSL_ESDHC_33V_IO_RELIABILITY_WORKAROUND
          This option assumes no hotplug, and u-boot has to make all the way to
          to linux to use 1.8v UHS-I speed mode if has card.
 
+config FSL_ESDHC_VS33_NOT_SUPPORT
+       bool "3.3V power supply not supported"
+       depends on FSL_ESDHC
+       help
+         For eSDHC, power supply is through peripheral circuit. 3.3V support is
+         common. Select this if 3.3V power supply not supported.
+
+config SYS_FSL_ESDHC_DEFAULT_BUS_WIDTH
+       int
+       depends on FSL_ESDHC
+       default 1
+
+config ESDHC_DETECT_QUIRK
+       bool "QIXIS-based eSDHC quirk detection"
+       depends on FSL_ESDHC && FSL_QIXIS
+
 config FSL_ESDHC_IMX
        bool "Freescale/NXP i.MX eSDHC controller support"
        help
@@ -804,7 +866,7 @@ config FSL_ESDHC_IMX
 
 config FSL_USDHC
        bool "Freescale/NXP i.MX uSDHC controller support"
-       depends on MX6 || MX7 ||ARCH_MX7ULP || IMX8 || IMX8M || IMXRT || TARGET_S32V234EVB
+       depends on MX6 || MX7 ||ARCH_MX7ULP || IMX8 || IMX8M || IMX8ULP || IMX9 || IMXRT
        select FSL_ESDHC_IMX
        help
          This enables the Ultra Secured Digital Host Controller enhancements