# SPDX-License-Identifier: GPL-2.0-only
menuconfig ARCH_INTEL_SOCFPGA
	bool "Altera SOCFPGA family"
	depends on ARCH_MULTI_V7
	select ARCH_SUPPORTS_BIG_ENDIAN
	select ARM_AMBA
	select ARM_GIC
	select CACHE_L2X0
	select DW_APB_TIMER_OF
	select GPIO_PL061 if GPIOLIB
	select HAVE_ARM_SCU
	select HAVE_ARM_TWD if SMP
	select MFD_SYSCON
	select ARM_ERRATA_754322
	select ARM_ERRATA_764369 if SMP
	select ARM_ERRATA_775420
	select PL310_ERRATA_588369
	select PL310_ERRATA_727915
	select PL310_ERRATA_753970 if PL310
	select PL310_ERRATA_769419

if ARCH_INTEL_SOCFPGA
config SOCFPGA_SUSPEND
	bool "Suspend to RAM on SOCFPGA"
	help
	  Select this if you want to enable Suspend-to-RAM on SOCFPGA
	  platforms.
endif
