drivers: clock_control: clock_stm32: Add support for lse bypass

Add support for LSE bypass for all STM32 series

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
This commit is contained in:
Guillaume Gautier 2022-09-13 14:37:31 +02:00 committed by Fabio Baltieri
commit a332ee3172
3 changed files with 15 additions and 0 deletions

View file

@ -616,6 +616,11 @@ static void set_up_fixed_clock_sources(void)
LL_RCC_LSE_SetDriveCapability(STM32_LSE_DRIVING << RCC_BDCR_LSEDRV_Pos); LL_RCC_LSE_SetDriveCapability(STM32_LSE_DRIVING << RCC_BDCR_LSEDRV_Pos);
#endif #endif
if (IS_ENABLED(STM32_LSE_BYPASS)) {
/* Configure LSE bypass */
LL_RCC_LSE_EnableBypass();
}
/* Enable LSE Oscillator (32.768 kHz) */ /* Enable LSE Oscillator (32.768 kHz) */
LL_RCC_LSE_Enable(); LL_RCC_LSE_Enable();
while (!LL_RCC_LSE_IsReady()) { while (!LL_RCC_LSE_IsReady()) {

View file

@ -602,6 +602,11 @@ static void set_up_fixed_clock_sources(void)
/* Configure driving capability */ /* Configure driving capability */
LL_RCC_LSE_SetDriveCapability(STM32_LSE_DRIVING << RCC_BDCR_LSEDRV_Pos); LL_RCC_LSE_SetDriveCapability(STM32_LSE_DRIVING << RCC_BDCR_LSEDRV_Pos);
if (IS_ENABLED(STM32_LSE_BYPASS)) {
/* Configure LSE bypass */
LL_RCC_LSE_EnableBypass();
}
/* Enable LSE oscillator */ /* Enable LSE oscillator */
LL_RCC_LSE_Enable(); LL_RCC_LSE_Enable();
while (LL_RCC_LSE_IsReady() != 1) { while (LL_RCC_LSE_IsReady() != 1) {

View file

@ -628,6 +628,11 @@ static void set_up_fixed_clock_sources(void)
/* Configure driving capability */ /* Configure driving capability */
LL_RCC_LSE_SetDriveCapability(STM32_LSE_DRIVING << RCC_BDCR_LSEDRV_Pos); LL_RCC_LSE_SetDriveCapability(STM32_LSE_DRIVING << RCC_BDCR_LSEDRV_Pos);
if (IS_ENABLED(STM32_LSE_BYPASS)) {
/* Configure LSE bypass */
LL_RCC_LSE_EnableBypass();
}
/* Enable LSE Oscillator */ /* Enable LSE Oscillator */
LL_RCC_LSE_Enable(); LL_RCC_LSE_Enable();
/* Wait for LSE ready */ /* Wait for LSE ready */