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

choice
	prompt "ARC EM Software Development Platform Core Selection"
	default SOC_EMSDP_EM11D
	depends on SOC_ARC_EMSDP

config SOC_EMSDP_EM4
	bool "Synopsys ARC EM4 of EMSDP"
	select CPU_HAS_MPU

config SOC_EMSDP_EM6
	bool "Synopsys ARC EM6 of EMSDP"
	select CPU_HAS_MPU

config SOC_EMSDP_EM5D
	bool "Synopsys ARC EM5D of EMSDP"
	select CPU_HAS_MPU
	select CPU_HAS_FPU

config SOC_EMSDP_EM7D
	bool "Synopsys ARC EM7D of EMSDP"
	select CPU_HAS_MPU
	select CPU_HAS_FPU

config SOC_EMSDP_EM7D_ESP
	bool "Synopsys ARC EM7D+ESP of EMSDP"
	select CPU_HAS_MPU
	select CPU_HAS_FPU
	select ARC_HAS_SECURE

config SOC_EMSDP_EM9D
	bool "Synopsys ARC EM9D of EMSDP"
	select CPU_HAS_MPU
	select CPU_HAS_FPU

config SOC_EMSDP_EM11D
	bool "Synopsys ARC EM11D of EMSDP"
	select CPU_HAS_MPU
	select CPU_HAS_FPU

endchoice
