xref: /openbmc/linux/drivers/ufs/host/Kconfig (revision 59cc80a6)
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_SCM 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	select PHY_MTK_UFS
76	select RESET_TI_SYSCON
77	help
78	  This selects the Mediatek specific additions to UFSHCD platform driver.
79	  UFS host on Mediatek needs some vendor specific configuration before
80	  accessing the hardware which includes PHY configuration and vendor
81	  specific registers.
82
83	  Select this if you have UFS controller on Mediatek chipset.
84
85	  If unsure, say N.
86
87config SCSI_UFS_HISI
88	tristate "Hisilicon specific hooks to UFS controller platform driver"
89	depends on (ARCH_HISI || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM
90	help
91	  This selects the Hisilicon specific additions to UFSHCD platform driver.
92
93	  Select this if you have UFS controller on Hisilicon chipset.
94	  If unsure, say N.
95
96config SCSI_UFS_RENESAS
97	tristate "Renesas specific hooks to UFS controller platform driver"
98	depends on (ARCH_RENESAS || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM
99	help
100	  This selects the Renesas specific additions to UFSHCD platform driver.
101	  UFS host on Renesas needs some vendor specific configuration before
102	  accessing the hardware.
103
104	  Select this if you have UFS controller on Renesas chipset.
105
106	  If unsure, say N.
107
108config SCSI_UFS_TI_J721E
109	tristate "TI glue layer for Cadence UFS Controller"
110	depends on OF && HAS_IOMEM && (ARCH_K3 || COMPILE_TEST)
111	help
112	  This selects driver for TI glue layer for Cadence UFS Host
113	  Controller IP.
114
115	  Selects this if you have TI platform with UFS controller.
116	  If unsure, say N.
117
118config SCSI_UFS_EXYNOS
119	tristate "Exynos specific hooks to UFS controller platform driver"
120	depends on SCSI_UFSHCD_PLATFORM && (ARCH_EXYNOS || COMPILE_TEST)
121	help
122	  This selects the Samsung Exynos SoC specific additions to UFSHCD
123	  platform driver.  UFS host on Samsung Exynos SoC includes HCI and
124	  UNIPRO layer, and associates with UFS-PHY driver.
125
126	  Select this if you have UFS host controller on Samsung Exynos SoC.
127	  If unsure, say N.
128
129config SCSI_UFS_VARIABLE_SG_ENTRY_SIZE
130	bool
131	default y if SCSI_UFS_EXYNOS && SCSI_UFS_CRYPTO
132
133config SCSI_UFS_SPRD
134	tristate "Unisoc specific hooks to UFS controller platform driver"
135	depends on SCSI_UFSHCD_PLATFORM && (ARCH_SPRD || COMPILE_TEST)
136	help
137	  This selects the Unisoc specific additions to UFSHCD platform driver.
138	  UFS host on Unisoc needs some vendor specific configuration before
139	  accessing the hardware which includes PHY configuration and vendor
140	  specific registers.
141
142	  Select this if you have UFS controller on Unisoc chipset.
143	  If unsure, say N.
144