Kconfig 34 KB

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