@@ -331,7 +331,7 @@ void SystemClock_Decrease(void)
331331 }
332332}
333333
334- #elif defined(STM32G0xx ) || defined(STM32G4xx )
334+ #elif defined(STM32G0xx ) || defined(STM32G4xx ) || defined( STM32U0xx )
335335/**
336336 * @brief For STM32G0 and STM32G4
337337 * running in LowPower Sleep requires to slow down frequency to 2MHz max.
@@ -366,7 +366,7 @@ void SystemClock_Decrease(void)
366366 RCC_ClkInitStruct .ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
367367 | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 ;
368368 RCC_ClkInitStruct .APB2CLKDivider = RCC_HCLK_DIV1 ;
369- #elif defined(STM32G0xx )
369+ #elif defined(STM32G0xx ) || defined( STM32U0xx )
370370 RCC_ClkInitStruct .ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
371371 | RCC_CLOCKTYPE_PCLK1 ;
372372#endif
@@ -447,7 +447,7 @@ void LowPower_stop(serial_t *obj)
447447 /* Enable Ultra low power mode */
448448 HAL_PWREx_EnableUltraLowPower ();
449449#endif
450- #if defined(PWR_CR1_ULPMEN ) || defined(PWR_CR3_ULPMEN )
450+ #if defined(PWR_CR1_ULPMEN ) || defined(PWR_CR3_ULPMEN ) || defined( PWR_CR3_ENULP )
451451 /* Enable Ultra low power mode */
452452 HAL_PWREx_EnableUltraLowPowerMode ();
453453#endif
@@ -481,11 +481,14 @@ void LowPower_stop(serial_t *obj)
481481 /* Enter Stop mode */
482482#if defined(UART_WKUP_SUPPORT ) && (defined(PWR_CPUCR_RETDS_CD ) \
483483 || defined(PWR_CR1_LPMS_STOP2 ) || defined(PWR_LOWPOWERMODE_STOP2 ) \
484- || defined(LL_PWR_STOP2_MODE ))
484+ || defined(LL_PWR_STOP2_MODE ) || defined( PWR_CR1_LPMS_1 ) )
485485 if ((WakeUpUart == NULL )
486486 || (WakeUpUart -> Instance == (USART_TypeDef * )LPUART1_BASE )
487487#ifdef LPUART2_BASE
488488 || (WakeUpUart -> Instance == (USART_TypeDef * )LPUART2_BASE )
489+ #endif
490+ #ifdef LPUART3_BASE
491+ || (WakeUpUart -> Instance == (USART_TypeDef * )LPUART3_BASE )
489492#endif
490493 ) {
491494#if defined(PWR_CR1_RRSTP )
@@ -596,7 +599,11 @@ void LowPower_shutdown(bool isRTC)
596599#if defined(LL_PWR_SHUTDOWN_MODE ) || defined(LL_PWR_MODE_SHUTDOWN )
597600 /* LSE must be on to use shutdown mode within RTC else fallback to standby */
598601 if ((!isRTC ) || (__HAL_RCC_GET_FLAG (RCC_FLAG_LSERDY ) == SET )) {
602+ #if defined(STM32U0xx )
603+ HAL_PWR_EnterSHUTDOWNMode ();
604+ #else
599605 HAL_PWREx_EnterSHUTDOWNMode ();
606+ #endif
600607 } else
601608#else
602609 UNUSED (isRTC );
0 commit comments