From b919c01819005f520ccb40cbc4c8fccda3af8f80 Mon Sep 17 00:00:00 2001 From: 3djc Date: Sat, 29 Mar 2025 02:42:37 +0100 Subject: [PATCH] fix(radio): improve initialisation of RTC (#6028) --- radio/src/targets/common/arm/stm32/rtc_driver.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/radio/src/targets/common/arm/stm32/rtc_driver.cpp b/radio/src/targets/common/arm/stm32/rtc_driver.cpp index 49a8c622c..9aa98841a 100644 --- a/radio/src/targets/common/arm/stm32/rtc_driver.cpp +++ b/radio/src/targets/common/arm/stm32/rtc_driver.cpp @@ -80,6 +80,10 @@ void rtcInit() __HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE); } +#if defined(STM32H7) + __HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_HIGH); +#endif + __HAL_RCC_RTC_ENABLE(); HAL_RTC_WaitForSynchro(&rtc); @@ -93,6 +97,9 @@ void rtcInit() rtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; HAL_RTC_Init(&rtc); + HAL_PWR_EnableBkUpAccess(); + HAL_RTC_WaitForSynchro(&rtc); + struct gtm utm; rtcGetTime(&utm); g_rtcTime = gmktime(&utm);