| # SPDX-License-Identifier: GPL-2.0-only |
| config KRAIT_CLOCKS |
| bool |
| select KRAIT_L2_ACCESSORS |
| |
| config QCOM_GDSC |
| bool |
| select PM_GENERIC_DOMAINS if PM |
| |
| config QCOM_RPMCC |
| bool |
| |
| menuconfig COMMON_CLK_QCOM |
| tristate "Support for Qualcomm's clock controllers" |
| depends on OF |
| depends on ARCH_QCOM || COMPILE_TEST |
| select RATIONAL |
| select REGMAP_MMIO |
| select RESET_CONTROLLER |
| |
| if COMMON_CLK_QCOM |
| |
| config QCOM_A53PLL |
| tristate "MSM8916 A53 PLL" |
| help |
| Support for the A53 PLL on MSM8916 devices. It provides |
| the CPU with frequencies above 1GHz. |
| Say Y if you want to support higher CPU frequencies on MSM8916 |
| devices. |
| |
| config QCOM_CLK_APCS_MSM8916 |
| tristate "MSM8916 APCS Clock Controller" |
| depends on QCOM_APCS_IPC || COMPILE_TEST |
| help |
| Support for the APCS Clock Controller on msm8916 devices. The |
| APCS is managing the mux and divider which feeds the CPUs. |
| Say Y if you want to support CPU frequency scaling on devices |
| such as msm8916. |
| |
| config QCOM_CLK_APCC_MSM8996 |
| tristate "MSM8996 CPU Clock Controller" |
| select QCOM_KRYO_L2_ACCESSORS |
| depends on ARM64 |
| help |
| Support for the CPU clock controller on msm8996 devices. |
| Say Y if you want to support CPU clock scaling using CPUfreq |
| drivers for dynamic power management. |
| |
| config QCOM_CLK_RPM |
| tristate "RPM based Clock Controller" |
| depends on MFD_QCOM_RPM |
| select QCOM_RPMCC |
| help |
| The RPM (Resource Power Manager) is a dedicated hardware engine for |
| managing the shared SoC resources in order to keep the lowest power |
| profile. It communicates with other hardware subsystems via shared |
| memory and accepts clock requests, aggregates the requests and turns |
| the clocks on/off or scales them on demand. |
| Say Y if you want to support the clocks exposed by the RPM on |
| platforms such as apq8064, msm8660, msm8960 etc. |
| |
| config QCOM_CLK_SMD_RPM |
| tristate "RPM over SMD based Clock Controller" |
| depends on QCOM_SMD_RPM |
| select QCOM_RPMCC |
| help |
| The RPM (Resource Power Manager) is a dedicated hardware engine for |
| managing the shared SoC resources in order to keep the lowest power |
| profile. It communicates with other hardware subsystems via shared |
| memory and accepts clock requests, aggregates the requests and turns |
| the clocks on/off or scales them on demand. |
| Say Y if you want to support the clocks exposed by the RPM on |
| platforms such as apq8016, apq8084, msm8974 etc. |
| |
| config QCOM_CLK_RPMH |
| tristate "RPMh Clock Driver" |
| depends on QCOM_RPMH |
| help |
| RPMh manages shared resources on some Qualcomm Technologies, Inc. |
| SoCs. It accepts requests from other hardware subsystems via RSC. |
| Say Y if you want to support the clocks exposed by RPMh on |
| platforms such as SDM845. |
| |
| config APQ_GCC_8084 |
| tristate "APQ8084 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on apq8084 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, SATA, PCIe, etc. |
| |
| config APQ_MMCC_8084 |
| tristate "APQ8084 Multimedia Clock Controller" |
| select APQ_GCC_8084 |
| select QCOM_GDSC |
| help |
| Support for the multimedia clock controller on apq8084 devices. |
| Say Y if you want to support multimedia devices such as display, |
| graphics, video encode/decode, camera, etc. |
| |
| config IPQ_APSS_PLL |
| tristate "IPQ APSS PLL" |
| help |
| Support for APSS PLL on ipq devices. The APSS PLL is the main |
| clock that feeds the CPUs on ipq based devices. |
| Say Y if you want to support CPU frequency scaling on ipq based |
| devices. |
| |
| config IPQ_APSS_6018 |
| tristate "IPQ APSS Clock Controller" |
| select IPQ_APSS_PLL |
| depends on QCOM_APCS_IPC || COMPILE_TEST |
| help |
| Support for APSS clock controller on IPQ platforms. The |
| APSS clock controller manages the Mux and enable block that feeds the |
| CPUs. |
| Say Y if you want to support CPU frequency scaling on |
| ipq based devices. |
| |
| config IPQ_GCC_4019 |
| tristate "IPQ4019 Global Clock Controller" |
| help |
| Support for the global clock controller on ipq4019 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, etc. |
| |
| config IPQ_GCC_6018 |
| tristate "IPQ6018 Global Clock Controller" |
| help |
| Support for global clock controller on ipq6018 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, etc. Select this for the root clock |
| of ipq6018. |
| |
| config IPQ_GCC_806X |
| tristate "IPQ806x Global Clock Controller" |
| help |
| Support for the global clock controller on ipq806x devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, etc. |
| |
| config IPQ_LCC_806X |
| tristate "IPQ806x LPASS Clock Controller" |
| select IPQ_GCC_806X |
| help |
| Support for the LPASS clock controller on ipq806x devices. |
| Say Y if you want to use audio devices such as i2s, pcm, |
| S/PDIF, etc. |
| |
| config IPQ_GCC_8074 |
| tristate "IPQ8074 Global Clock Controller" |
| help |
| Support for global clock controller on ipq8074 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, etc. Select this for the root clock |
| of ipq8074. |
| |
| config MSM_GCC_8660 |
| tristate "MSM8660 Global Clock Controller" |
| help |
| Support for the global clock controller on msm8660 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, etc. |
| |
| config MSM_GCC_8916 |
| tristate "MSM8916 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on msm8916 devices. |
| Say Y if you want to use devices such as UART, SPI i2c, USB, |
| SD/eMMC, display, graphics, camera etc. |
| |
| config MSM_GCC_8939 |
| tristate "MSM8939 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on msm8939 devices. |
| Say Y if you want to use devices such as UART, SPI i2c, USB, |
| SD/eMMC, display, graphics, camera etc. |
| |
| config MSM_GCC_8960 |
| tristate "APQ8064/MSM8960 Global Clock Controller" |
| help |
| Support for the global clock controller on apq8064/msm8960 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, SATA, PCIe, etc. |
| |
| config MSM_LCC_8960 |
| tristate "APQ8064/MSM8960 LPASS Clock Controller" |
| select MSM_GCC_8960 |
| help |
| Support for the LPASS clock controller on apq8064/msm8960 devices. |
| Say Y if you want to use audio devices such as i2s, pcm, |
| SLIMBus, etc. |
| |
| config MDM_GCC_9615 |
| tristate "MDM9615 Global Clock Controller" |
| help |
| Support for the global clock controller on mdm9615 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, etc. |
| |
| config MDM_LCC_9615 |
| tristate "MDM9615 LPASS Clock Controller" |
| select MDM_GCC_9615 |
| help |
| Support for the LPASS clock controller on mdm9615 devices. |
| Say Y if you want to use audio devices such as i2s, pcm, |
| SLIMBus, etc. |
| |
| config MSM_MMCC_8960 |
| tristate "MSM8960 Multimedia Clock Controller" |
| select MSM_GCC_8960 |
| help |
| Support for the multimedia clock controller on msm8960 devices. |
| Say Y if you want to support multimedia devices such as display, |
| graphics, video encode/decode, camera, etc. |
| |
| config MSM_GCC_8974 |
| tristate "MSM8974 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on msm8974 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, SD/eMMC, SATA, PCIe, etc. |
| |
| config MSM_MMCC_8974 |
| tristate "MSM8974 Multimedia Clock Controller" |
| select MSM_GCC_8974 |
| select QCOM_GDSC |
| help |
| Support for the multimedia clock controller on msm8974 devices. |
| Say Y if you want to support multimedia devices such as display, |
| graphics, video encode/decode, camera, etc. |
| |
| config MSM_GCC_8994 |
| tristate "MSM8994 Global Clock Controller" |
| help |
| Support for the global clock controller on msm8994 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, UFS, SD/eMMC, PCIe, etc. |
| |
| config MSM_GCC_8996 |
| tristate "MSM8996 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on msm8996 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, UFS, SD/eMMC, PCIe, etc. |
| |
| config MSM_MMCC_8996 |
| tristate "MSM8996 Multimedia Clock Controller" |
| select MSM_GCC_8996 |
| select QCOM_GDSC |
| help |
| Support for the multimedia clock controller on msm8996 devices. |
| Say Y if you want to support multimedia devices such as display, |
| graphics, video encode/decode, camera, etc. |
| |
| config MSM_GCC_8998 |
| tristate "MSM8998 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on msm8998 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2c, USB, UFS, SD/eMMC, PCIe, etc. |
| |
| config MSM_GPUCC_8998 |
| tristate "MSM8998 Graphics Clock Controller" |
| select MSM_GCC_8998 |
| select QCOM_GDSC |
| help |
| Support for the graphics clock controller on MSM8998 devices. |
| Say Y if you want to support graphics controller devices and |
| functionality such as 3D graphics. |
| |
| config MSM_MMCC_8998 |
| tristate "MSM8998 Multimedia Clock Controller" |
| select MSM_GCC_8998 |
| select QCOM_GDSC |
| help |
| Support for the multimedia clock controller on msm8998 devices. |
| Say Y if you want to support multimedia devices such as display, |
| graphics, video encode/decode, camera, etc. |
| |
| config QCS_GCC_404 |
| tristate "QCS404 Global Clock Controller" |
| help |
| Support for the global clock controller on QCS404 devices. |
| Say Y if you want to use multimedia devices or peripheral |
| devices such as UART, SPI, I2C, USB, SD/eMMC, PCIe etc. |
| |
| config SC_CAMCC_7180 |
| tristate "SC7180 Camera Clock Controller" |
| select SC_GCC_7180 |
| help |
| Support for the camera clock controller on Qualcomm Technologies, Inc |
| SC7180 devices. |
| Say Y if you want to support camera devices and functionality such as |
| capturing pictures. |
| |
| config SC_DISPCC_7180 |
| tristate "SC7180 Display Clock Controller" |
| select SC_GCC_7180 |
| help |
| Support for the display clock controller on Qualcomm Technologies, Inc |
| SC7180 devices. |
| Say Y if you want to support display devices and functionality such as |
| splash screen. |
| |
| config SC_GCC_7180 |
| tristate "SC7180 Global Clock Controller" |
| select QCOM_GDSC |
| depends on COMMON_CLK_QCOM |
| help |
| Support for the global clock controller on SC7180 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| I2C, USB, UFS, SDCC, etc. |
| |
| config SC_LPASS_CORECC_7180 |
| tristate "SC7180 LPASS Core Clock Controller" |
| select SC_GCC_7180 |
| help |
| Support for the LPASS(Low Power Audio Subsystem) core clock controller |
| on SC7180 devices. |
| Say Y if you want to use LPASS clocks and power domains of the LPASS |
| core clock controller. |
| |
| config SC_GPUCC_7180 |
| tristate "SC7180 Graphics Clock Controller" |
| select SC_GCC_7180 |
| help |
| Support for the graphics clock controller on SC7180 devices. |
| Say Y if you want to support graphics controller devices and |
| functionality such as 3D graphics. |
| |
| config SC_MSS_7180 |
| tristate "SC7180 Modem Clock Controller" |
| select SC_GCC_7180 |
| help |
| Support for the Modem Subsystem clock controller on Qualcomm |
| Technologies, Inc on SC7180 devices. |
| Say Y if you want to use the Modem branch clocks of the Modem |
| subsystem clock controller to reset the MSS subsystem. |
| |
| config SC_VIDEOCC_7180 |
| tristate "SC7180 Video Clock Controller" |
| select SC_GCC_7180 |
| help |
| Support for the video clock controller on SC7180 devices. |
| Say Y if you want to support video devices and functionality such as |
| video encode and decode. |
| |
| config SDM_CAMCC_845 |
| tristate "SDM845 Camera Clock Controller" |
| select SDM_GCC_845 |
| help |
| Support for the camera clock controller on SDM845 devices. |
| Say Y if you want to support camera devices and camera functionality. |
| |
| config SDM_GCC_660 |
| tristate "SDM660 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on SDM660 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2C, USB, UFS, SDDC, PCIe, etc. |
| |
| config QCS_TURING_404 |
| tristate "QCS404 Turing Clock Controller" |
| help |
| Support for the Turing Clock Controller on QCS404, provides clocks |
| and resets for the Turing subsystem. |
| |
| config QCS_Q6SSTOP_404 |
| tristate "QCS404 Q6SSTOP Clock Controller" |
| select QCS_GCC_404 |
| help |
| Support for the Q6SSTOP clock controller on QCS404 devices. |
| Say Y if you want to use the Q6SSTOP branch clocks of the WCSS clock |
| controller to reset the Q6SSTOP subsystem. |
| |
| config SDM_GCC_845 |
| tristate "SDM845 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on SDM845 devices. |
| Say Y if you want to use peripheral devices such as UART, SPI, |
| i2C, USB, UFS, SDDC, PCIe, etc. |
| |
| config SDM_GPUCC_845 |
| tristate "SDM845 Graphics Clock Controller" |
| select SDM_GCC_845 |
| help |
| Support for the graphics clock controller on SDM845 devices. |
| Say Y if you want to support graphics controller devices and |
| functionality such as 3D graphics. |
| |
| config SDM_VIDEOCC_845 |
| tristate "SDM845 Video Clock Controller" |
| select SDM_GCC_845 |
| select QCOM_GDSC |
| help |
| Support for the video clock controller on SDM845 devices. |
| Say Y if you want to support video devices and functionality such as |
| video encode and decode. |
| |
| config SDM_DISPCC_845 |
| tristate "SDM845 Display Clock Controller" |
| select SDM_GCC_845 |
| help |
| Support for the display clock controller on Qualcomm Technologies, Inc |
| SDM845 devices. |
| Say Y if you want to support display devices and functionality such as |
| splash screen. |
| |
| config SDM_LPASSCC_845 |
| tristate "SDM845 Low Power Audio Subsystem (LPAAS) Clock Controller" |
| select SDM_GCC_845 |
| help |
| Support for the LPASS clock controller on SDM845 devices. |
| Say Y if you want to use the LPASS branch clocks of the LPASS clock |
| controller to reset the LPASS subsystem. |
| |
| config SDX_GCC_55 |
| tristate "SDX55 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on SDX55 devices. |
| Say Y if you want to use peripheral devices such as UART, |
| SPI, I2C, USB, SD/UFS, PCIe etc. |
| |
| config SM_DISPCC_8250 |
| tristate "SM8150 and SM8250 Display Clock Controller" |
| depends on SM_GCC_8150 || SM_GCC_8250 |
| help |
| Support for the display clock controller on Qualcomm Technologies, Inc |
| SM8150 and SM8250 devices. |
| Say Y if you want to support display devices and functionality such as |
| splash screen. |
| |
| config SM_GCC_8150 |
| tristate "SM8150 Global Clock Controller" |
| help |
| Support for the global clock controller on SM8150 devices. |
| Say Y if you want to use peripheral devices such as UART, |
| SPI, I2C, USB, SD/UFS, PCIe etc. |
| |
| config SM_GCC_8250 |
| tristate "SM8250 Global Clock Controller" |
| select QCOM_GDSC |
| help |
| Support for the global clock controller on SM8250 devices. |
| Say Y if you want to use peripheral devices such as UART, |
| SPI, I2C, USB, SD/UFS, PCIe etc. |
| |
| config SM_GPUCC_8150 |
| tristate "SM8150 Graphics Clock Controller" |
| select SM_GCC_8150 |
| help |
| Support for the graphics clock controller on SM8150 devices. |
| Say Y if you want to support graphics controller devices and |
| functionality such as 3D graphics. |
| |
| config SM_GPUCC_8250 |
| tristate "SM8250 Graphics Clock Controller" |
| select SM_GCC_8250 |
| help |
| Support for the graphics clock controller on SM8250 devices. |
| Say Y if you want to support graphics controller devices and |
| functionality such as 3D graphics. |
| |
| config SM_VIDEOCC_8150 |
| tristate "SM8150 Video Clock Controller" |
| select SDM_GCC_8150 |
| select QCOM_GDSC |
| help |
| Support for the video clock controller on SM8150 devices. |
| Say Y if you want to support video devices and functionality such as |
| video encode and decode. |
| |
| config SM_VIDEOCC_8250 |
| tristate "SM8250 Video Clock Controller" |
| select SDM_GCC_8250 |
| select QCOM_GDSC |
| help |
| Support for the video clock controller on SM8250 devices. |
| Say Y if you want to support video devices and functionality such as |
| video encode and decode. |
| |
| config SPMI_PMIC_CLKDIV |
| tristate "SPMI PMIC clkdiv Support" |
| depends on SPMI || COMPILE_TEST |
| help |
| This driver supports the clkdiv functionality on the Qualcomm |
| Technologies, Inc. SPMI PMIC. It configures the frequency of |
| clkdiv outputs of the PMIC. These clocks are typically wired |
| through alternate functions on GPIO pins. |
| |
| config QCOM_HFPLL |
| tristate "High-Frequency PLL (HFPLL) Clock Controller" |
| help |
| Support for the high-frequency PLLs present on Qualcomm devices. |
| Say Y if you want to support CPU frequency scaling on devices |
| such as MSM8974, APQ8084, etc. |
| |
| config KPSS_XCC |
| tristate "KPSS Clock Controller" |
| help |
| Support for the Krait ACC and GCC clock controllers. Say Y |
| if you want to support CPU frequency scaling on devices such |
| as MSM8960, APQ8064, etc. |
| |
| config KRAITCC |
| tristate "Krait Clock Controller" |
| depends on ARM |
| select KRAIT_CLOCKS |
| help |
| Support for the Krait CPU clocks on Qualcomm devices. |
| Say Y if you want to support CPU frequency scaling. |
| |
| config CLK_GFM_LPASS_SM8250 |
| tristate "SM8250 GFM LPASS Clocks" |
| help |
| Support for the Glitch Free Mux (GFM) Low power audio |
| subsystem (LPASS) clocks found on SM8250 SoCs. |
| |
| endif |