Coprocessor power management

Revision as of 15:53, 28 May 2024 by Registered User (→‎Software overview)
Applicable for STM32MP15x lines, STM32MP25x lines

1. Article purpose[edit source]

The purpose of this article is to give an overview of the software APIs available on the Arm® Cortex®-M (also named MCU) side to handle the low power modes, acting as coprocessor .

2. Low power modes available on the chip[edit source]

The low power modes are handled by RCC and PWR peripherals.

See Power overview for mode description or refer to the reference manuals the full description of the modes (STM32MP15, STM32MP25).

2.1. Wakeup sources[edit source]

The low power modes are left due to a wakeup event. It can be configured by setting the wakeup control feature of the IP and activating the corresponding EXTI on MCU side.

The wake sources are listed in the Power overview page.

3. Software overview[edit source]

The STM32MP15x lines More info.png power HAL is used to select the Cortex-M low power mode.

For STM32MP25x lines More info.png and when the MCU firmware is running in DDR, the firmware need to be stopped and the associated resources need to be released before to request low power mode on MPU side with Linux.

Further information on HAL can be found here:

3.1. APIs description[edit source]

The STM32MP15x lines More info.png power HAL supports the following APIs related to power management:

  • HAL_PWR_EnterSLEEPMode: CSleep mode is entered
  • HAL_PWR_EnterStopMode: CStop mode is entered allowing Stop as the deepest platform low power mode
  • HAL_PWR_EnterStandbyMode: CStop mode is entered allowing Standby as the deepest platform low power mode

4. Code source location[edit source]

STM32CubeMP15 Package provides

STM32CubeMP2 Package provides: