162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# MMC core configuration
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ciconfig PWRSEQ_EMMC
662306a36Sopenharmony_ci	tristate "HW reset support for eMMC"
762306a36Sopenharmony_ci	default y
862306a36Sopenharmony_ci	depends on OF
962306a36Sopenharmony_ci	help
1062306a36Sopenharmony_ci	  This selects Hardware reset support aka pwrseq-emmc for eMMC
1162306a36Sopenharmony_ci	  devices. By default this option is set to y.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
1462306a36Sopenharmony_ci	  will be called pwrseq_emmc.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciconfig PWRSEQ_SD8787
1762306a36Sopenharmony_ci	tristate "HW reset support for SD8787 BT + Wifi module"
1862306a36Sopenharmony_ci	depends on OF && (MWIFIEX != n || BT_MRVL_SDIO != n || LIBERTAS_SDIO != n || WILC1000_SDIO != n)
1962306a36Sopenharmony_ci	help
2062306a36Sopenharmony_ci	  This selects hardware reset support for the SD8787 BT + Wifi
2162306a36Sopenharmony_ci	  module. By default this option is set to n.
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
2462306a36Sopenharmony_ci	  will be called pwrseq_sd8787.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_ciconfig PWRSEQ_SIMPLE
2762306a36Sopenharmony_ci	tristate "Simple HW reset support for MMC"
2862306a36Sopenharmony_ci	default y
2962306a36Sopenharmony_ci	depends on OF
3062306a36Sopenharmony_ci	help
3162306a36Sopenharmony_ci	  This selects simple hardware reset support aka pwrseq-simple for MMC
3262306a36Sopenharmony_ci	  devices. By default this option is set to y.
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci	  This driver can also be built as a module. If so, the module
3562306a36Sopenharmony_ci	  will be called pwrseq_simple.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciconfig MMC_BLOCK
3862306a36Sopenharmony_ci	tristate "MMC block device driver"
3962306a36Sopenharmony_ci	depends on BLOCK
4062306a36Sopenharmony_ci	imply IOSCHED_BFQ
4162306a36Sopenharmony_ci	default y
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	  Say Y here to enable the MMC block device driver support.
4462306a36Sopenharmony_ci	  This provides a block device driver, which you can use to
4562306a36Sopenharmony_ci	  mount the filesystem. Almost everyone wishing MMC support
4662306a36Sopenharmony_ci	  should say Y or M here.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig MMC_BLOCK_MINORS
4962306a36Sopenharmony_ci	int "Number of minors per block device"
5062306a36Sopenharmony_ci	depends on MMC_BLOCK
5162306a36Sopenharmony_ci	range 4 256
5262306a36Sopenharmony_ci	default 8
5362306a36Sopenharmony_ci	help
5462306a36Sopenharmony_ci	  Number of minors per block device. One is needed for every
5562306a36Sopenharmony_ci	  partition on the disk (plus one for the whole disk).
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	  Number of total MMC minors available is 256, so your number
5862306a36Sopenharmony_ci	  of supported block devices will be limited to 256 divided
5962306a36Sopenharmony_ci	  by this number.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci	  Default is 8 to be backwards compatible with previous
6262306a36Sopenharmony_ci	  hardwired device numbering.
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	  If unsure, say 8 here.
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ciconfig SDIO_UART
6762306a36Sopenharmony_ci	tristate "SDIO UART/GPS class support"
6862306a36Sopenharmony_ci	depends on TTY
6962306a36Sopenharmony_ci	help
7062306a36Sopenharmony_ci	  SDIO function driver for SDIO cards that implements the UART
7162306a36Sopenharmony_ci	  class, as well as the GPS class which appears like a UART.
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ciconfig MMC_TEST
7462306a36Sopenharmony_ci	tristate "MMC host test driver"
7562306a36Sopenharmony_ci	help
7662306a36Sopenharmony_ci	  Development driver that performs a series of reads and writes
7762306a36Sopenharmony_ci	  to a memory card in order to expose certain well known bugs
7862306a36Sopenharmony_ci	  in host controllers. The tests are executed by writing to the
7962306a36Sopenharmony_ci	  "test" file in debugfs under each card. Note that whatever is
8062306a36Sopenharmony_ci	  on your card will be overwritten by these tests.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci	  This driver is only of interest to those developing or
8362306a36Sopenharmony_ci	  testing a host driver. Most people should say N here.
8462306a36Sopenharmony_ci
8562306a36Sopenharmony_ciconfig MMC_CRYPTO
8662306a36Sopenharmony_ci	bool "MMC Crypto Engine Support"
8762306a36Sopenharmony_ci	depends on BLK_INLINE_ENCRYPTION
8862306a36Sopenharmony_ci	help
8962306a36Sopenharmony_ci	  Enable Crypto Engine Support in MMC.
9062306a36Sopenharmony_ci	  Enabling this makes it possible for the kernel to use the crypto
9162306a36Sopenharmony_ci	  capabilities of the MMC device (if present) to perform crypto
9262306a36Sopenharmony_ci	  operations on data being transferred to/from the device.
93