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