# Copyright (c) 2020 Antmicro <www.antmicro.com>
# SPDX-License-Identifier: Apache-2.0

config SOC_EOS_S3
	bool "QuickLogic EOS S3 SoC"
	select ARM
	select CPU_CORTEX_M4
	select CPU_CORTEX_M_HAS_SYSTICK
	select CPU_HAS_ARM_MPU
	select EOS_S3_HAL
