Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
4d7dc77b SB |
2 | config KRAIT_CLOCKS |
3 | bool | |
4 | select KRAIT_L2_ACCESSORS | |
5 | ||
73bb7dc0 SB |
6 | config QCOM_GDSC |
7 | bool | |
8 | select PM_GENERIC_DOMAINS if PM | |
9 | ||
00f64b58 GD |
10 | config QCOM_RPMCC |
11 | bool | |
12 | ||
f071bceb | 13 | menuconfig COMMON_CLK_QCOM |
085d7a45 SB |
14 | tristate "Support for Qualcomm's clock controllers" |
15 | depends on OF | |
3937567d | 16 | depends on ARCH_QCOM || COMPILE_TEST |
cddf1f82 | 17 | select RATIONAL |
085d7a45 | 18 | select REGMAP_MMIO |
b36ba30c | 19 | select RESET_CONTROLLER |
2ec94130 | 20 | |
f071bceb SB |
21 | if COMMON_CLK_QCOM |
22 | ||
0c6ab1b8 GD |
23 | config QCOM_A53PLL |
24 | tristate "MSM8916 A53 PLL" | |
0c6ab1b8 GD |
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 | ||
81ac3884 GD |
31 | config QCOM_CLK_APCS_MSM8916 |
32 | tristate "MSM8916 APCS Clock Controller" | |
81ac3884 | 33 | depends on QCOM_APCS_IPC || COMPILE_TEST |
81ac3884 GD |
34 | help |
35 | Support for the APCS Clock Controller on msm8916 devices. The | |
36 | APCS is managing the mux and divider which feeds the CPUs. | |
37 | Say Y if you want to support CPU frequency scaling on devices | |
38 | such as msm8916. | |
39 | ||
872f91b5 GD |
40 | config QCOM_CLK_RPM |
41 | tristate "RPM based Clock Controller" | |
f071bceb | 42 | depends on MFD_QCOM_RPM |
872f91b5 GD |
43 | select QCOM_RPMCC |
44 | help | |
45 | The RPM (Resource Power Manager) is a dedicated hardware engine for | |
46 | managing the shared SoC resources in order to keep the lowest power | |
47 | profile. It communicates with other hardware subsystems via shared | |
48 | memory and accepts clock requests, aggregates the requests and turns | |
49 | the clocks on/off or scales them on demand. | |
50 | Say Y if you want to support the clocks exposed by the RPM on | |
51 | platforms such as apq8064, msm8660, msm8960 etc. | |
52 | ||
00f64b58 GD |
53 | config QCOM_CLK_SMD_RPM |
54 | tristate "RPM over SMD based Clock Controller" | |
f071bceb | 55 | depends on QCOM_SMD_RPM |
00f64b58 GD |
56 | select QCOM_RPMCC |
57 | help | |
58 | The RPM (Resource Power Manager) is a dedicated hardware engine for | |
59 | managing the shared SoC resources in order to keep the lowest power | |
60 | profile. It communicates with other hardware subsystems via shared | |
61 | memory and accepts clock requests, aggregates the requests and turns | |
62 | the clocks on/off or scales them on demand. | |
63 | Say Y if you want to support the clocks exposed by the RPM on | |
64 | platforms such as apq8016, apq8084, msm8974 etc. | |
65 | ||
9c7e4702 TD |
66 | config QCOM_CLK_RPMH |
67 | tristate "RPMh Clock Driver" | |
f071bceb | 68 | depends on QCOM_RPMH |
9c7e4702 TD |
69 | help |
70 | RPMh manages shared resources on some Qualcomm Technologies, Inc. | |
71 | SoCs. It accepts requests from other hardware subsystems via RSC. | |
72 | Say Y if you want to support the clocks exposed by RPMh on | |
73 | platforms such as SDM845. | |
74 | ||
02824653 GD |
75 | config APQ_GCC_8084 |
76 | tristate "APQ8084 Global Clock Controller" | |
639af949 | 77 | select QCOM_GDSC |
02824653 GD |
78 | help |
79 | Support for the global clock controller on apq8084 devices. | |
80 | Say Y if you want to use peripheral devices such as UART, SPI, | |
81 | i2c, USB, SD/eMMC, SATA, PCIe, etc. | |
82 | ||
2b46cd23 GD |
83 | config APQ_MMCC_8084 |
84 | tristate "APQ8084 Multimedia Clock Controller" | |
85 | select APQ_GCC_8084 | |
cb2eb7de | 86 | select QCOM_GDSC |
2b46cd23 GD |
87 | help |
88 | Support for the multimedia clock controller on apq8084 devices. | |
89 | Say Y if you want to support multimedia devices such as display, | |
90 | graphics, video encode/decode, camera, etc. | |
91 | ||
6971e863 VN |
92 | config IPQ_GCC_4019 |
93 | tristate "IPQ4019 Global Clock Controller" | |
6971e863 VN |
94 | help |
95 | Support for the global clock controller on ipq4019 devices. | |
96 | Say Y if you want to use peripheral devices such as UART, SPI, | |
97 | i2c, USB, SD/eMMC, etc. | |
98 | ||
d9db07f0 S |
99 | config IPQ_GCC_6018 |
100 | tristate "IPQ6018 Global Clock Controller" | |
101 | help | |
102 | Support for global clock controller on ipq6018 devices. | |
103 | Say Y if you want to use peripheral devices such as UART, SPI, | |
104 | i2c, USB, SD/eMMC, etc. Select this for the root clock | |
105 | of ipq6018. | |
106 | ||
24d8fba4 KG |
107 | config IPQ_GCC_806X |
108 | tristate "IPQ806x Global Clock Controller" | |
24d8fba4 KG |
109 | help |
110 | Support for the global clock controller on ipq806x devices. | |
111 | Say Y if you want to use peripheral devices such as UART, SPI, | |
112 | i2c, USB, SD/eMMC, etc. | |
113 | ||
c99e515a RN |
114 | config IPQ_LCC_806X |
115 | tristate "IPQ806x LPASS Clock Controller" | |
116 | select IPQ_GCC_806X | |
c99e515a RN |
117 | help |
118 | Support for the LPASS clock controller on ipq806x devices. | |
119 | Say Y if you want to use audio devices such as i2s, pcm, | |
120 | S/PDIF, etc. | |
121 | ||
371a9507 AS |
122 | config IPQ_GCC_8074 |
123 | tristate "IPQ8074 Global Clock Controller" | |
371a9507 AS |
124 | help |
125 | Support for global clock controller on ipq8074 devices. | |
126 | Say Y if you want to use peripheral devices such as UART, SPI, | |
127 | i2c, USB, SD/eMMC, etc. Select this for the root clock | |
128 | of ipq8074. | |
129 | ||
0eeff27b SB |
130 | config MSM_GCC_8660 |
131 | tristate "MSM8660 Global Clock Controller" | |
0eeff27b SB |
132 | help |
133 | Support for the global clock controller on msm8660 devices. | |
134 | Say Y if you want to use peripheral devices such as UART, SPI, | |
135 | i2c, USB, SD/eMMC, etc. | |
136 | ||
3966fab8 GD |
137 | config MSM_GCC_8916 |
138 | tristate "MSM8916 Global Clock Controller" | |
073ae2b4 | 139 | select QCOM_GDSC |
3966fab8 GD |
140 | help |
141 | Support for the global clock controller on msm8916 devices. | |
142 | Say Y if you want to use devices such as UART, SPI i2c, USB, | |
143 | SD/eMMC, display, graphics, camera etc. | |
144 | ||
2ec94130 | 145 | config MSM_GCC_8960 |
2d85a713 | 146 | tristate "APQ8064/MSM8960 Global Clock Controller" |
2ec94130 | 147 | help |
2d85a713 | 148 | Support for the global clock controller on apq8064/msm8960 devices. |
2ec94130 SB |
149 | Say Y if you want to use peripheral devices such as UART, SPI, |
150 | i2c, USB, SD/eMMC, SATA, PCIe, etc. | |
6d00b56f | 151 | |
b82875ee SB |
152 | config MSM_LCC_8960 |
153 | tristate "APQ8064/MSM8960 LPASS Clock Controller" | |
154 | select MSM_GCC_8960 | |
b82875ee SB |
155 | help |
156 | Support for the LPASS clock controller on apq8064/msm8960 devices. | |
157 | Say Y if you want to use audio devices such as i2s, pcm, | |
158 | SLIMBus, etc. | |
159 | ||
7792a8d6 NA |
160 | config MDM_GCC_9615 |
161 | tristate "MDM9615 Global Clock Controller" | |
7792a8d6 NA |
162 | help |
163 | Support for the global clock controller on mdm9615 devices. | |
164 | Say Y if you want to use peripheral devices such as UART, SPI, | |
165 | i2c, USB, SD/eMMC, etc. | |
166 | ||
167 | config MDM_LCC_9615 | |
168 | tristate "MDM9615 LPASS Clock Controller" | |
169 | select MDM_GCC_9615 | |
7792a8d6 NA |
170 | help |
171 | Support for the LPASS clock controller on mdm9615 devices. | |
172 | Say Y if you want to use audio devices such as i2s, pcm, | |
173 | SLIMBus, etc. | |
174 | ||
6d00b56f SB |
175 | config MSM_MMCC_8960 |
176 | tristate "MSM8960 Multimedia Clock Controller" | |
177 | select MSM_GCC_8960 | |
6d00b56f SB |
178 | help |
179 | Support for the multimedia clock controller on msm8960 devices. | |
180 | Say Y if you want to support multimedia devices such as display, | |
181 | graphics, video encode/decode, camera, etc. | |
d33faa9e SB |
182 | |
183 | config MSM_GCC_8974 | |
184 | tristate "MSM8974 Global Clock Controller" | |
340029ef | 185 | select QCOM_GDSC |
d33faa9e SB |
186 | help |
187 | Support for the global clock controller on msm8974 devices. | |
188 | Say Y if you want to use peripheral devices such as UART, SPI, | |
189 | i2c, USB, SD/eMMC, SATA, PCIe, etc. | |
d8b21201 SB |
190 | |
191 | config MSM_MMCC_8974 | |
192 | tristate "MSM8974 Multimedia Clock Controller" | |
193 | select MSM_GCC_8974 | |
8108b23c | 194 | select QCOM_GDSC |
d8b21201 SB |
195 | help |
196 | Support for the multimedia clock controller on msm8974 devices. | |
197 | Say Y if you want to support multimedia devices such as display, | |
198 | graphics, video encode/decode, camera, etc. | |
b1e010c0 | 199 | |
aec89f78 BK |
200 | config MSM_GCC_8994 |
201 | tristate "MSM8994 Global Clock Controller" | |
aec89f78 BK |
202 | help |
203 | Support for the global clock controller on msm8994 devices. | |
204 | Say Y if you want to use peripheral devices such as UART, SPI, | |
205 | i2c, USB, UFS, SD/eMMC, PCIe, etc. | |
206 | ||
b1e010c0 SB |
207 | config MSM_GCC_8996 |
208 | tristate "MSM8996 Global Clock Controller" | |
6d91f2c0 | 209 | select QCOM_GDSC |
b1e010c0 SB |
210 | help |
211 | Support for the global clock controller on msm8996 devices. | |
212 | Say Y if you want to use peripheral devices such as UART, SPI, | |
213 | i2c, USB, UFS, SD/eMMC, PCIe, etc. | |
c2526597 SB |
214 | |
215 | config MSM_MMCC_8996 | |
216 | tristate "MSM8996 Multimedia Clock Controller" | |
217 | select MSM_GCC_8996 | |
6d91f2c0 | 218 | select QCOM_GDSC |
c2526597 SB |
219 | help |
220 | Support for the multimedia clock controller on msm8996 devices. | |
221 | Say Y if you want to support multimedia devices such as display, | |
222 | graphics, video encode/decode, camera, etc. | |
4cfaa55f | 223 | |
b5f5f525 JP |
224 | config MSM_GCC_8998 |
225 | tristate "MSM8998 Global Clock Controller" | |
83b4c147 | 226 | select QCOM_GDSC |
b5f5f525 JP |
227 | help |
228 | Support for the global clock controller on msm8998 devices. | |
229 | Say Y if you want to use peripheral devices such as UART, SPI, | |
230 | i2c, USB, UFS, SD/eMMC, PCIe, etc. | |
231 | ||
3f7df5ba JH |
232 | config MSM_GPUCC_8998 |
233 | tristate "MSM8998 Graphics Clock Controller" | |
234 | select MSM_GCC_8998 | |
235 | select QCOM_GDSC | |
236 | help | |
237 | Support for the graphics clock controller on MSM8998 devices. | |
238 | Say Y if you want to support graphics controller devices and | |
239 | functionality such as 3D graphics. | |
240 | ||
d14b15b5 JH |
241 | config MSM_MMCC_8998 |
242 | tristate "MSM8998 Multimedia Clock Controller" | |
243 | select MSM_GCC_8998 | |
244 | select QCOM_GDSC | |
245 | help | |
246 | Support for the multimedia clock controller on msm8998 devices. | |
247 | Say Y if you want to support multimedia devices such as display, | |
248 | graphics, video encode/decode, camera, etc. | |
249 | ||
652f1813 SJ |
250 | config QCS_GCC_404 |
251 | tristate "QCS404 Global Clock Controller" | |
652f1813 SJ |
252 | help |
253 | Support for the global clock controller on QCS404 devices. | |
254 | Say Y if you want to use multimedia devices or peripheral | |
255 | devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc. | |
256 | ||
dd3d0662 TD |
257 | config SC_DISPCC_7180 |
258 | tristate "SC7180 Display Clock Controller" | |
259 | select SC_GCC_7180 | |
260 | help | |
261 | Support for the display clock controller on Qualcomm Technologies, Inc | |
262 | SC7180 devices. | |
263 | Say Y if you want to support display devices and functionality such as | |
264 | splash screen. | |
265 | ||
17269568 TD |
266 | config SC_GCC_7180 |
267 | tristate "SC7180 Global Clock Controller" | |
268 | select QCOM_GDSC | |
269 | depends on COMMON_CLK_QCOM | |
270 | help | |
271 | Support for the global clock controller on SC7180 devices. | |
272 | Say Y if you want to use peripheral devices such as UART, SPI, | |
273 | I2C, USB, UFS, SDCC, etc. | |
274 | ||
745ff069 TD |
275 | config SC_GPUCC_7180 |
276 | tristate "SC7180 Graphics Clock Controller" | |
277 | select SC_GCC_7180 | |
278 | help | |
279 | Support for the graphics clock controller on SC7180 devices. | |
280 | Say Y if you want to support graphics controller devices and | |
281 | functionality such as 3D graphics. | |
282 | ||
253dc75a TD |
283 | config SC_VIDEOCC_7180 |
284 | tristate "SC7180 Video Clock Controller" | |
285 | select SC_GCC_7180 | |
286 | help | |
287 | Support for the video clock controller on SC7180 devices. | |
288 | Say Y if you want to support video devices and functionality such as | |
289 | video encode and decode. | |
290 | ||
78412c26 AN |
291 | config SDM_CAMCC_845 |
292 | tristate "SDM845 Camera Clock Controller" | |
78412c26 AN |
293 | select SDM_GCC_845 |
294 | help | |
295 | Support for the camera clock controller on SDM845 devices. | |
296 | Say Y if you want to support camera devices and camera functionality. | |
297 | ||
f2a76a29 TD |
298 | config SDM_GCC_660 |
299 | tristate "SDM660 Global Clock Controller" | |
300 | select QCOM_GDSC | |
f2a76a29 TD |
301 | help |
302 | Support for the global clock controller on SDM660 devices. | |
303 | Say Y if you want to use peripheral devices such as UART, SPI, | |
304 | i2C, USB, UFS, SDDC, PCIe, etc. | |
305 | ||
892df019 BA |
306 | config QCS_TURING_404 |
307 | tristate "QCS404 Turing Clock Controller" | |
308 | help | |
309 | Support for the Turing Clock Controller on QCS404, provides clocks | |
310 | and resets for the Turing subsystem. | |
311 | ||
6cdef273 GS |
312 | config QCS_Q6SSTOP_404 |
313 | tristate "QCS404 Q6SSTOP Clock Controller" | |
314 | select QCS_GCC_404 | |
315 | help | |
316 | Support for the Q6SSTOP clock controller on QCS404 devices. | |
317 | Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock | |
318 | controller to reset the Q6SSTOP subsystem. | |
319 | ||
06391edd TD |
320 | config SDM_GCC_845 |
321 | tristate "SDM845 Global Clock Controller" | |
322 | select QCOM_GDSC | |
06391edd | 323 | help |
77122d6f | 324 | Support for the global clock controller on SDM845 devices. |
06391edd | 325 | Say Y if you want to use peripheral devices such as UART, SPI, |
77122d6f | 326 | i2C, USB, UFS, SDDC, PCIe, etc. |
06391edd | 327 | |
453361cd AN |
328 | config SDM_GPUCC_845 |
329 | tristate "SDM845 Graphics Clock Controller" | |
453361cd AN |
330 | select SDM_GCC_845 |
331 | help | |
332 | Support for the graphics clock controller on SDM845 devices. | |
333 | Say Y if you want to support graphics controller devices and | |
334 | functionality such as 3D graphics. | |
335 | ||
c646b347 AN |
336 | config SDM_VIDEOCC_845 |
337 | tristate "SDM845 Video Clock Controller" | |
c646b347 AN |
338 | select SDM_GCC_845 |
339 | select QCOM_GDSC | |
340 | help | |
77122d6f | 341 | Support for the video clock controller on SDM845 devices. |
c646b347 AN |
342 | Say Y if you want to support video devices and functionality such as |
343 | video encode and decode. | |
344 | ||
81351776 TD |
345 | config SDM_DISPCC_845 |
346 | tristate "SDM845 Display Clock Controller" | |
347 | select SDM_GCC_845 | |
81351776 TD |
348 | help |
349 | Support for the display clock controller on Qualcomm Technologies, Inc | |
350 | SDM845 devices. | |
351 | Say Y if you want to support display devices and functionality such as | |
352 | splash screen. | |
353 | ||
8d3e5b9c TD |
354 | config SDM_LPASSCC_845 |
355 | tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" | |
8d3e5b9c TD |
356 | select SDM_GCC_845 |
357 | help | |
358 | Support for the LPASS clock controller on SDM845 devices. | |
359 | Say Y if you want to use the LPASS branch clocks of the LPASS clock | |
360 | controller to reset the LPASS subsystem. | |
361 | ||
2a1d7eb8 DK |
362 | config SM_GCC_8150 |
363 | tristate "SM8150 Global Clock Controller" | |
364 | help | |
365 | Support for the global clock controller on SM8150 devices. | |
366 | Say Y if you want to use peripheral devices such as UART, | |
367 | SPI, I2C, USB, SD/UFS, PCIe etc. | |
368 | ||
4cfaa55f TR |
369 | config SPMI_PMIC_CLKDIV |
370 | tristate "SPMI PMIC clkdiv Support" | |
f071bceb | 371 | depends on SPMI || COMPILE_TEST |
4cfaa55f TR |
372 | help |
373 | This driver supports the clkdiv functionality on the Qualcomm | |
374 | Technologies, Inc. SPMI PMIC. It configures the frequency of | |
375 | clkdiv outputs of the PMIC. These clocks are typically wired | |
376 | through alternate functions on GPIO pins. | |
cb546b79 SB |
377 | |
378 | config QCOM_HFPLL | |
379 | tristate "High-Frequency PLL (HFPLL) Clock Controller" | |
cb546b79 SB |
380 | help |
381 | Support for the high-frequency PLLs present on Qualcomm devices. | |
382 | Say Y if you want to support CPU frequency scaling on devices | |
383 | such as MSM8974, APQ8084, etc. | |
3ddc3564 SB |
384 | |
385 | config KPSS_XCC | |
386 | tristate "KPSS Clock Controller" | |
3ddc3564 SB |
387 | help |
388 | Support for the Krait ACC and GCC clock controllers. Say Y | |
389 | if you want to support CPU frequency scaling on devices such | |
390 | as MSM8960, APQ8064, etc. | |
bb5c4a85 SB |
391 | |
392 | config KRAITCC | |
393 | tristate "Krait Clock Controller" | |
f071bceb | 394 | depends on ARM |
bb5c4a85 SB |
395 | select KRAIT_CLOCKS |
396 | help | |
397 | Support for the Krait CPU clocks on Qualcomm devices. | |
398 | Say Y if you want to support CPU frequency scaling. | |
f071bceb SB |
399 | |
400 | endif |