162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0+
262306a36Sopenharmony_ci#
362306a36Sopenharmony_ci# Kernel configuration file for the UFS host controller drivers.
462306a36Sopenharmony_ci#
562306a36Sopenharmony_ci# Copyright (C) 2011-2013 Samsung India Software Operations
662306a36Sopenharmony_ci#
762306a36Sopenharmony_ci# Authors:
862306a36Sopenharmony_ci#	Santosh Yaraganavi <santosh.sy@samsung.com>
962306a36Sopenharmony_ci#	Vinayak Holikatti <h.vinayak@samsung.com>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciconfig SCSI_UFSHCD_PCI
1262306a36Sopenharmony_ci	tristate "PCI bus based UFS Controller support"
1362306a36Sopenharmony_ci	depends on PCI
1462306a36Sopenharmony_ci	help
1562306a36Sopenharmony_ci	  This selects the PCI UFS Host Controller Interface. Select this if
1662306a36Sopenharmony_ci	  you have UFS Host Controller with PCI Interface.
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci	  If unsure, say N.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciconfig SCSI_UFS_DWC_TC_PCI
2362306a36Sopenharmony_ci	tristate "DesignWare pci support using a G210 Test Chip"
2462306a36Sopenharmony_ci	depends on SCSI_UFSHCD_PCI
2562306a36Sopenharmony_ci	help
2662306a36Sopenharmony_ci	  Synopsys Test Chip is a PHY for prototyping purposes.
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci	  If unsure, say N.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciconfig SCSI_UFSHCD_PLATFORM
3162306a36Sopenharmony_ci	tristate "Platform bus based UFS Controller support"
3262306a36Sopenharmony_ci	depends on HAS_IOMEM
3362306a36Sopenharmony_ci	help
3462306a36Sopenharmony_ci	  This selects the UFS host controller support. Select this if
3562306a36Sopenharmony_ci	  you have an UFS controller on Platform bus.
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci	  If you have a controller with this interface, say Y or M here.
3862306a36Sopenharmony_ci
3962306a36Sopenharmony_ci	  If unsure, say N.
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciconfig SCSI_UFS_CDNS_PLATFORM
4262306a36Sopenharmony_ci	tristate "Cadence UFS Controller platform driver"
4362306a36Sopenharmony_ci	depends on SCSI_UFSHCD_PLATFORM
4462306a36Sopenharmony_ci	help
4562306a36Sopenharmony_ci	  This selects the Cadence-specific additions to UFSHCD platform driver.
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	  If unsure, say N.
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ciconfig SCSI_UFS_DWC_TC_PLATFORM
5062306a36Sopenharmony_ci	tristate "DesignWare platform support using a G210 Test Chip"
5162306a36Sopenharmony_ci	depends on OF && SCSI_UFSHCD_PLATFORM
5262306a36Sopenharmony_ci	help
5362306a36Sopenharmony_ci	  Synopsys Test Chip is a PHY for prototyping purposes.
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci	  If unsure, say N.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ciconfig SCSI_UFS_QCOM
5862306a36Sopenharmony_ci	tristate "QCOM specific hooks to UFS controller platform driver"
5962306a36Sopenharmony_ci	depends on SCSI_UFSHCD_PLATFORM && ARCH_QCOM
6062306a36Sopenharmony_ci	depends on GENERIC_MSI_IRQ
6162306a36Sopenharmony_ci	depends on RESET_CONTROLLER
6262306a36Sopenharmony_ci	select QCOM_INLINE_CRYPTO_ENGINE if SCSI_UFS_CRYPTO
6362306a36Sopenharmony_ci	help
6462306a36Sopenharmony_ci	  This selects the QCOM specific additions to UFSHCD platform driver.
6562306a36Sopenharmony_ci	  UFS host on QCOM needs some vendor specific configuration before
6662306a36Sopenharmony_ci	  accessing the hardware which includes PHY configuration and vendor
6762306a36Sopenharmony_ci	  specific registers.
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci	  Select this if you have UFS controller on QCOM chipset.
7062306a36Sopenharmony_ci	  If unsure, say N.
7162306a36Sopenharmony_ci
7262306a36Sopenharmony_ciconfig SCSI_UFS_MEDIATEK
7362306a36Sopenharmony_ci	tristate "Mediatek specific hooks to UFS controller platform driver"
7462306a36Sopenharmony_ci	depends on SCSI_UFSHCD_PLATFORM && ARCH_MEDIATEK
7562306a36Sopenharmony_ci	depends on RESET_CONTROLLER
7662306a36Sopenharmony_ci	select PHY_MTK_UFS
7762306a36Sopenharmony_ci	select RESET_TI_SYSCON
7862306a36Sopenharmony_ci	help
7962306a36Sopenharmony_ci	  This selects the Mediatek specific additions to UFSHCD platform driver.
8062306a36Sopenharmony_ci	  UFS host on Mediatek needs some vendor specific configuration before
8162306a36Sopenharmony_ci	  accessing the hardware which includes PHY configuration and vendor
8262306a36Sopenharmony_ci	  specific registers.
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci	  Select this if you have UFS controller on Mediatek chipset.
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	  If unsure, say N.
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ciconfig SCSI_UFS_HISI
8962306a36Sopenharmony_ci	tristate "Hisilicon specific hooks to UFS controller platform driver"
9062306a36Sopenharmony_ci	depends on (ARCH_HISI || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM
9162306a36Sopenharmony_ci	help
9262306a36Sopenharmony_ci	  This selects the Hisilicon specific additions to UFSHCD platform driver.
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	  Select this if you have UFS controller on Hisilicon chipset.
9562306a36Sopenharmony_ci	  If unsure, say N.
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ciconfig SCSI_UFS_RENESAS
9862306a36Sopenharmony_ci	tristate "Renesas specific hooks to UFS controller platform driver"
9962306a36Sopenharmony_ci	depends on (ARCH_RENESAS || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM
10062306a36Sopenharmony_ci	help
10162306a36Sopenharmony_ci	  This selects the Renesas specific additions to UFSHCD platform driver.
10262306a36Sopenharmony_ci	  UFS host on Renesas needs some vendor specific configuration before
10362306a36Sopenharmony_ci	  accessing the hardware.
10462306a36Sopenharmony_ci
10562306a36Sopenharmony_ci	  Select this if you have UFS controller on Renesas chipset.
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci	  If unsure, say N.
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ciconfig SCSI_UFS_TI_J721E
11062306a36Sopenharmony_ci	tristate "TI glue layer for Cadence UFS Controller"
11162306a36Sopenharmony_ci	depends on OF && HAS_IOMEM && (ARCH_K3 || COMPILE_TEST)
11262306a36Sopenharmony_ci	help
11362306a36Sopenharmony_ci	  This selects driver for TI glue layer for Cadence UFS Host
11462306a36Sopenharmony_ci	  Controller IP.
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci	  Selects this if you have TI platform with UFS controller.
11762306a36Sopenharmony_ci	  If unsure, say N.
11862306a36Sopenharmony_ci
11962306a36Sopenharmony_ciconfig SCSI_UFS_EXYNOS
12062306a36Sopenharmony_ci	tristate "Exynos specific hooks to UFS controller platform driver"
12162306a36Sopenharmony_ci	depends on SCSI_UFSHCD_PLATFORM && (ARCH_EXYNOS || COMPILE_TEST)
12262306a36Sopenharmony_ci	help
12362306a36Sopenharmony_ci	  This selects the Samsung Exynos SoC specific additions to UFSHCD
12462306a36Sopenharmony_ci	  platform driver.  UFS host on Samsung Exynos SoC includes HCI and
12562306a36Sopenharmony_ci	  UNIPRO layer, and associates with UFS-PHY driver.
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci	  Select this if you have UFS host controller on Samsung Exynos SoC.
12862306a36Sopenharmony_ci	  If unsure, say N.
12962306a36Sopenharmony_ci
13062306a36Sopenharmony_ciconfig SCSI_UFS_VARIABLE_SG_ENTRY_SIZE
13162306a36Sopenharmony_ci	bool
13262306a36Sopenharmony_ci	default y if SCSI_UFS_EXYNOS && SCSI_UFS_CRYPTO
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ciconfig SCSI_UFS_SPRD
13562306a36Sopenharmony_ci	tristate "Unisoc specific hooks to UFS controller platform driver"
13662306a36Sopenharmony_ci	depends on SCSI_UFSHCD_PLATFORM && (ARCH_SPRD || COMPILE_TEST)
13762306a36Sopenharmony_ci	help
13862306a36Sopenharmony_ci	  This selects the Unisoc specific additions to UFSHCD platform driver.
13962306a36Sopenharmony_ci	  UFS host on Unisoc needs some vendor specific configuration before
14062306a36Sopenharmony_ci	  accessing the hardware which includes PHY configuration and vendor
14162306a36Sopenharmony_ci	  specific registers.
14262306a36Sopenharmony_ci
14362306a36Sopenharmony_ci	  Select this if you have UFS controller on Unisoc chipset.
14462306a36Sopenharmony_ci	  If unsure, say N.
145