Merge pull request #1579 from iabdalkader/ptrtcfix2

boards/OPENMVPT: Fix RTC errata.
This commit is contained in:
Ibrahim Abdelkader 2022-03-10 00:02:49 +02:00 committed by GitHub
commit d6c89f64c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 3 deletions

View File

@ -319,12 +319,16 @@ void SystemClock_Config(void)
#endif #endif
#if defined(MCU_SERIES_H7) #if defined(MCU_SERIES_H7)
#if !defined(OMV_OMVPT_ERRATA_RTC)
PeriphClkInitStruct.PeriphClockSelection |= RCC_PERIPHCLK_RTC; PeriphClkInitStruct.PeriphClockSelection |= RCC_PERIPHCLK_RTC;
#if defined(OMV_OSC_RTC_CLKSOURCE) #if defined(OMV_OSC_RTC_CLKSOURCE)
PeriphClkInitStruct.RTCClockSelection = OMV_OSC_RTC_CLKSOURCE; PeriphClkInitStruct.RTCClockSelection = OMV_OSC_RTC_CLKSOURCE;
#else #else
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI; PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
#endif #endif
#endif
PeriphClkInitStruct.PeriphClockSelection |= RCC_PERIPHCLK_RNG; PeriphClkInitStruct.PeriphClockSelection |= RCC_PERIPHCLK_RNG;
PeriphClkInitStruct.RngClockSelection = OMV_OSC_RNG_CLKSOURCE; PeriphClkInitStruct.RngClockSelection = OMV_OSC_RNG_CLKSOURCE;

View File

@ -138,7 +138,7 @@
#if !defined (LSE_STARTUP_TIMEOUT) #if !defined (LSE_STARTUP_TIMEOUT)
#define LSE_STARTUP_TIMEOUT (5000UL) /*!< Time out for LSE start up, in ms */ #define LSE_STARTUP_TIMEOUT (500UL) /*!< Time out for LSE start up, in ms */
#endif /* LSE_STARTUP_TIMEOUT */ #endif /* LSE_STARTUP_TIMEOUT */
#if !defined (LSI_VALUE) #if !defined (LSI_VALUE)

View File

@ -133,15 +133,17 @@
#define OMV_OSC_USB_CLKSOURCE RCC_USBCLKSOURCE_PLL #define OMV_OSC_USB_CLKSOURCE RCC_USBCLKSOURCE_PLL
#define OMV_OSC_RNG_CLKSOURCE RCC_RNGCLKSOURCE_HSI48 #define OMV_OSC_RNG_CLKSOURCE RCC_RNGCLKSOURCE_HSI48
#define OMV_OSC_ADC_CLKSOURCE RCC_ADCCLKSOURCE_PLL2 #define OMV_OSC_ADC_CLKSOURCE RCC_ADCCLKSOURCE_PLL2
#define OMV_OSC_RTC_CLKSOURCE RCC_RTCCLKSOURCE_LSE //#define OMV_OSC_RTC_CLKSOURCE RCC_RTCCLKSOURCE_LSE
#define OMV_OSC_SPI123_CLKSOURCE RCC_SPI123CLKSOURCE_PLL2 #define OMV_OSC_SPI123_CLKSOURCE RCC_SPI123CLKSOURCE_PLL2
// HSE/HSI/CSI State // HSE/HSI/CSI State
// The LSE is not configured due to an issue with the LSE crystal oscillator. // The LSE/LSI and RTC are managed by micropython's rtc.c.
// #define OMV_OSC_LSE_STATE (RCC_LSE_ON) // #define OMV_OSC_LSE_STATE (RCC_LSE_ON)
// #define OMV_OSC_LSE_DRIVE (RCC_LSEDRIVE_HIGH) // #define OMV_OSC_LSE_DRIVE (RCC_LSEDRIVE_HIGH)
#define OMV_OSC_HSE_STATE (RCC_HSE_ON) #define OMV_OSC_HSE_STATE (RCC_HSE_ON)
#define OMV_OSC_HSI48_STATE (RCC_HSI48_ON) #define OMV_OSC_HSI48_STATE (RCC_HSI48_ON)
// Errata
#define OMV_OMVPT_ERRATA_RTC (1)
// Flash Latency // Flash Latency
#define OMV_FLASH_LATENCY (FLASH_LATENCY_2) #define OMV_FLASH_LATENCY (FLASH_LATENCY_2)