# 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 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
