xref: /linux/drivers/clk/qcom/Kconfig (revision 90d32e92011eaae8e70a9169b4e7acf4ca8f9d3a)
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_DISPCC_6115
831	tristate "SM6115 Display Clock Controller"
832	depends on ARM64 || COMPILE_TEST
833	depends on SM_GCC_6115
834	help
835	  Support for the display clock controller on Qualcomm Technologies, Inc
836	  SM6115/SM4250 devices.
837	  Say Y if you want to support display devices and functionality such as
838	  splash screen
839
840config SM_DISPCC_6125
841	tristate "SM6125 Display Clock Controller"
842	depends on ARM64 || COMPILE_TEST
843	depends on SM_GCC_6125
844	help
845	  Support for the display clock controller on Qualcomm Technologies, Inc
846	  SM6125 devices.
847	  Say Y if you want to support display devices and functionality such as
848	  splash screen
849
850config SM_DISPCC_8250
851	tristate "SM8150/SM8250/SM8350 Display Clock Controller"
852	depends on ARM64 || COMPILE_TEST
853	depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350
854	help
855	  Support for the display clock controller on Qualcomm Technologies, Inc
856	  SM8150/SM8250/SM8350 devices.
857	  Say Y if you want to support display devices and functionality such as
858	  splash screen.
859
860config SM_DISPCC_6350
861	tristate "SM6350 Display Clock Controller"
862	depends on ARM64 || COMPILE_TEST
863	depends on SM_GCC_6350
864	help
865	  Support for the display clock controller on Qualcomm Technologies, Inc
866	  SM6350 devices.
867	  Say Y if you want to support display devices and functionality such as
868	  splash screen.
869
870config SM_DISPCC_6375
871	tristate "SM6375 Display Clock Controller"
872	depends on ARM64 || COMPILE_TEST
873	depends on SM_GCC_6375
874	help
875	  Support for the display clock controller on Qualcomm Technologies, Inc
876	  SM6375 devices.
877	  Say Y if you want to support display devices and functionality such as
878	  splash screen.
879
880config SM_DISPCC_8450
881	tristate "SM8450 Display Clock Controller"
882	depends on ARM64 || COMPILE_TEST
883	depends on SM_GCC_8450
884	help
885	  Support for the display clock controller on Qualcomm Technologies, Inc
886	  SM8450 devices.
887	  Say Y if you want to support display devices and functionality such as
888	  splash screen.
889
890config SM_DISPCC_8550
891	tristate "SM8550 Display Clock Controller"
892	depends on ARM64 || COMPILE_TEST
893	depends on SM_GCC_8550
894	help
895	  Support for the display clock controller on Qualcomm Technologies, Inc
896	  SM8550 devices.
897	  Say Y if you want to support display devices and functionality such as
898	  splash screen.
899
900config SM_DISPCC_8650
901	tristate "SM8650 Display Clock Controller"
902	depends on ARM64 || COMPILE_TEST
903	select SM_GCC_8650
904	help
905	  Support for the display clock controller on Qualcomm Technologies, Inc
906	  SM8650 devices.
907	  Say Y if you want to support display devices and functionality such as
908	  splash screen.
909
910config SM_GCC_4450
911	tristate "SM4450 Global Clock Controller"
912	depends on ARM64 || COMPILE_TEST
913	select QCOM_GDSC
914	help
915	  Support for the global clock controller on SM4450 devices.
916	  Say Y if you want to use peripheral devices such as UART, SPI,
917	  I2C, USB, SD/UFS, PCIe, etc.
918
919config SM_GCC_6115
920	tristate "SM6115 and SM4250 Global Clock Controller"
921	depends on ARM64 || COMPILE_TEST
922	select QCOM_GDSC
923	help
924	  Support for the global clock controller on SM6115 and SM4250 devices.
925	  Say Y if you want to use peripheral devices such as UART, SPI,
926	  i2C, USB, UFS, SDDC, PCIe, etc.
927
928config SM_GCC_6125
929	tristate "SM6125 Global Clock Controller"
930	depends on ARM64 || COMPILE_TEST
931	help
932	  Support for the global clock controller on SM6125 devices.
933	  Say Y if you want to use peripheral devices such as UART,
934	  SPI, I2C, USB, SD/UFS, PCIe etc.
935
936config SM_GCC_6350
937	tristate "SM6350 Global Clock Controller"
938	depends on ARM64 || COMPILE_TEST
939	select QCOM_GDSC
940	help
941	  Support for the global clock controller on SM6350 devices.
942	  Say Y if you want to use peripheral devices such as UART,
943	  SPI, I2C, USB, SD/UFS, PCIe etc.
944
945config SM_GCC_6375
946	tristate "SM6375 Global Clock Controller"
947	depends on ARM64 || COMPILE_TEST
948	select QCOM_GDSC
949	help
950	  Support for the global clock controller on SM6375 devices.
951	  Say Y if you want to use peripheral devices such as UART,
952	  SPI, I2C, USB, SD/UFS etc.
953
954config SM_GCC_7150
955	tristate "SM7150 Global Clock Controller"
956	select QCOM_GDSC
957	help
958	  Support for the global clock controller on SM7150 devices.
959	  Say Y if you want to use peripheral devices such as UART,
960	  SPI, I2C, USB, SD/UFS, PCIe etc.
961
962config SM_GCC_8150
963	tristate "SM8150 Global Clock Controller"
964	depends on ARM64 || COMPILE_TEST
965	help
966	  Support for the global clock controller on SM8150 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_8250
971	tristate "SM8250 Global Clock Controller"
972	depends on ARM64 || COMPILE_TEST
973	select QCOM_GDSC
974	help
975	  Support for the global clock controller on SM8250 devices.
976	  Say Y if you want to use peripheral devices such as UART,
977	  SPI, I2C, USB, SD/UFS, PCIe etc.
978
979config SM_GCC_8350
980	tristate "SM8350 Global Clock Controller"
981	depends on ARM64 || COMPILE_TEST
982	select QCOM_GDSC
983	help
984	  Support for the global clock controller on SM8350 devices.
985	  Say Y if you want to use peripheral devices such as UART,
986	  SPI, I2C, USB, SD/UFS, PCIe etc.
987
988config SM_GCC_8450
989	tristate "SM8450 Global Clock Controller"
990	depends on ARM64 || COMPILE_TEST
991	select QCOM_GDSC
992	help
993	  Support for the global clock controller on SM8450 devices.
994	  Say Y if you want to use peripheral devices such as UART,
995	  SPI, I2C, USB, SD/UFS, PCIe etc.
996
997config SM_GCC_8550
998	tristate "SM8550 Global Clock Controller"
999	depends on ARM64 || COMPILE_TEST
1000	select QCOM_GDSC
1001	help
1002	  Support for the global clock controller on SM8550 devices.
1003	  Say Y if you want to use peripheral devices such as UART,
1004	  SPI, I2C, USB, SD/UFS, PCIe etc.
1005
1006config SM_GCC_8650
1007	tristate "SM8650 Global Clock Controller"
1008	depends on ARM64 || COMPILE_TEST
1009	select QCOM_GDSC
1010	help
1011	  Support for the global clock controller on SM8650 devices.
1012	  Say Y if you want to use peripheral devices such as UART,
1013	  SPI, I2C, USB, SD/UFS, PCIe etc.
1014
1015config SM_GPUCC_6115
1016	tristate "SM6115 Graphics Clock Controller"
1017	select SM_GCC_6115
1018	depends on ARM64 || COMPILE_TEST
1019	help
1020	  Support for the graphics clock controller on SM6115 devices.
1021	  Say Y if you want to support graphics controller devices and
1022	  functionality such as 3D graphics.
1023
1024config SM_GPUCC_6125
1025	tristate "SM6125 Graphics Clock Controller"
1026	select SM_GCC_6125
1027	depends on ARM64 || COMPILE_TEST
1028	help
1029	  Support for the graphics clock controller on SM6125 devices.
1030	  Say Y if you want to support graphics controller devices and
1031	  functionality such as 3D graphics.
1032
1033config SM_GPUCC_6375
1034	tristate "SM6375 Graphics Clock Controller"
1035	select SM_GCC_6375
1036	depends on ARM64 || COMPILE_TEST
1037	help
1038	  Support for the graphics clock controller on SM6375 devices.
1039	  Say Y if you want to support graphics controller devices and
1040	  functionality such as 3D graphics.
1041
1042config SM_GPUCC_6350
1043	tristate "SM6350 Graphics Clock Controller"
1044	depends on ARM64 || COMPILE_TEST
1045	select SM_GCC_6350
1046	help
1047	  Support for the graphics clock controller on SM6350 devices.
1048	  Say Y if you want to support graphics controller devices and
1049	  functionality such as 3D graphics.
1050
1051config SM_GPUCC_8150
1052	tristate "SM8150 Graphics Clock Controller"
1053	depends on ARM64 || COMPILE_TEST
1054	select SM_GCC_8150
1055	help
1056	  Support for the graphics clock controller on SM8150 devices.
1057	  Say Y if you want to support graphics controller devices and
1058	  functionality such as 3D graphics.
1059
1060config SM_GPUCC_8250
1061	tristate "SM8250 Graphics Clock Controller"
1062	depends on ARM64 || COMPILE_TEST
1063	select SM_GCC_8250
1064	help
1065	  Support for the graphics clock controller on SM8250 devices.
1066	  Say Y if you want to support graphics controller devices and
1067	  functionality such as 3D graphics.
1068
1069config SM_GPUCC_8350
1070	tristate "SM8350 Graphics Clock Controller"
1071	depends on ARM64 || COMPILE_TEST
1072	select SM_GCC_8350
1073	help
1074	  Support for the graphics clock controller on SM8350 devices.
1075	  Say Y if you want to support graphics controller devices and
1076	  functionality such as 3D graphics.
1077
1078config SM_GPUCC_8450
1079	tristate "SM8450 Graphics Clock Controller"
1080	depends on ARM64 || COMPILE_TEST
1081	select SM_GCC_8450
1082	help
1083	  Support for the graphics clock controller on SM8450 devices.
1084	  Say Y if you want to support graphics controller devices and
1085	  functionality such as 3D graphics.
1086
1087config SM_GPUCC_8550
1088	tristate "SM8550 Graphics Clock Controller"
1089	depends on ARM64 || COMPILE_TEST
1090	select SM_GCC_8550
1091	help
1092	  Support for the graphics clock controller on SM8550 devices.
1093	  Say Y if you want to support graphics controller devices and
1094	  functionality such as 3D graphics.
1095
1096config SM_GPUCC_8650
1097	tristate "SM8650 Graphics Clock Controller"
1098	depends on ARM64 || COMPILE_TEST
1099	select SM_GCC_8650
1100	help
1101	  Support for the graphics clock controller on SM8650 devices.
1102	  Say Y if you want to support graphics controller devices and
1103	  functionality such as 3D graphics.
1104
1105config SM_TCSRCC_8550
1106	tristate "SM8550 TCSR Clock Controller"
1107	depends on ARM64 || COMPILE_TEST
1108	select QCOM_GDSC
1109	help
1110	  Support for the TCSR clock controller on SM8550 devices.
1111	  Say Y if you want to use peripheral devices such as SD/UFS.
1112
1113config SM_TCSRCC_8650
1114	tristate "SM8650 TCSR Clock Controller"
1115	depends on ARM64 || COMPILE_TEST
1116	select QCOM_GDSC
1117	help
1118	  Support for the TCSR clock controller on SM8650 devices.
1119	  Say Y if you want to use peripheral devices such as SD/UFS.
1120
1121config SM_VIDEOCC_8150
1122	tristate "SM8150 Video Clock Controller"
1123	depends on ARM64 || COMPILE_TEST
1124	select SM_GCC_8150
1125	select QCOM_GDSC
1126	help
1127	  Support for the video clock controller on SM8150 devices.
1128	  Say Y if you want to support video devices and functionality such as
1129	  video encode and decode.
1130
1131config SM_VIDEOCC_8250
1132	tristate "SM8250 Video Clock Controller"
1133	depends on ARM64 || COMPILE_TEST
1134	select SM_GCC_8250
1135	select QCOM_GDSC
1136	help
1137	  Support for the video clock controller on SM8250 devices.
1138	  Say Y if you want to support video devices and functionality such as
1139	  video encode and decode.
1140
1141config SM_VIDEOCC_8350
1142	tristate "SM8350 Video Clock Controller"
1143	depends on ARM64 || COMPILE_TEST
1144	select SM_GCC_8350
1145	select QCOM_GDSC
1146	help
1147	  Support for the video clock controller on SM8350 devices.
1148	  Say Y if you want to support video devices and functionality such as
1149	  video encode and decode.
1150
1151config SM_VIDEOCC_8550
1152	tristate "SM8550 Video Clock Controller"
1153	depends on ARM64 || COMPILE_TEST
1154	select SM_GCC_8550
1155	select QCOM_GDSC
1156	help
1157	  Support for the video clock controller on Qualcomm Technologies, Inc.
1158	  SM8550 devices.
1159	  Say Y if you want to support video devices and functionality such as
1160	  video encode/decode.
1161
1162config SPMI_PMIC_CLKDIV
1163	tristate "SPMI PMIC clkdiv Support"
1164	depends on SPMI || COMPILE_TEST
1165	help
1166	  This driver supports the clkdiv functionality on the Qualcomm
1167	  Technologies, Inc. SPMI PMIC. It configures the frequency of
1168	  clkdiv outputs of the PMIC. These clocks are typically wired
1169	  through alternate functions on GPIO pins.
1170
1171config QCOM_HFPLL
1172	tristate "High-Frequency PLL (HFPLL) Clock Controller"
1173	help
1174	  Support for the high-frequency PLLs present on Qualcomm devices.
1175	  Say Y if you want to support CPU frequency scaling on devices
1176	  such as MSM8974, APQ8084, etc.
1177
1178config KPSS_XCC
1179	tristate "KPSS Clock Controller"
1180	help
1181	  Support for the Krait ACC and GCC clock controllers. Say Y
1182	  if you want to support CPU frequency scaling on devices such
1183	  as MSM8960, APQ8064, etc.
1184
1185config KRAITCC
1186	tristate "Krait Clock Controller"
1187	depends on ARM
1188	select KRAIT_CLOCKS
1189	help
1190	  Support for the Krait CPU clocks on Qualcomm devices.
1191	  Say Y if you want to support CPU frequency scaling.
1192
1193config CLK_GFM_LPASS_SM8250
1194	tristate "SM8250 GFM LPASS Clocks"
1195	depends on ARM64 || COMPILE_TEST
1196	help
1197	  Support for the Glitch Free Mux (GFM) Low power audio
1198          subsystem (LPASS) clocks found on SM8250 SoCs.
1199
1200config SM_VIDEOCC_8450
1201	tristate "SM8450 Video Clock Controller"
1202	depends on ARM64 || COMPILE_TEST
1203	select SM_GCC_8450
1204	select QCOM_GDSC
1205	help
1206	  Support for the video clock controller on Qualcomm Technologies, Inc.
1207	  SM8450 devices.
1208	  Say Y if you want to support video devices and functionality such as
1209	  video encode/decode.
1210endif
1211