# ST Microelectronics STM32H5 MCU series

# Copyright (c) 2023 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_STM32H5X
	select ARM
	select CPU_CORTEX_M33
	select ARM_TRUSTZONE_M if !SOC_STM32H503XX
	select CPU_HAS_ARM_SAU if !SOC_STM32H503XX
	select CPU_HAS_ARM_MPU
	select CPU_HAS_FPU
	select ARMV8_M_DSP
	select CPU_CORTEX_M_HAS_DWT
	select HAS_STM32CUBE
	select HAS_SWO
