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 help 250c6ab1b8SGeorgi Djakov Support for the A53 PLL on MSM8916 devices. It provides 260c6ab1b8SGeorgi Djakov the CPU with frequencies above 1GHz. 270c6ab1b8SGeorgi Djakov Say Y if you want to support higher CPU frequencies on MSM8916 280c6ab1b8SGeorgi Djakov devices. 290c6ab1b8SGeorgi Djakov 3081ac3884SGeorgi Djakovconfig QCOM_CLK_APCS_MSM8916 3181ac3884SGeorgi Djakov tristate "MSM8916 APCS Clock Controller" 3281ac3884SGeorgi Djakov depends on QCOM_APCS_IPC || COMPILE_TEST 3381ac3884SGeorgi Djakov help 3481ac3884SGeorgi Djakov Support for the APCS Clock Controller on msm8916 devices. The 3581ac3884SGeorgi Djakov APCS is managing the mux and divider which feeds the CPUs. 3681ac3884SGeorgi Djakov Say Y if you want to support CPU frequency scaling on devices 3781ac3884SGeorgi Djakov such as msm8916. 3881ac3884SGeorgi Djakov 39872f91b5SGeorgi Djakovconfig QCOM_CLK_RPM 40872f91b5SGeorgi Djakov tristate "RPM based Clock Controller" 41f071bcebSStephen Boyd depends on MFD_QCOM_RPM 42872f91b5SGeorgi Djakov select QCOM_RPMCC 43872f91b5SGeorgi Djakov help 44872f91b5SGeorgi Djakov The RPM (Resource Power Manager) is a dedicated hardware engine for 45872f91b5SGeorgi Djakov managing the shared SoC resources in order to keep the lowest power 46872f91b5SGeorgi Djakov profile. It communicates with other hardware subsystems via shared 47872f91b5SGeorgi Djakov memory and accepts clock requests, aggregates the requests and turns 48872f91b5SGeorgi Djakov the clocks on/off or scales them on demand. 49872f91b5SGeorgi Djakov Say Y if you want to support the clocks exposed by the RPM on 50872f91b5SGeorgi Djakov platforms such as apq8064, msm8660, msm8960 etc. 51872f91b5SGeorgi Djakov 5200f64b58SGeorgi Djakovconfig QCOM_CLK_SMD_RPM 5300f64b58SGeorgi Djakov tristate "RPM over SMD based Clock Controller" 54f071bcebSStephen Boyd depends on QCOM_SMD_RPM 5500f64b58SGeorgi Djakov select QCOM_RPMCC 5600f64b58SGeorgi Djakov help 5700f64b58SGeorgi Djakov The RPM (Resource Power Manager) is a dedicated hardware engine for 5800f64b58SGeorgi Djakov managing the shared SoC resources in order to keep the lowest power 5900f64b58SGeorgi Djakov profile. It communicates with other hardware subsystems via shared 6000f64b58SGeorgi Djakov memory and accepts clock requests, aggregates the requests and turns 6100f64b58SGeorgi Djakov the clocks on/off or scales them on demand. 6200f64b58SGeorgi Djakov Say Y if you want to support the clocks exposed by the RPM on 6300f64b58SGeorgi Djakov platforms such as apq8016, apq8084, msm8974 etc. 6400f64b58SGeorgi Djakov 659c7e4702STaniya Dasconfig QCOM_CLK_RPMH 669c7e4702STaniya Das tristate "RPMh Clock Driver" 67f071bcebSStephen Boyd depends on QCOM_RPMH 689c7e4702STaniya Das help 699c7e4702STaniya Das RPMh manages shared resources on some Qualcomm Technologies, Inc. 709c7e4702STaniya Das SoCs. It accepts requests from other hardware subsystems via RSC. 719c7e4702STaniya Das Say Y if you want to support the clocks exposed by RPMh on 729c7e4702STaniya Das platforms such as SDM845. 739c7e4702STaniya Das 7402824653SGeorgi Djakovconfig APQ_GCC_8084 7502824653SGeorgi Djakov tristate "APQ8084 Global Clock Controller" 76639af949SRajendra Nayak select QCOM_GDSC 7702824653SGeorgi Djakov help 7802824653SGeorgi Djakov Support for the global clock controller on apq8084 devices. 7902824653SGeorgi Djakov Say Y if you want to use peripheral devices such as UART, SPI, 8002824653SGeorgi Djakov i2c, USB, SD/eMMC, SATA, PCIe, etc. 8102824653SGeorgi Djakov 822b46cd23SGeorgi Djakovconfig APQ_MMCC_8084 832b46cd23SGeorgi Djakov tristate "APQ8084 Multimedia Clock Controller" 842b46cd23SGeorgi Djakov select APQ_GCC_8084 85cb2eb7deSStephane Viau select QCOM_GDSC 862b46cd23SGeorgi Djakov help 872b46cd23SGeorgi Djakov Support for the multimedia clock controller on apq8084 devices. 882b46cd23SGeorgi Djakov Say Y if you want to support multimedia devices such as display, 892b46cd23SGeorgi Djakov graphics, video encode/decode, camera, etc. 902b46cd23SGeorgi Djakov 916971e863SVaradarajan Narayananconfig IPQ_GCC_4019 926971e863SVaradarajan Narayanan tristate "IPQ4019 Global Clock Controller" 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 help 10124d8fba4SKumar Gala Support for the global clock controller on ipq806x devices. 10224d8fba4SKumar Gala Say Y if you want to use peripheral devices such as UART, SPI, 10324d8fba4SKumar Gala i2c, USB, SD/eMMC, etc. 10424d8fba4SKumar Gala 105c99e515aSRajendra Nayakconfig IPQ_LCC_806X 106c99e515aSRajendra Nayak tristate "IPQ806x LPASS Clock Controller" 107c99e515aSRajendra Nayak select IPQ_GCC_806X 108c99e515aSRajendra Nayak help 109c99e515aSRajendra Nayak Support for the LPASS clock controller on ipq806x devices. 110c99e515aSRajendra Nayak Say Y if you want to use audio devices such as i2s, pcm, 111c99e515aSRajendra Nayak S/PDIF, etc. 112c99e515aSRajendra Nayak 113371a9507SAbhishek Sahuconfig IPQ_GCC_8074 114371a9507SAbhishek Sahu tristate "IPQ8074 Global Clock Controller" 115371a9507SAbhishek Sahu help 116371a9507SAbhishek Sahu Support for global clock controller on ipq8074 devices. 117371a9507SAbhishek Sahu Say Y if you want to use peripheral devices such as UART, SPI, 118371a9507SAbhishek Sahu i2c, USB, SD/eMMC, etc. Select this for the root clock 119371a9507SAbhishek Sahu of ipq8074. 120371a9507SAbhishek Sahu 1210eeff27bSStephen Boydconfig MSM_GCC_8660 1220eeff27bSStephen Boyd tristate "MSM8660 Global Clock Controller" 1230eeff27bSStephen Boyd help 1240eeff27bSStephen Boyd Support for the global clock controller on msm8660 devices. 1250eeff27bSStephen Boyd Say Y if you want to use peripheral devices such as UART, SPI, 1260eeff27bSStephen Boyd i2c, USB, SD/eMMC, etc. 1270eeff27bSStephen Boyd 1283966fab8SGeorgi Djakovconfig MSM_GCC_8916 1293966fab8SGeorgi Djakov tristate "MSM8916 Global Clock Controller" 130073ae2b4SRajendra Nayak select QCOM_GDSC 1313966fab8SGeorgi Djakov help 1323966fab8SGeorgi Djakov Support for the global clock controller on msm8916 devices. 1333966fab8SGeorgi Djakov Say Y if you want to use devices such as UART, SPI i2c, USB, 1343966fab8SGeorgi Djakov SD/eMMC, display, graphics, camera etc. 1353966fab8SGeorgi Djakov 1362ec94130SStephen Boydconfig MSM_GCC_8960 1372d85a713SKumar Gala tristate "APQ8064/MSM8960 Global Clock Controller" 1382ec94130SStephen Boyd help 1392d85a713SKumar Gala Support for the global clock controller on apq8064/msm8960 devices. 1402ec94130SStephen Boyd Say Y if you want to use peripheral devices such as UART, SPI, 1412ec94130SStephen Boyd i2c, USB, SD/eMMC, SATA, PCIe, etc. 1426d00b56fSStephen Boyd 143b82875eeSStephen Boydconfig MSM_LCC_8960 144b82875eeSStephen Boyd tristate "APQ8064/MSM8960 LPASS Clock Controller" 145b82875eeSStephen Boyd select MSM_GCC_8960 146b82875eeSStephen Boyd help 147b82875eeSStephen Boyd Support for the LPASS clock controller on apq8064/msm8960 devices. 148b82875eeSStephen Boyd Say Y if you want to use audio devices such as i2s, pcm, 149b82875eeSStephen Boyd SLIMBus, etc. 150b82875eeSStephen Boyd 1517792a8d6SNeil Armstrongconfig MDM_GCC_9615 1527792a8d6SNeil Armstrong tristate "MDM9615 Global Clock Controller" 1537792a8d6SNeil Armstrong help 1547792a8d6SNeil Armstrong Support for the global clock controller on mdm9615 devices. 1557792a8d6SNeil Armstrong Say Y if you want to use peripheral devices such as UART, SPI, 1567792a8d6SNeil Armstrong i2c, USB, SD/eMMC, etc. 1577792a8d6SNeil Armstrong 1587792a8d6SNeil Armstrongconfig MDM_LCC_9615 1597792a8d6SNeil Armstrong tristate "MDM9615 LPASS Clock Controller" 1607792a8d6SNeil Armstrong select MDM_GCC_9615 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 help 1706d00b56fSStephen Boyd Support for the multimedia clock controller on msm8960 devices. 1716d00b56fSStephen Boyd Say Y if you want to support multimedia devices such as display, 1726d00b56fSStephen Boyd graphics, video encode/decode, camera, etc. 173d33faa9eSStephen Boyd 174d33faa9eSStephen Boydconfig MSM_GCC_8974 175d33faa9eSStephen Boyd tristate "MSM8974 Global Clock Controller" 176340029efSStephen Boyd select QCOM_GDSC 177d33faa9eSStephen Boyd help 178d33faa9eSStephen Boyd Support for the global clock controller on msm8974 devices. 179d33faa9eSStephen Boyd Say Y if you want to use peripheral devices such as UART, SPI, 180d33faa9eSStephen Boyd i2c, USB, SD/eMMC, SATA, PCIe, etc. 181d8b21201SStephen Boyd 182d8b21201SStephen Boydconfig MSM_MMCC_8974 183d8b21201SStephen Boyd tristate "MSM8974 Multimedia Clock Controller" 184d8b21201SStephen Boyd select MSM_GCC_8974 1858108b23cSStephen Boyd select QCOM_GDSC 186d8b21201SStephen Boyd help 187d8b21201SStephen Boyd Support for the multimedia clock controller on msm8974 devices. 188d8b21201SStephen Boyd Say Y if you want to support multimedia devices such as display, 189d8b21201SStephen Boyd graphics, video encode/decode, camera, etc. 190b1e010c0SStephen Boyd 191aec89f78SBastian Köcherconfig MSM_GCC_8994 192aec89f78SBastian Köcher tristate "MSM8994 Global Clock Controller" 193aec89f78SBastian Köcher help 194aec89f78SBastian Köcher Support for the global clock controller on msm8994 devices. 195aec89f78SBastian Köcher Say Y if you want to use peripheral devices such as UART, SPI, 196aec89f78SBastian Köcher i2c, USB, UFS, SD/eMMC, PCIe, etc. 197aec89f78SBastian Köcher 198b1e010c0SStephen Boydconfig MSM_GCC_8996 199b1e010c0SStephen Boyd tristate "MSM8996 Global Clock Controller" 2006d91f2c0SSrinivas Kandagatla select QCOM_GDSC 201b1e010c0SStephen Boyd help 202b1e010c0SStephen Boyd Support for the global clock controller on msm8996 devices. 203b1e010c0SStephen Boyd Say Y if you want to use peripheral devices such as UART, SPI, 204b1e010c0SStephen Boyd i2c, USB, UFS, SD/eMMC, PCIe, etc. 205c2526597SStephen Boyd 206c2526597SStephen Boydconfig MSM_MMCC_8996 207c2526597SStephen Boyd tristate "MSM8996 Multimedia Clock Controller" 208c2526597SStephen Boyd select MSM_GCC_8996 2096d91f2c0SSrinivas Kandagatla select QCOM_GDSC 210c2526597SStephen Boyd help 211c2526597SStephen Boyd Support for the multimedia clock controller on msm8996 devices. 212c2526597SStephen Boyd Say Y if you want to support multimedia devices such as display, 213c2526597SStephen Boyd graphics, video encode/decode, camera, etc. 2144cfaa55fSTirupathi Reddy 215b5f5f525SJoonwoo Parkconfig MSM_GCC_8998 216b5f5f525SJoonwoo Park tristate "MSM8998 Global Clock Controller" 21783b4c147SMarc Gonzalez select QCOM_GDSC 218b5f5f525SJoonwoo Park help 219b5f5f525SJoonwoo Park Support for the global clock controller on msm8998 devices. 220b5f5f525SJoonwoo Park Say Y if you want to use peripheral devices such as UART, SPI, 221b5f5f525SJoonwoo Park i2c, USB, UFS, SD/eMMC, PCIe, etc. 222b5f5f525SJoonwoo Park 223652f1813SShefali Jainconfig QCS_GCC_404 224652f1813SShefali Jain tristate "QCS404 Global Clock Controller" 225652f1813SShefali Jain help 226652f1813SShefali Jain Support for the global clock controller on QCS404 devices. 227652f1813SShefali Jain Say Y if you want to use multimedia devices or peripheral 228652f1813SShefali Jain devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc. 229652f1813SShefali Jain 230*17269568STaniya Dasconfig SC_GCC_7180 231*17269568STaniya Das tristate "SC7180 Global Clock Controller" 232*17269568STaniya Das select QCOM_GDSC 233*17269568STaniya Das depends on COMMON_CLK_QCOM 234*17269568STaniya Das help 235*17269568STaniya Das Support for the global clock controller on SC7180 devices. 236*17269568STaniya Das Say Y if you want to use peripheral devices such as UART, SPI, 237*17269568STaniya Das I2C, USB, UFS, SDCC, etc. 238*17269568STaniya Das 23978412c26SAmit Nischalconfig SDM_CAMCC_845 24078412c26SAmit Nischal tristate "SDM845 Camera Clock Controller" 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 246f2a76a29STaniya Dasconfig SDM_GCC_660 247f2a76a29STaniya Das tristate "SDM660 Global Clock Controller" 248f2a76a29STaniya Das select QCOM_GDSC 249f2a76a29STaniya Das help 250f2a76a29STaniya Das Support for the global clock controller on SDM660 devices. 251f2a76a29STaniya Das Say Y if you want to use peripheral devices such as UART, SPI, 252f2a76a29STaniya Das i2C, USB, UFS, SDDC, PCIe, etc. 253f2a76a29STaniya Das 254892df019SBjorn Anderssonconfig QCS_TURING_404 255892df019SBjorn Andersson tristate "QCS404 Turing Clock Controller" 256892df019SBjorn Andersson help 257892df019SBjorn Andersson Support for the Turing Clock Controller on QCS404, provides clocks 258892df019SBjorn Andersson and resets for the Turing subsystem. 259892df019SBjorn Andersson 2606cdef273SGovind Singhconfig QCS_Q6SSTOP_404 2616cdef273SGovind Singh tristate "QCS404 Q6SSTOP Clock Controller" 2626cdef273SGovind Singh select QCS_GCC_404 2636cdef273SGovind Singh help 2646cdef273SGovind Singh Support for the Q6SSTOP clock controller on QCS404 devices. 2656cdef273SGovind Singh Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock 2666cdef273SGovind Singh controller to reset the Q6SSTOP subsystem. 2676cdef273SGovind Singh 26806391eddSTaniya Dasconfig SDM_GCC_845 26906391eddSTaniya Das tristate "SDM845 Global Clock Controller" 27006391eddSTaniya Das select QCOM_GDSC 27106391eddSTaniya Das help 27277122d6fSStephen Boyd Support for the global clock controller on SDM845 devices. 27306391eddSTaniya Das Say Y if you want to use peripheral devices such as UART, SPI, 27477122d6fSStephen Boyd i2C, USB, UFS, SDDC, PCIe, etc. 27506391eddSTaniya Das 276453361cdSAmit Nischalconfig SDM_GPUCC_845 277453361cdSAmit Nischal tristate "SDM845 Graphics Clock Controller" 278453361cdSAmit Nischal select SDM_GCC_845 279453361cdSAmit Nischal help 280453361cdSAmit Nischal Support for the graphics clock controller on SDM845 devices. 281453361cdSAmit Nischal Say Y if you want to support graphics controller devices and 282453361cdSAmit Nischal functionality such as 3D graphics. 283453361cdSAmit Nischal 284c646b347SAmit Nischalconfig SDM_VIDEOCC_845 285c646b347SAmit Nischal tristate "SDM845 Video Clock Controller" 286c646b347SAmit Nischal select SDM_GCC_845 287c646b347SAmit Nischal select QCOM_GDSC 288c646b347SAmit Nischal help 28977122d6fSStephen Boyd Support for the video clock controller on SDM845 devices. 290c646b347SAmit Nischal Say Y if you want to support video devices and functionality such as 291c646b347SAmit Nischal video encode and decode. 292c646b347SAmit Nischal 29381351776STaniya Dasconfig SDM_DISPCC_845 29481351776STaniya Das tristate "SDM845 Display Clock Controller" 29581351776STaniya Das select SDM_GCC_845 29681351776STaniya Das help 29781351776STaniya Das Support for the display clock controller on Qualcomm Technologies, Inc 29881351776STaniya Das SDM845 devices. 29981351776STaniya Das Say Y if you want to support display devices and functionality such as 30081351776STaniya Das splash screen. 30181351776STaniya Das 3028d3e5b9cSTaniya Dasconfig SDM_LPASSCC_845 3038d3e5b9cSTaniya Das tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" 3048d3e5b9cSTaniya Das select SDM_GCC_845 3058d3e5b9cSTaniya Das help 3068d3e5b9cSTaniya Das Support for the LPASS clock controller on SDM845 devices. 3078d3e5b9cSTaniya Das Say Y if you want to use the LPASS branch clocks of the LPASS clock 3088d3e5b9cSTaniya Das controller to reset the LPASS subsystem. 3098d3e5b9cSTaniya Das 3102a1d7eb8SDeepak Katragaddaconfig SM_GCC_8150 3112a1d7eb8SDeepak Katragadda tristate "SM8150 Global Clock Controller" 3122a1d7eb8SDeepak Katragadda help 3132a1d7eb8SDeepak Katragadda Support for the global clock controller on SM8150 devices. 3142a1d7eb8SDeepak Katragadda Say Y if you want to use peripheral devices such as UART, 3152a1d7eb8SDeepak Katragadda SPI, I2C, USB, SD/UFS, PCIe etc. 3162a1d7eb8SDeepak Katragadda 3174cfaa55fSTirupathi Reddyconfig SPMI_PMIC_CLKDIV 3184cfaa55fSTirupathi Reddy tristate "SPMI PMIC clkdiv Support" 319f071bcebSStephen Boyd depends on SPMI || COMPILE_TEST 3204cfaa55fSTirupathi Reddy help 3214cfaa55fSTirupathi Reddy This driver supports the clkdiv functionality on the Qualcomm 3224cfaa55fSTirupathi Reddy Technologies, Inc. SPMI PMIC. It configures the frequency of 3234cfaa55fSTirupathi Reddy clkdiv outputs of the PMIC. These clocks are typically wired 3244cfaa55fSTirupathi Reddy through alternate functions on GPIO pins. 325cb546b79SStephen Boyd 326cb546b79SStephen Boydconfig QCOM_HFPLL 327cb546b79SStephen Boyd tristate "High-Frequency PLL (HFPLL) Clock Controller" 328cb546b79SStephen Boyd help 329cb546b79SStephen Boyd Support for the high-frequency PLLs present on Qualcomm devices. 330cb546b79SStephen Boyd Say Y if you want to support CPU frequency scaling on devices 331cb546b79SStephen Boyd such as MSM8974, APQ8084, etc. 3323ddc3564SStephen Boyd 3333ddc3564SStephen Boydconfig KPSS_XCC 3343ddc3564SStephen Boyd tristate "KPSS Clock Controller" 3353ddc3564SStephen Boyd help 3363ddc3564SStephen Boyd Support for the Krait ACC and GCC clock controllers. Say Y 3373ddc3564SStephen Boyd if you want to support CPU frequency scaling on devices such 3383ddc3564SStephen Boyd as MSM8960, APQ8064, etc. 339bb5c4a85SStephen Boyd 340bb5c4a85SStephen Boydconfig KRAITCC 341bb5c4a85SStephen Boyd tristate "Krait Clock Controller" 342f071bcebSStephen Boyd depends on ARM 343bb5c4a85SStephen Boyd select KRAIT_CLOCKS 344bb5c4a85SStephen Boyd help 345bb5c4a85SStephen Boyd Support for the Krait CPU clocks on Qualcomm devices. 346bb5c4a85SStephen Boyd Say Y if you want to support CPU frequency scaling. 347f071bcebSStephen Boyd 348f071bcebSStephen Boydendif 349