# SPDX-License-Identifier: GPL-2.0-only
config CLK_BAIKAL_T1
	bool "Baikal-T1 Clocks Control Unit interface"
	depends on (MIPS_BAIKAL_T1 && OF) || COMPILE_TEST
	default MIPS_BAIKAL_T1
	help
	  Clocks Control Unit is the core of Baikal-T1 SoC System Controller
	  responsible for the chip subsystems clocking and resetting. It
	  consists of multiple global clock domains, which can be reset by
	  means of the CCU control registers. These domains and devices placed
	  in them are fed with clocks generated by a hierarchy of PLLs,
	  configurable and fixed clock dividers. Enable this option to be able
	  to select Baikal-T1 CCU PLLs and Dividers drivers.

if CLK_BAIKAL_T1

config CLK_BT1_CCU_PLL
	bool "Baikal-T1 CCU PLLs support"
	select MFD_SYSCON
	default MIPS_BAIKAL_T1
	help
	  Enable this to support the PLLs embedded into the Baikal-T1 SoC
	  System Controller. These are five PLLs placed at the root of the
	  clocks hierarchy, right after an external reference oscillator
	  (normally of 25MHz). They are used to generate high frequency
	  signals, which are either directly wired to the consumers (like
	  CPUs, DDR, etc.) or passed over the clock dividers to be only
	  then used as an individual reference clock of a target device.

config CLK_BT1_CCU_DIV
	bool "Baikal-T1 CCU Dividers support"
	select MFD_SYSCON
	default MIPS_BAIKAL_T1
	help
	  Enable this to support the CCU dividers used to distribute clocks
	  between AXI-bus and system devices coming from CCU PLLs of Baikal-T1
	  SoC. CCU dividers can be either configurable or with fixed divider,
	  either gateable or ungateable. Some of the CCU dividers can be as well
	  used to reset the domains they're supplying clock to.

config CLK_BT1_CCU_RST
	bool "Baikal-T1 CCU Resets support"
	select RESET_CONTROLLER
	select MFD_SYSCON
	default MIPS_BAIKAL_T1
	help
	  Enable this to support the CCU reset blocks responsible for the
	  AXI-bus and some subsystems reset. These are mainly the
	  self-deasserted reset controls but there are several lines which
	  can be directly asserted/de-asserted (PCIe and DDR sub-domains).

endif
