
config CLKDEV_LOOKUP
	bool
	select HAVE_CLK

config HAVE_CLK_PREPARE
	bool

config HAVE_MACH_CLKDEV
	bool

config COMMON_CLK
	bool
	select HAVE_CLK_PREPARE
	select CLKDEV_LOOKUP
	---help---
	  The common clock framework is a single definition of struct
	  clk, useful across many platforms, as well as an
	  implementation of the clock API in include/linux/clk.h.
	  Architectures utilizing the common struct clk should select
	  this option.

menu "Common Clock Framework"
	depends on COMMON_CLK

config COMMON_CLK_WM831X
	tristate "Clock driver for WM831x/2x PMICs"
	depends on MFD_WM831X
	---help---
          Supports the clocking subsystem of the WM831x/2x series of
	  PMICs from Wolfson Microlectronics.

config COMMON_CLK_VERSATILE
	bool "Clock driver for ARM Reference designs"
	depends on ARCH_INTEGRATOR || ARCH_REALVIEW || ARCH_VEXPRESS || ARM64
	---help---
          Supports clocking on ARM Reference designs:
	  - Integrator/AP and Integrator/CP
	  - RealView PB1176, EB, PB11MP and PBX
	  - Versatile Express

config COMMON_CLK_MAX77686
	tristate "Clock driver for Maxim 77686 MFD"
	depends on MFD_MAX77686
	---help---
	  This driver supports Maxim 77686 crystal oscillator clock. 

config COMMON_CLK_SCPI
	tristate "Clock driver for oscillators controlled via SCPI interface"
	depends on ARM_SCPI_MHU
	---help---
	  This driver provides support for oscillators that are controlled
	  by firmware that implements the SCPI interface.

config COMMON_CLK_SI5351
	tristate "Clock driver for SiLabs 5351A/B/C"
	depends on I2C
	select REGMAP_I2C
	select RATIONAL
	---help---
	  This driver supports Silicon Labs 5351A/B/C programmable clock
	  generators.

config COMMON_CLK_SI570
	tristate "Clock driver for SiLabs 570 and compatible devices"
	depends on I2C
	depends on OF
	select REGMAP_I2C
	help
	---help---
	  This driver supports Silicon Labs 570/571/598/599 programmable
	  clock generators.

config COMMON_CLK_S2MPS11
	tristate "Clock driver for S2MPS11 MFD"
	depends on MFD_SEC_CORE
	---help---
	  This driver supports S2MPS11 crystal oscillator clock.

config CLK_TWL6040
	tristate "External McPDM functional clock from twl6040"
	depends on TWL6040_CORE
	---help---
	  Enable the external functional clock support on OMAP4+ platforms for
	  McPDM. McPDM module is using the external bit clock on the McPDM bus
	  as functional clock.

config COMMON_CLK_AXI_CLKGEN
	tristate "AXI clkgen driver"
	depends on ARCH_ZYNQ || MICROBLAZE
	help
	---help---
	  Support for the Analog Devices axi-clkgen pcore clock generator for Xilinx
	  FPGAs. It is commonly used in Analog Devices' reference designs.

config CLK_PPC_CORENET
	bool "Clock driver for PowerPC corenet platforms"
	depends on PPC_E500MC && OF
	---help---
	  This adds the clock driver support for Freescale PowerPC corenet
	  platforms using common clock framework.

config COMMON_CLK_XGENE
	bool "Clock driver for APM XGene SoC"
	default y
	depends on ARM64
	---help---
	  Sypport for the APM X-Gene SoC reference, PLL, and device clocks.

config COMMON_CLK_KEYSTONE
	tristate "Clock drivers for Keystone based SOCs"
	depends on ARCH_KEYSTONE && 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 GEM5_CPUFREQ_CLK
	bool "Clk driver for GEM5 Platform"
	---help---
	  Enable clk hardware for cpufreq in gem5 platforms


source "drivers/clk/qcom/Kconfig"

endmenu

source "drivers/clk/bcm/Kconfig"
source "drivers/clk/mvebu/Kconfig"
