# 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 HAS_STM32CUBE
	select HAS_SWO
	help
	  Enable support for STM32F3 MCU series
