# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
#		http://www.samsung.com/

# Configuration options for the EXYNOS

menuconfig ARCH_EXYNOS
	bool "Samsung EXYNOS"
	depends on ARCH_MULTI_V7
	select ARCH_HAS_BANDGAP
	select ARCH_HAS_HOLES_MEMORYMODEL
	select ARCH_SUPPORTS_BIG_ENDIAN
	select ARM_AMBA
	select ARM_GIC
	select COMMON_CLK_SAMSUNG
	select EXYNOS_THERMAL
	select EXYNOS_PMU
	select EXYNOS_SROM
	select EXYNOS_PM_DOMAINS if PM_GENERIC_DOMAINS
	select GPIOLIB
	select HAVE_ARM_SCU if SMP
	select HAVE_S3C2410_I2C if I2C
	select HAVE_S3C2410_WATCHDOG if WATCHDOG
	select HAVE_S3C_RTC if RTC_CLASS
	select PINCTRL
	select PINCTRL_EXYNOS
	select PM_GENERIC_DOMAINS if PM
	select S5P_DEV_MFC
	select SAMSUNG_MC
	select SOC_SAMSUNG
	select SRAM
	select THERMAL
	select THERMAL_OF
	select MFD_SYSCON
	select MEMORY
	select CLKSRC_EXYNOS_MCT
	select POWER_RESET
	select POWER_RESET_SYSCON
	select POWER_RESET_SYSCON_POWEROFF
	help
	  Support for SAMSUNG EXYNOS SoCs (EXYNOS4/5)

if ARCH_EXYNOS

config S5P_DEV_MFC
	bool
	help
	  Compile in setup memory (init) code for MFC

config ARCH_EXYNOS3
	bool "SAMSUNG EXYNOS3"
	select ARM_CPU_SUSPEND if PM
	help
	  Samsung EXYNOS3 (Cortex-A7) SoC based systems

config ARCH_EXYNOS4
	bool "SAMSUNG EXYNOS4"
	default y
	select ARM_CPU_SUSPEND if PM_SLEEP
	select CLKSRC_SAMSUNG_PWM if CPU_EXYNOS4210
	select CPU_EXYNOS4210
	select GIC_NON_BANKED
	select MIGHT_HAVE_CACHE_L2X0
	help
	  Samsung EXYNOS4 (Cortex-A9) SoC based systems

config ARCH_EXYNOS5
	bool "SAMSUNG EXYNOS5"
	default y
	help
	  Samsung EXYNOS5 (Cortex-A15/A7) SoC based systems

comment "EXYNOS SoCs"

config SOC_EXYNOS3250
	bool "SAMSUNG EXYNOS3250"
	default y
	depends on ARCH_EXYNOS3

config CPU_EXYNOS4210
	bool "SAMSUNG EXYNOS4210"
	default y
	depends on ARCH_EXYNOS4

config SOC_EXYNOS4412
	bool "SAMSUNG EXYNOS4412"
	default y
	depends on ARCH_EXYNOS4

config SOC_EXYNOS5250
	bool "SAMSUNG EXYNOS5250"
	default y
	depends on ARCH_EXYNOS5

config SOC_EXYNOS5260
	bool "SAMSUNG EXYNOS5260"
	default y
	depends on ARCH_EXYNOS5

config SOC_EXYNOS5410
	bool "SAMSUNG EXYNOS5410"
	default y
	depends on ARCH_EXYNOS5

config SOC_EXYNOS5420
	bool "SAMSUNG EXYNOS5420"
	default y
	depends on ARCH_EXYNOS5

config SOC_EXYNOS5440
	bool "SAMSUNG EXYNOS5440"
	default y
	depends on ARCH_EXYNOS5
	select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
	select HAVE_ARM_ARCH_TIMER
	select AUTO_ZRELADDR
	select PINCTRL_EXYNOS5440
	select PM_OPP
	help
	  Enable EXYNOS5440 SoC support

config SOC_EXYNOS5800
	bool "SAMSUNG EXYNOS5800"
	default y
	depends on SOC_EXYNOS5420

config EXYNOS5420_MCPM
	bool "Exynos5420 Multi-Cluster PM support"
	depends on MCPM && SOC_EXYNOS5420
	select ARM_CCI400_PORT_CTRL
	select ARM_CPU_SUSPEND
	help
	  This is needed to provide CPU and cluster power management
	  on Exynos5420 implementing big.LITTLE.

config EXYNOS_CPU_SUSPEND
	bool
	select ARM_CPU_SUSPEND
	default PM_SLEEP || ARM_EXYNOS_CPUIDLE

endif
