mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-16 01:38:22 +00:00
c4d660d4d0
At present if U-Boot proper uses driver model for MMC, then SPL has to also. While this is desirable, it places a significant barrier to moving to driver model in some cases. For example, with a space-constrained SPL it may be necessary to enable CONFIG_SPL_OF_PLATDATA which involves adjusting some drivers. Add new SPL versions of the options for DM_MMC, DM_MMC_OPS and BLK. By default these follow their non-SPL versions, but this can be changed by boards which need it. Signed-off-by: Simon Glass <sjg@chromium.org>
426 lines
13 KiB
Text
426 lines
13 KiB
Text
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 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.
|
|
|
|
config SPL_DM_MMC
|
|
bool "Enable MMC controllers using Driver Model in SPL"
|
|
depends on SPL_DM && DM_MMC
|
|
default y
|
|
help
|
|
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 SPL_DM_MMC_OPS
|
|
bool "Support MMC controller operations using Driver Model in SPL"
|
|
depends on SPL_DM && DM_MMC_OPS
|
|
default y
|
|
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 MMC_DAVINCI
|
|
bool "TI DAVINCI Multimedia Card Interface support"
|
|
depends on ARCH_DAVINCI
|
|
default y
|
|
help
|
|
This selects the TI DAVINCI Multimedia card Interface.
|
|
If you have an DAVINCI board with a Multimedia Card slot,
|
|
say Y here. If unsure, say N.
|
|
|
|
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_EXYNOS
|
|
bool "Exynos specific extensions for Synopsys DW Memory Card Interface"
|
|
depends on ARCH_EXYNOS
|
|
depends on MMC_DW
|
|
default y
|
|
help
|
|
This selects support for Samsung Exynos SoC specific extensions to the
|
|
Synopsys DesignWare Memory Card Interface driver. Select this option
|
|
for platforms based on Exynos4 and Exynos5 SoC's.
|
|
|
|
config MMC_DW_K3
|
|
bool "K3 specific extensions for Synopsys DW Memory Card Interface"
|
|
depends on MMC_DW
|
|
help
|
|
This selects support for Hisilicon K3 SoC specific extensions to the
|
|
Synopsys DesignWare Memory Card Interface driver. Select this option
|
|
for platforms based on Hisilicon K3 SoC's.
|
|
|
|
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
|
|
SD 3.0, SDIO 3.0 and MMC 4.5 and supports common eMMC chips as well
|
|
as removeable SD and micro-SD cards.
|
|
|
|
config MMC_DW_SOCFPGA
|
|
bool "SOCFPGA specific extensions for Synopsys DW Memory Card Interface"
|
|
depends on ARCH_SOCFPGA
|
|
depends on MMC_DW
|
|
default y
|
|
help
|
|
This selects support for Altera SOCFPGA specific extensions to the
|
|
Synopsys DesignWare Memory Card Interface driver. Select this option
|
|
for platforms based on Altera SOCFPGA.
|
|
|
|
config MMC_MESON_GX
|
|
bool "Meson GX EMMC controller support"
|
|
depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_MESON
|
|
help
|
|
Support for EMMC host controller on Meson GX ARM SoCs platform (S905)
|
|
|
|
config MMC_MXC
|
|
bool "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
|
|
help
|
|
This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
|
|
Multimedia Card Interface. If you have an i.MX or MPC512x platform
|
|
with a Multimedia Card slot, say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MMC_MXS
|
|
bool "Freescale MXS Multimedia Card Interface support"
|
|
help
|
|
This selects the Freescale SSP MMC controller found on MXS based
|
|
platforms like mx23/28.
|
|
|
|
If unsure, say N.
|
|
|
|
config MMC_PCI
|
|
bool "Support for MMC controllers on PCI"
|
|
help
|
|
This selects PCI-based MMC controllers.
|
|
If you have an MMC controller on a PCI bus, say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MMC_OMAP_HS
|
|
bool "TI OMAP High Speed Multimedia Card Interface support"
|
|
select DM_MMC_OPS if DM_MMC
|
|
help
|
|
This selects the TI OMAP High Speed Multimedia card Interface.
|
|
If you have an omap2plus board with a Multimedia Card slot,
|
|
say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MMC_OMAP36XX_PINS
|
|
bool "Enable MMC1 on OMAP36xx/37xx"
|
|
depends on OMAP34XX && MMC_OMAP_HS
|
|
help
|
|
This enables extended-drain in the MMC/SD/SDIO1I/O and
|
|
GPIO-associated I/O cells (gpio_126, gpio_127, and gpio_129)
|
|
specific to the OMAP36xx/37xx using MMC1
|
|
|
|
If you have a controller with this interface, say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config SH_SDHI
|
|
bool "SuperH/Renesas ARM SoCs on-chip SDHI host controller support"
|
|
depends on ARCH_RMOBILE
|
|
help
|
|
Support for the on-chip SDHI host controller on SuperH/Renesas ARM SoCs platform
|
|
|
|
config MMC_UNIPHIER
|
|
bool "UniPhier SD/MMC Host Controller support"
|
|
depends on ARCH_UNIPHIER
|
|
depends on BLK && DM_MMC_OPS
|
|
depends on OF_CONTROL
|
|
help
|
|
This selects support for the SD/MMC Host Controller on UniPhier SoCs.
|
|
|
|
config MMC_SANDBOX
|
|
bool "Sandbox MMC support"
|
|
depends on SANDBOX
|
|
depends on BLK && DM_MMC_OPS && OF_CONTROL
|
|
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.
|
|
|
|
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_ATMEL
|
|
bool "Atmel SDHCI controller support"
|
|
depends on ARCH_AT91
|
|
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 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_MSM
|
|
bool "Qualcomm SDHCI controller"
|
|
depends on 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 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_PIC32
|
|
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 MMC_SDHCI_ROCKCHIP
|
|
bool "Arasan SDHCI controller for Rockchip support"
|
|
depends on ARCH_ROCKCHIP
|
|
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_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.
|
|
|
|
config MMC_SDHCI_STI
|
|
bool "SDHCI support for STMicroelectronics SoC"
|
|
depends on MMC_SDHCI && OF_CONTROL
|
|
help
|
|
This selects the Secure Digital Host Controller Interface (SDHCI)
|
|
on STMicroelectronics STiH410 SoC.
|
|
|
|
config MMC_SDHCI_XENON
|
|
bool "SDHCI support for the Xenon SDHCI controller"
|
|
depends on MMC_SDHCI && DM_MMC && OF_CONTROL
|
|
help
|
|
Support for Xenon SDHCI host controller on Marvell Armada 3700
|
|
7k/8k ARM SoCs platforms
|
|
|
|
If you have a controller with this interface, say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MMC_SDHCI_TANGIER
|
|
bool "Tangier SDHCI controller support"
|
|
depends on DM_MMC && BLK
|
|
depends on MMC_SDHCI
|
|
help
|
|
This selects support for SDHCI controller on Tanginer
|
|
SoC. Note that this controller does not sit on PCI bus and,
|
|
hence, cannot be enumerated by standard PCI means.
|
|
|
|
If you're using an Intel Tangier SoC (available on Intel
|
|
Edison board), say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MMC_SDHCI_TEGRA
|
|
bool "SDHCI platform support for the Tegra SD/MMC Controller"
|
|
depends on TEGRA
|
|
default y
|
|
help
|
|
This selects the Tegra SD/MMC controller. If you have a Tegra
|
|
platform with SD or MMC devices, say Y here.
|
|
|
|
If unsure, say N.
|
|
|
|
config MMC_SDHCI_ZYNQ
|
|
bool "Arasan SDHCI controller support"
|
|
depends on ARCH_ZYNQ || ARCH_ZYNQMP
|
|
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 MMC_SUNXI
|
|
bool "Allwinner sunxi SD/MMC Host Controller support"
|
|
depends on ARCH_SUNXI && !UART0_PORT_F
|
|
default y
|
|
help
|
|
This selects support for the SD/MMC Host Controller on
|
|
Allwinner sunxi SoCs.
|
|
|
|
config GENERIC_ATMEL_MCI
|
|
bool "Atmel Multimedia Card Interface support"
|
|
depends on DM_MMC && BLK && DM_MMC_OPS && ARCH_AT91
|
|
help
|
|
This enables support for Atmel High Speed Multimedia Card Interface
|
|
(HSMCI), which supports the MultiMedia Card (MMC) Specification V4.3,
|
|
the SD Memory Card Specification V2.0, the SDIO V2.0 specification
|
|
and CE-ATA V1.1.
|
|
|
|
endif
|
|
|
|
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.
|
|
|
|
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
|