# SPDX-License-Identifier: GPL-2.0
menuconfig SOC_RENESAS
	bool "Renesas SoC driver support" if COMPILE_TEST && !ARCH_RENESAS
	default y if ARCH_RENESAS
	select GPIOLIB
	select PINCTRL
	select SOC_BUS

if SOC_RENESAS

config ARCH_RCAR_GEN1
	bool
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_INTC_IRQPIN
	select RST_RCAR
	select SYS_SUPPORTS_SH_TMU

config ARCH_RCAR_GEN2
	bool
	select HAVE_ARM_ARCH_TIMER
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_IRQC
	select RST_RCAR
	select SYS_SUPPORTS_SH_CMT

config ARCH_RCAR_GEN3
	bool
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_IRQC
	select RST_RCAR
	select SYS_SUPPORTS_SH_CMT
	select SYS_SUPPORTS_SH_TMU

config ARCH_RMOBILE
	bool
	select PM
	select PM_GENERIC_DOMAINS
	select SYS_SUPPORTS_SH_CMT
	select SYS_SUPPORTS_SH_TMU
	select SYSC_RMOBILE

config ARCH_RZG2L
	bool
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_RZG2L_IRQC

config ARCH_RZN1
	bool
	select PM
	select PM_GENERIC_DOMAINS
	select ARM_AMBA

if ARM && ARCH_RENESAS

#comment "Renesas ARM SoCs System Type"

config ARCH_EMEV2
	bool "ARM32 Platform support for Emma Mobile EV2"
	select HAVE_ARM_SCU if SMP
	select SYS_SUPPORTS_EM_STI

config ARCH_R8A7794
	bool "ARM32 Platform support for R-Car E2"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_814220
	select SYSC_R8A7794

config ARCH_R8A7779
	bool "ARM32 Platform support for R-Car H1"
	select ARCH_RCAR_GEN1
	select ARM_ERRATA_754322
	select ARM_GLOBAL_TIMER
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select SYSC_R8A7779

config ARCH_R8A7790
	bool "ARM32 Platform support for R-Car H2"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select ARM_ERRATA_814220
	select I2C
	select SYSC_R8A7790

config ARCH_R8A7778
	bool "ARM32 Platform support for R-Car M1A"
	select ARCH_RCAR_GEN1
	select ARM_ERRATA_754322

config ARCH_R8A7793
	bool "ARM32 Platform support for R-Car M2-N"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select I2C
	select SYSC_R8A7791

config ARCH_R8A7791
	bool "ARM32 Platform support for R-Car M2-W"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select I2C
	select SYSC_R8A7791

config ARCH_R8A7792
	bool "ARM32 Platform support for R-Car V2H"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select SYSC_R8A7792

config ARCH_R8A7740
	bool "ARM32 Platform support for R-Mobile A1"
	select ARCH_RMOBILE
	select ARM_ERRATA_754322
	select RENESAS_INTC_IRQPIN

config ARCH_R8A73A4
	bool "ARM32 Platform support for R-Mobile APE6"
	select ARCH_RMOBILE
	select ARM_ERRATA_798181 if SMP
	select ARM_ERRATA_814220
	select HAVE_ARM_ARCH_TIMER
	select RENESAS_IRQC

config ARCH_R7S72100
	bool "ARM32 Platform support for RZ/A1H"
	select ARM_ERRATA_754322
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_OSTM
	select RENESAS_RZA1_IRQC
	select SYS_SUPPORTS_SH_MTU2

config ARCH_R7S9210
	bool "ARM32 Platform support for RZ/A2"
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_OSTM
	select RENESAS_RZA1_IRQC

config ARCH_R8A77470
	bool "ARM32 Platform support for RZ/G1C"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_814220
	select SYSC_R8A77470

config ARCH_R8A7745
	bool "ARM32 Platform support for RZ/G1E"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_814220
	select SYSC_R8A7745

