# Copyright (c) 2018 Synopsys, Inc. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

choice
	prompt "ARC nSIM SoC Selection"
	default SOC_NSIM_EM
	depends on SOC_NSIM

config SOC_NSIM_EM
	bool "Synopsys ARC EM in nSIM"
	select CPU_HAS_MPU

config SOC_NSIM_EM7D_V22
	bool "Synopsys ARC EM7D_V22 in nSIM"
	select CPU_HAS_MPU
	select CPU_HAS_FPU

config SOC_NSIM_EM11D
	bool "Synopsys ARC EM11D in nSIM"
	select CPU_HAS_MPU
	select ARC_HAS_DSP

config SOC_NSIM_SEM
	bool "Synopsys ARC SEM in nSIM"
	select CPU_HAS_MPU
	select CPU_HAS_FPU
	select ARC_HAS_SECURE

config SOC_NSIM_HS
	bool "Synopsys ARC HS in nSIM"
	select CPU_HAS_FPU
	select CPU_HAS_MPU

config SOC_NSIM_HS_SMP
	bool "Multi-core Synopsys ARC HS in nSIM"
	select CPU_HAS_FPU

config SOC_NSIM_HS_MPUV6
	bool "Synopsys ARC HS with MPU v6 in nSIM"
	select CPU_HAS_MPU
	select CPU_HAS_FPU

config SOC_NSIM_VPX5
	bool "Synopsys ARC VPX5 in nSIM"

config SOC_NSIM_HS6X
	bool "Synopsys ARC HS6x in nSIM"

config SOC_NSIM_HS6X_SMP
	bool "Multi-core Synopsys ARC HS6x in nSIM"

config SOC_NSIM_HS5X
	bool "Synopsys ARC HS5x in nSIM"

config SOC_NSIM_HS5X_SMP
	bool "Multi-core Synopsys ARC HS5x in nSIM"

endchoice
