11. Power control (PWR)

11.1 Introduction

The power controller manages the device power supplies and power modes transitions.

11.2 PWR main features

The power controller (PWR) main features are:

11.3 PWR pins and internal signals

Table 85. PWR input/output pins

Pin nameSignal typeDescription
VDDSupplyMain and Backup domain supply
GNDSupplyMain ground
VDDASupplyAnalog peripherals supply
VDDRFSupply2.4 GHz RADIO RF supply
VDDRFPASupply2.4 GHz RADIO PA regulator supply
VDDANA (1)Supply2.4 GHz RADIO analog supply
VDDHPAOutput2.4 GHz RADIO PA regulator output
VSSSupplyGround
VSSA (1)SupplyAnalog peripherals ground
VSSRF (1)Supply2.4 GHz RADIO ground
VDD11 (1)Input/OutputLogic supply ( \( V_{CORE} \) )
VCAP (2)OutputLogic supply ( \( V_{CORE} \) )
VDDSMPS (1)SupplySMPS supply
VSSSMPS (1)SupplySMPS ground
VLXSMPS (1)SupplySMPS output

1. Available only on STM32WBA55xx devices.

2. Available only on STM32WBA50/52/54xx devices.

Table 86. PWR internal input/output signals

Internal signal nameSignal typeDescription
WKUPx_y (x = 1 to 8, y = 1 to 4)InputWake-up event source selection
WKUP interruptOutputGlobal WKUP pin interrupt
WKUP_S interruptOutputGlobal WKUP_S pin secure interrupt
PWR_CSLEEPOutputCPU in Sleep mode, Sleep
PWR_CSTOPOutputMCU in Stop mode, Stop

Each of the wake-up event WKUPx can be generated from device pins or internal events, selected by WUSELx[1:0] in the PWR_WUCR3 register (x = 1 to 8). A WKUP interrupt is generated only when WKUPx is generated from a device pin. WKUPx generated from internal events are associated with an internal event interrupt.

Table 87. PWR wake-up source selection

Wake-up eventInternal signal source (x = 1 to 8)
WKUPx_0
(WUSELx = 00)
WKUPx_1
(WUSELx = 01)
WKUPx_2
(WUSELx = 10)
WKUPx_3
(WUSELx = 11)
WKUP1PA0PB2ReservedReserved
WKUP2PA4 (1)PC13ReservedReserved
WKUP3ReservedPA1PB6Reserved
WKUP4PA2PB1ReservedReserved
WKUP5ReservedPA3PB7Reserved
WKUP6PA12PA5Reservedrtc_alara_s or
rtc_alrb_s or
rtc_wut_s or
RTC_TS_S (2)
WKUP7PB14PA6Reservedrtc_alra or rtc_alrb
or rtc_wut or
RTC_TS (2)
WKUP8ReservedPA7PB9tamp or tamp_s (3)

1. Available only on STM32WBA55xx devices.

2. As enabled in the RTC interrupt and according the RTC interrupt security setting.

3. As enabled in the TAMP mask.

11.4 PWR power supplies and supply domains

Figure 28. Power supply overview

Figure 28. Power supply overview diagram showing various power domains: Core domain, Retention domain, Wake-up domain (VDD), Backup domain, Analog domain, and 2.4 GHz RF PHY domain. It details power supplies like LP-Reg, SMPS/LDO, REG VDDHPA, and various LDOs (FSYN, RFFE, ADC, VCO, ANA) and their connections to components like CPU, SRAMs, and RF PHY.

The diagram illustrates the power supply architecture for the device, organized into several functional domains:

Key power components include:

External pins shown include: VSS, VDD11/VCAP, VDDSMPS, VLXSMPS, VSSSMPS, VDD, VDDA, VSSA on the left; VDDRFPA, VDDRF, VSSRF, VDDHPA, VDDANA, VSSRF on the right.

V REF+ and V REF- are not available as package pins

Pin VDDANA is available only on package(s) with SMPS, on LDO packages V CC_ANA is supplied from VDDRF.
In QFN packages VSS, VSSA, and VSSRF are connected to the exposed pad.

MS55658V2

Figure 28. Power supply overview diagram showing various power domains: Core domain, Retention domain, Wake-up domain (VDD), Backup domain, Analog domain, and 2.4 GHz RF PHY domain. It details power supplies like LP-Reg, SMPS/LDO, REG VDDHPA, and various LDOs (FSYN, RFFE, ADC, VCO, ANA) and their connections to components like CPU, SRAMs, and RF PHY.

11.4.1 External power supplies

The devices require a 1.71 to 3.6 V \( V_{DD} \) operating voltage supply. Several independent supplies can be provided for specific peripherals. Those supplies must be provided with a valid operating supply on the \( V_{DD} \) pin:

Note: The SMPS power supply pins are available only on specific package with SMPS step-down converter option.

Note: The VDDANA supply pin is available only on specific packages with SMPS step-down converter option. In packages with only LDO support, VDDANA is double bonded with VDDRF.

11.4.2 Application RADIO power supply schemes

The device supports different supply schemes, as shown in Figure 29 . The maximum achievable transmit output power from the 2.4 GHz RADIO internal PA is linked to the supply scheme.

Figure 29. Application power supply schemes

Figure 29: Application power supply schemes. The diagram shows three power supply configurations for the device. The top two configurations are for 'Packages with SMPS'. The left configuration is for 'VDDRFA = VDD11 (transmit default power)', where the SMPS is active and connected to VDD11. The right configuration is for 'VDDRFA = VDD (maximum transmit high power)', where the SMPS is bypassed and VDDRFA is connected to VDD. The bottom configuration is for 'Packages without SMPS', where the device is connected to an external VCAP source and VDDRFA is connected to VDD. All configurations show the internal power supply blocks: SMPS, MAIN REG, LP REG, REG VDDHPA, Core/retention domain, and 2.4 GHz RADIO PHY, with various voltage pins labeled such as VDDSMPS, VDD, VDDANA, VDDRFA, VDDRF, VDDHPA, VCORE, VDDANA, VCCRF, VDDHPA, VBATRF, VSS, VSSANA, and VSSRF.

Packages with SMPS

VDDRFA = VDD11 (transmit default power)

VDDRFA = VDD (maximum transmit high power)

Packages without SMPS

VDDRFA = VDD (transmit high output power)

MS55664V2

Figure 29: Application power supply schemes. The diagram shows three power supply configurations for the device. The top two configurations are for 'Packages with SMPS'. The left configuration is for 'VDDRFA = VDD11 (transmit default power)', where the SMPS is active and connected to VDD11. The right configuration is for 'VDDRFA = VDD (maximum transmit high power)', where the SMPS is bypassed and VDDRFA is connected to VDD. The bottom configuration is for 'Packages without SMPS', where the device is connected to an external VCAP source and VDDRFA is connected to VDD. All configurations show the internal power supply blocks: SMPS, MAIN REG, LP REG, REG VDDHPA, Core/retention domain, and 2.4 GHz RADIO PHY, with various voltage pins labeled such as VDDSMPS, VDD, VDDANA, VDDRFA, VDDRF, VDDHPA, VCORE, VDDANA, VCCRF, VDDHPA, VBATRF, VSS, VSSANA, and VSSRF.

11.4.3 Power-up and power-down power sequences

During power-up and power-down phases, respect the following requirements:

During the power-down phase, \( V_{DD} \) can temporarily become lower than other supplies only if the energy provided to the MCU remains below 1 mJ; this allows external decoupling capacitors discharge with different time constants during the power-down transient phase.

11.4.4 Independent analog peripherals supply

To improve A/D conversion accuracy and 2.4 GHz RADIO performance, and to extend the supply flexibility, the analog and 2.4 GHz RADIO peripherals have independent power supplies that can be separately filtered and shielded from noise on the PCB:

The \( V_{DDA} \) supply voltage can be different from \( V_{DD} \) . The \( V_{DDA} \) must be present before enabling any of the analog peripherals supplied by \( V_{DDA} \) (ADC4 and COMP).

When a single supply is used, \( V_{DDA} \) can be externally connected to \( V_{DD} \) through the external filtering circuit to ensure a noise-free \( V_{DDA} \) voltage.

11.4.5 Radio peripherals supply

The 2.4 GHz RADIO \( V_{DDRF} \) , \( V_{DDANA} \) , and \( V_{DDRFP} \) supply voltages can be different from \( V_{DD} \) . The supplies must be present before enabling the 2.4 GHz RADIO.

When a single supply is used, \( V_{DDRF} \) , \( V_{DDANA} \) , and \( V_{DDRFP} \) supplies can be externally connected to \( V_{DD} \) through external filtering circuitry to ensure noise-free supply voltage.

In devices with SMPS, \( V_{DDANA} \) can be externally connected to \( V_{DD11} \) through external filtering circuitry to ensure noise-free supply voltage.

In devices with SMPS, for low transmit output power applications \( V_{DDRFP} \) can be externally connected to \( V_{DD11} \) through external filtering circuitry to ensure noise-free supply voltage.

11.4.6 Backup domain

The backup domain contains the RTC, TAMP, backup registers, LSE and LSI oscillators, and is directly supplied from \( V_{DD} \) pin.

Backup domain access

After a system reset, the Backup domain (RCC Backup domain control register RCC_BDCR1 , RTC registers, TAMP registers, backup registers) is protected against possible unwanted write accesses. To enable access to the Backup domain, proceed as follows:

  1. 1. Enable the power interface clock by setting the PWREN bits in the Section 12.8.22: RCC AHB4 peripheral clock enable register (RCC_AHB4ENR) .
  2. 2. Set the DBP bit in the PWR disable Backup domain register (PWR_DBPR) to enable access to the Backup domain.

11.4.7 Internal regulators

The devices embed two regulators: one LDO and one SMPS in parallel to provide the \( V_{CORE} \) (for digital peripherals, SRAM and embedded flash memory). Both regulators generate this voltage on VDD11/VCAP pins. The SMPS is available only on STM32WBA55xx devices.

Both regulators can provide two different voltage ranges (voltage scaling) and can operate in Run and Stop modes.

It is possible to switch from SMPS to LDO and from LDO to SMPS and change range on the fly (when the 2.4 GHz RADIO is not active).

Other internal supplies for the 2.4 GHz RADIO are generated for the dedicated regulator.

11.5 PWR system supply voltage regulation

11.5.1 SMPS and LDO embedded regulators

All devices embed an internal linear voltage regulator (LDO). STM32WBA55xx devices embed also an internal SMPS step-down converter, which can be selected when the application runs, depending upon application requirements.

The SMPS allows the power consumption to be reduced. Some peripherals can be perturbed by the noise generated by the SMPS, requiring the application to switch to LDO when running this peripheral, to reach the best performances.

The LDO and the SMPS regulators have two modes, namely Main regulator mode (used when performance is needed), and Low-power regulator mode. LDO or SMPS can be used in all voltage scaling ranges, and in all Stop modes and Standby with retention mode.

11.5.2 LDO and SMPS versus reset, voltage scaling, and low-power modes

After BOR0 power-on reset and system reset, the LDO regulator is enabled, in range 2. Switching to the SMPS regulator provides lower consumption in particular for high \( V_{DD} \) voltages. It is possible to switch from LDO to SMPS, or from SMPS to LDO in any range, by configuring the REGSEL register bit.

When exiting from Stop or Standby retention modes, the regulator is the same used to enter the low-power mode. When exiting from Standby modes, the LDO regulator is always used to startup. When Standby has been entered from the SMPS regulator, after exiting Standby with the LDO, the regulator is switched automatically to SMPS regulator.

When exiting from Stop 0 modes the voltage range is the same as on entering Stop 0 mode. When exiting from Stop 1 and Standby modes the voltage range 2 is used.

When the 2.4 GHz RADIO is active, the regulator and range cannot be changed. Any requested regulator or range change while the 2.4 GHz RADIO is active is suspended and takes effect only after the 2.4 GHz RADIO and PHY have entered Sleep or Deepsleep mode.

11.5.3 LDO and SMPS step-down converter fast startup

After BOR0 power-on reset, the LDO regulator starts in high-power mode and in slow-startup mode. The slow-startup feature is selected to limit the inrush current after power-on reset. This increases the wake-up time also when exiting Standby modes.

