11c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman#
21c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman# MMC/SD card drivers
31c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman#
41c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman
557105737f6a0b39305a85ac176cc9fd4a236d8c2Pierre Ossmancomment "MMC/SD/SDIO Card Drivers"
61c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman
71c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossmanconfig MMC_BLOCK
81c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman	tristate "MMC block device driver"
9790864dcc2b3fe65355dd84ef8481e54b1bc61b6Jan Engelhardt	depends on BLOCK
101c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman	default y
111c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman	help
121c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman	  Say Y here to enable the MMC block device driver support.
131c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman	  This provides a block device driver, which you can use to
141c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman	  mount the filesystem. Almost everyone wishing MMC support
151c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman	  should say Y or M here.
161c6a0718f0bfdab0d9b7da5f7b74f38a0058c03aPierre Ossman
175e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johanssonconfig MMC_BLOCK_MINORS
185e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	int "Number of minors per block device"
19b37427b0a4e01ab5aaec1c9af7cef616ac4ce6d6Chris Ball	depends on MMC_BLOCK
205e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	range 4 256
215e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	default 8
225e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	help
235e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	  Number of minors per block device. One is needed for every
245e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	  partition on the disk (plus one for the whole disk).
255e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson
265e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	  Number of total MMC minors available is 256, so your number
275e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	  of supported block devices will be limited to 256 divided
285e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	  by this number.
295e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson
305e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	  Default is 8 to be backwards compatible with previous
315e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	  hardwired device numbering.
325e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson
335e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson	  If unsure, say 8 here.
345e71b7a64cb4c6cff75ca42b535d8227526ec592Olof Johansson
3598ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossmanconfig MMC_BLOCK_BOUNCE
3698ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	bool "Use bounce buffer for simple hosts"
3798ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	depends on MMC_BLOCK
3898ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	default y
3998ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	help
4098ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  SD/MMC is a high latency protocol where it is crucial to
4198ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  send large requests in order to get high performance. Many
4298ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  controllers, however, are restricted to continuous memory
4398ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  (i.e. they can't do scatter-gather), something the kernel
4498ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  rarely can provide.
4598ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman
4698ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  Say Y here to help these restricted hosts by bouncing
4798ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  requests back and forth from a large buffer. You will get
4898ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  a big performance gain at the cost of up to 64 KiB of
4998ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  physical memory.
5098ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman
5198ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman	  If unsure, say Y here.
5298ccf14909ba02a41c5925b0b2c92aeeef23d3b9Pierre Ossman
532c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehatconfig MMC_BLOCK_DEFERRED_RESUME
542c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehat	bool "Deferr MMC layer resume until I/O is requested"
552c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehat	depends on MMC_BLOCK
562c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehat	default n
572c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehat	help
582c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehat	  Say Y here to enable deferred MMC resume until I/O
592c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehat	  is requested. This will reduce overall resume latency and
602c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehat	  save power when theres an SD card inserted but not being used.
612c84417a1305da892c8a7d0bf8d0bad50d1688b8San Mehat
626e418a9d26ab4fd44b3e07dc1158027cbdf0a919Nicolas Pitreconfig SDIO_UART
636e418a9d26ab4fd44b3e07dc1158027cbdf0a919Nicolas Pitre	tristate "SDIO UART/GPS class support"
644f73bc4dd3e8563ef4109f293a092820dff66d92Joe Millenbach	depends on TTY
656e418a9d26ab4fd44b3e07dc1158027cbdf0a919Nicolas Pitre	help
666e418a9d26ab4fd44b3e07dc1158027cbdf0a919Nicolas Pitre	  SDIO function driver for SDIO cards that implements the UART
676e418a9d26ab4fd44b3e07dc1158027cbdf0a919Nicolas Pitre	  class, as well as the GPS class which appears like a UART.
686e418a9d26ab4fd44b3e07dc1158027cbdf0a919Nicolas Pitre
6988ae600d58a8d3160144af480133a988404b8d59Pierre Ossmanconfig MMC_TEST
7088ae600d58a8d3160144af480133a988404b8d59Pierre Ossman	tristate "MMC host test driver"
7188ae600d58a8d3160144af480133a988404b8d59Pierre Ossman	help
7288ae600d58a8d3160144af480133a988404b8d59Pierre Ossman	  Development driver that performs a series of reads and writes
7388ae600d58a8d3160144af480133a988404b8d59Pierre Ossman	  to a memory card in order to expose certain well known bugs
7488ae600d58a8d3160144af480133a988404b8d59Pierre Ossman	  in host controllers. The tests are executed by writing to the
7550cec37c1ac24e9a02b845242a4712e2fb092b5cWill Newton	  "test" file in debugfs under each card. Note that whatever is
7688ae600d58a8d3160144af480133a988404b8d59Pierre Ossman	  on your card will be overwritten by these tests.
7788ae600d58a8d3160144af480133a988404b8d59Pierre Ossman
7888ae600d58a8d3160144af480133a988404b8d59Pierre Ossman	  This driver is only of interest to those developing or
7988ae600d58a8d3160144af480133a988404b8d59Pierre Ossman	  testing a host driver. Most people should say N here.
80