From 283b61422bc746d118c3db48084ea44262c39ac1 Mon Sep 17 00:00:00 2001 From: Giovanni Di Sirio Date: Sat, 1 Jul 2023 08:22:28 +0000 Subject: [PATCH] Removed oscillator stabilization delay on STM32 LSE and HSE when bypass mode is enabled. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@16306 27425a3e-05d8-49a3-a47f-9c15f0e5edd8 --- os/hal/ports/STM32/LLD/RCCv1/stm32_hse.inc | 2 +- os/hal/ports/STM32/LLD/RCCv1/stm32_lse.inc | 2 +- os/xhal/ports/STM32/LLD/RCCv1/stm32_hse.inc | 2 +- os/xhal/ports/STM32/LLD/RCCv1/stm32_lse.inc | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/os/hal/ports/STM32/LLD/RCCv1/stm32_hse.inc b/os/hal/ports/STM32/LLD/RCCv1/stm32_hse.inc index 6027732dc..8edf099b3 100644 --- a/os/hal/ports/STM32/LLD/RCCv1/stm32_hse.inc +++ b/os/hal/ports/STM32/LLD/RCCv1/stm32_hse.inc @@ -96,10 +96,10 @@ __STATIC_INLINE void hse_enable(void) { RCC->CR |= RCC_CR_HSEON | RCC_CR_HSEBYP; #else RCC->CR |= RCC_CR_HSEON; -#endif while ((RCC->CR & RCC_CR_HSERDY) == 0U) { /* Waiting for HSE activation.*/ } +#endif } __STATIC_INLINE void hse_disable(void) { diff --git a/os/hal/ports/STM32/LLD/RCCv1/stm32_lse.inc b/os/hal/ports/STM32/LLD/RCCv1/stm32_lse.inc index ee30dd87b..31ee7f277 100644 --- a/os/hal/ports/STM32/LLD/RCCv1/stm32_lse.inc +++ b/os/hal/ports/STM32/LLD/RCCv1/stm32_lse.inc @@ -97,11 +97,11 @@ __STATIC_INLINE void lse_init(void) { #else /* No LSE Bypass.*/ RCC->BDCR |= STM32_LSEDRV | RCC_BDCR_LSEON | RCC_BDCR_LSESYSEN; -#endif while ((RCC->BDCR & (RCC_BDCR_LSESYSRDY | RCC_BDCR_LSERDY)) != (RCC_BDCR_LSESYSRDY | RCC_BDCR_LSERDY)) { } #endif +#endif } /*===========================================================================*/ diff --git a/os/xhal/ports/STM32/LLD/RCCv1/stm32_hse.inc b/os/xhal/ports/STM32/LLD/RCCv1/stm32_hse.inc index 6027732dc..8edf099b3 100644 --- a/os/xhal/ports/STM32/LLD/RCCv1/stm32_hse.inc +++ b/os/xhal/ports/STM32/LLD/RCCv1/stm32_hse.inc @@ -96,10 +96,10 @@ __STATIC_INLINE void hse_enable(void) { RCC->CR |= RCC_CR_HSEON | RCC_CR_HSEBYP; #else RCC->CR |= RCC_CR_HSEON; -#endif while ((RCC->CR & RCC_CR_HSERDY) == 0U) { /* Waiting for HSE activation.*/ } +#endif } __STATIC_INLINE void hse_disable(void) { diff --git a/os/xhal/ports/STM32/LLD/RCCv1/stm32_lse.inc b/os/xhal/ports/STM32/LLD/RCCv1/stm32_lse.inc index ee30dd87b..31ee7f277 100644 --- a/os/xhal/ports/STM32/LLD/RCCv1/stm32_lse.inc +++ b/os/xhal/ports/STM32/LLD/RCCv1/stm32_lse.inc @@ -97,11 +97,11 @@ __STATIC_INLINE void lse_init(void) { #else /* No LSE Bypass.*/ RCC->BDCR |= STM32_LSEDRV | RCC_BDCR_LSEON | RCC_BDCR_LSESYSEN; -#endif while ((RCC->BDCR & (RCC_BDCR_LSESYSRDY | RCC_BDCR_LSERDY)) != (RCC_BDCR_LSESYSRDY | RCC_BDCR_LSERDY)) { } #endif +#endif } /*===========================================================================*/