xref: /openbmc/linux/drivers/clk/qcom/Kconfig (revision bb5c4a85)
14d7dc77bSStephen Boydconfig KRAIT_CLOCKS
24d7dc77bSStephen Boyd       bool
34d7dc77bSStephen Boyd       select KRAIT_L2_ACCESSORS
44d7dc77bSStephen Boyd
573bb7dc0SStephen Boydconfig QCOM_GDSC
673bb7dc0SStephen Boyd	bool
773bb7dc0SStephen Boyd	select PM_GENERIC_DOMAINS if PM
873bb7dc0SStephen Boyd
900f64b58SGeorgi Djakovconfig QCOM_RPMCC
1000f64b58SGeorgi Djakov	bool
1100f64b58SGeorgi Djakov
12085d7a45SStephen Boydconfig COMMON_CLK_QCOM
13085d7a45SStephen Boyd	tristate "Support for Qualcomm's clock controllers"
14085d7a45SStephen Boyd	depends on OF
153937567dSBartlomiej Zolnierkiewicz	depends on ARCH_QCOM || COMPILE_TEST
16085d7a45SStephen Boyd	select REGMAP_MMIO
17b36ba30cSStephen Boyd	select RESET_CONTROLLER
182ec94130SStephen Boyd
190c6ab1b8SGeorgi Djakovconfig QCOM_A53PLL
200c6ab1b8SGeorgi Djakov	tristate "MSM8916 A53 PLL"
210c6ab1b8SGeorgi Djakov	depends on COMMON_CLK_QCOM
220c6ab1b8SGeorgi Djakov	default ARCH_QCOM
230c6ab1b8SGeorgi Djakov	help
240c6ab1b8SGeorgi Djakov	  Support for the A53 PLL on MSM8916 devices. It provides
250c6ab1b8SGeorgi Djakov	  the CPU with frequencies above 1GHz.
260c6ab1b8SGeorgi Djakov	  Say Y if you want to support higher CPU frequencies on MSM8916
270c6ab1b8SGeorgi Djakov	  devices.
280c6ab1b8SGeorgi Djakov
2981ac3884SGeorgi Djakovconfig QCOM_CLK_APCS_MSM8916
3081ac3884SGeorgi Djakov	tristate "MSM8916 APCS Clock Controller"
3181ac3884SGeorgi Djakov	depends on COMMON_CLK_QCOM
3281ac3884SGeorgi Djakov	depends on QCOM_APCS_IPC || COMPILE_TEST
3381ac3884SGeorgi Djakov	default ARCH_QCOM
3481ac3884SGeorgi Djakov	help
3581ac3884SGeorgi Djakov	  Support for the APCS Clock Controller on msm8916 devices. The
3681ac3884SGeorgi Djakov	  APCS is managing the mux and divider which feeds the CPUs.
3781ac3884SGeorgi Djakov	  Say Y if you want to support CPU frequency scaling on devices
3881ac3884SGeorgi Djakov	  such as msm8916.
3981ac3884SGeorgi Djakov
40872f91b5SGeorgi Djakovconfig QCOM_CLK_RPM
41872f91b5SGeorgi Djakov	tristate "RPM based Clock Controller"
42872f91b5SGeorgi Djakov	depends on COMMON_CLK_QCOM && MFD_QCOM_RPM
43872f91b5SGeorgi Djakov	select QCOM_RPMCC
44872f91b5SGeorgi Djakov	help
45872f91b5SGeorgi Djakov	  The RPM (Resource Power Manager) is a dedicated hardware engine for
46872f91b5SGeorgi Djakov	  managing the shared SoC resources in order to keep the lowest power
47872f91b5SGeorgi Djakov	  profile. It communicates with other hardware subsystems via shared
48872f91b5SGeorgi Djakov	  memory and accepts clock requests, aggregates the requests and turns
49872f91b5SGeorgi Djakov	  the clocks on/off or scales them on demand.
50872f91b5SGeorgi Djakov	  Say Y if you want to support the clocks exposed by the RPM on
51872f91b5SGeorgi Djakov	  platforms such as apq8064, msm8660, msm8960 etc.
52872f91b5SGeorgi Djakov
5300f64b58SGeorgi Djakovconfig QCOM_CLK_SMD_RPM
5400f64b58SGeorgi Djakov	tristate "RPM over SMD based Clock Controller"
5500f64b58SGeorgi Djakov	depends on COMMON_CLK_QCOM && QCOM_SMD_RPM
5600f64b58SGeorgi Djakov	select QCOM_RPMCC
5700f64b58SGeorgi Djakov	help
5800f64b58SGeorgi Djakov	  The RPM (Resource Power Manager) is a dedicated hardware engine for
5900f64b58SGeorgi Djakov	  managing the shared SoC resources in order to keep the lowest power
6000f64b58SGeorgi Djakov	  profile. It communicates with other hardware subsystems via shared
6100f64b58SGeorgi Djakov	  memory and accepts clock requests, aggregates the requests and turns
6200f64b58SGeorgi Djakov	  the clocks on/off or scales them on demand.
6300f64b58SGeorgi Djakov	  Say Y if you want to support the clocks exposed by the RPM on
6400f64b58SGeorgi Djakov	  platforms such as apq8016, apq8084, msm8974 etc.
6500f64b58SGeorgi Djakov
669c7e4702STaniya Dasconfig QCOM_CLK_RPMH
679c7e4702STaniya Das	tristate "RPMh Clock Driver"
689c7e4702STaniya Das	depends on COMMON_CLK_QCOM && QCOM_RPMH
699c7e4702STaniya Das	help
709c7e4702STaniya Das	 RPMh manages shared resources on some Qualcomm Technologies, Inc.
719c7e4702STaniya Das	 SoCs. It accepts requests from other hardware subsystems via RSC.
729c7e4702STaniya Das	 Say Y if you want to support the clocks exposed by RPMh on
739c7e4702STaniya Das	 platforms such as SDM845.
749c7e4702STaniya Das
7502824653SGeorgi Djakovconfig APQ_GCC_8084
7602824653SGeorgi Djakov	tristate "APQ8084 Global Clock Controller"
77639af949SRajendra Nayak	select QCOM_GDSC
7802824653SGeorgi Djakov	depends on COMMON_CLK_QCOM
7902824653SGeorgi Djakov	help
8002824653SGeorgi Djakov	  Support for the global clock controller on apq8084 devices.
8102824653SGeorgi Djakov	  Say Y if you want to use peripheral devices such as UART, SPI,
8202824653SGeorgi Djakov	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
8302824653SGeorgi Djakov
842b46cd23SGeorgi Djakovconfig APQ_MMCC_8084
852b46cd23SGeorgi Djakov	tristate "APQ8084 Multimedia Clock Controller"
862b46cd23SGeorgi Djakov	select APQ_GCC_8084
87cb2eb7deSStephane Viau	select QCOM_GDSC
882b46cd23SGeorgi Djakov	depends on COMMON_CLK_QCOM
892b46cd23SGeorgi Djakov	help
902b46cd23SGeorgi Djakov	  Support for the multimedia clock controller on apq8084 devices.
912b46cd23SGeorgi Djakov	  Say Y if you want to support multimedia devices such as display,
922b46cd23SGeorgi Djakov	  graphics, video encode/decode, camera, etc.
932b46cd23SGeorgi Djakov
946971e863SVaradarajan Narayananconfig IPQ_GCC_4019
956971e863SVaradarajan Narayanan	tristate "IPQ4019 Global Clock Controller"
966971e863SVaradarajan Narayanan	depends on COMMON_CLK_QCOM
976971e863SVaradarajan Narayanan	help
986971e863SVaradarajan Narayanan	  Support for the global clock controller on ipq4019 devices.
996971e863SVaradarajan Narayanan	  Say Y if you want to use peripheral devices such as UART, SPI,
1006971e863SVaradarajan Narayanan	  i2c, USB, SD/eMMC, etc.
1016971e863SVaradarajan Narayanan
10224d8fba4SKumar Galaconfig IPQ_GCC_806X
10324d8fba4SKumar Gala	tristate "IPQ806x Global Clock Controller"
10424d8fba4SKumar Gala	depends on COMMON_CLK_QCOM
10524d8fba4SKumar Gala	help
10624d8fba4SKumar Gala	  Support for the global clock controller on ipq806x devices.
10724d8fba4SKumar Gala	  Say Y if you want to use peripheral devices such as UART, SPI,
10824d8fba4SKumar Gala	  i2c, USB, SD/eMMC, etc.
10924d8fba4SKumar Gala
110c99e515aSRajendra Nayakconfig IPQ_LCC_806X
111c99e515aSRajendra Nayak	tristate "IPQ806x LPASS Clock Controller"
112c99e515aSRajendra Nayak	select IPQ_GCC_806X
113c99e515aSRajendra Nayak	depends on COMMON_CLK_QCOM
114c99e515aSRajendra Nayak	help
115c99e515aSRajendra Nayak	  Support for the LPASS clock controller on ipq806x devices.
116c99e515aSRajendra Nayak	  Say Y if you want to use audio devices such as i2s, pcm,
117c99e515aSRajendra Nayak	  S/PDIF, etc.
118c99e515aSRajendra Nayak
119371a9507SAbhishek Sahuconfig IPQ_GCC_8074
120371a9507SAbhishek Sahu	tristate "IPQ8074 Global Clock Controller"
121371a9507SAbhishek Sahu	depends on COMMON_CLK_QCOM
122371a9507SAbhishek Sahu	help
123371a9507SAbhishek Sahu	  Support for global clock controller on ipq8074 devices.
124371a9507SAbhishek Sahu	  Say Y if you want to use peripheral devices such as UART, SPI,
125371a9507SAbhishek Sahu	  i2c, USB, SD/eMMC, etc. Select this for the root clock
126371a9507SAbhishek Sahu	  of ipq8074.
127371a9507SAbhishek Sahu
1280eeff27bSStephen Boydconfig MSM_GCC_8660
1290eeff27bSStephen Boyd	tristate "MSM8660 Global Clock Controller"
1300eeff27bSStephen Boyd	depends on COMMON_CLK_QCOM
1310eeff27bSStephen Boyd	help
1320eeff27bSStephen Boyd	  Support for the global clock controller on msm8660 devices.
1330eeff27bSStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
1340eeff27bSStephen Boyd	  i2c, USB, SD/eMMC, etc.
1350eeff27bSStephen Boyd
1363966fab8SGeorgi Djakovconfig MSM_GCC_8916
1373966fab8SGeorgi Djakov	tristate "MSM8916 Global Clock Controller"
138073ae2b4SRajendra Nayak	select QCOM_GDSC
1393966fab8SGeorgi Djakov	depends on COMMON_CLK_QCOM
1403966fab8SGeorgi Djakov	help
1413966fab8SGeorgi Djakov	  Support for the global clock controller on msm8916 devices.
1423966fab8SGeorgi Djakov	  Say Y if you want to use devices such as UART, SPI i2c, USB,
1433966fab8SGeorgi Djakov	  SD/eMMC, display, graphics, camera etc.
1443966fab8SGeorgi Djakov
1452ec94130SStephen Boydconfig MSM_GCC_8960
1462d85a713SKumar Gala	tristate "APQ8064/MSM8960 Global Clock Controller"
1472ec94130SStephen Boyd	depends on COMMON_CLK_QCOM
1482ec94130SStephen Boyd	help
1492d85a713SKumar Gala	  Support for the global clock controller on apq8064/msm8960 devices.
1502ec94130SStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
1512ec94130SStephen Boyd	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
1526d00b56fSStephen Boyd
153b82875eeSStephen Boydconfig MSM_LCC_8960
154b82875eeSStephen Boyd	tristate "APQ8064/MSM8960 LPASS Clock Controller"
155b82875eeSStephen Boyd	select MSM_GCC_8960
156b82875eeSStephen Boyd	depends on COMMON_CLK_QCOM
157b82875eeSStephen Boyd	help
158b82875eeSStephen Boyd	  Support for the LPASS clock controller on apq8064/msm8960 devices.
159b82875eeSStephen Boyd	  Say Y if you want to use audio devices such as i2s, pcm,
160b82875eeSStephen Boyd	  SLIMBus, etc.
161b82875eeSStephen Boyd
1627792a8d6SNeil Armstrongconfig MDM_GCC_9615
1637792a8d6SNeil Armstrong	tristate "MDM9615 Global Clock Controller"
1647792a8d6SNeil Armstrong	depends on COMMON_CLK_QCOM
1657792a8d6SNeil Armstrong	help
1667792a8d6SNeil Armstrong	  Support for the global clock controller on mdm9615 devices.
1677792a8d6SNeil Armstrong	  Say Y if you want to use peripheral devices such as UART, SPI,
1687792a8d6SNeil Armstrong	  i2c, USB, SD/eMMC, etc.
1697792a8d6SNeil Armstrong
1707792a8d6SNeil Armstrongconfig MDM_LCC_9615
1717792a8d6SNeil Armstrong	tristate "MDM9615 LPASS Clock Controller"
1727792a8d6SNeil Armstrong	select MDM_GCC_9615
1737792a8d6SNeil Armstrong	depends on COMMON_CLK_QCOM
1747792a8d6SNeil Armstrong	help
1757792a8d6SNeil Armstrong	  Support for the LPASS clock controller on mdm9615 devices.
1767792a8d6SNeil Armstrong	  Say Y if you want to use audio devices such as i2s, pcm,
1777792a8d6SNeil Armstrong	  SLIMBus, etc.
1787792a8d6SNeil Armstrong
1796d00b56fSStephen Boydconfig MSM_MMCC_8960
1806d00b56fSStephen Boyd	tristate "MSM8960 Multimedia Clock Controller"
1816d00b56fSStephen Boyd	select MSM_GCC_8960
1826d00b56fSStephen Boyd	depends on COMMON_CLK_QCOM
1836d00b56fSStephen Boyd	help
1846d00b56fSStephen Boyd	  Support for the multimedia clock controller on msm8960 devices.
1856d00b56fSStephen Boyd	  Say Y if you want to support multimedia devices such as display,
1866d00b56fSStephen Boyd	  graphics, video encode/decode, camera, etc.
187d33faa9eSStephen Boyd
188d33faa9eSStephen Boydconfig MSM_GCC_8974
189d33faa9eSStephen Boyd	tristate "MSM8974 Global Clock Controller"
190340029efSStephen Boyd	select QCOM_GDSC
191d33faa9eSStephen Boyd	depends on COMMON_CLK_QCOM
192d33faa9eSStephen Boyd	help
193d33faa9eSStephen Boyd	  Support for the global clock controller on msm8974 devices.
194d33faa9eSStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
195d33faa9eSStephen Boyd	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
196d8b21201SStephen Boyd
197d8b21201SStephen Boydconfig MSM_MMCC_8974
198d8b21201SStephen Boyd	tristate "MSM8974 Multimedia Clock Controller"
199d8b21201SStephen Boyd	select MSM_GCC_8974
2008108b23cSStephen Boyd	select QCOM_GDSC
201d8b21201SStephen Boyd	depends on COMMON_CLK_QCOM
202d8b21201SStephen Boyd	help
203d8b21201SStephen Boyd	  Support for the multimedia clock controller on msm8974 devices.
204d8b21201SStephen Boyd	  Say Y if you want to support multimedia devices such as display,
205d8b21201SStephen Boyd	  graphics, video encode/decode, camera, etc.
206b1e010c0SStephen Boyd
207aec89f78SBastian Köcherconfig MSM_GCC_8994
208aec89f78SBastian Köcher	tristate "MSM8994 Global Clock Controller"
209aec89f78SBastian Köcher	depends on COMMON_CLK_QCOM
210aec89f78SBastian Köcher	help
211aec89f78SBastian Köcher	  Support for the global clock controller on msm8994 devices.
212aec89f78SBastian Köcher	  Say Y if you want to use peripheral devices such as UART, SPI,
213aec89f78SBastian Köcher	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
214aec89f78SBastian Köcher
215b1e010c0SStephen Boydconfig MSM_GCC_8996
216b1e010c0SStephen Boyd	tristate "MSM8996 Global Clock Controller"
2176d91f2c0SSrinivas Kandagatla	select QCOM_GDSC
218b1e010c0SStephen Boyd	depends on COMMON_CLK_QCOM
219b1e010c0SStephen Boyd	help
220b1e010c0SStephen Boyd	  Support for the global clock controller on msm8996 devices.
221b1e010c0SStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
222b1e010c0SStephen Boyd	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
223c2526597SStephen Boyd
224c2526597SStephen Boydconfig MSM_MMCC_8996
225c2526597SStephen Boyd	tristate "MSM8996 Multimedia Clock Controller"
226c2526597SStephen Boyd	select MSM_GCC_8996
2276d91f2c0SSrinivas Kandagatla	select QCOM_GDSC
228c2526597SStephen Boyd	depends on COMMON_CLK_QCOM
229c2526597SStephen Boyd	help
230c2526597SStephen Boyd	  Support for the multimedia clock controller on msm8996 devices.
231c2526597SStephen Boyd	  Say Y if you want to support multimedia devices such as display,
232c2526597SStephen Boyd	  graphics, video encode/decode, camera, etc.
2334cfaa55fSTirupathi Reddy
234b5f5f525SJoonwoo Parkconfig MSM_GCC_8998
235b5f5f525SJoonwoo Park	tristate "MSM8998 Global Clock Controller"
236b5f5f525SJoonwoo Park	depends on COMMON_CLK_QCOM
237b5f5f525SJoonwoo Park	help
238b5f5f525SJoonwoo Park	  Support for the global clock controller on msm8998 devices.
239b5f5f525SJoonwoo Park	  Say Y if you want to use peripheral devices such as UART, SPI,
240b5f5f525SJoonwoo Park	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
241b5f5f525SJoonwoo Park
24206391eddSTaniya Dasconfig SDM_GCC_845
24306391eddSTaniya Das	tristate "SDM845 Global Clock Controller"
24406391eddSTaniya Das	select QCOM_GDSC
24506391eddSTaniya Das	depends on COMMON_CLK_QCOM
24606391eddSTaniya Das	help
24777122d6fSStephen Boyd	  Support for the global clock controller on SDM845 devices.
24806391eddSTaniya Das	  Say Y if you want to use peripheral devices such as UART, SPI,
24977122d6fSStephen Boyd	  i2C, USB, UFS, SDDC, PCIe, etc.
25006391eddSTaniya Das
251c646b347SAmit Nischalconfig SDM_VIDEOCC_845
252c646b347SAmit Nischal	tristate "SDM845 Video Clock Controller"
253c646b347SAmit Nischal	depends on COMMON_CLK_QCOM
254c646b347SAmit Nischal	select SDM_GCC_845
255c646b347SAmit Nischal	select QCOM_GDSC
256c646b347SAmit Nischal	help
25777122d6fSStephen Boyd	  Support for the video clock controller on SDM845 devices.
258c646b347SAmit Nischal	  Say Y if you want to support video devices and functionality such as
259c646b347SAmit Nischal	  video encode and decode.
260c646b347SAmit Nischal
26181351776STaniya Dasconfig SDM_DISPCC_845
26281351776STaniya Das	tristate "SDM845 Display Clock Controller"
26381351776STaniya Das	select SDM_GCC_845
26481351776STaniya Das	depends on COMMON_CLK_QCOM
26581351776STaniya Das	help
26681351776STaniya Das	  Support for the display clock controller on Qualcomm Technologies, Inc
26781351776STaniya Das	  SDM845 devices.
26881351776STaniya Das	  Say Y if you want to support display devices and functionality such as
26981351776STaniya Das	  splash screen.
27081351776STaniya Das
2714cfaa55fSTirupathi Reddyconfig SPMI_PMIC_CLKDIV
2724cfaa55fSTirupathi Reddy	tristate "SPMI PMIC clkdiv Support"
2734cfaa55fSTirupathi Reddy	depends on (COMMON_CLK_QCOM && SPMI) || COMPILE_TEST
2744cfaa55fSTirupathi Reddy	help
2754cfaa55fSTirupathi Reddy	  This driver supports the clkdiv functionality on the Qualcomm
2764cfaa55fSTirupathi Reddy	  Technologies, Inc. SPMI PMIC. It configures the frequency of
2774cfaa55fSTirupathi Reddy	  clkdiv outputs of the PMIC. These clocks are typically wired
2784cfaa55fSTirupathi Reddy	  through alternate functions on GPIO pins.
279cb546b79SStephen Boyd
280cb546b79SStephen Boydconfig QCOM_HFPLL
281cb546b79SStephen Boyd	tristate "High-Frequency PLL (HFPLL) Clock Controller"
282cb546b79SStephen Boyd	depends on COMMON_CLK_QCOM
283cb546b79SStephen Boyd	help
284cb546b79SStephen Boyd	  Support for the high-frequency PLLs present on Qualcomm devices.
285cb546b79SStephen Boyd	  Say Y if you want to support CPU frequency scaling on devices
286cb546b79SStephen Boyd	  such as MSM8974, APQ8084, etc.
2873ddc3564SStephen Boyd
2883ddc3564SStephen Boydconfig KPSS_XCC
2893ddc3564SStephen Boyd	tristate "KPSS Clock Controller"
2903ddc3564SStephen Boyd	depends on COMMON_CLK_QCOM
2913ddc3564SStephen Boyd	help
2923ddc3564SStephen Boyd	  Support for the Krait ACC and GCC clock controllers. Say Y
2933ddc3564SStephen Boyd	  if you want to support CPU frequency scaling on devices such
2943ddc3564SStephen Boyd	  as MSM8960, APQ8064, etc.
295bb5c4a85SStephen Boyd
296bb5c4a85SStephen Boydconfig KRAITCC
297bb5c4a85SStephen Boyd	tristate "Krait Clock Controller"
298bb5c4a85SStephen Boyd	depends on COMMON_CLK_QCOM && ARM
299bb5c4a85SStephen Boyd	select KRAIT_CLOCKS
300bb5c4a85SStephen Boyd	help
301bb5c4a85SStephen Boyd	  Support for the Krait CPU clocks on Qualcomm devices.
302bb5c4a85SStephen Boyd	  Say Y if you want to support CPU frequency scaling.
303