It is possible to configure fast-startup on the fly and it is applied for next startup either after a system reset or wake-up from Standby mode. The fast-startup is selected by setting the FSTEN bit in the PWR_CR3 register. Fast-startup selection applies to both LDO and SMPS regulators.

11.5.4 Dynamic voltage scaling management

The dynamic voltage scaling is a power management technique that consists in increasing or decreasing the voltage used for the digital peripherals ( \( V_{CORE} \) ), according to the application performance and power consumption needs.

Dynamic voltage scaling to increase \( V_{CORE} \) is known as overvolting. This is used to improve device performance.

Dynamic voltage scaling to decrease \( V_{CORE} \) is known as undervolting. It is performed to save power, particularly in devices where the energy comes from a battery and is thus limited.

The regulator operates in the following ranges:

It allows a system clock frequency up to 100 MHz, and is required for any 2.4 GHz RADIO transmit and receive operation.

When the 2.4 GHz RADIO is active the range cannot be changed. Any requested range change while the 2.4 GHz RADIO is active is suspended and only takes effect after the 2.4 GHz RADIO and PHY have entered Sleep or DeepSleep mode.

The system clock frequency can be up to 16 MHz. The 2.4 GHz RADIO cannot transmit nor receive.

Voltage scaling is selected through the VOS bit in the PWR_VOSR register.

The sequence to switch the voltage scaling from range 2 to range 1 is the following:

  1. 1. Program the VOS to range 1 in the PWR_VOSR
  2. 2. Wait until the VOSRDY flag is set in the PWR_VOSR
  3. 3. If target SYSCLK > 50 MHz
    1. a) Switch on the PLL1 oscillator source
    2. b) Select the PLL1 clock source in PLL1SRC in the RCC_PLL1CFGR
  4. 4. Adjust number of wait states according to the new target SYSCLK frequency. Flash LATENCY in the FLASH_ACR, and SRAM WSC in the RAMCFG_MxCR.
  5. 5. Configure and enable the PLL1 is needed
  6. 6. Switch to the new SYSCLK frequency.

The sequence to switch the voltage scaling from range 1 to range 2 is the following:

  1. 1. Switch to the SYSCLK frequency \( \leq 16 \) MHz
  2. 2. Adjust number of wait states according to the new target SYSCLK frequency. Flash LATENCY in the FLASH_ACR, and SRAM WSC in the RAMCFG_MxCR.
  3. 3. Disable the PLL1
  4. 4. Program the VOS to range 2 in the PWR_VOSR
  5. 5. Optionally wait until the ACTVOS in the PWR_SVMSR = VOS in the PWR_VOSR and ACTVOSRDY flag is set in PWR_SVMSR

Note: When switching the voltage scaling, the sequence must be completed (VOS = ACTVOS and ACTVOSRDY = 1) before entering Stop or Standby modes. When the 2.4 GHz RADIO is active (PWR_RADIOSCR.MODE = active) the system does not enter low-power mode and the CPU can enter Deepsleep mode independently from VOS, ACTVOS and ACTVOSRDY.

11.5.5 2.4 GHz RADIO PA regulator

The PA regulator REG VDDHPA is used to supply the 2.4 GHz RADIO internal PA with the correct voltage level \( V_{DDHPA} \) for a given transmit output power. This regulator output voltage \( V_{DDHPA} \) is controlled from the 2.4 GHz RADIO link layer software. \( V_{DDHPA} \) maximum supply level and associated maximum transmit output power is depended on the application supply scheme. See Section 11.4.2: Application RADIO power supply schemes .

The application software can control the REG VDDHPA regulator input voltage.

The required REG VDDHPA regulator supply source configuration in REGPASEL and REGPABYPEN must be set before using the regulator. When the REG VDDHPA regulator is used, REGPASEL and REGPABYPEN must not be changed.

The REG VDDHPA is forced off, discharging the external capacitor, in all Standby modes.

For more information on the 2.4 GHz RADIO transmit output power and REG VDDHPA regulator control see Section 9.4.3: Transmit output power .

11.6 PWR power supply supervision

11.6.1 Brownout reset (BOR)

The device has an integrated BOR (brownout reset) circuitry. The BOR is active in all power modes, and cannot be disabled. The BOR reset also generates a system reset on pin NRST.

Five BOR thresholds can be selected through option bytes. A power-on reset is always generated at the \( V_{BOR0} \) thresholds.

The Backup domain is supplied by \( V_{DD} \) and is reset by the \( V_{BOR0} \) thresholds.

The other \( V_{BORx} \) ( \( x = 1 \) to \( 4 \) ) thresholds keep most of the device under system reset until the supply voltage \( V_{DD} \) reaches the specified threshold. When \( V_{DD} \) drops below the selected threshold, a system reset on pin NRST is generated. When \( V_{DD} \) is above the \( V_{BORx} \) upper limit, the system reset on pin NRST is released and the system can start.

For more details on the brownout reset thresholds, refer to the electrical characteristics section in the datasheet.

During Stop 1 and Standby modes, it is possible to set the BOR0 in Ultra-low power (discontinuous) mode to further reduce the current consumption by setting the ULPMEN bit in PWR control register 1 (PWR_CR1) .


Warning: In Ultra-low power mode, the supply monitoring is discontinuous and may not detect fast drops in supply, hence it must not be used together with autonomous peripherals using HSI16 as kernel clock.


Figure 30. Brownout reset waveform

Figure 30. Brownout reset waveform. The graph shows the relationship between supply voltage VDD and time t. The VDD curve rises to a peak and then falls. Two sets of thresholds are shown: VBORx (rising edge) and VBORx (falling edge) for x=1 to 4, and VBOR0 (rising edge) and VBOR0 (falling edge). Hysteresis is indicated between the rising and falling edges for both sets. Below the graph, two reset signals are shown: BOR system reset (NRST) and BOR0 power-on reset. The NRST signal is driven by the rising edge of the system reset, which can be driven from the VBOR0 power-on reset or VBORx (x=1 to 4) rising threshold depending on the VDD rising slope. The BOR0 power-on reset signal is driven by the falling edge of the VBOR0 threshold. A temporization tRSTTEMPO is shown between the falling edge of the VBOR0 threshold and the rising edge of the BOR0 power-on reset signal.
Figure 30. Brownout reset waveform. The graph shows the relationship between supply voltage VDD and time t. The VDD curve rises to a peak and then falls. Two sets of thresholds are shown: VBORx (rising edge) and VBORx (falling edge) for x=1 to 4, and VBOR0 (rising edge) and VBOR0 (falling edge). Hysteresis is indicated between the rising and falling edges for both sets. Below the graph, two reset signals are shown: BOR system reset (NRST) and BOR0 power-on reset. The NRST signal is driven by the rising edge of the system reset, which can be driven from the VBOR0 power-on reset or VBORx (x=1 to 4) rising threshold depending on the VDD rising slope. The BOR0 power-on reset signal is driven by the falling edge of the VBOR0 threshold. A temporization tRSTTEMPO is shown between the falling edge of the VBOR0 threshold and the rising edge of the BOR0 power-on reset signal.
  1. 1. The reset temporization \( t_{RSTTEMPO} \) is present only for the BOR0 lowest threshold ( \( V_{BOR0} \) ).
  2. 2. The rising edge of the system reset NRST can be driven from the \( V_{BOR0} \) power-on reset or \( V_{BORx} \) ( \( x = 1 \) to \( 4 \) ) rising threshold depend on the \( V_{DD} \) rising slope.

11.6.2 Programmable voltage detector (PVD)

The PVD can be used to monitor the \( V_{DD} \) power supply by comparing it to a threshold selected by the PVDLS[2:0] bits in the PWR supply voltage monitoring control register (PWR_SVMCR) . Also the PVD can be used to monitor an analog signal on the PVD_IN I/O by comparing it to the \( V_{REFINT} \) threshold. The PVD is enabled by setting the PVDE bit.

A PVDO flag is available in the PWR supply voltage monitoring status register (PWR_SVMR) to indicate if \( V_{DD} \) is higher or lower than the PVD threshold. This event is internally connected to the EXTI and can generate an interrupt if enabled through the EXTI registers (refer to Table 97 ).

The rising/falling edge sensitivity of the EXTI line must be configured according to PVD output behavior. For example, if the EXTI line is configured to rising edge sensitivity, the interrupt is generated when \( V_{DD} \) drops below the PVD threshold. As an example the service routine can perform emergency shutdown tasks.

The PVD can remain active in Stop 0, Stop 1 modes, and the PVD interrupt can wake up the system from the Stop modes. The PVD is not functional in Standby mode.

Figure 31. PVD thresholds

Figure 31. PVD thresholds. A graph showing VDD and PVD output over time. The VDD line rises to a peak and then falls. The PVD output is high when VDD is below the threshold and low when VDD is above the threshold. The threshold is labeled VPVD threshold and the hysteresis is 100 mV.

The figure illustrates the relationship between the supply voltage \( V_{DD} \) and the PVD output. The top graph shows \( V_{DD} \) rising from a low value to a peak and then falling. Two horizontal dashed lines represent the threshold levels. The upper dashed line is the rising threshold, and the lower dashed line is the falling threshold, with a 100 mV hysteresis between them. The label \( V_{PVD} \) threshold is placed between these lines. Vertical dashed lines indicate the points where \( V_{DD} \) crosses these thresholds. The bottom graph shows the PVD output signal. It is high when \( V_{DD} \) is below the threshold and transitions to low when \( V_{DD} \) rises above the upper threshold. Conversely, it transitions from low to high when \( V_{DD} \) falls below the lower threshold.

Figure 31. PVD thresholds. A graph showing VDD and PVD output over time. The VDD line rises to a peak and then falls. The PVD output is high when VDD is below the threshold and low when VDD is above the threshold. The threshold is labeled VPVD threshold and the hysteresis is 100 mV.

11.7 PWR power management

11.7.1 PWR power modes

By default, the microcontroller is in Run mode range 2 and the 2.4 GHz RADIO in DeepSleep after a system or a power reset. Several low-power modes are available to save power when the CPU or peripherals do not need to be kept running, for example when waiting for an external event. It is up to the user to select the mode that gives the best compromise between low-power consumption, short startup time and available wake-up sources.

The device features these low-power modes:

Some peripherals are autonomous and can operate in Stop modes by requesting their kernel clock, and in Stop 0 mode also when requesting their bus clock when needed. When a peripheral requests its (APB or AHB) bus clock, for example to transfer data with GPDMA1, the device transitions from Stop 1 to Stop 0 mode.

The I2C, USART, LPUART, SPI, LPTIM, ADC, RTC can remain active in Stop modes when kernel clock is LSE, LSI, or HSI16. The 2.4 GHz RADIO can remain active in Stop 0 mode on its kernel clock HSE32. In Stop 0 mode the autonomous peripherals bus clock can remain active using HSI16.

The brownout reset (BOR) remains always active, and the PVD can be kept active in Stop modes. In Stop 1 mode the BOR0 can be configured in ultra-low power mode to further reduce power consumption.


Warning: Ultra-low power mode must not be used together with autonomous peripherals using HSI16 as kernel clock.


In Stop 0 mode, the regulator remains in main regulator mode, allowing a very fast wake-up time but with higher consumption compared with Stop 1.

The system clock when exiting from Stop mode is HSI16 at 16 MHz.

Refer to Section 11.7.6 , and Section 11.7.7 .

The Standby mode is used to achieve the lowest power consumption. The internal regulator is switched off so that the Core domain is powered off. The PLL, the HSI16 RC, and the HSE32 crystal oscillators are also switched off. The LSE or LSI can still run. The RTC and TAMPER can remain active in Standby modes when kernel clock is LSE or LSI.

The BOR always remains active in Standby mode. The BOR can be configured in ultra-low power mode to further reduce power consumption during standby mode.

The state of each I/O during Standby mode can be selected by software: I/O with internal pull-up, internal pull-down or floating.

When entering Standby mode register contents are lost except for registers in the Backup domain and Standby circuitry.

Optionally, the full SRAM1 and/or SRAM2 can be retained in Standby mode, supplied by the low-power regulator (Standby with retention mode).

Optionally, the 2.4 GHz RADIO sleep Timer, RXTXRAM, and sequence SRAM can be retained in Standby mode, supplied by the low-power regulator (Standby with retention mode).

