# SPDX-License-Identifier: GPL-2.0-only
config COMMON_CLK_KEYSTONE
	tristate "Clock drivers for Keystone based SOCs"
	depends on (ARCH_KEYSTONE || COMPILE_TEST) && OF
	help
	  Supports clock drivers for Keystone based SOCs. These SOCs have local
	  a power sleep control module that gate the clock to the IPs and PLLs.

config TI_SCI_CLK
	tristate "TI System Control Interface clock drivers"
	depends on (ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST) && OF
	depends on TI_SCI_PROTOCOL
	default ARCH_KEYSTONE
	help
	  This adds the clock driver support over TI System Control Interface.
	  If you wish to use clock resources from the PMMC firmware, say Y.
	  Otherwise, say N.

config TI_SCI_CLK_PROBE_FROM_FW
	bool "Probe available clocks from firmware"
	depends on TI_SCI_CLK
	default n
	help
	  Forces the TI SCI clock driver to probe available clocks from the
	  firmware. By default, only the used clocks are probed from DT.
	  This is mostly only useful for debugging purposes, and will
	  increase the boot time of the device. If you want the clocks probed
	  from firmware, say Y. Otherwise, say N.

config TI_SYSCON_CLK
	tristate "Syscon based clock driver for K2/K3 SoCs"
	depends on ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST
	default ARCH_KEYSTONE || ARCH_K3
	help
	  This adds clock driver support for syscon based gate
	  clocks on TI's K2 and K3 SoCs.
