xref: /openbmc/linux/drivers/ufs/host/Kconfig (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
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 
11 config 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 
22 config 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 
30 config 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 
41 config 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 
49 config 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 
57 config 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 
72 config 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 
88 config 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 
97 config 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 
109 config 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 
119 config 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 
130 config SCSI_UFS_VARIABLE_SG_ENTRY_SIZE
131 	bool
132 	default y if SCSI_UFS_EXYNOS && SCSI_UFS_CRYPTO
133 
134 config 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