xref: /openbmc/linux/drivers/clk/qcom/Kconfig (revision 06391edd)
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
6202824653SGeorgi Djakovconfig APQ_GCC_8084
6302824653SGeorgi Djakov	tristate "APQ8084 Global Clock Controller"
64639af949SRajendra Nayak	select QCOM_GDSC
6502824653SGeorgi Djakov	depends on COMMON_CLK_QCOM
6602824653SGeorgi Djakov	help
6702824653SGeorgi Djakov	  Support for the global clock controller on apq8084 devices.
6802824653SGeorgi Djakov	  Say Y if you want to use peripheral devices such as UART, SPI,
6902824653SGeorgi Djakov	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
7002824653SGeorgi Djakov
712b46cd23SGeorgi Djakovconfig APQ_MMCC_8084
722b46cd23SGeorgi Djakov	tristate "APQ8084 Multimedia Clock Controller"
732b46cd23SGeorgi Djakov	select APQ_GCC_8084
74cb2eb7deSStephane Viau	select QCOM_GDSC
752b46cd23SGeorgi Djakov	depends on COMMON_CLK_QCOM
762b46cd23SGeorgi Djakov	help
772b46cd23SGeorgi Djakov	  Support for the multimedia clock controller on apq8084 devices.
782b46cd23SGeorgi Djakov	  Say Y if you want to support multimedia devices such as display,
792b46cd23SGeorgi Djakov	  graphics, video encode/decode, camera, etc.
802b46cd23SGeorgi Djakov
816971e863SVaradarajan Narayananconfig IPQ_GCC_4019
826971e863SVaradarajan Narayanan	tristate "IPQ4019 Global Clock Controller"
836971e863SVaradarajan Narayanan	depends on COMMON_CLK_QCOM
846971e863SVaradarajan Narayanan	help
856971e863SVaradarajan Narayanan	  Support for the global clock controller on ipq4019 devices.
866971e863SVaradarajan Narayanan	  Say Y if you want to use peripheral devices such as UART, SPI,
876971e863SVaradarajan Narayanan	  i2c, USB, SD/eMMC, etc.
886971e863SVaradarajan Narayanan
8924d8fba4SKumar Galaconfig IPQ_GCC_806X
9024d8fba4SKumar Gala	tristate "IPQ806x Global Clock Controller"
9124d8fba4SKumar Gala	depends on COMMON_CLK_QCOM
9224d8fba4SKumar Gala	help
9324d8fba4SKumar Gala	  Support for the global clock controller on ipq806x devices.
9424d8fba4SKumar Gala	  Say Y if you want to use peripheral devices such as UART, SPI,
9524d8fba4SKumar Gala	  i2c, USB, SD/eMMC, etc.
9624d8fba4SKumar Gala
97c99e515aSRajendra Nayakconfig IPQ_LCC_806X
98c99e515aSRajendra Nayak	tristate "IPQ806x LPASS Clock Controller"
99c99e515aSRajendra Nayak	select IPQ_GCC_806X
100c99e515aSRajendra Nayak	depends on COMMON_CLK_QCOM
101c99e515aSRajendra Nayak	help
102c99e515aSRajendra Nayak	  Support for the LPASS clock controller on ipq806x devices.
103c99e515aSRajendra Nayak	  Say Y if you want to use audio devices such as i2s, pcm,
104c99e515aSRajendra Nayak	  S/PDIF, etc.
105c99e515aSRajendra Nayak
106371a9507SAbhishek Sahuconfig IPQ_GCC_8074
107371a9507SAbhishek Sahu	tristate "IPQ8074 Global Clock Controller"
108371a9507SAbhishek Sahu	depends on COMMON_CLK_QCOM
109371a9507SAbhishek Sahu	help
110371a9507SAbhishek Sahu	  Support for global clock controller on ipq8074 devices.
111371a9507SAbhishek Sahu	  Say Y if you want to use peripheral devices such as UART, SPI,
112371a9507SAbhishek Sahu	  i2c, USB, SD/eMMC, etc. Select this for the root clock
113371a9507SAbhishek Sahu	  of ipq8074.
114371a9507SAbhishek Sahu
1150eeff27bSStephen Boydconfig MSM_GCC_8660
1160eeff27bSStephen Boyd	tristate "MSM8660 Global Clock Controller"
1170eeff27bSStephen Boyd	depends on COMMON_CLK_QCOM
1180eeff27bSStephen Boyd	help
1190eeff27bSStephen Boyd	  Support for the global clock controller on msm8660 devices.
1200eeff27bSStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
1210eeff27bSStephen Boyd	  i2c, USB, SD/eMMC, etc.
1220eeff27bSStephen Boyd
1233966fab8SGeorgi Djakovconfig MSM_GCC_8916
1243966fab8SGeorgi Djakov	tristate "MSM8916 Global Clock Controller"
125073ae2b4SRajendra Nayak	select QCOM_GDSC
1263966fab8SGeorgi Djakov	depends on COMMON_CLK_QCOM
1273966fab8SGeorgi Djakov	help
1283966fab8SGeorgi Djakov	  Support for the global clock controller on msm8916 devices.
1293966fab8SGeorgi Djakov	  Say Y if you want to use devices such as UART, SPI i2c, USB,
1303966fab8SGeorgi Djakov	  SD/eMMC, display, graphics, camera etc.
1313966fab8SGeorgi Djakov
1322ec94130SStephen Boydconfig MSM_GCC_8960
1332d85a713SKumar Gala	tristate "APQ8064/MSM8960 Global Clock Controller"
1342ec94130SStephen Boyd	depends on COMMON_CLK_QCOM
1352ec94130SStephen Boyd	help
1362d85a713SKumar Gala	  Support for the global clock controller on apq8064/msm8960 devices.
1372ec94130SStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
1382ec94130SStephen Boyd	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
1396d00b56fSStephen Boyd
140b82875eeSStephen Boydconfig MSM_LCC_8960
141b82875eeSStephen Boyd	tristate "APQ8064/MSM8960 LPASS Clock Controller"
142b82875eeSStephen Boyd	select MSM_GCC_8960
143b82875eeSStephen Boyd	depends on COMMON_CLK_QCOM
144b82875eeSStephen Boyd	help
145b82875eeSStephen Boyd	  Support for the LPASS clock controller on apq8064/msm8960 devices.
146b82875eeSStephen Boyd	  Say Y if you want to use audio devices such as i2s, pcm,
147b82875eeSStephen Boyd	  SLIMBus, etc.
148b82875eeSStephen Boyd
1497792a8d6SNeil Armstrongconfig MDM_GCC_9615
1507792a8d6SNeil Armstrong	tristate "MDM9615 Global Clock Controller"
1517792a8d6SNeil Armstrong	depends on COMMON_CLK_QCOM
1527792a8d6SNeil Armstrong	help
1537792a8d6SNeil Armstrong	  Support for the global clock controller on mdm9615 devices.
1547792a8d6SNeil Armstrong	  Say Y if you want to use peripheral devices such as UART, SPI,
1557792a8d6SNeil Armstrong	  i2c, USB, SD/eMMC, etc.
1567792a8d6SNeil Armstrong
1577792a8d6SNeil Armstrongconfig MDM_LCC_9615
1587792a8d6SNeil Armstrong	tristate "MDM9615 LPASS Clock Controller"
1597792a8d6SNeil Armstrong	select MDM_GCC_9615
1607792a8d6SNeil Armstrong	depends on COMMON_CLK_QCOM
1617792a8d6SNeil Armstrong	help
1627792a8d6SNeil Armstrong	  Support for the LPASS clock controller on mdm9615 devices.
1637792a8d6SNeil Armstrong	  Say Y if you want to use audio devices such as i2s, pcm,
1647792a8d6SNeil Armstrong	  SLIMBus, etc.
1657792a8d6SNeil Armstrong
1666d00b56fSStephen Boydconfig MSM_MMCC_8960
1676d00b56fSStephen Boyd	tristate "MSM8960 Multimedia Clock Controller"
1686d00b56fSStephen Boyd	select MSM_GCC_8960
1696d00b56fSStephen Boyd	depends on COMMON_CLK_QCOM
1706d00b56fSStephen Boyd	help
1716d00b56fSStephen Boyd	  Support for the multimedia clock controller on msm8960 devices.
1726d00b56fSStephen Boyd	  Say Y if you want to support multimedia devices such as display,
1736d00b56fSStephen Boyd	  graphics, video encode/decode, camera, etc.
174d33faa9eSStephen Boyd
175d33faa9eSStephen Boydconfig MSM_GCC_8974
176d33faa9eSStephen Boyd	tristate "MSM8974 Global Clock Controller"
177340029efSStephen Boyd	select QCOM_GDSC
178d33faa9eSStephen Boyd	depends on COMMON_CLK_QCOM
179d33faa9eSStephen Boyd	help
180d33faa9eSStephen Boyd	  Support for the global clock controller on msm8974 devices.
181d33faa9eSStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
182d33faa9eSStephen Boyd	  i2c, USB, SD/eMMC, SATA, PCIe, etc.
183d8b21201SStephen Boyd
184d8b21201SStephen Boydconfig MSM_MMCC_8974
185d8b21201SStephen Boyd	tristate "MSM8974 Multimedia Clock Controller"
186d8b21201SStephen Boyd	select MSM_GCC_8974
1878108b23cSStephen Boyd	select QCOM_GDSC
188d8b21201SStephen Boyd	depends on COMMON_CLK_QCOM
189d8b21201SStephen Boyd	help
190d8b21201SStephen Boyd	  Support for the multimedia clock controller on msm8974 devices.
191d8b21201SStephen Boyd	  Say Y if you want to support multimedia devices such as display,
192d8b21201SStephen Boyd	  graphics, video encode/decode, camera, etc.
193b1e010c0SStephen Boyd
194aec89f78SBastian Köcherconfig MSM_GCC_8994
195aec89f78SBastian Köcher	tristate "MSM8994 Global Clock Controller"
196aec89f78SBastian Köcher	depends on COMMON_CLK_QCOM
197aec89f78SBastian Köcher	help
198aec89f78SBastian Köcher	  Support for the global clock controller on msm8994 devices.
199aec89f78SBastian Köcher	  Say Y if you want to use peripheral devices such as UART, SPI,
200aec89f78SBastian Köcher	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
201aec89f78SBastian Köcher
202b1e010c0SStephen Boydconfig MSM_GCC_8996
203b1e010c0SStephen Boyd	tristate "MSM8996 Global Clock Controller"
2046d91f2c0SSrinivas Kandagatla	select QCOM_GDSC
205b1e010c0SStephen Boyd	depends on COMMON_CLK_QCOM
206b1e010c0SStephen Boyd	help
207b1e010c0SStephen Boyd	  Support for the global clock controller on msm8996 devices.
208b1e010c0SStephen Boyd	  Say Y if you want to use peripheral devices such as UART, SPI,
209b1e010c0SStephen Boyd	  i2c, USB, UFS, SD/eMMC, PCIe, etc.
210c2526597SStephen Boyd
211c2526597SStephen Boydconfig MSM_MMCC_8996
212c2526597SStephen Boyd	tristate "MSM8996 Multimedia Clock Controller"
213c2526597SStephen Boyd	select MSM_GCC_8996
2146d91f2c0SSrinivas Kandagatla	select QCOM_GDSC
215c2526597SStephen Boyd	depends on COMMON_CLK_QCOM
216c2526597SStephen Boyd	help
217c2526597SStephen Boyd	  Support for the multimedia clock controller on msm8996 devices.
218c2526597SStephen Boyd	  Say Y if you want to support multimedia devices such as display,
219c2526597SStephen Boyd	  graphics, video encode/decode, camera, etc.
2204cfaa55fSTirupathi Reddy
221*06391eddSTaniya Dasconfig SDM_GCC_845
222*06391eddSTaniya Das	tristate "SDM845 Global Clock Controller"
223*06391eddSTaniya Das	select QCOM_GDSC
224*06391eddSTaniya Das	depends on COMMON_CLK_QCOM
225*06391eddSTaniya Das	help
226*06391eddSTaniya Das	  Support for the global clock controller on msm8998 devices.
227*06391eddSTaniya Das	  Say Y if you want to use peripheral devices such as UART, SPI,
228*06391eddSTaniya Das	  I2C, USB, UFS, SDDC, PCIe, etc.
229*06391eddSTaniya Das
2304cfaa55fSTirupathi Reddyconfig SPMI_PMIC_CLKDIV
2314cfaa55fSTirupathi Reddy	tristate "SPMI PMIC clkdiv Support"
2324cfaa55fSTirupathi Reddy	depends on (COMMON_CLK_QCOM && SPMI) || COMPILE_TEST
2334cfaa55fSTirupathi Reddy	help
2344cfaa55fSTirupathi Reddy	  This driver supports the clkdiv functionality on the Qualcomm
2354cfaa55fSTirupathi Reddy	  Technologies, Inc. SPMI PMIC. It configures the frequency of
2364cfaa55fSTirupathi Reddy	  clkdiv outputs of the PMIC. These clocks are typically wired
2374cfaa55fSTirupathi Reddy	  through alternate functions on GPIO pins.
238