# SPDX-License-Identifier: GPL-2.0
config 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_RZN1
	bool
	select ARM_AMBA

if ARM && ARCH_RENESAS

#comment "Renesas ARM SoCs System Type"

config ARCH_EMEV2
	bool "Emma Mobile EV2"
	select HAVE_ARM_SCU if SMP
	select SYS_SUPPORTS_EM_STI

config ARCH_R7S72100
	bool "RZ/A1H (R7S72100)"
	select PM
	select PM_GENERIC_DOMAINS
	select SYS_SUPPORTS_SH_MTU2
	select RENESAS_OSTM

config ARCH_R7S9210
	bool "RZ/A2 (R7S9210)"
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_OSTM

config ARCH_R8A73A4
	bool "R-Mobile APE6 (R8A73A40)"
	select ARCH_RMOBILE
	select ARM_ERRATA_798181 if SMP
	select HAVE_ARM_ARCH_TIMER
	select RENESAS_IRQC

config ARCH_R8A7740
	bool "R-Mobile A1 (R8A77400)"
	select ARCH_RMOBILE
	select RENESAS_INTC_IRQPIN

config ARCH_R8A7743
	bool "RZ/G1M (R8A77430)"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select SYSC_R8A7743

config ARCH_R8A7744
	bool "RZ/G1N (R8A77440)"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select SYSC_R8A7743

config ARCH_R8A7745
	bool "RZ/G1E (R8A77450)"
	select ARCH_RCAR_GEN2
	select SYSC_R8A7745

config ARCH_R8A77470
	bool "RZ/G1C (R8A77470)"
	select ARCH_RCAR_GEN2
	select SYSC_R8A77470

config ARCH_R8A7778
	bool "R-Car M1A (R8A77781)"
	select ARCH_RCAR_GEN1

config ARCH_R8A7779
	bool "R-Car H1 (R8A77790)"
	select ARCH_RCAR_GEN1
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select SYSC_R8A7779

config ARCH_R8A7790
	bool "R-Car H2 (R8A77900)"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select I2C
	select SYSC_R8A7790

config ARCH_R8A7791
	bool "R-Car M2-W (R8A77910)"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select I2C
	select SYSC_R8A7791

config ARCH_R8A7792
	bool "R-Car V2H (R8A77920)"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select SYSC_R8A7792

config ARCH_R8A7793
	bool "R-Car M2-N (R8A7793)"
	select ARCH_RCAR_GEN2
	select ARM_ERRATA_798181 if SMP
	select I2C
	select SYSC_R8A7791

config ARCH_R8A7794
	bool "R-Car E2 (R8A77940)"
	select ARCH_RCAR_GEN2
	select SYSC_R8A7794

config ARCH_R9A06G032
	bool "RZ/N1D (R9A06G032)"
	select ARCH_RZN1

config ARCH_SH73A0
	bool "SH-Mobile AG5 (R8A73A00)"
	select ARCH_RMOBILE
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select RENESAS_INTC_IRQPIN

endif # ARM

if ARM64

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

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

config ARCH_R8A7795
	bool "Renesas R-Car H3 SoC Platform"
	select ARCH_RCAR_GEN3
	select SYSC_R8A7795
	help
	  This enables support for the Renesas R-Car H3 SoC.

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

config ARCH_R8A77965
	bool "Renesas R-Car M3-N SoC Platform"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77965
	help
	  This enables support for the Renesas R-Car M3-N SoC.

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

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

config ARCH_R8A77990
	bool "Renesas R-Car E3 SoC Platform"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77990
	help
	  This enables support for the Renesas R-Car E3 SoC.

config ARCH_R8A77995
	bool "Renesas R-Car D3 SoC Platform"
	select ARCH_RCAR_GEN3
	select SYSC_R8A77995
	help
	  This enables support for the Renesas R-Car D3 SoC.

endif # ARM64

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

endif # SOC_RENESAS