The device exits Standby mode when an NRST pin external reset, an IWDG early interrupt or reset, WKUP pin event (configurable rising or falling edge), an RTC event occurs (alarm, periodic wake-up, timestamp), a TAMP tamper detection, or a 2.4 GHz RADIO sleep timer event (available only in Standby with retention mode). The tamper detection can be raised either due to external pins or due to an internal failure detection.

The system clock after wake-up is HSI16 16 MHz.

Refer to Section 11.7.8 .

The operating modes and transitions are shown in Figure 32 .

Figure 32. Operating modes

Figure 32. Operating modes diagram showing system and sub-system modes with transitions between Run, Stop 0, Stop 1, Standby retention, and Standby states.

Legend:

Transitions:

System modes details:

Notes:

  1. When the 2.4 GHz RADIO is active the range and SMPS/LDO operating mode cannot be changed. Any request to change power operating mode is delayed and takes effect only after the 2.4 GHz RADIO has entered Sleep mode.
  2. The 2.4 GHz RADIO can only change states DeepSleep, Sleep and Active by software, when the device is in Run mode. When the device moves to a low power mode the 2.4 GHz RADIO remains in its same mode. 2.4 GHz RADIO DeepSleep state is independent from the presence of power supply.
  3. BAM autonomous peripherals can operate on bus clock HSI16 and/or kernel clock LSE, LSI or HSI16.
  4. Autonomous peripherals can operate on kernel clock LSE, LSI or HSI16.
  5. Autonomous peripherals RTC, TAMP, 2.4 GHz RADIO sleep timer can operate on kernel clock LSE or LSI.
  6. Autonomous peripherals RTC, TAMP can operate on kernel clock LSE.
  7. For Standby entered from SMPS modes, wakeup is done to Run LDO-MR range 2 mode and a subsequent move to Run SMPS-LP range 2 mode is performed in hardware.
  8. Standby modes are entered regardless of autonomous peripherals kernel clock activity. It is up to software to select the correct low power mode with autonomous peripherals kernel clock activity.

MS55660V4

Figure 32. Operating modes diagram showing system and sub-system modes with transitions between Run, Stop 0, Stop 1, Standby retention, and Standby states.

Table 88 shows the power modes overview.

Table 88. Low-power mode summary

NameEntryWake-up source (1)Wake-up system clockEffect on clocksVoltage regulator (2)
SleepWFI or Return from ISRAny interruptSame as before entering Sleep modeCPU clock OFF
No effect on other clocks or analog clock sources
Main regulator range 1, 2 (SMPS or LDO)
WFE SEVONPEDND = 0Wake-up event
WFE SEVONPEDND = 1Any interrupt, wake-up event
Stop 0(LPMS = Stop 0 or autonomous peripheral bus clock request active) + SLEEPDEEP bit + WFI or Return from ISR or WFEAny EXTI line, autonomous peripherals, 2.4 GHz RADIO sleep timer event, IWDG event, RTC event, TAMP event, WKUP event, NRST external reset, BOR reset (only in Stop 0 range 1. HSECSS event)HSI16 at 16 MHzAll clocks OFF except LSE, LSI and HSI16 or HSE32 when requested as autonomous peripheral kernel or bus clockLow-power regulator (SMPS or LDO)
Stop 1(LPMS = Stop 1 and no autonomous peripheral bus clock request) + SLEEPDEEP bit + WFI or Return from ISR or WFEAll clocks OFF except LSE, LSI and HSI16 when requested as autonomous peripheral kernel clock.
Standby with retention(LPMS = Standby + (R[2:1]RSB or RADIORSB != 0) and no autonomous peripheral bus clock request and 2.4 GHz RADIO mode = Deepsleep) + SLEEPDEEP bit + WFI or Return from ISR or WFE2.4 GHz RADIO sleep timer event, IWDG event, RTC event, TAMP event, WKUP event, NRST external reset, BOR resetAll clocks OFF except LSI and LSEOFF
Standby(LPMS = Standby + (R[2:1]RSB and RADIORSB = 0) and no autonomous peripheral bus clock request and 2.4 GHz RADIO mode = Deepsleep) + SLEEPDEEP bit + WFI or Return from ISR or WFEIWDG event, RTC event, TAMP event, WKUP event, NRST external reset, BOR reset

1. Refer to Table 89 .

2. SMPS is available only on STM32WBA55xx devices.

Table 89. Functionalities depending on the working mode (1)
PeripheralRun/SleepStop 0Stop 1Standby retentionStandby
Range 1Range 2Range 1Range 2Wake-up capability-Wake-up capability-Wake-up capability-Wake-up capability
CPUAR-R----
ICACHEOR-R----
Flash memoryO (2)R-RR-R-
SRAM1AO-OO---
SRAM2AOYOO---
Backup registersAR-RR-R-
2.4 GHz RADIOORORYR-----
2.4 GHz RADIO SRAMOROR-R-O---
2.4 GHz RADIO Sleep timerOOOOYOYOY--
BORAAYAAYAY
PVDOOOO----
HSI16 clockOO (3)-O (3)----
HSE32 clockOO (4)--------
LSI clockOO-OO-O-
LSE clockOO-OO-O-
CSSHSE clock securityOO-Y------
CSSLSE clock securityOOYOOYOY
RTCOOYOOYOY
TAMPOOYOOYOY
GPIOOR (5)Y (6)-R (5)Y (6)R (7)Y (8)R (7)Y (8)
IWDGOOYOOYOY
GPDMA1OOYR (9)-----
USARTx (x = 1, 2 (10) )OOYO----
LPUART1OOYO----
I2Cx (x = 1 (10) , 3)OOYO----
SPIx (x= 1 (10) , 3)OOYO----
ADC4OOYO----
COMPx (11) (x = 1, 2)OOYO----
Temperature sensorOO (12)Y (12)-O (12)Y (12)----
Table 89. Functionalities depending on the working mode (1) (continued)
PeripheralRun/SleepStop 0Stop 1Standby retentionStandby
Range 1Range 2Range 1Range 2Wake-up capability-Wake-up capability-Wake-up capability-Wake-up capability
LPTIMx (x = 1, 2 (10) )OOYOY----
TIMx (x = 1, 2, 3 (10) , 16, 17 (10) )OR-R-----
SAI1 (11)OR-R-----
TSCOR-R-----
RNGOR-R-----
AESOR-R-----
SAES (10)OR-R-----
HSEMOR-R-----
PKAOR-R-----
HASHOR-R-----
CRCOR-R-----
WWDGOR-R-----
GTZC_TZSC (10)OR-R-----
GTZC_TZIC (10)OR-R-----
GTZC_MPCBB1 (10)OR-R-----
GTZC_MPCBB2 (10)OR-R-----
GTZC_MPCBB6 (10)OR-R-----
SysTick timerOR-R-----
DebugOO (13)-O (13)-O (14)-O (14)-
  1. 1. A = Active, Y = yes. O = optional (can be enabled/disabled by software). R = Retained, - = not available. Gray cells highlight the wake-up capability in each mode.
  2. 2. The flash memory can be configured in power-down mode.
  3. 3. Some peripherals with autonomous mode and wake-up from Stop capability can request HSI16 to be enabled. In this case, the oscillator is woken up by the peripheral, and is automatically put off when no peripheral needs it.
  4. 4. For the autonomous 2.4 GHz RADIO the HSE32 can be kept running.
  5. 5. GPIO pins from peripherals supporting autonomous mode are still operational.
  6. 6. Only GPIOs with enabled wake-up functionality in the EXTI or WKUP are able to wake up the system.
  7. 7. GPIO level retention in Standby modes can be enabled.
  8. 8. Only GPIOs with WKUP functionality are able to wake up the system.
  9. 9. BAM autonomous peripherals can wake up the GPDMA to perform data transfers.
  10. 10. Available only on STM32WBA52/4/5xx devices.
  11. 11. Available only on STM32WBA54/5xx devices.
  1. 12. Functional through ADC4 in autonomous mode.
  2. 13. DBGMCU remains accessible through AP0.
  3. 14. DBGMCU remains accessible through AP0 when CDBGPWURUPREQ is set.

Debug mode

By default, the debug connection is lost if the application puts the MCU in Stop and Standby modes while the debug features are used. This is because the Cortex-M33 core is no longer clocked or powered.

However, by setting some configuration bits in the DBGMCU control registers, the software can be debugged even when using the low-power modes extensively. For more details, refer to Section 45.2.5: DBG low-power modes .

11.7.2 PWR background autonomous mode (BAM)

The devices support a background autonomous mode (BAM). This allows autonomous peripherals to be functional on its bus and kernel clock in Stop 0 mode and on its kernel clock in Stop 0 and Stop 1 modes (when the CPU is in DeepSleep, not running any software). In Stop 1 mode, whenever an autonomous peripheral request its bus clock, Stop 0 mode is entered while the CPU remains in DeepSleep.

Stop 0 and Stop 1 modes

In Stop 0 and Stop 1 modes, the autonomous peripherals are ADC, LPTIM, USART, LPUART, SPI, I2C:

In Stop 0 mode the 2.4 GHz RADIO can operate autonomously on HSI16 used as bus clock and HSE32 used as kernel clock. The 2.4 GHz RADIO cannot be autonomous in Stop 1 mode.

When entering low-power modes Stop and Standby from Run and an autonomous peripheral bus clock request is active, Stop 0 mode is entered, regardless of the low-power mode selection in LPMS bits. Entering in the LPMS selected low-power mode (Stop 1 and Standby) is delayed until the autonomous peripheral bus clock request is released.

When in Stop 1 mode and an autonomous peripheral request its bus clock, Stop 0 mode is entered.

When in Stop 0 mode and all autonomous peripheral bus clock request are deactivated, the low-power mode selected in the LPMS bits is entered. Note that Standby modes can be entered only when the 2.4 GHz RADIO is in DeepSleep.

Note: As soon as the CPU enters Sleepdeep, the system enters Stop mode and the BAM operation autonomous peripheral bus clock and SYSCLK is switched to HSI16 at 16 MHz. If autonomous peripheral operation with higher bus clock frequencies is needed, the CPU must enter Sleep and keep the system in Run with the configured Run mode SYSCLK clock frequency.

BAM in Stop mode

BAM is supported by the autonomous peripherals with the following features:

The GPDMA1 is fully functional and the linked-list is updated in Stop 0 mode, allowing the different DMA transfers to be linked without any CPU intervention. This can be used to chain transfers between different peripherals, or to write peripheral registers, to change their configuration while in Stop 0 mode.

The DMA transfers from memory to memory can be started by hardware synchronous or asynchronous triggers, and the DMA transfers between peripherals and memories can also be gated by those triggers. In BAM in Stop mode only SRAM transfers are supported (flash memory transfers are not).

Here below some use-cases that can be done while remaining in Stop mode:

Here below some 2.4 GHz RADIO use-cases that can be done while remaining in Stop 0 mode range 1:

11.7.3 PWR Run mode

Slowing down system clocks

In Run mode, the speed of the system clocks (SYSCLK, hclk, pclk) can be reduced by programming the prescaler registers. These prescalers can also be used to slow down the peripherals before entering the Sleep mode.

For more details, refer to Section 12: Reset and clock control (RCC) .

In addition to slowing down the system clocks, the voltage range can be changed. When the system clocks frequency is low enough range 2 may be entered.

Peripheral clock gating

In Run mode, the hclk and pclk for individual peripherals and memories can be stopped at any time to reduce the power consumption. The peripheral clock gating is controlled by the RCC_AHBxENR and RCC_APBxENR registers.

In Sleep and Stop modes, the hclk and pclk for individual peripherals and memories can be stopped automatically. The Sleep and Stop mode peripheral clock gating is controlled by the RCC_AHBxSMENR and RCC_APBxSMENR registers. For autonomous peripherals to be able to request their clocks the peripheral bus clock in Sleep and Stop mode must be enabled. Except for the 2.4 GHz RADIO, which requests its bus clock independently from the setting in the RADIOEN and RADIOSMEN register bits.

For the 2.4 GHz RADIO the bus clock is running only in Sleep and Stop modes when the STRADIOCLKON is set, or when the 2.4 GHz RADIO is active and RADIOEN and RADIOSMEN are set.

11.7.4 PWR low-power modes

Entering into a low-power mode

The MCU enters in low-power modes by

Entering into a low-power mode through WFI or WFE is executed only if no interrupt is pending or no event is pending.

Software must enter Low-power Stop and Standby modes only when voltage scaling is ready (ACTVOSRDY = 1).

