| # SPDX-License-Identifier: GPL-2.0-only |
| # |
| # MMC/SD host controller drivers |
| # |
| |
| comment "MMC/SD/SDIO Host Controller Drivers" |
| |
| config MMC_DEBUG |
| bool "MMC host drivers debugging" |
| depends on MMC != n |
| help |
| This is an option for use by developers; most people should |
| say N here. This enables MMC host driver debugging. And further |
| added host drivers please don't invent their private macro for |
| debugging. |
| |
| config MMC_ARMMMCI |
| tristate "ARM AMBA Multimedia Card Interface support" |
| depends on ARM_AMBA |
| help |
| This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card |
| Interface (PL180 and PL181) support. If you have an ARM(R) |
| platform with a Multimedia Card slot, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_QCOM_DML |
| bool "Qualcomm Data Mover for SD Card Controller" |
| depends on MMC_ARMMMCI && QCOM_BAM_DMA |
| default y |
| help |
| This selects the Qualcomm Data Mover lite/local on SD Card controller. |
| This option will enable the dma to work correctly, if you are using |
| Qcom SOCs and MMC, you would probably need this option to get DMA working. |
| |
| if unsure, say N. |
| |
| config MMC_STM32_SDMMC |
| bool "STMicroelectronics STM32 SDMMC Controller" |
| depends on MMC_ARMMMCI |
| default y |
| help |
| This selects the STMicroelectronics STM32 SDMMC host controller. |
| If you have a STM32 sdmmc host with internal DMA say Y here. |
| |
| If unsure, say N. |
| |
| config MMC_PXA |
| tristate "Intel PXA25x/26x/27x Multimedia Card Interface support" |
| depends on ARCH_PXA |
| help |
| This selects the Intel(R) PXA(R) Multimedia card Interface. |
| If you have a PXA(R) platform with a Multimedia Card slot, |
| say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI |
| tristate "Secure Digital Host Controller Interface support" |
| depends on HAS_DMA |
| 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 or M here. You |
| also need to enable an appropriate bus interface. |
| |
| 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_BIG_ENDIAN_32BIT_BYTE_SWAPPER |
| bool |
| depends on MMC_SDHCI |
| select MMC_SDHCI_IO_ACCESSORS |
| help |
| This option is selected by drivers running on big endian hosts |
| and performing I/O to a SDHCI controller through a bus that |
| implements a hardware byte swapper using a 32-bit datum. |
| This endian mapping mode is called "data invariance" and |
| has the effect of scrambling the addresses and formats of data |
| accessed in sizes other than the datum size. |
| |
| This is the case for the Nintendo Wii SDHCI. |
| |
| config MMC_SDHCI_PCI |
| tristate "SDHCI support on PCI bus" |
| depends on MMC_SDHCI && PCI |
| select MMC_CQHCI |
| select IOSF_MBI if X86 |
| select MMC_SDHCI_IO_ACCESSORS |
| help |
| This selects the PCI Secure Digital Host Controller Interface. |
| Most controllers found today are PCI devices. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_RICOH_MMC |
| bool "Ricoh MMC Controller Disabler" |
| depends on MMC_SDHCI_PCI |
| default y |
| help |
| This adds a pci quirk to disable Ricoh MMC Controller. This |
| proprietary controller is unnecessary because the SDHCI driver |
| supports MMC cards on the SD controller, but if it is not |
| disabled, it will steal the MMC cards away - rendering them |
| useless. It is safe to select this even if you don't |
| have a Ricoh based card reader. |
| |
| If unsure, say Y. |
| |
| config MMC_SDHCI_ACPI |
| tristate "SDHCI support for ACPI enumerated SDHCI controllers" |
| depends on MMC_SDHCI && ACPI && PCI |
| select IOSF_MBI if X86 |
| help |
| This selects support for ACPI enumerated SDHCI controllers, |
| identified by ACPI Compatibility ID PNP0D40 or specific |
| ACPI Hardware IDs. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_PLTFM |
| tristate "SDHCI platform and OF driver helper" |
| depends on MMC_SDHCI |
| help |
| This selects the common helper functions support for Secure Digital |
| Host Controller Interface based platform and OF drivers. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_OF_ARASAN |
| tristate "SDHCI OF support for the Arasan SDHCI controllers" |
| depends on MMC_SDHCI_PLTFM |
| depends on OF |
| depends on COMMON_CLK |
| select MMC_CQHCI |
| help |
| This selects the Arasan Secure Digital Host Controller Interface |
| (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_OF_ASPEED |
| tristate "SDHCI OF support for the ASPEED SDHCI controller" |
| depends on MMC_SDHCI_PLTFM |
| depends on OF && OF_ADDRESS |
| select MMC_SDHCI_IO_ACCESSORS |
| help |
| This selects the ASPEED Secure Digital Host Controller Interface. |
| |
| If you have a controller with this interface, say Y or M here. You |
| also need to enable an appropriate bus interface. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_OF_ASPEED_TEST |
| bool "Tests for the ASPEED SDHCI driver" |
| depends on MMC_SDHCI_OF_ASPEED && KUNIT=y |
| help |
| Enable KUnit tests for the ASPEED SDHCI driver. Select this |
| option only if you will boot the kernel for the purpose of running |
| unit tests (e.g. under UML or qemu). |
| |
| The KUnit tests generally exercise parts of the driver that do not |
| directly touch the hardware, for example, the phase correction |
| calculations. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_OF_AT91 |
| tristate "SDHCI OF support for the Atmel SDMMC controller" |
| depends on MMC_SDHCI_PLTFM |
| depends on OF && HAVE_CLK |
| help |
| This selects the Atmel SDMMC driver |
| |
| config MMC_SDHCI_OF_ESDHC |
| tristate "SDHCI OF support for the Freescale eSDHC controller" |
| depends on MMC_SDHCI_PLTFM |
| depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST |
| select MMC_SDHCI_IO_ACCESSORS |
| select FSL_GUTS |
| help |
| This selects the Freescale eSDHC controller support. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_OF_HLWD |
| tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers" |
| depends on MMC_SDHCI_PLTFM |
| depends on PPC |
| select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER |
| help |
| This selects the Secure Digital Host Controller Interface (SDHCI) |
| found in the "Hollywood" chipset of the Nintendo Wii video game |
| console. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_OF_DWCMSHC |
| tristate "SDHCI OF support for the Synopsys DWC MSHC" |
| depends on MMC_SDHCI_PLTFM |
| depends on OF |
| depends on COMMON_CLK |
| help |
| This selects Synopsys DesignWare Cores Mobile Storage Controller |
| support. |
| If you have a controller with this interface, say Y or M here. |
| If unsure, say N. |
| |
| config MMC_SDHCI_OF_SPARX5 |
| tristate "SDHCI OF support for the MCHP Sparx5 SoC" |
| depends on MMC_SDHCI_PLTFM |
| depends on ARCH_SPARX5 || COMPILE_TEST |
| help |
| This selects the Secure Digital Host Controller Interface (SDHCI) |
| found in the MCHP Sparx5 SoC. |
| |
| If you have a Sparx5 SoC with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_CADENCE |
| tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller" |
| depends on MMC_SDHCI_PLTFM |
| depends on OF |
| help |
| This selects the Cadence SD/SDIO/eMMC driver. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_CNS3XXX |
| tristate "SDHCI support on the Cavium Networks CNS3xxx SoC" |
| depends on ARCH_CNS3XXX || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| help |
| This selects the SDHCI support for CNS3xxx System-on-Chip devices. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_ESDHC_MCF |
| tristate "SDHCI support for the Freescale eSDHC ColdFire controller" |
| depends on M5441x |
| depends on MMC_SDHCI_PLTFM |
| select MMC_SDHCI_IO_ACCESSORS |
| help |
| This selects the Freescale eSDHC controller support for |
| ColdFire mcf5441x devices. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_ESDHC_IMX |
| tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller" |
| depends on ARCH_MXC || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| depends on OF |
| select MMC_SDHCI_IO_ACCESSORS |
| select MMC_CQHCI |
| help |
| This selects the Freescale eSDHC/uSDHC controller support |
| found on i.MX25, i.MX35 i.MX5x and i.MX6x. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_DOVE |
| tristate "SDHCI support on Marvell's Dove SoC" |
| depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| select MMC_SDHCI_IO_ACCESSORS |
| help |
| This selects the Secure Digital Host Controller Interface in |
| Marvell's Dove SoC. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_TEGRA |
| tristate "SDHCI platform support for the Tegra SD/MMC Controller" |
| depends on ARCH_TEGRA || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| select MMC_SDHCI_IO_ACCESSORS |
| select MMC_CQHCI |
| help |
| This selects the Tegra SD/MMC controller. If you have a Tegra |
| platform with SD or MMC devices, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_S3C |
| tristate "SDHCI support on Samsung S3C SoC" |
| depends on MMC_SDHCI |
| depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST |
| help |
| This selects the Secure Digital Host Controller Interface (SDHCI) |
| often referrered to as the HSMMC block in some of the Samsung S3C |
| range of SoC. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_PXAV3 |
| tristate "Marvell MMP2 SD Host Controller support (PXAV3)" |
| depends on HAVE_CLK |
| depends on MMC_SDHCI_PLTFM |
| depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST |
| default CPU_MMP2 |
| help |
| This selects the Marvell(R) PXAV3 SD Host Controller. |
| If you have a MMP2 platform with SD Host Controller |
| and a card slot, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_PXAV2 |
| tristate "Marvell PXA9XX SD Host Controller support (PXAV2)" |
| depends on HAVE_CLK |
| depends on MMC_SDHCI_PLTFM |
| depends on ARCH_MMP || COMPILE_TEST |
| default CPU_PXA910 |
| help |
| This selects the Marvell(R) PXAV2 SD Host Controller. |
| If you have a PXA9XX platform with SD Host Controller |
| and a card slot, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_SPEAR |
| tristate "SDHCI support on ST SPEAr platform" |
| depends on MMC_SDHCI |
| depends on PLAT_SPEAR || COMPILE_TEST |
| depends on OF |
| 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 or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_S3C_DMA |
| bool "DMA support on S3C SDHCI" |
| depends on MMC_SDHCI_S3C |
| help |
| Enable DMA support on the Samsung S3C SDHCI glue. The DMA |
| has proved to be problematic if the controller encounters |
| certain errors, and thus should be treated with care. |
| |
| YMMV. |
| |
| config MMC_SDHCI_BCM_KONA |
| tristate "SDHCI support on Broadcom KONA platform" |
| depends on ARCH_BCM_MOBILE || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| 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 or M here. |
| |
| config MMC_SDHCI_F_SDH30 |
| tristate "SDHCI support for Fujitsu Semiconductor F_SDH30" |
| depends on MMC_SDHCI_PLTFM |
| depends on OF || ACPI |
| 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_MILBEAUT |
| tristate "SDHCI support for Socionext Milbeaut Serieas using F_SDH30" |
| depends on MMC_SDHCI_PLTFM |
| depends on OF |
| help |
| This selects the Secure Digital Host Controller Interface (SDHCI) |
| Needed by Milbeaut 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_IPROC |
| tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller" |
| depends on ARCH_BCM2835 || ARCH_BCM_IPROC || ARCH_BRCMSTB || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| depends on OF || ACPI |
| default ARCH_BCM_IPROC |
| select MMC_SDHCI_IO_ACCESSORS |
| help |
| This selects the iProc SD/MMC controller. |
| |
| If you have a BCM2835 or IPROC platform with SD or MMC devices, |
| say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_MESON_GX |
| tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support" |
| depends on ARCH_MESON|| COMPILE_TEST |
| depends on COMMON_CLK |
| help |
| This selects support for the Amlogic SD/MMC Host Controller |
| found on the S905/GX*/AXG family of SoCs. This controller is |
| MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces. |
| |
| If you have a controller with this interface, say Y here. |
| |
| config MMC_MESON_MX_SDHC |
| tristate "Amlogic Meson SDHC Host Controller support" |
| depends on (ARM && ARCH_MESON) || COMPILE_TEST |
| depends on COMMON_CLK |
| depends on OF |
| help |
| This selects support for the SDHC Host Controller on |
| Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs. |
| The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x |
| with 1, 4, and 8 bit bus widths. |
| |
| If you have a controller with this interface, say Y or M here. |
| If unsure, say N. |
| |
| config MMC_MESON_MX_SDIO |
| tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support" |
| depends on ARCH_MESON || COMPILE_TEST |
| depends on COMMON_CLK |
| depends on OF_ADDRESS |
| help |
| This selects support for the SD/MMC Host Controller on |
| Amlogic Meson6, Meson8 and Meson8b SoCs. |
| |
| If you have a controller with this interface, say Y or M here. |
| If unsure, say N. |
| |
| config MMC_MOXART |
| tristate "MOXART SD/MMC Host Controller support" |
| depends on ARCH_MOXART || COMPILE_TEST |
| help |
| This selects support for the MOXART SD/MMC Host Controller. |
| MOXA provides one multi-functional card reader which can |
| be found on some embedded hardware such as UC-7112-LX. |
| If you have a controller with this interface, say Y here. |
| |
| config MMC_SDHCI_ST |
| tristate "SDHCI support on STMicroelectronics SoC" |
| depends on ARCH_STI || FSP2 || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| select MMC_SDHCI_IO_ACCESSORS |
| help |
| This selects the Secure Digital Host Controller Interface in |
| STMicroelectronics SoCs. |
| |
| If you have a controller with this interface, say Y or M here. |
| If unsure, say N. |
| |
| config MMC_OMAP |
| tristate "TI OMAP Multimedia Card Interface support" |
| depends on ARCH_OMAP |
| depends on TPS65010 || !MACH_OMAP_H2 |
| help |
| This selects the TI OMAP Multimedia card Interface. |
| If you have an OMAP board with a Multimedia Card slot, |
| say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_OMAP_HS |
| tristate "TI OMAP High Speed Multimedia Card Interface support" |
| depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST |
| help |
| This selects the TI OMAP High Speed Multimedia card Interface. |
| If you have an omap2plus board with a Multimedia Card slot, |
| say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_WBSD |
| tristate "Winbond W83L51xD SD/MMC Card Interface support" |
| depends on ISA_DMA_API |
| help |
| This selects the Winbond(R) W83L51xD Secure digital and |
| Multimedia card Interface. |
| If you have a machine with a integrated W83L518D or W83L519D |
| SD/MMC card reader, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_ALCOR |
| tristate "Alcor Micro/Alcor Link SD/MMC controller" |
| depends on MISC_ALCOR_PCI |
| help |
| Say Y here to include driver code to support SD/MMC card interface |
| of Alcor Micro PCI-E card reader |
| |
| config MMC_AU1X |
| tristate "Alchemy AU1XX0 MMC Card Interface support" |
| depends on MIPS_ALCHEMY |
| help |
| This selects the AMD Alchemy(R) Multimedia card interface. |
| If you have a Alchemy platform with a MMC slot, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_ATMELMCI |
| tristate "Atmel SD/MMC Driver (Multimedia Card Interface)" |
| depends on ARCH_AT91 |
| help |
| This selects the Atmel Multimedia Card Interface driver. |
| If you have an AT91 platform with a Multimedia Card slot, |
| say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_MSM |
| tristate "Qualcomm SDHCI Controller Support" |
| depends on ARCH_QCOM || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| select MMC_SDHCI_IO_ACCESSORS |
| select MMC_CQHCI |
| select QCOM_SCM if MMC_CRYPTO && ARCH_QCOM |
| help |
| This selects the Secure Digital Host Controller Interface (SDHCI) |
| support present in Qualcomm SOCs. The controller supports |
| SD/MMC/SDIO devices. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_MXC |
| tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support" |
| depends on ARCH_MXC || PPC_MPC512x |
| 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 or M here. |
| |
| If unsure, say N. |
| |
| config MMC_MXS |
| tristate "Freescale MXS Multimedia Card Interface support" |
| depends on ARCH_MXS && MXS_DMA |
| help |
| This selects the Freescale SSP MMC controller found on MXS based |
| platforms like mx23/28. |
| |
| If unsure, say N. |
| |
| config MMC_TIFM_SD |
| tristate "TI Flash Media MMC/SD Interface support" |
| depends on PCI |
| select TIFM_CORE |
| help |
| Say Y here if you want to be able to access MMC/SD cards with |
| the Texas Instruments(R) Flash Media card reader, found in many |
| laptops. |
| This option 'selects' (turns on, enables) 'TIFM_CORE', but you |
| probably also need appropriate card reader host adapter, such as |
| 'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support |
| (TIFM_7XX1)'. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called tifm_sd. |
| |
| config MMC_MVSDIO |
| tristate "Marvell MMC/SD/SDIO host driver" |
| depends on PLAT_ORION || (COMPILE_TEST && ARM) |
| depends on OF |
| help |
| This selects the Marvell SDIO host driver. |
| SDIO may currently be found on the Kirkwood 88F6281 and 88F6192 |
| SoC controllers. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called mvsdio. |
| |
| config MMC_DAVINCI |
| tristate "TI DAVINCI Multimedia Card Interface support" |
| depends on ARCH_DAVINCI || COMPILE_TEST |
| help |
| This selects the TI DAVINCI Multimedia card Interface. |
| If you have an DAVINCI board with a Multimedia Card slot, |
| say Y or M here. If unsure, say N. |
| |
| config MMC_SPI |
| tristate "MMC/SD/SDIO over SPI" |
| depends on SPI_MASTER |
| select CRC7 |
| select CRC_ITU_T |
| help |
| Some systems access MMC/SD/SDIO cards using a SPI controller |
| instead of using a "native" MMC/SD/SDIO controller. This has a |
| disadvantage of being relatively high overhead, but a compensating |
| advantage of working on many systems without dedicated MMC/SD/SDIO |
| controllers. |
| |
| If unsure, or if your system has no SPI master driver, say N. |
| |
| config MMC_S3C |
| tristate "Samsung S3C SD/MMC Card Interface support" |
| depends on ARCH_S3C24XX || COMPILE_TEST |
| depends on S3C24XX_DMAC || COMPILE_TEST |
| help |
| This selects a driver for the MCI interface found in |
| Samsung's S3C2410, S3C2412, S3C2440, S3C2442 CPUs. |
| If you have a board based on one of those and a MMC/SD |
| slot, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_S3C_HW_SDIO_IRQ |
| bool "Hardware support for SDIO IRQ" |
| depends on MMC_S3C |
| help |
| Enable the hardware support for SDIO interrupts instead of using |
| the generic polling code. |
| |
| choice |
| prompt "Samsung S3C SD/MMC transfer code" |
| depends on MMC_S3C |
| |
| config MMC_S3C_PIO |
| bool "Use PIO transfers only" |
| help |
| Use PIO to transfer data between memory and the hardware. |
| |
| PIO is slower than DMA as it requires CPU instructions to |
| move the data. This has been the traditional default for |
| the S3C MCI driver. |
| |
| config MMC_S3C_DMA |
| bool "Use DMA transfers only" |
| help |
| Use DMA to transfer data between memory and the hardware. |
| |
| Currently, the DMA support in this driver seems to not be |
| working properly and needs to be debugged before this |
| option is useful. |
| |
| endchoice |
| |
| config MMC_SDRICOH_CS |
| tristate "MMC/SD driver for Ricoh Bay1Controllers" |
| depends on PCI && PCMCIA |
| help |
| Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA |
| card whenever you insert a MMC or SD card into the card slot. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called sdricoh_cs. |
| |
| config MMC_SDHCI_SPRD |
| tristate "Spreadtrum SDIO host Controller" |
| depends on ARCH_SPRD || COMPILE_TEST |
| depends on MMC_SDHCI_PLTFM |
| select MMC_SDHCI_IO_ACCESSORS |
| select MMC_HSQ |
| help |
| This selects the SDIO Host Controller in Spreadtrum |
| SoCs, this driver supports R11(IP version: R11P0). |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_TMIO_CORE |
| tristate |
| |
| config MMC_TMIO |
| tristate "Toshiba Mobile IO Controller (TMIO) MMC/SD function support" |
| depends on MFD_TMIO || MFD_ASIC3 || COMPILE_TEST |
| select MMC_TMIO_CORE |
| help |
| This provides support for the SD/MMC cell found in TC6393XB, |
| T7L66XB and also HTC ASIC3 |
| |
| config MMC_SDHI |
| tristate "Renesas SDHI SD/SDIO controller support" |
| depends on SUPERH || ARCH_RENESAS || COMPILE_TEST |
| select MMC_TMIO_CORE |
| select RESET_CONTROLLER if ARCH_RENESAS |
| help |
| This provides support for the SDHI SD/SDIO controller found in |
| Renesas SuperH, ARM and ARM64 based SoCs |
| |
| config MMC_SDHI_SYS_DMAC |
| tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC" |
| depends on MMC_SDHI |
| default MMC_SDHI if (SUPERH || ARM) |
| help |
| This provides DMA support for SDHI SD/SDIO controllers |
| using SYS-DMAC via DMA Engine. This supports the controllers |
| found in SuperH and Renesas ARM based SoCs. |
| |
| config MMC_SDHI_INTERNAL_DMAC |
| tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering" |
| depends on ARM64 || ARCH_R7S9210 || ARCH_R8A77470 || COMPILE_TEST |
| depends on MMC_SDHI |
| default MMC_SDHI if (ARM64 || ARCH_R7S9210 || ARCH_R8A77470) |
| help |
| This provides DMA support for SDHI SD/SDIO controllers |
| using on-chip bus mastering. This supports the controllers |
| found in arm64 based SoCs. This controller is also found in |
| some RZ family SoCs. |
| |
| config MMC_UNIPHIER |
| tristate "UniPhier SD/eMMC Host Controller support" |
| depends on ARCH_UNIPHIER || COMPILE_TEST |
| depends on OF |
| select MMC_TMIO_CORE |
| help |
| This provides support for the SD/eMMC controller found in |
| UniPhier SoCs. The eMMC variant of this controller is used |
| only for 32-bit SoCs. |
| |
| config MMC_CB710 |
| tristate "ENE CB710 MMC/SD Interface support" |
| depends on PCI |
| select CB710_CORE |
| help |
| This option enables support for MMC/SD part of ENE CB710/720 Flash |
| memory card reader found in some laptops (ie. some versions of |
| HP Compaq nx9500). |
| |
| This driver can also be built as a module. If so, the module |
| will be called cb710-mmc. |
| |
| config MMC_VIA_SDMMC |
| tristate "VIA SD/MMC Card Reader Driver" |
| depends on PCI |
| help |
| This selects the VIA SD/MMC Card Reader driver, say Y or M here. |
| VIA provides one multi-functional card reader which integrated into |
| some motherboards manufactured by VIA. This card reader supports |
| SD/MMC/SDHC. |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_CAVIUM_OCTEON |
| tristate "Cavium OCTEON SD/MMC Card Interface support" |
| depends on CAVIUM_OCTEON_SOC |
| help |
| This selects Cavium OCTEON SD/MMC card Interface. |
| If you have an OCTEON board with a Multimedia Card slot, |
| say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_CAVIUM_THUNDERX |
| tristate "Cavium ThunderX SD/MMC Card Interface support" |
| depends on PCI && 64BIT && (ARM64 || COMPILE_TEST) |
| depends on GPIO_THUNDERX |
| depends on OF_ADDRESS |
| help |
| This selects Cavium ThunderX SD/MMC Card Interface. |
| If you have an Cavium ARM64 board with a Multimedia Card slot |
| or builtin eMMC chip say Y or M here. If built as a module |
| the module will be called thunderx_mmc.ko. |
| |
| config MMC_DW |
| tristate "Synopsys DesignWare Memory Card Interface" |
| depends on ARC || ARM || ARM64 || MIPS || RISCV || CSKY || COMPILE_TEST |
| 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_PLTFM |
| tristate "Synopsys Designware MCI Support as platform device" |
| depends on MMC_DW |
| default y |
| help |
| This selects the common helper functions support for Host Controller |
| Interface based platform driver. Please select this option if the IP |
| is present as a platform device. This is the common interface for the |
| Synopsys Designware IP. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say Y. |
| |
| config MMC_DW_BLUEFIELD |
| tristate "BlueField specific extensions for Synopsys DW Memory Card Interface" |
| depends on MMC_DW |
| select MMC_DW_PLTFM |
| help |
| This selects support for Mellanox BlueField SoC specific extensions to |
| the Synopsys DesignWare Memory Card Interface driver. Select this |
| option for platforms based on Mellanox BlueField SoC's. |
| |
| config MMC_DW_EXYNOS |
| tristate "Exynos specific extensions for Synopsys DW Memory Card Interface" |
| depends on MMC_DW |
| select MMC_DW_PLTFM |
| 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_HI3798CV200 |
| tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface" |
| depends on MMC_DW |
| select MMC_DW_PLTFM |
| help |
| This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the |
| Synopsys DesignWare Memory Card Interface driver. Select this option |
| for platforms based on HiSilicon Hi3798CV200 SoC. |
| |
| config MMC_DW_K3 |
| tristate "K3 specific extensions for Synopsys DW Memory Card Interface" |
| depends on MMC_DW |
| select MMC_DW_PLTFM |
| 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_PCI |
| tristate "Synopsys Designware MCI support on PCI bus" |
| depends on MMC_DW && PCI |
| help |
| This selects the PCI bus for the Synopsys Designware Mobile Storage IP. |
| Select this option if the IP is present on PCI platform. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_DW_ROCKCHIP |
| tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface" |
| depends on MMC_DW && ARCH_ROCKCHIP |
| select MMC_DW_PLTFM |
| help |
| This selects support for Rockchip SoC specific extensions to the |
| Synopsys DesignWare Memory Card Interface driver. Select this option |
| for platforms based on RK3066, RK3188 and RK3288 SoC's. |
| |
| config MMC_SH_MMCIF |
| tristate "SuperH Internal MMCIF support" |
| depends on SUPERH || ARCH_RENESAS || COMPILE_TEST |
| help |
| This selects the MMC Host Interface controller (MMCIF) found in various |
| Renesas SoCs for SH and ARM architectures. |
| |
| |
| config MMC_JZ4740 |
| tristate "Ingenic JZ47xx SD/Multimedia Card Interface support" |
| depends on MIPS |
| help |
| This selects support for the SD/MMC controller on Ingenic |
| JZ4740, JZ4750, JZ4770 and JZ4780 SoCs. |
| |
| If you have a board based on such a SoC and with a SD/MMC slot, |
| say Y or M here. |
| |
| config MMC_VUB300 |
| tristate "VUB300 USB to SDIO/SD/MMC Host Controller support" |
| depends on USB |
| help |
| This selects support for Elan Digital Systems' VUB300 chip. |
| |
| The VUB300 is a USB-SDIO Host Controller Interface chip |
| that enables the host computer to use SDIO/SD/MMC cards |
| via a USB 2.0 or USB 1.1 host. |
| |
| The VUB300 chip will be found in both physically separate |
| USB to SDIO/SD/MMC adapters and embedded on some motherboards. |
| |
| The VUB300 chip supports SD and MMC memory cards in addition |
| to single and multifunction SDIO cards. |
| |
| Some SDIO cards will need a firmware file to be loaded and |
| sent to VUB300 chip in order to achieve better data throughput. |
| Download these "Offload Pseudocode" from Elan Digital Systems' |
| web-site http://www.elandigitalsystems.com/support/downloads.php |
| and put them in /lib/firmware. Note that without these additional |
| firmware files the VUB300 chip will still function, but not at |
| the best obtainable data rate. |
| |
| To compile this mmc host controller driver as a module, |
| choose M here: the module will be called vub300. |
| |
| If you have a computer with an embedded VUB300 chip |
| or if you intend connecting a USB adapter based on a |
| VUB300 chip say Y or M here. |
| |
| config MMC_USHC |
| tristate "USB SD Host Controller (USHC) support" |
| depends on USB |
| help |
| This selects support for USB SD Host Controllers based on |
| the Cypress Astoria chip with firmware compliant with CSR's |
| USB SD Host Controller specification (CS-118793-SP). |
| |
| CSR boards with this device include: USB<>SDIO (M1985v2), |
| and Ultrasira. |
| |
| Note: These controllers only support SDIO cards and do not |
| support MMC or SD memory cards. |
| |
| config MMC_WMT |
| tristate "Wondermedia SD/MMC Host Controller support" |
| depends on ARCH_VT8500 |
| default y |
| help |
| This selects support for the SD/MMC Host Controller on |
| Wondermedia WM8505/WM8650 based SoCs. |
| |
| To compile this driver as a module, choose M here: the |
| module will be called wmt-sdmmc. |
| |
| config MMC_USDHI6ROL0 |
| tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support" |
| depends on HAS_DMA |
| help |
| This selects support for the Renesas USDHI6ROL0 SD/SDIO |
| Host Controller |
| |
| config MMC_REALTEK_PCI |
| tristate "Realtek PCI-E SD/MMC Card Interface Driver" |
| depends on MISC_RTSX_PCI |
| help |
| Say Y here to include driver code to support SD/MMC card interface |
| of Realtek PCI-E card reader |
| |
| config MMC_REALTEK_USB |
| tristate "Realtek USB SD/MMC Card Interface Driver" |
| depends on MISC_RTSX_USB |
| help |
| Say Y here to include driver code to support SD/MMC card interface |
| of Realtek RTS5129/39 series card reader |
| |
| config MMC_SUNXI |
| tristate "Allwinner sunxi SD/MMC Host Controller support" |
| depends on ARCH_SUNXI || COMPILE_TEST |
| help |
| This selects support for the SD/MMC Host Controller on |
| Allwinner sunxi SoCs. |
| |
| config MMC_CQHCI |
| tristate "Command Queue Host Controller Interface support" |
| depends on HAS_DMA |
| help |
| This selects the Command Queue Host Controller Interface (CQHCI) |
| support present in host controllers of Qualcomm Technologies, Inc |
| amongst others. |
| This controller supports eMMC devices with command queue support. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_HSQ |
| tristate "MMC Host Software Queue support" |
| help |
| This selects the MMC Host Software Queue support. This may increase |
| performance, if the host controller and its driver supports it. |
| |
| If you have a controller/driver supporting this interface, say Y or M |
| here. |
| |
| If unsure, say N. |
| |
| config MMC_TOSHIBA_PCI |
| tristate "Toshiba Type A SD/MMC Card Interface Driver" |
| depends on PCI |
| |
| config MMC_BCM2835 |
| tristate "Broadcom BCM2835 SDHOST MMC Controller support" |
| depends on ARCH_BCM2835 || COMPILE_TEST |
| help |
| This selects the BCM2835 SDHOST MMC controller. If you have |
| a BCM2835 platform with SD or MMC devices, say Y or M here. |
| |
| Note that the BCM2835 has two SD controllers: The Arasan |
| sdhci controller (supported by MMC_SDHCI_IPROC) and a custom |
| sdhost controller (supported by this driver). |
| |
| If unsure, say N. |
| |
| config MMC_MTK |
| tristate "MediaTek SD/MMC Card Interface support" |
| depends on HAS_DMA |
| depends on COMMON_CLK |
| select REGULATOR |
| select MMC_CQHCI |
| help |
| This selects the MediaTek(R) Secure digital and Multimedia card Interface. |
| If you have a machine with a integrated SD/MMC card reader, say Y or M here. |
| This is needed if support for any SD/SDIO/MMC devices is required. |
| If unsure, say N. |
| |
| config MMC_SDHCI_MICROCHIP_PIC32 |
| tristate "Microchip PIC32MZDA SDHCI support" |
| depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM |
| help |
| This selects the Secure Digital Host Controller Interface (SDHCI) |
| for PIC32MZDA platform. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_BRCMSTB |
| tristate "Broadcom SDIO/SD/MMC support" |
| depends on ARCH_BRCMSTB || BMIPS_GENERIC |
| depends on MMC_SDHCI_PLTFM |
| select MMC_CQHCI |
| default y |
| help |
| This selects support for the SDIO/SD/MMC Host Controller on |
| Broadcom STB SoCs. |
| |
| If unsure, say Y. |
| |
| config MMC_SDHCI_XENON |
| tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver" |
| depends on MMC_SDHCI_PLTFM |
| help |
| This selects Marvell Xenon eMMC/SD/SDIO SDHCI. |
| If you have a controller with this interface, say Y or M here. |
| If unsure, say N. |
| |
| config MMC_SDHCI_OMAP |
| tristate "TI SDHCI Controller Support" |
| depends on MMC_SDHCI_PLTFM && OF |
| select THERMAL |
| imply TI_SOC_THERMAL |
| select MMC_SDHCI_EXTERNAL_DMA if DMA_ENGINE |
| help |
| This selects the Secure Digital Host Controller Interface (SDHCI) |
| support present in TI's DRA7 SOCs. The controller supports |
| SD/MMC/SDIO devices. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_SDHCI_AM654 |
| tristate "Support for the SDHCI Controller in TI's AM654 SOCs" |
| depends on MMC_SDHCI_PLTFM && OF && REGMAP_MMIO |
| select MMC_SDHCI_IO_ACCESSORS |
| select MMC_CQHCI |
| help |
| This selects the Secure Digital Host Controller Interface (SDHCI) |
| support present in TI's AM654 SOCs. The controller supports |
| SD/MMC/SDIO devices. |
| |
| If you have a controller with this interface, say Y or M here. |
| |
| If unsure, say N. |
| |
| config MMC_OWL |
| tristate "Actions Semi Owl SD/MMC Host Controller support" |
| depends on HAS_DMA |
| depends on ARCH_ACTIONS || COMPILE_TEST |
| help |
| This selects support for the SD/MMC Host Controller on |
| Actions Semi Owl SoCs. |
| |
| config MMC_SDHCI_EXTERNAL_DMA |
| bool |