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