# Kconfig - ST Microelectronics STM32F3 MCU series
#
# Copyright (c) 2016 RnDity Sp. z o.o.
#
# SPDX-License-Identifier: Apache-2.0
#

config SOC_SERIES_STM32F3X
	bool "STM32F3x Series MCU"
	select CPU_CORTEX_M4
	select SOC_FAMILY_STM32
	select CPU_HAS_FPU
	select CPU_HAS_SYSTICK
	select HAS_STM32CUBE
	select CLOCK_CONTROL_STM32_CUBE if CLOCK_CONTROL
	help
	 Enable support for STM32F3 MCU series
