1# SPDX-License-Identifier: GPL-2.0+
2#
3# Kernel configuration file for the UFS host controller drivers.
4#
5# Copyright (C) 2011-2013 Samsung India Software Operations
6#
7# Authors:
8#	Santosh Yaraganavi <santosh.sy@samsung.com>
9#	Vinayak Holikatti <h.vinayak@samsung.com>
10
11config SCSI_UFSHCD_PCI
12	tristate "PCI bus based UFS Controller support"
13	depends on PCI
14	help
15	  This selects the PCI UFS Host Controller Interface. Select this if
16	  you have UFS Host Controller with PCI Interface.
17
18	  If you have a controller with this interface, say Y or M here.
19
20	  If unsure, say N.
21
22config SCSI_UFS_DWC_TC_PCI
23	tristate "DesignWare pci support using a G210 Test Chip"
24	depends on SCSI_UFSHCD_PCI
25	help
26	  Synopsys Test Chip is a PHY for prototyping purposes.
27
28	  If unsure, say N.
29
30config SCSI_UFSHCD_PLATFORM
31	tristate "Platform bus based UFS Controller support"
32	depends on HAS_IOMEM
33	help
34	  This selects the UFS host controller support. Select this if
35	  you have an UFS controller on Platform bus.
36
37	  If you have a controller with this interface, say Y or M here.
38
39	  If unsure, say N.
40
41config SCSI_UFS_CDNS_PLATFORM
42	tristate "Cadence UFS Controller platform driver"
43	depends on SCSI_UFSHCD_PLATFORM
44	help
45	  This selects the Cadence-specific additions to UFSHCD platform driver.
46
47	  If unsure, say N.
48
49config SCSI_UFS_DWC_TC_PLATFORM
50	tristate "DesignWare platform support using a G210 Test Chip"
51	depends on OF && SCSI_UFSHCD_PLATFORM
52	help
53	  Synopsys Test Chip is a PHY for prototyping purposes.
54
55	  If unsure, say N.
56
57config SCSI_UFS_QCOM
58	tristate "QCOM specific hooks to UFS controller platform driver"
59	depends on SCSI_UFSHCD_PLATFORM && ARCH_QCOM
60	depends on GENERIC_MSI_IRQ
61	depends on RESET_CONTROLLER
62	select QCOM_INLINE_CRYPTO_ENGINE if SCSI_UFS_CRYPTO
63	help
64	  This selects the QCOM specific additions to UFSHCD platform driver.
65	  UFS host on QCOM needs some vendor specific configuration before
66	  accessing the hardware which includes PHY configuration and vendor
67	  specific registers.
68
69	  Select this if you have UFS controller on QCOM chipset.
70	  If unsure, say N.
71
72config SCSI_UFS_MEDIATEK
73	tristate "Mediatek specific hooks to UFS controller platform driver"
74	depends on SCSI_UFSHCD_PLATFORM && ARCH_MEDIATEK
75	depends on RESET_CONTROLLER
76	select PHY_MTK_UFS
77	select RESET_TI_SYSCON
78	help
79	  This selects the Mediatek specific additions to UFSHCD platform driver.
80	  UFS host on Mediatek needs some vendor specific configuration before
81	  accessing the hardware which includes PHY configuration and vendor
82	  specific registers.
83
84	  Select this if you have UFS controller on Mediatek chipset.
85
86	  If unsure, say N.
87
88config SCSI_UFS_HISI
89	tristate "Hisilicon specific hooks to UFS controller platform driver"
90	depends on (ARCH_HISI || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM
91	help
92	  This selects the Hisilicon specific additions to UFSHCD platform driver.
93
94	  Select this if you have UFS controller on Hisilicon chipset.
95	  If unsure, say N.
96
97config SCSI_UFS_RENESAS
98	tristate "Renesas specific hooks to UFS controller platform driver"
99	depends on (ARCH_RENESAS || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM
100	help
101	  This selects the Renesas specific additions to UFSHCD platform driver.
102	  UFS host on Renesas needs some vendor specific configuration before
103	  accessing the hardware.
104
105	  Select this if you have UFS controller on Renesas chipset.
106
107	  If unsure, say N.
108
109config SCSI_UFS_TI_J721E
110	tristate "TI glue layer for Cadence UFS Controller"
111	depends on OF && HAS_IOMEM && (ARCH_K3 || COMPILE_TEST)
112	help
113	  This selects driver for TI glue layer for Cadence UFS Host
114	  Controller IP.
115
116	  Selects this if you have TI platform with UFS controller.
117	  If unsure, say N.
118
119config SCSI_UFS_EXYNOS
120	tristate "Exynos specific hooks to UFS controller platform driver"
121	depends on SCSI_UFSHCD_PLATFORM && (ARCH_EXYNOS || COMPILE_TEST)
122	help
123	  This selects the Samsung Exynos SoC specific additions to UFSHCD
124	  platform driver.  UFS host on Samsung Exynos SoC includes HCI and
125	  UNIPRO layer, and associates with UFS-PHY driver.
126
127	  Select this if you have UFS host controller on Samsung Exynos SoC.
128	  If unsure, say N.
129
130config SCSI_UFS_VARIABLE_SG_ENTRY_SIZE
131	bool
132	default y if SCSI_UFS_EXYNOS && SCSI_UFS_CRYPTO
133
134config SCSI_UFS_SPRD
135	tristate "Unisoc specific hooks to UFS controller platform driver"
136	depends on SCSI_UFSHCD_PLATFORM && (ARCH_SPRD || COMPILE_TEST)
137	help
138	  This selects the Unisoc specific additions to UFSHCD platform driver.
139	  UFS host on Unisoc needs some vendor specific configuration before
140	  accessing the hardware which includes PHY configuration and vendor
141	  specific registers.
142
143	  Select this if you have UFS controller on Unisoc chipset.
144	  If unsure, say N.
145