# SPDX-License-Identifier: GPL-2.0

config CLK_RENESAS
	bool "Renesas SoC clock support" if COMPILE_TEST && !ARCH_RENESAS
	default y if ARCH_RENESAS
	select CLK_EMEV2 if ARCH_EMEV2
	select CLK_RZA1 if ARCH_R7S72100
	select CLK_R7S9210 if ARCH_R7S9210
	select CLK_R8A73A4 if ARCH_R8A73A4
	select CLK_R8A7740 if ARCH_R8A7740
	select CLK_R8A7743 if ARCH_R8A7743 || ARCH_R8A7744
	select CLK_R8A7745 if ARCH_R8A7745
	select CLK_R8A77470 if ARCH_R8A77470
	select CLK_R8A774A1 if ARCH_R8A774A1
	select CLK_R8A774C0 if ARCH_R8A774C0
	select CLK_R8A7778 if ARCH_R8A7778
	select CLK_R8A7779 if ARCH_R8A7779
	select CLK_R8A7790 if ARCH_R8A7790
	select CLK_R8A7791 if ARCH_R8A7791 || ARCH_R8A7793
	select CLK_R8A7792 if ARCH_R8A7792
	select CLK_R8A7794 if ARCH_R8A7794
	select CLK_R8A7795 if ARCH_R8A7795
	select CLK_R8A7796 if ARCH_R8A7796
	select CLK_R8A77965 if ARCH_R8A77965
	select CLK_R8A77970 if ARCH_R8A77970
	select CLK_R8A77980 if ARCH_R8A77980
	select CLK_R8A77990 if ARCH_R8A77990
	select CLK_R8A77995 if ARCH_R8A77995
	select CLK_R9A06G032 if ARCH_R9A06G032
	select CLK_SH73A0 if ARCH_SH73A0

if CLK_RENESAS

config CLK_RENESAS_LEGACY
	bool "Legacy DT clock support"
	depends on CLK_R8A7790 || CLK_R8A7791 || CLK_R8A7792 || CLK_R8A7794
	help
	  Enable backward compatibility with old device trees describing a
	  hierarchical representation of the various CPG and MSTP clocks.

	  Say Y if you want your kernel to work with old DTBs.
	  It is safe to say N if you use the DTS that is supplied with the
	  current kernel source tree.

# SoC
config CLK_EMEV2
	bool "Emma Mobile EV2 clock support" if COMPILE_TEST

config CLK_RZA1
	bool "RZ/A1H clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSTP

config CLK_R7S9210
	bool "RZ/A2 clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSSR

config CLK_R8A73A4
	bool "R-Mobile APE6 clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSTP
	select CLK_RENESAS_DIV6

config CLK_R8A7740
	bool "R-Mobile A1 clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSTP
	select CLK_RENESAS_DIV6

config CLK_R8A7743
	bool "RZ/G1M clock support" if COMPILE_TEST
	select CLK_RCAR_GEN2_CPG

config CLK_R8A7745
	bool "RZ/G1E clock support" if COMPILE_TEST
	select CLK_RCAR_GEN2_CPG

config CLK_R8A77470
	bool "RZ/G1C clock support" if COMPILE_TEST
	select CLK_RCAR_GEN2_CPG

config CLK_R8A774A1
	bool "RZ/G2M clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R8A774C0
	bool "RZ/G2E clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R8A7778
	bool "R-Car M1A clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSTP

config CLK_R8A7779
	bool "R-Car H1 clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSTP

config CLK_R8A7790
	bool "R-Car H2 clock support" if COMPILE_TEST
	select CLK_RCAR_GEN2 if CLK_RENESAS_LEGACY
	select CLK_RCAR_GEN2_CPG
	select CLK_RENESAS_DIV6

config CLK_R8A7791
	bool "R-Car M2-W/N clock support" if COMPILE_TEST
	select CLK_RCAR_GEN2 if CLK_RENESAS_LEGACY
	select CLK_RCAR_GEN2_CPG
	select CLK_RENESAS_DIV6

config CLK_R8A7792
	bool "R-Car V2H clock support" if COMPILE_TEST
	select CLK_RCAR_GEN2 if CLK_RENESAS_LEGACY
	select CLK_RCAR_GEN2_CPG

config CLK_R8A7794
	bool "R-Car E2 clock support" if COMPILE_TEST
	select CLK_RCAR_GEN2 if CLK_RENESAS_LEGACY
	select CLK_RCAR_GEN2_CPG
	select CLK_RENESAS_DIV6

config CLK_R8A7795
	bool "R-Car H3 clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R8A7796
	bool "R-Car M3-W clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R8A77965
	bool "R-Car M3-N clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R8A77970
	bool "R-Car V3M clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R8A77980
	bool "R-Car V3H clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R8A77990
	bool "R-Car E3 clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R8A77995
	bool "R-Car D3 clock support" if COMPILE_TEST
	select CLK_RCAR_GEN3_CPG

config CLK_R9A06G032
	bool "Renesas R9A06G032 clock driver"
	help
	  This is a driver for R9A06G032 clocks

config CLK_SH73A0
	bool "SH-Mobile AG5 clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSTP
	select CLK_RENESAS_DIV6


# Family
config CLK_RCAR_GEN2
	bool "R-Car Gen2 legacy clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSTP
	select CLK_RENESAS_DIV6

config CLK_RCAR_GEN2_CPG
	bool "R-Car Gen2 CPG clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSSR

config CLK_RCAR_GEN3_CPG
	bool "R-Car Gen3 CPG clock support" if COMPILE_TEST
	select CLK_RENESAS_CPG_MSSR

config CLK_RCAR_USB2_CLOCK_SEL
	bool "Renesas R-Car USB2 clock selector support"
	depends on ARCH_RENESAS || COMPILE_TEST
	help
	  This is a driver for R-Car USB2 clock selector

# Generic
config CLK_RENESAS_CPG_MSSR
	bool "CPG/MSSR clock support" if COMPILE_TEST
	select CLK_RENESAS_DIV6

config CLK_RENESAS_CPG_MSTP
	bool "MSTP clock support" if COMPILE_TEST

config CLK_RENESAS_DIV6
	bool "DIV6 clock support" if COMPILE_TEST

endif # CLK_RENESAS
