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