When an autonomous peripheral bus clock request is active only Stop 0 is entered, regardless of the low-power mode set in LPMS register bits.

Standby modes are entered only when the 2.4 GHz RADIO is in Deep sleep mode.

Exiting a low-power mode

The way the CPU exits the Sleep or Stop mode depends on the way the low-power mode was entered:

When SEVONPEND = 0 in the Cortex-M33 system control register

By enabling an interrupt in the peripheral control register and in the NVIC. When the CPU resumes from WFE, the peripheral interrupt pending bit and the NVIC peripheral IRQ channel pending bit (in the NVIC interrupt clear pending register) must be cleared. Only NVIC interrupts with high enough priority wake up and interrupt the CPU.

When SEVONPEND = 1 in the Cortex-M33 system control register

By enabling an interrupt in the peripheral control register and optionally in the NVIC. When the CPU resumes from WFE, the peripheral interrupt pending bit and when enabled the NVIC peripheral IRQ channel pending bit (in the NVIC interrupt clear pending register) must be cleared. All NVIC interrupts wake up the MCU, even the disabled ones. Only enabled NVIC interrupts with high enough priority wake up and interrupt the CPU.

Configuring an EXTI line in event mode. When the CPU resumes from WFE, it is not necessary to clear the EXTI peripheral interrupt pending bit or the NVIC IRQ channel pending bit as the pending bits corresponding to the event line is not set. It may be necessary to clear the interrupt flag in the peripheral.

The CPU exits Standby mode through a reset. After waking up from Standby mode, the program execution restarts in the same way as after a reset (boot pin sampling, option bytes loading, reset vector is fetched).

Caution: When the device is in Stop mode, a peripheral interrupt powers on an internal oscillator. The corresponding NVIC interrupt channel must be enabled to allow the interrupt to wake up the CPU from Stop mode. It is not allowed to disable a peripheral interrupt by disabling only the NVIC channel while keeping the peripheral interrupt enable, as the device could remain in Stop mode with clock ON.

The peripherals with autonomous mode feature are able to generate an AHB or APB clock request when the device is in Stop mode, depending on their internal events. The software must ensure that either DMA transfer or interrupt is served, by configuring properly and in a consistent way the RCC, the autonomous peripherals, the DMA channels, and NVIC. Note that when an autonomous peripheral requests the bus clock in Stop mode, the AHB, and APB clocks are distributed to all enabled peripherals on the same AHB or APB bus. Consequently, enabled peripherals, even without autonomous mode capability, are temporarily clocked and can also generate an interrupt during this time. These interrupts also wake up the device from Stop mode.

11.7.5 PWR Sleep mode

I/O states in Sleep mode

In Sleep mode, all I/O pins keep the same state as in Run mode. In addition I/O pins can be toggled through DMA or other active communication peripherals.

To further reduce the power consumption in Sleep mode, disabling the peripherals clocks in Sleep mode can be performed automatically by resetting the corresponding bit in the RCC_AHBxSMENR and RCC_APBxSMENR registers.

Entering the Sleep mode

The MCU enters the Sleep mode as described in Entering into a low-power mode , when the SLEEPDEEP bit in the Cortex-M33 system control register is clear (see the table below for details on how to enter the Sleep mode).

Exiting the Sleep mode

The MCU exits the Sleep mode as described in Exiting a low-power mode (see the table below for details on how to exit the Sleep mode).

Table 90. Sleep mode

Sleep modeDescription
Mode entry

WFI (wait for interrupt) or WFE (wait for event) while:

  • – SLEEPDEEP bit is cleared in Cortex-M33 system control register
  • – No interrupt (for WFI) or event (for WFE) pending

On return from ISR while:

  • – SLEEPDEEP bit is cleared in Cortex-M33 system control register
  • – SLEEPONEXIT = 1
  • – No interrupt pending
Mode exit

If WFI or Return from ISR was used for entry

Interrupt (see Table 135: Vector table )

If WFE was used for entry and SEVONPEND = 0:

Wake-up event (see Section 19.3: EXTI functional description )

If WFE was used for entry and SEVONPEND = 1:

Interrupt even when disabled in NVIC (see Table 135: Vector table ) or wake-up event (see Section 19.3: EXTI functional description )

Wake-up latencyNone

11.7.6 PWR Stop 0 mode

The Stop mode is based on the CPU1 Cortex ® -M33 Sleepdeep mode combined with peripheral clock gating. The voltage regulator configuration as used in Run mode remains the same in Stop 0 mode. In Stop mode, all clocks in the Core domain are stopped. The PLL, HSI16 and HSE32 oscillators are disabled.

Some peripherals with autonomous capability can switch on HSI16 or HSE32 for transferring data (see Section 11.7.2 for details). Autonomous capable peripherals using HSE32 require the use of Stop 0 mode range 1.

To reduce the power consumption in Stop mode, disabling the peripherals clocks can be performed automatically by resetting the corresponding bit in the RCC_AHBxSMENR and RCC_APBxSMENR registers. This bit must be set for the autonomous peripherals requesting clocks in Stop mode.

All register contents are preserved, SRAM1 and/or SRAM2 can totally or not be retained to further reduce consumption.

I/O states in Stop 0 mode

In the Stop 0 mode, all I/O pins keep the same state as in the Run mode. In addition, I/O pins can be toggled through DMA or other autonomous communication peripherals.

Entering the Stop 0 mode

The MCU enters the Stop 0 mode as described in Entering into a low-power mode , when the SLEEPDEEP bit in the Cortex-M33 system control register is set. The regulator is kept in the same regulation mode and voltage scaling range as used in Run mode. (see the table below for details on how to enter the Stop 0 mode).

If the flash memory programming is ongoing, the Stop 0 mode entry is delayed until the memory access is finished.

If an access to the APB domain is ongoing, the Stop 0 mode entry is delayed until the APB access is finished.

In Stop 0 mode, the following features can be selected by programming the individual control bits:

Several peripherals can be autonomous in Stop 0 mode, increasing power consumption if enabled (see Section 11.7.2 for more details).

The COMPs and the PVD can be used in Stop mode. If not needed, they must be disabled by software to reduce power consumption.

The ADC4 and the temperature sensor can consume power during the Stop 0 mode, unless they are disabled before entering the mode.

Entering Stop 1 and Standby modes from Stop 0

When entering low-power with Stop 1 or Standby selected in LPMS and an autonomous peripheral bus clock request is active, Stop 0 mode is entered instead. Only when all autonomous peripheral bus clock requests are de-asserted the LPMS selected low-power mode is subsequently entered.

Exiting the Stop 0 mode

The MCU exits the Stop 0 mode as described in Exiting a low-power mode (see Table 91 ).

When exiting Stop 0 mode by issuing an interrupt or a wake-up event, HSI16 is selected as system clock.

Several peripherals are autonomous in Stop mode, and can generate interrupts with wake-up from Stop capability. All peripheral clocks must be enabled to allow a wake-up from Stop interrupt (see Peripheral clock gating ).

When exiting the Stop 0 mode, the MCU is in Run mode same range as before entering Stop 0 mode.

The MCU can enter another low-power mode, as selected in LPMS, from the Stop 0 mode when all autonomous peripheral bus clocks requests are de-asserted.

Table 91. Stop 0 mode

Stop 0 modeDescription
Mode entry from Run

WFI (wait for interrupt) or WFE (wait for event) while:

  • – SLEEPDEEP bit is set in Cortex-M33 system control register
  • – No interrupt (for WFI) or event (for WFE) pending

On Return from ISR while:

  • – SLEEPDEEP bit is set in Cortex-M33 system control register
  • – SLEEPONEXIT = 1
  • – No interrupt pending

– LPMS = Stop 0 in PWR_CR1 or autonomous peripheral bus clock request is active

Note: To enter Stop 0 mode, all EXTI line pending bits (in the EXTI rising edge pending register (EXTI_RPR1) and EXTI falling edge pending register (EXTI_FPR1) ), and the peripheral flags generating wake-up interrupts must be cleared. Otherwise, the Stop 0 mode entry procedure is ignored and the program execution continues.

Mode entry from Stop 1Autonomous peripheral bus clock request active

Table 91. Stop 0 mode (continued)

Stop 0 modeDescription
Mode exit to Run

If WFI or Return from ISR was used for entry:

  • - any EXTI line configured in interrupt mode (the corresponding EXTI interrupt vector must be enabled in the NVIC). The interrupt source can be external interrupts or peripherals with wake-up capability (see Table 135: Vector table ).
  • - 2.4 GHz RADIO sleep timer event, WKUPx event, RTC event, TAMP event, IWDG event, NRST external reset, BOR reset
  • - any peripheral interrupt occurring when the AHB/APB clocks are present due to an autonomous peripheral clock request (the peripheral vector must be enabled in the NVIC)
  • - In addition only from Stop 0 range 1, 2.4 GHz RADIO interrupt and HSECSS interrupt

If WFE was used for entry and SEVONPEND = 0:

If WFE was used for entry and SEVONPEND = 1:

  • - any EXTI line configured in interrupt mode (even if the corresponding EXTI interrupt vector is disabled in the NVIC). The interrupt source can be external interrupts or peripherals with wake-up capability (see Table 135: Vector table ).
  • - any EXTI line is configured in event mode (see Section 19.3: EXTI functional description )
  • - 2.4 GHz RADIO sleep timer event, WKUPx event, RTC event, TAMP event, IWDG event, NRST external reset, BOR reset
  • - any peripheral interrupt occurring when the AHB/APB clocks are present due to an autonomous peripheral clock request (the peripheral vector must be enabled in the NVIC)
  • - In addition only from Stop 0 range 1, 2.4 GHz RADIO interrupt and HSECSS interrupt

Note: All peripheral clocks must be enabled to allow this peripheral to generate a wake-up from Stop interrupt (peripheralEN, and peripheralSMEN bits must be set in the RCC, and a functional independent clock must be selected).

Mode exit to low-power modesAll autonomous peripheral bus clock requests de-asserted.
Wake-up latencyHSI16 wake-up time when applicable and flash wake-up time from Stop 0 mode.

11.7.7 PWR Stop 1 mode

The Stop 1 mode is the same as Stop 0 mode except that the regulator is in low-power mode and voltage scaling is set to range 2. (see the table below for details on how to enter and exit Stop 1 mode).

The BOR is always available in Stop 1 mode. When not using autonomous peripherals operation with HSI16 as kernel clock, the BOR0 can be forced in ultra-low power mode by the ULPMEN bit in the PWR_CR1 to reach the lowest power consumption.

Entering the Stop 1 mode

The MCU enters the Stop 1 mode in the same way as entering Stop 0. Whenever an autonomous peripheral bus clock request is active, Stop 1 mode is not entered and Stop 0 mode is entered instead.

Entering the Stop 0 mode from Stop 1

When in low-power Stop 1 mode an autonomous peripheral bus clock request is activated, Stop 0 mode range 2 is entered, with HSI16 as system clock and HDIV5 is set to divide by 2 by hardware.

Exiting the Stop 1 mode

The MCU exits the Stop 1 mode as described in Exiting a low-power mode (see Table 92 ).

When exiting Stop 1 mode by issuing an interrupt or a wake-up event, Run range 2 with HSI16 selected as system clock and HDIV5 is set to divide by 2 by hardware. Before entering Stop 1 mode software must configure adequate FLASH wait states latency to at least 1 in FLASH_ACR register and SRAM1 and SRAM2 wait states to at least 1 in RAMCFG_MxCR.

Table 92. Stop 1 mode

Stop 1 modeDescription
Mode entry

WFI (wait for interrupt) or WFE (wait for event) while:

  • – SLEEPDEEP bit is set in Cortex-M33 system control register
  • – No interrupt (for WFI) or event (for WFE) pending

On Return from ISR while:

  • – SLEEPDEEP bit is set in Cortex-M33 system control register
  • – SLEEPONEXIT = 1
  • – No interrupt pending

– LPMS = Stop 1 in PWR_CR1 and all autonomous peripheral bus clock requests de-asserted.

– LPMS = Standby in PWR_CR1 and all autonomous peripheral bus clock requests de-asserted and 2.4 GHz RADIO not in DeepSleep.

Note: To enter Stop 1 mode, all EXTI line pending bits (in the EXTI rising edge pending register (EXTI_RPR1) and EXTI falling edge pending register (EXTI_FPR1) ), and the peripheral flags generating wake-up interrupts must be cleared. Otherwise, the Stop 1 mode entry procedure is ignored and the program execution continues.

