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

endif
