xref: /openbmc/linux/drivers/clk/qcom/Kconfig (revision d3402925)
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	select QCOM_GDSC
170	help
171	  Support for global clock controller on ipq8074 devices.
172	  Say Y if you want to use peripheral devices such as UART, SPI,
173	  i2c, USB, SD/eMMC, etc. Select this for the root clock
174	  of ipq8074.
175
176config MSM_GCC_8660
177	tristate "MSM8660 Global Clock Controller"
178	help
179	  Support for the global clock controller on msm8660 devices.
180	  Say Y if you want to use peripheral devices such as UART, SPI,
181	  i2c, USB, SD/eMMC, etc.
182
183config MSM_GCC_8909
184	tristate "MSM8909 Global Clock Controller"
185	select QCOM_GDSC
186	help
187	  Support for the global clock controller on msm8909 devices.
188	  Say Y if you want to use devices such as UART, SPI, I2C, USB,
189	  SD/eMMC, display, graphics, camera etc.
190
191config MSM_GCC_8916
192	tristate "MSM8916 Global Clock Controller"
193	select QCOM_GDSC
194	help
195	  Support for the global clock controller on msm8916 devices.
196	  Say Y if you want to use devices such as UART, SPI i2c, USB,
197	  SD/eMMC, display, graphics, camera etc.
198
199config MSM_GCC_8939
200	tristate "MSM8939 Global Clock Controller"
201	select QCOM_GDSC
202	help
203	  Support for the global clock controller on msm8939 devices.
204	  Say Y if you want to use devices such as UART, SPI i2c, USB,
205	  SD/eMMC, display, graphics, camera etc.
206
207config MSM_GCC_8960
208	tristate "APQ8064/MSM8960 Global Clock Controller"
209	help
210	  Support for the global clock controller on apq8064/msm8960 devices.
211	  Say Y if you want to use peripheral devices such as UART, SPI,
212	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
213
214config MSM_LCC_8960
215	tristate "APQ8064/MSM8960 LPASS Clock Controller"
216	select MSM_GCC_8960
217	help
218	  Support for the LPASS clock controller on apq8064/msm8960 devices.
219	  Say Y if you want to use audio devices such as i2s, pcm,
220	  SLIMBus, etc.
221
222config MDM_GCC_9607
223	tristate "MDM9607 Global Clock Controller"
224	help
225	  Support for the global clock controller on mdm9607 devices.
226	  Say Y if you want to use peripheral devices such as UART, SPI,
227	  I2C, USB, SD/eMMC, etc.
228
229config MDM_GCC_9615
230	tristate "MDM9615 Global Clock Controller"
231	help
232	  Support for the global clock controller on mdm9615 devices.
233	  Say Y if you want to use peripheral devices such as UART, SPI,
234	  i2c, USB, SD/eMMC, etc.
235
236config MDM_LCC_9615
237	tristate "MDM9615 LPASS Clock Controller"
238	select MDM_GCC_9615
239	help
240	  Support for the LPASS clock controller on mdm9615 devices.
241	  Say Y if you want to use audio devices such as i2s, pcm,
242	  SLIMBus, etc.
243
244config MSM_MMCC_8960
245	tristate "MSM8960 Multimedia Clock Controller"
246	select MSM_GCC_8960
247	help
248	  Support for the multimedia clock controller on msm8960 devices.
249	  Say Y if you want to support multimedia devices such as display,
250	  graphics, video encode/decode, camera, etc.
251
252config MSM_GCC_8953
253	tristate "MSM8953 Global Clock Controller"
254	select QCOM_GDSC
255	help
256	  Support for the global clock controller on msm8953 devices.
257	  Say Y if you want to use devices such as UART, SPI i2c, USB,
258	  SD/eMMC, display, graphics, camera etc.
259
260config MSM_GCC_8974
261	tristate "MSM8974 Global Clock Controller"
262	select QCOM_GDSC
263	help
264	  Support for the global clock controller on msm8974 devices.
265	  Say Y if you want to use peripheral devices such as UART, SPI,
266	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
267
268config MSM_MMCC_8974
269	tristate "MSM8974 Multimedia Clock Controller"
270	select MSM_GCC_8974
271	select QCOM_GDSC
272	help
273	  Support for the multimedia clock controller on msm8974 devices.
274	  Say Y if you want to support multimedia devices such as display,
275	  graphics, video encode/decode, camera, etc.
276
277config MSM_GCC_8976
278	tristate "MSM8956/76 Global Clock Controller"
279	select QCOM_GDSC
280	help
281	  Support for the global clock controller on msm8956/76 devices.
282	  Say Y if you want to use peripheral devices such as UART, SPI,
283	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
284
285config MSM_MMCC_8994
286	tristate "MSM8994 Multimedia Clock Controller"
287	select MSM_GCC_8994
288	select QCOM_GDSC
289	help
290	  Support for the multimedia clock controller on msm8994 devices.
291	  Say Y if you want to support multimedia devices such as display,
292	  graphics, video encode/decode, camera, etc.
293
294config MSM_GCC_8994
295	tristate "MSM8994 Global Clock Controller"
296	help
297	  Support for the global clock controller on msm8994 devices.
298	  Say Y if you want to use peripheral devices such as UART, SPI,
299	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
300
301config MSM_GCC_8996
302	tristate "MSM8996 Global Clock Controller"
303	select QCOM_GDSC
304	help
305	  Support for the global clock controller on msm8996 devices.
306	  Say Y if you want to use peripheral devices such as UART, SPI,
307	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
308
309config MSM_MMCC_8996
310	tristate "MSM8996 Multimedia Clock Controller"
311	select MSM_GCC_8996
312	select QCOM_GDSC
313	help
314	  Support for the multimedia clock controller on msm8996 devices.
315	  Say Y if you want to support multimedia devices such as display,
316	  graphics, video encode/decode, camera, etc.
317
318config MSM_GCC_8998
319	tristate "MSM8998 Global Clock Controller"
320	select QCOM_GDSC
321	help
322	  Support for the global clock controller on msm8998 devices.
323	  Say Y if you want to use peripheral devices such as UART, SPI,
324	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
325
326config MSM_GPUCC_8998
327	tristate "MSM8998 Graphics Clock Controller"
328	select MSM_GCC_8998
329	select QCOM_GDSC
330	help
331	  Support for the graphics clock controller on MSM8998 devices.
332	  Say Y if you want to support graphics controller devices and
333	  functionality such as 3D graphics.
334
335config MSM_MMCC_8998
336	tristate "MSM8998 Multimedia Clock Controller"
337	select MSM_GCC_8998
338	select QCOM_GDSC
339	help
340	  Support for the multimedia clock controller on msm8998 devices.
341	  Say Y if you want to support multimedia devices such as display,
342	  graphics, video encode/decode, camera, etc.
343
344config QCM_GCC_2290
345	tristate "QCM2290 Global Clock Controller"
346	select QCOM_GDSC
347	help
348	  Support for the global clock controller on QCM2290 devices.
349	  Say Y if you want to use multimedia devices or peripheral
350	  devices such as UART, SPI, I2C, USB, SD/eMMC etc.
351
352config QCM_DISPCC_2290
353	tristate "QCM2290 Display Clock Controller"
354	select QCM_GCC_2290
355	help
356	  Support for the display clock controller on Qualcomm Technologies, Inc
357	  QCM2290 devices.
358	  Say Y if you want to support display devices and functionality such as
359	  splash screen.
360
361config QCS_GCC_404
362	tristate "QCS404 Global Clock Controller"
363	help
364	  Support for the global clock controller on QCS404 devices.
365	  Say Y if you want to use multimedia devices or peripheral
366	  devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc.
367
368config SC_CAMCC_7180
369	tristate "SC7180 Camera Clock Controller"
370	select SC_GCC_7180
371	help
372	  Support for the camera clock controller on Qualcomm Technologies, Inc
373	  SC7180 devices.
374	  Say Y if you want to support camera devices and functionality such as
375	  capturing pictures.
376
377config SC_CAMCC_7280
378	tristate "SC7280 Camera Clock Controller"
379	select SC_GCC_7280
380	help
381	  Support for the camera clock controller on Qualcomm Technologies, Inc
382	  SC7280 devices.
383	  Say Y if you want to support camera devices and functionality such as
384	  capturing pictures.
385
386config SC_DISPCC_7180
387	tristate "SC7180 Display Clock Controller"
388	select SC_GCC_7180
389	help
390	  Support for the display clock controller on Qualcomm Technologies, Inc
391	  SC7180 devices.
392	  Say Y if you want to support display devices and functionality such as
393	  splash screen.
394
395config SC_DISPCC_7280
396	tristate "SC7280 Display Clock Controller"
397	select SC_GCC_7280
398	help
399	  Support for the display clock controller on Qualcomm Technologies, Inc.
400	  SC7280 devices.
401	  Say Y if you want to support display devices and functionality such as
402	  splash screen.
403
404config SC_DISPCC_8280XP
405	tristate "SC8280XP Display Clock Controller"
406	select SC_GCC_8280XP
407	help
408	  Support for the two display clock controllers on Qualcomm
409	  Technologies, Inc. SC8280XP devices.
410	  Say Y if you want to support display devices and functionality such as
411	  splash screen.
412
413config SA_GCC_8775P
414	tristate "SA8775 Global Clock Controller"
415	select QCOM_GDSC
416	depends on COMMON_CLK_QCOM
417	help
418	  Support for the global clock controller on SA8775 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_7180
423	tristate "SC7180 Global Clock Controller"
424	select QCOM_GDSC
425	depends on COMMON_CLK_QCOM
426	help
427	  Support for the global clock controller on SC7180 devices.
428	  Say Y if you want to use peripheral devices such as UART, SPI,
429	  I2C, USB, UFS, SDCC, etc.
430
431config SC_GCC_7280
432	tristate "SC7280 Global Clock Controller"
433	select QCOM_GDSC
434	depends on COMMON_CLK_QCOM
435	help
436	  Support for the global clock controller on SC7280 devices.
437	  Say Y if you want to use peripheral devices such as UART, SPI,
438	  I2C, USB, UFS, SDCC, PCIe etc.
439
440config SC_GCC_8180X
441	tristate "SC8180X Global Clock Controller"
442	select QCOM_GDSC
443	depends on COMMON_CLK_QCOM
444	help
445	  Support for the global clock controller on SC8180X devices.
446	  Say Y if you want to use peripheral devices such as UART, SPI,
447	  I2C, USB, UFS, SDCC, etc.
448
449config SC_GCC_8280XP
450	tristate "SC8280XP Global Clock Controller"
451	select QCOM_GDSC
452	depends on COMMON_CLK_QCOM
453	help
454	  Support for the global clock controller on SC8280XP devices.
455	  Say Y if you want to use peripheral devices such as UART, SPI,
456	  I2C, USB, UFS, SDCC, etc.
457
458config SC_GPUCC_7180
459	tristate "SC7180 Graphics Clock Controller"
460	select SC_GCC_7180
461	help
462	  Support for the graphics clock controller on SC7180 devices.
463	  Say Y if you want to support graphics controller devices and
464	  functionality such as 3D graphics.
465
466config SC_GPUCC_7280
467	tristate "SC7280 Graphics Clock Controller"
468	select SC_GCC_7280
469	help
470	  Support for the graphics clock controller on SC7280 devices.
471	  Say Y if you want to support graphics controller devices and
472	  functionality such as 3D graphics.
473
474config SC_GPUCC_8280XP
475	tristate "SC8280XP Graphics Clock Controller"
476	select SC_GCC_8280XP
477	help
478	  Support for the graphics clock controller on SC8280XP devices.
479	  Say Y if you want to support graphics controller devices and
480	  functionality such as 3D graphics.
481
482config SC_LPASSCC_7280
483	tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller"
484	select SC_GCC_7280
485	help
486	  Support for the LPASS clock controller on SC7280 devices.
487	  Say Y if you want to use the LPASS branch clocks of the LPASS clock
488	  controller to reset the LPASS subsystem.
489
490config SC_LPASS_CORECC_7180
491	tristate "SC7180 LPASS Core Clock Controller"
492	select SC_GCC_7180
493	help
494	  Support for the LPASS(Low Power Audio Subsystem) core clock controller
495	  on SC7180 devices.
496	  Say Y if you want to use LPASS clocks and power domains of the LPASS
497	  core clock controller.
498
499config SC_LPASS_CORECC_7280
500	tristate "SC7280 LPASS Core & Audio Clock Controller"
501	select SC_GCC_7280
502	select QCOM_GDSC
503	help
504	  Support for the LPASS(Low Power Audio Subsystem) core and audio clock
505	  controller on SC7280 devices.
506	  Say Y if you want to use LPASS clocks and power domains of the LPASS
507	  core clock controller.
508
509config SC_MSS_7180
510	tristate "SC7180 Modem Clock Controller"
511	select SC_GCC_7180
512	help
513	  Support for the Modem Subsystem clock controller on Qualcomm
514	  Technologies, Inc on SC7180 devices.
515	  Say Y if you want to use the Modem branch clocks of the Modem
516	  subsystem clock controller to reset the MSS subsystem.
517
518config SC_VIDEOCC_7180
519	tristate "SC7180 Video Clock Controller"
520	select SC_GCC_7180
521	help
522	  Support for the video clock controller on SC7180 devices.
523	  Say Y if you want to support video devices and functionality such as
524	  video encode and decode.
525
526config SC_VIDEOCC_7280
527	tristate "SC7280 Video Clock Controller"
528	select SC_GCC_7280
529	help
530	  Support for the video clock controller on SC7280 devices.
531	  Say Y if you want to support video devices and functionality such as
532	  video encode and decode.
533
534config SDM_CAMCC_845
535	tristate "SDM845 Camera Clock Controller"
536	select SDM_GCC_845
537	help
538	  Support for the camera clock controller on SDM845 devices.
539	  Say Y if you want to support camera devices and camera functionality.
540
541config SDM_GCC_660
542	tristate "SDM660 Global Clock Controller"
543	select QCOM_GDSC
544	help
545	  Support for the global clock controller on SDM660 devices.
546	  Say Y if you want to use peripheral devices such as UART, SPI,
547	  i2C, USB, UFS, SDDC, PCIe, etc.
548
549config SDM_MMCC_660
550	tristate "SDM660 Multimedia Clock Controller"
551	select SDM_GCC_660
552	select QCOM_GDSC
553	help
554	  Support for the multimedia clock controller on SDM660 devices.
555	  Say Y if you want to support multimedia devices such as display,
556	  graphics, video encode/decode, camera, etc.
557
558config SDM_GPUCC_660
559	tristate "SDM660 Graphics Clock Controller"
560	select SDM_GCC_660
561	select QCOM_GDSC
562	help
563	  Support for the graphics clock controller on SDM630/636/660 devices.
564	  Say Y if you want to support graphics controller devices and
565	  functionality such as 3D graphics
566
567config QCS_TURING_404
568	tristate "QCS404 Turing Clock Controller"
569	help
570	  Support for the Turing Clock Controller on QCS404, provides clocks
571	  and resets for the Turing subsystem.
572
573config QCS_Q6SSTOP_404
574	tristate "QCS404 Q6SSTOP Clock Controller"
575	select QCS_GCC_404
576	help
577	  Support for the Q6SSTOP clock controller on QCS404 devices.
578	  Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock
579	  controller to reset the Q6SSTOP subsystem.
580
581config QDU_GCC_1000
582	tristate "QDU1000/QRU1000 Global Clock Controller"
583	select QCOM_GDSC
584	help
585	  Support for the global clock controller on QDU1000 and
586	  QRU1000 devices. Say Y if you want to use peripheral
587	  devices such as UART, SPI, I2C, USB, SD, PCIe, etc.
588
589config SDM_GCC_845
590	tristate "SDM845/SDM670 Global Clock Controller"
591	select QCOM_GDSC
592	help
593	  Support for the global clock controller on SDM845 and SDM670 devices.
594	  Say Y if you want to use peripheral devices such as UART, SPI,
595	  i2C, USB, UFS, SDDC, PCIe, etc.
596
597config SDM_GPUCC_845
598	tristate "SDM845 Graphics Clock Controller"
599	select SDM_GCC_845
600	help
601	  Support for the graphics clock controller on SDM845 devices.
602	  Say Y if you want to support graphics controller devices and
603	  functionality such as 3D graphics.
604
605config SDM_VIDEOCC_845
606	tristate "SDM845 Video Clock Controller"
607	select SDM_GCC_845
608	select QCOM_GDSC
609	help
610	  Support for the video clock controller on SDM845 devices.
611	  Say Y if you want to support video devices and functionality such as
612	  video encode and decode.
613
614config SDM_DISPCC_845
615	tristate "SDM845 Display Clock Controller"
616	select SDM_GCC_845
617	help
618	  Support for the display clock controller on Qualcomm Technologies, Inc
619	  SDM845 devices.
620	  Say Y if you want to support display devices and functionality such as
621	  splash screen.
622
623config SDM_LPASSCC_845
624	tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
625	select SDM_GCC_845
626	help
627	  Support for the LPASS clock controller on SDM845 devices.
628	  Say Y if you want to use the LPASS branch clocks of the LPASS clock
629	  controller to reset the LPASS subsystem.
630
631config SDX_GCC_55
632	tristate "SDX55 Global Clock Controller"
633	select QCOM_GDSC
634	help
635	  Support for the global clock controller on SDX55 devices.
636	  Say Y if you want to use peripheral devices such as UART,
637	  SPI, I2C, USB, SD/UFS, PCIe etc.
638
639config SDX_GCC_65
640	tristate "SDX65 Global Clock Controller"
641	select QCOM_GDSC
642	help
643	  Support for the global clock controller on SDX65 devices.
644	  Say Y if you want to use peripheral devices such as UART,
645	  SPI, I2C, USB, SD/UFS, PCIe etc.
646
647config SM_CAMCC_6350
648	tristate "SM6350 Camera Clock Controller"
649	select SM_GCC_6350
650	help
651	  Support for the camera clock controller on SM6350 devices.
652	  Say Y if you want to support camera devices and camera functionality.
653
654config SM_CAMCC_8250
655	tristate "SM8250 Camera Clock Controller"
656	select SM_GCC_8250
657	help
658	  Support for the camera clock controller on SM8250 devices.
659	  Say Y if you want to support camera devices and camera functionality.
660
661config SM_CAMCC_8450
662	tristate "SM8450 Camera Clock Controller"
663	select SM_GCC_8450
664	help
665	  Support for the camera clock controller on SM8450 devices.
666	  Say Y if you want to support camera devices and camera functionality.
667
668config SM_DISPCC_6115
669	tristate "SM6115 Display Clock Controller"
670	depends on SM_GCC_6115
671	help
672	  Support for the display clock controller on Qualcomm Technologies, Inc
673	  SM6115/SM4250 devices.
674	  Say Y if you want to support display devices and functionality such as
675	  splash screen
676
677config SM_DISPCC_6125
678	tristate "SM6125 Display Clock Controller"
679	depends on SM_GCC_6125
680	help
681	  Support for the display clock controller on Qualcomm Technologies, Inc
682	  SM6125 devices.
683	  Say Y if you want to support display devices and functionality such as
684	  splash screen
685
686config SM_DISPCC_8250
687	tristate "SM8150/SM8250/SM8350 Display Clock Controller"
688	depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350
689	help
690	  Support for the display clock controller on Qualcomm Technologies, Inc
691	  SM8150/SM8250/SM8350 devices.
692	  Say Y if you want to support display devices and functionality such as
693	  splash screen.
694
695config SM_DISPCC_6350
696	tristate "SM6350 Display Clock Controller"
697	depends on SM_GCC_6350
698	help
699	  Support for the display clock controller on Qualcomm Technologies, Inc
700	  SM6350 devices.
701	  Say Y if you want to support display devices and functionality such as
702	  splash screen.
703
704config SM_DISPCC_6375
705	tristate "SM6375 Display Clock Controller"
706	depends on SM_GCC_6375
707	help
708	  Support for the display clock controller on Qualcomm Technologies, Inc
709	  SM6375 devices.
710	  Say Y if you want to support display devices and functionality such as
711	  splash screen.
712
713config SM_DISPCC_8450
714	tristate "SM8450 Display Clock Controller"
715	depends on SM_GCC_8450
716	help
717	  Support for the display clock controller on Qualcomm Technologies, Inc
718	  SM8450 devices.
719	  Say Y if you want to support display devices and functionality such as
720	  splash screen.
721
722config SM_DISPCC_8550
723	tristate "SM8550 Display Clock Controller"
724	depends on SM_GCC_8550
725	help
726	  Support for the display clock controller on Qualcomm Technologies, Inc
727	  SM8550 devices.
728	  Say Y if you want to support display devices and functionality such as
729	  splash screen.
730
731config SM_GCC_6115
732	tristate "SM6115 and SM4250 Global Clock Controller"
733	select QCOM_GDSC
734	help
735	  Support for the global clock controller on SM6115 and SM4250 devices.
736	  Say Y if you want to use peripheral devices such as UART, SPI,
737	  i2C, USB, UFS, SDDC, PCIe, etc.
738
739config SM_GCC_6125
740	tristate "SM6125 Global Clock Controller"
741	help
742	  Support for the global clock controller on SM6125 devices.
743	  Say Y if you want to use peripheral devices such as UART,
744	  SPI, I2C, USB, SD/UFS, PCIe etc.
745
746config SM_GCC_6350
747	tristate "SM6350 Global Clock Controller"
748	select QCOM_GDSC
749	help
750	  Support for the global clock controller on SM6350 devices.
751	  Say Y if you want to use peripheral devices such as UART,
752	  SPI, I2C, USB, SD/UFS, PCIe etc.
753
754config SM_GCC_6375
755	tristate "SM6375 Global Clock Controller"
756	select QCOM_GDSC
757	help
758	  Support for the global clock controller on SM6375 devices.
759	  Say Y if you want to use peripheral devices such as UART,
760	  SPI, I2C, USB, SD/UFS etc.
761
762config SM_GCC_8150
763	tristate "SM8150 Global Clock Controller"
764	help
765	  Support for the global clock controller on SM8150 devices.
766	  Say Y if you want to use peripheral devices such as UART,
767	  SPI, I2C, USB, SD/UFS, PCIe etc.
768
769config SM_GCC_8250
770	tristate "SM8250 Global Clock Controller"
771	select QCOM_GDSC
772	help
773	  Support for the global clock controller on SM8250 devices.
774	  Say Y if you want to use peripheral devices such as UART,
775	  SPI, I2C, USB, SD/UFS, PCIe etc.
776
777config SM_GCC_8350
778	tristate "SM8350 Global Clock Controller"
779	select QCOM_GDSC
780	help
781	  Support for the global clock controller on SM8350 devices.
782	  Say Y if you want to use peripheral devices such as UART,
783	  SPI, I2C, USB, SD/UFS, PCIe etc.
784
785config SM_GCC_8450
786	tristate "SM8450 Global Clock Controller"
787	select QCOM_GDSC
788	help
789	  Support for the global clock controller on SM8450 devices.
790	  Say Y if you want to use peripheral devices such as UART,
791	  SPI, I2C, USB, SD/UFS, PCIe etc.
792
793config SM_GCC_8550
794	tristate "SM8550 Global Clock Controller"
795	select QCOM_GDSC
796	help
797	  Support for the global clock controller on SM8550 devices.
798	  Say Y if you want to use peripheral devices such as UART,
799	  SPI, I2C, USB, SD/UFS, PCIe etc.
800
801config SM_GPUCC_6350
802	tristate "SM6350 Graphics Clock Controller"
803	select SM_GCC_6350
804	help
805	  Support for the graphics clock controller on SM6350 devices.
806	  Say Y if you want to support graphics controller devices and
807	  functionality such as 3D graphics.
808
809config SM_GPUCC_8150
810	tristate "SM8150 Graphics Clock Controller"
811	select SM_GCC_8150
812	help
813	  Support for the graphics clock controller on SM8150 devices.
814	  Say Y if you want to support graphics controller devices and
815	  functionality such as 3D graphics.
816
817config SM_GPUCC_8250
818	tristate "SM8250 Graphics Clock Controller"
819	select SM_GCC_8250
820	help
821	  Support for the graphics clock controller on SM8250 devices.
822	  Say Y if you want to support graphics controller devices and
823	  functionality such as 3D graphics.
824
825config SM_GPUCC_8350
826	tristate "SM8350 Graphics Clock Controller"
827	select SM_GCC_8350
828	help
829	  Support for the graphics clock controller on SM8350 devices.
830	  Say Y if you want to support graphics controller devices and
831	  functionality such as 3D graphics.
832
833config SM_TCSRCC_8550
834	tristate "SM8550 TCSR Clock Controller"
835	select QCOM_GDSC
836	help
837	  Support for the TCSR clock controller on SM8550 devices.
838	  Say Y if you want to use peripheral devices such as SD/UFS.
839
840config SM_VIDEOCC_8150
841	tristate "SM8150 Video Clock Controller"
842	select SM_GCC_8150
843	select QCOM_GDSC
844	help
845	  Support for the video clock controller on SM8150 devices.
846	  Say Y if you want to support video devices and functionality such as
847	  video encode and decode.
848
849config SM_VIDEOCC_8250
850	tristate "SM8250 Video Clock Controller"
851	select SM_GCC_8250
852	select QCOM_GDSC
853	help
854	  Support for the video clock controller on SM8250 devices.
855	  Say Y if you want to support video devices and functionality such as
856	  video encode and decode.
857
858config SPMI_PMIC_CLKDIV
859	tristate "SPMI PMIC clkdiv Support"
860	depends on SPMI || COMPILE_TEST
861	help
862	  This driver supports the clkdiv functionality on the Qualcomm
863	  Technologies, Inc. SPMI PMIC. It configures the frequency of
864	  clkdiv outputs of the PMIC. These clocks are typically wired
865	  through alternate functions on GPIO pins.
866
867config QCOM_HFPLL
868	tristate "High-Frequency PLL (HFPLL) Clock Controller"
869	help
870	  Support for the high-frequency PLLs present on Qualcomm devices.
871	  Say Y if you want to support CPU frequency scaling on devices
872	  such as MSM8974, APQ8084, etc.
873
874config KPSS_XCC
875	tristate "KPSS Clock Controller"
876	help
877	  Support for the Krait ACC and GCC clock controllers. Say Y
878	  if you want to support CPU frequency scaling on devices such
879	  as MSM8960, APQ8064, etc.
880
881config KRAITCC
882	tristate "Krait Clock Controller"
883	depends on ARM
884	select KRAIT_CLOCKS
885	help
886	  Support for the Krait CPU clocks on Qualcomm devices.
887	  Say Y if you want to support CPU frequency scaling.
888
889config CLK_GFM_LPASS_SM8250
890	tristate "SM8250 GFM LPASS Clocks"
891	help
892	  Support for the Glitch Free Mux (GFM) Low power audio
893          subsystem (LPASS) clocks found on SM8250 SoCs.
894
895endif
896