config ARCH_R8A7742
	bool "ARM32 Platform support for RZ/G1H"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select ARM_ERRATA_814220
	select SYSC_R8A7742

config ARCH_R8A7743
	bool "ARM32 Platform support for RZ/G1M"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select SYSC_R8A7743

config ARCH_R8A7744
	bool "ARM32 Platform support for RZ/G1N"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select SYSC_R8A7743

config ARCH_R9A06G032
	bool "ARM32 Platform support for RZ/N1D"
	select ARCH_RZN1
	select ARM_ERRATA_814220

config ARCH_SH73A0
	bool "ARM32 Platform support for SH-Mobile AG5"
	select ARCH_RMOBILE
	select ARM_ERRATA_754322
	select ARM_GLOBAL_TIMER
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select RENESAS_INTC_IRQPIN

endif # ARM

if ARM64

config ARCH_R8A77995
	bool "ARM64 Platform support for R-Car D3"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77995
	help
	  This enables support for the Renesas R-Car D3 SoC.
	  This includes different gradings like R-Car D3e.

config ARCH_R8A77990
	bool "ARM64 Platform support for R-Car E3"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77990
	help
	  This enables support for the Renesas R-Car E3 SoC.
	  This includes different gradings like R-Car E3e.

config ARCH_R8A77950
	bool "ARM64 Platform support for R-Car H3 ES1.x"
	select ARCH_RCAR_GEN3
	select SYSC_R8A7795
	help
	  This enables support for the Renesas R-Car H3 SoC (revision 1.x).

config ARCH_R8A77951
	bool "ARM64 Platform support for R-Car H3 ES2.0+"
	select ARCH_RCAR_GEN3
	select SYSC_R8A7795
	help
	  This enables support for the Renesas R-Car H3 SoC (revisions 2.0 and
	  later).
	  This includes different gradings like R-Car H3e, H3e-2G, and H3Ne.

config ARCH_R8A77965
	bool "ARM64 Platform support for R-Car M3-N"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77965
	help
	  This enables support for the Renesas R-Car M3-N SoC.
	  This includes different gradings like R-Car M3Ne and M3Ne-2G.

config ARCH_R8A77960
	bool "ARM64 Platform support for R-Car M3-W"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77960
	help
	  This enables support for the Renesas R-Car M3-W SoC.

config ARCH_R8A77961
	bool "ARM64 Platform support for R-Car M3-W+"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77961
	help
	  This enables support for the Renesas R-Car M3-W+ SoC.
	  This includes different gradings like R-Car M3e and M3e-2G.

config ARCH_R8A779F0
	bool "ARM64 Platform support for R-Car S4-8"
	select ARCH_RCAR_GEN3
	select SYSC_R8A779F0
	help
	  This enables support for the Renesas R-Car S4-8 SoC.

config ARCH_R8A77980
	bool "ARM64 Platform support for R-Car V3H"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77980
	help
	  This enables support for the Renesas R-Car V3H SoC.

config ARCH_R8A77970
	bool "ARM64 Platform support for R-Car V3M"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77970
	help
	  This enables support for the Renesas R-Car V3M SoC.

config ARCH_R8A779A0
	bool "ARM64 Platform support for R-Car V3U"
	select ARCH_RCAR_GEN3
	select SYSC_R8A779A0
	help
	  This enables support for the Renesas R-Car V3U SoC.

config ARCH_R8A779G0
	bool "ARM64 Platform support for R-Car V4H"
	select ARCH_RCAR_GEN3
	select SYSC_R8A779G0
	help
	  This enables support for the Renesas R-Car V4H SoC.

config ARCH_R8A774C0
	bool "ARM64 Platform support for RZ/G2E"
	select ARCH_RCAR_GEN3
	select SYSC_R8A774C0
	help
	  This enables support for the Renesas RZ/G2E SoC.

