123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161 |
- # 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 ARCH_ASPEED || COMPILE_TEST
- 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" if !KUNIT_ALL_TESTS
- depends on MMC_SDHCI_OF_ASPEED && KUNIT
- depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)
- default KUNIT_ALL_TESTS
- 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/S5P/Exynos 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
- (S3C2416, S3C2443, S3C6410), S5Pv210 and Exynos (Exynso4210,
- Exynos4412) SoCs.
- If you have a controller with this interface (thereforeyou build for
- such Samsung SoC), 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
- bool "Alchemy AU1XX0 MMC Card Interface support"
- depends on MIPS_ALCHEMY
- depends on MMC=y
- help
- This selects the AMD Alchemy(R) Multimedia card interface.
- If you have a Alchemy platform with a MMC slot, say Y 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
- 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_SDHCI_MSM_SCALING
- tristate "Qualcomm Technologies, Inc. clock scaling feature"
- depends on MMC_CQHCI
- select PM_DEVFREQ
- select DEVFREQ_GOV_SIMPLE_ONDEMAND
- help
- This change adds the use of devfreq based clock scaling to eMMC.
- Provide an ondemand clock scaling support similar
- to the cpufreq ondemand governor having two thresholds,
- up_threshold and down_threshold to decide whether to increase
- the frequency or scale it down respectively as per load to save
- power.
- 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
- depends on SUNXI_CCU
- 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
- select MMC_SDHCI_IO_ACCESSORS
- select MMC_CQHCI
- select REGMAP_MMIO
- 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
- config MMC_CRYPTO_QTI
- tristate "Vendor specific CQHCI Crypto Engine Support"
- depends on MMC_CRYPTO
- help
- Enable Vendor Crypto Engine Support in CQHCI
- Enabling this allows kernel to use CQHCI crypto operations defined
- and implemented by QTI.
- If you have a controller with this interface, say Y or M here.
- If unsure, say N
- config MMC_LITEX
- tristate "LiteX MMC Host Controller support"
- depends on ((PPC_MICROWATT || LITEX) && OF && HAVE_CLK) || COMPILE_TEST
- select REGULATOR
- select REGULATOR_FIXED_VOLTAGE
- help
- This selects support for the MMC Host Controller found in LiteX SoCs.
- To compile this driver as a module, choose M here: the
- module will be called litex_mmc.
- If unsure, say N.
- config SDHCI_MSM_DBG
- bool "Qualcomm Technologies, Inc. SDHCI_MSM_DBG Driver"
- depends on MMC_SDHCI_MSM
- help
- This enables the IPC tracing events for sdhci_msm driver.
- Tracing sdhci_msm events helps to trace significant events
- used for debugging purpose.
- If unsure, say N here.
- config SEC_MMC_FEATURE
- tristate "SEC specific MMC/SD feature"
- depends on MMC_SDHCI_MSM
- help
- Enable Samsung feature support
- Enabling this allows kernel to use SEC specific feature
- defined and implemented by SEC.
|