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