config QCOM_GDSC
	bool
	select PM_GENERIC_DOMAINS if PM

config QCOM_RPMCC
	bool

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 QCOM_CLK_SMD_RPM
	tristate "RPM over SMD based Clock Controller"
	depends on COMMON_CLK_QCOM && QCOM_SMD_RPM
	select QCOM_RPMCC
	help
	  Support for the clocks exposed by the Resource Power Manager
	  processor on devices like apq8016, apq8084 and msm8974.

config QCOM_CLK_RPM
	tristate "RPM based Clock Controller"
	depends on COMMON_CLK_QCOM && MFD_QCOM_RPM
	select QCOM_RPMCC
	help
	  Support for the clocks exposed by the Resource Power Manager
	  processor on devices like apq8064.

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_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 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 QCOM_HFPLL
	tristate "High-Frequency PLL (HFPLL) Clock Controller"
	depends on COMMON_CLK_QCOM
	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"
	depends on COMMON_CLK_QCOM
	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 COMMON_CLK_QCOM && 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 KRAIT_CLOCKS
	bool
	select KRAIT_L2_ACCESSORS

config QCOM_A53
	tristate "A53 Clock Controller"
	depends on COMMON_CLK_QCOM
	help
	  Support for the A53 clock controller on Qualcomm devices.
	  Say Y if you want to support CPU frequency scaling on devices
	  such as MSM8916.