Table 92. Stop 1 mode (continued)

Stop 1 modeDescription
Mode exit to Run

If WFI or Return from ISR was used for entry

  • - any EXTI line configured in interrupt mode (the corresponding EXTI interrupt vector must be enabled in the NVIC). The interrupt source can be external interrupts or peripherals with wake-up capability (see Table 135: Vector table ).
  • - 2.4 GHz RADIO sleep timer event, WKUPx event, RTC event, TAMP event, IWDG event, NRST external reset, BOR reset
  • - any peripheral interrupt occurring when the AHB/APB clocks are present due to an autonomous peripheral clock request (the peripheral vector must be enabled in the NVIC)

If WFE was used for entry and SEVONPEND = 0:

If WFE was used for entry and SEVONPEND = 1:

  • - any EXTI line configured in interrupt mode (even if the corresponding EXTI interrupt vector is disabled in the NVIC). The interrupt source can be external interrupts or peripherals with wake-up capability (see Table 135: Vector table ).
  • - any EXTI line is configured in event mode (see Section 19.3: EXTI functional description )
  • - 2.4 GHz RADIO sleep timer event, WKUPx event, RTC event, TAMP event, IWDG event, NRST external reset, BOR reset
  • - any peripheral interrupt occurring when the AHB/APB clocks are present due to an autonomous peripheral clock request (the peripheral vector must be enabled in the NVIC)

Note: All peripheral clocks must be enabled to allow this peripheral to generate a wake-up from Stop interrupt (peripheralEN and peripheralSMEN bits must be set in the RCC, and a functional independent clock must be selected).

Mode exit to Stop 0Autonomous peripheral bus clock request active.
Wake-up latencyHSI16 wake-up time and regulator wake-up time from low-power mode + Flash wake-up time from Stop 1 mode.

11.7.8 PWR Standby mode

It is based on the Cortex-M33 Sleepdeep mode, with the voltage regulators disabled (except when SRAM1, SRAM2, 2.4 GHz RADIO RAMs or sleep timer are retained). The PLL, HSI16 and HSE32 oscillators are also switched off.

The register contents are lost except for SRAMs and registers in the retention domain when enabled and the Backup domain and Standby circuitry (see Figure 28 ). SRAM1, SRAM2 content can fully be preserved depending on R1RSB1 and R2RSB1 bit configuration in PWR_CR1. In this case, the low-power regulator is ON and provides the supply to SRAM1 and/or SRAM2. Also the 2.4 GHz RADIO SRAMs can be retained, and the sleep timer kept operational depending on RADIORSB bit configuration in PWR_CR1.

The BOR is always available in Standby mode. The ULPMEN bit in the PWR_CR1 register must be configured to 1 to reach the lowest power consumption by forcing the BOR0 in ultra-low power mode.

I/O states in Standby mode

In the Standby mode, the GPIOs are by default in floating state. If Standby GPIO retention is enabled in the PWR_IORETENRx register, the GPIO retains the pull or output level. When entering Standby mode, GPIOs that are enabled for Standby mode retention keep their pull or level during and after exiting from Standby mode until the PWR_IORETRx bit is cleared by software. When entering Standby mode the PWR_IORETRx bit is set by hardware for the GPIOs with Standby retention enabled. The PWR_IORETRx only controls the pulls, it does not affect the GPIO analog, input and output states. When exiting from Standby and before re-enabling a GPIO as output, the output level must be restored to the one retained. To do this, first enable the GPIO as input and copy the input data from GPIOx_IDR to the GPIOx_ODR, before setting the GPIO as output. Once the GPIO is reconfigured, disable the retained pulls in PWR_IORETRx.

The GPIO standby retention enable information in PWR_IORETENRx and PWR_IORETRx are retained in Standby mode.

Note: The Standby GPIO retention level cannot be guaranteed when the GPIO port pin is connected to a low impedance destination.

Table 93. GPIO retention pin with pull-up and pull-down

PWR_IORETENGPIO port pin configuration before entering StandbyGPIO port pin configuration in Standby
0AnyHigh-Z
1Input no pullsHigh-Z
Input or output with pull-upPull-up
Input or output with pull-downPull-down
Output no pulls driving level highPull-up
Output no pulls driving level lowPull-down

For GPIO port pins enabled to be functional in Standby modes, the Standby GPIO retention can also be controlled in the PWR_IORETENRx register. The following GPIO functions are available in Standby modes:

When waking up from Standby with a system reset (NRST) GPIO retention is removed before software can reconfigure the GPIO port pins in the GPIO peripheral.

Entering Standby mode

The MCU enters the Standby mode as described in Entering into a low-power mode , when the SLEEPDEEP bit in the Cortex-M33 System Control register is set (see Table 94 ).

Whenever an autonomous peripheral bus clock request is active, Standby mode is not entered and Stop 0 mode is entered instead.

Standby mode is entered only when the 2.4 GHz RADIO is in DeepSleep mode. Whenever the 2.4 GHz RADIO is in Active or Sleep modes, Stop 0 mode is entered instead.

In Standby mode, the following features can be selected by programming individual control bits:

Exiting Standby mode

The MCU exits the Standby mode as described in Exiting a low-power mode . The SBF status flag in the PWR status register (PWR_SR) indicates that the MCU was in Standby mode (see Table 94 for more details on how to exit Standby mode).

Table 94. Standby mode

Standby modeDescription
Mode entry

WFI (wait for interrupt) or WFE (wait for event) while:

  • – SLEEPDEEP bit is set in Cortex-M33 system control register
  • – No interrupt (for WFI) or event (for WFE) pending

On Return from ISR while:

  • – SLEEPDEEP bit is set in Cortex-M33 system control register
  • – SLEEPONEXIT = 1
  • – No interrupt pending

– LPMS = Standby in PWR_CR1 and all autonomous peripheral bus clock requests de-asserted and the 2.4 GHz RADIO in DeepSleep.

– WUFx bits cleared in PWR_WUSR

– RTC and TAMP flags corresponding to the chosen wake-up source cleared

– 2.4 GHz RADIO sleep timer wake-up source cleared.

Note: To enter Standby mode, all EXTI line pending bits (in the EXTI rising edge pending register (EXTI_RPR1) and EXTI falling edge pending register (EXTI_FPR1) ), and the peripheral flags generating wake-up interrupts must be cleared. Otherwise, the Standby mode entry procedure is ignored and the program execution continues.

Table 94. Standby mode

Standby modeDescription
Mode exitWKUPx event, RTC event, TAMP event, IWDG event, NRST external reset, BOR reset
In addition only from Standby retention 2.4 GHz RADIO sleep timer event.
Wake-up latencyReset phase

11.7.9 Power modes output pins

To help the debug, two signals are available as device pins alternate functions:

When set, indicates that the CPU is in Sleep mode:

When cleared, indicates that the CPU is in Run mode.

When set, indicates that the device is in Stop mode, meaning that the following conditions are true:

When cleared, indicates that the device is in Run or Sleep mode with AHB/APB clocked.

Note: After WFI or WFE has been executed the SYSCLK clock is kept running in Stop 0 mode when an autonomous peripheral requests its bus clock. The peripherals bus clock request can prevent the device to enter the selected low-power mode, which enters Stop 0 mode instead. (refer to Section 11.7.2 and Section 11.7.4 ).

Table 95 explains the MCU power mode depending on these signals states.

Table 95. Power modes output states versus MCU power modes

PWR_CSLEEPPWR_CSTOPMCU power modes (1)
00Run mode (CPU executing)
10Sleep mode (CPU Sleep)
X1Stop mode (MCU in Stop mode)
  1. 1. PWR_CSLEEP and PWR_CSTOP are generated in the Core domain, consequently they are not driven in Standby mode.

11.8 PWR security and privileged protection

11.8.1 PWR security protection

TrustZone security is activated by the TZEN user option bit in the FLASH_OPTR. Some PWR register fields can be secured against non-secure access.

The PWR TrustZone security allows the following features to be secured through the PWR_SECCFGR register:

Other PWR configuration bits are secure when:

If SPRIV is set in the PWR privilege control register (PWR_PRIVCFGR) , the PWR_SECCFGR register can be written only by secure and privileged access. If SPRIV is cleared, PWR_SECCFGR can be written only by secure access, privileged, or unprivileged.

PWR_SECCFGR can be read by secure, non-secure, privileged, and unprivileged access.

A non-secure write access to PWR_SECCFGR is WI and generates an illegal access event and an interrupt if enabled in the GTZC.

When the TrustZone security is disabled (TZEN = 0), PWR_SECCFGR is RAZ/WI and all other registers are non-secure.

When a peripheral is configured as secure, its related PWR feature control bits, are also secure in the associated registers. PWR_PUCRx, PWR_PDCRx, PWR_RADIOSCR, and PWR_VOSR.

A peripheral is secure when:

Table 96 gives a summary of the PWR secured bits following the security configuration bit in PWR_SECCFGR.

A non-secure access to a secure-protected register bit is denied:

Table 96. PWR security configuration summary

Secure configuration registerSecurity configuration bitRegister nameSecured bitsNon-secure access on secure bits
PWR_SECCFGRNot applicable (1)PWR_SECCFGRAll bitsRead OK.
WI and illegal access event
PWR_SECCFGRNot applicable (2)PWR_PRIVCFGRSPRIVRead OK. WI
PWR_SECCFGRLPMSECPWR_CR1All bitsRAZ/WI
PWR_CR2All bits
PWR_SRCSSFWI

Table 96. PWR security configuration summary (continued)

Secure configuration registerSecurity configuration bitRegister nameSecured bitsNon-secure access on secure bits
PWR_SECCFGRVDMSECPWR_CR3All bitsRAZ/WI
PWR_SVMCRAll bitsRAZ/WI
PWR_SECCFGRVBSECPWR_DBPRAll bitsRAZ/WI
PWR_SECCFGRWUPxSEC
(x = 1 to 8)
PWR_WUCR1WUPENxRAZ/WI
PWR_WUCR2WUPPxRAZ/WI
PWR_WUCR3WUSELxRAZ/WI
PWR_WUSCRCWUFXWI
GTZC_TZSC_
SECCFGR
RADIOSECPWR_RADIOSCRREGPABYPENRAZ/WI
REGPASELRAZ/WI
RCC_SECCFGRSYSCLKSECPWR_VOSRVOSRAZ/WI
GPIOx_SECCFGR
(x = A to C and H)
SECy (y = 0 to 15)PWR_IORETENRxENyRAZ/WI
PWR_IORETRxRETyRAZ/WI
  1. 1. PWR_SECCFGR is always secure.
  2. 2. PWR_PRIVCFGR.SPRIV is always secure.

11.8.2 PWR privileged protection

By default, after a reset, all PWR registers can be read or written with both privileged and unprivileged accesses, except PWR_PRIVCFGR that can be written with privileged access only. PWR_PRIVCFGR can be read by secure and non secure, privileged, and unprivileged accesses.

The SPRIV bit in PWR_PRIVCFGR can be written with secure privileged access only. This bit configures the privileged access of all PWR secure functions (defined by PWR_SECCFGR, GTZC, RCC, or GPIO as shown in Table 96 ).

When the SPRIV bit is set in PWR_PRIVCFGR:

The NSPRIV bit of PWR_PRIVCFGR can be written with privileged access only, secure or non-secure. This bit configures the privileged access of all PWR securable functions that are configured as non-secure (defined by PWR_SECCFGR, GTZC, RCC, or GPIO as shown in Table 96 ).

When the NSPRIV bit is set in PWR_PRIVCFG:

11.9 PWR interrupts

Table 97 gives a summary of the interrupt sources, and how to control them.

Table 97. PWR interrupt requests

Interrupt vectorInterrupt eventEvent flagEnable control bitInterrupt clear methodExit Sleep, Stop 0, 1 modesExit Standby retention modeExit Standby modes
WKUPExternal WKUPWUFxWUPENxCWUFxYesYesYes
WKUP_S (1)External secure WKUPWUFxWUPENxCWUFx
PVDProgrammable voltage detector through EXTI line 16PVDOEXTI line 16 enabledEXTI PIF16YesNoNo
  1. 1. The WKUP_S secure interrupt is used only when trustZone is enabled.

