if ARCH_SNAPDRAGON || ARCH_IPQ40XX

config CLK_QCOM
	bool
	depends on CLK && DM_RESET
	def_bool n

menu "Qualcomm clock drivers"

config CLK_QCOM_APQ8016
	bool "Qualcomm APQ8016 GCC"
	select CLK_QCOM
	help
	  Say Y here to enable support for the Global Clock Controller
	  on the Snapdragon APQ8016 SoC. This driver supports the clocks
	  and resets exposed by the GCC hardware block.

config CLK_QCOM_APQ8096
	bool "Qualcomm APQ8096 GCC"
	select CLK_QCOM
	help
	  Say Y here to enable support for the Global Clock Controller
	  on the Snapdragon APQ8096 SoC. This driver supports the clocks
	  and resets exposed by the GCC hardware block.

config CLK_QCOM_IPQ4019
	bool "Qualcomm IPQ4019 GCC"
	select CLK_QCOM
	help
	  Say Y here to enable support for the Global Clock Controller
	  on the Snapdragon IPQ4019 SoC. This driver supports the clocks
	  and resets exposed by the GCC hardware block.

config CLK_QCOM_QCM2290
	bool "Qualcomm QCM2290 GCC"
	select CLK_QCOM
	help
	  Say Y here to enable support for the Global Clock Controller
	  on the Snapdragon QCM2290 SoC. This driver supports the clocks
	  and resets exposed by the GCC hardware block.

config CLK_QCOM_QCS404
	bool "Qualcomm QCS404 GCC"
	select CLK_QCOM
	help
	  Say Y here to enable support for the Global Clock Controller
	  on the Snapdragon QCS404 SoC. This driver supports the clocks
	  and resets exposed by the GCC hardware block.

config CLK_QCOM_SDM845
	bool "Qualcomm SDM845 GCC"
	select CLK_QCOM
	help
	  Say Y here to enable support for the Global Clock Controller
	  on the Snapdragon 845 SoC. This driver supports the clocks
	  and resets exposed by the GCC hardware block.

config CLK_QCOM_SM6115
	bool "Qualcomm SM6115 GCC"
	select CLK_QCOM
	help
	  Say Y here to enable support for the Global Clock Controller
	  on the Snapdragon SM6115 SoC. This driver supports the clocks
	  and resets exposed by the GCC hardware block.

config CLK_QCOM_SM8250
	bool "Qualcomm SM8250 GCC"
	select CLK_QCOM
	help
	  Say Y here to enable support for the Global Clock Controller
	  on the Snapdragon SM8250 SoC. This driver supports the clocks
	  and resets exposed by the GCC hardware block.

endmenu

config CLK_QCOM_DEBUG
	bool "Enable Qualcomm clock debugging"
	depends on ARCH_SNAPDRAGON
	select CMD_CLK
	help
	  Enable support for debugging the Qualcomm Global Clock
	  Controller on supported platforms. The hardware implements
	  the ability to measure the output rates of most clocks, so
	  that clock configurations can be validated. Use the "clk debug"
	  command.

endif
