# SPDX-License-Identifier: GPL-2.0-only
menuconfig ARCH_BERLIN
	bool "Marvell Berlin SoCs"
	depends on ARCH_MULTI_V7
	select ARCH_HAS_RESET_CONTROLLER
	select ARM_GIC
	select DW_APB_ICTL
	select DW_APB_TIMER_OF
	select GENERIC_IRQ_CHIP
	select GPIOLIB
	select MFD_SYSCON
	select PINCTRL

if ARCH_BERLIN

config MACH_BERLIN_BG2
	bool "Marvell Armada 1500 (BG2)"
	select CACHE_L2X0
	select CPU_PJ4B
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select HAVE_SMP
	select PINCTRL_BERLIN_BG2

config MACH_BERLIN_BG2CD
	bool "Marvell Armada 1500-mini (BG2CD)"
	select ARM_ERRATA_754322
	select ARM_ERRATA_775420
	select ARM_GLOBAL_TIMER
	select CACHE_L2X0
	select HAVE_ARM_SCU
	select HAVE_ARM_TWD
	select PINCTRL_BERLIN_BG2CD

config MACH_BERLIN_BG2Q
	bool "Marvell Armada 1500 Pro (BG2-Q)"
	select CACHE_L2X0
	select HAVE_ARM_SCU if SMP
	select HAVE_ARM_TWD if SMP
	select PINCTRL_BERLIN_BG2Q

endif
