config QCOM_GDSC
	bool
	select PM_GENERIC_DOMAINS if PM
	depends on REGULATOR

config COMMON_CLK_QCOM
	tristate "Support for Qualcomm's clock controllers"
	depends on OF
	depends on ARCH_QCOM || COMPILE_TEST
	select REGMAP_MMIO
	select RESET_CONTROLLER

config APQ_GCC_8084
	tristate "APQ8084 Global Clock Controller"
	select QCOM_GDSC
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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_GCC_4019
	tristate "IPQ4019 Global Clock Controller"
	depends on COMMON_CLK_QCOM
	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_806X
	tristate "IPQ806x Global Clock Controller"
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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 MSM_GCC_8660
	tristate "MSM8660 Global Clock Controller"
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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_8960
	tristate "APQ8064/MSM8960 Global Clock Controller"
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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"
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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_8996
	tristate "MSM8996 Global Clock Controller"
	select QCOM_GDSC
	depends on COMMON_CLK_QCOM
	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
	depends on COMMON_CLK_QCOM
	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_SDM845
	tristate "SDM845 Global Clock Controller"
	depends on COMMON_CLK_QCOM
	help
	  Support for the global clock controller on Qualcomm Technologies, Inc
	  sdm845 devices.
	  Say Y if you want to use peripheral devices such as UART, SPI,
	  i2c, USB, UFS, SD/eMMC, PCIe, etc.

config MSM_VIDEOCC_SDM845
	tristate "SDM845 Video Clock Controller"
	depends on COMMON_CLK_QCOM
	help
	  Support for the video clock controller on Qualcomm Technologies, Inc
	  sdm845 devices.
	  Say Y if you want to support video devices and functionality such as
	  video encode/decode.

config MSM_CAMCC_SDM845
	tristate "SDM845 Camera Clock Controller"
	depends on COMMON_CLK_QCOM
	help
	  Support for the camera clock controller on Qualcomm Technologies, Inc
	  sdm845 devices.
	  Say Y if you want to support camera devices and functionality such as
	  capturing pictures.

config MSM_DISPCC_SDM845
	tristate "SDM845 Display Clock Controller"
	depends on COMMON_CLK_QCOM
	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 CLOCK_QPNP_DIV
	tristate "QPNP PMIC clkdiv driver"
	depends on COMMON_CLK_QCOM && SPMI
	help
	  This driver supports the clkdiv functionality on the Qualcomm
	  Technologies, Inc. QPNP PMIC. It configures the frequency of
	  clkdiv outputs on the PMIC. These clocks are typically wired
	  through alternate functions on gpio pins.

config MSM_CLK_RPMH
	tristate "RPMh Clock Driver"
	depends on COMMON_CLK_QCOM && QTI_RPMH_API
	help
	  RPMh manages shared resources on some Qualcomm Technologies, Inc.
	  SoCs. It accepts requests from other hardware subsystems via RSC.
	  Say Y to support the clocks managed by RPMh VRM/ARC on platforms
	  such as sdm845.

config CLOCK_CPU_OSM
	tristate "OSM CPU Clock Controller"
	depends on COMMON_CLK_QCOM
	help
	 Support for the OSM clock controller.
	 Operating State Manager (OSM) is a hardware engine used by some
	 Qualcomm Technologies, Inc. (QTI) SoCs to manage frequency and
	 voltage scaling in hardware. OSM is capable of controlling
	 frequency and voltage requests for multiple clusters via the
	 existence of multiple OSM domains.
	 Say Y if you want to support OSM clocks.

config MSM_GPUCC_SDM845
	tristate "SDM845 Graphics Clock Controller"
	depends on MSM_GCC_SDM845
	help
	  Support for the graphics clock controller on Qualcomm Technologies, Inc.
	  sdm845 devices.
	  Say Y if you want to support graphics controller devices.

config MSM_CLK_AOP_QMP
	tristate "AOP QMP Clock Driver"
	depends on COMMON_CLK_QCOM && MSM_QMP
	help
	Always On Processor manages few shared clocks on some Qualcomm
	Technologies, Inc. SoCs. It accepts requests from other hardware
	subsystems via QMP mailboxes.
	Say Y to support the clocks managed by AOP on platforms such as sdm845.

config MDM_GCC_SDXPOORWILLS
	tristate "SDXPOORWILLS Global Clock Controller"
	depends on COMMON_CLK_QCOM
	help
	  Support for the global clock controller on sdxpoorwills devices.
	  Say Y if you want to use peripheral devices such as UART, SPI,
	  i2c, USB, SD/eMMC, etc.

config MDM_CLOCK_CPU_SDXPOORWILLS
	tristate "SDXPOORWILLS CPU Clock Controller"
	depends on COMMON_CLK_QCOM
	help
	Support for the cpu clock controller on sdxpoorwills
	based devices.
	Say Y if you want to support CPU clock scaling using
	CPUfreq drivers for dyanmic power management.

source "drivers/clk/qcom/mdss/Kconfig"