11.10 PWR registers

11.10.1 PWR control register 1 (PWR_CR1)

Address offset: 0x000

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

Access to this register can be protected by bits LPMSEC and SPRIV or NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.R1RSB1Res.Res.RADIOSBRes.ULPMENRes.R2RSB1Res.Res.LPMS[2:0]
rwrwrwrwrwrwrw

Bits 31:13 Reserved, must be kept at reset value.

Bit 12 R1RSB1 : SRAM1 retention in Standby mode

This bit is used to keep the SRAM1 content in Standby retention mode.

0: SRAM1 content not retained in Standby mode

1: SRAM1 content retained in Standby mode

Bits 11:10 Reserved, must be kept at reset value.

Bit 9 RADIOSB : 2.4 GHz RADIO SRAMs (RXTXRAM and Sequence RAM) and Sleep clock retention in Standby mode.

This bit is used to keep the 2.4 GHz RADIO SRAMs content in Standby retention mode and the 2.4 GHz RADIO sleep timer counter operational.

0: 2.4 GHz RADIO SRAMs and sleep timer content not retained in Standby mode

1: 2.4 GHz RADIO SRAMs and sleep timer content retained in Standby mode

Bit 8 Reserved, must be kept at reset value.

Bit 7 ULPMEN : BOR0 ultra-low power mode.

This bit is used to reduce the consumption by configuring the BOR0 in discontinuous mode for Stop 1 and Standby modes. Discontinuous mode is available only when BOR levels 1 to 4 and PVD are disabled.

0: BOR0 operating in continuous (normal) mode in all operating modes

1: BOR0 operating in discontinuous (ultra-low power) mode in Stop 1 and Standby modes.

Note: This bit must be set to reach the lowest power consumption in the low-power modes, and not set together with autonomous peripherals using HSI16 as kernel clock.

Note: When BOR level 1 to 4 or PVD is enabled continuous mode applies independently from ULPMEN.

Bit 6 Reserved, must be kept at reset value.

Bit 5 R2RSB1 : SRAM2 retention in Standby mode

This bit is used to keep the SRAM2 content in Standby retention mode.

0: SRAM2 content not retained in Standby mode

1: SRAM2 content retained in Standby mode

Bits 4:3 Reserved, must be kept at reset value.

Bits 2:0 LPMS[2:0] : Low-power mode selection

These bits select the low-power mode entered when the CPU enters the SleepDeep mode.

000: Stop 0 mode

001: Stop 1 mode

10x: Standby mode

Others: reserved

11.10.2 PWR control register 2 (PWR_CR2)

Address offset: 0x004

Reset value: 0x0000 0000

Access to this register can be protected by bits LPMSEC and SPRIV or NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.FLASHF
WU
Res.Res.Res.Res.Res.ICRAM
PDS
Res.Res.Res.SRAM2
PDS1
Res.Res.Res.SRAM1
PDS1
rwrwrwrw

Bits 31:15 Reserved, must be kept at reset value.

Bit 14 FLASHFWU : Flash memory fast wake-up from Stop modes (Stop 0, 1)

This bit is used to obtain the best trade-off between low-power consumption and wake-up time when exiting the Stop 0 or Stop 1 modes.

When this bit is set, the flash memory remains in normal mode in Stop 0 and Stop 1 modes, which offers a faster startup time with higher consumption.

0: Flash memory enters low-power mode in Stop 0 and Stop 1 modes (lower power consumption).

1: Flash memory remains in normal mode in Stop 0 and Stop 1 modes (faster wake-up time).

Bits 13:9 Reserved, must be kept at reset value.

Bit 8 ICRAMPDS : ICACHE SRAM power-down in Stop modes (Stop 0, 1)

0: ICACHE SRAM content retained in Stop modes

1: ICACHE SRAM content lost in Stop modes

Bits 7:5 Reserved, must be kept at reset value.

Bit 4 SRAM2PDS1 : SRAM2 power-down in Stop modes (Stop 0, 1)

0: SRAM2 content retained in Stop modes

1: SRAM2 content lost in Stop modes

Note: The SRAM2 retention in Standby mode is controlled by R2RSB1 bit in PWR_CR1.

Bits 3:1 Reserved, must be kept at reset value.

Bit 0 SRAM1PDS1 : SRAM1 power-down in Stop modes (Stop 0, 1)

0: SRAM1 content retained in Stop modes

1: SRAM1 content lost in Stop modes

Note: The SRAM1 retention in Standby mode is controlled by R1RSB1 bit in PWR_CR1.

11.10.3 PWR control register 3 (PWR_CR3)

Address offset: 0x008

Power-on reset value: 0x0000 0000 (reset value not affected by exit Standby mode, not affected by system reset, except REGSEL)

Access: 14 AHB clock cycles added compared to a standard AHB access

Access to this register can be protected by bits VDMSEC and SPRIV or NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FSTENREGSELRes.
rwrw

Bits 31:3 Reserved, must be kept at reset value.

Bit 2 FSTEN : Fast soft start

0: LDO/SMPS fast startup disabled (limited inrush current after system reset and wake-up from Standby)

1: LDO/SMPS fast startup enabled

Bit 1 REGSEL : Regulator selection

0: LDO selected

1: SMPS selected

Note that this bit is reserved on STM32WBA50/52/54xx devices.

Bit 0 Reserved, must be kept at reset value.

11.10.4 PWR voltage scaling register (PWR_VOSR)

Address offset: 0x00C

Reset value: 0x0000 8000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VOS
rw
1514131211109876543210
VOS RDYRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
r

Bits 31:17 Reserved, must be kept at reset value.

Bit 16 VOS : Voltage scaling range selection

Set a and cleared by software.

Cleared by hardware when entering Stop 1 mode.

Access can be secured by RCC SYSCLKSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with bit SPRIV or when non-secure with bit NSPRIV.

0: Range 2 (lowest power)

1: Range 1 (highest frequency).

Bit 15 VOSRDY : Ready bit for V CORE voltage scaling output selection

Set and cleared by hardware. When decreasing the voltage scaling range, VOSRDY must be one before increasing the SYSCLK frequency.

0: Not ready, voltage level < VOS selected level

1: Ready, voltage level ≥ VOS selected level

Bits 14:0 Reserved, must be kept at reset value.

11.10.5 PWR supply voltage monitoring control register (PWR_SVMCR)

Address offset: 0x010

Reset value: 0x0000 0000

Access to this register can be protected by bits VDMSEC and SPRIV or NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.PVDLS[2:0]PVDERes.Res.Res.Res.
rwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:5 PVDLS[2:0] : Programmable voltage detector level selection

These bits select the threshold detected by the programmable voltage detector:

000: V PVD0 ~ 2.0 V

001: V PVD1 ~ 2.2 V

010: V PVD2 ~ 2.4 V

011: V PVD3 ~ 2.5 V

100: V PVD4 ~ 2.6 V

101: V PVD5 ~ 2.8 V

110: V PVD6 ~ 2.9 V

111: External input analog voltage PVD_IN (compared internally to VREFINT). The I/O used as PVD_IN input must be configured in analog mode in the GPIO register.

Bit 4 PVDE : Programmable voltage detector enable

0: Programmable voltage detector disabled

1: Programmable voltage detector enabled

Bits 3:0 Reserved, must be kept at reset value.

11.10.6 PWR wake-up control register 1 (PWR_WUCR1)

Address offset: 0x014

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.WUP EN8WUP EN7WUP EN6WUP EN5WUP EN4WUP EN3WUP EN2WUP EN1
rwrwrwrwrwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bit 7 WUPEN8 : Wake-up and interrupt pin WKUP8 enable

Access can be secured by WUP8SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Wake-up and interrupt pin WKUP8 disabled

1: Wake-up and interrupt pin WKUP8 enabled

Bit 6 WUPEN7 : Wake-up and interrupt pin WKUP7 enable

Access can be secured by WUP7SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Wake-up and interrupt pin WKUP7 disabled

1: Wake-up and interrupt pin WKUP7 enabled

Bit 5 WUPEN6 : Wake-up and interrupt pin WKUP6 enable

Access can be secured by WUP6SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Wake-up and interrupt pin WKUP6 disabled

1: Wake-up and interrupt pin WKUP6 enabled

Bit 4 WUPEN5 : Wake-up and interrupt pin WKUP5 enable

Access can be secured by WUP5SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Wake-up and interrupt pin WKUP5 disabled

1: Wake-up and interrupt pin WKUP5 enabled

Bit 3 WUPEN4 : Wake-up and interrupt pin WKUP4 enable

Access can be secured by WUP4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Wake-up and interrupt pin WKUP4 disabled

1: Wake-up and interrupt pin WKUP4 enabled

Bit 2 WUPEN3 : Wake-up and interrupt pin WKUP3 enable

Access can be secured by WUP3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Wake-up and interrupt pin WKUP3 disabled

1: Wake-up and interrupt pin WKUP3 enabled

Bit 1 WUPEN2 : Wake-up and interrupt pin WKUP2 enable

Access can be secured by WUP2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Wake-up and interrupt pin WKUP2 disabled

1: Wake-up and interrupt pin WKUP2 enabled

Bit 0 WUPEN1 : Wake-up and interrupt pin WKUP1 enable

Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Wake-up and interrupt pin WKUP1 disabled

1: Wake-up and interrupt pin WKUP1 enabled

11.10.7 PWR wake-up control register 2 (PWR_WUCR2)

Address offset: 0x018

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.WUPP
8
WUPP
7
WUPP
6
WUPP
5
WUPP
4
WUPP
3
WUPP
2
WUPP
1
rwrwrwrwrwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bit 7 WUPP8 : Wake-up pin WKUP8 polarity

This bit must be configured when WUPEN8 = 0.

Access can be secured by WUP8SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 6 WUPP7 : Wake-up pin WKUP7 polarity

This bit must be configured when WUPEN7 = 0.

Access can be secured by WUP7SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 5 WUPP6 : Wake-up pin WKUP6 polarity

This bit must be configured when WUPEN6 = 0.

Access can be secured by WUP6SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 4 WUPP5 : Wake-up pin WKUP5 polarity

This bit must be configured when WUPEN5 = 0.

Access can be secured by WUP5SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 3 WUPP4 : Wake-up pin WKUP4 polarity

This bit must be configured when WUPEN4 = 0.

Access can be secured by WUP4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 2 WUPP3 : Wake-up pin WKUP3 polarity

This bit must be configured when WUPEN3 = 0.

Access can be secured by WUP3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 1 WUPP2 : Wake-up pin WKUP2 polarity

This bit must be configured when WUPEN2 = 0.

Access can be secured by WUP2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

Bit 0 WUPP1 : Wake-up pin WKUP1 polarity.

This bit must be configured when WUPEN1 = 0.

Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: Detection on high level (rising edge)

1: Detection on low level (falling edge)

11.10.8 PWR wake-up control register 3 (PWR_WUCR3)

Address offset: 0x01C

