GNU Linux-libre 6.9.1-gnu
[releases.git] / drivers / ufs / host / Kconfig
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.