Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
4d7dc77b SB |
2 | config KRAIT_CLOCKS |
3 | bool | |
4 | select KRAIT_L2_ACCESSORS | |
5 | ||
73bb7dc0 SB |
6 | config QCOM_GDSC |
7 | bool | |
8 | select PM_GENERIC_DOMAINS if PM | |
9 | ||
00f64b58 GD |
10 | config QCOM_RPMCC |
11 | bool | |
12 | ||
f071bceb | 13 | menuconfig COMMON_CLK_QCOM |
085d7a45 SB |
14 | tristate "Support for Qualcomm's clock controllers" |
15 | depends on OF | |
3937567d | 16 | depends on ARCH_QCOM || COMPILE_TEST |
085d7a45 | 17 | select REGMAP_MMIO |
b36ba30c | 18 | select RESET_CONTROLLER |
2ec94130 | 19 | |
f071bceb SB |
20 | if COMMON_CLK_QCOM |
21 | ||
0c6ab1b8 GD |
22 | config QCOM_A53PLL |
23 | tristate "MSM8916 A53 PLL" | |
0c6ab1b8 GD |
24 | default ARCH_QCOM |
25 | help | |
26 | Support for the A53 PLL on MSM8916 devices. It provides | |
27 | the CPU with frequencies above 1GHz. | |
28 | Say Y if you want to support higher CPU frequencies on MSM8916 | |
29 | devices. | |
30 | ||
81ac3884 GD |
31 | config QCOM_CLK_APCS_MSM8916 |
32 | tristate "MSM8916 APCS Clock Controller" | |
81ac3884 GD |
33 | depends on QCOM_APCS_IPC || COMPILE_TEST |
34 | default ARCH_QCOM | |
35 | help | |
36 | Support for the APCS Clock Controller on msm8916 devices. The | |
37 | APCS is managing the mux and divider which feeds the CPUs. | |
38 | Say Y if you want to support CPU frequency scaling on devices | |
39 | such as msm8916. | |
40 | ||
872f91b5 GD |
41 | config QCOM_CLK_RPM |
42 | tristate "RPM based Clock Controller" | |
f071bceb | 43 | depends on MFD_QCOM_RPM |
872f91b5 GD |
44 | select QCOM_RPMCC |
45 | help | |
46 | The RPM (Resource Power Manager) is a dedicated hardware engine for | |
47 | managing the shared SoC resources in order to keep the lowest power | |
48 | profile. It communicates with other hardware subsystems via shared | |
49 | memory and accepts clock requests, aggregates the requests and turns | |
50 | the clocks on/off or scales them on demand. | |
51 | Say Y if you want to support the clocks exposed by the RPM on | |
52 | platforms such as apq8064, msm8660, msm8960 etc. | |
53 | ||
00f64b58 GD |
54 | config QCOM_CLK_SMD_RPM |
55 | tristate "RPM over SMD based Clock Controller" | |
f071bceb | 56 | depends on QCOM_SMD_RPM |
00f64b58 GD |
57 | select QCOM_RPMCC |
58 | help | |
59 | The RPM (Resource Power Manager) is a dedicated hardware engine for | |
60 | managing the shared SoC resources in order to keep the lowest power | |
61 | profile. It communicates with other hardware subsystems via shared | |
62 | memory and accepts clock requests, aggregates the requests and turns | |
63 | the clocks on/off or scales them on demand. | |
64 | Say Y if you want to support the clocks exposed by the RPM on | |
65 | platforms such as apq8016, apq8084, msm8974 etc. | |
66 | ||
9c7e4702 TD |
67 | config QCOM_CLK_RPMH |
68 | tristate "RPMh Clock Driver" | |
f071bceb | 69 | depends on QCOM_RPMH |
9c7e4702 TD |
70 | help |
71 | RPMh manages shared resources on some Qualcomm Technologies, Inc. | |
72 | SoCs. It accepts requests from other hardware subsystems via RSC. | |
73 | Say Y if you want to support the clocks exposed by RPMh on | |
74 | platforms such as SDM845. | |
75 | ||
02824653 GD |
76 | config APQ_GCC_8084 |
77 | tristate "APQ8084 Global Clock Controller" | |
639af949 | 78 | select QCOM_GDSC |
02824653 GD |
79 | help |
80 | Support for the global clock controller on apq8084 devices. | |
81 | Say Y if you want to use peripheral devices such as UART, SPI, | |
82 | i2c, USB, SD/eMMC, SATA, PCIe, etc. | |
83 | ||
2b46cd23 GD |
84 | config APQ_MMCC_8084 |
85 | tristate "APQ8084 Multimedia Clock Controller" | |
86 | select APQ_GCC_8084 | |
cb2eb7de | 87 | select QCOM_GDSC |
2b46cd23 GD |
88 | help |
89 | Support for the multimedia clock controller on apq8084 devices. | |
90 | Say Y if you want to support multimedia devices such as display, | |
91 | graphics, video encode/decode, camera, etc. | |
92 | ||
6971e863 VN |
93 | config IPQ_GCC_4019 |
94 | tristate "IPQ4019 Global Clock Controller" | |
6971e863 VN |
95 | help |
96 | Support for the global clock controller on ipq4019 devices. | |
97 | Say Y if you want to use peripheral devices such as UART, SPI, | |
98 | i2c, USB, SD/eMMC, etc. | |
99 | ||
24d8fba4 KG |
100 | config IPQ_GCC_806X |
101 | tristate "IPQ806x Global Clock Controller" | |
24d8fba4 KG |
102 | help |
103 | Support for the global clock controller on ipq806x devices. | |
104 | Say Y if you want to use peripheral devices such as UART, SPI, | |
105 | i2c, USB, SD/eMMC, etc. | |
106 | ||
c99e515a RN |
107 | config IPQ_LCC_806X |
108 | tristate "IPQ806x LPASS Clock Controller" | |
109 | select IPQ_GCC_806X | |
c99e515a RN |
110 | help |
111 | Support for the LPASS clock controller on ipq806x devices. | |
112 | Say Y if you want to use audio devices such as i2s, pcm, | |
113 | S/PDIF, etc. | |
114 | ||
371a9507 AS |
115 | config IPQ_GCC_8074 |
116 | tristate "IPQ8074 Global Clock Controller" | |
371a9507 AS |
117 | help |
118 | Support for global clock controller on ipq8074 devices. | |
119 | Say Y if you want to use peripheral devices such as UART, SPI, | |
120 | i2c, USB, SD/eMMC, etc. Select this for the root clock | |
121 | of ipq8074. | |
122 | ||
0eeff27b SB |
123 | config MSM_GCC_8660 |
124 | tristate "MSM8660 Global Clock Controller" | |
0eeff27b SB |
125 | help |
126 | Support for the global clock controller on msm8660 devices. | |
127 | Say Y if you want to use peripheral devices such as UART, SPI, | |
128 | i2c, USB, SD/eMMC, etc. | |
129 | ||
3966fab8 GD |
130 | config MSM_GCC_8916 |
131 | tristate "MSM8916 Global Clock Controller" | |
073ae2b4 | 132 | select QCOM_GDSC |
3966fab8 GD |
133 | help |
134 | Support for the global clock controller on msm8916 devices. | |
135 | Say Y if you want to use devices such as UART, SPI i2c, USB, | |
136 | SD/eMMC, display, graphics, camera etc. | |
137 | ||
2ec94130 | 138 | config MSM_GCC_8960 |
2d85a713 | 139 | tristate "APQ8064/MSM8960 Global Clock Controller" |
2ec94130 | 140 | help |
2d85a713 | 141 | Support for the global clock controller on apq8064/msm8960 devices. |
2ec94130 SB |
142 | Say Y if you want to use peripheral devices such as UART, SPI, |
143 | i2c, USB, SD/eMMC, SATA, PCIe, etc. | |
6d00b56f | 144 | |
b82875ee SB |
145 | config MSM_LCC_8960 |
146 | tristate "APQ8064/MSM8960 LPASS Clock Controller" | |
147 | select MSM_GCC_8960 | |
b82875ee SB |
148 | help |
149 | Support for the LPASS clock controller on apq8064/msm8960 devices. | |
150 | Say Y if you want to use audio devices such as i2s, pcm, | |
151 | SLIMBus, etc. | |
152 | ||
7792a8d6 NA |
153 | config MDM_GCC_9615 |
154 | tristate "MDM9615 Global Clock Controller" | |
7792a8d6 NA |
155 | help |
156 | Support for the global clock controller on mdm9615 devices. | |
157 | Say Y if you want to use peripheral devices such as UART, SPI, | |
158 | i2c, USB, SD/eMMC, etc. | |
159 | ||
160 | config MDM_LCC_9615 | |
161 | tristate "MDM9615 LPASS Clock Controller" | |
162 | select MDM_GCC_9615 | |
7792a8d6 NA |
163 | help |
164 | Support for the LPASS clock controller on mdm9615 devices. | |
165 | Say Y if you want to use audio devices such as i2s, pcm, | |
166 | SLIMBus, etc. | |
167 | ||
6d00b56f SB |
168 | config MSM_MMCC_8960 |
169 | tristate "MSM8960 Multimedia Clock Controller" | |
170 | select MSM_GCC_8960 | |
6d00b56f SB |
171 | help |
172 | Support for the multimedia clock controller on msm8960 devices. | |
173 | Say Y if you want to support multimedia devices such as display, | |
174 | graphics, video encode/decode, camera, etc. | |
d33faa9e SB |
175 | |
176 | config MSM_GCC_8974 | |
177 | tristate "MSM8974 Global Clock Controller" | |
340029ef | 178 | select QCOM_GDSC |
d33faa9e SB |
179 | help |
180 | Support for the global clock controller on msm8974 devices. | |
181 | Say Y if you want to use peripheral devices such as UART, SPI, | |
182 | i2c, USB, SD/eMMC, SATA, PCIe, etc. | |
d8b21201 SB |
183 | |
184 | config MSM_MMCC_8974 | |
185 | tristate "MSM8974 Multimedia Clock Controller" | |
186 | select MSM_GCC_8974 | |
8108b23c | 187 | select QCOM_GDSC |
d8b21201 SB |
188 | help |
189 | Support for the multimedia clock controller on msm8974 devices. | |
190 | Say Y if you want to support multimedia devices such as display, | |
191 | graphics, video encode/decode, camera, etc. | |
b1e010c0 | 192 | |
aec89f78 BK |
193 | config MSM_GCC_8994 |
194 | tristate "MSM8994 Global Clock Controller" | |
aec89f78 BK |
195 | help |
196 | Support for the global clock controller on msm8994 devices. | |
197 | Say Y if you want to use peripheral devices such as UART, SPI, | |
198 | i2c, USB, UFS, SD/eMMC, PCIe, etc. | |
199 | ||
b1e010c0 SB |
200 | config MSM_GCC_8996 |
201 | tristate "MSM8996 Global Clock Controller" | |
6d91f2c0 | 202 | select QCOM_GDSC |
b1e010c0 SB |
203 | help |
204 | Support for the global clock controller on msm8996 devices. | |
205 | Say Y if you want to use peripheral devices such as UART, SPI, | |
206 | i2c, USB, UFS, SD/eMMC, PCIe, etc. | |
c2526597 SB |
207 | |
208 | config MSM_MMCC_8996 | |
209 | tristate "MSM8996 Multimedia Clock Controller" | |
210 | select MSM_GCC_8996 | |
6d91f2c0 | 211 | select QCOM_GDSC |
c2526597 SB |
212 | help |
213 | Support for the multimedia clock controller on msm8996 devices. | |
214 | Say Y if you want to support multimedia devices such as display, | |
215 | graphics, video encode/decode, camera, etc. | |
4cfaa55f | 216 | |
b5f5f525 JP |
217 | config MSM_GCC_8998 |
218 | tristate "MSM8998 Global Clock Controller" | |
83b4c147 | 219 | select QCOM_GDSC |
b5f5f525 JP |
220 | help |
221 | Support for the global clock controller on msm8998 devices. | |
222 | Say Y if you want to use peripheral devices such as UART, SPI, | |
223 | i2c, USB, UFS, SD/eMMC, PCIe, etc. | |
224 | ||
652f1813 SJ |
225 | config QCS_GCC_404 |
226 | tristate "QCS404 Global Clock Controller" | |
652f1813 SJ |
227 | help |
228 | Support for the global clock controller on QCS404 devices. | |
229 | Say Y if you want to use multimedia devices or peripheral | |
230 | devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc. | |
231 | ||
78412c26 AN |
232 | config SDM_CAMCC_845 |
233 | tristate "SDM845 Camera Clock Controller" | |
78412c26 AN |
234 | select SDM_GCC_845 |
235 | help | |
236 | Support for the camera clock controller on SDM845 devices. | |
237 | Say Y if you want to support camera devices and camera functionality. | |
238 | ||
f2a76a29 TD |
239 | config SDM_GCC_660 |
240 | tristate "SDM660 Global Clock Controller" | |
241 | select QCOM_GDSC | |
f2a76a29 TD |
242 | help |
243 | Support for the global clock controller on SDM660 devices. | |
244 | Say Y if you want to use peripheral devices such as UART, SPI, | |
245 | i2C, USB, UFS, SDDC, PCIe, etc. | |
246 | ||
892df019 BA |
247 | config QCS_TURING_404 |
248 | tristate "QCS404 Turing Clock Controller" | |
249 | help | |
250 | Support for the Turing Clock Controller on QCS404, provides clocks | |
251 | and resets for the Turing subsystem. | |
252 | ||
06391edd TD |
253 | config SDM_GCC_845 |
254 | tristate "SDM845 Global Clock Controller" | |
255 | select QCOM_GDSC | |
06391edd | 256 | help |
77122d6f | 257 | Support for the global clock controller on SDM845 devices. |
06391edd | 258 | Say Y if you want to use peripheral devices such as UART, SPI, |
77122d6f | 259 | i2C, USB, UFS, SDDC, PCIe, etc. |
06391edd | 260 | |
453361cd AN |
261 | config SDM_GPUCC_845 |
262 | tristate "SDM845 Graphics Clock Controller" | |
453361cd AN |
263 | select SDM_GCC_845 |
264 | help | |
265 | Support for the graphics clock controller on SDM845 devices. | |
266 | Say Y if you want to support graphics controller devices and | |
267 | functionality such as 3D graphics. | |
268 | ||
c646b347 AN |
269 | config SDM_VIDEOCC_845 |
270 | tristate "SDM845 Video Clock Controller" | |
c646b347 AN |
271 | select SDM_GCC_845 |
272 | select QCOM_GDSC | |
273 | help | |
77122d6f | 274 | Support for the video clock controller on SDM845 devices. |
c646b347 AN |
275 | Say Y if you want to support video devices and functionality such as |
276 | video encode and decode. | |
277 | ||
81351776 TD |
278 | config SDM_DISPCC_845 |
279 | tristate "SDM845 Display Clock Controller" | |
280 | select SDM_GCC_845 | |
81351776 TD |
281 | help |
282 | Support for the display clock controller on Qualcomm Technologies, Inc | |
283 | SDM845 devices. | |
284 | Say Y if you want to support display devices and functionality such as | |
285 | splash screen. | |
286 | ||
8d3e5b9c TD |
287 | config SDM_LPASSCC_845 |
288 | tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" | |
8d3e5b9c TD |
289 | select SDM_GCC_845 |
290 | help | |
291 | Support for the LPASS clock controller on SDM845 devices. | |
292 | Say Y if you want to use the LPASS branch clocks of the LPASS clock | |
293 | controller to reset the LPASS subsystem. | |
294 | ||
2a1d7eb8 DK |
295 | config SM_GCC_8150 |
296 | tristate "SM8150 Global Clock Controller" | |
297 | help | |
298 | Support for the global clock controller on SM8150 devices. | |
299 | Say Y if you want to use peripheral devices such as UART, | |
300 | SPI, I2C, USB, SD/UFS, PCIe etc. | |
301 | ||
4cfaa55f TR |
302 | config SPMI_PMIC_CLKDIV |
303 | tristate "SPMI PMIC clkdiv Support" | |
f071bceb | 304 | depends on SPMI || COMPILE_TEST |
4cfaa55f TR |
305 | help |
306 | This driver supports the clkdiv functionality on the Qualcomm | |
307 | Technologies, Inc. SPMI PMIC. It configures the frequency of | |
308 | clkdiv outputs of the PMIC. These clocks are typically wired | |
309 | through alternate functions on GPIO pins. | |
cb546b79 SB |
310 | |
311 | config QCOM_HFPLL | |
312 | tristate "High-Frequency PLL (HFPLL) Clock Controller" | |
cb546b79 SB |
313 | help |
314 | Support for the high-frequency PLLs present on Qualcomm devices. | |
315 | Say Y if you want to support CPU frequency scaling on devices | |
316 | such as MSM8974, APQ8084, etc. | |
3ddc3564 SB |
317 | |
318 | config KPSS_XCC | |
319 | tristate "KPSS Clock Controller" | |
3ddc3564 SB |
320 | help |
321 | Support for the Krait ACC and GCC clock controllers. Say Y | |
322 | if you want to support CPU frequency scaling on devices such | |
323 | as MSM8960, APQ8064, etc. | |
bb5c4a85 SB |
324 | |
325 | config KRAITCC | |
326 | tristate "Krait Clock Controller" | |
f071bceb | 327 | depends on ARM |
bb5c4a85 SB |
328 | select KRAIT_CLOCKS |
329 | help | |
330 | Support for the Krait CPU clocks on Qualcomm devices. | |
331 | Say Y if you want to support CPU frequency scaling. | |
f071bceb SB |
332 | |
333 | endif |