# Kconfig - ST Microelectronics STM32 MCU line
#
# Copyright (c) 2016 Open-RnD Sp. z o.o.
#
# SPDX-License-Identifier: Apache-2.0
#

config SOC_FAMILY_STM32
	bool
	# omit prompt to signify a "hidden" option
	default n
	select HAS_DTS_I2C_DEVICE if I2C
	select HAS_DTS_SPI_DEVICE if SPI

if SOC_FAMILY_STM32

config BUILD_OUTPUT_HEX
        default y

config SOC_FAMILY
	string
	default st_stm32

config STM32_ARM_MPU_ENABLE
	bool "Enable MPU on STM32"
	depends on CPU_HAS_MPU
	select ARM_MPU
	default n
	help
	  Enable MPU support on STM32 SoCs

gsource "arch/arm/soc/st_stm32/*/Kconfig.soc"

endif # SOC_FAMILY_STM32
