Kconfig 30 KB

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