Commit | Line | Data |
---|---|---|
7a3e97b0 SY |
1 | # |
2 | # Kernel configuration file for the UFS Host Controller | |
3 | # | |
4 | # This code is based on drivers/scsi/ufs/Kconfig | |
3b1d0580 VH |
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> | |
7a3e97b0 | 10 | # |
7a3e97b0 SY |
11 | # This program is free software; you can redistribute it and/or |
12 | # modify it under the terms of the GNU General Public License | |
13 | # as published by the Free Software Foundation; either version 2 | |
14 | # of the License, or (at your option) any later version. | |
3b1d0580 VH |
15 | # See the COPYING file in the top-level directory or visit |
16 | # <http://www.gnu.org/licenses/gpl-2.0.html> | |
17 | # | |
7a3e97b0 SY |
18 | # This program is distributed in the hope that it will be useful, |
19 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
20 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
21 | # GNU General Public License for more details. | |
3b1d0580 VH |
22 | # |
23 | # This program is provided "AS IS" and "WITH ALL FAULTS" and | |
24 | # without warranty of any kind. You are solely responsible for | |
25 | # determining the appropriateness of using and distributing | |
26 | # the program and assume all risks associated with your exercise | |
27 | # of rights with respect to the program, including but not limited | |
28 | # to infringement of third party rights, the risks and costs of | |
29 | # program errors, damage to or loss of data, programs or equipment, | |
30 | # and unavailability or interruption of operations. Under no | |
31 | # circumstances will the contributor of this Program be liable for | |
32 | # any damages of any kind arising from your use or distribution of | |
33 | # this program. | |
7a3e97b0 SY |
34 | |
35 | config SCSI_UFSHCD | |
e0eca63e | 36 | tristate "Universal Flash Storage Controller Driver Core" |
a4bfbcba | 37 | depends on SCSI && SCSI_DMA |
856b3483 ST |
38 | select PM_DEVFREQ |
39 | select DEVFREQ_GOV_SIMPLE_ONDEMAND | |
c80fa12e | 40 | select NLS |
a7f7f624 | 41 | help |
e0eca63e VH |
42 | This selects the support for UFS devices in Linux, say Y and make |
43 | sure that you know the name of your UFS host adapter (the card | |
44 | inside your computer that "speaks" the UFS protocol, also | |
45 | called UFS Host Controller), because you will be asked for it. | |
46 | The module will be called ufshcd. | |
47 | ||
48 | To compile this driver as a module, choose M here and read | |
b64f6822 | 49 | <file:Documentation/scsi/ufs.rst>. |
e0eca63e VH |
50 | However, do not compile this as a module if your root file system |
51 | (the one containing the directory /) is located on a UFS device. | |
52 | ||
53 | config SCSI_UFSHCD_PCI | |
54 | tristate "PCI bus based UFS Controller support" | |
55 | depends on SCSI_UFSHCD && PCI | |
a7f7f624 | 56 | help |
e0eca63e VH |
57 | This selects the PCI UFS Host Controller Interface. Select this if |
58 | you have UFS Host Controller with PCI Interface. | |
59 | ||
60 | If you have a controller with this interface, say Y or M here. | |
61 | ||
62 | If unsure, say N. | |
ec658ea0 JP |
63 | |
64 | config SCSI_UFS_DWC_TC_PCI | |
65 | tristate "DesignWare pci support using a G210 Test Chip" | |
5404fb7c | 66 | depends on SCSI_UFSHCD_PCI |
a7f7f624 | 67 | help |
ec658ea0 JP |
68 | Synopsys Test Chip is a PHY for prototyping purposes. |
69 | ||
70 | If unsure, say N. | |
03b1781a VH |
71 | |
72 | config SCSI_UFSHCD_PLATFORM | |
73 | tristate "Platform bus based UFS Controller support" | |
74 | depends on SCSI_UFSHCD | |
a7f7f624 | 75 | help |
03b1781a VH |
76 | This selects the UFS host controller support. Select this if |
77 | you have an UFS controller on Platform bus. | |
78 | ||
79 | If you have a controller with this interface, say Y or M here. | |
80 | ||
81 | If unsure, say N. | |
81c0fc51 | 82 | |
d90996da JK |
83 | config SCSI_UFS_CDNS_PLATFORM |
84 | tristate "Cadence UFS Controller platform driver" | |
85 | depends on SCSI_UFSHCD_PLATFORM | |
86 | help | |
87 | This selects the Cadence-specific additions to UFSHCD platform driver. | |
88 | ||
89 | If unsure, say N. | |
90 | ||
fc040a3f JP |
91 | config SCSI_UFS_DWC_TC_PLATFORM |
92 | tristate "DesignWare platform support using a G210 Test Chip" | |
93 | depends on SCSI_UFSHCD_PLATFORM | |
a7f7f624 | 94 | help |
fc040a3f JP |
95 | Synopsys Test Chip is a PHY for prototyping purposes. |
96 | ||
97 | If unsure, say N. | |
98 | ||
81c0fc51 | 99 | config SCSI_UFS_QCOM |
9bac5db4 | 100 | tristate "QCOM specific hooks to UFS controller platform driver" |
0d143c69 | 101 | depends on SCSI_UFSHCD_PLATFORM && ARCH_QCOM |
12fd5f25 | 102 | select RESET_CONTROLLER |
81c0fc51 YG |
103 | help |
104 | This selects the QCOM specific additions to UFSHCD platform driver. | |
105 | UFS host on QCOM needs some vendor specific configuration before | |
106 | accessing the hardware which includes PHY configuration and vendor | |
107 | specific registers. | |
108 | ||
109 | Select this if you have UFS controller on QCOM chipset. | |
110 | If unsure, say N. | |
8111b5e3 | 111 | |
ddd90623 SC |
112 | config SCSI_UFS_MEDIATEK |
113 | tristate "Mediatek specific hooks to UFS controller platform driver" | |
114 | depends on SCSI_UFSHCD_PLATFORM && ARCH_MEDIATEK | |
115 | select PHY_MTK_UFS | |
116 | help | |
117 | This selects the Mediatek specific additions to UFSHCD platform driver. | |
118 | UFS host on Mediatek needs some vendor specific configuration before | |
119 | accessing the hardware which includes PHY configuration and vendor | |
120 | specific registers. | |
121 | ||
122 | Select this if you have UFS controller on Mediatek chipset. | |
123 | ||
124 | If unsure, say N. | |
125 | ||
8111b5e3 | 126 | config SCSI_UFS_HISI |
127 | tristate "Hisilicon specific hooks to UFS controller platform driver" | |
128 | depends on (ARCH_HISI || COMPILE_TEST) && SCSI_UFSHCD_PLATFORM | |
a7f7f624 | 129 | help |
8111b5e3 | 130 | This selects the Hisilicon specific additions to UFSHCD platform driver. |
131 | ||
132 | Select this if you have UFS controller on Hisilicon chipset. | |
133 | If unsure, say N. | |
df032bf2 | 134 | |
6979e56c VR |
135 | config SCSI_UFS_TI_J721E |
136 | tristate "TI glue layer for Cadence UFS Controller" | |
137 | depends on OF && HAS_IOMEM && (ARCH_K3 || COMPILE_TEST) | |
138 | help | |
139 | This selects driver for TI glue layer for Cadence UFS Host | |
140 | Controller IP. | |
141 | ||
142 | Selects this if you have TI platform with UFS controller. | |
143 | If unsure, say N. | |
144 | ||
df032bf2 AA |
145 | config SCSI_UFS_BSG |
146 | bool "Universal Flash Storage BSG device node" | |
147 | depends on SCSI_UFSHCD | |
148 | select BLK_DEV_BSGLIB | |
149 | help | |
150 | Universal Flash Storage (UFS) is SCSI transport specification for | |
151 | accessing flash storage on digital cameras, mobile phones and | |
152 | consumer electronic devices. | |
153 | A UFS controller communicates with a UFS device by exchanging | |
154 | UFS Protocol Information Units (UPIUs). | |
155 | UPIUs can not only be used as a transport layer for the SCSI protocol | |
156 | but are also used by the UFS native command set. | |
157 | This transport driver supports exchanging UFS protocol information units | |
158 | with a UFS device. See also the ufshcd driver, which is a SCSI driver | |
159 | that supports UFS devices. | |
160 | ||
161 | Select this if you need a bsg device node for your UFS controller. | |
162 | If unsure, say N. |