Skip to content

Commit 0c58344

Browse files
youssefz24kartben
authored andcommitted
drivers: hwinfo_stm32.c: add support for stm32mp2
Add support for STM32MP2 series in the hwinfo driver. The STM32MP2 series uses the HAL functions since it doesn't have a ll_utils. Signed-off-by: Youssef Zini <youssef.zini@savoirfairelinux.com>
1 parent 38428c6 commit 0c58344

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

drivers/hwinfo/hwinfo_stm32.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
#include <string.h>
1616
#include <zephyr/sys/byteorder.h>
1717

18-
#if defined(CONFIG_SOC_SERIES_STM32MP13X)
18+
#if defined(CONFIG_SOC_SERIES_STM32MP13X) \
19+
|| defined(CONFIG_SOC_SERIES_STM32MP2X)
1920

2021
/* No ll_utils for the stm32mp13x series, instead use the HAL functions */
2122
/* zephyr-keep-sorted-start */
@@ -32,7 +33,7 @@
3233
#define STM32_UID_WORD_2 LL_GetUID_Word0()
3334
/* zephyr-keep-sorted-stop */
3435

35-
#endif /* CONFIG_SOC_SERIES_STM32MP13X */
36+
#endif /* CONFIG_SOC_SERIES_STM32MP13X || CONFIG_SOC_SERIES_STM32MP2X */
3637

3738
struct stm32_uid {
3839
uint32_t id[3];
@@ -171,6 +172,10 @@ int z_impl_hwinfo_get_reset_cause(uint32_t *cause)
171172
if (LL_PWR_MPU_IsActiveFlag_SB()) {
172173
flags |= RESET_LOW_POWER_WAKE;
173174
}
175+
#elif defined(CONFIG_SOC_SERIES_STM32MP2X) && defined(PWR_FLAG_SB)
176+
if (LL_PWR_HasSystemBeenInStandby()) {
177+
flags |= RESET_LOW_POWER_WAKE;
178+
}
174179
#elif defined(CONFIG_SOC_SERIES_STM32WLX) || defined(CONFIG_SOC_SERIES_STM32WBX)
175180
if (LL_PWR_IsActiveFlag_C1SB()) {
176181
flags |= RESET_LOW_POWER_WAKE;
@@ -200,6 +205,8 @@ int z_impl_hwinfo_clear_reset_cause(void)
200205
LL_PWR_ClearFlag_MCU();
201206
#elif defined(CONFIG_SOC_SERIES_STM32MP13X)
202207
LL_PWR_ClearFlag_MPU();
208+
#elif defined(CONFIG_SOC_SERIES_STM32MP2X) && defined(PWR_FLAG_SB)
209+
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);
203210
#elif defined(CONFIG_SOC_SERIES_STM32WLX) || defined(CONFIG_SOC_SERIES_STM32WBX)
204211
LL_PWR_ClearFlag_C1STOP_C1STB();
205212
#elif defined(CONFIG_SOC_SERIES_STM32U0X) && defined(PWR_FLAG_SB)

0 commit comments

Comments
 (0)