xref: /openbmc/linux/drivers/clk/qcom/Kconfig (revision 78412c26)
173bb7dc0SStephen Boydconfig QCOM_GDSC
273bb7dc0SStephen Boyd	bool
373bb7dc0SStephen Boyd	select PM_GENERIC_DOMAINS if PM
473bb7dc0SStephen Boyd
500f64b58SGeorgi Djakovconfig QCOM_RPMCC
600f64b58SGeorgi Djakov	bool
700f64b58SGeorgi Djakov
8085d7a45SStephen Boydconfig COMMON_CLK_QCOM
9085d7a45SStephen Boyd	tristate "Support for Qualcomm's clock controllers"
10085d7a45SStephen Boyd	depends on OF
113937567dSBartlomiej Zolnierkiewicz	depends on ARCH_QCOM || COMPILE_TEST
12085d7a45SStephen Boyd	select REGMAP_MMIO
13b36ba30cSStephen Boyd	select RESET_CONTROLLER
142ec94130SStephen Boyd
150c6ab1b8SGeorgi Djakovconfig QCOM_A53PLL
160c6ab1b8SGeorgi Djakov	tristate "MSM8916 A53 PLL"
170c6ab1b8SGeorgi Djakov	depends on COMMON_CLK_QCOM
180c6ab1b8SGeorgi Djakov	default ARCH_QCOM
190c6ab1b8SGeorgi Djakov	help
200c6ab1b8SGeorgi Djakov	  Support for the A53 PLL on MSM8916 devices. It provides
210c6ab1b8SGeorgi Djakov	  the CPU with frequencies above 1GHz.
220c6ab1b8SGeorgi Djakov	  Say Y if you want to support higher CPU frequencies on MSM8916
230c6ab1b8SGeorgi Djakov	  devices.
240c6ab1b8SGeorgi Djakov
2581ac3884SGeorgi Djakovconfig QCOM_CLK_APCS_MSM8916
2681ac3884SGeorgi Djakov	tristate "MSM8916 APCS Clock Controller"
2781ac3884SGeorgi Djakov	depends on COMMON_CLK_QCOM
2881ac3884SGeorgi Djakov	depends on QCOM_APCS_IPC || COMPILE_TEST
2981ac3884SGeorgi Djakov	default ARCH_QCOM
3081ac3884SGeorgi Djakov	help
3181ac3884SGeorgi Djakov	  Support for the APCS Clock Controller on msm8916 devices. The
3281ac3884SGeorgi Djakov	  APCS is managing the mux and divider which feeds the CPUs.
3381ac3884SGeorgi Djakov	  Say Y if you want to support CPU frequency scaling on devices
3481ac3884SGeorgi Djakov	  such as msm8916.
3581ac3884SGeorgi Djakov
36872f91b5SGeorgi Djakovconfig QCOM_CLK_RPM
37872f91b5SGeorgi Djakov	tristate "RPM based Clock Controller"
38872f91b5SGeorgi Djakov	depends on COMMON_CLK_QCOM && MFD_QCOM_RPM
39872f91b5SGeorgi Djakov	select QCOM_RPMCC
40872f91b5SGeorgi Djakov	help
41872f91b5SGeorgi Djakov	  The RPM (Resource Power Manager) is a dedicated hardware engine for
42872f91b5SGeorgi Djakov	  managing the shared SoC resources in order to keep the lowest power
43872f91b5SGeorgi Djakov	  profile. It communicates with other hardware subsystems via shared
44872f91b5SGeorgi Djakov	  memory and accepts clock requests, aggregates the requests and turns
45872f91b5SGeorgi Djakov	  the clocks on/off or scales them on demand.
46872f91b5SGeorgi Djakov	  Say Y if you want to support the clocks exposed by the RPM on
47872f91b5SGeorgi Djakov	  platforms such as apq8064, msm8660, msm8960 etc.
48872f91b5SGeorgi Djakov
4900f64b58SGeorgi Djakovconfig QCOM_CLK_SMD_RPM
5000f64b58SGeorgi Djakov	tristate "RPM over SMD based Clock Controller"
5100f64b58SGeorgi Djakov	depends on COMMON_CLK_QCOM && QCOM_SMD_RPM
5200f64b58SGeorgi Djakov	select QCOM_RPMCC
5300f64b58SGeorgi Djakov	help
5400f64b58SGeorgi Djakov	  The RPM (Resource Power Manager) is a dedicated hardware engine for
5500f64b58SGeorgi Djakov	  managing the shared SoC resources in order to keep the lowest power
5600f64b58SGeorgi Djakov	  profile. It communicates with other hardware subsystems via shared
5700f64b58SGeorgi Djakov	  memory and accepts clock requests, aggregates the requests and turns
5800f64b58SGeorgi Djakov	  the clocks on/off or scales them on demand.
5900f64b58SGeorgi Djakov	  Say Y if you want to support the clocks exposed by the RPM on
6000f64b58SGeorgi Djakov	  platforms such as apq8016, apq8084, msm8974 etc.
6100f64b58SGeorgi Djakov
629c7e4702STaniya Dasconfig QCOM_CLK_RPMH
639c7e4702STaniya Das	tristate "RPMh Clock Driver"
649c7e4702STaniya Das	depends on COMMON_CLK_QCOM && QCOM_RPMH
659c7e4702STaniya Das	help
669c7e4702STaniya Das	 RPMh manages shared resources on some Qualcomm Technologies, Inc.
679c7e4702STaniya Das	 SoCs. It accepts requests from other hardware subsystems via RSC.
689c7e4702STaniya Das	 Say Y if you want to support the clocks exposed by RPMh on
699c7e4702STaniya Das	 platforms such as SDM845.
709c7e4702STaniya Das
7102824653SGeorgi Djakovconfig APQ_GCC_8084
7202824653SGeorgi Djakov	tristate "APQ8084 Global Clock Controller"
73639af949SRajendra Nayak	select QCOM_GDSC
7402824653SGeorgi Djakov	depends on COMMON_CLK_QCOM
7502824653SGeorgi Djakov	help
7602824653SGeorgi Djakov	  Support for the global clock controller on apq8084 devices.
7702824653SGeorgi Djakov	  Say Y if you want to use peripheral devices such as UART, SPI,
7802824653SGeorgi Djakov	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
7902824653SGeorgi Djakov
802b46cd23SGeorgi Djakovconfig APQ_MMCC_8084
812b46cd23SGeorgi Djakov	tristate "APQ8084 Multimedia Clock Controller"
822b46cd23SGeorgi Djakov	select APQ_GCC_8084
83cb2eb7deSStephane Viau	select QCOM_GDSC
842b46cd23SGeorgi Djakov	depends on COMMON_CLK_QCOM
852b46cd23SGeorgi Djakov	help
862b46cd23SGeorgi Djakov	  Support for the multimedia clock controller on apq8084 devices.
872b46cd23SGeorgi Djakov	  Say Y if you want to support multimedia devices such as display,
882b46cd23SGeorgi Djakov	  graphics, video encode/decode, camera, etc.
892b46cd23SGeorgi Djakov
906971e863SVaradarajan Narayananconfig IPQ_GCC_4019
916971e863SVaradarajan Narayanan	tristate "IPQ4019 Global Clock Controller"
926971e863SVaradarajan Narayanan	depends on COMMON_CLK_QCOM
936971e863SVaradarajan Narayanan	help
946971e863SVaradarajan Narayanan	  Support for the global clock controller on ipq4019 devices.
956971e863SVaradarajan Narayanan	  Say Y if you want to use peripheral devices such as UART, SPI,
966971e863SVaradarajan Narayanan	  i2c, USB, SD/eMMC, etc.
976971e863SVaradarajan Narayanan
9824d8fba4SKumar Galaconfig IPQ_GCC_806X
9924d8fba4SKumar Gala	tristate "IPQ806x Global Clock Controller"
10024d8fba4SKumar Gala	depends on COMMON_CLK_QCOM
10124d8fba4SKumar Gala	help
10224d8fba4SKumar Gala	  Support for the global clock controller on ipq806x devices.
10324d8fba4SKumar Gala	  Say Y if you want to use peripheral devices such as UART, SPI,
10424d8fba4SKumar Gala	  i2c, USB, SD/eMMC, etc.
10524d8fba4SKumar Gala
106c99e515aSRajendra Nayakconfig IPQ_LCC_806X
107c99e515aSRajendra Nayak	tristate "IPQ806x LPASS Clock Controller"
108c99e515aSRajendra Nayak	select IPQ_GCC_806X
109c99e515aSRajendra Nayak	depends on COMMON_CLK_QCOM
110c99e515aSRajendra Nayak	help
111c99e515aSRajendra Nayak	  Support for the LPASS clock controller on ipq806x devices.
112c99e515aSRajendra Nayak	  Say Y if you want to use audio devices such as i2s, pcm,
113c99e515aSRajendra Nayak	  S/PDIF, etc.
114c99e515aSRajendra Nayak
115371a9507SAbhishek Sahuconfig IPQ_GCC_8074
116371a9507SAbhishek Sahu	tristate "IPQ8074 Global Clock Controller"
117371a9507SAbhishek Sahu	depends on COMMON_CLK_QCOM
118371a9507SAbhishek Sahu	help
119371a9507SAbhishek Sahu	  Support for global clock controller on ipq8074 devices.
120371a9507SAbhishek Sahu	  Say Y if you want to use peripheral devices such as UART, SPI,
121371a9507SAbhishek Sahu	  i2c, USB, SD/eMMC, etc. Select this for the root clock
122371a9507SAbhishek Sahu	  of ipq8074.
123371a9507SAbhishek Sahu
1240eeff27bSStephen Boydconfig MSM_GCC_8660
1250eeff27bSStephen Boyd	tristate "MSM8660 Global Clock Controller"
1260eeff27bSStephen Boyd	depends on COMMON_CLK_QCOM
1270eeff27bSStephen Boyd	help
1280eeff27bSStephen Boyd	  Support for the global clock controller on msm8660 devices.
1290eeff27bSStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
1300eeff27bSStephen Boyd	  i2c, USB, SD/eMMC, etc.
1310eeff27bSStephen Boyd
1323966fab8SGeorgi Djakovconfig MSM_GCC_8916
1333966fab8SGeorgi Djakov	tristate "MSM8916 Global Clock Controller"
134073ae2b4SRajendra Nayak	select QCOM_GDSC
1353966fab8SGeorgi Djakov	depends on COMMON_CLK_QCOM
1363966fab8SGeorgi Djakov	help
1373966fab8SGeorgi Djakov	  Support for the global clock controller on msm8916 devices.
1383966fab8SGeorgi Djakov	  Say Y if you want to use devices such as UART, SPI i2c, USB,
1393966fab8SGeorgi Djakov	  SD/eMMC, display, graphics, camera etc.
1403966fab8SGeorgi Djakov
1412ec94130SStephen Boydconfig MSM_GCC_8960
1422d85a713SKumar Gala	tristate "APQ8064/MSM8960 Global Clock Controller"
1432ec94130SStephen Boyd	depends on COMMON_CLK_QCOM
1442ec94130SStephen Boyd	help
1452d85a713SKumar Gala	  Support for the global clock controller on apq8064/msm8960 devices.
1462ec94130SStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
1472ec94130SStephen Boyd	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
1486d00b56fSStephen Boyd
149b82875eeSStephen Boydconfig MSM_LCC_8960
150b82875eeSStephen Boyd	tristate "APQ8064/MSM8960 LPASS Clock Controller"
151b82875eeSStephen Boyd	select MSM_GCC_8960
152b82875eeSStephen Boyd	depends on COMMON_CLK_QCOM
153b82875eeSStephen Boyd	help
154b82875eeSStephen Boyd	  Support for the LPASS clock controller on apq8064/msm8960 devices.
155b82875eeSStephen Boyd	  Say Y if you want to use audio devices such as i2s, pcm,
156b82875eeSStephen Boyd	  SLIMBus, etc.
157b82875eeSStephen Boyd
1587792a8d6SNeil Armstrongconfig MDM_GCC_9615
1597792a8d6SNeil Armstrong	tristate "MDM9615 Global Clock Controller"
1607792a8d6SNeil Armstrong	depends on COMMON_CLK_QCOM
1617792a8d6SNeil Armstrong	help
1627792a8d6SNeil Armstrong	  Support for the global clock controller on mdm9615 devices.
1637792a8d6SNeil Armstrong	  Say Y if you want to use peripheral devices such as UART, SPI,
1647792a8d6SNeil Armstrong	  i2c, USB, SD/eMMC, etc.
1657792a8d6SNeil Armstrong
1667792a8d6SNeil Armstrongconfig MDM_LCC_9615
1677792a8d6SNeil Armstrong	tristate "MDM9615 LPASS Clock Controller"
1687792a8d6SNeil Armstrong	select MDM_GCC_9615
1697792a8d6SNeil Armstrong	depends on COMMON_CLK_QCOM
1707792a8d6SNeil Armstrong	help
1717792a8d6SNeil Armstrong	  Support for the LPASS clock controller on mdm9615 devices.
1727792a8d6SNeil Armstrong	  Say Y if you want to use audio devices such as i2s, pcm,
1737792a8d6SNeil Armstrong	  SLIMBus, etc.
1747792a8d6SNeil Armstrong
1756d00b56fSStephen Boydconfig MSM_MMCC_8960
1766d00b56fSStephen Boyd	tristate "MSM8960 Multimedia Clock Controller"
1776d00b56fSStephen Boyd	select MSM_GCC_8960
1786d00b56fSStephen Boyd	depends on COMMON_CLK_QCOM
1796d00b56fSStephen Boyd	help
1806d00b56fSStephen Boyd	  Support for the multimedia clock controller on msm8960 devices.
1816d00b56fSStephen Boyd	  Say Y if you want to support multimedia devices such as display,
1826d00b56fSStephen Boyd	  graphics, video encode/decode, camera, etc.
183d33faa9eSStephen Boyd
184d33faa9eSStephen Boydconfig MSM_GCC_8974
185d33faa9eSStephen Boyd	tristate "MSM8974 Global Clock Controller"
186340029efSStephen Boyd	select QCOM_GDSC
187d33faa9eSStephen Boyd	depends on COMMON_CLK_QCOM
188d33faa9eSStephen Boyd	help
189d33faa9eSStephen Boyd	  Support for the global clock controller on msm8974 devices.
190d33faa9eSStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
191d33faa9eSStephen Boyd	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
192d8b21201SStephen Boyd
193d8b21201SStephen Boydconfig MSM_MMCC_8974
194d8b21201SStephen Boyd	tristate "MSM8974 Multimedia Clock Controller"
195d8b21201SStephen Boyd	select MSM_GCC_8974
1968108b23cSStephen Boyd	select QCOM_GDSC
197d8b21201SStephen Boyd	depends on COMMON_CLK_QCOM
198d8b21201SStephen Boyd	help
199d8b21201SStephen Boyd	  Support for the multimedia clock controller on msm8974 devices.
200d8b21201SStephen Boyd	  Say Y if you want to support multimedia devices such as display,
201d8b21201SStephen Boyd	  graphics, video encode/decode, camera, etc.
202b1e010c0SStephen Boyd
203aec89f78SBastian Köcherconfig MSM_GCC_8994
204aec89f78SBastian Köcher	tristate "MSM8994 Global Clock Controller"
205aec89f78SBastian Köcher	depends on COMMON_CLK_QCOM
206aec89f78SBastian Köcher	help
207aec89f78SBastian Köcher	  Support for the global clock controller on msm8994 devices.
208aec89f78SBastian Köcher	  Say Y if you want to use peripheral devices such as UART, SPI,
209aec89f78SBastian Köcher	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
210aec89f78SBastian Köcher
211b1e010c0SStephen Boydconfig MSM_GCC_8996
212b1e010c0SStephen Boyd	tristate "MSM8996 Global Clock Controller"
2136d91f2c0SSrinivas Kandagatla	select QCOM_GDSC
214b1e010c0SStephen Boyd	depends on COMMON_CLK_QCOM
215b1e010c0SStephen Boyd	help
216b1e010c0SStephen Boyd	  Support for the global clock controller on msm8996 devices.
217b1e010c0SStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
218b1e010c0SStephen Boyd	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
219c2526597SStephen Boyd
220c2526597SStephen Boydconfig MSM_MMCC_8996
221c2526597SStephen Boyd	tristate "MSM8996 Multimedia Clock Controller"
222c2526597SStephen Boyd	select MSM_GCC_8996
2236d91f2c0SSrinivas Kandagatla	select QCOM_GDSC
224c2526597SStephen Boyd	depends on COMMON_CLK_QCOM
225c2526597SStephen Boyd	help
226c2526597SStephen Boyd	  Support for the multimedia clock controller on msm8996 devices.
227c2526597SStephen Boyd	  Say Y if you want to support multimedia devices such as display,
228c2526597SStephen Boyd	  graphics, video encode/decode, camera, etc.
2294cfaa55fSTirupathi Reddy
230b5f5f525SJoonwoo Parkconfig MSM_GCC_8998
231b5f5f525SJoonwoo Park	tristate "MSM8998 Global Clock Controller"
232b5f5f525SJoonwoo Park	depends on COMMON_CLK_QCOM
233b5f5f525SJoonwoo Park	help
234b5f5f525SJoonwoo Park	  Support for the global clock controller on msm8998 devices.
235b5f5f525SJoonwoo Park	  Say Y if you want to use peripheral devices such as UART, SPI,
236b5f5f525SJoonwoo Park	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
237b5f5f525SJoonwoo Park
23878412c26SAmit Nischalconfig SDM_CAMCC_845
23978412c26SAmit Nischal	tristate "SDM845 Camera Clock Controller"
24078412c26SAmit Nischal	depends on COMMON_CLK_QCOM
24178412c26SAmit Nischal	select SDM_GCC_845
24278412c26SAmit Nischal	help
24378412c26SAmit Nischal	  Support for the camera clock controller on SDM845 devices.
24478412c26SAmit Nischal	  Say Y if you want to support camera devices and camera functionality.
24578412c26SAmit Nischal
24606391eddSTaniya Dasconfig SDM_GCC_845
24706391eddSTaniya Das	tristate "SDM845 Global Clock Controller"
24806391eddSTaniya Das	select QCOM_GDSC
24906391eddSTaniya Das	depends on COMMON_CLK_QCOM
25006391eddSTaniya Das	help
25177122d6fSStephen Boyd	  Support for the global clock controller on SDM845 devices.
25206391eddSTaniya Das	  Say Y if you want to use peripheral devices such as UART, SPI,
25377122d6fSStephen Boyd	  i2C, USB, UFS, SDDC, PCIe, etc.
25406391eddSTaniya Das
255c646b347SAmit Nischalconfig SDM_VIDEOCC_845
256c646b347SAmit Nischal	tristate "SDM845 Video Clock Controller"
257c646b347SAmit Nischal	depends on COMMON_CLK_QCOM
258c646b347SAmit Nischal	select SDM_GCC_845
259c646b347SAmit Nischal	select QCOM_GDSC
260c646b347SAmit Nischal	help
26177122d6fSStephen Boyd	  Support for the video clock controller on SDM845 devices.
262c646b347SAmit Nischal	  Say Y if you want to support video devices and functionality such as
263c646b347SAmit Nischal	  video encode and decode.
264c646b347SAmit Nischal
26581351776STaniya Dasconfig SDM_DISPCC_845
26681351776STaniya Das	tristate "SDM845 Display Clock Controller"
26781351776STaniya Das	select SDM_GCC_845
26881351776STaniya Das	depends on COMMON_CLK_QCOM
26981351776STaniya Das	help
27081351776STaniya Das	  Support for the display clock controller on Qualcomm Technologies, Inc
27181351776STaniya Das	  SDM845 devices.
27281351776STaniya Das	  Say Y if you want to support display devices and functionality such as
27381351776STaniya Das	  splash screen.
27481351776STaniya Das
2754cfaa55fSTirupathi Reddyconfig SPMI_PMIC_CLKDIV
2764cfaa55fSTirupathi Reddy	tristate "SPMI PMIC clkdiv Support"
2774cfaa55fSTirupathi Reddy	depends on (COMMON_CLK_QCOM && SPMI) || COMPILE_TEST
2784cfaa55fSTirupathi Reddy	help
2794cfaa55fSTirupathi Reddy	  This driver supports the clkdiv functionality on the Qualcomm
2804cfaa55fSTirupathi Reddy	  Technologies, Inc. SPMI PMIC. It configures the frequency of
2814cfaa55fSTirupathi Reddy	  clkdiv outputs of the PMIC. These clocks are typically wired
2824cfaa55fSTirupathi Reddy	  through alternate functions on GPIO pins.
283