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_A7PLL
32 tristate "SDX55 A7 PLL"
33 help
34 Support for the A7 PLL on SDX55 devices. It provides the CPU with
35 frequencies above 1GHz.
36 Say Y if you want to support higher CPU frequencies on SDX55
37 devices.
38
39config QCOM_CLK_APCS_MSM8916
40 tristate "MSM8916 APCS Clock Controller"
41 depends on QCOM_APCS_IPC || COMPILE_TEST
42 help
43 Support for the APCS Clock Controller on msm8916 devices. The
44 APCS is managing the mux and divider which feeds the CPUs.
45 Say Y if you want to support CPU frequency scaling on devices
46 such as msm8916.
47
48config QCOM_CLK_APCC_MSM8996
49 tristate "MSM8996 CPU Clock Controller"
50 select QCOM_KRYO_L2_ACCESSORS
51 depends on ARM64
52 help
53 Support for the CPU clock controller on msm8996 devices.
54 Say Y if you want to support CPU clock scaling using CPUfreq
55 drivers for dynamic power management.
56
57config QCOM_CLK_APCS_SDX55
58 tristate "SDX55 APCS Clock Controller"
59 depends on QCOM_APCS_IPC || COMPILE_TEST
60 help
61 Support for the APCS Clock Controller on SDX55 platform. The
62 APCS is managing the mux and divider which feeds the CPUs.
63 Say Y if you want to support CPU frequency scaling on devices
64 such as SDX55.
65
66config QCOM_CLK_RPM
67 tristate "RPM based Clock Controller"
68 depends on MFD_QCOM_RPM
69 select QCOM_RPMCC
70 help
71 The RPM (Resource Power Manager) is a dedicated hardware engine for
72 managing the shared SoC resources in order to keep the lowest power
73 profile. It communicates with other hardware subsystems via shared
74 memory and accepts clock requests, aggregates the requests and turns
75 the clocks on/off or scales them on demand.
76 Say Y if you want to support the clocks exposed by the RPM on
77 platforms such as apq8064, msm8660, msm8960 etc.
78
79config QCOM_CLK_SMD_RPM
80 tristate "RPM over SMD based Clock Controller"
81 depends on QCOM_SMD_RPM
82 select QCOM_RPMCC
83 help
84 The RPM (Resource Power Manager) is a dedicated hardware engine for
85 managing the shared SoC resources in order to keep the lowest power
86 profile. It communicates with other hardware subsystems via shared
87 memory and accepts clock requests, aggregates the requests and turns
88 the clocks on/off or scales them on demand.
89 Say Y if you want to support the clocks exposed by the RPM on
90 platforms such as apq8016, apq8084, msm8974 etc.
91
92config QCOM_CLK_RPMH
93 tristate "RPMh Clock Driver"
94 depends on QCOM_RPMH
95 help
96 RPMh manages shared resources on some Qualcomm Technologies, Inc.
97 SoCs. It accepts requests from other hardware subsystems via RSC.
98 Say Y if you want to support the clocks exposed by RPMh on
99 platforms such as SDM845.
100
101config APQ_GCC_8084
102 tristate "APQ8084 Global Clock Controller"
103 select QCOM_GDSC
104 help
105 Support for the global clock controller on apq8084 devices.
106 Say Y if you want to use peripheral devices such as UART, SPI,
107 i2c, USB, SD/eMMC, SATA, PCIe, etc.
108
109config APQ_MMCC_8084
110 tristate "APQ8084 Multimedia Clock Controller"
111 select APQ_GCC_8084
112 select QCOM_GDSC
113 help
114 Support for the multimedia clock controller on apq8084 devices.
115 Say Y if you want to support multimedia devices such as display,
116 graphics, video encode/decode, camera, etc.
117
118config IPQ_APSS_PLL
119 tristate "IPQ APSS PLL"
120 help
121 Support for APSS PLL on ipq devices. The APSS PLL is the main
122 clock that feeds the CPUs on ipq based devices.
123 Say Y if you want to support CPU frequency scaling on ipq based
124 devices.
125
126config IPQ_APSS_6018
127 tristate "IPQ APSS Clock Controller"
128 select IPQ_APSS_PLL
129 depends on QCOM_APCS_IPC || COMPILE_TEST
130 help
131 Support for APSS clock controller on IPQ platforms. The
132 APSS clock controller manages the Mux and enable block that feeds the
133 CPUs.
134 Say Y if you want to support CPU frequency scaling on
135 ipq based devices.
136
137config IPQ_GCC_4019
138 tristate "IPQ4019 Global Clock Controller"
139 help
140 Support for the global clock controller on ipq4019 devices.
141 Say Y if you want to use peripheral devices such as UART, SPI,
142 i2c, USB, SD/eMMC, etc.
143
144config IPQ_GCC_6018
145 tristate "IPQ6018 Global Clock Controller"
146 help
147 Support for global clock controller on ipq6018 devices.
148 Say Y if you want to use peripheral devices such as UART, SPI,
149 i2c, USB, SD/eMMC, etc. Select this for the root clock
150 of ipq6018.
151
152config IPQ_GCC_806X
153 tristate "IPQ806x Global Clock Controller"
154 help
155 Support for the global clock controller on ipq806x devices.
156 Say Y if you want to use peripheral devices such as UART, SPI,
157 i2c, USB, SD/eMMC, etc.
158
159config IPQ_LCC_806X
160 tristate "IPQ806x LPASS Clock Controller"
161 select IPQ_GCC_806X
162 help
163 Support for the LPASS clock controller on ipq806x devices.
164 Say Y if you want to use audio devices such as i2s, pcm,
165 S/PDIF, etc.
166
167config IPQ_GCC_8074
168 tristate "IPQ8074 Global Clock Controller"
169 help
170 Support for global clock controller on ipq8074 devices.
171 Say Y if you want to use peripheral devices such as UART, SPI,
172 i2c, USB, SD/eMMC, etc. Select this for the root clock
173 of ipq8074.
174
175config MSM_GCC_8660
176 tristate "MSM8660 Global Clock Controller"
177 help
178 Support for the global clock controller on msm8660 devices.
179 Say Y if you want to use peripheral devices such as UART, SPI,
180 i2c, USB, SD/eMMC, etc.
181
182config MSM_GCC_8916
183 tristate "MSM8916 Global Clock Controller"
184 select QCOM_GDSC
185 help
186 Support for the global clock controller on msm8916 devices.
187 Say Y if you want to use devices such as UART, SPI i2c, USB,
188 SD/eMMC, display, graphics, camera etc.
189
190config MSM_GCC_8939
191 tristate "MSM8939 Global Clock Controller"
192 select QCOM_GDSC
193 help
194 Support for the global clock controller on msm8939 devices.
195 Say Y if you want to use devices such as UART, SPI i2c, USB,
196 SD/eMMC, display, graphics, camera etc.
197
198config MSM_GCC_8960
199 tristate "APQ8064/MSM8960 Global Clock Controller"
200 help
201 Support for the global clock controller on apq8064/msm8960 devices.
202 Say Y if you want to use peripheral devices such as UART, SPI,
203 i2c, USB, SD/eMMC, SATA, PCIe, etc.
204
205config MSM_LCC_8960
206 tristate "APQ8064/MSM8960 LPASS Clock Controller"
207 select MSM_GCC_8960
208 help
209 Support for the LPASS clock controller on apq8064/msm8960 devices.
210 Say Y if you want to use audio devices such as i2s, pcm,
211 SLIMBus, etc.
212
213config MDM_GCC_9607
214 tristate "MDM9607 Global Clock Controller"
215 help
216 Support for the global clock controller on mdm9607 devices.
217 Say Y if you want to use peripheral devices such as UART, SPI,
218 I2C, USB, SD/eMMC, etc.
219
220config MDM_GCC_9615
221 tristate "MDM9615 Global Clock Controller"
222 help
223 Support for the global clock controller on mdm9615 devices.
224 Say Y if you want to use peripheral devices such as UART, SPI,
225 i2c, USB, SD/eMMC, etc.
226
227config MDM_LCC_9615
228 tristate "MDM9615 LPASS Clock Controller"
229 select MDM_GCC_9615
230 help
231 Support for the LPASS clock controller on mdm9615 devices.
232 Say Y if you want to use audio devices such as i2s, pcm,
233 SLIMBus, etc.
234
235config MSM_MMCC_8960
236 tristate "MSM8960 Multimedia Clock Controller"
237 select MSM_GCC_8960
238 help
239 Support for the multimedia clock controller on msm8960 devices.
240 Say Y if you want to support multimedia devices such as display,
241 graphics, video encode/decode, camera, etc.
242
243config MSM_GCC_8974
244 tristate "MSM8974 Global Clock Controller"
245 select QCOM_GDSC
246 help
247 Support for the global clock controller on msm8974 devices.
248 Say Y if you want to use peripheral devices such as UART, SPI,
249 i2c, USB, SD/eMMC, SATA, PCIe, etc.
250
251config MSM_MMCC_8974
252 tristate "MSM8974 Multimedia Clock Controller"
253 select MSM_GCC_8974
254 select QCOM_GDSC
255 help
256 Support for the multimedia clock controller on msm8974 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_8994
261 tristate "MSM8994 Global Clock Controller"
262 help
263 Support for the global clock controller on msm8994 devices.
264 Say Y if you want to use peripheral devices such as UART, SPI,
265 i2c, USB, UFS, SD/eMMC, PCIe, etc.
266
267config MSM_GCC_8996
268 tristate "MSM8996 Global Clock Controller"
269 select QCOM_GDSC
270 help
271 Support for the global clock controller on msm8996 devices.
272 Say Y if you want to use peripheral devices such as UART, SPI,
273 i2c, USB, UFS, SD/eMMC, PCIe, etc.
274
275config MSM_MMCC_8996
276 tristate "MSM8996 Multimedia Clock Controller"
277 select MSM_GCC_8996
278 select QCOM_GDSC
279 help
280 Support for the multimedia clock controller on msm8996 devices.
281 Say Y if you want to support multimedia devices such as display,
282 graphics, video encode/decode, camera, etc.
283
284config MSM_GCC_8998
285 tristate "MSM8998 Global Clock Controller"
286 select QCOM_GDSC
287 help
288 Support for the global clock controller on msm8998 devices.
289 Say Y if you want to use peripheral devices such as UART, SPI,
290 i2c, USB, UFS, SD/eMMC, PCIe, etc.
291
292config MSM_GPUCC_8998
293 tristate "MSM8998 Graphics Clock Controller"
294 select MSM_GCC_8998
295 select QCOM_GDSC
296 help
297 Support for the graphics clock controller on MSM8998 devices.
298 Say Y if you want to support graphics controller devices and
299 functionality such as 3D graphics.
300
301config MSM_MMCC_8998
302 tristate "MSM8998 Multimedia Clock Controller"
303 select MSM_GCC_8998
304 select QCOM_GDSC
305 help
306 Support for the multimedia clock controller on msm8998 devices.
307 Say Y if you want to support multimedia devices such as display,
308 graphics, video encode/decode, camera, etc.
309
310config QCS_GCC_404
311 tristate "QCS404 Global Clock Controller"
312 help
313 Support for the global clock controller on QCS404 devices.
314 Say Y if you want to use multimedia devices or peripheral
315 devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc.
316
317config SC_CAMCC_7180
318 tristate "SC7180 Camera Clock Controller"
319 select SC_GCC_7180
320 help
321 Support for the camera clock controller on Qualcomm Technologies, Inc
322 SC7180 devices.
323 Say Y if you want to support camera devices and functionality such as
324 capturing pictures.
325
326config SC_DISPCC_7180
327 tristate "SC7180 Display Clock Controller"
328 select SC_GCC_7180
329 help
330 Support for the display clock controller on Qualcomm Technologies, Inc
331 SC7180 devices.
332 Say Y if you want to support display devices and functionality such as
333 splash screen.
334
335config SC_GCC_7180
336 tristate "SC7180 Global Clock Controller"
337 select QCOM_GDSC
338 depends on COMMON_CLK_QCOM
339 help
340 Support for the global clock controller on SC7180 devices.
341 Say Y if you want to use peripheral devices such as UART, SPI,
342 I2C, USB, UFS, SDCC, etc.
343
344config SC_GCC_7280
345 tristate "SC7280 Global Clock Controller"
346 select QCOM_GDSC
347 depends on COMMON_CLK_QCOM
348 help
349 Support for the global clock controller on SC7280 devices.
350 Say Y if you want to use peripheral devices such as UART, SPI,
351 I2C, USB, UFS, SDCC, PCIe etc.
352
353config SC_GCC_8180X
354 tristate "SC8180X Global Clock Controller"
355 select QCOM_GDSC
356 depends on COMMON_CLK_QCOM
357 help
358 Support for the global clock controller on SC8180X devices.
359 Say Y if you want to use peripheral devices such as UART, SPI,
360 I2C, USB, UFS, SDCC, etc.
361
362config SC_LPASS_CORECC_7180
363 tristate "SC7180 LPASS Core Clock Controller"
364 select SC_GCC_7180
365 help
366 Support for the LPASS(Low Power Audio Subsystem) core clock controller
367 on SC7180 devices.
368 Say Y if you want to use LPASS clocks and power domains of the LPASS
369 core clock controller.
370
371config SC_GPUCC_7180
372 tristate "SC7180 Graphics Clock Controller"
373 select SC_GCC_7180
374 help
375 Support for the graphics clock controller on SC7180 devices.
376 Say Y if you want to support graphics controller devices and
377 functionality such as 3D graphics.
378
379config SC_MSS_7180
380 tristate "SC7180 Modem Clock Controller"
381 select SC_GCC_7180
382 help
383 Support for the Modem Subsystem clock controller on Qualcomm
384 Technologies, Inc on SC7180 devices.
385 Say Y if you want to use the Modem branch clocks of the Modem
386 subsystem clock controller to reset the MSS subsystem.
387
388config SC_VIDEOCC_7180
389 tristate "SC7180 Video Clock Controller"
390 select SC_GCC_7180
391 help
392 Support for the video clock controller on SC7180 devices.
393 Say Y if you want to support video devices and functionality such as
394 video encode and decode.
395
396config SDM_CAMCC_845
397 tristate "SDM845 Camera Clock Controller"
398 select SDM_GCC_845
399 help
400 Support for the camera clock controller on SDM845 devices.
401 Say Y if you want to support camera devices and camera functionality.
402
403config SDM_GCC_660
404 tristate "SDM660 Global Clock Controller"
405 select QCOM_GDSC
406 help
407 Support for the global clock controller on SDM660 devices.
408 Say Y if you want to use peripheral devices such as UART, SPI,
409 i2C, USB, UFS, SDDC, PCIe, etc.
410
411config SDM_MMCC_660
412 tristate "SDM660 Multimedia Clock Controller"
413 select SDM_GCC_660
414 select QCOM_GDSC
415 help
416 Support for the multimedia clock controller on SDM660 devices.
417 Say Y if you want to support multimedia devices such as display,
418 graphics, video encode/decode, camera, etc.
419
420config SDM_GPUCC_660
421 tristate "SDM660 Graphics Clock Controller"
422 select SDM_GCC_660
423 select QCOM_GDSC
424 help
425 Support for the graphics clock controller on SDM630/636/660 devices.
426 Say Y if you want to support graphics controller devices and
427 functionality such as 3D graphics
428
429config QCS_TURING_404
430 tristate "QCS404 Turing Clock Controller"
431 help
432 Support for the Turing Clock Controller on QCS404, provides clocks
433 and resets for the Turing subsystem.
434
435config QCS_Q6SSTOP_404
436 tristate "QCS404 Q6SSTOP Clock Controller"
437 select QCS_GCC_404
438 help
439 Support for the Q6SSTOP clock controller on QCS404 devices.
440 Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock
441 controller to reset the Q6SSTOP subsystem.
442
443config SDM_GCC_845
444 tristate "SDM845 Global Clock Controller"
445 select QCOM_GDSC
446 help
447 Support for the global clock controller on SDM845 devices.
448 Say Y if you want to use peripheral devices such as UART, SPI,
449 i2C, USB, UFS, SDDC, PCIe, etc.
450
451config SDM_GPUCC_845
452 tristate "SDM845 Graphics Clock Controller"
453 select SDM_GCC_845
454 help
455 Support for the graphics clock controller on SDM845 devices.
456 Say Y if you want to support graphics controller devices and
457 functionality such as 3D graphics.
458
459config SDM_VIDEOCC_845
460 tristate "SDM845 Video Clock Controller"
461 select SDM_GCC_845
462 select QCOM_GDSC
463 help
464 Support for the video clock controller on SDM845 devices.
465 Say Y if you want to support video devices and functionality such as
466 video encode and decode.
467
468config SDM_DISPCC_845
469 tristate "SDM845 Display Clock Controller"
470 select SDM_GCC_845
471 help
472 Support for the display clock controller on Qualcomm Technologies, Inc
473 SDM845 devices.
474 Say Y if you want to support display devices and functionality such as
475 splash screen.
476
477config SDM_LPASSCC_845
478 tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
479 select SDM_GCC_845
480 help
481 Support for the LPASS clock controller on SDM845 devices.
482 Say Y if you want to use the LPASS branch clocks of the LPASS clock
483 controller to reset the LPASS subsystem.
484
485config SDX_GCC_55
486 tristate "SDX55 Global Clock Controller"
487 select QCOM_GDSC
488 help
489 Support for the global clock controller on SDX55 devices.
490 Say Y if you want to use peripheral devices such as UART,
491 SPI, I2C, USB, SD/UFS, PCIe etc.
492
493config SM_CAMCC_8250
494 tristate "SM8250 Camera Clock Controller"
495 select SM_GCC_8250
496 help
497 Support for the camera clock controller on SM8250 devices.
498 Say Y if you want to support camera devices and camera functionality.
499
500config SM_DISPCC_8250
501 tristate "SM8150 and SM8250 Display Clock Controller"
502 depends on SM_GCC_8150 || SM_GCC_8250
503 help
504 Support for the display clock controller on Qualcomm Technologies, Inc
505 SM8150 and SM8250 devices.
506 Say Y if you want to support display devices and functionality such as
507 splash screen.
508
509config SM_GCC_6125
510 tristate "SM6125 Global Clock Controller"
511 help
512 Support for the global clock controller on SM6125 devices.
513 Say Y if you want to use peripheral devices such as UART,
514 SPI, I2C, USB, SD/UFS, PCIe etc.
515
516config SM_GCC_8150
517 tristate "SM8150 Global Clock Controller"
518 help
519 Support for the global clock controller on SM8150 devices.
520 Say Y if you want to use peripheral devices such as UART,
521 SPI, I2C, USB, SD/UFS, PCIe etc.
522
523config SM_GCC_8250
524 tristate "SM8250 Global Clock Controller"
525 select QCOM_GDSC
526 help
527 Support for the global clock controller on SM8250 devices.
528 Say Y if you want to use peripheral devices such as UART,
529 SPI, I2C, USB, SD/UFS, PCIe etc.
530
531config SM_GCC_8350
532 tristate "SM8350 Global Clock Controller"
533 select QCOM_GDSC
534 help
535 Support for the global clock controller on SM8350 devices.
536 Say Y if you want to use peripheral devices such as UART,
537 SPI, I2C, USB, SD/UFS, PCIe etc.
538
539config SM_GPUCC_8150
540 tristate "SM8150 Graphics Clock Controller"
541 select SM_GCC_8150
542 help
543 Support for the graphics clock controller on SM8150 devices.
544 Say Y if you want to support graphics controller devices and
545 functionality such as 3D graphics.
546
547config SM_GPUCC_8250
548 tristate "SM8250 Graphics Clock Controller"
549 select SM_GCC_8250
550 help
551 Support for the graphics clock controller on SM8250 devices.
552 Say Y if you want to support graphics controller devices and
553 functionality such as 3D graphics.
554
555config SM_VIDEOCC_8150
556 tristate "SM8150 Video Clock Controller"
557 select SDM_GCC_8150
558 select QCOM_GDSC
559 help
560 Support for the video clock controller on SM8150 devices.
561 Say Y if you want to support video devices and functionality such as
562 video encode and decode.
563
564config SM_VIDEOCC_8250
565 tristate "SM8250 Video Clock Controller"
566 select SDM_GCC_8250
567 select QCOM_GDSC
568 help
569 Support for the video clock controller on SM8250 devices.
570 Say Y if you want to support video devices and functionality such as
571 video encode and decode.
572
573config SPMI_PMIC_CLKDIV
574 tristate "SPMI PMIC clkdiv Support"
575 depends on SPMI || COMPILE_TEST
576 help
577 This driver supports the clkdiv functionality on the Qualcomm
578 Technologies, Inc. SPMI PMIC. It configures the frequency of
579 clkdiv outputs of the PMIC. These clocks are typically wired
580 through alternate functions on GPIO pins.
581
582config QCOM_HFPLL
583 tristate "High-Frequency PLL (HFPLL) Clock Controller"
584 help
585 Support for the high-frequency PLLs present on Qualcomm devices.
586 Say Y if you want to support CPU frequency scaling on devices
587 such as MSM8974, APQ8084, etc.
588
589config KPSS_XCC
590 tristate "KPSS Clock Controller"
591 help
592 Support for the Krait ACC and GCC clock controllers. Say Y
593 if you want to support CPU frequency scaling on devices such
594 as MSM8960, APQ8064, etc.
595
596config KRAITCC
597 tristate "Krait Clock Controller"
598 depends on ARM
599 select KRAIT_CLOCKS
600 help
601 Support for the Krait CPU clocks on Qualcomm devices.
602 Say Y if you want to support CPU frequency scaling.
603
604config CLK_GFM_LPASS_SM8250
605 tristate "SM8250 GFM LPASS Clocks"
606 help
607 Support for the Glitch Free Mux (GFM) Low power audio
608 subsystem (LPASS) clocks found on SM8250 SoCs.
609
610endif