File Index
Files and directories
Sign in
FILE

Kconfig

File preview with syntax highlighting.

linux-6.19.14/drivers/mmc/host/Kconfig KCONFIG
   1# SPDX-License-Identifier: GPL-2.0-only
   2#
   3# MMC/SD host controller drivers
   4#
   5
   6comment "MMC/SD/SDIO Host Controller Drivers"
   7
   8config MMC_DEBUG
   9	bool "MMC host drivers debugging"
  10	depends on MMC != n
  11	help
  12	  This is an option for use by developers; most people should
  13	  say N here. This enables MMC host driver debugging. And further
  14	  added host drivers please don't invent their private macro for
  15	  debugging.
  16
  17config MMC_SUNPLUS
  18	tristate "Sunplus SP7021 MMC Controller"
  19	depends on ARCH_SUNPLUS || COMPILE_TEST
  20	help
  21	  If you say yes here, you will get support for eMMC host interface
  22	  on Sunplus SoCs.
  23
  24	  If unsure, say N
  25
  26config MMC_ARMMMCI
  27	tristate "ARM AMBA Multimedia Card Interface support"
  28	depends on ARM_AMBA
  29	help
  30	  This selects the ARM(R) AMBA(R) PrimeCell Multimedia Card
  31	  Interface (PL180 and PL181) support.  If you have an ARM(R)
  32	  platform with a Multimedia Card slot, say Y or M here.
  33
  34	  If unsure, say N.
  35
  36config MMC_QCOM_DML
  37	bool "Qualcomm Data Mover for SD Card Controller"
  38	depends on MMC_ARMMMCI && QCOM_BAM_DMA
  39	default y
  40	help
  41	  This selects the Qualcomm Data Mover lite/local on SD Card controller.
  42	  This option will enable the dma to work correctly, if you are using
  43	  Qcom SOCs and MMC, you would probably need this option to get DMA working.
  44
  45	  if unsure, say N.
  46
  47config MMC_STM32_SDMMC
  48	bool "STMicroelectronics STM32 SDMMC Controller"
  49	depends on MMC_ARMMMCI
  50	default y
  51	help
  52	  This selects the STMicroelectronics STM32 SDMMC host controller.
  53	  If you have a STM32 sdmmc host with internal DMA say Y here.
  54
  55	  If unsure, say N.
  56
  57config MMC_PXA
  58	tristate "Intel PXA25x/26x/27x Multimedia Card Interface support"
  59	depends on ARCH_PXA || COMPILE_TEST
  60	help
  61	  This selects the Intel(R) PXA(R) Multimedia card Interface.
  62	  If you have a PXA(R) platform with a Multimedia Card slot,
  63	  say Y or M here.
  64
  65	  If unsure, say N.
  66
  67config MMC_SDHCI
  68	tristate "Secure Digital Host Controller Interface support"
  69	depends on HAS_DMA
  70	help
  71	  This selects the generic Secure Digital Host Controller Interface.
  72	  It is used by manufacturers such as Texas Instruments(R), Ricoh(R)
  73	  and Toshiba(R). Most controllers found in laptops are of this type.
  74
  75	  If you have a controller with this interface, say Y or M here. You
  76	  also need to enable an appropriate bus interface.
  77
  78	  If unsure, say N.
  79
  80config MMC_SDHCI_IO_ACCESSORS
  81	bool
  82	depends on MMC_SDHCI
  83	help
  84	  This is silent Kconfig symbol that is selected by the drivers that
  85	  need to overwrite SDHCI IO memory accessors.
  86
  87config MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
  88	bool
  89	depends on MMC_SDHCI
  90	select MMC_SDHCI_IO_ACCESSORS
  91	help
  92	  This option is selected by drivers running on big endian hosts
  93	  and performing I/O to a SDHCI controller through a bus that
  94	  implements a hardware byte swapper using a 32-bit datum.
  95	  This endian mapping mode is called "data invariance" and
  96	  has the effect of scrambling the addresses and formats of data
  97	  accessed in sizes other than the datum size.
  98
  99	  This is the case for the Nintendo Wii SDHCI.
 100
 101config MMC_SDHCI_UHS2
 102	tristate "UHS2 support on SDHCI controller" if COMPILE_TEST
 103	depends on MMC_SDHCI
 104	help
 105	  This option is selected by SDHCI controller drivers that want to
 106	  support UHS2-capable devices.
 107
 108	  If you have a controller with this feature, say Y or M here.
 109
 110config MMC_SDHCI_PCI
 111	tristate "SDHCI support on PCI bus"
 112	depends on MMC_SDHCI && PCI
 113	select MMC_CQHCI
 114	select MMC_SDHCI_UHS2
 115	select IOSF_MBI if X86
 116	select MMC_SDHCI_IO_ACCESSORS
 117	help
 118	  This selects the PCI Secure Digital Host Controller Interface.
 119	  Most controllers found today are PCI devices.
 120
 121	  If you have a controller with this interface, say Y or M here.
 122
 123	  If unsure, say N.
 124
 125config MMC_RICOH_MMC
 126	bool "Ricoh MMC Controller Disabler"
 127	depends on MMC_SDHCI_PCI
 128	default y
 129	help
 130	  This adds a pci quirk to disable Ricoh MMC Controller. This
 131	  proprietary controller is unnecessary because the SDHCI driver
 132	  supports MMC cards on the SD controller, but if it is not
 133	  disabled, it will steal the MMC cards away - rendering them
 134	  useless. It is safe to select this even if you don't
 135	  have a Ricoh based card reader.
 136
 137	  If unsure, say Y.
 138
 139config MMC_SDHCI_ACPI
 140	tristate "SDHCI support for ACPI enumerated SDHCI controllers"
 141	depends on MMC_SDHCI && ACPI && PCI
 142	select IOSF_MBI if X86
 143	help
 144	  This selects support for ACPI enumerated SDHCI controllers,
 145	  identified by ACPI Compatibility ID PNP0D40 or specific
 146	  ACPI Hardware IDs.
 147
 148	  If you have a controller with this interface, say Y or M here.
 149
 150	  If unsure, say N.
 151
 152config MMC_SDHCI_PLTFM
 153	tristate "SDHCI platform and OF driver helper"
 154	depends on MMC_SDHCI
 155	help
 156	  This selects the common helper functions support for Secure Digital
 157	  Host Controller Interface based platform and OF drivers.
 158
 159	  If you have a controller with this interface, say Y or M here.
 160
 161	  If unsure, say N.
 162
 163config MMC_SDHCI_OF_ARASAN
 164	tristate "SDHCI OF support for the Arasan SDHCI controllers"
 165	depends on MMC_SDHCI_PLTFM
 166	depends on OF
 167	depends on COMMON_CLK
 168	select MMC_CQHCI
 169	help
 170	  This selects the Arasan Secure Digital Host Controller Interface
 171	  (SDHCI). This hardware is found e.g. in Xilinx' Zynq SoC.
 172
 173	  If you have a controller with this interface, say Y or M here.
 174
 175	  If unsure, say N.
 176
 177config MMC_SDHCI_OF_ASPEED
 178	tristate "SDHCI OF support for the ASPEED SDHCI controller"
 179	depends on ARCH_ASPEED || COMPILE_TEST
 180	depends on MMC_SDHCI_PLTFM
 181	depends on OF && OF_ADDRESS
 182	select MMC_SDHCI_IO_ACCESSORS
 183	help
 184	  This selects the ASPEED Secure Digital Host Controller Interface.
 185
 186	  If you have a controller with this interface, say Y or M here. You
 187	  also need to enable an appropriate bus interface.
 188
 189	  If unsure, say N.
 190
 191config MMC_SDHCI_OF_ASPEED_TEST
 192	bool "Tests for the ASPEED SDHCI driver" if !KUNIT_ALL_TESTS
 193	depends on MMC_SDHCI_OF_ASPEED && KUNIT
 194	depends on (MMC_SDHCI_OF_ASPEED=m || KUNIT=y)
 195	default KUNIT_ALL_TESTS
 196	help
 197	  Enable KUnit tests for the ASPEED SDHCI driver. Select this
 198	  option only if you will boot the kernel for the purpose of running
 199	  unit tests (e.g. under UML or qemu).
 200
 201	  The KUnit tests generally exercise parts of the driver that do not
 202	  directly touch the hardware, for example, the phase correction
 203	  calculations.
 204
 205	  If unsure, say N.
 206
 207config MMC_SDHCI_OF_AT91
 208	tristate "SDHCI OF support for the Atmel SDMMC controller"
 209	depends on MMC_SDHCI_PLTFM
 210	depends on OF && HAVE_CLK
 211	help
 212	  This selects the Atmel SDMMC driver
 213
 214config MMC_SDHCI_OF_ESDHC
 215	tristate "SDHCI OF support for the Freescale eSDHC controller"
 216	depends on MMC_SDHCI_PLTFM
 217	depends on PPC || ARCH_MXC || ARCH_LAYERSCAPE || COMPILE_TEST
 218	select MMC_SDHCI_IO_ACCESSORS
 219	select FSL_GUTS
 220	help
 221	  This selects the Freescale eSDHC controller support.
 222
 223	  If you have a controller with this interface, say Y or M here.
 224
 225	  If unsure, say N.
 226
 227config MMC_SDHCI_OF_HLWD
 228	tristate "SDHCI OF support for the Nintendo Wii SDHCI controllers"
 229	depends on MMC_SDHCI_PLTFM
 230	depends on PPC
 231	select MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER
 232	help
 233	  This selects the Secure Digital Host Controller Interface (SDHCI)
 234	  found in the "Hollywood" chipset of the Nintendo Wii video game
 235	  console.
 236
 237	  If you have a controller with this interface, say Y or M here.
 238
 239	  If unsure, say N.
 240
 241config MMC_SDHCI_OF_DWCMSHC
 242	tristate "SDHCI OF support for the Synopsys DWC MSHC"
 243	depends on MMC_SDHCI_PLTFM
 244	depends on OF
 245	depends on COMMON_CLK
 246	select MMC_CQHCI
 247	help
 248	  This selects Synopsys DesignWare Cores Mobile Storage Controller
 249	  support.
 250	  If you have a controller with this interface, say Y or M here.
 251	  If unsure, say N.
 252
 253config MMC_SDHCI_OF_K1
 254	tristate "SDHCI OF support for the SpacemiT K1 SoC"
 255	depends on ARCH_SPACEMIT || COMPILE_TEST
 256	depends on MMC_SDHCI_PLTFM
 257	depends on OF
 258	depends on COMMON_CLK
 259	help
 260	  This selects the Secure Digital Host Controller Interface (SDHCI)
 261	  found in the SpacemiT K1 SoC.
 262
 263	  If you have a controller with this interface, say Y or M here.
 264
 265	  If unsure, say N.
 266
 267config MMC_SDHCI_OF_SPARX5
 268	tristate "SDHCI OF support for the MCHP Sparx5 SoC"
 269	depends on MMC_SDHCI_PLTFM
 270	depends on ARCH_SPARX5 || COMPILE_TEST
 271	help
 272	  This selects the Secure Digital Host Controller Interface (SDHCI)
 273	  found in the MCHP Sparx5 SoC.
 274
 275	  If you have a Sparx5 SoC with this interface, say Y or M here.
 276
 277	  If unsure, say N.
 278
 279config MMC_SDHCI_OF_MA35D1
 280	tristate "SDHCI OF support for the MA35D1 SDHCI controller"
 281	depends on ARCH_MA35 || COMPILE_TEST
 282	depends on MMC_SDHCI_PLTFM
 283	help
 284	  This selects the MA35D1 Secure Digital Host Controller Interface.
 285	  The controller supports SD/MMC/SDIO devices.
 286
 287	  If you have a controller with this interface, say Y or M here.
 288
 289	  If unsure, say N.
 290
 291config MMC_SDHCI_CADENCE
 292	tristate "SDHCI support for the Cadence SD/SDIO/eMMC controller"
 293	depends on MMC_SDHCI_PLTFM
 294	depends on OF
 295	select MMC_SDHCI_IO_ACCESSORS
 296	help
 297	  This selects the Cadence SD/SDIO/eMMC driver.
 298
 299	  If you have a controller with this interface, say Y or M here.
 300
 301	  If unsure, say N.
 302
 303config MMC_SDHCI_ESDHC_MCF
 304	tristate "SDHCI support for the Freescale eSDHC ColdFire controller"
 305	depends on M5441x
 306	depends on MMC_SDHCI_PLTFM
 307	select MMC_SDHCI_IO_ACCESSORS
 308	help
 309	  This selects the Freescale eSDHC controller support for
 310	  ColdFire mcf5441x devices.
 311
 312	  If you have a controller with this interface, say Y or M here.
 313
 314	  If unsure, say N.
 315
 316config MMC_SDHCI_ESDHC_IMX
 317	tristate "SDHCI support for the Freescale eSDHC/uSDHC i.MX controller"
 318	depends on ARCH_MXC || ARCH_S32 || COMPILE_TEST
 319	depends on MMC_SDHCI_PLTFM
 320	depends on OF
 321	select MMC_SDHCI_IO_ACCESSORS
 322	select MMC_CQHCI
 323	help
 324	  This selects the Freescale eSDHC/uSDHC controller support
 325	  found on i.MX25, i.MX35, i.MX5x, i.MX6x, and S32G.
 326
 327	  If you have a controller with this interface, say Y or M here.
 328
 329	  If unsure, say N.
 330
 331config MMC_SDHCI_DOVE
 332	tristate "SDHCI support on Marvell's Dove SoC"
 333	depends on ARCH_DOVE || MACH_DOVE || COMPILE_TEST
 334	depends on MMC_SDHCI_PLTFM
 335	select MMC_SDHCI_IO_ACCESSORS
 336	help
 337	  This selects the Secure Digital Host Controller Interface in
 338	  Marvell's Dove SoC.
 339
 340	  If you have a controller with this interface, say Y or M here.
 341
 342	  If unsure, say N.
 343
 344config MMC_SDHCI_TEGRA
 345	tristate "SDHCI platform support for the Tegra SD/MMC Controller"
 346	depends on ARCH_TEGRA || COMPILE_TEST
 347	depends on MMC_SDHCI_PLTFM
 348	select MMC_SDHCI_IO_ACCESSORS
 349	select MMC_CQHCI
 350	help
 351	  This selects the Tegra SD/MMC controller. If you have a Tegra
 352	  platform with SD or MMC devices, say Y or M here.
 353
 354	  If unsure, say N.
 355
 356config MMC_SDHCI_S3C
 357	tristate "SDHCI support on Samsung S3C/S5P/Exynos SoC"
 358	depends on MMC_SDHCI
 359	depends on PLAT_SAMSUNG || ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST
 360	help
 361	  This selects the Secure Digital Host Controller Interface (SDHCI)
 362	  often referred to as the HSMMC block in some of the Samsung
 363	  S3C6410, S5Pv210 and Exynos (Exynso4210, Exynos4412) SoCs.
 364
 365	  If you have a controller with this interface (thereforeyou build for
 366	  such Samsung SoC), say Y or M here.
 367
 368	  If unsure, say N.
 369
 370config MMC_SDHCI_PXAV3
 371	tristate "Marvell MMP2 SD Host Controller support (PXAV3)"
 372	depends on HAVE_CLK
 373	depends on MMC_SDHCI_PLTFM
 374	depends on ARCH_BERLIN || ARCH_MMP || ARCH_MVEBU || COMPILE_TEST
 375	default CPU_MMP2
 376	help
 377	  This selects the Marvell(R) PXAV3 SD Host Controller.
 378	  If you have a MMP2 platform with SD Host Controller
 379	  and a card slot, say Y or M here.
 380
 381	  If unsure, say N.
 382
 383config MMC_SDHCI_PXAV2
 384	tristate "Marvell PXA9XX SD Host Controller support (PXAV2)"
 385	depends on HAVE_CLK
 386	depends on MMC_SDHCI_PLTFM
 387	depends on ARCH_MMP || COMPILE_TEST
 388	default CPU_PXA910
 389	select MMC_SDHCI_IO_ACCESSORS
 390	help
 391	  This selects the Marvell(R) PXAV2 SD Host Controller.
 392	  If you have a PXA9XX platform with SD Host Controller
 393	  and a card slot, say Y or M here.
 394
 395	  If unsure, say N.
 396
 397config MMC_SDHCI_SPEAR
 398	tristate "SDHCI support on ST SPEAr platform"
 399	depends on MMC_SDHCI
 400	depends on PLAT_SPEAR || COMPILE_TEST
 401	depends on OF
 402	help
 403	  This selects the Secure Digital Host Controller Interface (SDHCI)
 404	  often referred to as the HSMMC block in some of the ST SPEAR range
 405	  of SoC
 406
 407	  If you have a controller with this interface, say Y or M here.
 408
 409	  If unsure, say N.
 410
 411config MMC_SDHCI_S3C_DMA
 412	bool "DMA support on S3C SDHCI"
 413	depends on MMC_SDHCI_S3C
 414	help
 415	  Enable DMA support on the Samsung S3C SDHCI glue. The DMA
 416	  has proved to be problematic if the controller encounters
 417	  certain errors, and thus should be treated with care.
 418
 419	  YMMV.
 420
 421config MMC_SDHCI_BCM_KONA
 422	tristate "SDHCI support on Broadcom KONA platform"
 423	depends on ARCH_BCM_MOBILE || COMPILE_TEST
 424	depends on MMC_SDHCI_PLTFM
 425	help
 426	  This selects the Broadcom Kona Secure Digital Host Controller
 427	  Interface(SDHCI) support.
 428	  This is used in Broadcom mobile SoCs.
 429
 430	  If you have a controller with this interface, say Y or M here.
 431
 432config MMC_SDHCI_F_SDH30
 433	tristate "SDHCI support for Fujitsu Semiconductor F_SDH30"
 434	depends on MMC_SDHCI_PLTFM
 435	depends on OF || ACPI
 436	help
 437	  This selects the Secure Digital Host Controller Interface (SDHCI)
 438	  Needed by some Fujitsu SoC for MMC / SD / SDIO support.
 439	  If you have a controller with this interface, say Y or M here.
 440
 441	  If unsure, say N.
 442
 443config MMC_SDHCI_MILBEAUT
 444	tristate "SDHCI support for Socionext Milbeaut Serieas using F_SDH30"
 445	depends on MMC_SDHCI_PLTFM
 446	depends on OF
 447	help
 448	  This selects the Secure Digital Host Controller Interface (SDHCI)
 449	  Needed by Milbeaut SoC for MMC / SD / SDIO support.
 450	  If you have a controller with this interface, say Y or M here.
 451
 452	  If unsure, say N.
 453
 454config MMC_SDHCI_IPROC
 455	tristate "SDHCI support for the BCM2835 & iProc SD/MMC Controller"
 456	depends on ARCH_BCM2835 || ARCH_BCM_IPROC || ARCH_BRCMSTB || COMPILE_TEST
 457	depends on MMC_SDHCI_PLTFM
 458	depends on OF || ACPI
 459	default ARCH_BCM_IPROC
 460	select MMC_SDHCI_IO_ACCESSORS
 461	help
 462	  This selects the iProc SD/MMC controller.
 463
 464	  If you have a BCM2835 or IPROC platform with SD or MMC devices,
 465	  say Y or M here.
 466
 467	  If unsure, say N.
 468
 469config MMC_SDHCI_NPCM
 470	tristate "Secure Digital Host Controller Interface support for NPCM"
 471	depends on ARCH_NPCM || COMPILE_TEST
 472	depends on MMC_SDHCI_PLTFM
 473	help
 474	  This provides support for the SD/eMMC controller found in
 475	  NPCM BMC family SoCs.
 476
 477config MMC_MESON_GX
 478	tristate "Amlogic S905/GX*/AXG SD/MMC Host Controller support"
 479	depends on ARCH_MESON|| COMPILE_TEST
 480	depends on COMMON_CLK
 481	help
 482	  This selects support for the Amlogic SD/MMC Host Controller
 483	  found on the S905/GX*/AXG family of SoCs.  This controller is
 484	  MMC 5.1 compliant and supports SD, eMMC and SDIO interfaces.
 485
 486	  If you have a controller with this interface, say Y here.
 487
 488config MMC_MESON_MX_SDHC
 489	tristate "Amlogic Meson SDHC Host Controller support"
 490	depends on (ARM && ARCH_MESON) || COMPILE_TEST
 491	depends on COMMON_CLK
 492	depends on OF
 493	help
 494	  This selects support for the SDHC Host Controller on
 495	  Amlogic Meson6, Meson8, Meson8b and Meson8m2 SoCs.
 496	  The controller supports the SD/SDIO Spec 3.x and eMMC Spec 4.5x
 497	  with 1, 4, and 8 bit bus widths.
 498
 499	  If you have a controller with this interface, say Y or M here.
 500	  If unsure, say N.
 501
 502config MMC_MESON_MX_SDIO
 503	tristate "Amlogic Meson6/Meson8/Meson8b SD/MMC Host Controller support"
 504	depends on ARCH_MESON || COMPILE_TEST
 505	depends on COMMON_CLK
 506	depends on OF_ADDRESS
 507	select REGMAP_MMIO
 508	help
 509	  This selects support for the SD/MMC Host Controller on
 510	  Amlogic Meson6, Meson8 and Meson8b SoCs.
 511
 512	  If you have a controller with this interface, say Y or M here.
 513	  If unsure, say N.
 514
 515config MMC_MOXART
 516	tristate "MOXART SD/MMC Host Controller support"
 517	depends on ARCH_MOXART || COMPILE_TEST
 518	help
 519	  This selects support for the MOXART SD/MMC Host Controller.
 520	  MOXA provides one multi-functional card reader which can
 521	  be found on some embedded hardware such as UC-7112-LX.
 522	  If you have a controller with this interface, say Y here.
 523
 524config MMC_SDHCI_ST
 525	tristate "SDHCI support on STMicroelectronics SoC"
 526	depends on ARCH_STI || FSP2 || COMPILE_TEST
 527	depends on MMC_SDHCI_PLTFM
 528	select MMC_SDHCI_IO_ACCESSORS
 529	help
 530	  This selects the Secure Digital Host Controller Interface in
 531	  STMicroelectronics SoCs.
 532
 533	  If you have a controller with this interface, say Y or M here.
 534	  If unsure, say N.
 535
 536config MMC_OMAP
 537	tristate "TI OMAP Multimedia Card Interface support"
 538	depends on ARCH_OMAP
 539	help
 540	  This selects the TI OMAP Multimedia card Interface.
 541	  If you have an OMAP board with a Multimedia Card slot,
 542	  say Y or M here.
 543
 544	  If unsure, say N.
 545
 546config MMC_OMAP_HS
 547	tristate "TI OMAP High Speed Multimedia Card Interface support"
 548	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
 549	help
 550	  This selects the TI OMAP High Speed Multimedia card Interface.
 551	  If you have an omap2plus board with a Multimedia Card slot,
 552	  say Y or M here.
 553
 554	  If unsure, say N.
 555
 556config MMC_WBSD
 557	tristate "Winbond W83L51xD SD/MMC Card Interface support"
 558	depends on ISA_DMA_API
 559	help
 560	  This selects the Winbond(R) W83L51xD Secure digital and
 561	  Multimedia card Interface.
 562	  If you have a machine with a integrated W83L518D or W83L519D
 563	  SD/MMC card reader, say Y or M here.
 564
 565	  If unsure, say N.
 566
 567config MMC_ALCOR
 568	tristate "Alcor Micro/Alcor Link SD/MMC controller"
 569	depends on MISC_ALCOR_PCI
 570	help
 571	  Say Y here to include driver code to support SD/MMC card interface
 572	  of Alcor Micro PCI-E card reader
 573
 574config MMC_AU1X
 575	bool "Alchemy AU1XX0 MMC Card Interface support"
 576	depends on MIPS_ALCHEMY
 577	depends on MMC=y
 578	help
 579	  This selects the AMD Alchemy(R) Multimedia card interface.
 580	  If you have a Alchemy platform with a MMC slot, say Y here.
 581
 582	  If unsure, say N.
 583
 584config MMC_ATMELMCI
 585	tristate "Atmel SD/MMC Driver (Multimedia Card Interface)"
 586	depends on ARCH_AT91
 587	help
 588	  This selects the Atmel Multimedia Card Interface driver.
 589	  If you have an AT91 platform with a Multimedia Card slot,
 590	  say Y or M here.
 591
 592	  If unsure, say N.
 593
 594config MMC_SDHCI_MSM
 595	tristate "Qualcomm SDHCI Controller Support"
 596	depends on ARCH_QCOM || COMPILE_TEST
 597	depends on MMC_SDHCI_PLTFM
 598	select MMC_SDHCI_IO_ACCESSORS
 599	select MMC_CQHCI
 600	select QCOM_INLINE_CRYPTO_ENGINE if MMC_CRYPTO
 601	help
 602	  This selects the Secure Digital Host Controller Interface (SDHCI)
 603	  support present in Qualcomm SOCs. The controller supports
 604	  SD/MMC/SDIO devices.
 605
 606	  If you have a controller with this interface, say Y or M here.
 607
 608	  If unsure, say N.
 609
 610config MMC_MXC
 611	tristate "Freescale i.MX21/27/31 or MPC512x Multimedia Card support"
 612	depends on ARCH_MXC || PPC_MPC512x || COMPILE_TEST
 613	help
 614	  This selects the Freescale i.MX21, i.MX27, i.MX31 or MPC512x
 615	  Multimedia Card Interface. If you have an i.MX or MPC512x platform
 616	  with a Multimedia Card slot, say Y or M here.
 617
 618	  If unsure, say N.
 619
 620config MMC_MXS
 621	tristate "Freescale MXS Multimedia Card Interface support"
 622	depends on ARCH_MXS && MXS_DMA
 623	help
 624	  This selects the Freescale SSP MMC controller found on MXS based
 625	  platforms like mx23/28.
 626
 627	  If unsure, say N.
 628
 629config MMC_TIFM_SD
 630	tristate "TI Flash Media MMC/SD Interface support"
 631	depends on PCI
 632	select TIFM_CORE
 633	help
 634	  Say Y here if you want to be able to access MMC/SD cards with
 635	  the Texas Instruments(R) Flash Media card reader, found in many
 636	  laptops.
 637	  This option 'selects' (turns on, enables) 'TIFM_CORE', but you
 638	  probably also need appropriate card reader host adapter, such as
 639	  'Misc devices: TI Flash Media PCI74xx/PCI76xx host adapter support
 640	  (TIFM_7XX1)'.
 641
 642	  To compile this driver as a module, choose M here: the
 643	  module will be called tifm_sd.
 644
 645config MMC_MVSDIO
 646	tristate "Marvell MMC/SD/SDIO host driver"
 647	depends on PLAT_ORION || (COMPILE_TEST && ARM)
 648	depends on OF
 649	help
 650	  This selects the Marvell SDIO host driver.
 651	  SDIO may currently be found on the Kirkwood 88F6281 and 88F6192
 652	  SoC controllers.
 653
 654	  To compile this driver as a module, choose M here: the
 655	  module will be called mvsdio.
 656
 657config MMC_DAVINCI
 658	tristate "TI DAVINCI Multimedia Card Interface support"
 659	depends on ARCH_DAVINCI || COMPILE_TEST
 660	help
 661	  This selects the TI DAVINCI Multimedia card Interface.
 662	  If you have an DAVINCI board with a Multimedia Card slot,
 663	  say Y or M here.  If unsure, say N.
 664
 665config MMC_SPI
 666	tristate "MMC/SD/SDIO over SPI"
 667	depends on SPI_MASTER
 668	select CRC7
 669	select CRC_ITU_T
 670	help
 671	  Some systems access MMC/SD/SDIO cards using a SPI controller
 672	  instead of using a "native" MMC/SD/SDIO controller.  This has a
 673	  disadvantage of being relatively high overhead, but a compensating
 674	  advantage of working on many systems without dedicated MMC/SD/SDIO
 675	  controllers.
 676
 677	  If unsure, or if your system has no SPI master driver, say N.
 678
 679config MMC_SDRICOH_CS
 680	tristate "MMC/SD driver for Ricoh Bay1Controllers"
 681	depends on PCI && PCMCIA
 682	help
 683	  Say Y here if your Notebook reports a Ricoh Bay1Controller PCMCIA
 684	  card whenever you insert a MMC or SD card into the card slot.
 685
 686	  To compile this driver as a module, choose M here: the
 687	  module will be called sdricoh_cs.
 688
 689config MMC_SDHCI_SPRD
 690	tristate "Spreadtrum SDIO host Controller"
 691	depends on ARCH_SPRD || COMPILE_TEST
 692	depends on MMC_SDHCI_PLTFM
 693	select MMC_SDHCI_IO_ACCESSORS
 694	select MMC_HSQ
 695	help
 696	  This selects the SDIO Host Controller in Spreadtrum
 697	  SoCs, this driver supports R11(IP version: R11P0).
 698
 699	  If you have a controller with this interface, say Y or M here.
 700
 701	  If unsure, say N.
 702
 703config MMC_TMIO_CORE
 704	tristate
 705
 706config MMC_SDHI
 707	tristate "Renesas SDHI SD/SDIO controller support"
 708	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 709	depends on (RESET_CONTROLLER && REGULATOR) || !OF
 710	select MMC_TMIO_CORE
 711	help
 712	  This provides support for the SDHI SD/SDIO controller found in
 713	  Renesas SuperH, ARM and ARM64 based SoCs
 714
 715config MMC_SDHI_SYS_DMAC
 716	tristate "DMA for SDHI SD/SDIO controllers using SYS-DMAC"
 717	depends on MMC_SDHI
 718	default MMC_SDHI if (SUPERH || ARM)
 719	help
 720	  This provides DMA support for SDHI SD/SDIO controllers
 721	  using SYS-DMAC via DMA Engine. This supports the controllers
 722	  found in SuperH and Renesas ARM based SoCs.
 723
 724config MMC_SDHI_INTERNAL_DMAC
 725	tristate "DMA for SDHI SD/SDIO controllers using on-chip bus mastering"
 726	depends on ARCH_RENESAS || COMPILE_TEST
 727	depends on MMC_SDHI
 728	default MMC_SDHI if ARCH_RENESAS
 729	help
 730	  This provides DMA support for SDHI SD/SDIO controllers
 731	  using on-chip bus mastering. This supports the controllers
 732	  found in arm64 based SoCs. This controller is also found in
 733	  some RZ family SoCs.
 734
 735config MMC_UNIPHIER
 736	tristate "UniPhier SD/eMMC Host Controller support"
 737	depends on ARCH_UNIPHIER || COMPILE_TEST
 738	depends on OF
 739	select MMC_TMIO_CORE
 740	help
 741	  This provides support for the SD/eMMC controller found in
 742	  UniPhier SoCs. The eMMC variant of this controller is used
 743	  only for 32-bit SoCs.
 744
 745config MMC_CB710
 746	tristate "ENE CB710 MMC/SD Interface support"
 747	depends on PCI
 748	select CB710_CORE
 749	help
 750	  This option enables support for MMC/SD part of ENE CB710/720 Flash
 751	  memory card reader found in some laptops (ie. some versions of
 752	  HP Compaq nx9500).
 753
 754	  This driver can also be built as a module. If so, the module
 755	  will be called cb710-mmc.
 756
 757config MMC_VIA_SDMMC
 758	tristate "VIA SD/MMC Card Reader Driver"
 759	depends on PCI
 760	help
 761	  This selects the VIA SD/MMC Card Reader driver, say Y or M here.
 762	  VIA provides one multi-functional card reader which integrated into
 763	  some motherboards manufactured by VIA. This card reader supports
 764	  SD/MMC/SDHC.
 765	  If you have a controller with this interface, say Y or M here.
 766
 767	  If unsure, say N.
 768
 769config MMC_CAVIUM_OCTEON
 770	tristate "Cavium OCTEON SD/MMC Card Interface support"
 771	depends on CAVIUM_OCTEON_SOC
 772	help
 773	  This selects Cavium OCTEON SD/MMC card Interface.
 774	  If you have an OCTEON board with a Multimedia Card slot,
 775	  say Y or M here.
 776
 777	  If unsure, say N.
 778
 779config MMC_CAVIUM_THUNDERX
 780	tristate "Cavium ThunderX SD/MMC Card Interface support"
 781	depends on PCI && 64BIT && (ARM64 || COMPILE_TEST)
 782	depends on GPIO_THUNDERX
 783	depends on OF_ADDRESS
 784	help
 785	  This selects Cavium ThunderX SD/MMC Card Interface.
 786	  If you have an Cavium ARM64 board with a Multimedia Card slot
 787	  or builtin eMMC chip say Y or M here. If built as a module
 788	  the module will be called thunderx_mmc.ko.
 789
 790config MMC_DW
 791	tristate "Synopsys DesignWare Memory Card Interface"
 792	depends on ARC || ARM || ARM64 || MIPS || RISCV || CSKY || COMPILE_TEST
 793	help
 794	  This selects support for the Synopsys DesignWare Mobile Storage IP
 795	  block, this provides host support for SD and MMC interfaces, in both
 796	  PIO, internal DMA mode and external DMA mode.
 797
 798config MMC_DW_PLTFM
 799	tristate "Synopsys Designware MCI Support as platform device"
 800	depends on MMC_DW
 801	default y
 802	help
 803	  This selects the common helper functions support for Host Controller
 804	  Interface based platform driver. Please select this option if the IP
 805	  is present as a platform device. This is the common interface for the
 806	  Synopsys Designware IP.
 807
 808	  If you have a controller with this interface, say Y or M here.
 809
 810	  If unsure, say Y.
 811
 812config MMC_DW_BLUEFIELD
 813	tristate "BlueField specific extensions for Synopsys DW Memory Card Interface"
 814	depends on MMC_DW
 815	select MMC_DW_PLTFM
 816	help
 817	  This selects support for Mellanox BlueField SoC specific extensions to
 818	  the Synopsys DesignWare Memory Card Interface driver. Select this
 819	  option for platforms based on Mellanox BlueField SoC's.
 820
 821config MMC_DW_EXYNOS
 822	tristate "Exynos specific extensions for Synopsys DW Memory Card Interface"
 823	depends on MMC_DW
 824	select MMC_DW_PLTFM
 825	help
 826	  This selects support for Samsung Exynos SoC specific extensions to the
 827	  Synopsys DesignWare Memory Card Interface driver. Select this option
 828	  for platforms based on Exynos4 and Exynos5 SoC's.
 829
 830config MMC_DW_HI3798CV200
 831	tristate "Hi3798CV200 specific extensions for Synopsys DW Memory Card Interface"
 832	depends on MMC_DW
 833	select MMC_DW_PLTFM
 834	help
 835	  This selects support for HiSilicon Hi3798CV200 SoC specific extensions to the
 836	  Synopsys DesignWare Memory Card Interface driver. Select this option
 837	  for platforms based on HiSilicon Hi3798CV200 SoC.
 838
 839config MMC_DW_HI3798MV200
 840	tristate "Hi3798MV200 specific extensions for Synopsys DW Memory Card Interface"
 841	depends on MMC_DW
 842	select MMC_DW_PLTFM
 843	help
 844	  This selects support for HiSilicon Hi3798MV200 SoC specific extensions to the
 845	  Synopsys DesignWare Memory Card Interface driver. Select this option
 846	  for platforms based on HiSilicon Hi3798MV200 SoC.
 847
 848config MMC_DW_K3
 849	tristate "K3 specific extensions for Synopsys DW Memory Card Interface"
 850	depends on MMC_DW
 851	select MMC_DW_PLTFM
 852	help
 853	  This selects support for Hisilicon K3 SoC specific extensions to the
 854	  Synopsys DesignWare Memory Card Interface driver. Select this option
 855	  for platforms based on Hisilicon K3 SoC's.
 856
 857config MMC_DW_PCI
 858	tristate "Synopsys Designware MCI support on PCI bus"
 859	depends on MMC_DW && PCI
 860	help
 861	  This selects the PCI bus for the Synopsys Designware Mobile Storage IP.
 862	  Select this option if the IP is present on PCI platform.
 863
 864	  If you have a controller with this interface, say Y or M here.
 865
 866	  If unsure, say N.
 867
 868config MMC_DW_ROCKCHIP
 869	tristate "Rockchip specific extensions for Synopsys DW Memory Card Interface"
 870	depends on MMC_DW
 871	depends on ARCH_ROCKCHIP || COMPILE_TEST
 872	select MMC_DW_PLTFM
 873	help
 874	  This selects support for Rockchip SoC specific extensions to the
 875	  Synopsys DesignWare Memory Card Interface driver. Select this option
 876	  for platforms based on RK3066, RK3188 and RK3288 SoC's.
 877
 878config MMC_DW_STARFIVE
 879	tristate "StarFive specific extensions for Synopsys DW Memory Card Interface"
 880	depends on SOC_STARFIVE
 881	depends on MMC_DW
 882	select MMC_DW_PLTFM
 883	help
 884	  This selects support for StarFive JH7110 SoC specific extensions to the
 885	  Synopsys DesignWare Memory Card Interface driver. Select this option
 886	  for platforms based on StarFive JH7110 SoC.
 887
 888config MMC_SH_MMCIF
 889	tristate "SuperH Internal MMCIF support"
 890	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
 891	help
 892	  This selects the MMC Host Interface controller (MMCIF) found in various
 893	  Renesas SoCs for SH and ARM architectures.
 894
 895
 896config MMC_JZ4740
 897	tristate "Ingenic JZ47xx SD/Multimedia Card Interface support"
 898	depends on MIPS
 899	help
 900	  This selects support for the SD/MMC controller on Ingenic
 901	  JZ4740, JZ4750, JZ4770 and JZ4780 SoCs.
 902
 903	  If you have a board based on such a SoC and with a SD/MMC slot,
 904	  say Y or M here.
 905
 906config MMC_VUB300
 907	tristate "VUB300 USB to SDIO/SD/MMC Host Controller support"
 908	depends on USB
 909	help
 910	  This selects support for Elan Digital Systems' VUB300 chip.
 911
 912	  The VUB300 is a USB-SDIO Host Controller Interface chip
 913	  that enables the host computer to use SDIO/SD/MMC cards
 914	  via a USB 2.0 or USB 1.1 host.
 915
 916	  The VUB300 chip will be found in both physically separate
 917	  USB to SDIO/SD/MMC adapters and embedded on some motherboards.
 918
 919	  The VUB300 chip supports SD and MMC memory cards in addition
 920	  to single and multifunction SDIO cards.
 921
 922	  Some SDIO cards will need a firmware file to be loaded and
 923	  sent to VUB300 chip in order to achieve better data throughput.
 924	  Download these "Offload Pseudocode" from Elan Digital Systems'
 925	  web-site http://www.elandigitalsystems.com/support/downloads.php
 926	  and put them in /lib/firmware. Note that without these additional
 927	  firmware files the VUB300 chip will still function, but not at
 928	  the best obtainable data rate.
 929
 930	  To compile this mmc host controller driver as a module,
 931	  choose M here: the module will be called vub300.
 932
 933	  If you have a computer with an embedded VUB300 chip
 934	  or if you intend connecting a USB adapter based on a
 935	  VUB300 chip say Y or M here.
 936
 937config MMC_USHC
 938	tristate "USB SD Host Controller (USHC) support"
 939	depends on USB
 940	help
 941	  This selects support for USB SD Host Controllers based on
 942	  the Cypress Astoria chip with firmware compliant with CSR's
 943	  USB SD Host Controller specification (CS-118793-SP).
 944
 945	  CSR boards with this device include: USB<>SDIO (M1985v2),
 946	  and Ultrasira.
 947
 948	  Note: These controllers only support SDIO cards and do not
 949	  support MMC or SD memory cards.
 950
 951config MMC_WMT
 952	tristate "Wondermedia SD/MMC Host Controller support"
 953	depends on ARCH_VT8500 || COMPILE_TEST
 954	default ARCH_VT8500
 955	help
 956	  This selects support for the SD/MMC Host Controller on
 957	  Wondermedia WM8505/WM8650 based SoCs.
 958
 959	  To compile this driver as a module, choose M here: the
 960	  module will be called wmt-sdmmc.
 961
 962config MMC_USDHI6ROL0
 963	tristate "Renesas USDHI6ROL0 SD/SDIO Host Controller support"
 964	depends on HAS_DMA
 965	help
 966	  This selects support for the Renesas USDHI6ROL0 SD/SDIO
 967	  Host Controller
 968
 969config MMC_REALTEK_PCI
 970	tristate "Realtek PCI-E SD/MMC Card Interface Driver"
 971	depends on MISC_RTSX_PCI
 972	help
 973	  Say Y here to include driver code to support SD/MMC card interface
 974	  of Realtek PCI-E card reader
 975
 976config MMC_REALTEK_USB
 977	tristate "Realtek USB SD/MMC Card Interface Driver"
 978	depends on MISC_RTSX_USB
 979	help
 980	  Say Y here to include driver code to support SD/MMC card interface
 981	  of Realtek RTS5129/39 series card reader
 982
 983config MMC_SUNXI
 984	tristate "Allwinner sunxi SD/MMC Host Controller support"
 985	depends on ARCH_SUNXI || COMPILE_TEST
 986	depends on SUNXI_CCU
 987	help
 988	  This selects support for the SD/MMC Host Controller on
 989	  Allwinner sunxi SoCs.
 990
 991config MMC_CQHCI
 992	tristate "Command Queue Host Controller Interface support"
 993	depends on HAS_DMA
 994	help
 995	  This selects the Command Queue Host Controller Interface (CQHCI)
 996	  support present in host controllers of Qualcomm Technologies, Inc
 997	  amongst others.
 998	  This controller supports eMMC devices with command queue support.
 999
