From 19d7b26238f38b820decd5b1b5571786d3693504 Mon Sep 17 00:00:00 2001 From: Marcin Niestroj Date: Thu, 3 Aug 2023 20:50:07 +0200 Subject: [PATCH] soc: arm: stm32h5: support SWO In case of stm32h5 both LL_DBGMCU_EnableTraceClock() and LL_DBGMCU_SetTracePinAssignment() need to be called in order to properly configure SWO output. Select HAS_SWO, so that logging over SWO can be enabled. Tested with ST's fork of openocd [1]. [1] https://github.com/STMicroelectronics/OpenOCD Signed-off-by: Marcin Niestroj --- soc/arm/st_stm32/common/soc_config.c | 5 +++-- soc/arm/st_stm32/stm32h5/Kconfig.series | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/soc/arm/st_stm32/common/soc_config.c b/soc/arm/st_stm32/common/soc_config.c index 0e6167b3444..5027ad0493c 100644 --- a/soc/arm/st_stm32/common/soc_config.c +++ b/soc/arm/st_stm32/common/soc_config.c @@ -27,9 +27,10 @@ static int st_stm32_common_config(void) { #ifdef CONFIG_LOG_BACKEND_SWO /* Enable SWO trace asynchronous mode */ -#if defined(CONFIG_SOC_SERIES_STM32WBX) +#if defined(CONFIG_SOC_SERIES_STM32WBX) || defined(CONFIG_SOC_SERIES_STM32H5X) LL_DBGMCU_EnableTraceClock(); -#else +#endif +#if !defined(CONFIG_SOC_SERIES_STM32WBX) LL_DBGMCU_SetTracePinAssignment(LL_DBGMCU_TRACE_ASYNCH); #endif #endif /* CONFIG_LOG_BACKEND_SWO */ diff --git a/soc/arm/st_stm32/stm32h5/Kconfig.series b/soc/arm/st_stm32/stm32h5/Kconfig.series index ceefa348696..cb84b08b250 100644 --- a/soc/arm/st_stm32/stm32h5/Kconfig.series +++ b/soc/arm/st_stm32/stm32h5/Kconfig.series @@ -15,5 +15,6 @@ config SOC_SERIES_STM32H5X select ARMV8_M_DSP select CPU_CORTEX_M_HAS_DWT select HAS_STM32CUBE + select HAS_SWO help Enable support for STM32H5 MCU series