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