config ARCH_R8A774E1
	bool "ARM64 Platform support for RZ/G2H"
	select ARCH_RCAR_GEN3
	select SYSC_R8A774E1
	help
	  This enables support for the Renesas RZ/G2H SoC.

config ARCH_R8A774A1
	bool "ARM64 Platform support for RZ/G2M"
	select ARCH_RCAR_GEN3
	select SYSC_R8A774A1
	help
	  This enables support for the Renesas RZ/G2M SoC.

config ARCH_R8A774B1
	bool "ARM64 Platform support for RZ/G2N"
	select ARCH_RCAR_GEN3
	select SYSC_R8A774B1
	help
	  This enables support for the Renesas RZ/G2N SoC.

config ARCH_R9A07G043
	bool "ARM64 Platform support for RZ/G2UL"
	select ARCH_RZG2L
	help
	  This enables support for the Renesas RZ/G2UL SoC variants.

config ARCH_R9A07G044
	bool "ARM64 Platform support for RZ/G2L"
	select ARCH_RZG2L
	help
	  This enables support for the Renesas RZ/G2L SoC variants.

config ARCH_R9A07G054
	bool "ARM64 Platform support for RZ/V2L"
	select ARCH_RZG2L
	help
	  This enables support for the Renesas RZ/V2L SoC variants.

config ARCH_R9A09G011
	bool "ARM64 Platform support for RZ/V2M"
	select PM
	select PM_GENERIC_DOMAINS
	help
	  This enables support for the Renesas RZ/V2M SoC.

endif # ARM64

if RISCV

config ARCH_R9A07G043
	bool "RISC-V Platform support for RZ/Five"
	select ARCH_RZG2L
	help
	  This enables support for the Renesas RZ/Five SoC.

endif # RISCV

config RST_RCAR
	bool "Reset Controller support for R-Car" if COMPILE_TEST

config SYSC_RCAR
	bool "System Controller support for R-Car" if COMPILE_TEST

config SYSC_RCAR_GEN4
	bool "System Controller support for R-Car Gen4" if COMPILE_TEST

config SYSC_R8A77995
	bool "System Controller support for R-Car D3" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A7794
	bool "System Controller support for R-Car E2" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A77990
	bool "System Controller support for R-Car E3" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A7779
	bool "System Controller support for R-Car H1" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A7790
	bool "System Controller support for R-Car H2" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A7795
	bool "System Controller support for R-Car H3" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A7791
	bool "System Controller support for R-Car M2-W/N" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A77965
	bool "System Controller support for R-Car M3-N" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A77960
	bool "System Controller support for R-Car M3-W" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A77961
	bool "System Controller support for R-Car M3-W+" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A779F0
	bool "System Controller support for R-Car S4-8" if COMPILE_TEST
	select SYSC_RCAR_GEN4

config SYSC_R8A7792
	bool "System Controller support for R-Car V2H" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A77980
	bool "System Controller support for R-Car V3H" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A77970
	bool "System Controller support for R-Car V3M" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A779A0
	bool "System Controller support for R-Car V3U" if COMPILE_TEST
	select SYSC_RCAR_GEN4

config SYSC_R8A779G0
	bool "System Controller support for R-Car V4H" if COMPILE_TEST
	select SYSC_RCAR_GEN4

config SYSC_RMOBILE
	bool "System Controller support for R-Mobile" if COMPILE_TEST

config SYSC_R8A77470
	bool "System Controller support for RZ/G1C" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A7745
	bool "System Controller support for RZ/G1E" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A7742
	bool "System Controller support for RZ/G1H" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A7743
	bool "System Controller support for RZ/G1M" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A774C0
	bool "System Controller support for RZ/G2E" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A774E1
	bool "System Controller support for RZ/G2H" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A774A1
	bool "System Controller support for RZ/G2M" if COMPILE_TEST
	select SYSC_RCAR

config SYSC_R8A774B1
	bool "System Controller support for RZ/G2N" if COMPILE_TEST
	select SYSC_RCAR

endif # SOC_RENESAS
