1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 24d7dc77bSStephen Boydconfig KRAIT_CLOCKS 34d7dc77bSStephen Boyd bool 44d7dc77bSStephen Boyd select KRAIT_L2_ACCESSORS 54d7dc77bSStephen Boyd 673bb7dc0SStephen Boydconfig QCOM_GDSC 773bb7dc0SStephen Boyd bool 873bb7dc0SStephen Boyd select PM_GENERIC_DOMAINS if PM 973bb7dc0SStephen Boyd 1000f64b58SGeorgi Djakovconfig QCOM_RPMCC 1100f64b58SGeorgi Djakov bool 1200f64b58SGeorgi Djakov 13f071bcebSStephen Boydmenuconfig COMMON_CLK_QCOM 14085d7a45SStephen Boyd tristate "Support for Qualcomm's clock controllers" 15085d7a45SStephen Boyd depends on OF 163937567dSBartlomiej Zolnierkiewicz depends on ARCH_QCOM || COMPILE_TEST 17085d7a45SStephen Boyd select REGMAP_MMIO 18b36ba30cSStephen Boyd select RESET_CONTROLLER 192ec94130SStephen Boyd 20f071bcebSStephen Boydif COMMON_CLK_QCOM 21f071bcebSStephen Boyd 220c6ab1b8SGeorgi Djakovconfig QCOM_A53PLL 230c6ab1b8SGeorgi Djakov tristate "MSM8916 A53 PLL" 240c6ab1b8SGeorgi Djakov default ARCH_QCOM 250c6ab1b8SGeorgi Djakov help 260c6ab1b8SGeorgi Djakov Support for the A53 PLL on MSM8916 devices. It provides 270c6ab1b8SGeorgi Djakov the CPU with frequencies above 1GHz. 280c6ab1b8SGeorgi Djakov Say Y if you want to support higher CPU frequencies on MSM8916 290c6ab1b8SGeorgi Djakov devices. 300c6ab1b8SGeorgi Djakov 3181ac3884SGeorgi Djakovconfig QCOM_CLK_APCS_MSM8916 3281ac3884SGeorgi Djakov tristate "MSM8916 APCS Clock Controller" 3381ac3884SGeorgi Djakov depends on QCOM_APCS_IPC || COMPILE_TEST 3481ac3884SGeorgi Djakov default ARCH_QCOM 3581ac3884SGeorgi Djakov help 3681ac3884SGeorgi Djakov Support for the APCS Clock Controller on msm8916 devices. The 3781ac3884SGeorgi Djakov APCS is managing the mux and divider which feeds the CPUs. 3881ac3884SGeorgi Djakov Say Y if you want to support CPU frequency scaling on devices 3981ac3884SGeorgi Djakov such as msm8916. 4081ac3884SGeorgi Djakov 41872f91b5SGeorgi Djakovconfig QCOM_CLK_RPM 42872f91b5SGeorgi Djakov tristate "RPM based Clock Controller" 43f071bcebSStephen Boyd depends on MFD_QCOM_RPM 44872f91b5SGeorgi Djakov select QCOM_RPMCC 45872f91b5SGeorgi Djakov help 46872f91b5SGeorgi Djakov The RPM (Resource Power Manager) is a dedicated hardware engine for 47872f91b5SGeorgi Djakov managing the shared SoC resources in order to keep the lowest power 48872f91b5SGeorgi Djakov profile. It communicates with other hardware subsystems via shared 49872f91b5SGeorgi Djakov memory and accepts clock requests, aggregates the requests and turns 50872f91b5SGeorgi Djakov the clocks on/off or scales them on demand. 51872f91b5SGeorgi Djakov Say Y if you want to support the clocks exposed by the RPM on 52872f91b5SGeorgi Djakov platforms such as apq8064, msm8660, msm8960 etc. 53872f91b5SGeorgi Djakov 5400f64b58SGeorgi Djakovconfig QCOM_CLK_SMD_RPM 5500f64b58SGeorgi Djakov tristate "RPM over SMD based Clock Controller" 56f071bcebSStephen Boyd depends on QCOM_SMD_RPM 5700f64b58SGeorgi Djakov select QCOM_RPMCC 5800f64b58SGeorgi Djakov help 5900f64b58SGeorgi Djakov The RPM (Resource Power Manager) is a dedicated hardware engine for 6000f64b58SGeorgi Djakov managing the shared SoC resources in order to keep the lowest power 6100f64b58SGeorgi Djakov profile. It communicates with other hardware subsystems via shared 6200f64b58SGeorgi Djakov memory and accepts clock requests, aggregates the requests and turns 6300f64b58SGeorgi Djakov the clocks on/off or scales them on demand. 6400f64b58SGeorgi Djakov Say Y if you want to support the clocks exposed by the RPM on 6500f64b58SGeorgi Djakov platforms such as apq8016, apq8084, msm8974 etc. 6600f64b58SGeorgi Djakov 679c7e4702STaniya Dasconfig QCOM_CLK_RPMH 689c7e4702STaniya Das tristate "RPMh Clock Driver" 69f071bcebSStephen Boyd depends on QCOM_RPMH 709c7e4702STaniya Das help 719c7e4702STaniya Das RPMh manages shared resources on some Qualcomm Technologies, Inc. 729c7e4702STaniya Das SoCs. It accepts requests from other hardware subsystems via RSC. 739c7e4702STaniya Das Say Y if you want to support the clocks exposed by RPMh on 749c7e4702STaniya Das platforms such as SDM845. 759c7e4702STaniya Das 7602824653SGeorgi Djakovconfig APQ_GCC_8084 7702824653SGeorgi Djakov tristate "APQ8084 Global Clock Controller" 78639af949SRajendra Nayak select QCOM_GDSC 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 help 892b46cd23SGeorgi Djakov Support for the multimedia clock controller on apq8084 devices. 902b46cd23SGeorgi Djakov Say Y if you want to support multimedia devices such as display, 912b46cd23SGeorgi Djakov graphics, video encode/decode, camera, etc. 922b46cd23SGeorgi Djakov 936971e863SVaradarajan Narayananconfig IPQ_GCC_4019 946971e863SVaradarajan Narayanan tristate "IPQ4019 Global Clock Controller" 956971e863SVaradarajan Narayanan help 966971e863SVaradarajan Narayanan Support for the global clock controller on ipq4019 devices. 976971e863SVaradarajan Narayanan Say Y if you want to use peripheral devices such as UART, SPI, 986971e863SVaradarajan Narayanan i2c, USB, SD/eMMC, etc. 996971e863SVaradarajan Narayanan 10024d8fba4SKumar Galaconfig IPQ_GCC_806X 10124d8fba4SKumar Gala tristate "IPQ806x Global Clock Controller" 10224d8fba4SKumar Gala help 10324d8fba4SKumar Gala Support for the global clock controller on ipq806x devices. 10424d8fba4SKumar Gala Say Y if you want to use peripheral devices such as UART, SPI, 10524d8fba4SKumar Gala i2c, USB, SD/eMMC, etc. 10624d8fba4SKumar Gala 107c99e515aSRajendra Nayakconfig IPQ_LCC_806X 108c99e515aSRajendra Nayak tristate "IPQ806x LPASS Clock Controller" 109c99e515aSRajendra Nayak select IPQ_GCC_806X 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 help 118371a9507SAbhishek Sahu Support for global clock controller on ipq8074 devices. 119371a9507SAbhishek Sahu Say Y if you want to use peripheral devices such as UART, SPI, 120371a9507SAbhishek Sahu i2c, USB, SD/eMMC, etc. Select this for the root clock 121371a9507SAbhishek Sahu of ipq8074. 122371a9507SAbhishek Sahu 1230eeff27bSStephen Boydconfig MSM_GCC_8660 1240eeff27bSStephen Boyd tristate "MSM8660 Global Clock Controller" 1250eeff27bSStephen Boyd help 1260eeff27bSStephen Boyd Support for the global clock controller on msm8660 devices. 1270eeff27bSStephen Boyd Say Y if you want to use peripheral devices such as UART, SPI, 1280eeff27bSStephen Boyd i2c, USB, SD/eMMC, etc. 1290eeff27bSStephen Boyd 1303966fab8SGeorgi Djakovconfig MSM_GCC_8916 1313966fab8SGeorgi Djakov tristate "MSM8916 Global Clock Controller" 132073ae2b4SRajendra Nayak select QCOM_GDSC 1333966fab8SGeorgi Djakov help 1343966fab8SGeorgi Djakov Support for the global clock controller on msm8916 devices. 1353966fab8SGeorgi Djakov Say Y if you want to use devices such as UART, SPI i2c, USB, 1363966fab8SGeorgi Djakov SD/eMMC, display, graphics, camera etc. 1373966fab8SGeorgi Djakov 1382ec94130SStephen Boydconfig MSM_GCC_8960 1392d85a713SKumar Gala tristate "APQ8064/MSM8960 Global Clock Controller" 1402ec94130SStephen Boyd help 1412d85a713SKumar Gala Support for the global clock controller on apq8064/msm8960 devices. 1422ec94130SStephen Boyd Say Y if you want to use peripheral devices such as UART, SPI, 1432ec94130SStephen Boyd i2c, USB, SD/eMMC, SATA, PCIe, etc. 1446d00b56fSStephen Boyd 145b82875eeSStephen Boydconfig MSM_LCC_8960 146b82875eeSStephen Boyd tristate "APQ8064/MSM8960 LPASS Clock Controller" 147b82875eeSStephen Boyd select MSM_GCC_8960 148b82875eeSStephen Boyd help 149b82875eeSStephen Boyd Support for the LPASS clock controller on apq8064/msm8960 devices. 150b82875eeSStephen Boyd Say Y if you want to use audio devices such as i2s, pcm, 151b82875eeSStephen Boyd SLIMBus, etc. 152b82875eeSStephen Boyd 1537792a8d6SNeil Armstrongconfig MDM_GCC_9615 1547792a8d6SNeil Armstrong tristate "MDM9615 Global Clock Controller" 1557792a8d6SNeil Armstrong help 1567792a8d6SNeil Armstrong Support for the global clock controller on mdm9615 devices. 1577792a8d6SNeil Armstrong Say Y if you want to use peripheral devices such as UART, SPI, 1587792a8d6SNeil Armstrong i2c, USB, SD/eMMC, etc. 1597792a8d6SNeil Armstrong 1607792a8d6SNeil Armstrongconfig MDM_LCC_9615 1617792a8d6SNeil Armstrong tristate "MDM9615 LPASS Clock Controller" 1627792a8d6SNeil Armstrong select MDM_GCC_9615 1637792a8d6SNeil Armstrong help 1647792a8d6SNeil Armstrong Support for the LPASS clock controller on mdm9615 devices. 1657792a8d6SNeil Armstrong Say Y if you want to use audio devices such as i2s, pcm, 1667792a8d6SNeil Armstrong SLIMBus, etc. 1677792a8d6SNeil Armstrong 1686d00b56fSStephen Boydconfig MSM_MMCC_8960 1696d00b56fSStephen Boyd tristate "MSM8960 Multimedia Clock Controller" 1706d00b56fSStephen Boyd select MSM_GCC_8960 1716d00b56fSStephen Boyd help 1726d00b56fSStephen Boyd Support for the multimedia clock controller on msm8960 devices. 1736d00b56fSStephen Boyd Say Y if you want to support multimedia devices such as display, 1746d00b56fSStephen Boyd graphics, video encode/decode, camera, etc. 175d33faa9eSStephen Boyd 176d33faa9eSStephen Boydconfig MSM_GCC_8974 177d33faa9eSStephen Boyd tristate "MSM8974 Global Clock Controller" 178340029efSStephen Boyd select QCOM_GDSC 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 help 189d8b21201SStephen Boyd Support for the multimedia clock controller on msm8974 devices. 190d8b21201SStephen Boyd Say Y if you want to support multimedia devices such as display, 191d8b21201SStephen Boyd graphics, video encode/decode, camera, etc. 192b1e010c0SStephen Boyd 193aec89f78SBastian Köcherconfig MSM_GCC_8994 194aec89f78SBastian Köcher tristate "MSM8994 Global Clock Controller" 195aec89f78SBastian Köcher help 196aec89f78SBastian Köcher Support for the global clock controller on msm8994 devices. 197aec89f78SBastian Köcher Say Y if you want to use peripheral devices such as UART, SPI, 198aec89f78SBastian Köcher i2c, USB, UFS, SD/eMMC, PCIe, etc. 199aec89f78SBastian Köcher 200b1e010c0SStephen Boydconfig MSM_GCC_8996 201b1e010c0SStephen Boyd tristate "MSM8996 Global Clock Controller" 2026d91f2c0SSrinivas Kandagatla select QCOM_GDSC 203b1e010c0SStephen Boyd help 204b1e010c0SStephen Boyd Support for the global clock controller on msm8996 devices. 205b1e010c0SStephen Boyd Say Y if you want to use peripheral devices such as UART, SPI, 206b1e010c0SStephen Boyd i2c, USB, UFS, SD/eMMC, PCIe, etc. 207c2526597SStephen Boyd 208c2526597SStephen Boydconfig MSM_MMCC_8996 209c2526597SStephen Boyd tristate "MSM8996 Multimedia Clock Controller" 210c2526597SStephen Boyd select MSM_GCC_8996 2116d91f2c0SSrinivas Kandagatla select QCOM_GDSC 212c2526597SStephen Boyd help 213c2526597SStephen Boyd Support for the multimedia clock controller on msm8996 devices. 214c2526597SStephen Boyd Say Y if you want to support multimedia devices such as display, 215c2526597SStephen Boyd graphics, video encode/decode, camera, etc. 2164cfaa55fSTirupathi Reddy 217b5f5f525SJoonwoo Parkconfig MSM_GCC_8998 218b5f5f525SJoonwoo Park tristate "MSM8998 Global Clock Controller" 21983b4c147SMarc Gonzalez select QCOM_GDSC 220b5f5f525SJoonwoo Park help 221b5f5f525SJoonwoo Park Support for the global clock controller on msm8998 devices. 222b5f5f525SJoonwoo Park Say Y if you want to use peripheral devices such as UART, SPI, 223b5f5f525SJoonwoo Park i2c, USB, UFS, SD/eMMC, PCIe, etc. 224b5f5f525SJoonwoo Park 225652f1813SShefali Jainconfig QCS_GCC_404 226652f1813SShefali Jain tristate "QCS404 Global Clock Controller" 227652f1813SShefali Jain help 228652f1813SShefali Jain Support for the global clock controller on QCS404 devices. 229652f1813SShefali Jain Say Y if you want to use multimedia devices or peripheral 230652f1813SShefali Jain devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc. 231652f1813SShefali Jain 23278412c26SAmit Nischalconfig SDM_CAMCC_845 23378412c26SAmit Nischal tristate "SDM845 Camera Clock Controller" 23478412c26SAmit Nischal select SDM_GCC_845 23578412c26SAmit Nischal help 23678412c26SAmit Nischal Support for the camera clock controller on SDM845 devices. 23778412c26SAmit Nischal Say Y if you want to support camera devices and camera functionality. 23878412c26SAmit Nischal 239f2a76a29STaniya Dasconfig SDM_GCC_660 240f2a76a29STaniya Das tristate "SDM660 Global Clock Controller" 241f2a76a29STaniya Das select QCOM_GDSC 242f2a76a29STaniya Das help 243f2a76a29STaniya Das Support for the global clock controller on SDM660 devices. 244f2a76a29STaniya Das Say Y if you want to use peripheral devices such as UART, SPI, 245f2a76a29STaniya Das i2C, USB, UFS, SDDC, PCIe, etc. 246f2a76a29STaniya Das 247892df019SBjorn Anderssonconfig QCS_TURING_404 248892df019SBjorn Andersson tristate "QCS404 Turing Clock Controller" 249892df019SBjorn Andersson help 250892df019SBjorn Andersson Support for the Turing Clock Controller on QCS404, provides clocks 251892df019SBjorn Andersson and resets for the Turing subsystem. 252892df019SBjorn Andersson 25306391eddSTaniya Dasconfig SDM_GCC_845 25406391eddSTaniya Das tristate "SDM845 Global Clock Controller" 25506391eddSTaniya Das select QCOM_GDSC 25606391eddSTaniya Das help 25777122d6fSStephen Boyd Support for the global clock controller on SDM845 devices. 25806391eddSTaniya Das Say Y if you want to use peripheral devices such as UART, SPI, 25977122d6fSStephen Boyd i2C, USB, UFS, SDDC, PCIe, etc. 26006391eddSTaniya Das 261453361cdSAmit Nischalconfig SDM_GPUCC_845 262453361cdSAmit Nischal tristate "SDM845 Graphics Clock Controller" 263453361cdSAmit Nischal select SDM_GCC_845 264453361cdSAmit Nischal help 265453361cdSAmit Nischal Support for the graphics clock controller on SDM845 devices. 266453361cdSAmit Nischal Say Y if you want to support graphics controller devices and 267453361cdSAmit Nischal functionality such as 3D graphics. 268453361cdSAmit Nischal 269c646b347SAmit Nischalconfig SDM_VIDEOCC_845 270c646b347SAmit Nischal tristate "SDM845 Video Clock Controller" 271c646b347SAmit Nischal select SDM_GCC_845 272c646b347SAmit Nischal select QCOM_GDSC 273c646b347SAmit Nischal help 27477122d6fSStephen Boyd Support for the video clock controller on SDM845 devices. 275c646b347SAmit Nischal Say Y if you want to support video devices and functionality such as 276c646b347SAmit Nischal video encode and decode. 277c646b347SAmit Nischal 27881351776STaniya Dasconfig SDM_DISPCC_845 27981351776STaniya Das tristate "SDM845 Display Clock Controller" 28081351776STaniya Das select SDM_GCC_845 28181351776STaniya Das help 28281351776STaniya Das Support for the display clock controller on Qualcomm Technologies, Inc 28381351776STaniya Das SDM845 devices. 28481351776STaniya Das Say Y if you want to support display devices and functionality such as 28581351776STaniya Das splash screen. 28681351776STaniya Das 2878d3e5b9cSTaniya Dasconfig SDM_LPASSCC_845 2888d3e5b9cSTaniya Das tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" 2898d3e5b9cSTaniya Das select SDM_GCC_845 2908d3e5b9cSTaniya Das help 2918d3e5b9cSTaniya Das Support for the LPASS clock controller on SDM845 devices. 2928d3e5b9cSTaniya Das Say Y if you want to use the LPASS branch clocks of the LPASS clock 2938d3e5b9cSTaniya Das controller to reset the LPASS subsystem. 2948d3e5b9cSTaniya Das 295*2a1d7eb8SDeepak Katragaddaconfig SM_GCC_8150 296*2a1d7eb8SDeepak Katragadda tristate "SM8150 Global Clock Controller" 297*2a1d7eb8SDeepak Katragadda help 298*2a1d7eb8SDeepak Katragadda Support for the global clock controller on SM8150 devices. 299*2a1d7eb8SDeepak Katragadda Say Y if you want to use peripheral devices such as UART, 300*2a1d7eb8SDeepak Katragadda SPI, I2C, USB, SD/UFS, PCIe etc. 301*2a1d7eb8SDeepak Katragadda 3024cfaa55fSTirupathi Reddyconfig SPMI_PMIC_CLKDIV 3034cfaa55fSTirupathi Reddy tristate "SPMI PMIC clkdiv Support" 304f071bcebSStephen Boyd depends on SPMI || COMPILE_TEST 3054cfaa55fSTirupathi Reddy help 3064cfaa55fSTirupathi Reddy This driver supports the clkdiv functionality on the Qualcomm 3074cfaa55fSTirupathi Reddy Technologies, Inc. SPMI PMIC. It configures the frequency of 3084cfaa55fSTirupathi Reddy clkdiv outputs of the PMIC. These clocks are typically wired 3094cfaa55fSTirupathi Reddy through alternate functions on GPIO pins. 310cb546b79SStephen Boyd 311cb546b79SStephen Boydconfig QCOM_HFPLL 312cb546b79SStephen Boyd tristate "High-Frequency PLL (HFPLL) Clock Controller" 313cb546b79SStephen Boyd help 314cb546b79SStephen Boyd Support for the high-frequency PLLs present on Qualcomm devices. 315cb546b79SStephen Boyd Say Y if you want to support CPU frequency scaling on devices 316cb546b79SStephen Boyd such as MSM8974, APQ8084, etc. 3173ddc3564SStephen Boyd 3183ddc3564SStephen Boydconfig KPSS_XCC 3193ddc3564SStephen Boyd tristate "KPSS Clock Controller" 3203ddc3564SStephen Boyd help 3213ddc3564SStephen Boyd Support for the Krait ACC and GCC clock controllers. Say Y 3223ddc3564SStephen Boyd if you want to support CPU frequency scaling on devices such 3233ddc3564SStephen Boyd as MSM8960, APQ8064, etc. 324bb5c4a85SStephen Boyd 325bb5c4a85SStephen Boydconfig KRAITCC 326bb5c4a85SStephen Boyd tristate "Krait Clock Controller" 327f071bcebSStephen Boyd depends on ARM 328bb5c4a85SStephen Boyd select KRAIT_CLOCKS 329bb5c4a85SStephen Boyd help 330bb5c4a85SStephen Boyd Support for the Krait CPU clocks on Qualcomm devices. 331bb5c4a85SStephen Boyd Say Y if you want to support CPU frequency scaling. 332f071bcebSStephen Boyd 333f071bcebSStephen Boydendif 334