xref: /linux/drivers/clk/qcom/Kconfig (revision 2441b965c4c7adae0b4a7825f7acb67d44c3cd38)
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 IPQ_NSSCC_QCA8K
253	tristate "QCA8K(QCA8386 or QCA8084) NSS Clock Controller"
254	depends on MDIO_BUS || COMPILE_TEST
255	help
256	  Support for NSS(Network SubSystem) clock controller on
257	  qca8386/qca8084 chip.
258	  Say Y or M if you want to use network features of switch or
259	  PHY device. Select this for the root clock of qca8k.
260
261config MSM_GCC_8660
262	tristate "MSM8660 Global Clock Controller"
263	depends on ARM || COMPILE_TEST
264	help
265	  Support for the global clock controller on msm8660 devices.
266	  Say Y if you want to use peripheral devices such as UART, SPI,
267	  i2c, USB, SD/eMMC, etc.
268
269config MSM_GCC_8909
270	tristate "MSM8909 Global Clock Controller"
271	depends on ARM || COMPILE_TEST
272	select QCOM_GDSC
273	help
274	  Support for the global clock controller on msm8909 devices.
275	  Say Y if you want to use devices such as UART, SPI, I2C, USB,
276	  SD/eMMC, display, graphics, camera etc.
277
278config MSM_GCC_8916
279	tristate "MSM8916 Global Clock Controller"
280	select QCOM_GDSC
281	help
282	  Support for the global clock controller on msm8916 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_8917
287	tristate "MSM8917/QM215 Global Clock Controller"
288	depends on ARM64 || COMPILE_TEST
289	select QCOM_GDSC
290	help
291	  Support for the global clock controller on msm8917 and qm215
292	  devices.
293	  Say Y if you want to use devices such as UART, SPI i2c, USB,
294	  SD/eMMC, display, graphics, camera etc.
295
296config MSM_GCC_8939
297	tristate "MSM8939 Global Clock Controller"
298	select QCOM_GDSC
299	help
300	  Support for the global clock controller on msm8939 devices.
301	  Say Y if you want to use devices such as UART, SPI i2c, USB,
302	  SD/eMMC, display, graphics, camera etc.
303
304config MSM_GCC_8960
305	tristate "APQ8064/MSM8960 Global Clock Controller"
306	depends on ARM || COMPILE_TEST
307	help
308	  Support for the global clock controller on apq8064/msm8960 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_LCC_8960
313	tristate "APQ8064/MSM8960/MDM9650 LPASS Clock Controller"
314	depends on ARM || COMPILE_TEST
315	help
316	  Support for the LPASS clock controller on apq8064/msm8960/mdm9650
317	  devices.
318	  Say Y if you want to use audio devices such as i2s, pcm,
319	  SLIMBus, etc.
320
321config MDM_GCC_9607
322	tristate "MDM9607 Global Clock Controller"
323	depends on ARM || COMPILE_TEST
324	help
325	  Support for the global clock controller on mdm9607 devices.
326	  Say Y if you want to use peripheral devices such as UART, SPI,
327	  I2C, USB, SD/eMMC, etc.
328
329config MDM_GCC_9615
330	tristate "MDM9615 Global Clock Controller"
331	depends on ARM || COMPILE_TEST
332	help
333	  Support for the global clock controller on mdm9615 devices.
334	  Say Y if you want to use peripheral devices such as UART, SPI,
335	  i2c, USB, SD/eMMC, etc.
336
337config MSM_MMCC_8960
338	tristate "MSM8960 Multimedia Clock Controller"
339	depends on ARM || COMPILE_TEST
340	select MSM_GCC_8960
341	help
342	  Support for the multimedia clock controller on msm8960 devices.
343	  Say Y if you want to support multimedia devices such as display,
344	  graphics, video encode/decode, camera, etc.
345
346config MSM_GCC_8953
347	tristate "MSM8953 Global Clock Controller"
348	select QCOM_GDSC
349	help
350	  Support for the global clock controller on msm8953 devices.
351	  Say Y if you want to use devices such as UART, SPI i2c, USB,
352	  SD/eMMC, display, graphics, camera etc.
353
354config MSM_GCC_8974
355	tristate "MSM8974 Global Clock Controller"
356	depends on ARM || COMPILE_TEST
357	select QCOM_GDSC
358	help
359	  Support for the global clock controller on msm8974 devices.
360	  Say Y if you want to use peripheral devices such as UART, SPI,
361	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
362
363config MSM_MMCC_8974
364	tristate "MSM8974 Multimedia Clock Controller"
365	depends on ARM || COMPILE_TEST
366	select MSM_GCC_8974
367	select QCOM_GDSC
368	help
369	  Support for the multimedia clock controller on msm8974 devices.
370	  Say Y if you want to support multimedia devices such as display,
371	  graphics, video encode/decode, camera, etc.
372
373config MSM_GCC_8976
374	tristate "MSM8956/76 Global Clock Controller"
375	select QCOM_GDSC
376	help
377	  Support for the global clock controller on msm8956/76 devices.
378	  Say Y if you want to use peripheral devices such as UART, SPI,
379	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
380
381config MSM_MMCC_8994
382	tristate "MSM8994 Multimedia Clock Controller"
383	select MSM_GCC_8994
384	select QCOM_GDSC
385	help
386	  Support for the multimedia clock controller on msm8994 devices.
387	  Say Y if you want to support multimedia devices such as display,
388	  graphics, video encode/decode, camera, etc.
389
390config MSM_GCC_8994
391	tristate "MSM8994 Global Clock Controller"
392	help
393	  Support for the global clock controller on msm8994 devices.
394	  Say Y if you want to use peripheral devices such as UART, SPI,
395	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
396
397config MSM_GCC_8996
398	tristate "MSM8996 Global Clock Controller"
399	select QCOM_GDSC
400	help
401	  Support for the global clock controller on msm8996 devices.
402	  Say Y if you want to use peripheral devices such as UART, SPI,
403	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
404
405config MSM_MMCC_8996
406	tristate "MSM8996 Multimedia Clock Controller"
407	select MSM_GCC_8996
408	select QCOM_GDSC
409	help
410	  Support for the multimedia clock controller on msm8996 devices.
411	  Say Y if you want to support multimedia devices such as display,
412	  graphics, video encode/decode, camera, etc.
413
414config MSM_GCC_8998
415	tristate "MSM8998 Global Clock Controller"
416	select QCOM_GDSC
417	help
418	  Support for the global clock controller on msm8998 devices.
419	  Say Y if you want to use peripheral devices such as UART, SPI,
420	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
421
422config MSM_GPUCC_8998
423	tristate "MSM8998 Graphics Clock Controller"
424	select MSM_GCC_8998
425	select QCOM_GDSC
426	help
427	  Support for the graphics clock controller on MSM8998 devices.
428	  Say Y if you want to support graphics controller devices and
429	  functionality such as 3D graphics.
430
431config MSM_MMCC_8998
432	tristate "MSM8998 Multimedia Clock Controller"
433	select MSM_GCC_8998
434	select QCOM_GDSC
435	help
436	  Support for the multimedia clock controller on msm8998 devices.
437	  Say Y if you want to support multimedia devices such as display,
438	  graphics, video encode/decode, camera, etc.
439
440config QCM_GCC_2290
441	tristate "QCM2290 Global Clock Controller"
442	select QCOM_GDSC
443	help
444	  Support for the global clock controller on QCM2290 devices.
445	  Say Y if you want to use multimedia devices or peripheral
446	  devices such as UART, SPI, I2C, USB, SD/eMMC etc.
447
448config QCM_DISPCC_2290
449	tristate "QCM2290 Display Clock Controller"
450	select QCM_GCC_2290
451	help
452	  Support for the display clock controller on Qualcomm Technologies, Inc
453	  QCM2290 devices.
454	  Say Y if you want to support display devices and functionality such as
455	  splash screen.
456
457config QCS_GCC_404
458	tristate "QCS404 Global Clock Controller"
459	help
460	  Support for the global clock controller on QCS404 devices.
461	  Say Y if you want to use multimedia devices or peripheral
462	  devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc.
463
464config SC_CAMCC_7180
465	tristate "SC7180 Camera Clock Controller"
466	depends on ARM64 || COMPILE_TEST
467	select SC_GCC_7180
468	help
469	  Support for the camera clock controller on Qualcomm Technologies, Inc
470	  SC7180 devices.
471	  Say Y if you want to support camera devices and functionality such as
472	  capturing pictures.
473
474config SC_CAMCC_7280
475	tristate "SC7280 Camera Clock Controller"
476	depends on ARM64 || COMPILE_TEST
477	select SC_GCC_7280
478	help
479	  Support for the camera clock controller on Qualcomm Technologies, Inc
480	  SC7280 devices.
481	  Say Y if you want to support camera devices and functionality such as
482	  capturing pictures.
483
484config SC_CAMCC_8280XP
485	tristate "SC8280XP Camera Clock Controller"
486	depends on ARM64 || COMPILE_TEST
487	select SC_GCC_8280XP
488	help
489	  Support for the camera clock controller on Qualcomm Technologies, Inc
490	  SC8280XP devices.
491	  Say Y if you want to support camera devices and functionality such as
492	  capturing pictures.
493
494config SC_DISPCC_7180
495	tristate "SC7180 Display Clock Controller"
496	depends on ARM64 || COMPILE_TEST
497	select SC_GCC_7180
498	help
499	  Support for the display clock controller on Qualcomm Technologies, Inc
500	  SC7180 devices.
501	  Say Y if you want to support display devices and functionality such as
502	  splash screen.
503
504config SC_DISPCC_7280
505	tristate "SC7280 Display Clock Controller"
506	depends on ARM64 || COMPILE_TEST
507	select SC_GCC_7280
508	help
509	  Support for the display clock controller on Qualcomm Technologies, Inc.
510	  SC7280 devices.
511	  Say Y if you want to support display devices and functionality such as
512	  splash screen.
513
514config SC_DISPCC_8280XP
515	tristate "SC8280XP Display Clock Controller"
516	depends on ARM64 || COMPILE_TEST
517	select SC_GCC_8280XP
518	help
519	  Support for the two display clock controllers on Qualcomm
520	  Technologies, Inc. SC8280XP devices.
521	  Say Y if you want to support display devices and functionality such as
522	  splash screen.
523
524config SA_GCC_8775P
525	tristate "SA8775 Global Clock Controller"
526	select QCOM_GDSC
527	depends on COMMON_CLK_QCOM
528	help
529	  Support for the global clock controller on SA8775 devices.
530	  Say Y if you want to use peripheral devices such as UART, SPI,
531	  I2C, USB, UFS, SDCC, etc.
532
533config SA_GPUCC_8775P
534	tristate "SA8775P Graphics clock controller"
535	select QCOM_GDSC
536	select SA_GCC_8775P
537	help
538	  Support for the graphics clock controller on SA8775P devices.
539	  Say Y if you want to support graphics controller devices and
540	  functionality such as 3D graphics.
541
542config SC_GCC_7180
543	tristate "SC7180 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 SC7180 devices.
549	  Say Y if you want to use peripheral devices such as UART, SPI,
550	  I2C, USB, UFS, SDCC, etc.
551
552config SC_GCC_7280
553	tristate "SC7280 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 SC7280 devices.
559	  Say Y if you want to use peripheral devices such as UART, SPI,
560	  I2C, USB, UFS, SDCC, PCIe etc.
561
562config SC_GCC_8180X
563	tristate "SC8180X 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 SC8180X devices.
569	  Say Y if you want to use peripheral devices such as UART, SPI,
570	  I2C, USB, UFS, SDCC, etc.
571
572config SC_GCC_8280XP
573	tristate "SC8280XP Global Clock Controller"
574	select QCOM_GDSC
575	depends on COMMON_CLK_QCOM
576	depends on ARM64 || COMPILE_TEST
577	help
578	  Support for the global clock controller on SC8280XP devices.
579	  Say Y if you want to use peripheral devices such as UART, SPI,
580	  I2C, USB, UFS, SDCC, etc.
581
582config SC_GPUCC_7180
583	tristate "SC7180 Graphics Clock Controller"
584	depends on ARM64 || COMPILE_TEST
585	select SC_GCC_7180
586	help
587	  Support for the graphics clock controller on SC7180 devices.
588	  Say Y if you want to support graphics controller devices and
589	  functionality such as 3D graphics.
590
591config SC_GPUCC_7280
592	tristate "SC7280 Graphics Clock Controller"
593	depends on ARM64 || COMPILE_TEST
594	select SC_GCC_7280
595	help
596	  Support for the graphics clock controller on SC7280 devices.
597	  Say Y if you want to support graphics controller devices and
598	  functionality such as 3D graphics.
599
600config SC_GPUCC_8280XP
601	tristate "SC8280XP Graphics Clock Controller"
602	depends on ARM64 || COMPILE_TEST
603	select SC_GCC_8280XP
604	help
605	  Support for the graphics clock controller on SC8280XP devices.
606	  Say Y if you want to support graphics controller devices and
607	  functionality such as 3D graphics.
608
609config SC_LPASSCC_7280
610	tristate "SC7280 Low Power Audio Subsystem (LPASS) Clock Controller"
611	depends on ARM64 || COMPILE_TEST
612	select SC_GCC_7280
613	help
614	  Support for the LPASS clock controller on SC7280 devices.
615	  Say Y if you want to use the LPASS branch clocks of the LPASS clock
616	  controller to reset the LPASS subsystem.
617
618config SC_LPASSCC_8280XP
619	tristate "SC8280 Low Power Audio Subsystem (LPASS) Clock Controller"
620	depends on ARM64 || COMPILE_TEST
621	select SC_GCC_8280XP
622	help
623	  Support for the LPASS clock controller on SC8280XP devices.
624	  Say Y if you want to use the LPASS branch clocks of the LPASS clock
625	  controller to reset the LPASS subsystem.
626
627config SC_LPASS_CORECC_7180
628	tristate "SC7180 LPASS Core Clock Controller"
629	depends on ARM64 || COMPILE_TEST
630	select SC_GCC_7180
631	help
632	  Support for the LPASS(Low Power Audio Subsystem) core clock controller
633	  on SC7180 devices.
634	  Say Y if you want to use LPASS clocks and power domains of the LPASS
635	  core clock controller.
636
637config SC_LPASS_CORECC_7280
638	tristate "SC7280 LPASS Core & Audio Clock Controller"
639	depends on ARM64 || COMPILE_TEST
640	select SC_GCC_7280
641	select QCOM_GDSC
642	help
643	  Support for the LPASS(Low Power Audio Subsystem) core and audio clock
644	  controller on SC7280 devices.
645	  Say Y if you want to use LPASS clocks and power domains of the LPASS
646	  core clock controller.
647
648config SC_VIDEOCC_7180
649	tristate "SC7180 Video Clock Controller"
650	depends on ARM64 || COMPILE_TEST
651	select SC_GCC_7180
652	help
653	  Support for the video clock controller on SC7180 devices.
654	  Say Y if you want to support video devices and functionality such as
655	  video encode and decode.
656
657config SC_VIDEOCC_7280
658	tristate "SC7280 Video Clock Controller"
659	depends on ARM64 || COMPILE_TEST
660	select SC_GCC_7280
661	help
662	  Support for the video clock controller on SC7280 devices.
663	  Say Y if you want to support video devices and functionality such as
664	  video encode and decode.
665
666config SDM_CAMCC_845
667	tristate "SDM845 Camera Clock Controller"
668	depends on ARM64 || COMPILE_TEST
669	select SDM_GCC_845
670	help
671	  Support for the camera clock controller on SDM845 devices.
672	  Say Y if you want to support camera devices and camera functionality.
673
674config SDM_GCC_660
675	tristate "SDM660 Global Clock Controller"
676	depends on ARM64 || COMPILE_TEST
677	select QCOM_GDSC
678	help
679	  Support for the global clock controller on SDM660 devices.
680	  Say Y if you want to use peripheral devices such as UART, SPI,
681	  i2C, USB, UFS, SDDC, PCIe, etc.
682
683config SDM_MMCC_660
684	tristate "SDM660 Multimedia Clock Controller"
685	depends on ARM64 || COMPILE_TEST
686	select SDM_GCC_660
687	select QCOM_GDSC
688	help
689	  Support for the multimedia clock controller on SDM660 devices.
690	  Say Y if you want to support multimedia devices such as display,
691	  graphics, video encode/decode, camera, etc.
692
693config SDM_GPUCC_660
694	tristate "SDM660 Graphics Clock Controller"
695	depends on ARM64 || COMPILE_TEST
696	select SDM_GCC_660
697	select QCOM_GDSC
698	help
699	  Support for the graphics clock controller on SDM630/636/660 devices.
700	  Say Y if you want to support graphics controller devices and
701	  functionality such as 3D graphics
702
703config QCS_TURING_404
704	tristate "QCS404 Turing Clock Controller"
705	help
706	  Support for the Turing Clock Controller on QCS404, provides clocks
707	  and resets for the Turing subsystem.
708
709config QCS_Q6SSTOP_404
710	tristate "QCS404 Q6SSTOP Clock Controller"
711	select QCS_GCC_404
712	help
713	  Support for the Q6SSTOP clock controller on QCS404 devices.
714	  Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock
715	  controller to reset the Q6SSTOP subsystem.
716
717config QDU_GCC_1000
718	tristate "QDU1000/QRU1000 Global Clock Controller"
719	select QCOM_GDSC
720	help
721	  Support for the global clock controller on QDU1000 and
722	  QRU1000 devices. Say Y if you want to use peripheral
723	  devices such as UART, SPI, I2C, USB, SD, PCIe, etc.
724
725config QDU_ECPRICC_1000
726	tristate "QDU1000/QRU1000 ECPRI Clock Controller"
727	depends on ARM64 || COMPILE_TEST
728	select QDU_GCC_1000
729	help
730	  Support for the ECPRI clock controller on QDU1000 and
731	  QRU1000 devices. Say Y if you want to support the ECPRI
732	  clock controller functionality such as Ethernet.
733
734config SDM_GCC_845
735	tristate "SDM845/SDM670 Global Clock Controller"
736	depends on ARM64 || COMPILE_TEST
737	select QCOM_GDSC
738	help
739	  Support for the global clock controller on SDM845 and SDM670 devices.
740	  Say Y if you want to use peripheral devices such as UART, SPI,
741	  i2C, USB, UFS, SDDC, PCIe, etc.
742
743config SDM_GPUCC_845
744	tristate "SDM845 Graphics Clock Controller"
745	depends on ARM64 || COMPILE_TEST
746	select SDM_GCC_845
747	help
748	  Support for the graphics clock controller on SDM845 devices.
749	  Say Y if you want to support graphics controller devices and
750	  functionality such as 3D graphics.
751
752config SDM_VIDEOCC_845
753	tristate "SDM845 Video Clock Controller"
754	depends on ARM64 || COMPILE_TEST
755	select SDM_GCC_845
756	select QCOM_GDSC
757	help
758	  Support for the video clock controller on SDM845 devices.
759	  Say Y if you want to support video devices and functionality such as
760	  video encode and decode.
761
762config SDM_DISPCC_845
763	tristate "SDM845 Display Clock Controller"
764	depends on ARM64 || COMPILE_TEST
765	select SDM_GCC_845
766	help
767	  Support for the display clock controller on Qualcomm Technologies, Inc
768	  SDM845 devices.
769	  Say Y if you want to support display devices and functionality such as
770	  splash screen.
771
772config SDM_LPASSCC_845
773	tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
774	depends on ARM64 || COMPILE_TEST
775	select SDM_GCC_845
776	help
777	  Support for the LPASS clock controller on SDM845 devices.
778	  Say Y if you want to use the LPASS branch clocks of the LPASS clock
779	  controller to reset the LPASS subsystem.
780
781config SDX_GCC_55
782	tristate "SDX55 Global Clock Controller"
783	depends on ARM || COMPILE_TEST
784	select QCOM_GDSC
785	help
786	  Support for the global clock controller on SDX55 devices.
787	  Say Y if you want to use peripheral devices such as UART,
788	  SPI, I2C, USB, SD/UFS, PCIe etc.
789
790config SDX_GCC_65
791	tristate "SDX65 Global Clock Controller"
792	depends on ARM || COMPILE_TEST
793	select QCOM_GDSC
794	help
795	  Support for the global clock controller on SDX65 devices.
796	  Say Y if you want to use peripheral devices such as UART,
797	  SPI, I2C, USB, SD/UFS, PCIe etc.
798
799config SDX_GCC_75
800	tristate "SDX75 Global Clock Controller"
801	select QCOM_GDSC
802	help
803	  Support for the global clock controller on SDX75 devices.
804	  Say Y if you want to use peripheral devices such as UART,
805	  SPI, I2C, USB, SD/eMMC, PCIe etc.
806
807config SM_CAMCC_6350
808	tristate "SM6350 Camera Clock Controller"
809	depends on ARM64 || COMPILE_TEST
810	select SM_GCC_6350
811	help
812	  Support for the camera clock controller on SM6350 devices.
813	  Say Y if you want to support camera devices and camera functionality.
814
815config SM_CAMCC_7150
816	tristate "SM7150 Camera Clock Controller"
817	depends on ARM64 || COMPILE_TEST
818	select SM_GCC_7150
819	help
820	  Support for the camera clock controller on SM7150 devices.
821	  Say Y if you want to support camera devices and camera functionality.
822
823config SM_CAMCC_8250
824	tristate "SM8250 Camera Clock Controller"
825	depends on ARM64 || COMPILE_TEST
826	select SM_GCC_8250
827	help
828	  Support for the camera clock controller on SM8250 devices.
829	  Say Y if you want to support camera devices and camera functionality.
830
831config SM_CAMCC_8450
832	tristate "SM8450 Camera Clock Controller"
833	depends on ARM64 || COMPILE_TEST
834	select SM_GCC_8450
835	help
836	  Support for the camera clock controller on SM8450 devices.
837	  Say Y if you want to support camera devices and camera functionality.
838
839config SM_CAMCC_8550
840	tristate "SM8550 Camera Clock Controller"
841	depends on ARM64 || COMPILE_TEST
842	select SM_GCC_8550
843	help
844	  Support for the camera clock controller on SM8550 devices.
845	  Say Y if you want to support camera devices and camera functionality.
846
847config SM_DISPCC_6115
848	tristate "SM6115 Display Clock Controller"
849	depends on ARM64 || COMPILE_TEST
850	depends on SM_GCC_6115
851	help
852	  Support for the display clock controller on Qualcomm Technologies, Inc
853	  SM6115/SM4250 devices.
854	  Say Y if you want to support display devices and functionality such as
855	  splash screen
856
857config SM_DISPCC_6125
858	tristate "SM6125 Display Clock Controller"
859	depends on ARM64 || COMPILE_TEST
860	depends on SM_GCC_6125
861	help
862	  Support for the display clock controller on Qualcomm Technologies, Inc
863	  SM6125 devices.
864	  Say Y if you want to support display devices and functionality such as
865	  splash screen
866
867config SM_DISPCC_7150
868	tristate "SM7150 Display Clock Controller"
869	depends on ARM64 || COMPILE_TEST
870	depends on SM_GCC_7150
871	help
872	  Support for the display clock controller on Qualcomm Technologies, Inc
873	  SM7150 devices.
874	  Say Y if you want to support display devices and functionality such as
875	  splash screen.
876
877config SM_DISPCC_8250
878	tristate "SM8150/SM8250/SM8350 Display Clock Controller"
879	depends on ARM64 || COMPILE_TEST
880	depends on SM_GCC_8150 || SM_GCC_8250 || SM_GCC_8350
881	help
882	  Support for the display clock controller on Qualcomm Technologies, Inc
883	  SM8150/SM8250/SM8350 devices.
884	  Say Y if you want to support display devices and functionality such as
885	  splash screen.
886
887config SM_DISPCC_6350
888	tristate "SM6350 Display Clock Controller"
889	depends on ARM64 || COMPILE_TEST
890	depends on SM_GCC_6350
891	help
892	  Support for the display clock controller on Qualcomm Technologies, Inc
893	  SM6350 devices.
894	  Say Y if you want to support display devices and functionality such as
895	  splash screen.
896
897config SM_DISPCC_6375
898	tristate "SM6375 Display Clock Controller"
899	depends on ARM64 || COMPILE_TEST
900	depends on SM_GCC_6375
901	help
902	  Support for the display clock controller on Qualcomm Technologies, Inc
903	  SM6375 devices.
904	  Say Y if you want to support display devices and functionality such as
905	  splash screen.
906
907config SM_DISPCC_8450
908	tristate "SM8450 Display Clock Controller"
909	depends on ARM64 || COMPILE_TEST
910	depends on SM_GCC_8450
911	help
912	  Support for the display clock controller on Qualcomm Technologies, Inc
913	  SM8450 devices.
914	  Say Y if you want to support display devices and functionality such as
915	  splash screen.
916
917config SM_DISPCC_8550
918	tristate "SM8550 Display Clock Controller"
919	depends on ARM64 || COMPILE_TEST
920	depends on SM_GCC_8550
921	help
922	  Support for the display clock controller on Qualcomm Technologies, Inc
923	  SM8550 devices.
924	  Say Y if you want to support display devices and functionality such as
925	  splash screen.
926
927config SM_DISPCC_8650
928	tristate "SM8650 Display Clock Controller"
929	depends on ARM64 || COMPILE_TEST
930	select SM_GCC_8650
931	help
932	  Support for the display clock controller on Qualcomm Technologies, Inc
933	  SM8650 devices.
934	  Say Y if you want to support display devices and functionality such as
935	  splash screen.
936
937config SM_GCC_4450
938	tristate "SM4450 Global Clock Controller"
939	depends on ARM64 || COMPILE_TEST
940	select QCOM_GDSC
941	help
942	  Support for the global clock controller on SM4450 devices.
943	  Say Y if you want to use peripheral devices such as UART, SPI,
944	  I2C, USB, SD/UFS, PCIe, etc.
945
946config SM_GCC_6115
947	tristate "SM6115 and SM4250 Global Clock Controller"
948	depends on ARM64 || COMPILE_TEST
949	select QCOM_GDSC
950	help
951	  Support for the global clock controller on SM6115 and SM4250 devices.
952	  Say Y if you want to use peripheral devices such as UART, SPI,
953	  i2C, USB, UFS, SDDC, PCIe, etc.
954
955config SM_GCC_6125
956	tristate "SM6125 Global Clock Controller"
957	depends on ARM64 || COMPILE_TEST
958	help
959	  Support for the global clock controller on SM6125 devices.
960	  Say Y if you want to use peripheral devices such as UART,
961	  SPI, I2C, USB, SD/UFS, PCIe etc.
962
963config SM_GCC_6350
964	tristate "SM6350 Global Clock Controller"
965	depends on ARM64 || COMPILE_TEST
966	select QCOM_GDSC
967	help
968	  Support for the global clock controller on SM6350 devices.
969	  Say Y if you want to use peripheral devices such as UART,
970	  SPI, I2C, USB, SD/UFS, PCIe etc.
971
972config SM_GCC_6375
973	tristate "SM6375 Global Clock Controller"
974	depends on ARM64 || COMPILE_TEST
975	select QCOM_GDSC
976	help
977	  Support for the global clock controller on SM6375 devices.
978	  Say Y if you want to use peripheral devices such as UART,
979	  SPI, I2C, USB, SD/UFS etc.
980
981config SM_GCC_7150
982	tristate "SM7150 Global Clock Controller"
983	depends on ARM64 || COMPILE_TEST
984	select QCOM_GDSC
985	help
986	  Support for the global clock controller on SM7150 devices.
987	  Say Y if you want to use peripheral devices such as UART,
988	  SPI, I2C, USB, SD/UFS, PCIe etc.
989
990config SM_GCC_8150
991	tristate "SM8150 Global Clock Controller"
992	depends on ARM64 || COMPILE_TEST
993	help
994	  Support for the global clock controller on SM8150 devices.
995	  Say Y if you want to use peripheral devices such as UART,
996	  SPI, I2C, USB, SD/UFS, PCIe etc.
997
998config SM_GCC_8250
999	tristate "SM8250 Global Clock Controller"
1000	depends on ARM64 || COMPILE_TEST
1001	select QCOM_GDSC
1002	help
1003	  Support for the global clock controller on SM8250 devices.
1004	  Say Y if you want to use peripheral devices such as UART,
1005	  SPI, I2C, USB, SD/UFS, PCIe etc.
1006
1007config SM_GCC_8350
1008	tristate "SM8350 Global Clock Controller"
1009	depends on ARM64 || COMPILE_TEST
1010	select QCOM_GDSC
1011	help
1012	  Support for the global clock controller on SM8350 devices.
1013	  Say Y if you want to use peripheral devices such as UART,
1014	  SPI, I2C, USB, SD/UFS, PCIe etc.
1015
1016config SM_GCC_8450
1017	tristate "SM8450 Global Clock Controller"
1018	depends on ARM64 || COMPILE_TEST
1019	select QCOM_GDSC
1020	help
1021	  Support for the global clock controller on SM8450 devices.
1022	  Say Y if you want to use peripheral devices such as UART,
1023	  SPI, I2C, USB, SD/UFS, PCIe etc.
1024
1025config SM_GCC_8550
1026	tristate "SM8550 Global Clock Controller"
1027	depends on ARM64 || COMPILE_TEST
1028	select QCOM_GDSC
1029	help
1030	  Support for the global clock controller on SM8550 devices.
1031	  Say Y if you want to use peripheral devices such as UART,
1032	  SPI, I2C, USB, SD/UFS, PCIe etc.
1033
1034config SM_GCC_8650
1035	tristate "SM8650 Global Clock Controller"
1036	depends on ARM64 || COMPILE_TEST
1037	select QCOM_GDSC
1038	help
1039	  Support for the global clock controller on SM8650 devices.
1040	  Say Y if you want to use peripheral devices such as UART,
1041	  SPI, I2C, USB, SD/UFS, PCIe etc.
1042
1043config SM_GPUCC_6115
1044	tristate "SM6115 Graphics Clock Controller"
1045	select SM_GCC_6115
1046	depends on ARM64 || COMPILE_TEST
1047	help
1048	  Support for the graphics clock controller on SM6115 devices.
1049	  Say Y if you want to support graphics controller devices and
1050	  functionality such as 3D graphics.
1051
1052config SM_GPUCC_6125
1053	tristate "SM6125 Graphics Clock Controller"
1054	select SM_GCC_6125
1055	depends on ARM64 || COMPILE_TEST
1056	help
1057	  Support for the graphics clock controller on SM6125 devices.
1058	  Say Y if you want to support graphics controller devices and
1059	  functionality such as 3D graphics.
1060
1061config SM_GPUCC_6375
1062	tristate "SM6375 Graphics Clock Controller"
1063	select SM_GCC_6375
1064	depends on ARM64 || COMPILE_TEST
1065	help
1066	  Support for the graphics clock controller on SM6375 devices.
1067	  Say Y if you want to support graphics controller devices and
1068	  functionality such as 3D graphics.
1069
1070config SM_GPUCC_6350
1071	tristate "SM6350 Graphics Clock Controller"
1072	depends on ARM64 || COMPILE_TEST
1073	select SM_GCC_6350
1074	help
1075	  Support for the graphics clock controller on SM6350 devices.
1076	  Say Y if you want to support graphics controller devices and
1077	  functionality such as 3D graphics.
1078
1079config SM_GPUCC_8150
1080	tristate "SM8150 Graphics Clock Controller"
1081	depends on ARM64 || COMPILE_TEST
1082	select SM_GCC_8150
1083	help
1084	  Support for the graphics clock controller on SM8150 devices.
1085	  Say Y if you want to support graphics controller devices and
1086	  functionality such as 3D graphics.
1087
1088config SM_GPUCC_8250
1089	tristate "SM8250 Graphics Clock Controller"
1090	depends on ARM64 || COMPILE_TEST
1091	select SM_GCC_8250
1092	help
1093	  Support for the graphics clock controller on SM8250 devices.
1094	  Say Y if you want to support graphics controller devices and
1095	  functionality such as 3D graphics.
1096
1097config SM_GPUCC_8350
1098	tristate "SM8350 Graphics Clock Controller"
1099	depends on ARM64 || COMPILE_TEST
1100	select SM_GCC_8350
1101	help
1102	  Support for the graphics clock controller on SM8350 devices.
1103	  Say Y if you want to support graphics controller devices and
1104	  functionality such as 3D graphics.
1105
1106config SM_GPUCC_8450
1107	tristate "SM8450 Graphics Clock Controller"
1108	depends on ARM64 || COMPILE_TEST
1109	select SM_GCC_8450
1110	help
1111	  Support for the graphics clock controller on SM8450 devices.
1112	  Say Y if you want to support graphics controller devices and
1113	  functionality such as 3D graphics.
1114
1115config SM_GPUCC_8550
1116	tristate "SM8550 Graphics Clock Controller"
1117	depends on ARM64 || COMPILE_TEST
1118	select SM_GCC_8550
1119	help
1120	  Support for the graphics clock controller on SM8550 devices.
1121	  Say Y if you want to support graphics controller devices and
1122	  functionality such as 3D graphics.
1123
1124config SM_GPUCC_8650
1125	tristate "SM8650 Graphics Clock Controller"
1126	depends on ARM64 || COMPILE_TEST
1127	select SM_GCC_8650
1128	help
1129	  Support for the graphics clock controller on SM8650 devices.
1130	  Say Y if you want to support graphics controller devices and
1131	  functionality such as 3D graphics.
1132
1133config SM_TCSRCC_8550
1134	tristate "SM8550 TCSR Clock Controller"
1135	depends on ARM64 || COMPILE_TEST
1136	select QCOM_GDSC
1137	help
1138	  Support for the TCSR clock controller on SM8550 devices.
1139	  Say Y if you want to use peripheral devices such as SD/UFS.
1140
1141config SM_TCSRCC_8650
1142	tristate "SM8650 TCSR Clock Controller"
1143	depends on ARM64 || COMPILE_TEST
1144	select QCOM_GDSC
1145	help
1146	  Support for the TCSR clock controller on SM8650 devices.
1147	  Say Y if you want to use peripheral devices such as SD/UFS.
1148
1149config SM_VIDEOCC_7150
1150	tristate "SM7150 Video Clock Controller"
1151	depends on ARM64 || COMPILE_TEST
1152	select SM_GCC_7150
1153	select QCOM_GDSC
1154	help
1155	  Support for the video clock controller on SM7150 devices.
1156	  Say Y if you want to support video devices and functionality such as
1157	  video encode and decode.
1158
1159config SM_VIDEOCC_8150
1160	tristate "SM8150 Video Clock Controller"
1161	depends on ARM64 || COMPILE_TEST
1162	select SM_GCC_8150
1163	select QCOM_GDSC
1164	help
1165	  Support for the video clock controller on SM8150 devices.
1166	  Say Y if you want to support video devices and functionality such as
1167	  video encode and decode.
1168
1169config SM_VIDEOCC_8250
1170	tristate "SM8250 Video Clock Controller"
1171	depends on ARM64 || COMPILE_TEST
1172	select SM_GCC_8250
1173	select QCOM_GDSC
1174	help
1175	  Support for the video clock controller on SM8250 devices.
1176	  Say Y if you want to support video devices and functionality such as
1177	  video encode and decode.
1178
1179config SM_VIDEOCC_8350
1180	tristate "SM8350 Video Clock Controller"
1181	depends on ARM64 || COMPILE_TEST
1182	select SM_GCC_8350
1183	select QCOM_GDSC
1184	help
1185	  Support for the video clock controller on SM8350 devices.
1186	  Say Y if you want to support video devices and functionality such as
1187	  video encode and decode.
1188
1189config SM_VIDEOCC_8550
1190	tristate "SM8550 Video Clock Controller"
1191	depends on ARM64 || COMPILE_TEST
1192	select SM_GCC_8550
1193	select QCOM_GDSC
1194	help
1195	  Support for the video clock controller on Qualcomm Technologies, Inc.
1196	  SM8550 devices.
1197	  Say Y if you want to support video devices and functionality such as
1198	  video encode/decode.
1199
1200config SPMI_PMIC_CLKDIV
1201	tristate "SPMI PMIC clkdiv Support"
1202	depends on SPMI || COMPILE_TEST
1203	help
1204	  This driver supports the clkdiv functionality on the Qualcomm
1205	  Technologies, Inc. SPMI PMIC. It configures the frequency of
1206	  clkdiv outputs of the PMIC. These clocks are typically wired
1207	  through alternate functions on GPIO pins.
1208
1209config QCOM_HFPLL
1210	tristate "High-Frequency PLL (HFPLL) Clock Controller"
1211	help
1212	  Support for the high-frequency PLLs present on Qualcomm devices.
1213	  Say Y if you want to support CPU frequency scaling on devices
1214	  such as MSM8974, APQ8084, etc.
1215
1216config KPSS_XCC
1217	tristate "KPSS Clock Controller"
1218	help
1219	  Support for the Krait ACC and GCC clock controllers. Say Y
1220	  if you want to support CPU frequency scaling on devices such
1221	  as MSM8960, APQ8064, etc.
1222
1223config KRAITCC
1224	tristate "Krait Clock Controller"
1225	depends on ARM
1226	select KRAIT_CLOCKS
1227	help
1228	  Support for the Krait CPU clocks on Qualcomm devices.
1229	  Say Y if you want to support CPU frequency scaling.
1230
1231config CLK_GFM_LPASS_SM8250
1232	tristate "SM8250 GFM LPASS Clocks"
1233	depends on ARM64 || COMPILE_TEST
1234	help
1235	  Support for the Glitch Free Mux (GFM) Low power audio
1236          subsystem (LPASS) clocks found on SM8250 SoCs.
1237
1238config SM_VIDEOCC_8450
1239	tristate "SM8450 Video Clock Controller"
1240	depends on ARM64 || COMPILE_TEST
1241	select SM_GCC_8450
1242	select QCOM_GDSC
1243	help
1244	  Support for the video clock controller on Qualcomm Technologies, Inc.
1245	  SM8450 devices.
1246	  Say Y if you want to support video devices and functionality such as
1247	  video encode/decode.
1248endif
1249