@@ -331,7 +331,7 @@ void SystemClock_Decrease(void)
331
331
}
332
332
}
333
333
334
- #elif defined(STM32G0xx ) || defined(STM32G4xx )
334
+ #elif defined(STM32G0xx ) || defined(STM32G4xx ) || defined( STM32U0xx )
335
335
/**
336
336
* @brief For STM32G0 and STM32G4
337
337
* running in LowPower Sleep requires to slow down frequency to 2MHz max.
@@ -366,7 +366,7 @@ void SystemClock_Decrease(void)
366
366
RCC_ClkInitStruct .ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
367
367
| RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 ;
368
368
RCC_ClkInitStruct .APB2CLKDivider = RCC_HCLK_DIV1 ;
369
- #elif defined(STM32G0xx )
369
+ #elif defined(STM32G0xx ) || defined( STM32U0xx )
370
370
RCC_ClkInitStruct .ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
371
371
| RCC_CLOCKTYPE_PCLK1 ;
372
372
#endif
@@ -447,7 +447,8 @@ void LowPower_stop(serial_t *obj)
447
447
/* Enable Ultra low power mode */
448
448
HAL_PWREx_EnableUltraLowPower ();
449
449
#endif
450
- #if defined(PWR_CR1_ULPMEN ) || defined(PWR_CR3_ULPMEN )
450
+ #if defined(PWR_CR1_ULPMEN ) || defined(PWR_CR3_ULPMEN ) || \
451
+ (defined(PWR_CR3_ENULP ) && defined(STM32U0xx ))
451
452
/* Enable Ultra low power mode */
452
453
HAL_PWREx_EnableUltraLowPowerMode ();
453
454
#endif
@@ -479,13 +480,15 @@ void LowPower_stop(serial_t *obj)
479
480
#endif
480
481
#endif
481
482
/* Enter Stop mode */
482
- #if defined(UART_WKUP_SUPPORT ) && (defined(PWR_CPUCR_RETDS_CD ) \
483
- || defined(PWR_CR1_LPMS_STOP2 ) || defined(PWR_LOWPOWERMODE_STOP2 ) \
484
- || defined(LL_PWR_STOP2_MODE ))
483
+ #if defined(UART_WKUP_SUPPORT ) && (defined(PWR_CPUCR_RETDS_CD ) || \
484
+ defined(LL_PWR_MODE_STOP2 ))
485
485
if ((WakeUpUart == NULL )
486
486
|| (WakeUpUart -> Instance == (USART_TypeDef * )LPUART1_BASE )
487
487
#ifdef LPUART2_BASE
488
488
|| (WakeUpUart -> Instance == (USART_TypeDef * )LPUART2_BASE )
489
+ #endif
490
+ #ifdef LPUART3_BASE
491
+ || (WakeUpUart -> Instance == (USART_TypeDef * )LPUART3_BASE )
489
492
#endif
490
493
) {
491
494
#if defined(PWR_CR1_RRSTP )
@@ -596,7 +599,11 @@ void LowPower_shutdown(bool isRTC)
596
599
#if defined(LL_PWR_SHUTDOWN_MODE ) || defined(LL_PWR_MODE_SHUTDOWN )
597
600
/* LSE must be on to use shutdown mode within RTC else fallback to standby */
598
601
if ((!isRTC ) || (__HAL_RCC_GET_FLAG (RCC_FLAG_LSERDY ) == SET )) {
602
+ #if defined(STM32U0xx )
603
+ HAL_PWR_EnterSHUTDOWNMode ();
604
+ #else
599
605
HAL_PWREx_EnterSHUTDOWNMode ();
606
+ #endif
600
607
} else
601
608
#else
602
609
UNUSED (isRTC );
0 commit comments