xref: /linux/drivers/clk/qcom/Kconfig (revision 7c7e33b799ac169e5fab8abfc6819fce8b26d53d)
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	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
58config 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
68config 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
81config 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
94config 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
103config 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
112config 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
122config 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
130config IPQ_APSS_6018
131	tristate "IPQ APSS Clock Controller"
132	select IPQ_APSS_PLL
133	depends on QCOM_APCS_IPC || COMPILE_TEST
134	help
135	  Support for APSS clock controller on IPQ platforms. The
136	  APSS clock controller manages the Mux and enable block that feeds the
137	  CPUs.
138	  Say Y if you want to support CPU frequency scaling on
139	  ipq based devices.
140
141config IPQ_GCC_4019
142	tristate "IPQ4019 Global Clock Controller"
143	help
144	  Support for the global clock controller on ipq4019 devices.
145	  Say Y if you want to use peripheral devices such as UART, SPI,
146	  i2c, USB, SD/eMMC, etc.
147
148config IPQ_GCC_5332
149	tristate "IPQ5332 Global Clock Controller"
150	depends on ARM64 || COMPILE_TEST
151	help
152	  Support for the global clock controller on ipq5332 devices.
153	  Say Y if you want to use peripheral devices such as UART, SPI,
154	  i2c, USB, SD/eMMC, etc.
155
156config IPQ_GCC_6018
157	tristate "IPQ6018 Global Clock Controller"
158	help
159	  Support for global clock controller on ipq6018 devices.
160	  Say Y if you want to use peripheral devices such as UART, SPI,
161	  i2c, USB, SD/eMMC, etc. Select this for the root clock
162	  of ipq6018.
163
164config IPQ_GCC_806X
165	tristate "IPQ806x Global Clock Controller"
166	depends on ARM || COMPILE_TEST
167	help
168	  Support for the global clock controller on ipq806x devices.
169	  Say Y if you want to use peripheral devices such as UART, SPI,
170	  i2c, USB, SD/eMMC, etc.
171
172config IPQ_LCC_806X
173	tristate "IPQ806x LPASS Clock Controller"
174	depends on ARM || COMPILE_TEST
175	select IPQ_GCC_806X
176	help
177	  Support for the LPASS clock controller on ipq806x devices.
178	  Say Y if you want to use audio devices such as i2s, pcm,
179	  S/PDIF, etc.
180
181config IPQ_GCC_8074
182	tristate "IPQ8074 Global Clock Controller"
183	select QCOM_GDSC
184	help
185	  Support for global clock controller on ipq8074 devices.
186	  Say Y if you want to use peripheral devices such as UART, SPI,
187	  i2c, USB, SD/eMMC, etc. Select this for the root clock
188	  of ipq8074.
189
190config IPQ_GCC_9574
191	tristate "IPQ9574 Global Clock Controller"
192	help
193	  Support for global clock controller on ipq9574 devices.
194	  Say Y if you want to use peripheral devices such as UART, SPI,
195	  i2c, USB, SD/eMMC, etc. Select this for the root clock
196	  of ipq9574.
197
198config MSM_GCC_8660
199	tristate "MSM8660 Global Clock Controller"
200	depends on ARM || COMPILE_TEST
201	help
202	  Support for the global clock controller on msm8660 devices.
203	  Say Y if you want to use peripheral devices such as UART, SPI,
204	  i2c, USB, SD/eMMC, etc.
205
206config MSM_GCC_8909
207	tristate "MSM8909 Global Clock Controller"
208	depends on ARM || COMPILE_TEST
209	select QCOM_GDSC
210	help
211	  Support for the global clock controller on msm8909 devices.
212	  Say Y if you want to use devices such as UART, SPI, I2C, USB,
213	  SD/eMMC, display, graphics, camera etc.
214
215config MSM_GCC_8916
216	tristate "MSM8916 Global Clock Controller"
217	select QCOM_GDSC
218	help
219	  Support for the global clock controller on msm8916 devices.
220	  Say Y if you want to use devices such as UART, SPI i2c, USB,
221	  SD/eMMC, display, graphics, camera etc.
222
223config MSM_GCC_8917
224	tristate "MSM8917/QM215 Global Clock Controller"
225	depends on ARM64 || COMPILE_TEST
226	select QCOM_GDSC
227	help
228	  Support for the global clock controller on msm8917 and qm215
229	  devices.
230	  Say Y if you want to use devices such as UART, SPI i2c, USB,
231	  SD/eMMC, display, graphics, camera etc.
232
233config MSM_GCC_8939
234	tristate "MSM8939 Global Clock Controller"
235	select QCOM_GDSC
236	help
237	  Support for the global clock controller on msm8939 devices.
238	  Say Y if you want to use devices such as UART, SPI i2c, USB,
239	  SD/eMMC, display, graphics, camera etc.
240
241config MSM_GCC_8960
242	tristate "APQ8064/MSM8960 Global Clock Controller"
243	depends on ARM || COMPILE_TEST
244	help
245	  Support for the global clock controller on apq8064/msm8960 devices.
246	  Say Y if you want to use peripheral devices such as UART, SPI,
247	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
248
249config MSM_LCC_8960
250	tristate "APQ8064/MSM8960 LPASS Clock Controller"
251	depends on ARM || COMPILE_TEST
252	select MSM_GCC_8960
253	help
254	  Support for the LPASS clock controller on apq8064/msm8960 devices.
255	  Say Y if you want to use audio devices such as i2s, pcm,
256	  SLIMBus, etc.
257
258config MDM_GCC_9607
259	tristate "MDM9607 Global Clock Controller"
260	depends on ARM || COMPILE_TEST
261	help
262	  Support for the global clock controller on mdm9607 devices.
263	  Say Y if you want to use peripheral devices such as UART, SPI,
264	  I2C, USB, SD/eMMC, etc.
265
266config MDM_GCC_9615
267	tristate "MDM9615 Global Clock Controller"
268	depends on ARM || COMPILE_TEST
269	help
270	  Support for the global clock controller on mdm9615 devices.
271	  Say Y if you want to use peripheral devices such as UART, SPI,
272	  i2c, USB, SD/eMMC, etc.
273
274config MDM_LCC_9615
275	tristate "MDM9615 LPASS Clock Controller"
276	depends on ARM || COMPILE_TEST
277	select MDM_GCC_9615
278	help
279	  Support for the LPASS clock controller on mdm9615 devices.
280	  Say Y if you want to use audio devices such as i2s, pcm,
281	  SLIMBus, etc.
282
283config 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
292config 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
300config 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
309config 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
319config 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
327config 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
336config 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
343config 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
351config 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
360config 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
368config 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
377config 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
386config 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
394config 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
403config 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
410config 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
420config 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
430config 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
440config 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
450config 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
460config 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
469config 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
478config 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
488config 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
498config 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
508config 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
518config 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
527config 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
536config 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
545config 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
554config 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
563config 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
573config 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
584config 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
594config 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
603config 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
612config 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
620config 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
629config 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
639config 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
649config 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
655config 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
663config 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
671config 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
680config 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
689config 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
699config 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
709config 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
718config 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
727config 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
736config 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
744config 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
752config 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
760config 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
768config SM_DISPCC_6115
769	tristate "SM6115 Display Clock Controller"
770	depends on ARM64 || COMPILE_TEST
771	depends on SM_GCC_6115
772	help
773	  Support for the display clock controller on Qualcomm Technologies, Inc
774	  SM6115/SM4250 devices.
775	  Say Y if you want to support display devices and functionality such as
776	  splash screen
777
778config SM_DISPCC_6125
779	tristate "SM6125 Display Clock Controller"
780	depends on ARM64 || COMPILE_TEST
781	depends on SM_GCC_6125
782	help
783	  Support for the display clock controller on Qualcomm Technologies, Inc
784	  SM6125 devices.
785	  Say Y if you want to support display devices and functionality such as
786	  splash screen
787
788config SM_DISPCC_8250
789	tristate "SM8150/SM8250/SM8350 Display Clock Controller"
790	depends on ARM64 || COMPILE_TEST
791	depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350
792	help
793	  Support for the display clock controller on Qualcomm Technologies, Inc
794	  SM8150/SM8250/SM8350 devices.
795	  Say Y if you want to support display devices and functionality such as
796	  splash screen.
797
798config SM_DISPCC_6350
799	tristate "SM6350 Display Clock Controller"
800	depends on ARM64 || COMPILE_TEST
801	depends on SM_GCC_6350
802	help
803	  Support for the display clock controller on Qualcomm Technologies, Inc
804	  SM6350 devices.
805	  Say Y if you want to support display devices and functionality such as
806	  splash screen.
807
808config SM_DISPCC_6375
809	tristate "SM6375 Display Clock Controller"
810	depends on ARM64 || COMPILE_TEST
811	depends on SM_GCC_6375
812	help
813	  Support for the display clock controller on Qualcomm Technologies, Inc
814	  SM6375 devices.
815	  Say Y if you want to support display devices and functionality such as
816	  splash screen.
817
818config SM_DISPCC_8450
819	tristate "SM8450 Display Clock Controller"
820	depends on ARM64 || COMPILE_TEST
821	depends on SM_GCC_8450
822	help
823	  Support for the display clock controller on Qualcomm Technologies, Inc
824	  SM8450 devices.
825	  Say Y if you want to support display devices and functionality such as
826	  splash screen.
827
828config SM_DISPCC_8550
829	tristate "SM8550 Display Clock Controller"
830	depends on ARM64 || COMPILE_TEST
831	depends on SM_GCC_8550
832	help
833	  Support for the display clock controller on Qualcomm Technologies, Inc
834	  SM8550 devices.
835	  Say Y if you want to support display devices and functionality such as
836	  splash screen.
837
838config SM_GCC_6115
839	tristate "SM6115 and SM4250 Global Clock Controller"
840	depends on ARM64 || COMPILE_TEST
841	select QCOM_GDSC
842	help
843	  Support for the global clock controller on SM6115 and SM4250 devices.
844	  Say Y if you want to use peripheral devices such as UART, SPI,
845	  i2C, USB, UFS, SDDC, PCIe, etc.
846
847config SM_GCC_6125
848	tristate "SM6125 Global Clock Controller"
849	depends on ARM64 || COMPILE_TEST
850	help
851	  Support for the global clock controller on SM6125 devices.
852	  Say Y if you want to use peripheral devices such as UART,
853	  SPI, I2C, USB, SD/UFS, PCIe etc.
854
855config SM_GCC_6350
856	tristate "SM6350 Global Clock Controller"
857	depends on ARM64 || COMPILE_TEST
858	select QCOM_GDSC
859	help
860	  Support for the global clock controller on SM6350 devices.
861	  Say Y if you want to use peripheral devices such as UART,
862	  SPI, I2C, USB, SD/UFS, PCIe etc.
863
864config SM_GCC_6375
865	tristate "SM6375 Global Clock Controller"
866	depends on ARM64 || COMPILE_TEST
867	select QCOM_GDSC
868	help
869	  Support for the global clock controller on SM6375 devices.
870	  Say Y if you want to use peripheral devices such as UART,
871	  SPI, I2C, USB, SD/UFS etc.
872
873config SM_GCC_7150
874	tristate "SM7150 Global Clock Controller"
875	select QCOM_GDSC
876	help
877	  Support for the global clock controller on SM7150 devices.
878	  Say Y if you want to use peripheral devices such as UART,
879	  SPI, I2C, USB, SD/UFS, PCIe etc.
880
881config SM_GCC_8150
882	tristate "SM8150 Global Clock Controller"
883	depends on ARM64 || COMPILE_TEST
884	help
885	  Support for the global clock controller on SM8150 devices.
886	  Say Y if you want to use peripheral devices such as UART,
887	  SPI, I2C, USB, SD/UFS, PCIe etc.
888
889config SM_GCC_8250
890	tristate "SM8250 Global Clock Controller"
891	depends on ARM64 || COMPILE_TEST
892	select QCOM_GDSC
893	help
894	  Support for the global clock controller on SM8250 devices.
895	  Say Y if you want to use peripheral devices such as UART,
896	  SPI, I2C, USB, SD/UFS, PCIe etc.
897
898config SM_GCC_8350
899	tristate "SM8350 Global Clock Controller"
900	depends on ARM64 || COMPILE_TEST
901	select QCOM_GDSC
902	help
903	  Support for the global clock controller on SM8350 devices.
904	  Say Y if you want to use peripheral devices such as UART,
905	  SPI, I2C, USB, SD/UFS, PCIe etc.
906
907config SM_GCC_8450
908	tristate "SM8450 Global Clock Controller"
909	depends on ARM64 || COMPILE_TEST
910	select QCOM_GDSC
911	help
912	  Support for the global clock controller on SM8450 devices.
913	  Say Y if you want to use peripheral devices such as UART,
914	  SPI, I2C, USB, SD/UFS, PCIe etc.
915
916config SM_GCC_8550
917	tristate "SM8550 Global Clock Controller"
918	depends on ARM64 || COMPILE_TEST
919	select QCOM_GDSC
920	help
921	  Support for the global clock controller on SM8550 devices.
922	  Say Y if you want to use peripheral devices such as UART,
923	  SPI, I2C, USB, SD/UFS, PCIe etc.
924
925config SM_GPUCC_6115
926	tristate "SM6115 Graphics Clock Controller"
927	select SM_GCC_6115
928	depends on ARM64 || COMPILE_TEST
929	help
930	  Support for the graphics clock controller on SM6115 devices.
931	  Say Y if you want to support graphics controller devices and
932	  functionality such as 3D graphics.
933
934config SM_GPUCC_6125
935	tristate "SM6125 Graphics Clock Controller"
936	select SM_GCC_6125
937	depends on ARM64 || COMPILE_TEST
938	help
939	  Support for the graphics clock controller on SM6125 devices.
940	  Say Y if you want to support graphics controller devices and
941	  functionality such as 3D graphics.
942
943config SM_GPUCC_6375
944	tristate "SM6375 Graphics Clock Controller"
945	select SM_GCC_6375
946	depends on ARM64 || COMPILE_TEST
947	help
948	  Support for the graphics clock controller on SM6375 devices.
949	  Say Y if you want to support graphics controller devices and
950	  functionality such as 3D graphics.
951
952config SM_GPUCC_6350
953	tristate "SM6350 Graphics Clock Controller"
954	depends on ARM64 || COMPILE_TEST
955	select SM_GCC_6350
956	help
957	  Support for the graphics clock controller on SM6350 devices.
958	  Say Y if you want to support graphics controller devices and
959	  functionality such as 3D graphics.
960
961config SM_GPUCC_8150
962	tristate "SM8150 Graphics Clock Controller"
963	depends on ARM64 || COMPILE_TEST
964	select SM_GCC_8150
965	help
966	  Support for the graphics clock controller on SM8150 devices.
967	  Say Y if you want to support graphics controller devices and
968	  functionality such as 3D graphics.
969
970config SM_GPUCC_8250
971	tristate "SM8250 Graphics Clock Controller"
972	depends on ARM64 || COMPILE_TEST
973	select SM_GCC_8250
974	help
975	  Support for the graphics clock controller on SM8250 devices.
976	  Say Y if you want to support graphics controller devices and
977	  functionality such as 3D graphics.
978
979config SM_GPUCC_8350
980	tristate "SM8350 Graphics Clock Controller"
981	depends on ARM64 || COMPILE_TEST
982	select SM_GCC_8350
983	help
984	  Support for the graphics clock controller on SM8350 devices.
985	  Say Y if you want to support graphics controller devices and
986	  functionality such as 3D graphics.
987
988config SM_GPUCC_8450
989	tristate "SM8450 Graphics Clock Controller"
990	select SM_GCC_8450
991	help
992	  Support for the graphics clock controller on SM8450 devices.
993	  Say Y if you want to support graphics controller devices and
994	  functionality such as 3D graphics.
995
996config SM_GPUCC_8550
997	tristate "SM8550 Graphics Clock Controller"
998	select SM_GCC_8550
999	help
1000	  Support for the graphics clock controller on SM8550 devices.
1001	  Say Y if you want to support graphics controller devices and
1002	  functionality such as 3D graphics.
1003
1004config SM_TCSRCC_8550
1005	tristate "SM8550 TCSR Clock Controller"
1006	depends on ARM64 || COMPILE_TEST
1007	select QCOM_GDSC
1008	help
1009	  Support for the TCSR clock controller on SM8550 devices.
1010	  Say Y if you want to use peripheral devices such as SD/UFS.
1011
1012config SM_VIDEOCC_8150
1013	tristate "SM8150 Video Clock Controller"
1014	depends on ARM64 || COMPILE_TEST
1015	select SM_GCC_8150
1016	select QCOM_GDSC
1017	help
1018	  Support for the video clock controller on SM8150 devices.
1019	  Say Y if you want to support video devices and functionality such as
1020	  video encode and decode.
1021
1022config SM_VIDEOCC_8250
1023	tristate "SM8250 Video Clock Controller"
1024	depends on ARM64 || COMPILE_TEST
1025	select SM_GCC_8250
1026	select QCOM_GDSC
1027	help
1028	  Support for the video clock controller on SM8250 devices.
1029	  Say Y if you want to support video devices and functionality such as
1030	  video encode and decode.
1031
1032config SM_VIDEOCC_8350
1033	tristate "SM8350 Video Clock Controller"
1034	select SM_GCC_8350
1035	select QCOM_GDSC
1036	help
1037	  Support for the video clock controller on SM8350 devices.
1038	  Say Y if you want to support video devices and functionality such as
1039	  video encode and decode.
1040
1041config SM_VIDEOCC_8550
1042	tristate "SM8550 Video Clock Controller"
1043	select SM_GCC_8550
1044	select QCOM_GDSC
1045	help
1046	  Support for the video clock controller on Qualcomm Technologies, Inc.
1047	  SM8550 devices.
1048	  Say Y if you want to support video devices and functionality such as
1049	  video encode/decode.
1050
1051config SPMI_PMIC_CLKDIV
1052	tristate "SPMI PMIC clkdiv Support"
1053	depends on SPMI || COMPILE_TEST
1054	help
1055	  This driver supports the clkdiv functionality on the Qualcomm
1056	  Technologies, Inc. SPMI PMIC. It configures the frequency of
1057	  clkdiv outputs of the PMIC. These clocks are typically wired
1058	  through alternate functions on GPIO pins.
1059
1060config QCOM_HFPLL
1061	tristate "High-Frequency PLL (HFPLL) Clock Controller"
1062	help
1063	  Support for the high-frequency PLLs present on Qualcomm devices.
1064	  Say Y if you want to support CPU frequency scaling on devices
1065	  such as MSM8974, APQ8084, etc.
1066
1067config KPSS_XCC
1068	tristate "KPSS Clock Controller"
1069	help
1070	  Support for the Krait ACC and GCC clock controllers. Say Y
1071	  if you want to support CPU frequency scaling on devices such
1072	  as MSM8960, APQ8064, etc.
1073
1074config KRAITCC
1075	tristate "Krait Clock Controller"
1076	depends on ARM
1077	select KRAIT_CLOCKS
1078	help
1079	  Support for the Krait CPU clocks on Qualcomm devices.
1080	  Say Y if you want to support CPU frequency scaling.
1081
1082config CLK_GFM_LPASS_SM8250
1083	tristate "SM8250 GFM LPASS Clocks"
1084	depends on ARM64 || COMPILE_TEST
1085	help
1086	  Support for the Glitch Free Mux (GFM) Low power audio
1087          subsystem (LPASS) clocks found on SM8250 SoCs.
1088
1089config SM_VIDEOCC_8450
1090	tristate "SM8450 Video Clock Controller"
1091	select SM_GCC_8450
1092	select QCOM_GDSC
1093	help
1094	  Support for the video clock controller on Qualcomm Technologies, Inc.
1095	  SM8450 devices.
1096	  Say Y if you want to support video devices and functionality such as
1097	  video encode/decode.
1098endif
1099