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 23078412c26SAmit Nischalconfig SDM_CAMCC_845 23178412c26SAmit Nischal tristate "SDM845 Camera Clock Controller" 23278412c26SAmit Nischal select SDM_GCC_845 23378412c26SAmit Nischal help 23478412c26SAmit Nischal Support for the camera clock controller on SDM845 devices. 23578412c26SAmit Nischal Say Y if you want to support camera devices and camera functionality. 23678412c26SAmit Nischal 237f2a76a29STaniya Dasconfig SDM_GCC_660 238f2a76a29STaniya Das tristate "SDM660 Global Clock Controller" 239f2a76a29STaniya Das select QCOM_GDSC 240f2a76a29STaniya Das help 241f2a76a29STaniya Das Support for the global clock controller on SDM660 devices. 242f2a76a29STaniya Das Say Y if you want to use peripheral devices such as UART, SPI, 243f2a76a29STaniya Das i2C, USB, UFS, SDDC, PCIe, etc. 244f2a76a29STaniya Das 245892df019SBjorn Anderssonconfig QCS_TURING_404 246892df019SBjorn Andersson tristate "QCS404 Turing Clock Controller" 247892df019SBjorn Andersson help 248892df019SBjorn Andersson Support for the Turing Clock Controller on QCS404, provides clocks 249892df019SBjorn Andersson and resets for the Turing subsystem. 250892df019SBjorn Andersson 251*6cdef273SGovind Singhconfig QCS_Q6SSTOP_404 252*6cdef273SGovind Singh tristate "QCS404 Q6SSTOP Clock Controller" 253*6cdef273SGovind Singh select QCS_GCC_404 254*6cdef273SGovind Singh help 255*6cdef273SGovind Singh Support for the Q6SSTOP clock controller on QCS404 devices. 256*6cdef273SGovind Singh Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock 257*6cdef273SGovind Singh controller to reset the Q6SSTOP subsystem. 258*6cdef273SGovind Singh 25906391eddSTaniya Dasconfig SDM_GCC_845 26006391eddSTaniya Das tristate "SDM845 Global Clock Controller" 26106391eddSTaniya Das select QCOM_GDSC 26206391eddSTaniya Das help 26377122d6fSStephen Boyd Support for the global clock controller on SDM845 devices. 26406391eddSTaniya Das Say Y if you want to use peripheral devices such as UART, SPI, 26577122d6fSStephen Boyd i2C, USB, UFS, SDDC, PCIe, etc. 26606391eddSTaniya Das 267453361cdSAmit Nischalconfig SDM_GPUCC_845 268453361cdSAmit Nischal tristate "SDM845 Graphics Clock Controller" 269453361cdSAmit Nischal select SDM_GCC_845 270453361cdSAmit Nischal help 271453361cdSAmit Nischal Support for the graphics clock controller on SDM845 devices. 272453361cdSAmit Nischal Say Y if you want to support graphics controller devices and 273453361cdSAmit Nischal functionality such as 3D graphics. 274453361cdSAmit Nischal 275c646b347SAmit Nischalconfig SDM_VIDEOCC_845 276c646b347SAmit Nischal tristate "SDM845 Video Clock Controller" 277c646b347SAmit Nischal select SDM_GCC_845 278c646b347SAmit Nischal select QCOM_GDSC 279c646b347SAmit Nischal help 28077122d6fSStephen Boyd Support for the video clock controller on SDM845 devices. 281c646b347SAmit Nischal Say Y if you want to support video devices and functionality such as 282c646b347SAmit Nischal video encode and decode. 283c646b347SAmit Nischal 28481351776STaniya Dasconfig SDM_DISPCC_845 28581351776STaniya Das tristate "SDM845 Display Clock Controller" 28681351776STaniya Das select SDM_GCC_845 28781351776STaniya Das help 28881351776STaniya Das Support for the display clock controller on Qualcomm Technologies, Inc 28981351776STaniya Das SDM845 devices. 29081351776STaniya Das Say Y if you want to support display devices and functionality such as 29181351776STaniya Das splash screen. 29281351776STaniya Das 2938d3e5b9cSTaniya Dasconfig SDM_LPASSCC_845 2948d3e5b9cSTaniya Das tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" 2958d3e5b9cSTaniya Das select SDM_GCC_845 2968d3e5b9cSTaniya Das help 2978d3e5b9cSTaniya Das Support for the LPASS clock controller on SDM845 devices. 2988d3e5b9cSTaniya Das Say Y if you want to use the LPASS branch clocks of the LPASS clock 2998d3e5b9cSTaniya Das controller to reset the LPASS subsystem. 3008d3e5b9cSTaniya Das 3012a1d7eb8SDeepak Katragaddaconfig SM_GCC_8150 3022a1d7eb8SDeepak Katragadda tristate "SM8150 Global Clock Controller" 3032a1d7eb8SDeepak Katragadda help 3042a1d7eb8SDeepak Katragadda Support for the global clock controller on SM8150 devices. 3052a1d7eb8SDeepak Katragadda Say Y if you want to use peripheral devices such as UART, 3062a1d7eb8SDeepak Katragadda SPI, I2C, USB, SD/UFS, PCIe etc. 3072a1d7eb8SDeepak Katragadda 3084cfaa55fSTirupathi Reddyconfig SPMI_PMIC_CLKDIV 3094cfaa55fSTirupathi Reddy tristate "SPMI PMIC clkdiv Support" 310f071bcebSStephen Boyd depends on SPMI || COMPILE_TEST 3114cfaa55fSTirupathi Reddy help 3124cfaa55fSTirupathi Reddy This driver supports the clkdiv functionality on the Qualcomm 3134cfaa55fSTirupathi Reddy Technologies, Inc. SPMI PMIC. It configures the frequency of 3144cfaa55fSTirupathi Reddy clkdiv outputs of the PMIC. These clocks are typically wired 3154cfaa55fSTirupathi Reddy through alternate functions on GPIO pins. 316cb546b79SStephen Boyd 317cb546b79SStephen Boydconfig QCOM_HFPLL 318cb546b79SStephen Boyd tristate "High-Frequency PLL (HFPLL) Clock Controller" 319cb546b79SStephen Boyd help 320cb546b79SStephen Boyd Support for the high-frequency PLLs present on Qualcomm devices. 321cb546b79SStephen Boyd Say Y if you want to support CPU frequency scaling on devices 322cb546b79SStephen Boyd such as MSM8974, APQ8084, etc. 3233ddc3564SStephen Boyd 3243ddc3564SStephen Boydconfig KPSS_XCC 3253ddc3564SStephen Boyd tristate "KPSS Clock Controller" 3263ddc3564SStephen Boyd help 3273ddc3564SStephen Boyd Support for the Krait ACC and GCC clock controllers. Say Y 3283ddc3564SStephen Boyd if you want to support CPU frequency scaling on devices such 3293ddc3564SStephen Boyd as MSM8960, APQ8064, etc. 330bb5c4a85SStephen Boyd 331bb5c4a85SStephen Boydconfig KRAITCC 332bb5c4a85SStephen Boyd tristate "Krait Clock Controller" 333f071bcebSStephen Boyd depends on ARM 334bb5c4a85SStephen Boyd select KRAIT_CLOCKS 335bb5c4a85SStephen Boyd help 336bb5c4a85SStephen Boyd Support for the Krait CPU clocks on Qualcomm devices. 337bb5c4a85SStephen Boyd Say Y if you want to support CPU frequency scaling. 338f071bcebSStephen Boyd 339f071bcebSStephen Boydendif 340