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