# 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_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
	select PWC_RZV2M
	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"
	depends on NONPORTABLE
	depends on RISCV_ALTERNATIVE
	depends on !RISCV_ISA_ZICBOM
	depends on RISCV_SBI
	select ARCH_RZG2L
	select AX45MP_L2_CACHE
	select DMA_GLOBAL_POOL
	select ERRATA_ANDES
	select ERRATA_ANDES_CMO
	help
	  This enables support for the Renesas RZ/Five SoC.

endif # RISCV

config PWC_RZV2M
	bool "Renesas RZ/V2M PWC support" if COMPILE_TEST

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