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