Loading...
Note: File does not exist in v3.5.6.
1# SPDX-License-Identifier: GPL-2.0-only
2config KRAIT_CLOCKS
3 bool
4 select KRAIT_L2_ACCESSORS
5
6config QCOM_GDSC
7 bool
8 select PM_GENERIC_DOMAINS if PM
9
10config QCOM_RPMCC
11 bool
12
13menuconfig COMMON_CLK_QCOM
14 tristate "Support for Qualcomm's clock controllers"
15 depends on OF
16 depends on ARCH_QCOM || COMPILE_TEST
17 select RATIONAL
18 select REGMAP_MMIO
19 select RESET_CONTROLLER
20
21if COMMON_CLK_QCOM
22
23config QCOM_A53PLL
24 tristate "MSM8916 A53 PLL"
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
31config QCOM_CLK_APCS_MSM8916
32 tristate "MSM8916 APCS Clock Controller"
33 depends on QCOM_APCS_IPC || COMPILE_TEST
34 help
35 Support for the APCS Clock Controller on msm8916 devices. The
36 APCS is managing the mux and divider which feeds the CPUs.
37 Say Y if you want to support CPU frequency scaling on devices
38 such as msm8916.
39
40config QCOM_CLK_APCC_MSM8996
41 tristate "MSM8996 CPU Clock Controller"
42 select QCOM_KRYO_L2_ACCESSORS
43 depends on ARM64
44 help
45 Support for the CPU clock controller on msm8996 devices.
46 Say Y if you want to support CPU clock scaling using CPUfreq
47 drivers for dyanmic power management.
48
49config QCOM_CLK_RPM
50 tristate "RPM based Clock Controller"
51 depends on MFD_QCOM_RPM
52 select QCOM_RPMCC
53 help
54 The RPM (Resource Power Manager) is a dedicated hardware engine for
55 managing the shared SoC resources in order to keep the lowest power
56 profile. It communicates with other hardware subsystems via shared
57 memory and accepts clock requests, aggregates the requests and turns
58 the clocks on/off or scales them on demand.
59 Say Y if you want to support the clocks exposed by the RPM on
60 platforms such as apq8064, msm8660, msm8960 etc.
61
62config QCOM_CLK_SMD_RPM
63 tristate "RPM over SMD based Clock Controller"
64 depends on QCOM_SMD_RPM
65 select QCOM_RPMCC
66 help
67 The RPM (Resource Power Manager) is a dedicated hardware engine for
68 managing the shared SoC resources in order to keep the lowest power
69 profile. It communicates with other hardware subsystems via shared
70 memory and accepts clock requests, aggregates the requests and turns
71 the clocks on/off or scales them on demand.
72 Say Y if you want to support the clocks exposed by the RPM on
73 platforms such as apq8016, apq8084, msm8974 etc.
74
75config QCOM_CLK_RPMH
76 tristate "RPMh Clock Driver"
77 depends on QCOM_RPMH
78 help
79 RPMh manages shared resources on some Qualcomm Technologies, Inc.
80 SoCs. It accepts requests from other hardware subsystems via RSC.
81 Say Y if you want to support the clocks exposed by RPMh on
82 platforms such as SDM845.
83
84config APQ_GCC_8084
85 tristate "APQ8084 Global Clock Controller"
86 select QCOM_GDSC
87 help
88 Support for the global clock controller on apq8084 devices.
89 Say Y if you want to use peripheral devices such as UART, SPI,
90 i2c, USB, SD/eMMC, SATA, PCIe, etc.
91
92config APQ_MMCC_8084
93 tristate "APQ8084 Multimedia Clock Controller"
94 select APQ_GCC_8084
95 select QCOM_GDSC
96 help
97 Support for the multimedia clock controller on apq8084 devices.
98 Say Y if you want to support multimedia devices such as display,
99 graphics, video encode/decode, camera, etc.
100
101config IPQ_APSS_PLL
102 tristate "IPQ APSS PLL"
103 help
104 Support for APSS PLL on ipq devices. The APSS PLL is the main
105 clock that feeds the CPUs on ipq based devices.
106 Say Y if you want to support CPU frequency scaling on ipq based
107 devices.
108
109config IPQ_APSS_6018
110 tristate "IPQ APSS Clock Controller"
111 select IPQ_APSS_PLL
112 depends on QCOM_APCS_IPC || COMPILE_TEST
113 help
114 Support for APSS clock controller on IPQ platforms. The
115 APSS clock controller manages the Mux and enable block that feeds the
116 CPUs.
117 Say Y if you want to support CPU frequency scaling on
118 ipq based devices.
119
120config IPQ_GCC_4019
121 tristate "IPQ4019 Global Clock Controller"
122 help
123 Support for the global clock controller on ipq4019 devices.
124 Say Y if you want to use peripheral devices such as UART, SPI,
125 i2c, USB, SD/eMMC, etc.
126
127config IPQ_GCC_6018
128 tristate "IPQ6018 Global Clock Controller"
129 help
130 Support for global clock controller on ipq6018 devices.
131 Say Y if you want to use peripheral devices such as UART, SPI,
132 i2c, USB, SD/eMMC, etc. Select this for the root clock
133 of ipq6018.
134
135config IPQ_GCC_806X
136 tristate "IPQ806x Global Clock Controller"
137 help
138 Support for the global clock controller on ipq806x devices.
139 Say Y if you want to use peripheral devices such as UART, SPI,
140 i2c, USB, SD/eMMC, etc.
141
142config IPQ_LCC_806X
143 tristate "IPQ806x LPASS Clock Controller"
144 select IPQ_GCC_806X
145 help
146 Support for the LPASS clock controller on ipq806x devices.
147 Say Y if you want to use audio devices such as i2s, pcm,
148 S/PDIF, etc.
149
150config IPQ_GCC_8074
151 tristate "IPQ8074 Global Clock Controller"
152 help
153 Support for global clock controller on ipq8074 devices.
154 Say Y if you want to use peripheral devices such as UART, SPI,
155 i2c, USB, SD/eMMC, etc. Select this for the root clock
156 of ipq8074.
157
158config MSM_GCC_8660
159 tristate "MSM8660 Global Clock Controller"
160 help
161 Support for the global clock controller on msm8660 devices.
162 Say Y if you want to use peripheral devices such as UART, SPI,
163 i2c, USB, SD/eMMC, etc.
164
165config MSM_GCC_8916
166 tristate "MSM8916 Global Clock Controller"
167 select QCOM_GDSC
168 help
169 Support for the global clock controller on msm8916 devices.
170 Say Y if you want to use devices such as UART, SPI i2c, USB,
171 SD/eMMC, display, graphics, camera etc.
172
173config MSM_GCC_8939
174 tristate "MSM8939 Global Clock Controller"
175 select QCOM_GDSC
176 help
177 Support for the global clock controller on msm8939 devices.
178 Say Y if you want to use devices such as UART, SPI i2c, USB,
179 SD/eMMC, display, graphics, camera etc.
180
181config MSM_GCC_8960
182 tristate "APQ8064/MSM8960 Global Clock Controller"
183 help
184 Support for the global clock controller on apq8064/msm8960 devices.
185 Say Y if you want to use peripheral devices such as UART, SPI,
186 i2c, USB, SD/eMMC, SATA, PCIe, etc.
187
188config MSM_LCC_8960
189 tristate "APQ8064/MSM8960 LPASS Clock Controller"
190 select MSM_GCC_8960
191 help
192 Support for the LPASS clock controller on apq8064/msm8960 devices.
193 Say Y if you want to use audio devices such as i2s, pcm,
194 SLIMBus, etc.
195
196config MDM_GCC_9615
197 tristate "MDM9615 Global Clock Controller"
198 help
199 Support for the global clock controller on mdm9615 devices.
200 Say Y if you want to use peripheral devices such as UART, SPI,
201 i2c, USB, SD/eMMC, etc.
202
203config MDM_LCC_9615
204 tristate "MDM9615 LPASS Clock Controller"
205 select MDM_GCC_9615
206 help
207 Support for the LPASS clock controller on mdm9615 devices.
208 Say Y if you want to use audio devices such as i2s, pcm,
209 SLIMBus, etc.
210
211config MSM_MMCC_8960
212 tristate "MSM8960 Multimedia Clock Controller"
213 select MSM_GCC_8960
214 help
215 Support for the multimedia clock controller on msm8960 devices.
216 Say Y if you want to support multimedia devices such as display,
217 graphics, video encode/decode, camera, etc.
218
219config MSM_GCC_8974
220 tristate "MSM8974 Global Clock Controller"
221 select QCOM_GDSC
222 help
223 Support for the global clock controller on msm8974 devices.
224 Say Y if you want to use peripheral devices such as UART, SPI,
225 i2c, USB, SD/eMMC, SATA, PCIe, etc.
226
227config MSM_MMCC_8974
228 tristate "MSM8974 Multimedia Clock Controller"
229 select MSM_GCC_8974
230 select QCOM_GDSC
231 help
232 Support for the multimedia clock controller on msm8974 devices.
233 Say Y if you want to support multimedia devices such as display,
234 graphics, video encode/decode, camera, etc.
235
236config MSM_GCC_8994
237 tristate "MSM8994 Global Clock Controller"
238 help
239 Support for the global clock controller on msm8994 devices.
240 Say Y if you want to use peripheral devices such as UART, SPI,
241 i2c, USB, UFS, SD/eMMC, PCIe, etc.
242
243config MSM_GCC_8996
244 tristate "MSM8996 Global Clock Controller"
245 select QCOM_GDSC
246 help
247 Support for the global clock controller on msm8996 devices.
248 Say Y if you want to use peripheral devices such as UART, SPI,
249 i2c, USB, UFS, SD/eMMC, PCIe, etc.
250
251config MSM_MMCC_8996
252 tristate "MSM8996 Multimedia Clock Controller"
253 select MSM_GCC_8996
254 select QCOM_GDSC
255 help
256 Support for the multimedia clock controller on msm8996 devices.
257 Say Y if you want to support multimedia devices such as display,
258 graphics, video encode/decode, camera, etc.
259
260config MSM_GCC_8998
261 tristate "MSM8998 Global Clock Controller"
262 select QCOM_GDSC
263 help
264 Support for the global clock controller on msm8998 devices.
265 Say Y if you want to use peripheral devices such as UART, SPI,
266 i2c, USB, UFS, SD/eMMC, PCIe, etc.
267
268config MSM_GPUCC_8998
269 tristate "MSM8998 Graphics Clock Controller"
270 select MSM_GCC_8998
271 select QCOM_GDSC
272 help
273 Support for the graphics clock controller on MSM8998 devices.
274 Say Y if you want to support graphics controller devices and
275 functionality such as 3D graphics.
276
277config MSM_MMCC_8998
278 tristate "MSM8998 Multimedia Clock Controller"
279 select MSM_GCC_8998
280 select QCOM_GDSC
281 help
282 Support for the multimedia clock controller on msm8998 devices.
283 Say Y if you want to support multimedia devices such as display,
284 graphics, video encode/decode, camera, etc.
285
286config QCS_GCC_404
287 tristate "QCS404 Global Clock Controller"
288 help
289 Support for the global clock controller on QCS404 devices.
290 Say Y if you want to use multimedia devices or peripheral
291 devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc.
292
293config SC_DISPCC_7180
294 tristate "SC7180 Display Clock Controller"
295 select SC_GCC_7180
296 help
297 Support for the display clock controller on Qualcomm Technologies, Inc
298 SC7180 devices.
299 Say Y if you want to support display devices and functionality such as
300 splash screen.
301
302config SC_GCC_7180
303 tristate "SC7180 Global Clock Controller"
304 select QCOM_GDSC
305 depends on COMMON_CLK_QCOM
306 help
307 Support for the global clock controller on SC7180 devices.
308 Say Y if you want to use peripheral devices such as UART, SPI,
309 I2C, USB, UFS, SDCC, etc.
310
311config SC_LPASS_CORECC_7180
312 tristate "SC7180 LPASS Core Clock Controller"
313 select SC_GCC_7180
314 help
315 Support for the LPASS(Low Power Audio Subsystem) core clock controller
316 on SC7180 devices.
317 Say Y if you want to use LPASS clocks and power domains of the LPASS
318 core clock controller.
319
320config SC_GPUCC_7180
321 tristate "SC7180 Graphics Clock Controller"
322 select SC_GCC_7180
323 help
324 Support for the graphics clock controller on SC7180 devices.
325 Say Y if you want to support graphics controller devices and
326 functionality such as 3D graphics.
327
328config SC_MSS_7180
329 tristate "SC7180 Modem Clock Controller"
330 select SC_GCC_7180
331 help
332 Support for the Modem Subsystem clock controller on Qualcomm
333 Technologies, Inc on SC7180 devices.
334 Say Y if you want to use the Modem branch clocks of the Modem
335 subsystem clock controller to reset the MSS subsystem.
336
337config SC_VIDEOCC_7180
338 tristate "SC7180 Video Clock Controller"
339 select SC_GCC_7180
340 help
341 Support for the video clock controller on SC7180 devices.
342 Say Y if you want to support video devices and functionality such as
343 video encode and decode.
344
345config SDM_CAMCC_845
346 tristate "SDM845 Camera Clock Controller"
347 select SDM_GCC_845
348 help
349 Support for the camera clock controller on SDM845 devices.
350 Say Y if you want to support camera devices and camera functionality.
351
352config SDM_GCC_660
353 tristate "SDM660 Global Clock Controller"
354 select QCOM_GDSC
355 help
356 Support for the global clock controller on SDM660 devices.
357 Say Y if you want to use peripheral devices such as UART, SPI,
358 i2C, USB, UFS, SDDC, PCIe, etc.
359
360config QCS_TURING_404
361 tristate "QCS404 Turing Clock Controller"
362 help
363 Support for the Turing Clock Controller on QCS404, provides clocks
364 and resets for the Turing subsystem.
365
366config QCS_Q6SSTOP_404
367 tristate "QCS404 Q6SSTOP Clock Controller"
368 select QCS_GCC_404
369 help
370 Support for the Q6SSTOP clock controller on QCS404 devices.
371 Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock
372 controller to reset the Q6SSTOP subsystem.
373
374config SDM_GCC_845
375 tristate "SDM845 Global Clock Controller"
376 select QCOM_GDSC
377 help
378 Support for the global clock controller on SDM845 devices.
379 Say Y if you want to use peripheral devices such as UART, SPI,
380 i2C, USB, UFS, SDDC, PCIe, etc.
381
382config SDM_GPUCC_845
383 tristate "SDM845 Graphics Clock Controller"
384 select SDM_GCC_845
385 help
386 Support for the graphics clock controller on SDM845 devices.
387 Say Y if you want to support graphics controller devices and
388 functionality such as 3D graphics.
389
390config SDM_VIDEOCC_845
391 tristate "SDM845 Video Clock Controller"
392 select SDM_GCC_845
393 select QCOM_GDSC
394 help
395 Support for the video clock controller on SDM845 devices.
396 Say Y if you want to support video devices and functionality such as
397 video encode and decode.
398
399config SDM_DISPCC_845
400 tristate "SDM845 Display Clock Controller"
401 select SDM_GCC_845
402 help
403 Support for the display clock controller on Qualcomm Technologies, Inc
404 SDM845 devices.
405 Say Y if you want to support display devices and functionality such as
406 splash screen.
407
408config SDM_LPASSCC_845
409 tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
410 select SDM_GCC_845
411 help
412 Support for the LPASS clock controller on SDM845 devices.
413 Say Y if you want to use the LPASS branch clocks of the LPASS clock
414 controller to reset the LPASS subsystem.
415
416config SM_GCC_8150
417 tristate "SM8150 Global Clock Controller"
418 help
419 Support for the global clock controller on SM8150 devices.
420 Say Y if you want to use peripheral devices such as UART,
421 SPI, I2C, USB, SD/UFS, PCIe etc.
422
423config SM_GCC_8250
424 tristate "SM8250 Global Clock Controller"
425 select QCOM_GDSC
426 help
427 Support for the global clock controller on SM8250 devices.
428 Say Y if you want to use peripheral devices such as UART,
429 SPI, I2C, USB, SD/UFS, PCIe etc.
430
431config SM_GPUCC_8150
432 tristate "SM8150 Graphics Clock Controller"
433 select SM_GCC_8150
434 help
435 Support for the graphics clock controller on SM8150 devices.
436 Say Y if you want to support graphics controller devices and
437 functionality such as 3D graphics.
438
439config SM_GPUCC_8250
440 tristate "SM8250 Graphics Clock Controller"
441 select SM_GCC_8250
442 help
443 Support for the graphics clock controller on SM8250 devices.
444 Say Y if you want to support graphics controller devices and
445 functionality such as 3D graphics.
446
447config SPMI_PMIC_CLKDIV
448 tristate "SPMI PMIC clkdiv Support"
449 depends on SPMI || COMPILE_TEST
450 help
451 This driver supports the clkdiv functionality on the Qualcomm
452 Technologies, Inc. SPMI PMIC. It configures the frequency of
453 clkdiv outputs of the PMIC. These clocks are typically wired
454 through alternate functions on GPIO pins.
455
456config QCOM_HFPLL
457 tristate "High-Frequency PLL (HFPLL) Clock Controller"
458 help
459 Support for the high-frequency PLLs present on Qualcomm devices.
460 Say Y if you want to support CPU frequency scaling on devices
461 such as MSM8974, APQ8084, etc.
462
463config KPSS_XCC
464 tristate "KPSS Clock Controller"
465 help
466 Support for the Krait ACC and GCC clock controllers. Say Y
467 if you want to support CPU frequency scaling on devices such
468 as MSM8960, APQ8064, etc.
469
470config KRAITCC
471 tristate "Krait Clock Controller"
472 depends on ARM
473 select KRAIT_CLOCKS
474 help
475 Support for the Krait CPU clocks on Qualcomm devices.
476 Say Y if you want to support CPU frequency scaling.
477
478endif