Open
Description
Umbrella ticket to track power management related activities.
Aim is to STM32 related tickets/PR, but also cross-architectures tickets that might be relevant to enable power management use cases on STM32.
Strategy
There will be 2 mains tracks of power management on STM32 series depending on SoCs ability to handle low power use cases, roughly:
- LP enabled series , supporting LPTIMER and ability to wake-up from sleep modes
- Non LP enabled series on which will restrict PM handling to standby use cases
Current view
- Support LPTIM as tick source that can be used to wake up from sleep mode
- Implementation on L4 series (lptim: stm32l4: support of the lptimer #18582)
- Extend to other LP series (WB: lptim: stm32wb: support of the lptimer #19881, G4: lptim: stm32g4: support of the lptimer on stm32g4xx #19879)
- Provide PM states description and PM states management samples : #stm32 sample application to test low power modes #26002
- Implementation on L4 series (power: stm32l4: support of the Low Power Mode #19026)
- Known limitations: No PLL resumption after wake up from sleep mode. Limited to fixed clocks
- Extension to WB (power: stm32wb: support of the Low Power Mode #20155) + power: stm32wb: support of the Low Power Mode hal_stm32#24
- Implementation on F4 series
- Extend to other series
- Implementation on L4 series (power: stm32l4: support of the Low Power Mode #19026)
- Configure wake up sources (pins or peripheral)
- pins:
- Propose a device tree representation (dts: Provide analog configuration for each pin hal_stm32#126)
- Implement within driver
- peripheral: Provide capability to configure alternate source clock ([RFC] stm32: clock_control: Enable device clock source selection #45053)
- peripheral: Get system PM to take into account wake up source lowest supported power mode (pm: Miss a way to notify devices about wakeup source activation #39312)
- peripheral: Dependencies with PM: Simplify device power states #38619
- pins:
- Resume PLL after wake up from sleep mode (need to rerun
stm32_clock_control_init
) ([stm32] PM restore console after sleep mode #32128) - Peripheral low power modes
To follow closely
Power Management Infrastructure (#14307)
Should fix
[x] #14066