# 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 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 "RZ/A2 (R7S9210)"
	select PM
	select PM_GENERIC_DOMAINS
	select RENESAS_OSTM
	select RENESAS_RZA1_IRQC

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

config ARCH_R8A7740
	bool "R-Mobile A1 (R8A77400)"
	select ARCH_RMOBILE
	select ARM_ERRATA_754322
	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 ARM_ERRATA_814220
	select SYSC_R8A7745

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

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

config ARCH_R8A7779
	bool "R-Car H1 (R8A77790)"
	select ARCH_RCAR_GEN1
	select ARM_ERRATA_754322
	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 ARM_ERRATA_814220
	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 ARM_ERRATA_814220
	select SYSC_R8A7794

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

config ARCH_SH73A0
	bool "SH-Mobile AG5 (R8A73A00)"
	select ARCH_RMOBILE
	select ARM_ERRATA_754322
	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
