# ST Microelectronics STM32F1 MCU line

# Copyright (c) 2016 Open-RnD Sp. z o.o.
# Copyright (c) RnDity Sp. z o.o.
# SPDX-License-Identifier: Apache-2.0

choice
	prompt "STM32F1x MCU Selection"
	depends on SOC_SERIES_STM32F1X

config SOC_STM32F103XE
	bool "STM32F103XE"
	select SOC_STM32F10X_DENSITY_DEVICE

config SOC_STM32F103XB
	bool "STM32F103XB"
	select SOC_STM32F10X_DENSITY_DEVICE

config SOC_STM32F103X8
	bool "STM32F103X8"
	select SOC_STM32F10X_DENSITY_DEVICE

config SOC_STM32F107XC
	bool "STM32F107XC"
	select SOC_STM32F10X_CONNECTIVITY_LINE_DEVICE

endchoice

config SOC_STM32F10X_DENSITY_DEVICE
	bool
	help
	  * Low density Value line devices
	  * Medium density Value line devices
	  * High density Value line devices
	  * XL-density devices Value line devices

config SOC_STM32F10X_CONNECTIVITY_LINE_DEVICE
	bool
	help
	  Connectivity line devices are STM32F105xx and STM32F107xx
	  microcontrollers.  They are intended for applications where
	  connectivity and real-time performances are required such as
	  industrial control, control panels for security applications, UPS or
	  home audio.  For STM32F107xx also the Ethernet MAC is available.
