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