#
# MMC/SD card drivers
#

comment "MMC/SD/SDIO Card Drivers"

config MMC_BLOCK
	tristate "MMC block device driver"
	depends on BLOCK
	default y
	help
	  Say Y here to enable the MMC block device driver support.
	  This provides a block device driver, which you can use to
	  mount the filesystem. Almost everyone wishing MMC support
	  should say Y or M here.

config SNSC_MMC_MMC_SHIFT
        int "Value of MMC_SHIFT"
	depends on MMC
        range 0 8
        default 3
        help
          Select MMC_SHIFT which defines the number of supported MMC/SD devices
          and partitions per a device.

            - the number of supported devices    = 256 >> MMC_SHIFT
            - the number of supported partitions = 1   << MMC_SHIFT

          Examples:
                     3 => 32 devices, 8 partitions
                     4 => 16 devices, 16 partitions

config MMC_BLOCK_BOUNCE
	bool "Use bounce buffer for simple hosts"
	depends on MMC_BLOCK
	default y
	help
	  SD/MMC is a high latency protocol where it is crucial to
	  send large requests in order to get high performance. Many
	  controllers, however, are restricted to continuous memory
	  (i.e. they can't do scatter-gather), something the kernel
	  rarely can provide.

	  Say Y here to help these restricted hosts by bouncing
	  requests back and forth from a large buffer. You will get
	  a big performance gain at the cost of up to 64 KiB of
	  physical memory.

	  If unsure, say Y here.

config SDIO_UART
	tristate "SDIO UART/GPS class support"
	help
	  SDIO function driver for SDIO cards that implements the UART
	  class, as well as the GPS class which appears like a UART.

config MMC_TEST
	tristate "MMC host test driver"
	default n
	help
	  Development driver that performs a series of reads and writes
	  to a memory card in order to expose certain well known bugs
	  in host controllers. The tests are executed by writing to the
	  "test" file in sysfs under each card. Note that whatever is
	  on your card will be overwritten by these tests.

	  This driver is only of interest to those developing or
	  testing a host driver. Most people should say N here.

config SNSC_MMC_WRITE_RETRY
	bool "Retry on write failure"
	depends on SNSC
	default n

config SNSC_MMC_WRITE_RETRY_MAX_COUNT
	int "Maximum number of write retries"
	depends on SNSC_MMC_WRITE_RETRY
	default 1

config SNSC_MMC_RESTRICT_MAX_DISCARD_FUNCTION
	bool "Enable the restrict max discard sectors for MMC"
	depends on SNSC
	default n
	help
	  There is a eMMC controller which has a maximum in timeout
	  time. By such a controller, if Erase/TRIM/Discard of the
	  large number of sectors is execued, a problem will occur.
	  If you enabled the config, you can avoid this type problem.
	  Please specify the number of the maximum sectors by the
	  following config.

config SNSC_MMC_RESTRICT_MAX_DISCARD_SECTORS
	int "Restricted max discard sectors for MMC"
	depends on SNSC_MMC_RESTRICT_MAX_DISCARD_FUNCTION
	default 8192
	help
	  This config restricts the number of sectors of the
	  Erase/TRIM/Discaed command at once.
	  Please specify by the multiple of erase block size.