1000	  If you have a controller with this interface, say Y or M here.
1001
1002	  If unsure, say N.
1003
1004config MMC_HSQ
1005	tristate "MMC Host Software Queue support"
1006	help
1007	  This selects the MMC Host Software Queue support. This may increase
1008	  performance, if the host controller and its driver supports it.
1009
1010	  If you have a controller/driver supporting this interface, say Y or M
1011	  here.
1012
1013	  If unsure, say N.
1014
1015config MMC_TOSHIBA_PCI
1016	tristate "Toshiba Type A SD/MMC Card Interface Driver"
1017	depends on PCI
1018
1019config MMC_BCM2835
1020	tristate "Broadcom BCM2835 SDHOST MMC Controller support"
1021	depends on ARCH_BCM2835 || COMPILE_TEST
1022	help
1023	  This selects the BCM2835 SDHOST MMC controller. If you have
1024	  a BCM2835 platform with SD or MMC devices, say Y or M here.
1025
1026	  Note that the BCM2835 has two SD controllers: The Arasan
1027	  sdhci controller (supported by MMC_SDHCI_IPROC) and a custom
1028	  sdhost controller (supported by this driver).
1029
1030	  If unsure, say N.
1031
1032config MMC_MTK
1033	tristate "MediaTek SD/MMC Card Interface support"
1034	depends on HAS_DMA
1035	depends on COMMON_CLK
1036	select REGULATOR
1037	select MMC_CQHCI
1038	select MMC_HSQ
1039	help
1040	  This selects the MediaTek(R) Secure digital and Multimedia card Interface.
1041	  If you have a machine with a integrated SD/MMC card reader, say Y or M here.
1042	  This is needed if support for any SD/SDIO/MMC devices is required.
1043	  If unsure, say N.
1044
1045config MMC_SDHCI_MICROCHIP_PIC32
1046	tristate "Microchip PIC32MZDA SDHCI support"
1047	depends on MMC_SDHCI && PIC32MZDA && MMC_SDHCI_PLTFM
1048	help
1049	  This selects the Secure Digital Host Controller Interface (SDHCI)
1050	  for PIC32MZDA platform.
1051
1052	  If you have a controller with this interface, say Y or M here.
1053
1054	  If unsure, say N.
1055
1056config MMC_SDHCI_BRCMSTB
1057	tristate "Broadcom SDIO/SD/MMC support"
1058	depends on ARCH_BRCMSTB || ARCH_BCM2835 || BMIPS_GENERIC || COMPILE_TEST
1059	depends on MMC_SDHCI_PLTFM
1060	select MMC_CQHCI
1061	default ARCH_BRCMSTB || BMIPS_GENERIC
1062	help
1063	  This selects support for the SDIO/SD/MMC Host Controller on
1064	  Broadcom STB SoCs.
1065
1066	  If unsure, say Y.
1067
1068config MMC_SDHCI_XENON
1069	tristate "Marvell Xenon eMMC/SD/SDIO SDHCI driver"
1070	depends on MMC_SDHCI_PLTFM
1071	help
1072	  This selects Marvell Xenon eMMC/SD/SDIO SDHCI.
1073	  If you have a controller with this interface, say Y or M here.
1074	  If unsure, say N.
1075
1076config MMC_SDHCI_OMAP
1077	tristate "TI SDHCI Controller Support"
1078	depends on ARCH_OMAP2PLUS || ARCH_KEYSTONE || COMPILE_TEST
1079	depends on MMC_SDHCI_PLTFM && OF
1080	select THERMAL
1081	imply TI_SOC_THERMAL
1082	select MMC_SDHCI_EXTERNAL_DMA if DMA_ENGINE
1083	help
1084	  This selects the Secure Digital Host Controller Interface (SDHCI)
1085	  support present in TI's Keystone/OMAP2+/DRA7 SOCs. The controller
1086	  supports SD/MMC/SDIO devices.
1087
1088	  If you have a controller with this interface, say Y or M here.
1089
1090	  If unsure, say N.
1091
1092config MMC_SDHCI_AM654
1093	tristate "Support for the SDHCI Controller in TI's AM654 SOCs"
1094	depends on ARCH_K3 || COMPILE_TEST
1095	depends on MMC_SDHCI_PLTFM && OF
1096	select MMC_SDHCI_IO_ACCESSORS
1097	select MMC_CQHCI
1098	select REGMAP_MMIO
1099	help
1100	  This selects the Secure Digital Host Controller Interface (SDHCI)
1101	  support present in TI's AM65x/AM64x/AM62x/J721E SOCs. The controller
1102	  supports SD/MMC/SDIO devices.
1103
1104	  If you have a controller with this interface, say Y or M here.
1105
1106	  If unsure, say N.
1107
1108config MMC_OWL
1109	tristate "Actions Semi Owl SD/MMC Host Controller support"
1110	depends on HAS_DMA
1111	depends on ARCH_ACTIONS || COMPILE_TEST
1112	help
1113	  This selects support for the SD/MMC Host Controller on
1114	  Actions Semi Owl SoCs.
1115
1116config MMC_LOONGSON2
1117	tristate "Loongson-2K SD/SDIO/eMMC Host Interface support"
1118	depends on LOONGARCH || COMPILE_TEST
1119	depends on HAS_DMA
1120	select REGMAP_MMIO
1121	help
1122	  This selects support for the SD/SDIO/eMMC Host Controller on
1123	  Loongson-2K series CPUs.
1124
1125	  To compile this driver as a module, choose M here: the
1126	  module will be called mmc_loongson2.
1127
1128	  If unsure, say N.
1129
1130config MMC_SDHCI_EXTERNAL_DMA
1131	bool
1132
1133config MMC_LITEX
1134	tristate "LiteX MMC Host Controller support"
1135	depends on ((PPC_MICROWATT || LITEX) && OF && HAVE_CLK) || COMPILE_TEST
1136	select REGULATOR
1137	select REGULATOR_FIXED_VOLTAGE
1138	help
1139	  This selects support for the MMC Host Controller found in LiteX SoCs.
1140
1141	  To compile this driver as a module, choose M here: the
1142	  module will be called litex_mmc.
1143
1144	  If unsure, say N.
~/ Read-only file preview.