# SPDX-License-Identifier: GPL-2.0-only
config COMMON_CLK_MESON_REGMAP
	tristate
	select REGMAP

config COMMON_CLK_MESON_DUALDIV
	tristate
	select COMMON_CLK_MESON_REGMAP

config COMMON_CLK_MESON_MPLL
	tristate
	select COMMON_CLK_MESON_REGMAP

config COMMON_CLK_MESON_PHASE
	tristate
	select COMMON_CLK_MESON_REGMAP

config COMMON_CLK_MESON_PLL
	tristate
	select COMMON_CLK_MESON_REGMAP

config COMMON_CLK_MESON_SCLK_DIV
	tristate
	select COMMON_CLK_MESON_REGMAP

config COMMON_CLK_MESON_VID_PLL_DIV
	tristate
	select COMMON_CLK_MESON_REGMAP

config COMMON_CLK_MESON_AO_CLKC
	tristate
	select COMMON_CLK_MESON_REGMAP
	select RESET_CONTROLLER

config COMMON_CLK_MESON_EE_CLKC
	tristate
	select COMMON_CLK_MESON_REGMAP

config COMMON_CLK_MESON_CPU_DYNDIV
	tristate
	select COMMON_CLK_MESON_REGMAP

config COMMON_CLK_MESON8B
	bool
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select MFD_SYSCON
	select RESET_CONTROLLER
	help
	  Support for the clock controller on AmLogic S802 (Meson8),
	  S805 (Meson8b) and S812 (Meson8m2) devices. Say Y if you
	  want peripherals and CPU frequency scaling to work.

config COMMON_CLK_GXBB
	bool
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_VID_PLL_DIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_AO_CLKC
	select COMMON_CLK_MESON_EE_CLKC
	select MFD_SYSCON
	help
	  Support for the clock controller on AmLogic S905 devices, aka gxbb.
	  Say Y if you want peripherals and CPU frequency scaling to work.

config COMMON_CLK_AXG
	bool
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_AO_CLKC
	select COMMON_CLK_MESON_EE_CLKC
	select MFD_SYSCON
	help
	  Support for the clock controller on AmLogic A113D devices, aka axg.
	  Say Y if you want peripherals and CPU frequency scaling to work.

config COMMON_CLK_AXG_AUDIO
	tristate "Meson AXG Audio Clock Controller Driver"
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_PHASE
	select COMMON_CLK_MESON_SCLK_DIV
	select REGMAP_MMIO
	help
	  Support for the audio clock controller on AmLogic A113D devices,
	  aka axg, Say Y if you want audio subsystem to work.

config COMMON_CLK_G12A
	bool "Meson G12A clock controller"
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_AO_CLKC
	select COMMON_CLK_MESON_EE_CLKC
	select COMMON_CLK_MESON_CPU_DYNDIV
	select COMMON_CLK_MESON_VID_PLL_DIV
	select MFD_SYSCON
	help
	  Support for the clock controller on Amlogic S905D2, S905X2 and S905Y2
	  devices, aka g12a. Say Y if you want peripherals to work.

config COMMON_CLK_TM2
	bool "Meson TM2 clock controller"
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_AO_CLKC
	select COMMON_CLK_MESON_EE_CLKC
	select COMMON_CLK_MESON_CPU_DYNDIV
	select COMMON_CLK_MESON_VID_PLL_DIV
	select MFD_SYSCON
	help
	  Support for the clock controller on Amlogic T962E2 and T962X3
	  devices, aka tm2. Say Y if you want peripherals to work.

config COMMON_CLK_SC2
	bool "Meson SC2 clock controller"
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_CPU_DYNDIV
	select COMMON_CLK_MESON_VID_PLL_DIV
	select MFD_SYSCON
	help
	  Support for the clock controller on Amlogic AH219 and AH212
	  devices, aka sc2. Say Y if you want peripherals to work.
config COMMON_CLK_T5D
	bool "Meson T5D clock controller"
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_CPU_DYNDIV
	select COMMON_CLK_MESON_VID_PLL_DIV
	select MFD_SYSCON
	help
	 Support for the clock controller on Amlogic AM301 or AM311
	 devices, aka t5d. Say Y if you want peripherals to work.


config COMMON_CLK_T7
	bool "Meson T7 clock controller"
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_CPU_DYNDIV
	select COMMON_CLK_MESON_VID_PLL_DIV
	select MFD_SYSCON
	help
	  Support for the clock controller on Amlogic T7
	  devices, aka t7. Say Y if you want peripherals to work.

config COMMON_CLK_S4
	bool "Meson S4 clock controller"
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_CPU_DYNDIV
	select COMMON_CLK_MESON_VID_PLL_DIV
	select MFD_SYSCON
	help
	  Support for the clock controller on Amlogic AH219 and AH212
	  devices, aka s4. Say Y if you want peripherals to work.

config COMMON_CLK_T3
	bool "Meson T3 clock controller"
	depends on ARCH_MESON
	select COMMON_CLK_MESON_REGMAP
	select COMMON_CLK_MESON_DUALDIV
	select COMMON_CLK_MESON_MPLL
	select COMMON_CLK_MESON_PLL
	select COMMON_CLK_MESON_CPU_DYNDIV
	select COMMON_CLK_MESON_VID_PLL_DIV
	select MFD_SYSCON
	help
	  Support for the clock controller on Amlogic T3
	  devices, aka t3. Say Y if you want peripherals to work.

config MESON_CLKC_MODULE
	tristate "Meson SoC clock controllers"
	default y
	help
		support for all clock controllers to one ko
