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