# Copyright (c) 2021 YuLong Yao <feilongphone@gmail.com>
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_GD32E10X
	select ARM
	select CPU_HAS_FPU
	select CPU_CORTEX_M4
	select CPU_CORTEX_M_HAS_SYSTICK
	select CPU_CORTEX_M_HAS_VTOR
	select GD32_HAS_AFIO_PINMUX
	select GD32_HAS_IRC_40K
