]> asedeno.scripts.mit.edu Git - linux.git/blob - drivers/clk/qcom/Kconfig
Merge branch 'nvme-5.4' of git://git.infradead.org/nvme into for-linus
[linux.git] / drivers / clk / qcom / Kconfig
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 REGMAP_MMIO
18         select RESET_CONTROLLER
19
20 if COMMON_CLK_QCOM
21
22 config QCOM_A53PLL
23         tristate "MSM8916 A53 PLL"
24         help
25           Support for the A53 PLL on MSM8916 devices. It provides
26           the CPU with frequencies above 1GHz.
27           Say Y if you want to support higher CPU frequencies on MSM8916
28           devices.
29
30 config QCOM_CLK_APCS_MSM8916
31         tristate "MSM8916 APCS Clock Controller"
32         depends on QCOM_APCS_IPC || COMPILE_TEST
33         help
34           Support for the APCS Clock Controller on msm8916 devices. The
35           APCS is managing the mux and divider which feeds the CPUs.
36           Say Y if you want to support CPU frequency scaling on devices
37           such as msm8916.
38
39 config QCOM_CLK_RPM
40         tristate "RPM based Clock Controller"
41         depends on MFD_QCOM_RPM
42         select QCOM_RPMCC
43         help
44           The RPM (Resource Power Manager) is a dedicated hardware engine for
45           managing the shared SoC resources in order to keep the lowest power
46           profile. It communicates with other hardware subsystems via shared
47           memory and accepts clock requests, aggregates the requests and turns
48           the clocks on/off or scales them on demand.
49           Say Y if you want to support the clocks exposed by the RPM on
50           platforms such as apq8064, msm8660, msm8960 etc.
51
52 config QCOM_CLK_SMD_RPM
53         tristate "RPM over SMD based Clock Controller"
54         depends on QCOM_SMD_RPM
55         select QCOM_RPMCC
56         help
57           The RPM (Resource Power Manager) is a dedicated hardware engine for
58           managing the shared SoC resources in order to keep the lowest power
59           profile. It communicates with other hardware subsystems via shared
60           memory and accepts clock requests, aggregates the requests and turns
61           the clocks on/off or scales them on demand.
62           Say Y if you want to support the clocks exposed by the RPM on
63           platforms such as apq8016, apq8084, msm8974 etc.
64
65 config QCOM_CLK_RPMH
66         tristate "RPMh Clock Driver"
67         depends on QCOM_RPMH
68         help
69          RPMh manages shared resources on some Qualcomm Technologies, Inc.
70          SoCs. It accepts requests from other hardware subsystems via RSC.
71          Say Y if you want to support the clocks exposed by RPMh on
72          platforms such as SDM845.
73
74 config APQ_GCC_8084
75         tristate "APQ8084 Global Clock Controller"
76         select QCOM_GDSC
77         help
78           Support for the global clock controller on apq8084 devices.
79           Say Y if you want to use peripheral devices such as UART, SPI,
80           i2c, USB, SD/eMMC, SATA, PCIe, etc.
81
82 config APQ_MMCC_8084
83         tristate "APQ8084 Multimedia Clock Controller"
84         select APQ_GCC_8084
85         select QCOM_GDSC
86         help
87           Support for the multimedia clock controller on apq8084 devices.
88           Say Y if you want to support multimedia devices such as display,
89           graphics, video encode/decode, camera, etc.
90
91 config IPQ_GCC_4019
92         tristate "IPQ4019 Global Clock Controller"
93         help
94           Support for the global clock controller on ipq4019 devices.
95           Say Y if you want to use peripheral devices such as UART, SPI,
96           i2c, USB, SD/eMMC, etc.
97
98 config IPQ_GCC_806X
99         tristate "IPQ806x Global Clock Controller"
100         help
101           Support for the global clock controller on ipq806x devices.
102           Say Y if you want to use peripheral devices such as UART, SPI,
103           i2c, USB, SD/eMMC, etc.
104
105 config IPQ_LCC_806X
106         tristate "IPQ806x LPASS Clock Controller"
107         select IPQ_GCC_806X
108         help
109           Support for the LPASS clock controller on ipq806x devices.
110           Say Y if you want to use audio devices such as i2s, pcm,
111           S/PDIF, etc.
112
113 config IPQ_GCC_8074
114         tristate "IPQ8074 Global Clock Controller"
115         help
116           Support for global clock controller on ipq8074 devices.
117           Say Y if you want to use peripheral devices such as UART, SPI,
118           i2c, USB, SD/eMMC, etc. Select this for the root clock
119           of ipq8074.
120
121 config MSM_GCC_8660
122         tristate "MSM8660 Global Clock Controller"
123         help
124           Support for the global clock controller on msm8660 devices.
125           Say Y if you want to use peripheral devices such as UART, SPI,
126           i2c, USB, SD/eMMC, etc.
127
128 config MSM_GCC_8916
129         tristate "MSM8916 Global Clock Controller"
130         select QCOM_GDSC
131         help
132           Support for the global clock controller on msm8916 devices.
133           Say Y if you want to use devices such as UART, SPI i2c, USB,
134           SD/eMMC, display, graphics, camera etc.
135
136 config MSM_GCC_8960
137         tristate "APQ8064/MSM8960 Global Clock Controller"
138         help
139           Support for the global clock controller on apq8064/msm8960 devices.
140           Say Y if you want to use peripheral devices such as UART, SPI,
141           i2c, USB, SD/eMMC, SATA, PCIe, etc.
142
143 config MSM_LCC_8960
144         tristate "APQ8064/MSM8960 LPASS Clock Controller"
145         select MSM_GCC_8960
146         help
147           Support for the LPASS clock controller on apq8064/msm8960 devices.
148           Say Y if you want to use audio devices such as i2s, pcm,
149           SLIMBus, etc.
150
151 config MDM_GCC_9615
152         tristate "MDM9615 Global Clock Controller"
153         help
154           Support for the global clock controller on mdm9615 devices.
155           Say Y if you want to use peripheral devices such as UART, SPI,
156           i2c, USB, SD/eMMC, etc.
157
158 config MDM_LCC_9615
159         tristate "MDM9615 LPASS Clock Controller"
160         select MDM_GCC_9615
161         help
162           Support for the LPASS clock controller on mdm9615 devices.
163           Say Y if you want to use audio devices such as i2s, pcm,
164           SLIMBus, etc.
165
166 config MSM_MMCC_8960
167         tristate "MSM8960 Multimedia Clock Controller"
168         select MSM_GCC_8960
169         help
170           Support for the multimedia clock controller on msm8960 devices.
171           Say Y if you want to support multimedia devices such as display,
172           graphics, video encode/decode, camera, etc.
173
174 config MSM_GCC_8974
175         tristate "MSM8974 Global Clock Controller"
176         select QCOM_GDSC
177         help
178           Support for the global clock controller on msm8974 devices.
179           Say Y if you want to use peripheral devices such as UART, SPI,
180           i2c, USB, SD/eMMC, SATA, PCIe, etc.
181
182 config MSM_MMCC_8974
183         tristate "MSM8974 Multimedia Clock Controller"
184         select MSM_GCC_8974
185         select QCOM_GDSC
186         help
187           Support for the multimedia clock controller on msm8974 devices.
188           Say Y if you want to support multimedia devices such as display,
189           graphics, video encode/decode, camera, etc.
190
191 config MSM_GCC_8994
192         tristate "MSM8994 Global Clock Controller"
193         help
194           Support for the global clock controller on msm8994 devices.
195           Say Y if you want to use peripheral devices such as UART, SPI,
196           i2c, USB, UFS, SD/eMMC, PCIe, etc.
197
198 config MSM_GCC_8996
199         tristate "MSM8996 Global Clock Controller"
200         select QCOM_GDSC
201         help
202           Support for the global clock controller on msm8996 devices.
203           Say Y if you want to use peripheral devices such as UART, SPI,
204           i2c, USB, UFS, SD/eMMC, PCIe, etc.
205
206 config MSM_MMCC_8996
207         tristate "MSM8996 Multimedia Clock Controller"
208         select MSM_GCC_8996
209         select QCOM_GDSC
210         help
211           Support for the multimedia clock controller on msm8996 devices.
212           Say Y if you want to support multimedia devices such as display,
213           graphics, video encode/decode, camera, etc.
214
215 config MSM_GCC_8998
216         tristate "MSM8998 Global Clock Controller"
217         select QCOM_GDSC
218         help
219           Support for the global clock controller on msm8998 devices.
220           Say Y if you want to use peripheral devices such as UART, SPI,
221           i2c, USB, UFS, SD/eMMC, PCIe, etc.
222
223 config QCS_GCC_404
224         tristate "QCS404 Global Clock Controller"
225         help
226           Support for the global clock controller on QCS404 devices.
227           Say Y if you want to use multimedia devices or peripheral
228           devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc.
229
230 config SDM_CAMCC_845
231         tristate "SDM845 Camera Clock Controller"
232         select SDM_GCC_845
233         help
234           Support for the camera clock controller on SDM845 devices.
235           Say Y if you want to support camera devices and camera functionality.
236
237 config SDM_GCC_660
238         tristate "SDM660 Global Clock Controller"
239         select QCOM_GDSC
240         help
241           Support for the global clock controller on SDM660 devices.
242           Say Y if you want to use peripheral devices such as UART, SPI,
243           i2C, USB, UFS, SDDC, PCIe, etc.
244
245 config QCS_TURING_404
246         tristate "QCS404 Turing Clock Controller"
247         help
248           Support for the Turing Clock Controller on QCS404, provides clocks
249           and resets for the Turing subsystem.
250
251 config SDM_GCC_845
252         tristate "SDM845 Global Clock Controller"
253         select QCOM_GDSC
254         help
255           Support for the global clock controller on SDM845 devices.
256           Say Y if you want to use peripheral devices such as UART, SPI,
257           i2C, USB, UFS, SDDC, PCIe, etc.
258
259 config SDM_GPUCC_845
260         tristate "SDM845 Graphics Clock Controller"
261         select SDM_GCC_845
262         help
263           Support for the graphics clock controller on SDM845 devices.
264           Say Y if you want to support graphics controller devices and
265           functionality such as 3D graphics.
266
267 config SDM_VIDEOCC_845
268         tristate "SDM845 Video Clock Controller"
269         select SDM_GCC_845
270         select QCOM_GDSC
271         help
272           Support for the video clock controller on SDM845 devices.
273           Say Y if you want to support video devices and functionality such as
274           video encode and decode.
275
276 config SDM_DISPCC_845
277         tristate "SDM845 Display Clock Controller"
278         select SDM_GCC_845
279         help
280           Support for the display clock controller on Qualcomm Technologies, Inc
281           SDM845 devices.
282           Say Y if you want to support display devices and functionality such as
283           splash screen.
284
285 config SDM_LPASSCC_845
286         tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller"
287         select SDM_GCC_845
288         help
289           Support for the LPASS clock controller on SDM845 devices.
290           Say Y if you want to use the LPASS branch clocks of the LPASS clock
291           controller to reset the LPASS subsystem.
292
293 config SM_GCC_8150
294         tristate "SM8150 Global Clock Controller"
295         help
296           Support for the global clock controller on SM8150 devices.
297           Say Y if you want to use peripheral devices such as UART,
298           SPI, I2C, USB, SD/UFS, PCIe etc.
299
300 config SPMI_PMIC_CLKDIV
301         tristate "SPMI PMIC clkdiv Support"
302         depends on SPMI || COMPILE_TEST
303         help
304           This driver supports the clkdiv functionality on the Qualcomm
305           Technologies, Inc. SPMI PMIC. It configures the frequency of
306           clkdiv outputs of the PMIC. These clocks are typically wired
307           through alternate functions on GPIO pins.
308
309 config QCOM_HFPLL
310         tristate "High-Frequency PLL (HFPLL) Clock Controller"
311         help
312           Support for the high-frequency PLLs present on Qualcomm devices.
313           Say Y if you want to support CPU frequency scaling on devices
314           such as MSM8974, APQ8084, etc.
315
316 config KPSS_XCC
317         tristate "KPSS Clock Controller"
318         help
319           Support for the Krait ACC and GCC clock controllers. Say Y
320           if you want to support CPU frequency scaling on devices such
321           as MSM8960, APQ8064, etc.
322
323 config KRAITCC
324         tristate "Krait Clock Controller"
325         depends on ARM
326         select KRAIT_CLOCKS
327         help
328           Support for the Krait CPU clocks on Qualcomm devices.
329           Say Y if you want to support CPU frequency scaling.
330
331 endif