Reset value: 0x0000 0000 (reset value not affected by exit from Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
ResResResResResResResResResResResResResResResRes
1514131211109876543210
WUSEL8[1:0]WUSEL7[1:0]WUSEL6[1:0]WUSEL5[1:0]WUSEL4[1:0]WUSEL3[1:0]WUSEL2[1:0]WUSEL1[1:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:14 WUSEL8[1:0] : Wake-up and interrupt pin WKUP8 selection

This field must be configured when WUPEN8 = 0.

Access can be secured by WUP8SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

00: reserved

01: WKUP8_1

10: WKUP8_2

11: WKUP8_3 (internal source, does not generate a WKUP interrupt)

Bits 13:12 WUSEL7[1:0] : Wake-up and interrupt pin WKUP7 selection

This field must be configured when WUPEN7 = 0.

Access can be secured by WUP7SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

00: WKUP7_0

01: WKUP7_1

10: reserved

11: WKUP7_3 (internal source, does not generate a WKUP interrupt)

Bits 11:10 WUSEL6[1:0] : Wake-up and interrupt pin WKUP6 selection

This field must be configured when WUPEN6 = 0.

Access can be secured by WUP6SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

00: WKUP6_0

01: WKUP6_1

10: reserved

11: WKUP6_3 (internal source, does not generate a WKUP interrupt)

Bits 9:8 WUSEL5[1:0] : Wake-up and interrupt pin WKUP5 selection

This field must be configured when WUPEN5 = 0.

Access can be secured by WUP5SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

00: reserved

01: WKUP5_1

10: WKUP5_2

11: reserved

Bits 7:6 WUSEL4[1:0] : Wake-up and interrupt pin WKUP4 selection

This field must be configured when WUPEN4 = 0.

Access can be secured by WUP4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

00: WKUP4_0
01: WKUP4_1
10: reserved
11: reserved

Bits 5:4 WUSEL3[1:0] : Wake-up and interrupt pin WKUP3 selection

This field must be configured when WUPEN3 = 0.

Access can be secured by WUP3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

00: reserved
01: WKUP3_1
10: WKUP3_2
11: reserved

Bits 3:2 WUSEL2[1:0] : Wake-up and interrupt pin WKUP2 selection

This field must be configured when WUPEN2 = 0.

Access can be secured by WUP2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

00: WKUP2_0, reserved on STM32WBA50/52/54xx devices
01: WKUP2_1
10: reserved
11: reserved

Bits 1:0 WUSEL1[1:0] : Wake-up and interrupt pin WKUP1 selection

This field must be configured when WUPEN1 = 0.

Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

00: WKUP1_0
01: WKUP1_1
10: reserved
11: reserved

11.10.9 PWR disable Backup domain register (PWR_DBPR)

Address offset: 0x028

Reset value: 0x0000 0000

Access to this register can be protected by PWR VBSEC and SPRIV or NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DBP
rw

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 DBP : Disable Backup domain write protection

In reset state, all registers in the Backup domain are protected against parasitic write access. This bit must be set to enable the write access to these registers. Before disabling Backup domain access, make sure any write access to the domain has finished.

0: Write access to Backup domain disabled

1: Write access to Backup domain enabled

11.10.10 PWR security configuration register (PWR_SECCFGR)

Address offset: 0x030

Reset value: 0x0000 0000

When the system is secure (TZEN = 1), this register can be written only by a secure privileged access if SPRIV = 1, and by a secure privileged or unprivileged access if SPRIV = 0. A non-secure write access generates an illegal access event and data are not written. This register can be read by secure or non-secure, privileged, or unprivileged access.

When the system is not secure (TZEN = 0), this register is read as 0 and register writes are ignored.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.VB SECVDM SECLPM SECRes.Res.Res.Res.WUP8 SECWUP7 SECWUP6 SECWUP5 SECWUP4 SECWUP3 SECWUP2 SECWUP1 SEC
rwrwrwrwrwrwrwrwrwrwrw

Bits 31:15 Reserved, must be kept at reset value.

Bit 14 VBSEC : Backup domain secure protection

0: PWR_DBPR can be read and written with secure or non-secure access.

1: PWR_DBPR can be read and written only with secure access.

Bit 13 VDMSEC : Voltage detection secure protection

0: PWR_SVMCR and PWR_CR3 can be read and written with secure or non-secure access.

1: PWR_SVMCR and PWR_CR3 can be read and written only with secure access.

Bit 12 LPMSEC : Low-power modes secure protection

0: PWR_CR1, PWR_CR2 and CSSF in the PWR_SR can be read and written with secure or non-secure access.

1: PWR_CR1, PWR_CR2, and CSSF in the PWR_SR can be read and written only with secure access.

Bits 11:8 Reserved, must be kept at reset value.

Bit 7 WUP8SEC : WUP8 secure protection

0: Bits related to the WKUP8 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written with secure or non-secure access.

1: Bits related to the WKUP8 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written only with secure access.

Bit 6 WUP7SEC: WUP7 secure protection

0: Bits related to the WKUP7 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written with secure or non-secure access.

1: Bits related to the WKUP7 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written only with secure access.

Bit 5 WUP6SEC: WUP6 secure protection

0: Bits related to the WKUP6 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written with secure or non-secure access.

1: Bits related to the WKUP6 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written only with secure access.

Bit 4 WUP5SEC: WUP5 secure protection

0: Bits related to the WKUP5 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written with secure or non-secure access.

1: Bits related to the WKUP5 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written only with secure access.

Bit 3 WUP4SEC: WUP4 secure protection

0: Bits related to the WKUP4 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written with secure or non-secure access.

1: Bits related to the WKUP4 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written only with secure access.

Bit 2 WUP3SEC: WUP3 secure protection

0: Bits related to the WKUP3 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written with secure or non-secure access.

1: Bits related to the WKUP3 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written only with secure access.

Bit 1 WUP2SEC: WUP2 secure protection

0: Bits related to the WKUP2 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written with secure or non-secure access.

1: Bits related to the WKUP2 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written only with secure access.

Bit 0 WUP1SEC: WUP1 secure protection

0: Bits related to the WKUP1 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written with secure or non-secure access.

1: Bits related to the WKUP1 pin in PWR_WUCR1, PWR_WUCR2, PWR_WUCR3 and PWR_WUSCR can be read and written only with secure access.

11.10.11 PWR privilege control register (PWR_PRIVCFGR)

Address offset: 0x034

Reset value: 0x0000 0000

This register can be written only by a privileged access. It can be read by privileged or unprivileged access.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.NSPRIVSPRIV
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 NSPRIV : PWR non-secure functions privilege configuration

This bit is set and reset by software.

It can be written only by privileged access, secure or non-secure.

0: Read and write to PWR non-secure functions can be done by privileged or unprivileged access.

1: Read and write to PWR non-secure functions can be done by privileged access only.

Bit 0 SPRIV : PWR secure functions privilege configuration

This bit is set and reset by software.

It can be written only by a secure privileged access.

0: Read and write to PWR secure functions can be done by privileged or unprivileged access.

1: Read and write to PWR secure functions can be done by privileged access only.

11.10.12 PWR status register (PWR_SR)

Address offset: 0x038

Power on reset value: 0x0000 0000

System reset value: 0b0000 0000 0000 0000 0000 0000 0000 0X00

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SBFSTOPFCSSF
rrw

Bits 31:3 Reserved, must be kept at reset value.

Bit 2 SBF : Standby flag

This bit is set by hardware when the device enters the Standby mode and the CPU restarts from its reset vector. It is cleared by writing 1 to the CSSF bit, or by a power-on reset. It is not cleared by the system reset.

0: The device did not enter Standby mode.

1: The device entered Standby mode.

Bit 1 STOPF : Stop flag

This bit is set by hardware when the device enters a Stop or Standby mode at the same time as the sysclk has been set by hardware to select HSI16. It is cleared by software by writing 1 to the CSSF bit and by hardware when SBF is set.

0: The device did not enter any Stop mode.

1: The device entered a Stop mode.

Bit 0 CSSF : Clear Stop and Standby flags

Access can be secured by PWR LPMSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.
Writing 1 to this bit clears the STOPF, and SBF flags.

11.10.13 PWR supply voltage monitoring status register (PWR_SVMSR)

Address offset: 0x03C

Reset value: 0x0000 8000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ACTVOS
r
1514131211109876543210
ACTVOSRDYRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.PVDORes.Res.REGSRes.
rrr

Bits 31:17 Reserved, must be kept at reset value.

Bit 16 ACTVOS : VOS currently applied to V CORE

This field provides the last VOS value.
0: Range 2 (lowest power)
1: Range 1 (highest frequency)

Bit 15 ACTVOSRDY : Voltage level ready for currently used VOS

0: V CORE is above or below the current voltage scaling provided by ACTVOS.
1: V CORE is equal to the current voltage scaling provided by ACTVOS

Bits 14:5 Reserved, must be kept at reset value.

Bit 4 PVDO : Programmable voltage detector output

0: V DD is equal or above the PVD threshold selected by PVDLS[2:0].
1: V DD is below the PVD threshold selected by PVDLS[2:0].

Bits 3:2 Reserved, must be kept at reset value.

Bit 1 REGS : Regulator selection

0: LDO selected
1: SMPS selected
Note that this bit is reserved on STM32WBA50/52/54xx devices.

Bit 0 Reserved, must be kept at reset value.

11.10.14 PWR wake-up status register (PWR_WUSR)

Address offset: 0x044

Reset value: 0x0000 0000 (reset value not affected by exit from Standby modes)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.WUF8WUF7WUF6WUF5WUF4WUF3WUF2WUF1
rrrrrrrr

Bits 31:8 Reserved, must be kept at reset value.

Bit 7 WUF8 : Wake-up and interrupt pending flag 8

This bit is set when a wake-up event is detected on WKUP8 pin. This bit is cleared by writing 1 in the CWUF8 bit of PWR_WUSCR when WUSEL8 \( \neq \) 11, or by hardware when WUPEN8 = 0.

When WUSEL8 = 11, this bit is cleared by hardware when all associated internal wake-up sources are cleared.

When WUSEL8 = 11, no WKUP interrupt is generated

Bit 6 WUF7 : Wake-up and interrupt pending flag 7

This bit is set when a wake-up event is detected on WKUP7 pin. This bit is cleared by writing 1 in the CWUF7 bit of PWR_WUSCR when WUSEL7 \( \neq \) 11, or by hardware when WUPEN7 = 0.

When WUSEL7 = 11, this bit is cleared by hardware when all associated internal wake-up sources are cleared. When WUSEL7 = 11, no WKUP interrupt is generated.

Bit 5 WUF6 : Wake-up and interrupt pending flag 6

This bit is set when a wake-up event is detected on WKUP6 pin. This bit is cleared by writing 1 in the CWUF6 bit of PWR_WUSCR when WUSEL6 \( \neq \) 11, or by hardware when WUPEN6 = 0.

When WUSEL6 = 11, this bit is cleared by hardware when all associated internal wake-up sources are cleared. When WUSEL6 = 11, no WKUP interrupt is generated

Bit 4 WUF5 : Wake-up and interrupt pending flag 5

This bit is set when a wake-up event is detected on WKUP5 pin. This bit is cleared by writing 1 in the CWUF5 bit of PWR_WUSCR or by hardware when WUPEN5 = 0.

Bit 3 WUF4 : Wake-up and interrupt pending flag 4

This bit is set when a wake-up event is detected on WKUP4 pin. This bit is cleared by writing 1 in the CWUF4 bit of PWR_WUSCR or by hardware when WUPEN4 = 0.

Bit 2 WUF3 : Wake-up and interrupt pending flag 3

This bit is set when a wake-up event is detected on WKUP3 pin. This bit is cleared by writing 1 in the CWUF3 bit of PWR_WUSCR or by hardware when WUPEN3 = 0.

Bit 1 WUF2 : Wake-up and interrupt pending flag 2

This bit is set when a wake-up event is detected on WKUP2 pin. This bit is cleared by writing 1 in the CWUF2 bit of PWR_WUSCR or by hardware when WUPEN2 = 0.

Bit 0 WUF1 : Wake-up and interrupt pending flag 1

This bit is set when a wake-up event is detected on WKUP1 pin. This bit is cleared by writing 1 in the CWUF1 bit of PWR_WUSCR or by hardware when WUPEN1 = 0.

11.10.15 PWR wake-up status clear register (PWR_WUSCR)

Address offset: 0x048

Reset value: 0x0000 0000

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.CWUF 8CWUF 7CWUF 6CWUF 5CWUF 4CWUF 3CWUF 2CWUF 1
wwwwwwww

Bits 31:8 Reserved, must be kept at reset value.

Bit 7 CWUF8 : Clear wake-up flag 8

Access can be secured by WUP8SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF8 flag in PWR_WUSR.

Bit 6 CWUF7 : Clear wake-up flag 7

Access can be secured by WUP7SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF7 flag in PWR_WUSR.

Bit 5 CWUF6 : Clear wake-up flag 6

Access can be secured by WUP6SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF6 flag in PWR_WUSR.

Bit 4 CWUF5 : Clear wake-up flag 5

Access can be secured by WUP5SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF5 flag in PWR_WUSR.

Bit 3 CWUF4 : Clear wake-up flag 4

Access can be secured by WUP4SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF4 flag in PWR_WUSR.

Bit 2 CWUF3 : Clear wake-up flag 3

Access can be secured by WUP3SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF3 flag in PWR_WUSR.

Bit 1 CWUF2 : Clear wake-up flag 2

Access can be secured by WUP2SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF2 flag in PWR_WUSR.

Bit 0 CWUF1 : Clear wake-up flag 1

Access can be secured by WUP1SEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV. Writing 1 to this bit clears the WUF1 flag in PWR_WUSR.

11.10.16 PWR port A Standby IO retention enable register (PWR_IORETENRA)

Address offset: 0x050

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
EN15EN14EN13EN12EN11EN10EN9EN8EN7EN6EN5EN4EN3EN2EN1EN0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 EN[15:0] : Port A Standby GPIO retention enable

Access can be secured by GPIOA SECy. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: PAy Standby GPIO retention feature disabled.

1: PAy Standby GPIO retention feature enabled.

Note: Bit 4 is reserved on STM32WBA50/52/54xx devices.

11.10.17 PWR port A Standby IO retention status register (PWR_IORETRA)

Address offset: 0x054

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
RET15RET14RET13RET12RET11RET10RET9RET8RET7RET6RET5RET4RET3RET2RET1RET0
rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 RET[15:0] : Port A Standby GPIO retention active

Access can be secured by GPIOA SECy. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

1: Set by hardware when Standby GPIO PAy is enabled in PWR_IORETENRA and Standby mode is entered. Standby GPIO retention PAy active.

0: Cleared by software, writing 0. Standby GPIO retention PAy disabled.

Note: Bit 4 is reserved on STM32WBA50/52/54xx devices.

11.10.18 PWR port B Standby IO retention enable register (PWR_IORETENRB)

Address offset: 0x058

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
EN15EN14EN13EN12EN11EN10EN9EN8EN7EN6EN5EN4EN3EN2EN1EN0
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 EN[15:0] : Port B Standby GPIO retention enable

Access can be secured by GPIOB SECy. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: PBy Standby GPIO retention feature disabled.

1: PBy Standby GPIO retention feature enabled.

Note: Bit 10 is reserved on STM32WBA55xx devices.

11.10.19 PWR port B Standby IO retention status register (PWR_IORETRB)

Address offset: 0x05C

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
RET15RET14RET13RET12RET11RET10RET9RET8RET7RET6RET5RET4RET3RET2RET1RET0
rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0rc_w0

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 RET[15:0] : Port B Standby GPIO retention active

Access can be secured by GPIOB SECy. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

1: Set by hardware when Standby GPIO PBy is enabled in PWR_IORETENRB and Standby mode is entered. Standby GPIO retention PBy active.

0: Cleared by software, writing 0. Standby GPIO retention PBy disabled.

Note: Bit 10 is reserved on STM32WBA55xx devices.

11.10.20 PWR port C Standby IO retention enable register (PWR_IORETENRC)

Address offset: 0x060

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
EN15EN14EN13Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:13 EN[15:13] : Port C Standby GPIO retention enable

Access can be secured by GPIOC SECy. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: PCy Standby GPIO retention feature disabled.

1: PCy Standby GPIO retention feature enabled.

Bits 12:0 Reserved, must be kept at reset value.

11.10.21 PWR port C Standby IO retention status register (PWR_IORETRC)

Address offset: 0x064

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
RET15RET14RET13Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rc_w0rc_w0rc_w0

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:13 RET[15:13] : Port C Standby GPIO retention active

Access can be secured by GPIOC SECy. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

1: Set by hardware when Standby GPIO PCy is enabled in PWR_IORETENRC and Standby mode is entered. Standby GPIO retention PCy active.

0: Cleared by software, writing 0. Standby GPIO retention PCy disabled.

Bits 12:0 Reserved, must be kept at reset value.

11.10.22 PWR port H Standby IO retention enable register (PWR_IORETENRH)

Address offset: 0x088

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EN3
rw
Res.Res.Res.

Bits 31:4 Reserved, must be kept at reset value.

Bit 3 EN3 : Port H Standby GPIO retention enable

Access can be secured by GPIOH SEC3. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: PHY Standby GPIO retention feature disabled.

1: PHY Standby GPIO retention feature enabled.

Bits 2:0 Reserved, must be kept at reset value.

11.10.23 PWR port H Standby IO retention status register (PWR_IORETRH)

Address offset: 0x08C

Reset value: 0x0000 0000 (reset value not affected by exit Standby mode)

Access: 14 AHB clock cycles added compared to a standard AHB access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RET3
rc_w0
Res.Res.Res.

Bits 31:4 Reserved, must be kept at reset value.

Bit 3 RET3 : Port H Standby GPIO retention active

Access can be secured by GPIOH SEC3. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

1: Set by hardware when Standby GPIO PHY is enabled in PWR_IORETENRH and Standby mode is entered. Standby GPIO retention PHY active.

0: Cleared by software, writing 0. Standby GPIO retention PHY disabled.

Bits 2:0 Reserved, must be kept at reset value.

11.10.24 PWR 2.4 GHz RADIO status and control register (PWR_RADIOSCR)

Address offset: 0x100

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.REGPA BYPENREGPA SELRes.Res.Res.Res.Res.Res.Res.
rwrw
1514131211109876543210
REGPARDY VDDRFPAREGPARDY V11Res.RFVDDHPA[4:0]Res.Res.Res.Res.ENCMODEPHYMODEMODE[1:0]
rrrrrrrrrrr

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 REGPABYPEN : regulator REG_VDDHPA bypass enable.

This bit must be written only when the VDDHPA regulator is not used.

When REGPASEL = 0 this bit has no meaning.

When REGPASEL = 1, allow bypassing the REG_VDDHPA regulator when V DDHPA 1.2 V is requested and input voltage is V DD11 .

Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: 2.4 GHz RADIO PA supplied by REG_VDDHPA regulator output voltage.

1: 2.4 GHz RADIO PA 1.2 V supplied directly from internal V DD11 (available only when REGPASEL = 1)

Note that this bit is reserved on STM32WBA50/52/54xx devices.

Bit 23 REGPASEL : regulator REG_VDDHPA input supply selection.

This bit must be written only when the VDDHPA regulator is not used.

Access can be secured by GTZC_TZSC RADIOSEC. When secure, a non-secure read/write access is RAZ/WI. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with SPRIV or when non-secure with NSPRIV.

0: VDDRFPA pin selected as regulator REG_VDDHPA input supply.

1: regulator REG_VDDHPA input supply selection between V DDRFPA and V DD11 , dependent on requested regulated output voltage. see Table 78: 2.4 GHz RADIO supply configuration .

Must be set only when device SMPS is used to generate V DD11 .

Note that this bit is reserved on STM32WBA50/52/54xx devices.

Bits 22:16 Reserved, must be kept at reset value.

Bit 15 REGPARDYVDDRFPA : Ready bit for V DDHPA voltage level when selecting VDDRFPA input.

0: Not ready, V DDHPA voltage level < REGPAVOS selected supply level

1: Ready, V DDHPA voltage level ≥ REGPAVOS selected supply level

Note: REGPARDYVDDRFPA does not allow to detect correct V DDHPA voltage level when requested to lower the level.

Bit 14 REGPARDYV11 : Ready bit for \( V_{DDHPA} \) voltage level when selecting \( V_{DD11} \) input.

0: Not ready, \( V_{DDHPA} \) voltage level < REGPAVOS selected supply level

1: Ready, \( V_{DDHPA} \) voltage level \( \geq \) REGPAVOS selected supply level

Note that this bit is reserved on STM32WBA50/52/54xx devices.

Note: REGPARDYV11 does not allow to detect correct \( V_{DDHPA} \) voltage level when requested to lower the level.

Bit 13 Reserved, must be kept at reset value.

Bits 12:8 RFVDDHPA[4:0] : 2.4 GHz RADIO VDDHPA control word.

Bits [3:0] see Table 77: PA output power table format for definition.

Bit [4] rf_event.

Bits 7:4 Reserved, must be kept at reset value.

Bit 3 ENCMODE : 2.4 GHz RADIO encryption function operating mode

0: 2.4 GHz RADIO encryption function disabled

1: 2.4 GHz RADIO encryption function enabled

Bit 2 PHYMODE : 2.4 GHz RADIO PHY operating mode

0: 2.4 GHz RADIO Sleep mode

1: 2.4 GHz RADIO Standby mode

Bits 1:0 MODE[1:0] : 2.4 GHz RADIO operating mode.

00: 2.4 GHz RADIO deep sleep mode

01: 2.4 GHz RADIO sleep mode

1x: 2.4 GHz RADIO active mode

11.10.25 PWR register map

Table 98. PWR register map and reset values

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x000PWR_CR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.R1RSB1Res.Res.Res.RADIORSBRes.ULPMENRes.R2RSB1Res.LPMS [2:0]
Reset value0000000
0x004PWR_CR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FLASHFWURes.Res.Res.Res.Res.ICRAMPDSRes.Res.Res.SRAM2PDS1Res.Res.Res.SRAM1PDS1
Reset value0000
0x008PWR_CR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FSTENREGSEL (1)Res.
Reset value00
0x00CPWR_VOSRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VOSVOSRDYRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value01
0x010PWR_SVMCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PVDLS [2:0]PVDERes.Res.Res.
Reset value0000
0x014PWR_WUCR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WUPEN8WUPEN7WUPEN6WUPEN5WUPEN4WUPEN3WUPEN2WUPEN1
Reset value00000000
0x018PWR_WUCR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WUPP8WUPP7WUPP6WUPP5WUPP4WUPP3WUPP2WUPP1
Reset value00000000
0x01CPWR_WUCR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WUSEL8 [1:0]WUSEL7 [1:0]WUSEL6 [1:0]WUSEL5 [1:0]WUSEL4 [1:0]WUSEL3 [1:0]WUSEL2 [1:0]WUSEL1 [1:0]
Reset value0000000000000000
0x020 to 0x024ReservedReserved
0x028PWR_DBPRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DBP
Reset value0
0x02CReservedReserved
0x030PWR_SECCFGRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VBSECVDMSECLPMSECRes.Res.Res.WUP8SECWUP7SECWUP6SECWUP5SECWUP4SECWUP3SECWUP2SECWUP1SEC
Reset value00000000000
0x034PWR_PRIVCFGRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.NSPRIVSPRIV
Reset value00

Table 98. PWR register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x038PWR_SRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SBF
Reset value0
0x03CPWR_SVMSRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ACTVOSACTVOSRDYRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PVDORes.Res.REGS
Reset value0100
0x040ReservedReserved
0x044PWR_WUSRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.WUF8WUF7WUF6WUF5WUF4WUF3WUF2WUF1
Reset value00000000
0x048PWR_WUSCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CWUF8CWUF7CWUF6CWUF5CWUF4CWUF3CWUF2CWUF1
Reset value00000000
0x04CReservedReserved
0x050PWR_IORETENRARes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EN15EN14EN13EN12EN11EN10EN9EN8EN7EN6EN5EN4 (1)EN3EN2EN1EN0
Reset value000000000000000
0x054PWR_IORETRARes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RET15RET14RET13RET12RET11RET10RET9RET8RET7RET6RET5RET4 (1)RET3RET2RET1RET0
Reset value000000000000000
0x058PWR_IORETENRBRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EN15EN14EN13EN12EN11EN10 (2)EN9EN8EN7EN6EN5EN4EN3EN2EN1EN0
Reset value000000000000000
0x05CPWR_IORETRBRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RET15RET14RET13RET12RET11RET10 (2)RET9RET8RET7RET6RET5RET4RET3RET2RET1RET0
Reset value000000000000000
0x060PWR_IORETENRCRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EN15EN14EN13Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value000
0x064PWR_IORETRCRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RET15RET14RET13Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value000
0x068 to 0x084ReservedReserved
0x088PWR_IORETENRHRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EN3Res.Res.Res.
Reset value0
0x08CPWR_IORETRHRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RET3Res.Res.Res.
Reset value0
0x090 to 0x0FCReservedReserved

Table 98. PWR register map and reset values (continued)

OffsetRegister name313029282726252423222120191817161514131211109876543210
0x100PWR_RADIOSCRRes. 1Res. 1Res. 1Res. 1Res. 1Res. 1Res. 1REGPABYPENREGPASELRes. 1Res. 1Res. 1Res. 1Res. 1Res. 1Res. 1REGPARDYVDDRFPAREGPARDYV11Res. 1RFVDDHPA[4:0]Res. 1Res. 1Res. 1Res. 1ENCMODEPHYMODEMODE[1:0]
Reset value0000000000000
0x104 to
0x3FC
Reserved

1. Bit reserved on STM32WBA50/52/54xx devices.

2. Bit reserved on STM32WBA55xx devices.

Refer to Section 2.3: Memory organization for the register boundary addresses.