# SPDX-License-Identifier: GPL-2.0-only
menuconfig ARCH_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 PCI_DOMAINS_GENERIC if PCI
	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_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
