dbc3950c5960905926d3aaaba205466e70eaf68a
[releases.git] / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 config KRAIT_CLOCKS
3         bool
4         select KRAIT_L2_ACCESSORS
5
6 config QCOM_GDSC
7         bool
8         select PM_GENERIC_DOMAINS if PM
9
10 config QCOM_RPMCC
11         bool
12
13 menuconfig 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
21 if COMMON_CLK_QCOM
22
23 config 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
31 config QCOM_A7PLL
32         tristate "A7 PLL driver for SDX55 and SDX65"
33         help
34           Support for the A7 PLL on SDX55 and SDX65 devices. It provides the CPU with
35           frequencies above 1GHz.
36           Say Y if you want to support higher CPU frequencies on SDX55 and SDX65
37           devices.
38
39 config 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
48 config QCOM_CLK_APCC_MSM8996
49         tristate "MSM8996 CPU Clock Controller"
50         select QCOM_KRYO_L2_ACCESSORS
51         select INTERCONNECT_CLK if INTERCONNECT
52         depends on ARM64
53         help
54           Support for the CPU clock controller on msm8996 devices.
55           Say Y if you want to support CPU clock scaling using CPUfreq
56           drivers for dynamic power management.
57
58 config QCOM_CLK_APCS_SDX55
59         tristate "SDX55 and SDX65 APCS Clock Controller"
60         depends on QCOM_APCS_IPC || COMPILE_TEST
61         depends on ARM || COMPILE_TEST
62         help
63           Support for the APCS Clock Controller on SDX55, SDX65 platforms. The
64           APCS is managing the mux and divider which feeds the CPUs.
65           Say Y if you want to support CPU frequency scaling on devices
66           such as SDX55, SDX65.
67
68 config QCOM_CLK_RPM
69         tristate "RPM based Clock Controller"
70         depends on MFD_QCOM_RPM
71         select QCOM_RPMCC
72         help
73           The RPM (Resource Power Manager) is a dedicated hardware engine for
74           managing the shared SoC resources in order to keep the lowest power
75           profile. It communicates with other hardware subsystems via shared
76           memory and accepts clock requests, aggregates the requests and turns
77           the clocks on/off or scales them on demand.
78           Say Y if you want to support the clocks exposed by the RPM on
79           platforms such as apq8064, msm8660, msm8960 etc.
80
81 config QCOM_CLK_SMD_RPM
82         tristate "RPM over SMD based Clock Controller"
83         depends on QCOM_SMD_RPM
84         select QCOM_RPMCC
85         help
86           The RPM (Resource Power Manager) is a dedicated hardware engine for
87           managing the shared SoC resources in order to keep the lowest power
88           profile. It communicates with other hardware subsystems via shared
89           memory and accepts clock requests, aggregates the requests and turns
90           the clocks on/off or scales them on demand.
91           Say Y if you want to support the clocks exposed by the RPM on
92           platforms such as apq8016, apq8084, msm8974 etc.
93
94 config QCOM_CLK_RPMH
95         tristate "RPMh Clock Driver"
96         depends on QCOM_RPMH
97         help
98          RPMh manages shared resources on some Qualcomm Technologies, Inc.
99          SoCs. It accepts requests from other hardware subsystems via RSC.
100          Say Y if you want to support the clocks exposed by RPMh on
101          platforms such as SDM845.
102
103 config APQ_GCC_8084
104         tristate "APQ8084 Global Clock Controller"
105         depends on ARM || COMPILE_TEST
106         select QCOM_GDSC
107         help
108           Support for the global clock controller on apq8084 devices.
109           Say Y if you want to use peripheral devices such as UART, SPI,
110           i2c, USB, SD/eMMC, SATA, PCIe, etc.
111
112 config APQ_MMCC_8084
113         tristate "APQ8084 Multimedia Clock Controller"
114         depends on ARM || COMPILE_TEST
115         select APQ_GCC_8084
116         select QCOM_GDSC
117         help
118           Support for the multimedia clock controller on apq8084 devices.
119           Say Y if you want to support multimedia devices such as display,
120           graphics, video encode/decode, camera, etc.
121
122 config IPQ_APSS_PLL
123         tristate "IPQ APSS PLL"
124         help
125           Support for APSS PLL on ipq devices. The APSS PLL is the main
126           clock that feeds the CPUs on ipq based devices.
127           Say Y if you want to support CPU frequency scaling on ipq based
128           devices.
129
130 config IPQ_APSS_6018
131         tristate "IPQ APSS Clock Controller"
132         select IPQ_APSS_PLL
133         depends on QCOM_APCS_IPC || COMPILE_TEST
134         depends on QCOM_SMEM
135         help
136           Support for APSS clock controller on IPQ platforms. The
137           APSS clock controller manages the Mux and enable block that feeds the
138           CPUs.
139           Say Y if you want to support CPU frequency scaling on
140           ipq based devices.
141
142 config IPQ_GCC_4019
143         tristate "IPQ4019 Global Clock Controller"
144         help
145           Support for the global clock controller on ipq4019 devices.
146           Say Y if you want to use peripheral devices such as UART, SPI,
147           i2c, USB, SD/eMMC, etc.
148
149 config IPQ_GCC_5018
150         tristate "IPQ5018 Global Clock Controller"
151         depends on ARM64 || COMPILE_TEST
152         help
153           Support for global clock controller on ipq5018 devices.
154           Say Y if you want to use peripheral devices such as UART, SPI,
155           i2c, USB, SD/eMMC, etc.
156
157 config IPQ_GCC_5332
158         tristate "IPQ5332 Global Clock Controller"
159         depends on ARM64 || COMPILE_TEST
160         help
161           Support for the global clock controller on ipq5332 devices.
162           Say Y if you want to use peripheral devices such as UART, SPI,
163           i2c, USB, SD/eMMC, etc.
164
165 config IPQ_GCC_6018
166         tristate "IPQ6018 Global Clock Controller"
167         help
168           Support for global clock controller on ipq6018 devices.
169           Say Y if you want to use peripheral devices such as UART, SPI,
170           i2c, USB, SD/eMMC, etc. Select this for the root clock
171           of ipq6018.
172
173 config IPQ_GCC_806X
174         tristate "IPQ806x Global Clock Controller"
175         depends on ARM || COMPILE_TEST
176         help
177           Support for the global clock controller on ipq806x devices.
178           Say Y if you want to use peripheral devices such as UART, SPI,
179           i2c, USB, SD/eMMC, etc.
180
181 config IPQ_LCC_806X
182         tristate "IPQ806x LPASS Clock Controller"
183         depends on ARM || COMPILE_TEST
184         select IPQ_GCC_806X
185         help
186           Support for the LPASS clock controller on ipq806x devices.
187           Say Y if you want to use audio devices such as i2s, pcm,
188           S/PDIF, etc.
189
190 config IPQ_GCC_8074
191         tristate "IPQ8074 Global Clock Controller"
192         select QCOM_GDSC
193         help
194           Support for global clock controller on ipq8074 devices.
195           Say Y if you want to use peripheral devices such as UART, SPI,
196           i2c, USB, SD/eMMC, etc. Select this for the root clock
197           of ipq8074.
198
199 config IPQ_GCC_9574
200         tristate "IPQ9574 Global Clock Controller"
201         help
202           Support for global clock controller on ipq9574 devices.
203           Say Y if you want to use peripheral devices such as UART, SPI,
204           i2c, USB, SD/eMMC, etc. Select this for the root clock
205           of ipq9574.
206
207 config MSM_GCC_8660
208         tristate "MSM8660 Global Clock Controller"
209         depends on ARM || COMPILE_TEST
210         help
211           Support for the global clock controller on msm8660 devices.
212           Say Y if you want to use peripheral devices such as UART, SPI,
213           i2c, USB, SD/eMMC, etc.
214
215 config MSM_GCC_8909
216         tristate "MSM8909 Global Clock Controller"
217         depends on ARM || COMPILE_TEST
218         select QCOM_GDSC
219         help
220           Support for the global clock controller on msm8909 devices.
221           Say Y if you want to use devices such as UART, SPI, I2C, USB,
222           SD/eMMC, display, graphics, camera etc.
223
224 config MSM_GCC_8916
225         tristate "MSM8916 Global Clock Controller"
226         select QCOM_GDSC
227         help
228           Support for the global clock controller on msm8916 devices.
229           Say Y if you want to use devices such as UART, SPI i2c, USB,
230           SD/eMMC, display, graphics, camera etc.
231
232 config MSM_GCC_8917
233         tristate "MSM8917/QM215 Global Clock Controller"
234         depends on ARM64 || COMPILE_TEST
235         select QCOM_GDSC
236         help
237           Support for the global clock controller on msm8917 and qm215
238           devices.
239           Say Y if you want to use devices such as UART, SPI i2c, USB,
240           SD/eMMC, display, graphics, camera etc.
241
242 config MSM_GCC_8939
243         tristate "MSM8939 Global Clock Controller"
244         select QCOM_GDSC
245         help
246           Support for the global clock controller on msm8939 devices.
247           Say Y if you want to use devices such as UART, SPI i2c, USB,
248           SD/eMMC, display, graphics, camera etc.
249
250 config MSM_GCC_8960
251         tristate "APQ8064/MSM8960 Global Clock Controller"
252         depends on ARM || COMPILE_TEST
253         help
254           Support for the global clock controller on apq8064/msm8960 devices.
255           Say Y if you want to use peripheral devices such as UART, SPI,
256           i2c, USB, SD/eMMC, SATA, PCIe, etc.
257
258 config MSM_LCC_8960
259         tristate "APQ8064/MSM8960/MDM9650 LPASS Clock Controller"
260         depends on ARM || COMPILE_TEST
261         help
262           Support for the LPASS clock controller on apq8064/msm8960/mdm9650
263           devices.
264           Say Y if you want to use audio devices such as i2s, pcm,
265           SLIMBus, etc.
266
267 config MDM_GCC_9607
268         tristate "MDM9607 Global Clock Controller"
269         depends on ARM || COMPILE_TEST
270         help
271           Support for the global clock controller on mdm9607 devices.
272           Say Y if you want to use peripheral devices such as UART, SPI,
273           I2C, USB, SD/eMMC, etc.
274
275 config MDM_GCC_9615
276         tristate "MDM9615 Global Clock Controller"
277         depends on ARM || COMPILE_TEST
278         help
279           Support for the global clock controller on mdm9615 devices.
280           Say Y if you want to use peripheral devices such as UART, SPI,
281           i2c, USB, SD/eMMC, etc.
282
283 config MSM_MMCC_8960
284         tristate "MSM8960 Multimedia Clock Controller"
285         depends on ARM || COMPILE_TEST
286         select MSM_GCC_8960
287         help
288           Support for the multimedia clock controller on msm8960 devices.
289           Say Y if you want to support multimedia devices such as display,
290           graphics, video encode/decode, camera, etc.
291
292 config MSM_GCC_8953
293         tristate "MSM8953 Global Clock Controller"
294         select QCOM_GDSC
295         help
296           Support for the global clock controller on msm8953 devices.
297           Say Y if you want to use devices such as UART, SPI i2c, USB,
298           SD/eMMC, display, graphics, camera etc.
299
300 config MSM_GCC_8974
301         tristate "MSM8974 Global Clock Controller"
302         depends on ARM || COMPILE_TEST
303         select QCOM_GDSC
304         help
305           Support for the global clock controller on msm8974 devices.
306           Say Y if you want to use peripheral devices such as UART, SPI,
307           i2c, USB, SD/eMMC, SATA, PCIe, etc.
308
309 config MSM_MMCC_8974
310         tristate "MSM8974 Multimedia Clock Controller"
311         depends on ARM || COMPILE_TEST
312         select MSM_GCC_8974
313         select QCOM_GDSC
314         help
315           Support for the multimedia clock controller on msm8974 devices.
316           Say Y if you want to support multimedia devices such as display,
317           graphics, video encode/decode, camera, etc.
318
319 config MSM_GCC_8976
320         tristate "MSM8956/76 Global Clock Controller"
321         select QCOM_GDSC
322         help
323           Support for the global clock controller on msm8956/76 devices.
324           Say Y if you want to use peripheral devices such as UART, SPI,
325           i2c, USB, SD/eMMC, SATA, PCIe, etc.
326
327 config MSM_MMCC_8994
328         tristate "MSM8994 Multimedia Clock Controller"
329         select MSM_GCC_8994
330         select QCOM_GDSC
331         help
332           Support for the multimedia clock controller on msm8994 devices.
333           Say Y if you want to support multimedia devices such as display,
334           graphics, video encode/decode, camera, etc.
335
336 config MSM_GCC_8994
337         tristate "MSM8994 Global Clock Controller"
338         help
339           Support for the global clock controller on msm8994 devices.
340           Say Y if you want to use peripheral devices such as UART, SPI,
341           i2c, USB, UFS, SD/eMMC, PCIe, etc.
342
343 config MSM_GCC_8996
344         tristate "MSM8996 Global Clock Controller"
345         select QCOM_GDSC
346         help
347           Support for the global clock controller on msm8996 devices.
348           Say Y if you want to use peripheral devices such as UART, SPI,
349           i2c, USB, UFS, SD/eMMC, PCIe, etc.
350
351 config MSM_MMCC_8996
352         tristate "MSM8996 Multimedia Clock Controller"
353         select MSM_GCC_8996
354         select QCOM_GDSC
355         help
356           Support for the multimedia clock controller on msm8996 devices.
357           Say Y if you want to support multimedia devices such as display,
358           graphics, video encode/decode, camera, etc.
359
360 config MSM_GCC_8998
361         tristate "MSM8998 Global Clock Controller"
362         select QCOM_GDSC
363         help
364           Support for the global clock controller on msm8998 devices.
365           Say Y if you want to use peripheral devices such as UART, SPI,
366           i2c, USB, UFS, SD/eMMC, PCIe, etc.
367
368 config MSM_GPUCC_8998
369         tristate "MSM8998 Graphics Clock Controller"
370         select MSM_GCC_8998
371         select QCOM_GDSC
372         help
373           Support for the graphics clock controller on MSM8998 devices.
374           Say Y if you want to support graphics controller devices and
375           functionality such as 3D graphics.
376
377 config MSM_MMCC_8998
378         tristate "MSM8998 Multimedia Clock Controller"
379         select MSM_GCC_8998
380         select QCOM_GDSC
381         help
382           Support for the multimedia clock controller on msm8998 devices.
383           Say Y if you want to support multimedia devices such as display,
384           graphics, video encode/decode, camera, etc.
385
386 config QCM_GCC_2290
387         tristate "QCM2290 Global Clock Controller"
388         select QCOM_GDSC
389         help
390           Support for the global clock controller on QCM2290 devices.
391           Say Y if you want to use multimedia devices or peripheral
392           devices such as UART, SPI, I2C, USB, SD/eMMC etc.
393
394 config QCM_DISPCC_2290
395         tristate "QCM2290 Display Clock Controller"
396         select QCM_GCC_2290
397         help
398           Support for the display clock controller on Qualcomm Technologies, Inc
399           QCM2290 devices.
400           Say Y if you want to support display devices and functionality such as
401           splash screen.
402
403 config QCS_GCC_404
404         tristate "QCS404 Global Clock Controller"
405         help
406           Support for the global clock controller on QCS404 devices.
407           Say Y if you want to use multimedia devices or peripheral
408           devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc.
409
410 config SC_CAMCC_7180
411         tristate "SC7180 Camera Clock Controller"
412         depends on ARM64 || COMPILE_TEST
413         select SC_GCC_7180
414         help
415           Support for the camera clock controller on Qualcomm Technologies, Inc
416           SC7180 devices.
417           Say Y if you want to support camera devices and functionality such as
418           capturing pictures.
419
420 config SC_CAMCC_7280
421         tristate "SC7280 Camera Clock Controller"
422         depends on ARM64 || COMPILE_TEST
423         select SC_GCC_7280
424         help
425           Support for the camera clock controller on Qualcomm Technologies, Inc
426           SC7280 devices.
427           Say Y if you want to support camera devices and functionality such as
428           capturing pictures.
429
430 config SC_DISPCC_7180
431         tristate "SC7180 Display Clock Controller"
432         depends on ARM64 || COMPILE_TEST
433         select SC_GCC_7180
434         help
435           Support for the display clock controller on Qualcomm Technologies, Inc
436           SC7180 devices.
437           Say Y if you want to support display devices and functionality such as
438           splash screen.
439
440 config SC_DISPCC_7280
441         tristate "SC7280 Display Clock Controller"
442         depends on ARM64 || COMPILE_TEST
443         select SC_GCC_7280
444         help
445           Support for the display clock controller on Qualcomm Technologies, Inc.
446           SC7280 devices.
447           Say Y if you want to support display devices and functionality such as
448           splash screen.
449
450 config SC_DISPCC_8280XP
451         tristate "SC8280XP Display Clock Controller"
452         depends on ARM64 || COMPILE_TEST
453         select SC_GCC_8280XP
454         help
455           Support for the two display clock controllers on Qualcomm
456           Technologies, Inc. SC8280XP devices.
457           Say Y if you want to support display devices and functionality such as
458           splash screen.
459
460 config SA_GCC_8775P
461         tristate "SA8775 Global Clock Controller"
462         select QCOM_GDSC
463         depends on COMMON_CLK_QCOM
464         help
465           Support for the global clock controller on SA8775 devices.
466           Say Y if you want to use peripheral devices such as UART, SPI,
467           I2C, USB, UFS, SDCC, etc.
468
469 config SA_GPUCC_8775P
470         tristate "SA8775P Graphics clock controller"
471         select QCOM_GDSC
472         select SA_GCC_8775P
473         help
474           Support for the graphics clock controller on SA8775P devices.
475           Say Y if you want to support graphics controller devices and
476           functionality such as 3D graphics.
477
478 config SC_GCC_7180
479         tristate "SC7180 Global Clock Controller"
480         select QCOM_GDSC
481         depends on COMMON_CLK_QCOM
482         depends on ARM64 || COMPILE_TEST
483         help
484           Support for the global clock controller on SC7180 devices.
485           Say Y if you want to use peripheral devices such as UART, SPI,
486           I2C, USB, UFS, SDCC, etc.
487
488 config SC_GCC_7280
489         tristate "SC7280 Global Clock Controller"
490         select QCOM_GDSC
491         depends on COMMON_CLK_QCOM
492         depends on ARM64 || COMPILE_TEST
493         help
494           Support for the global clock controller on SC7280 devices.
495           Say Y if you want to use peripheral devices such as UART, SPI,
496           I2C, USB, UFS, SDCC, PCIe etc.
497
498 config SC_GCC_8180X
499         tristate "SC8180X Global Clock Controller"
500         select QCOM_GDSC
501         depends on COMMON_CLK_QCOM
502         depends on ARM64 || COMPILE_TEST
503         help
504           Support for the global clock controller on SC8180X devices.
505           Say Y if you want to use peripheral devices such as UART, SPI,
506           I2C, USB, UFS, SDCC, etc.
507
508 config SC_GCC_8280XP
509         tristate "SC8280XP Global Clock Controller"
510         select QCOM_GDSC
511         depends on COMMON_CLK_QCOM
512         depends on ARM64 || COMPILE_TEST
513         help
514           Support for the global clock controller on SC8280XP devices.
515           Say Y if you want to use peripheral devices such as UART, SPI,
516           I2C, USB, UFS, SDCC, etc.
517
518 config SC_GPUCC_7180
519         tristate "SC7180 Graphics Clock Controller"
520         depends on ARM64 || COMPILE_TEST
521         select SC_GCC_7180
522         help
523           Support for the graphics clock controller on SC7180 devices.
524           Say Y if you want to support graphics controller devices and
525           functionality such as 3D graphics.
526
527 config SC_GPUCC_7280
528         tristate "SC7280 Graphics Clock Controller"
529         depends on ARM64 || COMPILE_TEST
530         select SC_GCC_7280
531         help
532           Support for the graphics clock controller on SC7280 devices.
533           Say Y if you want to support graphics controller devices and
534           functionality such as 3D graphics.
535
536 config SC_GPUCC_8280XP
537         tristate "SC8280XP Graphics Clock Controller"
538         depends on ARM64 || COMPILE_TEST
539         select SC_GCC_8280XP
540         help
541           Support for the graphics clock controller on SC8280XP devices.
542           Say Y if you want to support graphics controller devices and
543           functionality such as 3D graphics.
544
545 config SC_LPASSCC_7280
546         tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller"
547         depends on ARM64 || COMPILE_TEST
548         select SC_GCC_7280
549         help
550           Support for the LPASS clock controller on SC7280 devices.
551           Say Y if you want to use the LPASS branch clocks of the LPASS clock
552           controller to reset the LPASS subsystem.
553
554 config SC_LPASSCC_8280XP
555         tristate "SC8280 Low Power Audio Subsystem (LPASS) Clock Controller"
556         depends on ARM64 || COMPILE_TEST
557         select SC_GCC_8280XP
558         help
559           Support for the LPASS clock controller on SC8280XP devices.
560           Say Y if you want to use the LPASS branch clocks of the LPASS clock
561           controller to reset the LPASS subsystem.
562
563 config SC_LPASS_CORECC_7180
564         tristate "SC7180 LPASS Core Clock Controller"
565         depends on ARM64 || COMPILE_TEST
566         select SC_GCC_7180
567         help
568           Support for the LPASS(Low Power Audio Subsystem) core clock controller
569           on SC7180 devices.
570           Say Y if you want to use LPASS clocks and power domains of the LPASS
571           core clock controller.
572
573 config SC_LPASS_CORECC_7280
574         tristate "SC7280 LPASS Core & Audio Clock Controller"
575         depends on ARM64 || COMPILE_TEST
576         select SC_GCC_7280
577         select QCOM_GDSC
578         help
579           Support for the LPASS(Low Power Audio Subsystem) core and audio clock
580           controller on SC7280 devices.
581           Say Y if you want to use LPASS clocks and power domains of the LPASS
582           core clock controller.
583
584 config SC_MSS_7180
585         tristate "SC7180 Modem Clock Controller"
586         depends on ARM64 || COMPILE_TEST
587         select SC_GCC_7180
588         help
589           Support for the Modem Subsystem clock controller on Qualcomm
590           Technologies, Inc on SC7180 devices.
591           Say Y if you want to use the Modem branch clocks of the Modem
592           subsystem clock controller to reset the MSS subsystem.
593
594 config SC_VIDEOCC_7180
595         tristate "SC7180 Video Clock Controller"
596         depends on ARM64 || COMPILE_TEST
597         select SC_GCC_7180
598         help
599           Support for the video clock controller on SC7180 devices.
600           Say Y if you want to support video devices and functionality such as
601           video encode and decode.
602
603 config SC_VIDEOCC_7280
604         tristate "SC7280 Video Clock Controller"
605         depends on ARM64 || COMPILE_TEST
606         select SC_GCC_7280
607         help
608           Support for the video clock controller on SC7280 devices.
609           Say Y if you want to support video devices and functionality such as
610           video encode and decode.
611
612 config SDM_CAMCC_845
613         tristate "SDM845 Camera Clock Controller"
614         depends on ARM64 || COMPILE_TEST
615         select SDM_GCC_845
616         help
617           Support for the camera clock controller on SDM845 devices.
618           Say Y if you want to support camera devices and camera functionality.
619
620 config SDM_GCC_660
621         tristate "SDM660 Global Clock Controller"
622         depends on ARM64 || COMPILE_TEST
623         select QCOM_GDSC
624         help
625           Support for the global clock controller on SDM660 devices.
626           Say Y if you want to use peripheral devices such as UART, SPI,
627           i2C, USB, UFS, SDDC, PCIe, etc.
628
629 config SDM_MMCC_660
630         tristate "SDM660 Multimedia Clock Controller"
631         depends on ARM64 || COMPILE_TEST
632         select SDM_GCC_660
633         select QCOM_GDSC
634         help
635           Support for the multimedia clock controller on SDM660 devices.
636           Say Y if you want to support multimedia devices such as display,
637           graphics, video encode/decode, camera, etc.
638
639 config SDM_GPUCC_660
640         tristate "SDM660 Graphics Clock Controller"
641         depends on ARM64 || COMPILE_TEST
642         select SDM_GCC_660
643         select QCOM_GDSC
644         help
645           Support for the graphics clock controller on SDM630/636/660 devices.
646           Say Y if you want to support graphics controller devices and
647           functionality such as 3D graphics
648
649 config QCS_TURING_404
650         tristate "QCS404 Turing Clock Controller"
651         help
652           Support for the Turing Clock Controller on QCS404, provides clocks
653           and resets for the Turing subsystem.
654
655 config QCS_Q6SSTOP_404
656         tristate "QCS404 Q6SSTOP Clock Controller"
657         select QCS_GCC_404
658         help
659           Support for the Q6SSTOP clock controller on QCS404 devices.
660           Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock
661           controller to reset the Q6SSTOP subsystem.
662
663 config QDU_GCC_1000
664         tristate "QDU1000/QRU1000 Global Clock Controller"
665         select QCOM_GDSC
666         help
667           Support for the global clock controller on QDU1000 and
668           QRU1000 devices. Say Y if you want to use peripheral
669           devices such as UART, SPI, I2C, USB, SD, PCIe, etc.
670
671 config SDM_GCC_845
672         tristate "SDM845/SDM670 Global Clock Controller"
673         depends on ARM64 || COMPILE_TEST
674         select QCOM_GDSC
675         help
676           Support for the global clock controller on SDM845 and SDM670 devices.
677           Say Y if you want to use peripheral devices such as UART, SPI,
678           i2C, USB, UFS, SDDC, PCIe, etc.
679
680 config SDM_GPUCC_845
681         tristate "SDM845 Graphics Clock Controller"
682         depends on ARM64 || COMPILE_TEST
683         select SDM_GCC_845
684         help
685           Support for the graphics clock controller on SDM845 devices.
686           Say Y if you want to support graphics controller devices and
687           functionality such as 3D graphics.
688
689 config SDM_VIDEOCC_845
690         tristate "SDM845 Video Clock Controller"
691         depends on ARM64 || COMPILE_TEST
692         select SDM_GCC_845
693         select QCOM_GDSC
694         help
695           Support for the video clock controller on SDM845 devices.
696           Say Y if you want to support video devices and functionality such as
697           video encode and decode.
698
699 config SDM_DISPCC_845
700         tristate "SDM845 Display Clock Controller"
701         depends on ARM64 || COMPILE_TEST
702         select SDM_GCC_845
703         help
704           Support for the display clock controller on Qualcomm Technologies, Inc
705           SDM845 devices.
706           Say Y if you want to support display devices and functionality such as
707           splash screen.
708
709 config SDM_LPASSCC_845
710         tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
711         depends on ARM64 || COMPILE_TEST
712         select SDM_GCC_845
713         help
714           Support for the LPASS clock controller on SDM845 devices.
715           Say Y if you want to use the LPASS branch clocks of the LPASS clock
716           controller to reset the LPASS subsystem.
717
718 config SDX_GCC_55
719         tristate "SDX55 Global Clock Controller"
720         depends on ARM || COMPILE_TEST
721         select QCOM_GDSC
722         help
723           Support for the global clock controller on SDX55 devices.
724           Say Y if you want to use peripheral devices such as UART,
725           SPI, I2C, USB, SD/UFS, PCIe etc.
726
727 config SDX_GCC_65
728         tristate "SDX65 Global Clock Controller"
729         depends on ARM || COMPILE_TEST
730         select QCOM_GDSC
731         help
732           Support for the global clock controller on SDX65 devices.
733           Say Y if you want to use peripheral devices such as UART,
734           SPI, I2C, USB, SD/UFS, PCIe etc.
735
736 config SDX_GCC_75
737         tristate "SDX75 Global Clock Controller"
738         select QCOM_GDSC
739         help
740           Support for the global clock controller on SDX75 devices.
741           Say Y if you want to use peripheral devices such as UART,
742           SPI, I2C, USB, SD/eMMC, PCIe etc.
743
744 config SM_CAMCC_6350
745         tristate "SM6350 Camera Clock Controller"
746         depends on ARM64 || COMPILE_TEST
747         select SM_GCC_6350
748         help
749           Support for the camera clock controller on SM6350 devices.
750           Say Y if you want to support camera devices and camera functionality.
751
752 config SM_CAMCC_8250
753         tristate "SM8250 Camera Clock Controller"
754         depends on ARM64 || COMPILE_TEST
755         select SM_GCC_8250
756         help
757           Support for the camera clock controller on SM8250 devices.
758           Say Y if you want to support camera devices and camera functionality.
759
760 config SM_CAMCC_8450
761         tristate "SM8450 Camera Clock Controller"
762         depends on ARM64 || COMPILE_TEST
763         select SM_GCC_8450
764         help
765           Support for the camera clock controller on SM8450 devices.
766           Say Y if you want to support camera devices and camera functionality.
767
768 config SM_CAMCC_8550
769         tristate "SM8550 Camera Clock Controller"
770         depends on ARM64 || COMPILE_TEST
771         select SM_GCC_8550
772         help
773           Support for the camera clock controller on SM8550 devices.
774           Say Y if you want to support camera devices and camera functionality.
775
776 config SM_DISPCC_6115
777         tristate "SM6115 Display Clock Controller"
778         depends on ARM64 || COMPILE_TEST
779         depends on SM_GCC_6115
780         help
781           Support for the display clock controller on Qualcomm Technologies, Inc
782           SM6115/SM4250 devices.
783           Say Y if you want to support display devices and functionality such as
784           splash screen
785
786 config SM_DISPCC_6125
787         tristate "SM6125 Display Clock Controller"
788         depends on ARM64 || COMPILE_TEST
789         depends on SM_GCC_6125
790         help
791           Support for the display clock controller on Qualcomm Technologies, Inc
792           SM6125 devices.
793           Say Y if you want to support display devices and functionality such as
794           splash screen
795
796 config SM_DISPCC_8250
797         tristate "SM8150/SM8250/SM8350 Display Clock Controller"
798         depends on ARM64 || COMPILE_TEST
799         depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350
800         help
801           Support for the display clock controller on Qualcomm Technologies, Inc
802           SM8150/SM8250/SM8350 devices.
803           Say Y if you want to support display devices and functionality such as
804           splash screen.
805
806 config SM_DISPCC_6350
807         tristate "SM6350 Display Clock Controller"
808         depends on ARM64 || COMPILE_TEST
809         depends on SM_GCC_6350
810         help
811           Support for the display clock controller on Qualcomm Technologies, Inc
812           SM6350 devices.
813           Say Y if you want to support display devices and functionality such as
814           splash screen.
815
816 config SM_DISPCC_6375
817         tristate "SM6375 Display Clock Controller"
818         depends on ARM64 || COMPILE_TEST
819         depends on SM_GCC_6375
820         help
821           Support for the display clock controller on Qualcomm Technologies, Inc
822           SM6375 devices.
823           Say Y if you want to support display devices and functionality such as
824           splash screen.
825
826 config SM_DISPCC_8450
827         tristate "SM8450 Display Clock Controller"
828         depends on ARM64 || COMPILE_TEST
829         depends on SM_GCC_8450
830         help
831           Support for the display clock controller on Qualcomm Technologies, Inc
832           SM8450 devices.
833           Say Y if you want to support display devices and functionality such as
834           splash screen.
835
836 config SM_DISPCC_8550
837         tristate "SM8550 Display Clock Controller"
838         depends on ARM64 || COMPILE_TEST
839         depends on SM_GCC_8550
840         help
841           Support for the display clock controller on Qualcomm Technologies, Inc
842           SM8550 devices.
843           Say Y if you want to support display devices and functionality such as
844           splash screen.
845
846 config SM_GCC_4450
847         tristate "SM4450 Global Clock Controller"
848         depends on ARM64 || COMPILE_TEST
849         select QCOM_GDSC
850         help
851           Support for the global clock controller on SM4450 devices.
852           Say Y if you want to use peripheral devices such as UART, SPI,
853           I2C, USB, SD/UFS, PCIe, etc.
854
855 config SM_GCC_6115
856         tristate "SM6115 and SM4250 Global Clock Controller"
857         depends on ARM64 || COMPILE_TEST
858         select QCOM_GDSC
859         help
860           Support for the global clock controller on SM6115 and SM4250 devices.
861           Say Y if you want to use peripheral devices such as UART, SPI,
862           i2C, USB, UFS, SDDC, PCIe, etc.
863
864 config SM_GCC_6125
865         tristate "SM6125 Global Clock Controller"
866         depends on ARM64 || COMPILE_TEST
867         help
868           Support for the global clock controller on SM6125 devices.
869           Say Y if you want to use peripheral devices such as UART,
870           SPI, I2C, USB, SD/UFS, PCIe etc.
871
872 config SM_GCC_6350
873         tristate "SM6350 Global Clock Controller"
874         depends on ARM64 || COMPILE_TEST
875         select QCOM_GDSC
876         help
877           Support for the global clock controller on SM6350 devices.
878           Say Y if you want to use peripheral devices such as UART,
879           SPI, I2C, USB, SD/UFS, PCIe etc.
880
881 config SM_GCC_6375
882         tristate "SM6375 Global Clock Controller"
883         depends on ARM64 || COMPILE_TEST
884         select QCOM_GDSC
885         help
886           Support for the global clock controller on SM6375 devices.
887           Say Y if you want to use peripheral devices such as UART,
888           SPI, I2C, USB, SD/UFS etc.
889
890 config SM_GCC_7150
891         tristate "SM7150 Global Clock Controller"
892         select QCOM_GDSC
893         help
894           Support for the global clock controller on SM7150 devices.
895           Say Y if you want to use peripheral devices such as UART,
896           SPI, I2C, USB, SD/UFS, PCIe etc.
897
898 config SM_GCC_8150
899         tristate "SM8150 Global Clock Controller"
900         depends on ARM64 || COMPILE_TEST
901         help
902           Support for the global clock controller on SM8150 devices.
903           Say Y if you want to use peripheral devices such as UART,
904           SPI, I2C, USB, SD/UFS, PCIe etc.
905
906 config SM_GCC_8250
907         tristate "SM8250 Global Clock Controller"
908         depends on ARM64 || COMPILE_TEST
909         select QCOM_GDSC
910         help
911           Support for the global clock controller on SM8250 devices.
912           Say Y if you want to use peripheral devices such as UART,
913           SPI, I2C, USB, SD/UFS, PCIe etc.
914
915 config SM_GCC_8350
916         tristate "SM8350 Global Clock Controller"
917         depends on ARM64 || COMPILE_TEST
918         select QCOM_GDSC
919         help
920           Support for the global clock controller on SM8350 devices.
921           Say Y if you want to use peripheral devices such as UART,
922           SPI, I2C, USB, SD/UFS, PCIe etc.
923
924 config SM_GCC_8450
925         tristate "SM8450 Global Clock Controller"
926         depends on ARM64 || COMPILE_TEST
927         select QCOM_GDSC
928         help
929           Support for the global clock controller on SM8450 devices.
930           Say Y if you want to use peripheral devices such as UART,
931           SPI, I2C, USB, SD/UFS, PCIe etc.
932
933 config SM_GCC_8550
934         tristate "SM8550 Global Clock Controller"
935         depends on ARM64 || COMPILE_TEST
936         select QCOM_GDSC
937         help
938           Support for the global clock controller on SM8550 devices.
939           Say Y if you want to use peripheral devices such as UART,
940           SPI, I2C, USB, SD/UFS, PCIe etc.
941
942 config SM_GPUCC_6115
943         tristate "SM6115 Graphics Clock Controller"
944         select SM_GCC_6115
945         depends on ARM64 || COMPILE_TEST
946         help
947           Support for the graphics clock controller on SM6115 devices.
948           Say Y if you want to support graphics controller devices and
949           functionality such as 3D graphics.
950
951 config SM_GPUCC_6125
952         tristate "SM6125 Graphics Clock Controller"
953         select SM_GCC_6125
954         depends on ARM64 || COMPILE_TEST
955         help
956           Support for the graphics clock controller on SM6125 devices.
957           Say Y if you want to support graphics controller devices and
958           functionality such as 3D graphics.
959
960 config SM_GPUCC_6375
961         tristate "SM6375 Graphics Clock Controller"
962         select SM_GCC_6375
963         depends on ARM64 || COMPILE_TEST
964         help
965           Support for the graphics clock controller on SM6375 devices.
966           Say Y if you want to support graphics controller devices and
967           functionality such as 3D graphics.
968
969 config SM_GPUCC_6350
970         tristate "SM6350 Graphics Clock Controller"
971         depends on ARM64 || COMPILE_TEST
972         select SM_GCC_6350
973         help
974           Support for the graphics clock controller on SM6350 devices.
975           Say Y if you want to support graphics controller devices and
976           functionality such as 3D graphics.
977
978 config SM_GPUCC_8150
979         tristate "SM8150 Graphics Clock Controller"
980         depends on ARM64 || COMPILE_TEST
981         select SM_GCC_8150
982         help
983           Support for the graphics clock controller on SM8150 devices.
984           Say Y if you want to support graphics controller devices and
985           functionality such as 3D graphics.
986
987 config SM_GPUCC_8250
988         tristate "SM8250 Graphics Clock Controller"
989         depends on ARM64 || COMPILE_TEST
990         select SM_GCC_8250
991         help
992           Support for the graphics clock controller on SM8250 devices.
993           Say Y if you want to support graphics controller devices and
994           functionality such as 3D graphics.
995
996 config SM_GPUCC_8350
997         tristate "SM8350 Graphics Clock Controller"
998         depends on ARM64 || COMPILE_TEST
999         select SM_GCC_8350
1000         help
1001           Support for the graphics clock controller on SM8350 devices.
1002           Say Y if you want to support graphics controller devices and
1003           functionality such as 3D graphics.
1004
1005 config SM_GPUCC_8450
1006         tristate "SM8450 Graphics Clock Controller"
1007         depends on ARM64 || COMPILE_TEST
1008         select SM_GCC_8450
1009         help
1010           Support for the graphics clock controller on SM8450 devices.
1011           Say Y if you want to support graphics controller devices and
1012           functionality such as 3D graphics.
1013
1014 config SM_GPUCC_8550
1015         tristate "SM8550 Graphics Clock Controller"
1016         depends on ARM64 || COMPILE_TEST
1017         select SM_GCC_8550
1018         help
1019           Support for the graphics clock controller on SM8550 devices.
1020           Say Y if you want to support graphics controller devices and
1021           functionality such as 3D graphics.
1022
1023 config SM_TCSRCC_8550
1024         tristate "SM8550 TCSR Clock Controller"
1025         depends on ARM64 || COMPILE_TEST
1026         select QCOM_GDSC
1027         help
1028           Support for the TCSR clock controller on SM8550 devices.
1029           Say Y if you want to use peripheral devices such as SD/UFS.
1030
1031 config SM_VIDEOCC_8150
1032         tristate "SM8150 Video Clock Controller"
1033         depends on ARM64 || COMPILE_TEST
1034         select SM_GCC_8150
1035         select QCOM_GDSC
1036         help
1037           Support for the video clock controller on SM8150 devices.
1038           Say Y if you want to support video devices and functionality such as
1039           video encode and decode.
1040
1041 config SM_VIDEOCC_8250
1042         tristate "SM8250 Video Clock Controller"
1043         depends on ARM64 || COMPILE_TEST
1044         select SM_GCC_8250
1045         select QCOM_GDSC
1046         help
1047           Support for the video clock controller on SM8250 devices.
1048           Say Y if you want to support video devices and functionality such as
1049           video encode and decode.
1050
1051 config SM_VIDEOCC_8350
1052         tristate "SM8350 Video Clock Controller"
1053         depends on ARM64 || COMPILE_TEST
1054         select SM_GCC_8350
1055         select QCOM_GDSC
1056         help
1057           Support for the video clock controller on SM8350 devices.
1058           Say Y if you want to support video devices and functionality such as
1059           video encode and decode.
1060
1061 config SM_VIDEOCC_8550
1062         tristate "SM8550 Video Clock Controller"
1063         depends on ARM64 || COMPILE_TEST
1064         select SM_GCC_8550
1065         select QCOM_GDSC
1066         help
1067           Support for the video clock controller on Qualcomm Technologies, Inc.
1068           SM8550 devices.
1069           Say Y if you want to support video devices and functionality such as
1070           video encode/decode.
1071
1072 config SPMI_PMIC_CLKDIV
1073         tristate "SPMI PMIC clkdiv Support"
1074         depends on SPMI || COMPILE_TEST
1075         help
1076           This driver supports the clkdiv functionality on the Qualcomm
1077           Technologies, Inc. SPMI PMIC. It configures the frequency of
1078           clkdiv outputs of the PMIC. These clocks are typically wired
1079           through alternate functions on GPIO pins.
1080
1081 config QCOM_HFPLL
1082         tristate "High-Frequency PLL (HFPLL) Clock Controller"
1083         help
1084           Support for the high-frequency PLLs present on Qualcomm devices.
1085           Say Y if you want to support CPU frequency scaling on devices
1086           such as MSM8974, APQ8084, etc.
1087
1088 config KPSS_XCC
1089         tristate "KPSS Clock Controller"
1090         help
1091           Support for the Krait ACC and GCC clock controllers. Say Y
1092           if you want to support CPU frequency scaling on devices such
1093           as MSM8960, APQ8064, etc.
1094
1095 config KRAITCC
1096         tristate "Krait Clock Controller"
1097         depends on ARM
1098         select KRAIT_CLOCKS
1099         help
1100           Support for the Krait CPU clocks on Qualcomm devices.
1101           Say Y if you want to support CPU frequency scaling.
1102
1103 config CLK_GFM_LPASS_SM8250
1104         tristate "SM8250 GFM LPASS Clocks"
1105         depends on ARM64 || COMPILE_TEST
1106         help
1107           Support for the Glitch Free Mux (GFM) Low power audio
1108           subsystem (LPASS) clocks found on SM8250 SoCs.
1109
1110 config SM_VIDEOCC_8450
1111         tristate "SM8450 Video Clock Controller"
1112         depends on ARM64 || COMPILE_TEST
1113         select SM_GCC_8450
1114         select QCOM_GDSC
1115         help
1116           Support for the video clock controller on Qualcomm Technologies, Inc.
1117           SM8450 devices.
1118           Say Y if you want to support video devices and functionality such as
1119           video encode/decode.
1120 endif