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 "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
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 and SDX65 APCS Clock Controller"
59	depends on QCOM_APCS_IPC || COMPILE_TEST
60	help
61	  Support for the APCS Clock Controller on SDX55, SDX65 platforms. 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, SDX65.
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_8953
244	tristate "MSM8953 Global Clock Controller"
245	select QCOM_GDSC
246	help
247	  Support for the global clock controller on msm8953 devices.
248	  Say Y if you want to use devices such as UART, SPI i2c, USB,
249	  SD/eMMC, display, graphics, camera etc.
250
251config MSM_GCC_8974
252	tristate "MSM8974 Global Clock Controller"
253	select QCOM_GDSC
254	help
255	  Support for the global clock controller on msm8974 devices.
256	  Say Y if you want to use peripheral devices such as UART, SPI,
257	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
258
259config MSM_MMCC_8974
260	tristate "MSM8974 Multimedia Clock Controller"
261	select MSM_GCC_8974
262	select QCOM_GDSC
263	help
264	  Support for the multimedia clock controller on msm8974 devices.
265	  Say Y if you want to support multimedia devices such as display,
266	  graphics, video encode/decode, camera, etc.
267
268config MSM_GCC_8976
269	tristate "MSM8956/76 Global Clock Controller"
270	select QCOM_GDSC
271	help
272	  Support for the global clock controller on msm8956/76 devices.
273	  Say Y if you want to use peripheral devices such as UART, SPI,
274	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
275
276config MSM_MMCC_8994
277	tristate "MSM8994 Multimedia Clock Controller"
278	select MSM_GCC_8994
279	select QCOM_GDSC
280	help
281	  Support for the multimedia clock controller on msm8994 devices.
282	  Say Y if you want to support multimedia devices such as display,
283	  graphics, video encode/decode, camera, etc.
284
285config MSM_GCC_8994
286	tristate "MSM8994 Global Clock Controller"
287	help
288	  Support for the global clock controller on msm8994 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_GCC_8996
293	tristate "MSM8996 Global Clock Controller"
294	select QCOM_GDSC
295	help
296	  Support for the global clock controller on msm8996 devices.
297	  Say Y if you want to use peripheral devices such as UART, SPI,
298	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
299
300config MSM_MMCC_8996
301	tristate "MSM8996 Multimedia Clock Controller"
302	select MSM_GCC_8996
303	select QCOM_GDSC
304	help
305	  Support for the multimedia clock controller on msm8996 devices.
306	  Say Y if you want to support multimedia devices such as display,
307	  graphics, video encode/decode, camera, etc.
308
309config MSM_GCC_8998
310	tristate "MSM8998 Global Clock Controller"
311	select QCOM_GDSC
312	help
313	  Support for the global clock controller on msm8998 devices.
314	  Say Y if you want to use peripheral devices such as UART, SPI,
315	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
316
317config MSM_GPUCC_8998
318	tristate "MSM8998 Graphics Clock Controller"
319	select MSM_GCC_8998
320	select QCOM_GDSC
321	help
322	  Support for the graphics clock controller on MSM8998 devices.
323	  Say Y if you want to support graphics controller devices and
324	  functionality such as 3D graphics.
325
326config MSM_MMCC_8998
327	tristate "MSM8998 Multimedia Clock Controller"
328	select MSM_GCC_8998
329	select QCOM_GDSC
330	help
331	  Support for the multimedia clock controller on msm8998 devices.
332	  Say Y if you want to support multimedia devices such as display,
333	  graphics, video encode/decode, camera, etc.
334
335config QCM_GCC_2290
336	tristate "QCM2290 Global Clock Controller"
337	select QCOM_GDSC
338	help
339	  Support for the global clock controller on QCM2290 devices.
340	  Say Y if you want to use multimedia devices or peripheral
341	  devices such as UART, SPI, I2C, USB, SD/eMMC etc.
342
343config QCM_DISPCC_2290
344	tristate "QCM2290 Display Clock Controller"
345	select QCM_GCC_2290
346	help
347	  Support for the display clock controller on Qualcomm Technologies, Inc
348	  QCM2290 devices.
349	  Say Y if you want to support display devices and functionality such as
350	  splash screen.
351
352config QCS_GCC_404
353	tristate "QCS404 Global Clock Controller"
354	help
355	  Support for the global clock controller on QCS404 devices.
356	  Say Y if you want to use multimedia devices or peripheral
357	  devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc.
358
359config SC_CAMCC_7180
360	tristate "SC7180 Camera Clock Controller"
361	select SC_GCC_7180
362	help
363	  Support for the camera clock controller on Qualcomm Technologies, Inc
364	  SC7180 devices.
365	  Say Y if you want to support camera devices and functionality such as
366	  capturing pictures.
367
368config SC_CAMCC_7280
369	tristate "SC7280 Camera Clock Controller"
370	select SC_GCC_7280
371	help
372	  Support for the camera clock controller on Qualcomm Technologies, Inc
373	  SC7280 devices.
374	  Say Y if you want to support camera devices and functionality such as
375	  capturing pictures.
376
377config SC_DISPCC_7180
378	tristate "SC7180 Display Clock Controller"
379	select SC_GCC_7180
380	help
381	  Support for the display clock controller on Qualcomm Technologies, Inc
382	  SC7180 devices.
383	  Say Y if you want to support display devices and functionality such as
384	  splash screen.
385
386config SC_DISPCC_7280
387	tristate "SC7280 Display Clock Controller"
388	select SC_GCC_7280
389	help
390	  Support for the display clock controller on Qualcomm Technologies, Inc.
391	  SC7280 devices.
392	  Say Y if you want to support display devices and functionality such as
393	  splash screen.
394
395config SC_GCC_7180
396	tristate "SC7180 Global Clock Controller"
397	select QCOM_GDSC
398	depends on COMMON_CLK_QCOM
399	help
400	  Support for the global clock controller on SC7180 devices.
401	  Say Y if you want to use peripheral devices such as UART, SPI,
402	  I2C, USB, UFS, SDCC, etc.
403
404config SC_GCC_7280
405	tristate "SC7280 Global Clock Controller"
406	select QCOM_GDSC
407	depends on COMMON_CLK_QCOM
408	help
409	  Support for the global clock controller on SC7280 devices.
410	  Say Y if you want to use peripheral devices such as UART, SPI,
411	  I2C, USB, UFS, SDCC, PCIe etc.
412
413config SC_GCC_8180X
414	tristate "SC8180X Global Clock Controller"
415	select QCOM_GDSC
416	depends on COMMON_CLK_QCOM
417	help
418	  Support for the global clock controller on SC8180X devices.
419	  Say Y if you want to use peripheral devices such as UART, SPI,
420	  I2C, USB, UFS, SDCC, etc.
421
422config SC_GCC_8280XP
423	tristate "SC8280XP Global Clock Controller"
424	select QCOM_GDSC
425	depends on COMMON_CLK_QCOM
426	help
427	  Support for the global clock controller on SC8280XP devices.
428	  Say Y if you want to use peripheral devices such as UART, SPI,
429	  I2C, USB, UFS, SDCC, etc.
430
431config SC_GPUCC_7180
432	tristate "SC7180 Graphics Clock Controller"
433	select SC_GCC_7180
434	help
435	  Support for the graphics clock controller on SC7180 devices.
436	  Say Y if you want to support graphics controller devices and
437	  functionality such as 3D graphics.
438
439config SC_GPUCC_7280
440	tristate "SC7280 Graphics Clock Controller"
441	select SC_GCC_7280
442	help
443	  Support for the graphics clock controller on SC7280 devices.
444	  Say Y if you want to support graphics controller devices and
445	  functionality such as 3D graphics.
446
447config SC_LPASSCC_7280
448	tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller"
449	select SC_GCC_7280
450	help
451	  Support for the LPASS clock controller on SC7280 devices.
452	  Say Y if you want to use the LPASS branch clocks of the LPASS clock
453	  controller to reset the LPASS subsystem.
454
455config SC_LPASS_CORECC_7180
456	tristate "SC7180 LPASS Core Clock Controller"
457	select SC_GCC_7180
458	help
459	  Support for the LPASS(Low Power Audio Subsystem) core clock controller
460	  on SC7180 devices.
461	  Say Y if you want to use LPASS clocks and power domains of the LPASS
462	  core clock controller.
463
464config SC_LPASS_CORECC_7280
465	tristate "SC7280 LPASS Core & Audio Clock Controller"
466	select SC_GCC_7280
467	select QCOM_GDSC
468	help
469	  Support for the LPASS(Low Power Audio Subsystem) core and audio clock
470	  controller on SC7280 devices.
471	  Say Y if you want to use LPASS clocks and power domains of the LPASS
472	  core clock controller.
473
474config SC_MSS_7180
475	tristate "SC7180 Modem Clock Controller"
476	select SC_GCC_7180
477	help
478	  Support for the Modem Subsystem clock controller on Qualcomm
479	  Technologies, Inc on SC7180 devices.
480	  Say Y if you want to use the Modem branch clocks of the Modem
481	  subsystem clock controller to reset the MSS subsystem.
482
483config SC_VIDEOCC_7180
484	tristate "SC7180 Video Clock Controller"
485	select SC_GCC_7180
486	help
487	  Support for the video clock controller on SC7180 devices.
488	  Say Y if you want to support video devices and functionality such as
489	  video encode and decode.
490
491config SC_VIDEOCC_7280
492	tristate "SC7280 Video Clock Controller"
493	select SC_GCC_7280
494	help
495	  Support for the video clock controller on SC7280 devices.
496	  Say Y if you want to support video devices and functionality such as
497	  video encode and decode.
498
499config SDM_CAMCC_845
500	tristate "SDM845 Camera Clock Controller"
501	select SDM_GCC_845
502	help
503	  Support for the camera clock controller on SDM845 devices.
504	  Say Y if you want to support camera devices and camera functionality.
505
506config SDM_GCC_660
507	tristate "SDM660 Global Clock Controller"
508	select QCOM_GDSC
509	help
510	  Support for the global clock controller on SDM660 devices.
511	  Say Y if you want to use peripheral devices such as UART, SPI,
512	  i2C, USB, UFS, SDDC, PCIe, etc.
513
514config SDM_MMCC_660
515	tristate "SDM660 Multimedia Clock Controller"
516	select SDM_GCC_660
517	select QCOM_GDSC
518	help
519	  Support for the multimedia clock controller on SDM660 devices.
520	  Say Y if you want to support multimedia devices such as display,
521	  graphics, video encode/decode, camera, etc.
522
523config SDM_GPUCC_660
524	tristate "SDM660 Graphics Clock Controller"
525	select SDM_GCC_660
526	select QCOM_GDSC
527	help
528	  Support for the graphics clock controller on SDM630/636/660 devices.
529	  Say Y if you want to support graphics controller devices and
530	  functionality such as 3D graphics
531
532config QCS_TURING_404
533	tristate "QCS404 Turing Clock Controller"
534	help
535	  Support for the Turing Clock Controller on QCS404, provides clocks
536	  and resets for the Turing subsystem.
537
538config QCS_Q6SSTOP_404
539	tristate "QCS404 Q6SSTOP Clock Controller"
540	select QCS_GCC_404
541	help
542	  Support for the Q6SSTOP clock controller on QCS404 devices.
543	  Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock
544	  controller to reset the Q6SSTOP subsystem.
545
546config SDM_GCC_845
547	tristate "SDM845 Global Clock Controller"
548	select QCOM_GDSC
549	help
550	  Support for the global clock controller on SDM845 devices.
551	  Say Y if you want to use peripheral devices such as UART, SPI,
552	  i2C, USB, UFS, SDDC, PCIe, etc.
553
554config SDM_GPUCC_845
555	tristate "SDM845 Graphics Clock Controller"
556	select SDM_GCC_845
557	help
558	  Support for the graphics clock controller on SDM845 devices.
559	  Say Y if you want to support graphics controller devices and
560	  functionality such as 3D graphics.
561
562config SDM_VIDEOCC_845
563	tristate "SDM845 Video Clock Controller"
564	select SDM_GCC_845
565	select QCOM_GDSC
566	help
567	  Support for the video clock controller on SDM845 devices.
568	  Say Y if you want to support video devices and functionality such as
569	  video encode and decode.
570
571config SDM_DISPCC_845
572	tristate "SDM845 Display Clock Controller"
573	select SDM_GCC_845
574	help
575	  Support for the display clock controller on Qualcomm Technologies, Inc
576	  SDM845 devices.
577	  Say Y if you want to support display devices and functionality such as
578	  splash screen.
579
580config SDM_LPASSCC_845
581	tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
582	select SDM_GCC_845
583	help
584	  Support for the LPASS clock controller on SDM845 devices.
585	  Say Y if you want to use the LPASS branch clocks of the LPASS clock
586	  controller to reset the LPASS subsystem.
587
588config SDX_GCC_55
589	tristate "SDX55 Global Clock Controller"
590	select QCOM_GDSC
591	help
592	  Support for the global clock controller on SDX55 devices.
593	  Say Y if you want to use peripheral devices such as UART,
594	  SPI, I2C, USB, SD/UFS, PCIe etc.
595
596config SDX_GCC_65
597	tristate "SDX65 Global Clock Controller"
598	select QCOM_GDSC
599	help
600	  Support for the global clock controller on SDX65 devices.
601	  Say Y if you want to use peripheral devices such as UART,
602	  SPI, I2C, USB, SD/UFS, PCIe etc.
603
604config SM_CAMCC_8250
605	tristate "SM8250 Camera Clock Controller"
606	select SM_GCC_8250
607	help
608	  Support for the camera clock controller on SM8250 devices.
609	  Say Y if you want to support camera devices and camera functionality.
610
611config SM_DISPCC_6125
612	tristate "SM6125 Display Clock Controller"
613	depends on SM_GCC_6125
614	help
615	  Support for the display clock controller on Qualcomm Technologies, Inc
616	  SM6125 devices.
617	  Say Y if you want to support display devices and functionality such as
618	  splash screen
619
620config SM_DISPCC_8250
621	tristate "SM8150 and SM8250 Display Clock Controller"
622	depends on SM_GCC_8150 || SM_GCC_8250
623	help
624	  Support for the display clock controller on Qualcomm Technologies, Inc
625	  SM8150 and SM8250 devices.
626	  Say Y if you want to support display devices and functionality such as
627	  splash screen.
628
629config SM_DISPCC_6350
630	tristate "SM6350 Display Clock Controller"
631	depends on SM_GCC_6350
632	help
633	  Support for the display clock controller on Qualcomm Technologies, Inc
634	  SM6350 devices.
635	  Say Y if you want to support display devices and functionality such as
636	  splash screen.
637
638config SM_GCC_6115
639	tristate "SM6115 and SM4250 Global Clock Controller"
640	help
641	  Support for the global clock controller on SM6115 and SM4250 devices.
642	  Say Y if you want to use peripheral devices such as UART, SPI,
643	  i2C, USB, UFS, SDDC, PCIe, etc.
644
645config SM_GCC_6125
646	tristate "SM6125 Global Clock Controller"
647	help
648	  Support for the global clock controller on SM6125 devices.
649	  Say Y if you want to use peripheral devices such as UART,
650	  SPI, I2C, USB, SD/UFS, PCIe etc.
651
652config SM_GCC_6350
653	tristate "SM6350 Global Clock Controller"
654	select QCOM_GDSC
655	help
656	  Support for the global clock controller on SM6350 devices.
657	  Say Y if you want to use peripheral devices such as UART,
658	  SPI, I2C, USB, SD/UFS, PCIe etc.
659
660config SM_GCC_8150
661	tristate "SM8150 Global Clock Controller"
662	help
663	  Support for the global clock controller on SM8150 devices.
664	  Say Y if you want to use peripheral devices such as UART,
665	  SPI, I2C, USB, SD/UFS, PCIe etc.
666
667config SM_GCC_8250
668	tristate "SM8250 Global Clock Controller"
669	select QCOM_GDSC
670	help
671	  Support for the global clock controller on SM8250 devices.
672	  Say Y if you want to use peripheral devices such as UART,
673	  SPI, I2C, USB, SD/UFS, PCIe etc.
674
675config SM_GCC_8350
676	tristate "SM8350 Global Clock Controller"
677	select QCOM_GDSC
678	help
679	  Support for the global clock controller on SM8350 devices.
680	  Say Y if you want to use peripheral devices such as UART,
681	  SPI, I2C, USB, SD/UFS, PCIe etc.
682
683config SM_GCC_8450
684	tristate "SM8450 Global Clock Controller"
685	select QCOM_GDSC
686	help
687	  Support for the global clock controller on SM8450 devices.
688	  Say Y if you want to use peripheral devices such as UART,
689	  SPI, I2C, USB, SD/UFS, PCIe etc.
690
691config SM_GPUCC_6350
692	tristate "SM6350 Graphics Clock Controller"
693	select SM_GCC_6350
694	help
695	  Support for the graphics clock controller on SM6350 devices.
696	  Say Y if you want to support graphics controller devices and
697	  functionality such as 3D graphics.
698
699config SM_GPUCC_8150
700	tristate "SM8150 Graphics Clock Controller"
701	select SM_GCC_8150
702	help
703	  Support for the graphics clock controller on SM8150 devices.
704	  Say Y if you want to support graphics controller devices and
705	  functionality such as 3D graphics.
706
707config SM_GPUCC_8250
708	tristate "SM8250 Graphics Clock Controller"
709	select SM_GCC_8250
710	help
711	  Support for the graphics clock controller on SM8250 devices.
712	  Say Y if you want to support graphics controller devices and
713	  functionality such as 3D graphics.
714
715config SM_VIDEOCC_8150
716	tristate "SM8150 Video Clock Controller"
717	select SM_GCC_8150
718	select QCOM_GDSC
719	help
720	  Support for the video clock controller on SM8150 devices.
721	  Say Y if you want to support video devices and functionality such as
722	  video encode and decode.
723
724config SM_VIDEOCC_8250
725	tristate "SM8250 Video Clock Controller"
726	select SM_GCC_8250
727	select QCOM_GDSC
728	help
729	  Support for the video clock controller on SM8250 devices.
730	  Say Y if you want to support video devices and functionality such as
731	  video encode and decode.
732
733config SPMI_PMIC_CLKDIV
734	tristate "SPMI PMIC clkdiv Support"
735	depends on SPMI || COMPILE_TEST
736	help
737	  This driver supports the clkdiv functionality on the Qualcomm
738	  Technologies, Inc. SPMI PMIC. It configures the frequency of
739	  clkdiv outputs of the PMIC. These clocks are typically wired
740	  through alternate functions on GPIO pins.
741
742config QCOM_HFPLL
743	tristate "High-Frequency PLL (HFPLL) Clock Controller"
744	help
745	  Support for the high-frequency PLLs present on Qualcomm devices.
746	  Say Y if you want to support CPU frequency scaling on devices
747	  such as MSM8974, APQ8084, etc.
748
749config KPSS_XCC
750	tristate "KPSS Clock Controller"
751	help
752	  Support for the Krait ACC and GCC clock controllers. Say Y
753	  if you want to support CPU frequency scaling on devices such
754	  as MSM8960, APQ8064, etc.
755
756config KRAITCC
757	tristate "Krait Clock Controller"
758	depends on ARM
759	select KRAIT_CLOCKS
760	help
761	  Support for the Krait CPU clocks on Qualcomm devices.
762	  Say Y if you want to support CPU frequency scaling.
763
764config CLK_GFM_LPASS_SM8250
765	tristate "SM8250 GFM LPASS Clocks"
766	help
767	  Support for the Glitch Free Mux (GFM) Low power audio
768          subsystem (LPASS) clocks found on SM8250 SoCs.
769
770endif
771