12. Reset and clock control (RCC)

12.1 Introduction

The reset and clock control (RCC) manages the different kinds of reset and generates all clocks for the bus and peripherals.

12.2 RCC pins and internal signals

Table 107 lists the RCC inputs and output signals connected to package pins or balls.

Table 107. RCC input/output signals connected to package pins or balls

Signal nameSignal typeDescription
NRSTI/OSystem reset, can be used to provide reset to external devices
OSC32_INI32 kHz oscillator input
OSC32_OUTO32 kHz oscillator output
OSC_INISystem oscillator input
OSC_OUTOSystem oscillator output
MCOOOutput clock for external devices
LSCOOLow-speed output clock for external devices
AUDIOCLKIExternal kernel clock input for SAI1

12.3 RCC reset functional description

The following types of reset exist:

12.3.1 Power reset

A power reset is generated when one of the following events occurs:

A BOR sets all registers to their reset values. Five BOR threshold levels can be selected through the user option bytes. The backup domain is always reset on the \( V_{BOR0} \) threshold, as is the power-on reset.

When exiting Standby mode, all registers in the core domain are set to their reset value. Registers outside the core domain (RTC, TAMP, WKUP, IWDG, and Standby modes control) are not impacted.

12.3.2 System reset

A system reset sets all registers to their reset values, except the reset flags in the RCC control/status register (RCC_CSR) and the registers in the backup domain.

A system reset is generated when one of the following events occurs:

The reset source can be identified by checking the reset flags in the RCC control/status register (RCC_CSR) .

The device internal reset sources (such as BOR and IWDG) act on the NRST pin, which is always kept low during the delay phase. The internal reset signal is output on the NRST pin. The pulse generator ensures a minimum reset pulse duration of \( t_{O(NRST)} \) for each internal reset source (refer to the product datasheet for more details). In case of an external reset, the reset pulse is generated while the NRST pin is asserted low.

In case of an internal reset, the internal pull-up \( R_{PU} \) is deactivated to save the power consumption through the pull-up resistor.

Figure 35. Simplified diagram of the reset circuit

Simplified diagram of the reset circuit showing various reset sources and their logic combination to generate a system reset.

The diagram illustrates the internal reset circuitry. An external reset signal enters the NRST pin. A pull-up resistor \( R_{PU} \) connected to \( V_{DD} \) keeps the pin high when no external reset is active. The NRST signal is split into several paths:

The diagram is labeled MSV75932V1.

Simplified diagram of the reset circuit showing various reset sources and their logic combination to generate a system reset.

Software reset

The SYSRESETREQ bit in the core application interrupt and reset control register must be set to force a software reset on the device.

Low-power mode security reset

To avoid that critical applications mistakenly enter a low-power mode, low-power mode security resets are available. If enabled in option bytes, a reset is generated in any of the following conditions:

For further information on the user option bytes, refer to Section 7.4.1: Option bytes description .

Option byte loader reset

The option byte loader reset is generated when the OBL_LAUNCH bit is set in the FLASH_CR register. This bit is used to launch the option byte loading by software.

12.3.3 Backup domain reset

The backup domain has two specific resets.

A backup domain reset is generated when one of the following events occurs:

A backup domain reset only affects the LSE oscillator, the RTC, TAMP, and backup registers, and the RCC_BDCRx registers.

12.3.4 Individual peripheral reset

Individual peripherals can be reset by software with their reset register bit in the RCC.

12.3.5 CPU reset

The CPU reset vector is selected through the boot option bytes.

12.4 RCC clocks functional description

The following clock sources can be used to drive the system clock (SYSCLK):

The HSI16 is used as the system clock source after startup from reset and is configured at 16 MHz.

The device has the following additional clock sources:

Each clock source can be switched on or off independently when it is not used, to optimize power consumption.

The frequencies for AHB1, AHB2, AHB4, and AHB5 for the PTACONV, as well as APB1, APB2, and APB7 are derived from the SYSCLK and are provided with several prescalers to configure them. The maximum frequency of these AHB and APB domains is 64 MHz.

The AHB5 frequency for the 2.4 GHz RADIO is also derived from the SYSCLK and is provided with a prescaler to configure it. The maximum frequency of this AHB5 domain is 32 MHz.

Most peripheral kernel clocks are derived from their bus clock (hclk1, hclk5, pclk1, pclk2, or pclk7). In addition, some peripherals receive an independent kernel clock. For these peripherals the kernel clock can be selected by software between several sources through the RCC_CCIPRx registers (x = 1, 2, 3):

The RCC feeds the CPU system timer (SysTick) clock with the AHB clock (hclk1) divided by 8, HSI16 divided by 4, LSE, or LSI. The SysTick can work either with this clock or directly with the CPU bus clock (hclk1), configurable in the CPU SysTick control and status register.

FCLK acts as the CPU free-running clock.

Figure 36. Clock tree

Figure 36. Clock tree diagram showing the internal clock distribution and sources for the microcontroller. It details the flow from various oscillators (LSI, HSE, HSI) through dividers and PLLs to different system components like the CPU, memory, and various peripherals.

The diagram illustrates the clock tree architecture. On the left, clock sources include LSI (500 ppm and ~32 kHz), LSE (32.768 kHz or 32.000 kHz), HSE (32 MHz), HSI (16 MHz), and PLL1 (driven by HSE32, HSI16, or LSI). These are processed through various dividers (e.g., /1, /128, /32, /1000, /16, /M, /N, /P, /Q, /R) and PLLs (PLL1, PLLRPRE). The main system clock (SYSCLK) is derived from these sources. The clock is then distributed to various functional blocks:

The diagram is labeled MSv75933V2 at the bottom right.

Figure 36. Clock tree diagram showing the internal clock distribution and sources for the microcontroller. It details the flow from various oscillators (LSI, HSE, HSI) through dividers and PLLs to different system components like the CPU, memory, and various peripherals.

12.4.1 HSE32 clock with trimming

The HSE32 32 MHz external oscillator has the advantage of producing a very accurate rate on the main clock. The HSE32 furthermore provides an on-chip trimming capability in RCC_ECSCR1. The HSE32 must be used for any 2.4 GHz RADIO transmission and reception.

The high-speed external clock signal (HSE32) can be generated from the following clock sources:

The clock source must be placed as close as possible to the oscillator pins to minimize output distortion and startup stabilization time.

HSE32 is controlled from the CPU and from the 2.4 GHz RADIO.

HSE32 can be switched on and off using the HSEON bit in the RCC clock control register (RCC_CR) . HSE32 must be enabled with the HSEON bit when used for the CPU.

The HSERDY flag in the RCC clock control register (RCC_CR) indicates if the HSE32 oscillator is stable and forwarded or not for use by the CPU. At startup, the clock is not released until this bit is set by hardware. An interrupt can be generated if enabled in the RCC clock interrupt enable register (RCC_CIER) . Refer to the product datasheet for the HSE32 stabilization-ready time.

The 2.4 GHz RADIO when waking up from a sleep timer event enables HSE32 autonomously for its own purpose with STRADIOCLKON, independently of the HSEON bit. To use the 2.4 GHz RADIO outside a sleep timer event, software has to enable HSE32 with HSEON.

External crystal (HSE32 crystal)

The associated hardware configuration is shown in Figure 37 . Refer to the electrical characteristics section of the datasheet for more details.

Frequency trimming

When using HSE32 with the external crystal, the load capacitors are provided by the integrated capacitor banks, which can be trimmed. The HSE32 load capacitor trimming allows a compensation of device manufacturing process variations, used crystal, and PCB design. The HSE32 frequency can be tuned in the application through the RCC_ECSCR1 register.

The HSE32 frequency can be measured by outputting the HSE32 clock on the MCO when in Run or Sleep mode.

External clock (HSE32 external)

The associated hardware configuration is shown in Figure 37 . Refer to the electrical characteristics section of the datasheet for more details.

Figure 37. HSE32 hardware configurations

Diagram of external clock configuration. An external source is connected to the OSC_IN pin. The OSC_OUT pin is labeled 'Not connected'. Diagram of crystal configuration. A crystal is connected between OSC_IN and OSC_OUT pins. Tunable load capacitors C_LIN and C_LOUT are connected to each pin. C_LIN is connected to OSC_IN and ground. C_LOUT is connected to OSC_OUT and ground.
Clock sourceHardware configuration
External clock
Crystal
Diagram of external clock configuration. An external source is connected to the OSC_IN pin. The OSC_OUT pin is labeled 'Not connected'. Diagram of crystal configuration. A crystal is connected between OSC_IN and OSC_OUT pins. Tunable load capacitors C_LIN and C_LOUT are connected to each pin. C_LIN is connected to OSC_IN and ground. C_LOUT is connected to OSC_OUT and ground.

12.4.2 HSI16 clock

The HSI16 clock signal is generated from an internal 16 MHz RC oscillator.

The HSI16 RC oscillator has the advantage of providing a clock source at low cost. It also has a faster startup time than the HSE32 crystal oscillator. However, even with calibration, the frequency is less accurate than an external crystal oscillator.

The HSI16 clock is used as the system clock after reset and wake-up from Stop and Standby modes. It can also be used as a backup clock source (auxiliary clock) for the CPU if the HSE32 crystal oscillator fails. Refer to Section 12.4.8: HSE32 clock security system (HSECSS) .

The HSI16 RC oscillator is stable or not. At startup, the HSI16 clock is not released until this bit is set by hardware. The HSI16 RC oscillator is stable or not. At startup, the HSI16 clock is not released until this bit is set by hardware.

The HSI16 RC can be switched on and off using the HSION bit in the RCC clock control register (RCC_CR) .

Calibration

The RC oscillator frequencies may vary from one chip to another due to manufacturing process variations, which is why each device is factory-calibrated by STMicroelectronics for 1 % accuracy at \( T_A = 30^\circ\text{C} \) .

After reset, the factory calibration value is loaded in the HSICAL bits in the RCC internal clock sources calibration register 3 (RCC_ICSCR3) .

If the application is subject to voltage or temperature variations, this may affect the RC oscillator speed. The HSI16 frequency can be trimmed in the application using the HSITRIM in the RCC internal clock sources calibration register 3 (RCC_ICSCR3) .

For more details on how to measure the HSI16 frequency variation, refer to Section 12.4.20 .

12.4.3 PLL1

The RCC features one PLL1 that is generally used to provide clocks to the CPU and to some peripherals. The PLL1 must be enabled only in range 1 and range 1.5. The PLL must be disabled before entering range 2.

The PLL1 integrated in the RCC offers the following features:

The \( \Sigma\Delta \) modulator can be updated on the fly, without generating frequency overshoots on PLL1 outputs.

The PLL1 is controlled via the RCC_PLL1DIVR, RCC_PLL1FRACR, RCC_PLL1CFGR, and RCC_CR registers.

The frequency of the reference clock provided to the PLL1 ( \( F_{\text{ref\_ck}} \) ) must range between 4 and 16 MHz. The user application must program the PLL1M dividers properly in the RCC PLL1 configuration register (RCC_PLL1CFGR) to match this condition. Additionally, PLL1RGE must be set according to the reference input frequency to ensure an optimal performance of the PLL1.

To reduce power consumption, it is recommended to configure the VCO output to the lowest possible frequency.

The PLL1N loop divider must be programmed to achieve the expected frequency at VCO output. In addition, the VCO output range (128 to 544 MHz) must be respected.

The PLL1 operates in integer mode when PLL1FRACEN is 0 and the PLL is enabled with PLL1ON. Fractional mode can be enabled at any time by setting PLL1FRACN to the required value, and subsequently setting the PLL1FRACEN bit. The \( \Sigma\Delta \) modulator is designed to minimize the jitter impact while allowing very-small-step frequency adjustments. To update the fractional value, first clear the PLL1FRACEN bit before updating the PLL1FRACN value, and subsequently set PLL1FRACEN again. The old PLL1FRACN value is used until the new value is activated by setting PLL1FRACEN. PLL1FRACN can be updated by software only when PLL1FRACEN has been cleared.

The PLL1 can be enabled by setting PLL1ON to 1 in the RCC clock control register (RCC_CR) . The PLL1RDY bit indicates that the PLL1 is ready (meaning locked).

Note: Before enabling the PLL1, make sure that the reference frequency ( \( F_{\text{ref\_ck}} \) ) provided to the PLL1 is stable.

The hardware prevents writing PLL1ON to 0 if the PLL1 is currently used to deliver the system clock.

The following PLL1 parameters cannot be changed once the PLL1 is enabled: PLL1M, PLL1SRC, PLL1N, PLL1RGE, PLL1P, PLL1Q, and PLL1R.

To insure an optimal behavior of the PLL1 when one of the postdividers (PLL1P, PLL1Q, or PLL1R) is not used, the application must clear the enable bit (PLL1PEN, PLL1QEN, or

PLL1REN), and, preferably, also the corresponding postdivider field (PLL1P, PLL1Q, or PLL1R).

If the above rules are not respected, the PLL1 output frequency is not ensured.

Output frequency computation

When the PLL1 is operated in integer mode, the VCO frequency ( \( F_{VCO} \) ) is given by the following formula:

\[ F_{VCO} = F_{ref\_ck} \times PLL1N \]

When the PLL1 is operated in fractional mode, it is possible to change the value of the PLL1FRACN on the fly without disturbing the PLL1 output. This feature can be used either to generate a specific frequency from any crystal value with a good accuracy, or to fine-tune the frequency on the fly.

For PLL1, the VCO frequency is given by the following formula:

\[ F_{VCO} = F_{ref\_ck} \times (PLL1N + PLL1FRACN / 2^{13}) \]

For both integer and fractional mode, the PLL1 output frequency is given by the formula below:

\[ F_{pll(y)clk} = F_{VCO} / (PLL1(y) + 1), \text{ with } y = P, Q, \text{ or } R. \]

The PLL1 is disabled by hardware when:

The fractional information used by the PLL is reset when disabling the PLL.

PLL1 initialization phase

Here below the recommended PLL1 initialization sequence in integer and fractional mode (PLL1 is supposed to be disabled at the start of the sequence):

  1. 1. Initialize the PLL1 registers according to the required frequency.
    • – For integer mode, clear PLL1FRACEN.
    • – For fractional mode, set PLL1FRACN to the required initial value and then set PLL1FRACEN.
  2. 2. Once the PLL1ON bit is set, the application must wait until the PLL1RDY bit is set. As long as PLL1RDY = 0, the PLL1FRACEN bit must not be altered.
  3. 3. When the PLL1RDY bit is set, the PLL1 is ready to be used.
  4. 4. If the application intends to tune the PLL1 frequency on the fly:
    1. a) PLL1FRACEN must be cleared so the PLL1FRACN value can be updated while the PLL is running.
    2. b) A new value can be set in PLL1FRACN.
    3. c) PLL1FRACEN must be set to activate the newly programmed value in PLL1FRACN and for the PLL to take it into account.

Note: When the PLL1RDY is set, it means that the difference between the PLL1 output frequency and the target value is less than 2 %.

12.4.4 LSE clock

The LSE crystal is a 32.768 kHz low-speed external crystal or ceramic resonator. It has the advantage of providing a low-power but highly accurate clock source to the real-time clock peripheral (RTC) for clock/calendar, the 2.4 GHz RADIO sleep timer, or other timing functions.

The LSE crystal is switched on and off using the LSEON bit in RCC backup domain control register (RCC_BDCR1) . If the LSE is used by other peripherals or functions than RTC and TAMP, the LSESYSEN bit must also be set in the RCC backup domain control register (RCC_BDCR1) (refer to LSE when used by peripherals other than RTC/TAMP and RCC functions ).

The crystal oscillator driving strength can be changed at runtime using the LSEDRV[1:0] bits to obtain the best compromise between robustness and a short startup time on the one hand and low-power consumption on the other. The LSE drive can be decreased to a lower-drive capability when the LSE is ON. However, once LSEDRV is selected, the drive capability cannot be increased if LSEON = 1.

The LSERDY flag in the RCC backup domain control register (RCC_BDCR1) indicates whether the LSE crystal is stable or not. At startup, the LSE crystal output clock signal is not released until this bit is set by hardware. An interrupt can be generated if enabled in the RCC clock interrupt enable register (RCC_CIER) .

In addition, glitches on the LSE can be filtered by setting LSEGFON. LSEGFON must be written when the LSE is disabled (LSEON = 0 and LSERDY = 0).

The LSE oscillator can be trimmed using the LSETRIM trimming bits in the RCC backup domain control register (RCC_BDCR1) . After a BOR0 reset and loading option bytes using the OBL_LAUNCH register bit when the SBF is cleared, the factory trimmed values are loaded in the LSETRIM bits, which can subsequently be modified by the application software.

External source (LSE bypass)

In this mode, an external clock source must be provided. It can have a frequency of up to 1 MHz. This mode is selected by setting the LSEBYP and LSEON bits in the RCC backup domain control register (RCC_BDCR1) . The external clock signal (square, sinus, or triangle), with ~50 % duty cycle, must drive the OSC32_IN pin while the OSC32_OUT pin can be used as a GPIO (see Figure 38 ).

Figure 38. LSE 32 clock sources

Clock sourceHardware configuration
External clockDiagram of external clock configuration. An external source is connected to the OSC_IN pin of a GPIO. The OSC_OUT pin is also connected to the same GPIO. The diagram shows a box labeled 'GPIO' with 'OSC_IN' and 'OSC_OUT' pins. An arrow labeled 'External source' points to the 'OSC_IN' pin.
Crystal/ceramic resonatorsDiagram of crystal/ceramic resonator configuration. A crystal/resonator is connected between the OSC_IN and OSC_OUT pins of a GPIO. Two load capacitors, labeled CL1 and CL2, are connected between the OSC_IN and OSC_OUT pins respectively, and then to ground. The diagram shows a box labeled 'GPIO' with 'OSC_IN' and 'OSC_OUT' pins. A crystal symbol is between them. CL1 is connected to OSC_IN and ground. CL2 is connected to OSC_OUT and ground. Arrows labeled 'Load capacitors' point to CL1 and CL2.

LSE when used by peripherals other than RTC/TAMP and RCC functions

By default, when enabled by LSEON, the LSE is sent only to RTC and TAMP (assuming that RTCSEL = 01).

If the LSE is needed for other peripherals (such as the peripheral clock or a trigger source) or if the LSE is used by an RCC function (such as LSCO or MCO), the lsesys clock must be enabled with LSESYSEN by following the sequence below:

  1. 1. Wait until the LSE clock is ready and the LSEON bit is set, so the LSERDY is set in the RCC backup domain control register (RCC_BDCR1) .
  2. 2. Set the LSESYSEN bit in the RCC_BDCR1 register.
  3. 3. Wait until the lsesys clock is ready (LSESYSRDY = 1 in RCC_BDCR1).

The LSE power consumption is increased when LSESYSEN = 1.

12.4.5 LSI clock

The low-power LSI clock can be kept running in Stop and Standby modes for the IWDG, and in Stop 0, 1, 2, and Standby modes for the RTC and TAMP. The LSI clock is generated from two sources

Table 108. LSI clock selection

LSI1ON/LSI1RDYLSI2ON/LSI2RDYLSI clock
0/00/0No clock
1/10/0LS1 RC source
0/01/1LSI2 RC source
1/11/1LSI2 RC source

When the IWDG is started, the LSI clock is forced on and cannot be disabled. When both the LSI1 and LSI2 are disabled, LSI1 is forced on. When LSI select LSI2 RC source, the LSI1 RC source can be disabled.

LSI1 low-power

Caution: The LSI1 must not be used for the 2.4 GHz RADIO sleep timer.

The LSI1 RC can be switched on and off using the LSI1ON bit in the RCC backup domain control register (RCC_BDCR1) .

The LSI1RDY flag in the RCC backup domain control register (RCC_BDCR1) indicates if the LSI1 oscillator is stable or not. At startup, the clock is not released until this bit is set by hardware. An interrupt can be generated if enabled in the RCC clock interrupt enable register (RCC_CIER) .

The clock frequency is either ~32 kHz or ~250 Hz, depending on the LSI1PREDIV bit in the RCC backup domain control register (RCC_BDCR1) . Setting LSI1PREDIV results in lower consumption (refer to the electrical characteristics section of the datasheet for more details).

Note: When the IWDG is enabled or when the RTC or TAMP is clocked by the LSI, the LSI1PREDIV can no longer be changed.

LSI2 low-drift (not available on STM32WBA25/23 devices)

The LSI2 RC can be switched on and off using the LSI2ON bit in the RCC Backup domain control register (RCC_BDCR1).

The LSI2RDY flag in the RCC Backup domain control register (RCC_BDCR1) indicates if the LSI2 oscillator is stable or not. At startup, the clock is not released until this bit goes to 1 by hardware. An interrupt can be generated if enabled in the RCC clock interrupt enable register (RCC_CIER). After LSI2 ready, there is an additional delay of up to six clock cycles before clocking a peripheral.

The LSI2 makes possible trimming using the LSI2CFG and LSI2MODE in RCC Backup domain control register (RCC_BDCR2).

12.4.6 System clock (SYSCLK) selection

Different clock sources can be used to drive the system clock (SYSCLK):

The system clock maximum frequency is 64 MHz. After a system reset, the HSI16 oscillator at 16 MHz is selected as the system clock. When a clock source is used directly or through the PLL as a system clock, it is not possible to stop it.

A switch from one clock source to another occurs only if the target clock source is ready (for instance, the clock is stable after a startup delay). If a clock source that is not yet ready is selected, the switch occurs when the clock source is ready. Status bits in the RCC clock configuration register 1 (RCC_CFGR1) indicate which clocks are ready and which clock is currently used as the system clock.

Table 109 gives the different bus frequencies depending on the product voltage range.

Table 109. SYSCLK and bus maximum frequency

Product voltageSYSCLK / AHB1 / AHB2 / AHB4 / AHB5 (1) / APB1 / APB2 / APB7AHB5 (2)
range 1
range 1.564 MHz32 MHz
range 216 MHz12 MHz

1. For PTACONV.

2. For 2.4 GHz RADIO.

Note: After reset, voltage scaling range 2 is used with SYSCLK at 16 MHz, hclk5 at 8 MHz and one wait state on FLASH, SRAM1, and SRAM2.

System clock maximum frequency step

When increasing the SYSCLK frequency, the frequency step must be limited. The frequency must be increased in steps using the PLL1RCLKPRE divider and PLL1RCLKPRESTEP divider steps.

A two-step divider makes it possible to limit the maximum frequency step to 43 MHz, which requires at least 1000 cycles of the pll1rclk clock to switch. Two-step division uses an intermediate frequency of pll1rclk/1.75.

A three-step divider limits the maximum frequency step to 29 MHz and requires at least 2000 cycles of the pll1rclk clock to switch. Three-step division uses intermediate frequencies of pll1rclk/2.25 and pll1rclk/1.4.

As an example, to increase the SYSCLK from 16 MHz (HSI16) to 64 MHz (pll1rclk), the following sequence must be used:

  1. 1. Switch VOS to range 1 and wait for VOSRDY.
  2. 2. Select PLL1RCLKPRE to divide, and the divider steps in PLL1RCLKPRESTEP.
  3. 3. Lock PLL1.
  4. 4. Switch the SYSCLK source from HSI16 to PLL1 in SW.
  5. 5. Wait for the SYSCLK switch to complete in SWS (SYSCLK = pll1rclk divided).
  6. 6. Set PLL1RCLKPRE to not divide.
  7. 7. Wait for PLL1RCLKPRERDY to indicate readiness (SYSCLK = pll1rclk).

Warning: The SYSCLK must be switched to a higher frequency when the incremental frequency step is \( \leq 47 \) MHz, or device operation cannot be ensured. For bigger incremental frequency steps, use the PLL1RCLKPRE division.

When the SYSCLK is selected from PLL1 and PLL1RCLKPRE is changed from divide to not divide, the not divide clock is ready on the SYSCLK after a delay, as detailed in Table 110 .

Table 110. PLL1RCLKPRERDY delay versus pll1rclk frequency

f PLL1RCLK [MHz]SYSCLK divider delay when going from divide to not divide [ \( \mu\text{s} \) ]
Two-stepThree-step
6415.6331.25

The PLL1RCLKPRE, PLL1RCLKPRERDY, and SYSCLK frequency behavior depends on the SWS and pll1rclk settings, as detailed in Table 111 :

Table 111. PLL1RCLKPRERDY and SYSCLK behavior

PLL1RCLKPREPLL1ONPLL1RCLKPRERDYSWSSYSCLKDescription
0x1Not PLL1Other than pll1rclkSWS, select other source then PLL1
1x0
11xPLL1pll1rclkSYSCLK = pll1rclk divided
010SYSCLK = pll1rclk divided.
011SYSCLK = pll1rclk not divided

System clock frequency change and hclk5

When increasing the SYSCLK frequency above 32 MHz, the hclk5 division ratio in HPRE5 must be adapted to keep the hclk5 frequency \( \leq 32 \) MHz.


Warning: The AHB5 clock frequency for the 2.4 GHz RADIO must never exceed 32 MHz. When this is not respected, device operation cannot be ensured.


For this purpose HPRE5 must be written by software with the divider value corresponding to the \( f_{PLL1RCLK} \) frequency, before switching the system clock to the PLL1 source in SW. The written HPRE5 value is used by the hardware to divide the SYSCLK, at the same time as the SYSCLK clock switch to the PLL1 source.

  1. 1. Lock PLL1.
  2. 2. Optional: select PLL1RCLKPRE to divide.
  3. 3. Set the HPRE5 value to be used with the \( f_{PLL1RCLK} \) frequency.
  4. 4. Switch the SYSCLK source to pll1rclk in SW.
  5. 5. Wait for the SYSCLK switch to complete in SWS ( \( hclk5 = f_{PLL1RCLK}/HPRE5 \) ).

When decreasing the SYSCLK frequency from a frequency above 32 MHz from the PLL1 source to the HSE32 or HSE16 source, the hclk5 is set to not divide by hardware.

  1. 1. Switch the SYSCLK source away from PLL1.
  2. 2. Wait for the SYSCLK switch to complete in SWS (SYSCLK = HSI16 or HSE32, hclk5 = SYSCLK/HDIV5).

The software-written HPRE5 value takes effect only when the SYSCLK has been switched to pll1rclk in SWS.

When SW = PLL1 and SWS = not PLL1, write operations to HPRE5 are ignored.

Note: The HPRE5 divider is not used when the SYSCLK source is HSE32, HSE32 divided by 2, or HSI16 (SWS = not pll1rclk).

In range 2, the hclk5 frequency must be kept at \( \leq 8 \) MHz. Before entering range 2, HDIV5 must select “divide by 2”.

When moving from range 1 or range 1.5 to range 2:

  1. 1. Set HDIV5 to divide by 2.
  2. 2. Switch the SYSCLK source to HSE32 divided by 2 or HSI16.
  3. 3. Wait for the SYSCLK switch to complete in SWS.
  4. 4. Select range 2 in VOS in the PWR_VOSR register.
  5. 5. Optionally, wait until the ACTVOS in PWR_VMMSR = VOS in PWR_VOSR, and the ACTVOSRDY flag is set in PWR_VMMSR.

When changing from range 2 to range 1 or range 1.5:

  1. 1. Select range 1 or range 1.5 in VOS in PWR_VOSR.
  2. 2. Wait until the VOSRDY flag is set in PWR_VOSR.
  3. 3. Optionally, clear HDIV5 to no longer divide by 2.

Note: When entering Stop 1, 2, and 3 mode, hardware sets the hclk5 frequency to divide by 2 in HDIV5.

Note: The HDIV5 divider is not used when the SYSCLK source is PLL1 (SWS = PLL1).

Note: When 2.4 GHz RADIO is active, the device must be in range 1 or range 1.5, hclk5 must be \( \geq 16 \) MHz, and HDIV5 must be cleared.

12.4.7 Clock source frequency versus voltage scaling

Table 112. Clock source maximum frequency

Product voltageHSI16HSE32PLL1 output
(VCO min and max)
Range 1AllowedAllowed64 MHz
Range 1.5(128 - 544 MHz)
Range 2Allowed (divided by 2)Not allowed

12.4.8 HSE32 clock security system (HSECSS)

The HSECSS can be activated by software with the HSECSSON bit. In this case, the clock detector is enabled after the HSE32 oscillator wake-up time and disabled when this oscillator is stopped.

The HSECSS makes it possible to detect the absence of a clock. Refer to the device datasheet for more information.

If a failure is detected on the HSE32 clock, the HSE32 oscillator is automatically disabled. A clock failure event is sent to several timers break input and an interrupt is generated to inform the software about the failure (HSECSSI: clock security system interrupt). This allows the MCU to perform rescue operations. The HSECSSI is linked to the Core NMI (nonmaskable interrupt) exception vector.

Once the HSECSS has been enabled and if the HSE32 clock fails, the HSECSSI occurs and an NMI is automatically generated. The NMI is executed indefinitely, unless the pending HSECSSI bit is cleared. Consequently, the user must clear the HSECSSI bit in the NMI ISR by setting the HSECSSC bit in the RCC clock interrupt clear register (RCC_CICR) .

If the HSE32 oscillator is used directly or indirectly as the system clock (indirectly meaning it is used as the PLL1 input clock and the pll1rclk clock is used as the system clock), a detected failure causes a switch of the system clock to the HSI16 oscillator and the disabling of the HSE32 oscillator. If the HSE32 clock and PLL1 are used as system clock when the failure occurs, the PLL1 is disabled too.

12.4.9 LSE clock security system on (LSECSS)

A clock security system on the LSE can be activated by software setting the LSECSSON bit in the RCC backup domain control register (RCC_BDCR1) . This bit can be disabled only by a hardware reset or RTC software reset, or after a failure detection on LSE. LSECSSON must be written after LSE is enabled (LSEON set) and ready (LSERDY set by hardware) and after the RTC clock has been selected by RTCSEL.

The LSECSS is working in all modes except Standby.

The clock security system on the LSE detects when the LSE disappears or in case of overfrequency. In addition, the glitches on LSE can be filtered by setting LSEGFON. LSEGFON must be set when LSE is disabled (LSEON = 0 and LSERDY = 0).

If a failure is detected on the external 32 kHz oscillator, the LSE clock is no longer clocking and no hardware action is made to register settings.

In case of an LSECSS detection event (LSECSSD = 1 in the RCC_BDCR1), the software must disable the LSECSSON bit, stop the defective 32 kHz oscillator (disabling LSEON)

and change the low-power clock source (no clock or LSI or HSE32), or take any required action to secure the application.

The LSECSS detection event is connected to the internal tamper 3 of the TAMP peripheral. The internal tamper 3 must be enabled (ITAMP3E = 1 in TAMP_CR1 register) and the associated interrupt enabled (ITAMP3IE in TAMP_IER) to enable wake-up from the low-power modes.

An LSECSS detection event also erases the TAMP backup registers and backup SRAM unless ITAMP3NOER = 1 in the TAMP_CR3 register (see Section 34: Tamper and backup registers (TAMP) for more details).

Refer to the product datasheet for LSECSS electrical characteristics.

12.4.10 ADC kernel clock

The ADC kernel clock source is selected with the ADCSEL bit in the RCC peripherals independent clock configuration register 3 (RCC_CCIPR3) .

If the application requires that the ADC is precisely triggered by a (LP)TIM without any uncertainty, the hclk must be selected as the ADC kernel clock source. The other clock sources are asynchronous to (LP)TIM, so an uncertainty of the trigger instant is added by the resynchronization between the two clock domains.

12.4.11 RTC and TAMP kernel clock

The RTC kernel clock source is used by RTC and TAMP and can be either the HSE32/32, LSE, or LSI clock. It is selected by programming the RTCSEL bits in the RCC backup domain control register (RCC_BDCR1) . This selection cannot be modified without resetting the backup domain. For the RTC to operate properly, the RTC bus clock, pclk, must always be set to a frequency that is greater than or equal to that of the RTC kernel clock.

The TAMP does not require a kernel clock if only the backup registers are used, with tamper in edge detection mode. All other tamper detection modes require a kernel clock (refer to Section 34: Tamper and backup registers (TAMP) for more details).

The LSE and LSI clocks are in the backup domain, whereas the HSE32 clock is not. Consequently:

The RTC and TAMP are not functional in Stop 3 mode. When RTC and TAMP use LSI or LSE, they are reset when gating off the clock.

When the RTC and TAMP clock is LSE or LSI, the RTC and TAMP remain clocked and functional under system reset.

If the LSE is needed only for the RTC or TAMP, LSESYSEN must be kept at reset value to get the lowest consumption.

12.4.12 2.4 GHz RADIO bus clocks

The 2.4 GHz RADIO bus clock can be enabled by software with the RADIOEN and RADIOSMEN bits, and by hardware on a 2.4 GHz RADIO sleep timer wake-up event by the STRADIOCLKON bit. Before accessing the 2.4 GHz RADIO sleep timer registers, the bus clock must be ready, indicated by the RADIOCLKRDY register bit.

Table 113. 2.4 GHz RADIO bus clock control

Device stateCPU stateRADIOENRADIOSMENSTRADIOCLKON2.4 GHz RADIO state2.4 GHz RADIO bus clock
XX0X0XOff
RunRUN1XXXOn
XX1XOn
SleepSLEEP100XOff
110ACTIVEOn
XX1SLEEP/DEEPSLEEPOff
Stop 0DEEPSLEEP100XOff
110ACTIVEOn
XX1SLEEP/DEEPSLEEPOff
Stop 1 (1)DEEPSLEEPXX0SLEEP/DEEPSLEEPOff
Stop 2 (1)(3)DEEPSLEEPOff
Stop 3 (1)(3)DEEPSLEEP (2)Off
Standby (1)(3)RESETDEEPSLEEP/POWER DOWNOff

1. When 2.4 GHz RADIO state is ACTIVE or STRADIOCLKON is 1, the device does not enter Stop 1, Stop 2, Stop 3, and Standby modes.

2. The RADIO sleep timer is also stopped.

3. When 2.4 GHz RADIO state is SLEEP, the device does not enter Stop 2, Stop 3, and Standby modes.

When exiting from a low-power mode and the 2.4 GHz RADIO bus clock has been stopped, the RADIOCLKRDY bit must be rechecked before accessing the 2.4 GHz RADIO registers.

The 2.4 GHz RADIO bus clock is kept active only in low-power modes, when STRADIOCLKON is set and/or RADIOEN and RADIOSMEN are set, and the 2.4 GHz RADIO is active.

12.4.13 2.4 GHz RADIO kernel clocks

The 2.4 GHz RADIO has different kernel clocks:

The 2.4 GHz RADIO baseband kernel clock is enabled by the BBCLKEN register bit. This clock has the HSE32 as its clock source. For this purpose, the HSE32 oscillator is enabled by hardware on a 2.4 GHz RADIO sleep timer wake-up event setting the STRADIOCLKON register bit, or by software setting the HSEON register bit. When the 2.4 GHz RADIO no longer needs the HSE32 and bus clocks, software must clear the BBCLKEN and STRADIOCLKON bits. If HSE32 is not used by any other function, it must also clear the HSEON bits.

Figure 39. Radio control

Figure 39. Radio control block diagram showing clock sources and control logic for the 2.4 GHz RADIO.

The diagram illustrates the clock control logic for the 2.4 GHz RADIO. On the left, various clock sources are shown: 'others' (HSI16), 'OSC HSI16', 'OSC_OUT' (HSE32 OSC 32 MHz), and 'OSC_IN' (HSE CSS). The 'others' and 'OSC HSI16' sources feed into a multiplexer labeled 'sysclk'. The 'HSE32 OSC 32 MHz' and 'HSE CSS' sources feed into a block labeled 'HSE32'. The 'HSE32' block has an 'enable' input and outputs 'HSE32' and 'HSE_RF'. The 'sysclk' output from the multiplexer goes to 'CPU hclk'. The 'HSE32' output goes to 'to 2.4 GHz RADIO kernel clock' through an 'EN' block labeled 'BBCLKEN'. The 'HSE_RF' output goes to 'to 2.4 GHz RADIO RF clock'. There are two 'OR' gates. The first 'OR' gate takes 'STRADIOCLKON' and 'RADIOEN' as inputs and its output goes to an 'EN' block labeled 'HPRE5', which then outputs 'to 2.4 GHz RADIO (hclk5)'. The second 'OR' gate takes 'HSEON' and 'RADIOEN' as inputs and its output goes to an 'EN' block, which then outputs 'to sysclk mux'. The diagram is labeled 'MSV55677V2' in the bottom right corner.

Figure 39. Radio control block diagram showing clock sources and control logic for the 2.4 GHz RADIO.

In range 2, the 2.4 GHz RADIO baseband kernel clock is divided by 4 by the hardware. The 2.4 GHz RADIO baseband kernel clock must be enabled to access the 2.4 GHz RADIO RXTX RAM or sequence RAM.

Moreover, the 2.4 GHz RADIO bus clock (hclk5) is enabled by hardware through the STRADIOCLKON bit, independently from the RADIOEN and RADIOSMEN bits. When the 2.4 GHz RADIO no longer needs its bus clock, software must clear the STRADIOCLKON bit. The STRADIOCLKON bit also keeps the 2.4 GHz RADIO bus clock and baseband kernel clock active when entering low-power modes.

Outside any scheduled radio activity, when in Run mode, software can enable the 2.4 GHz RADIO bus clock through the RADIOEN and RADIOSMEN register bits. In this case, the RADIOSMEN bit keeps the 2.4 GHz RADIO bus clock and baseband kernel clock active when entering low-power modes.

The 2.4 GHz RADIO sleep timer kernel clock source can be either the HSE32/1000, LSI, or LSE clock. LSI must be used only when its source is LSI2. It is selected by setting the RADIOSTSEL bits in the RCC backup domain control register (RCC_BDCR1) .

12.4.14 Timer kernel clock

The timer (TIM) kernel clock frequency is derived from the bus clock pclk. The frequency is automatically defined by hardware:

12.4.15 Independent watchdog kernel clock

The independent watchdog uses the LSI as the kernel clock.

If the independent watchdog (IWDG) is started by either user option bytes or software and the LSI clock is disabled (LSI1ON and LSI2ON are cleared), the LSI1 oscillator is forced on. After the LSI oscillator ready delay, the LSI clock is provided to the IWDG.

12.4.16 USB kernel clock

The USB uses the pll1pclk at 48 MHz as the kernel clock. Both the HSE32 and PLL1 shall be enabled.

12.4.17 XSPI feedback clock delay

The XSPI1 feedback clock delay is performed by the DLYBXS1 delay block. It allows for a delay to be added to the XSPI1 feedback clock (refer to Section 21: Delay block (DLYB) ).

12.4.18 SysTick calibration value register

The Cortex ® -M33 core with the TrustZone ® security extension embeds two SysTick timers.

When TrustZone ® is activated, the following SysTick timers are available:

When TrustZone ® is disabled, only one SysTick timer is available.

The Cortex ® -M33 SysTick timer calibration value (STCALIB) is 0x3E8. It gives a reference time base of 1 ms based on a SysTick clock frequency of 1 MHz. To match the 1 ms time base for an application running at a given frequency, the SysTick reload value must be programmed as follows in the Cortex ® -M33 SYST_RVR register:

Example: the SysTick clock source is the CPU clock hclk1 at 100 MHz, to match a time base of 1 ms:

\[ \text{SysTick reload value} = (100 \times STCALIB) - 1 = 0x0001\ 869F \]

Note: When using debug Stop mode (DBG_STOP), before the CPU enters DeepSleep it is considered good practice to have software disable the SysTick.

12.4.19 Clock-out capability

• MCO

The microcontroller clock output (MCO) capability allows the clock to be output onto the external MCO pin. One of the following clock signals can be selected as the MCO clock:

The selection is controlled by the MCOSEL bits in the RCC clock configuration register 1 (RCC_CFGR1) . The selected clock can be divided with the MCOPRE field in the RCC clock configuration register 1 (RCC_CFGR1) .

The MCO clock output requires the corresponding GPIO pin alternate function to select MCO.

• LSCO

Slow clock output (LSCO) allows one of the low-speed clocks to be output onto the external LSCO pin:

This output remains available in all Run, Sleep, Stop, and Standby modes. The selection is controlled by the LSCOSEL bit and enabled with the LSCOEN bit in the RCC backup domain control register (RCC_BDCR1) .

12.4.20 Internal/external clock measurement

The HSI16 and LSI frequency can be measured indirectly by the TIM16 or TIM17 channel 1 input capture and LPTIM1 or LPTIM2 channel 2 input capture.

HSI16 calibration using LSE

The primary purpose of connecting the LSE to the channel 1 input capture of TIM16 and TIM17 to the channel 2 input capture of LPTIM1 is to be able to measure the HSI16 frequency precisely. When using TIM16 or TIM17 for this purpose, the HSI16 must be used as the system clock source.

The number of HSI16 clock counts between two edges of the LSE signal provides a measure of the internal clock period. Taking advantage of the high precision of the LSE

crystal (typically a few hundred ppm), the internal clock frequency can be determined with a similar resolution, depending on the measurement time. The HSI16 can be trimmed to compensate for the process, temperature, and/or voltage-related frequency deviations.

The basic concept consists of providing a relative measurement (such as the HSI16/LSE ratio). The precision is therefore closely related to the ratio between the two clock sources: the higher the ratio, the better the measurement.

The HSI16 oscillator has dedicated user-accessible calibration bits (HSITRIM) for this purpose.

HSI16 calibration using HSE32

The HSE32 must be used as the system clock and the timer input capture must be connected to HSI16/256. TIM16 and TIM17 channel 1 input capture, as well as the LPTIM2 input capture 2, are connected to the divided oscillator only when TIMICSEL is set in the RCC peripherals independent clock configuration register 1 (RCC_CCIPR1) .

LSI calibration using HSE32

The calibration of the LSI follows the same principle as the HSI16 calibration, but with a change of the reference clock. The LSI clock must be connected to the channel 1 input capture of TIM16 or TIM17, or to the channel 2 input capture of LPTIM1. Then, HSE32 must be defined as the system clock source. The number of HSE32 clock counts between edges of the LSI signal provides a measure of the internal low-speed clock period.

The basic concept consists of providing a relative measurement (such as the HSE32/LSI ratio). The precision is therefore closely related to the ratio between the two clock sources: the higher the ratio, the better the measurement.

12.4.21 Audio synchronization

The audio synchronization system is used to provide capture compare information between the Bluetooth® LE radio packet timing and audio clock.

Before enabling the audio synchronization counter, the autoreload, clock prescaler, and capture prescaler must be provided.

A capture value of the counter and the capture prescaler value are updated on the first audio synchronization trigger event in the capture period. Any subsequent audio trigger synchronization events during this capture period are discarded. When enabled, an associated capture event interrupt can be generated.

After enabling the audio synchronization counter in CEN, the capture prescaler only starts counting the capture period after receiving a first synchronization from a Bluetooth® LE radio packet.

A capture error flag is set when no audio trigger synchronization event occurs during the capture period. When enabled, an associated capture error interrupt event can be generated.

The compare can be used to generate an interrupt when the counter reaches the compare value.

Refer to Figure 40: Audi synchronization counter block diagram below for the block diagram.

Figure 40. Audi synchronization counter block diagram

Block diagram of the Audi synchronization counter. The diagram shows a central Counter block connected to an Auto-reload block, a Clock prescaler, a Capture prescaler, a Compare block, and an Interrupt block. The Counter is connected to the Auto-reload block, the Clock prescaler, the Capture prescaler, the Compare block, and the Interrupt block. The Clock prescaler is connected to the audiosync_ker_ck input and the Counter. The Capture prescaler is connected to the audiosync_itr input and the Counter. The Compare block is connected to the Counter and the Interrupt block. The Interrupt block is connected to the audiosync_it output. The diagram is labeled MSv75935V1.

The diagram illustrates the internal architecture of the audio synchronization counter. It features a central Counter block. Above it, an Auto-reload block provides a reload value. To the left, a Clock prescaler receives the audiosync_ker_ck input and feeds into the Counter. Below the Clock prescaler, a Capture prescaler receives the audiosync_itr input and also feeds into the Counter. To the right of the Counter, a Capture block and a Compare block are shown. The Capture block receives input from the Counter and the Capture prescaler, and it connects to an Interrupt block. The Compare block also receives input from the Counter and connects to the same Interrupt block. The Interrupt block generates the audiosync_it output. An AHB bus interface is shown on the left, connected to the Counter and the Interrupt block. The diagram is labeled MSv75935V1 in the bottom right corner.

Block diagram of the Audi synchronization counter. The diagram shows a central Counter block connected to an Auto-reload block, a Clock prescaler, a Capture prescaler, a Compare block, and an Interrupt block. The Counter is connected to the Auto-reload block, the Clock prescaler, the Capture prescaler, the Compare block, and the Interrupt block. The Clock prescaler is connected to the audiosync_ker_ck input and the Counter. The Capture prescaler is connected to the audiosync_itr input and the Counter. The Compare block is connected to the Counter and the Interrupt block. The Interrupt block is connected to the audiosync_it output. The diagram is labeled MSv75935V1.

How to use the audio synchronization counter

In the example in Figure 41 below, the following parameters have been used:

Figure 41. Audio synchronization timing example

Timing diagram for audio synchronization showing audiosync_itr, counter, capture prescaler, capture, audiosync_it, and ENC signals over time. The diagram illustrates the capture of counter values N and M, and prescaler values 0 and TP. Interrupts ARF, CAF, and COF are shown. The counter period is defined by auto-reload events. The capture period is the time between the first and second audiosync_itr events. The capture value is updated only for the first audiosync_itr event in the capture period.

The diagram shows the timing for audio synchronization. The top signal is audiosync_itr , which generates pulses. Below it is the counter , which counts up to R0 (auto-reload) and then resets. The capture prescaler is set to 0 initially, then 1 , then TP , and finally 0 . The capture register stores values N and M . The audiosync_it signal shows interrupts ARF (auto-reload), CAF (capture), and COF (capture overflow). The ENC signal is the enable for the counter. The counter period is the time between two auto-reload events. The capture period is the time between the first and second audiosync_itr events.

Timing diagram for audio synchronization showing audiosync_itr, counter, capture prescaler, capture, audiosync_it, and ENC signals over time. The diagram illustrates the capture of counter values N and M, and prescaler values 0 and TP. Interrupts ARF, CAF, and COF are shown. The counter period is defined by auto-reload events. The capture period is the time between the first and second audiosync_itr events. The capture value is updated only for the first audiosync_itr event in the capture period.

The capture value is updated only for the first audiosync_itr event in the capture period. In the first capture period, counter value N and capture prescaler value 0 are captured. The capture period counter is only started after the very first audiosync_itr event, after enabling the audio synchronization counter with ENC . The other audiosync_itr events during this capture period are discarded. In the next capture period, counter value M and capture prescaler value 0 are captured.

The counter drift is calculated by software as follows:

\[ \text{Drift} = 10^6 \times (N - M) / (R \times TP) \quad (\text{ppm}) \]

The trigger event may be delayed due to missing received packets by the 2.4 GHz RADIO. The calculation must compensate for this delay.

Error handling

When no audiosync_itr event has been received during the capture period, a capture error interrupt is generated when enabled.

12.4.22 Peripheral clock gating and autonomous mode

Peripheral clock gating in Run mode

Each peripheral clock can be enabled by setting the corresponding EN bit in the RCC_AHBxENR and RCC_APBxENR registers.

When the peripheral clock is not active, read or write access operations to the peripheral registers are not supported.

The enable bit has a synchronization mechanism to create a glitch-free clock for the peripheral. After the enable bit is set, the clock is active after two cycles of the peripheral bus clock.

Caution: Just after enabling the peripheral clock, the software must wait for these two clock cycles before accessing the peripheral registers.

Peripherals clock gating in Sleep and Stop modes

When a peripheral is enabled in RCC_AHBxENR or RCC_APBxENR registers, its bus and kernel clocks can be automatically gated off when the device is in Sleep and Stop modes, by clearing the peripheral SMEN bit in the RCC_AHBxSMENR or RCC_APBxSMENR register. Both the EN and SMEN bits of the peripheral must be set to keep the peripheral bus and kernel clocks on in Sleep and Stop modes. Moreover, in Stop modes, the peripheral bus and kernel clocks are active only upon peripheral clock requests. This excludes the 2.4 GHz RADIO, which requests its bus clock independently from the setting in the RADIOEN and RADIOSMEN register bits.

The peripheral bus clock runs only in Sleep and Stop 0 modes.

The peripheral kernel clock runs only in Sleep and Stop 0, 1, and 2 modes.

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

Caution: All peripherals on the same bus, with the SMEN bit set, get a clock when an autonomous peripheral on this same bus requests its clock. Peripherals that are not supposed to be clocked in Stop mode must have their SMEN bit cleared.

Caution: The SMEN bit of the peripheral must be set to allow the generation of an interrupt capable of waking up the device from Sleep and Stop modes. This is not necessary when the peripheral wake-up interrupt is generated through the EXTI (GPIO and PVD).

Peripheral clock gating and autonomous mode in Stop modes

Some peripherals support autonomous mode (refer to Table 114: Autonomous peripherals ). These peripherals can generate a kernel clock request and an AHB/APB bus clock request when they need it, to operate and update their status register even in Stop 0, 1, and 2 modes. Depending on the peripheral configuration, either a DMA request or an interrupt can be associated with the peripheral event.

When the system enters a low-power mode (Stop or Standby) and an autonomous peripheral bus clock request is active, or upon an autonomous peripheral bus clock request during Stop mode, Stop 0 mode is entered and the HSI16 oscillator is kept active or woken up and selected as the SYSCLK. The bus clocks for all peripherals having their clock enabled through the EN and SMEN bits are activated.

Note: As soon as the CPU enters DeepSleep, the system enters Stop mode and the autonomous mode operation 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 mode and keep the system in Run with the configured Run mode SYSCLK clock frequency.

If the autonomous peripheral is configured with DMA requests enabled, a data transfer is performed using the peripheral bus clock. The bus clocks and the HSI16 oscillator are switched off automatically when the transfer is finished and no other peripheral requests its bus clock or HSI16 derived kernel clock.

If the autonomous peripheral is configured with interrupt enabled, the interrupt wakes up the device into Run mode.

The autonomous peripherals are autonomous in Stop 0 mode with the LPDMA1, SRAM1, and SRAM2, and are autonomous in Stop 1 and Stop 2 modes on their kernel clock.

There is no autonomous peripheral operation in Stop 3 mode.

Table 114 shows the list of peripherals with autonomous mode capability.

Table 114. Autonomous peripherals

DomainPeripheralAutonomous (1)Associated DMA (2)Associated SRAM (2)
Stop 0Stop 1Stop 2Stop 3
AHB1, APB1,
APB2
U(S)ART1YesNoLPDMA1SRAM1,
SRAM2
I2C1
LPTIM2
AHB4, APB7LPUART1YesYes (3)No
SPI3
I2C3
LPTIM1No
ADC4
AHB52.4 GHz RADIO +
RXTXRAM
Yes (4)No--

1. Enabled when both the EN and SMEN bits of the peripheral are set.

2. DMA and SRAM are only usable in Stop 0 and Stop 1 modes.

3. Without DMA.

4. Enabled when the 2.4 GHz RADIO STRADIOCLKON and BBCLKEN bits are set and the 2.4 GHz RADIO is active. Available only in Stop 0 range 1 and range 1.5.

For peripherals, the autonomous mode is enabled in Stop modes if both the EN and SMEN bits of the peripheral are set.

For the 2.4 GHz RADIO sleep timer it is operational in Stop 0, 1, and 2 modes and Standby with retention. Waking up from the sleep timer puts the system in Run mode and enables the 2.4 GHz RADIO bus clock. The 2.4 GHz RADIO active mode is enabled by software when, additionally, BBCLKEN bit is set, and allows autonomous operation in Stop 0 range 1 and range 1.5 mode.

If an autonomous peripheral requests its kernel clock in Stop 0, 1, and 2 modes, the internal oscillator (HSI16) is woken up if it was off and the kernel clock is propagated only to the peripheral requesting it, and the EN and SMEN bits of the peripheral are set. When the peripheral releases its kernel clock request, the HSI16 is switched off if no other peripheral requests it. Only the 2.4 GHz RADIO uses the HSE32 as the kernel clock, which is woken up, if it was off, by a 2.4 GHz RADIO each time it is woken up by the sleep timer.

If an autonomous peripheral requests its bus clock in Stop 0, 1, and 2 modes and the EN and SMEN bits of the peripheral are set, the internal oscillator (HSI16) is woken up, if it was off, and the system clock is propagated to all peripherals on the associated AHB bus configured with both the EN and SMEN bits of the peripheral set.

Caution: The bus clock propagates to all peripherals (autonomous and nonautonomous peripherals) on the same AHB bus that have both the EN SMEN bits set.

HSI16 can be forced to remain on in Stop 0, 1, and 2 modes by configuring HSIKERON in the RCC_CR register. In this case, the oscillator is propagated only to the peripheral kernel clocks of the enabled autonomous peripherals, which select this oscillator as the kernel clock. This allows the peripheral baud or conversion rates to increase, as there is no need to wait for the oscillator wake-up time when the peripheral requests its kernel clock.

The LSE or LSI always remains on in Stop modes and can be used as the kernel clock in Stop 0, 1, and 2 modes.

12.5 RCC security and privilege functional description

12.5.1 RCC TrustZone® security protection modes

TrustZone® security is activated by the TZEN user option bit in the FLASH_OPTR register. The RCC can secure RCC configuration and status bits from being modified by nonsecure access operations through the RCC secure configuration register (RCC_SECCFGR) . This prevents nonsecure access to reading or modifying the following features:

If SPRIV is set in the RCC privilege configuration register (RCC_PRIVCFGR) , the RCC_SECCFGR register can be written only by secure and privileged access. If SPRIV is cleared in RCC_PRIVCFGR, RCC_SECCFGR can be written only through secure access, privileged or unprivileged.

RCC_SECCFGR can be read through secure, nonsecure, privileged, and unprivileged access.

When a peripheral is configured as secure, its related clock, reset, clock source selection, and clock enable during low-power modes control bits are also secure (refer to Table 115: RCC security configuration summary ).

A peripheral is secure when:

Table 115 summarizes the RCC secured bits following the security configuration bit in the RCC_SECCFGR register.

When one security configuration bit is set, some configuration and status bits are secured. The RCC registers may contain secure and nonsecure bits:

When the TrustZone® security is disabled (TZEN = 0), all registers are nonsecure. RCC_SECCFGR write access operations are ignored.

Table 115. RCC security configuration summary

Configuration bit in RCC_SECCFGRSecured bitsCorresponding register
HSISECHSION, HSIKERON, HSIRDYRCC_CR
HSICAL, HSITRIMRCC_ICSCR3
HSIRDYIERCC_CIER
HSIRDYIFRCC_CIFR
HSIRDYCRCC_CICR
HSESECHSEON, HSERDY, HSECSSON, HSEPRERCC_CR
HSERDYIERCC_CIER
HSERDYIF, HSECSSFRCC_CIFR
HSERDYC, HSECSSCRCC_CICR
HSETRIMRCC_ECSCR1
LSISECLSI1ON, LSI1RDY, LSI1PREDIV, LSI2ON, LSI2RDY, LSCOSEL, LSCOENRCC_BDCR1
LSI2MODE, LSI2CFGRCC_BDCR2
LSI1RDYIERCC_CIER
LSI1RDYIFRCC_CIFR
LSI1RDYCRCC_CICR
LSESECLSECSSON, LSECSSD, LSEDRV, LSEBYP, LSERDY, LSEON, LSEGON, LSESYSRDY, LSESYSEN, LSCOSEL, LSCOENRCC_BDCR1
LSERDYIE, LSI2RDYIERCC_CIER
LSERDYF, LSI2RDYFRCC_CIFR
LSERDYC, LSI2RDYCRCC_CICR
SYSCLKSECSW, SWS, MCOSEL, MCOPRERCC_CFGR1
SYSTICKSELRCC_CCIPR1
VOSPWR_VOSR

Table 115. RCC security configuration summary (continued)

Configuration bit in RCC_SECCFGRSecured bitsCorresponding register
PRESCSECHPRE, PPRE1, PPRE2RCC_CFGR2
PPRE7RCC_CFGR3
HPRE5, HDIV5RCC_CFGR4
PLL1SECPLL1SRC, PLL1RGE, PLL1FRACEN, PLL1M, PLL1PEN, PLL1QEN, PLL1REN, PLL1RCLKPRE, PLL1RCLKSTEP, PLL1RCLKPRERDYRCC_PLL1CFGR
PLL1N, PLL1P, PLL1Q, PLL1RRCC_PLL1DIVR
PLL1FRACNRCC_PLL1FRACR
PLL1RDY, PLL1ONRCC_CR
PLL1RDYIERCC_CIER
PLL1RDYFRCC_CIFR
PLL1RDYCRCC_CICR
RMVFSECRMVFRCC_CSR

12.5.2 RCC privilege protection modes

By default, after reset, all RCC registers can be read or written with both privileged and unprivileged access, except the RCC privilege configuration register (RCC_PRIVCFGR) , which can be written only with privileged access. RCC_PRIVCFGR can be read by secure and nonsecure, privileged and unprivileged access.

The SPRIV bit in RCC_PRIVCFGR can be written only with secure privileged access. This bit configures the privileged access of all RCC secure functions (as defined by the RCC secure configuration register (RCC_SECCFGR) or by the GTZC1_TZSC for securable peripherals, or by the peripheral itself in the case of TrustZone ® -aware peripherals).

When the SPRIV bit is set in RCC_PRIVCFGR:

The NSPRIV bit in RCC_PRIVCFGR can be written with privileged access only, secure or nonsecure. This bit configures the privileged access of all nonsecure RCC functions (as defined by RCC_SECCFGR, the GTZC1_TZSC for securable peripherals, or the peripheral itself for TrustZone ® -aware peripherals).

When the NSPRIV bit is set in RCC_PRIVCFGR:

12.6 RCC low-power modes

Stopping the system clock in Stop and Standby modes can be overridden for debugging by setting the DBG_STOP and/or DBG_STANDBY bits. For more details, refer to Section 41.13.4: Low-power mode emulation .

Note: When using debug Stop mode (DBG_STOP), a SysTick event wakes up the device. It is considered good practice that software disables the SysTick before the CPU enters DeepSleep.

When entering and exiting Stop modes, the system clock is HSI16. The user trim of HSI16 is kept.

When leaving the Standby modes, the system clock is HSI16. The user trim is lost.

If a flash memory programming operation is in progress, Stop and Standby mode entry is delayed until the flash memory interface access operation has finished. If access to the APB domain is ongoing, Stop and Standby mode entry is delayed until the APB access operation has finished. If an autonomous peripheral bus clock request is active, Stop 0 mode is entered. If another low-power mode (Stop or Standby) is selected in LPMS, entry to the selected low-power mode is delayed until the autonomous peripheral bus clock request is released.

12.7 RCC interrupts

Table 116 summarizes the interrupt sources and the way to control them.

Table 116. Interrupt sources and control

Interrupt vectorInterrupt event flagDescriptionEnable control bitInterrupt clear methodExit from Sleep modeExit from Stop, Standby modes
RCC/RCC_S (1)LSI1RDYFLSI1 readyLSI1RDYIESet LSI1RDYC to 1YesNo
LSI2RDYFLSI2 readyLSI2RDYIESet LSI2RDYC to 1
LSERDYFLSE readyLSERDYIESet LSERDYC to 1
HSIRDYFHSI16 readyHSIRDYIESet HSIRDYC to 1
HSERDYFHSE32 readyHSERDYIESet HSERDYC to 1
PLL1RDYFPLL1 readyPLL1RDYIESet PLL1RDYC to 1
TAMPITAMP3F (2)LSECSS failureLSECSSON and ITAMP3E (2) and ITAMP3IE (2)Set CITAMP3F (2) to 1YesYes
NMIHSECSSFHSECSS failureHSECSSON (3)Set HSECSSC to 1YesNo
AUDIOSYNCCAFCapture eventCAIEWrite CAF to 0YesNo
COFCompare eventCOIEWrite COF to 0
CAEFCapture error eventCAEIEWrite CAEF to 0
ARFAuto-reload eventARIEWrite ARF to 0
  1. 1. The RCC secure interrupt vector is used only when TrustZone ® is enabled.
  2. 2. The LSECSS failure event (LSECSSD) is connected to the TAMP internal tamper 3. To get the interrupt associated with this event, the internal tamper 3 and its interrupt must be enabled. The ITAMP3F, ITAMP3E, ITAMP3IE, and CITAMP3F bits are in the TAMP peripheral.
  3. 3. It is not possible to mask this interrupt when the security system feature is enabled (HSECSSON = 1).

12.8 RCC registers

12.8.1 RCC clock control register (RCC_CR)

Address offset: 0x000

Reset value: 0x0000 0500

Access: no wait state; word, half-word, and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.PLL1RDYPLL1ONRes.Res.Res.HSEPR
E
HSECS
SON
Res.HSE
RDY
HSE
ON
rrwrwrsrrw
1514131211109876543210
Res.Res.Res.Res.Res.HSIRDYHSIKERONHSIONRes.Res.Res.Res.Res.Res.Res.Res.
rrwrw

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

Bit 25 PLL1RDY : PLL1 clock ready flag

Set by hardware to indicate that the PLL1 is locked.

Access to the bit can be secured by RCC PLL1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: PLL1 unlocked

1: PLL1 locked (PLL1RDY remains set when PLL1 is selected as sysclk and PLL1 is disabled by HSECSS failure).

Bit 24 PLL1ON : PLL1 enable

Set and cleared by software to enable the main PLL.

Cleared by hardware when entering Stop or Standby modes and when PLL1 on HSE32 is selected as sysclk, on a HSECSS failure.

Access to the bit can be secured by RCC PLL1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: PLL1 off

1: PLL1 on

Bits 23:21 Reserved, must be kept at reset value.

Bit 20 HSEPRE : HSE32 clock for SYSCLK prescaler

Set and cleared by software to control the division factor of the HSE32 clock for SYSCLK.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HSE32 not divided, SYSCLK = HSE32

1: HSE32 divided, SYSCLK = HSE32/2

Bit 19 HSECSSON: HSE32 clock security system enable

Set by software to enable the HSE32 clock security system. When HSECSSON is set, the clock detector is enabled by hardware when the HSE32 oscillator is ready and disabled by hardware if a HSE32 clock failure is detected. This bit is set only and is cleared by reset.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HSE32 clock security system off (clock detector off)

1: HSE32 clock security system on (clock detector on if the HSE32 oscillator is stable, off if not).

Bit 18 Reserved, must be kept at reset value. Bit 17 HSERDY: HSE32 clock ready flag

Set by hardware to indicate that the HSE32 oscillator is stable. This bit is set both when HSE32 is enabled by software by setting HSEON and when requested as kernel clock by the 2.4 GHz RADIO.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HSE32 oscillator not ready

1: HSE32 oscillator ready to be used by the CPU.

Bit 16 HSEON: HSE32 clock enable

Set and cleared by software.

Cleared by hardware to stop the HSE32 clock for the CPU when entering Stop and Standby modes and on a HSECSS failure.

When the HSE32 is used as a 2.4 GHz RADIO kernel clock, enabled by RADIOEN and RADIOSMEN, and the 2.4 GHz RADIO is active, HSEON is not cleared when entering a low-power mode. In this case, only Stop 0 mode is entered as a low-power mode.

This bit cannot be reset if the HSE32 oscillator is used directly or indirectly as the system clock.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HSE32 oscillator not requested by the CPU.

1: HSE32 oscillator ON

Bits 15:11 Reserved, must be kept at reset value. Bit 10 HSIRDY: HSI16 clock ready flag

Set by hardware to indicate that HSI16 oscillator is stable. This bit is set only when HSI16 is enabled by software by setting HSION.

Access to the bit can be secured by RCC HSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HSI16 clock not ready

1: HSI16 clock ready

Note: Once the HSION bit is cleared, HSIRDY goes low after six HSI16 clock cycles.

Bit 9 HSIKERON : HSI16 enable for some peripheral kernels

Set and cleared by software to force the HSI16 oscillator on, even in Stop 0, 1, and 2 modes. Keeping the HSI16 oscillator on in Stop modes allows the communication speed not to be reduced by the HSI16 oscillator startup time. This bit has no effect on the HSION register bit value.

Cleared by hardware when entering Stop 3 and Standby modes.

Refer to Peripheral clock gating and autonomous mode for more details.

Access to the bit can be secured by RCC HSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect on HSI16 oscillator

1: HSI16 oscillator forced on even in Stop 0, 1, and 2 modes

Bit 8 HSION : HSI16 clock enable

Set and cleared by software.

Cleared by hardware when entering Stop and Standby modes.

Set by hardware to force the HSI16 oscillator on when exiting Stop and Standby modes.

Set by hardware to force the HSI16 oscillator on in case of clock security failure of the HSE32 crystal oscillator.

This bit is set by hardware if the HSI16 is used directly or indirectly as the system clock.

Access to the bit can be secured by RCC HSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HSI16 oscillator off

1: HSI16 oscillator on

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

12.8.2 RCC internal clock sources calibration register 3 (RCC_ICSCR3)

Address offset: 0x010

Reset value: 0x0010 0XXX

X is factory-programmed.

Access: no wait state; word, half-word, and byte access

Access to this register can be protected by RCC HSISEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HSITRIM[4:0]
rwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.HSICAL[11:0]
rrrrrrrrrrrr

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

Bits 20:16 HSITRIM[4:0] : HSI16 oscillator trimming

These bits provide an additional user-programmable trimming value that is added to the HSICAL[11:0] bits. It can be programmed to adjust to voltage and temperature variations that influence the frequency of the HSI16.

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

Bits 11:0 HSICAL[11:0] : HSI16 oscillator calibration

These bits are initialized at startup with the factory-programmed HSI16 calibration value.

12.8.3 RCC clock configuration register 1 (RCC_CFGR1)

Address offset: 0x01C

Reset value: 0x0000 0000

Access: 0 ≤ wait state ≤ 2; word, half-word, and byte access

One or two wait states are inserted only if access occurs during a clock source switch.

Access to this register can be protected by RCC SYSCLKSEC and RCC SPRIV, or RCC NSPRIV.

31302928272625242322212019181716
Res.MCOPRE[2:0]MCOSEL[3:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.
rwrwrwrwrwrwrw

1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SWS[1:0]SW[1:0]
rrrwrw

Bit 31 Reserved, must be kept at reset value.

Bits 30:28 MCOPRE[2:0] : microcontroller clock output prescaler

Set and cleared by software.

It is highly recommended to change this prescaler before MCO output is enabled.

000: MCO divided by 1

001: MCO divided by 2

010: MCO divided by 4

011: MCO divided by 8

100: MCO divided by 16

others: not allowed

Bits 27:24 MCOSEL[3:0] : microcontroller clock output

Set and cleared by software.

0000: MCO output disabled, no clock on MCO

0001: sysclkpre system clock after PLL1RCLKPRE division selected

0011: HSI16 clock selected

0100: HSE32 clock selected

0101: pll1rclk clock selected

0110: LSI clock selected

0111: LSE clock selected

1000: pll1pclck clock selected

1001: pll1qclck clock selected

1010: hclk5 clock selected

others: reserved

Note: This clock output may have some truncated cycles at startup or during MCO clock source switching.

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

Bits 3:2 SWS[1:0] : system clock switch status

Set and cleared by hardware to indicate which clock source is used as system clock.

00: HS116 oscillator used as system clock

01: reserved

10: HSE32 or HSE32/2, as defined by HSEPRE, used as system clock

11: pll1rclk used as system clock

Bits 1:0 SW[1:0] : system clock switch

Set and cleared by software to select system clock source (SYSCLK).

Cleared by hardware when entering Stop and Standby modes

When selecting HSE32 directly or indirectly as system clock and HSE32 oscillator clock security fails, cleared by hardware.

00: HS116 selected as system clock

01: reserved

10: HSE32 or HSE32/2, as defined by HSEPRE, selected as system clock

11: pll1rclk selected as system clock

12.8.4 RCC clock configuration register 2 (RCC_CFGR2)

Address offset: 0x020

Reset value: 0x0000 0000

Access: word, half-word, and byte access

From 0 to 15 wait states are inserted if access occurs when the APB or AHB prescalers values update is on going.

Access to this register can be protected by RCC PRESCSEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.PPRE2[2:0]Res.PPRE1[2:0]Res.HPRE[2:0]
rwrwrwrwrwrwrwrwrw

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

Bits 10:8 PPRE2[2:0] : APB2 prescaler

Set and cleared by software to control the division factor of the APB2 clock (pclk2).

0xx: pclk2 = hclk1 not divided

100: pclk2 = hclk1 divided by 2

101: pclk2 = hclk1 divided by 4

110: pclk2 = hclk1 divided by 8

111: pclk2 = hclk1 divided by 16

Bit 7 Reserved, must be kept at reset value.

Bits 6:4 PPRE1[2:0] : APB1 prescaler

Set and cleared by software to control the division factor of the APB1 clock (pclk1).

0xx: pclk1 = hclk1 not divided

100: pclk1 = hclk1 divided by 2

101: pclk1 = hclk1 divided by 4

110: pclk1 = hclk1 divided by 8

111: pclk1 = hclk1 divided by 16

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 HPRE[2:0] : AHB1, AHB2, and AHB4 prescaler

Set and cleared by software to control the division factor of the AHB1, AHB2, and AHB4 clock (hclk1).

Caution: The software must limit the incremental frequency step by setting these bits correctly to ensure that the hclk1 maximum incremental frequency step does not exceed the maximum allowed incremental frequency step (for more details, refer to Table 109: SYSCLK and bus maximum frequency ). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account.

0xx: hclk1 = SYSCLK not divided

100: hclk1 = SYSCLK divided by 2

101: hclk1 = SYSCLK divided by 4

110: hclk1 = SYSCLK divided by 8

111: hclk1 = SYSCLK divided by 16

12.8.5 RCC clock configuration register 3 (RCC_CFGR3)

Address offset: 0x024

Reset value: 0x0000 0000

Access: word, half-word, and byte access

From 0 to 15 wait states are inserted if access occurs when the APB or AHB prescalers values update is on going.

Access to this register can be protected by RCC PRECSEC and RCC SPRIV or RCC 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.PPRE7[2:0]Res.Res.Res.Res.
rwrwrw

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

Bits 6:4 PPRE7[2:0] : APB7 prescaler

Set and cleared by software to control the division factor of the APB7 clock (pclk7).

0xx: hclk1 not divided

100: hclk1 divided by 2

101: hclk1 divided by 4

110: hclk1 divided by 8

111: hclk1 divided by 16

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

12.8.6 RCC PLL1 configuration register (RCC_PLL1CFGR)

Address offset: 0x028

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte access.

Access to this register can be protected by RCC PLL1SEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.PLL1R
CLKPR
ERDY
PLL1R
CLKPR
ESTEP
PLL1R
CLKPR
E
Res.PLL1R
EN
PLL1Q
EN
PLL1P
EN
rrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.PLL1M[2:0]Res.Res.Res.PLL1F
RACEN
PLL1RGE[1:0]PLL1SRC[1:0]
rwrwrwrwrwrwrwrw

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

Bit 22 PLL1RCLKPRERDY : sysclkpre not divided ready.

Set by hardware after PLL1RCLKPRE has been set from divided to not divide, to indicate that the pll1rclk not divided is available on sysclkpre.

0: sysclkpre divided

1: sysclkpre not divided ready

Bit 21 PLL1RCLKPRESTEP : pll1rclk clock for SYSCLK prescaler division step selection

Set and cleared by software to control the division step of the pll1rclk clock for SYSCLK.

0: pll1rclk 2-step division

1: pll1rclk 3-step division

Bit 20 PLL1RCLKPRE : pll1rclk clock for SYSCLK prescaler division enable

Set and cleared by software to control the division of the pll1rclk clock for SYSCLK.

0: pll1rclk not divided, sysclkpre = pll1rclk

1: pll1rclk divided, sysclkpre = pll1rclk divided

Bit 19 Reserved, must be kept at reset value.

Bit 18 PLL1REN : PLL1 DIVR divider output enable

Set and cleared by software to enable the pll1rclk output of the PLL1.

To save power, the PLL1REN and PLL1R bits must be set to 0 when the pll1rclk is not used.

0: pll1rclk output disabled

1: pll1rclk output enabled

Bit 17 PLL1QEN : PLL1 DIVQ divider output enable

Set and reset by software to enable the pll1qclk output of the PLL1.

To save power, the PLL1QEN and PLL1Q bits must be set to 0 when the pll1qclk is not used.

0: pll1qclk output disabled

1: pll1qclk output enabled

Bit 16 PLL1PEN : PLL1 DIVP divider output enable

Set and reset by software to enable the pll1pclck output of the PLL1.

To save power, the PLL1PEN and PLL1P bits must be set to 0 when the pll1pclck is not used.

0: pll1pclck output disabled

1: pll1pclck output enabled

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

Bits 10:8 PLL1M[2:0] : Prescaler for PLL1

Set and cleared by software to configure the prescaler of the PLL1. The VCO1 input frequency is PLL1 input clock frequency/PLL1M.

This field can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).

000: division by 1 (bypass)

001: division by 2

010: division by 3

...

111: division by 8

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

Bit 4 PLL1FRACEN : PLL1 fractional latch enable

Set and reset by software to latch the content of PLL1FRACN into the \( \Sigma\Delta \) modulator.

In order to latch the PLL1FRACN value into the \( \Sigma\Delta \) modulator, PLL1FRACEN must be set to 0, then set to 1: the transition 0 to 1 transfers the content of PLL1FRACN into the modulator (see PLL1 for details).

Bits 3:2 PLL1RGE[1:0] : PLL1 input frequency range

Set and reset by software to select the proper reference frequency range used for PLL1.

This field can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).

00-01-10: PLL1 input (ref_ck) clock range frequency between 4 and 8 MHz

11: PLL1 input (ref_ck) clock range frequency between 8 and 16 MHz

Bits 1:0 PLL1SRC[1:0] : PLL1 entry clock source

Set and cleared by software to select PLL1 clock source. This field can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).

Cleared by hardware when entering Stop or Standby modes.

00: no clock sent to PLL1

01: reserved

10: HS116 clock selected as PLL1 clock entry

11: HSE32 clock after HSEPRE divider selected as PLL1 clock entry

Note: In order to save power, when no PLL1 clock is used, the value of PLL1SRC must be 0.

12.8.7 RCC PLL1 dividers register (RCC_PLL1DIVR)

Address offset: 0x034

Reset value: 0x0101 0280

Access: no wait state; word, half-word, and byte access.

Access to this register can be protected by RCC PLL1SEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.PLL1R[6:0]Res.PLL1Q[6:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
PLL1P[6:0]PLL1N[8:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bits 30:24 PLL1R[6:0] : PLL1 DIVR division factor

Set and reset by software to control the frequency of the pll1rclk clock. Division factors are forbidden if VCO frequency / (2 x (TRUNC(division factor / 2)) > pll1rclk maximum frequency.

These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).

0000000: pll1rclk = VCO output frequency

0000001: pll1rclk = VCO output frequency / 2 (default after reset)

0000010: pll1rclk = VCO output frequency / 3

0000011: pll1rclk = VCO output frequency / 4

...

1111111: pll1rclk = VCO output frequency / 128

Bit 23 Reserved, must be kept at reset value.

Bits 22:16 PLL1Q[6:0] : PLL1 DIVQ division factor

Set and reset by software to control the frequency of the pll1qclk clock. Division factors are forbidden if VCO frequency / (2 x (TRUNC(division factor / 2)) > pll1qclk maximum frequency.

These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).

0000000: pll1qclk = VCO output frequency

0000001: pll1qclk = VCO output frequency / 2 (default after reset)

0000010: pll1qclk = VCO output frequency / 3

0000011: pll1qclk = VCO output frequency / 4

...

1111111: pll1qclk = VCO output frequency / 128

Bits 15:9 PLL1P[6:0] : PLL1 DIVP division factor

Set and reset by software to control the frequency of the pll1pclck clock. Division factors are forbidden if VCO frequency / (2 x (TRUNC(division factor / 2)) > pll1pclck maximum frequency.

These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).

0000000: pll1pclck = VCO output frequency

0000001: pll1pclck = VCO output frequency / 2 (default after reset)

0000010: pll1pclck = VCO output frequency / 3

0000011: pll1pclck = VCO output frequency / 4

...

1111111: pll1pclck = VCO output frequency / 128

Bits 8:0 PLL1N[8:0] : Multiplication factor for PLL1 VCO

Set and reset by software to control the multiplication factor of the VCO.

These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).

0x003: multiplication factor for PLL1 VCO = 4

0x004: multiplication factor for PLL1 VCO = 5

0x005: multiplication factor for PLL1 VCO = 6

...

0x080: multiplication factor for PLL1 VCO = 129 (default after reset)

...

0x1FF: multiplication factor for PLL1 VCO = 512

others: reserved

VCO output frequency = \( F_{ref\_ck} \times \) multiplication factor for PLL1 VCO, when fractional value 0 has been loaded into PLL1FRACN, with:

12.8.8 RCC PLL1 fractional divider register (RCC_PLL1FRACR)

Address offset: 0x038

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte access.

Access to this register can be protected by RCC PLL1SEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
PLL1FRACN[12:0]Res.Res.Res.
rwrwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 15:3 PLL1FRACN[12:0] : Fractional part of the multiplication factor for PLL1 VCO

Set and reset by software to control the fractional part of the multiplication factor of the VCO.

These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO.

VCO output frequency = \( F_{ref\_ck} \times [ \text{multiplication factor for PLL1 VCO} + (\text{PLL1FRACN} / 2^{13}) ] \) , with:

To change the used fractional value on the fly even if the PLL1 is enabled, the application must proceed as follows:

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

12.8.9 RCC clock interrupt enable register (RCC_CIER)

Address offset: 0x050

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LSI2RDYIE
rw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.PLL1RDYIERes.HSERDYIEHSIRDYIERes.LSERDYIELSI1RDYIE
rwrwrwrwrw

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

Bit 16 LSI2RDYIE : LSI2 ready interrupt enable

Set and cleared by software to enable/disable interrupt caused by the LSI2 oscillator stabilization.

Access can be secured by RCC LSISEC. When secure, a nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Note: If the LSI2 is ready (LSI2RDY in RCC_CR is 1) before enabling LSI2RDYIE, the LSI2RDYF in RCC_CIFR is not set, and no interrupt is generated."

0: LSI2 ready interrupt disabled

1: LSI2 ready interrupt enabled

Note: This bit is reserved on STM32WBA25/23 devices.

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

Bit 6 PLL1RDYIE : PLL1 ready interrupt enable

Set and cleared by software to enable/disable interrupt caused by PLL1 lock.

Access to the bit can be secured by RCC PLL1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Note: If the PLL1 is ready (PLL1RDY in RCC_CR is 1) before enabling PLL1RDYIE, the PLL1RDYF in RCC_CIFR is not set, and no interrupt is generated.

0: PLL1 lock interrupt disabled

1: PLL1 lock interrupt enabled

Bit 5 Reserved, must be kept at reset value.

Bit 4 HSERDYIE: HSE32 ready interrupt enable

Set and cleared by software to enable/disable interrupt caused by the HSE32 oscillator stabilization.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Note: If the HSE is ready (HSERDY in RCC_CR is 1) before enabling HSERDYIE, the HSERDYF in RCC_CIFR is not set, and no interrupt is generated.

0: HSE32 ready interrupt disabled

1: HSE32 ready interrupt enabled

Bit 3 HSIRDYIE: HSI16 ready interrupt enable

Set and cleared by software to enable/disable interrupt caused by the HSI16 oscillator stabilization.

Access to the bit can be secured by RCC HSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Note: If the HSI is ready (HSIRDY in RCC_CR is 1) before enabling HSIRDYIE, the HSIRDYF in RCC_CIFR is not set, and no interrupt is generated.

0: HSI16 ready interrupt disabled

1: HSI16 ready interrupt enabled

Bit 2 Reserved, must be kept at reset value. Bit 1 LSERDYIE: LSE ready interrupt enable

Set and cleared by software to enable/disable interrupt caused by the LSE oscillator stabilization.

Access to the bit can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Note: If the LSE is ready (LSERDY in RCC_CR is 1) before enabling LSERDYIE, the LSERDYF in RCC_CIFR is not set, and no interrupt is generated.

0: LSE ready interrupt disabled

1: LSE ready interrupt enabled

Bit 0 LSIRDYIE: LSI1 ready interrupt enable

Set and cleared by software to enable/disable interrupt caused by the LSI1 oscillator stabilization.

Access to the bit can be secured by RCC LSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Note: If the LSI is ready (LSIRDY in RCC_CR is 1) before enabling LSIRDYIE, the LSIRDYF in RCC_CIFR is not set, and no interrupt is generated.

0: LSI1 ready interrupt disabled

1: LSI1 ready interrupt enabled

12.8.10 RCC clock interrupt flag register (RCC_CIFR)

Address offset: 0x054

Reset value: 0x0000 0000

Access: no wait state; word; half-word, and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LSI2RDYF
r
1514131211109876543210
Res.Res.Res.Res.Res.HSECSSFRes.Res.Res.PLL1RDYFRes.HSEARDYFHSIRDYFRes.LSEARDYFLSI1RDYF
rrrrrr

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

Bit 16 LSI2RDYF : LSI2 ready interrupt flag

Set by hardware when the LSI2 clock becomes stable and LSI2RDYIE is set.

Cleared by software setting the LSI2RDYC bit.

Access to the bit can be secured by RCC LSISEC. When secure, a nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: no clock ready interrupt caused by the LSI2 oscillator

1: clock ready interrupt caused by the LSI2 oscillator

Note: This bit is reserved on STM32WBA25/23 devices.

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

Bit 10 HSECSSF : HSE32 clock security system interrupt flag

Set by hardware when a clock security failure is detected in the HSE32 oscillator.

Cleared by software setting the HSECSSC bit.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: no clock security interrupt caused by HSE32 clock failure

1: clock security interrupt caused by HSE32 clock failure

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

Bit 6 PLL1RDYF : PLL1 ready interrupt flag

Set by hardware when the PLL1 locks and PLL1RDYIE is set.

Cleared by software setting the PLL1RDYC bit.

Access to the bit can be secured by RCC PLL1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: no clock ready interrupt caused by PLL1 lock

1: clock ready interrupt caused by PLL1 lock

Bit 5 Reserved, must be kept at reset value.

Bit 4 HSERDYF: HSE32 ready interrupt flag

Set by hardware when the HSE32 clock becomes stable and HSERDYIE is set.

Cleared by software setting the HSERDYC bit.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: no clock ready interrupt caused by the HSE32 oscillator

1: clock ready interrupt caused by the HSE32 oscillator

Bit 3 HSIRDYF: HSI16 ready interrupt flag

Set by hardware when the HSI16 clock becomes stable and HSIRDYIE is set in a response to setting HSION (see RCC_CR). When HSION is not set but the HSI16 oscillator is enabled by the peripheral through a clock request, this bit is not set and no interrupt is generated.

Access to the bit can be secured by RCC HSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Cleared by software setting the HSIRDYC bit.

0: no clock ready interrupt caused by the HSI16 oscillator

1: clock ready interrupt caused by the HSI16 oscillator

Bit 2 Reserved, must be kept at reset value. Bit 1 LSERDYF: LSE ready interrupt flag

Set by hardware when the LSE clock becomes stable and LSERDYIE is set.

Cleared by software setting the LSERDYC bit.

Access to the bit can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: no clock ready interrupt caused by the LSE oscillator

1: clock ready interrupt caused by the LSE oscillator

Bit 0 LSI1RDYF: LSI1 ready interrupt flag

Set by hardware when the LSI1 clock becomes stable and LSI1RDYIE is set.

Cleared by software setting the LSI1RDYC bit.

Access to the bit can be secured by RCC LSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: no clock ready interrupt caused by the LSI1 oscillator

1: clock ready interrupt caused by the LSI1 oscillator

12.8.11 RCC clock interrupt clear register (RCC_CICR)

Address offset: 0x058

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LSI2RD
YC
w
1514131211109876543210
Res.Res.Res.Res.Res.HSECSS
SC
Res.Res.Res.PLL1R
DYC
Res.HSERD
YC
HSIRD
YC
Res.LSErd
YC
LSI1RD
YC
wwwwww

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

Bit 16 LSI2RDYC : LSI2 ready interrupt clear

Writing this bit to 1 clears the LSI2RDYF flag. Writing 0 has no effect.

Access to the bit can be secured by RCC LSISEC. When secure, a nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Note: This bit is reserved on STM32WBA25/23 devices.

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

Bit 10 HSECSSC : High speed external clock security system interrupt clear

Setting this bit clears the HSECSSF flag. Clearing it has no effect.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

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

Bit 6 PLL1RDYC : PLL1 ready interrupt clear

Setting this bit clears the PLL1RDYF flag. Clearing it has no effect.

Access to the bit can be secured by RCC PLL1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Bit 5 Reserved, must be kept at reset value.

Bit 4 HSERDYC : HSE32 ready interrupt clear

Setting this bit clears the HSERDYF flag. Clearing it has no effect.

Access to the bit can be secured by RCC HSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Bit 3 HSIRDYC : HSI16 ready interrupt clear

Setting this bit clears the HSIRDYF flag. Clearing it has no effect.

Access to the bit can be secured by RCC HSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Bit 2 Reserved, must be kept at reset value.

Bit 1 LSERDYC : LSE ready interrupt clear

Setting this bit clears the LSERDYF flag. Clearing it has no effect.

Access to the bit can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

Bit 0 LSI1RDYC : LSI1 ready interrupt clear

Setting this bit clears the LSI1RDYF flag. Clearing it has no effect.

Access to the bit can be secured by RCC LSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

12.8.12 RCC AHB1 peripheral reset register (RCC_AHB1RSTR)

Address offset: 0x060

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.CRCRSTRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LPDMA1RST
rwrw

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

Bit 12 CRCRST : CRC reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC CRCSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset CRC

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

Bit 0 LPDMA1RST : LPDMA1 reset

Set and cleared by software.

Access can be secured by LPDMA1 SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset LPDMA1

12.8.13 RCC AHB2 peripheral reset register (RCC_AHB2RSTR)

Address offset: 0x064

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte access

31302928272625242322212019181716
Res.Res.XSPI1
RST
Res.Res.Res.Res.Res.OTFDE
C1RST
Res.PKARS
T
Res.Res.RNGR
ST
HASHR
ST
AESRS
T
rwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.GPIOH
RST
Res.Res.Res.Res.GPIOC
RST
GPIOB
RST
GPIOA
RST
rwrwrwrw

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

Bit 29 XSPI1RST : XSPI1 and DLYBXS1 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC XSPI1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset XSPI1 and DLYBXS1

Note: This bit is reserved on STM32WBA23xx devices

Bits 28:24 Reserved, must be kept at reset value.

Bit 23 OTFDEC1RST : OTFDEC1 reset

Set and cleared by software.

When TrustZone® is enabled (TZEN = 1) this bit is secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset OTFDEC1

Note: This bit is reserved on STM32WBA23xx devices

Bit 22 Reserved, must be kept at reset value.

Bit 21 PKARST : PKA reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC PKASEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset PKA

Bits 20:19 Reserved, must be kept at reset value.

Bit 18 RNGRST : Random number generator reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC RNGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset RNG

Bit 17 HASHRST : Hash reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC HASHSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset HASH

Bit 16 AESRST : AES hardware accelerator reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC AESSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset AES

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

Bit 7 GPIOHRST : IO port H reset

Set and cleared by software.

Access can be secured by GPIOH SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset IO port H

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

Bit 2 GPIOCRST : IO port C reset

Set and cleared by software.

Access can be secured by GPIOC SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset IO port C

Bit 1 GPIOBRST : IO port B reset

Set and cleared by software.

Access can be secured by GPIOB SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset IO port B

Bit 0 GPIOARST : IO port A reset

Set and cleared by software.

Access can be secured by GPIOA SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset IO port A

12.8.14 RCC AHB4 peripheral reset register (RCC_AHB4RSTR)

Address offset: 0x06C

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte 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.ADC4RSTRes.Res.Res.Res.Res.
rw

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

Bit 5 ADC4RST : ADC4 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC ADC4SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset ADC4 interface

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

12.8.15 RCC AHB5 peripheral reset register (RCC_AHB5RSTR)

Address offset: 0x070

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte 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.PTACONVRST
rw
RADIO RST
rw

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

Bit 1 PTACONVRST: PTACONV reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC PTACONVSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset PTACONV

Bit 0 RADIORST: 2.4 GHz RADIO reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC RADIOSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset 2.4 GHz RADIO

12.8.16 RCC APB1 peripheral reset register 1 (RCC_APB1RSTR1)

Address offset: 0x074

Reset value: 0x0000 0000

Access: no wait state; word; half-word and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.I2C1RST
rw
Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TIM2RST
rw

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

Bit 21 I2C1RST : I2C1 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC I2C1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset I2C1

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

Bit 0 TIM2RST : TIM2 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM2SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset TIM2

12.8.17 RCC APB1 peripheral reset register 2 (RCC_APB1RSTR2)

Address offset: 0x078

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte 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.LPTIM2
RST
Res.Res.Res.Res.Res.
rw

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

Bit 5 LPTIM2RST : LPTIM2 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPTIM2SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset LPTIM2

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

12.8.18 RCC APB2 peripheral reset register (RCC_APB2RSTR)

Address offset: 0x07C

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.USBRSTRes.Res.SAI1RSTRes.Res.TIM17RSTTIM16RSTRes.
rwrwrwrw
1514131211109876543210
Res.USART1RSTRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rw

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

Bit 24 USBRST : USB reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC USBSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset USB

Note: This bit is reserved on STM32WBA23xx devices

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

Bit 21 SAI1RST : SAI1 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC SAI1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset SAI1

Bits 20:19 Reserved, must be kept at reset value.

Bit 18 TIM17RST : TIM17 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM17SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset TIM17

Bit 17 TIM16RST : TIM16 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM16SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset TIM16

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

Bit 14 USART1RST : USART1 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC USART1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset USART1

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

12.8.19 RCC APB7 peripheral reset register (RCC_APB7RSTR)

Address offset: 0x080

Reset value: 0x0000 0000

Access: no wait state; word, half-word, and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.LPTIM1
RST
Res.Res.Res.I2C3RS
T
LPUART1
RST
SPI3R
ST
Res.Res.Res.SYSCF
GRST
Res.
rwrwrwrwrw

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

Bit 11 LPTIM1RST : LPTIM1 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPTIM1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset LPTIM1

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

Bit 7 I2C3RST : I2C3 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC I2C3 SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset I2C3

Bit 6 LPUART1RST : LPUART1 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPUART1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset LPUART1

Bit 5 SPI3RST : SPI3 reset

Set and cleared by software.

Access can be secured by GTZC1_TZSC SPI3SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset SPI3

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

Bit 1 SYSCFGRST : SYSCFG reset

Set and cleared by software.

Access can be secured by SYSCFG SYSCFGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: No effect

1: Reset SYSCFG

Bit 0 Reserved, must be kept at reset value.

12.8.20 RCC AHB1 peripheral clock enable register (RCC_AHB1ENR)

Address offset: 0x088

Reset value: 0x8000 0100

Access: no wait state; word, half-word, and byte access

Note: When the peripheral clock is not active, the peripheral registers read or write access is not supported.

31302928272625242322212019181716
SRAM1ENRes.Res.Res.Res.Res.Res.GTZC1ENRes.Res.Res.Res.Res.Res.RAMCFGENRes.
rwrwrw
1514131211109876543210
Res.Res.Res.CRCEINRes.Res.Res.FLASHENRes.Res.Res.Res.Res.Res.Res.LPDMA1EN
rwrwrw

Bit 31 SRAM1EN : SRAM1 bus clock enable

Set and reset by software.

Access can be secured by GTZC1_MPCBB1 SECx, INVSECSTATE. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SRAM1 bus clock disabled

1: SRAM1 bus clock enabled

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

Bit 24 GTZC1EN : GTZC1 bus clock enable

Set and reset by software.

Can only be accessed secure when device is secure (TZEN = 1). When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: GTZC1 bus clock disabled

1: GTZC1 bus clock enabled

Bits 23:18 Reserved, must be kept at reset value.

Bit 17 RAMCFGEN : RAMCFG bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC RAMCFGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: RAMCFG bus clock disabled

1: RAMCFG bus clock enabled

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

Bit 12 CRCEN : CRC bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC CRCSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: CRC bus clock disabled

1: CRC bus clock enabled

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

Bit 8 FLASHEN : FLASH bus clock enable

Set and cleared by software. This bit can be disabled only when the Flash memory is in power down mode.

Can only be accessed secured when the Flash security state is secure. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: FLASH bus clock disabled

1: FLASH bus clock enabled

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

Bit 0 LPDMA1EN : LPDMA1 bus clock enable

Set and cleared by software.

Access can be secured by LPDMA1 SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LPDMA1 bus clock disabled

1: LPDMA1 bus clock enabled

12.8.21 RCC AHB2 peripheral clock enable register (RCC_AHB2ENR)

Address offset: 0x08C

Reset value: 0x4000 0000

Access: no wait state; word, half-word, and byte access

Note: When the peripheral clock is not active, the peripheral registers read or write access is not supported.

31302928272625242322212019181716
Res.SRAM2ENXSPI1ENRes.Res.Res.Res.Res.OTFDEC1ENRes.PKAENRes.Res.RNGENHASHENAESEN
rwrwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.GPIOHENRes.Res.Res.Res.GPIOCENGPIOBENGPIOAEN
rwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bit 30 SRAM2EN : SRAM2 bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_MPCBB2 SECx, INVSECSTATE. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SRAM2 bus clock disabled

1: SRAM2 bus clock enabled

Bit 29 XSPI1EN : XSPI1 and DLYBXS1 bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC XSPI1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: XSPI1 and DLYBXS1 bus clock disabled

1: XSPI1 and DLYBXS1 bus clock enabled

Note: This bit is reserved on STM32WBA23xx devices

Bits 28:24 Reserved, must be kept at reset value.

Bit 23 OTFDEC1EN : OTFDEC1 bus clock enable

Set and cleared by software.

When TrustZone® is enabled (TZEN = 1) this bit is secure, a nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: OTFDEC1 bus clock disabled

1: OTFDEC1 bus clock enabled

Note: This bit is reserved on STM32WBA23xx devices

Bit 22 Reserved, must be kept at reset value.

Bit 21 PKAEN : PKA bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC PKASEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: PKA bus clock disabled

1: PKA bus clock enabled

Bits 20:19 Reserved, must be kept at reset value.

Bit 18 RNGEN : RNG bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC RNGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: RNG bus and kernel clocks disabled

1: RNG bus and kernel clocks enabled

Bit 17 HASHEN : HASH bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC HASHSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HASH bus clock disabled

1: HASH bus clock enabled

Bit 16 AESEN : AES bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC AESSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: AES bus clock disabled

1: AES bus clock enabled

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

Bit 7 GPIOHEN : IO port H bus clock enable

Set and cleared by software.

Access can be secured by GPIOH SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: IO port H bus clock disabled

1: IO port H bus clock enabled

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

Bit 2 GPIOCEN : IO port C bus clock enable

Set and cleared by software.

Access can be secured by GPIOC SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: IO port C bus clock disabled

1: IO port C bus clock enabled

Bit 1 GPIOBEN : IO port B bus clock enable

Set and cleared by software.

Access can be secured by GPIOB SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: IO port B bus clock disabled

1: IO port B bus clock enabled

Bit 0 GPIOAEN : IO port A bus clock enable

Set and cleared by software.

Access can be secured by GPIOA SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: IO port A bus clock disabled

1: IO port A bus clock enabled

12.8.22 RCC AHB4 peripheral clock enable register (RCC_AHB4ENR)

Address offset: 0x094

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

Note: When the peripheral clock is not active, the peripheral registers read or write access is not supported.

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.ADC4E
N
Res.Res.PWRE
N
Res.Res.
rwrw

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

Bit 5 ADC4EN : ADC4 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC ADC4SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: ADC4 bus and kernel clocks disabled

1: ADC4 bus and kernel clocks enabled

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

Bit 2 PWREN : PWR bus clock enable

Set and cleared by software.

Can only be accessed secure when one or more features in the PWR is/are secure. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: PWR bus clock disabled

1: PWR bus clock enabled

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

12.8.23 RCC AHB5 peripheral clock enable register (RCC_AHB5ENR)

Address offset: 0x098

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

Note: When the peripheral clock is not active, the peripheral registers read or write access is not supported.

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.PTACONV
EN
RADIO
EN
rwrw

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

Bit 1 PTACONV : PTACONV bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC PTACONVSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: PTACONV bus clock disabled

1: PTACONV bus clock enabled

Bit 0 RADIOEN : 2.4 GHz RADIO bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC RADIOSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: 2.4 GHz RADIO bus clock disabled (The 2.4 GHz RADIO bus clock may still be enabled by STRADIOCLKON)

1: 2.4 GHz RADIO bus clock enabled

Note: Before accessing the 2.4 GHz RADIO sleep timers registers the RADIOCLKRDY bit must be checked.

When RADIOSMEN and STRADIOCLKON are both cleared, the RADIOCLKRDY bit must be re-checked when exiting low-power modes (Sleep and Stop).

12.8.24 RCC APB1 peripheral clock enable register 1 (RCC_APB1ENR1)

Address offset: 0x09C

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

Note: When the peripheral clock is not active, the peripheral registers read or write access is not supported.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.I2C1ENRes.Res.Res.Res.Res.
rw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TIM2EN
rw

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

Bit 21 I2C1EN : I2C1 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC I2C1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: I2C1 bus and kernel clocks disabled

1: I2C1 bus and kernel clocks enabled

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

Bit 0 TIM2EN : TIM2 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM2SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: TIM2 bus and kernel clocks disabled

1: TIM2 bus and kernel clocks enabled

12.8.25 RCC APB1 peripheral clock enable register 2 (RCC_APB1ENR2)

Address offset: 0x0A0

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

Note: When the peripheral clock is not active, the peripheral registers read or write access is not supported.

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.LPTIM2
EN
Res.Res.Res.Res.Res.
rw

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

Bit 5 LPTIM2EN : LPTIM2 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPTIM2SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LPTIM2 bus and kernel clocks disabled

1: LPTIM2 bus and kernel clocks enabled

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

12.8.26 RCC APB2 peripheral clock enable register (RCC_APB2ENR)

Address offset: 0x0A4

Reset value: 0x0000 0000

Access: word, half-word half-word, and byte access

Note: When the peripheral clock is not active, the peripheral registers read or write access is not supported.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.USBENRes.Res.SAI1E
N
Res.Res.TIM17E
N
TIM16E
N
Res.
rwrwrwrw
1514131211109876543210
Res.USART
1EN
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rw

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

Bit 24 USBEN : USB bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC USBSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: USB bus and kernel clocks disabled

1: USB bus and kernel clocks enabled

Note: This bit is reserved on STM32WBA23xx devices

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

Bit 21 SAI1EN : SAI1 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC SAI1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SAI1 bus and kernel clocks disabled

1: SAI1 bus and kernel clocks enabled

Bits 20:19 Reserved, must be kept at reset value.

Bit 18 TIM17EN : TIM17 bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM17SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: TIM17 bus clock disabled

1: TIM17 bus clock enabled

Bit 17 TIM16EN : TIM16 bus clock enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM16SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: TIM16 bus clock disabled

1: TIM16 bus clock enabled

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

Bit 14 USART1EN : USART1bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC USART1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: USART1 bus and kernel clocks disabled

1: USART1 bus and kernel clocks enabled

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

12.8.27 RCC APB7 peripheral clock enable register (RCC_APB7ENR)

Address offset: 0x0A8

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

Note: When the peripheral clock is not active, the peripheral registers read or write access is not supported.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RTCAPBENRes.Res.Res.Res.Res.
rw
1514131211109876543210
Res.Res.Res.Res.LPTIM1ENRes.Res.Res.I2C3ENLPUART1ENSPI3ENRes.Res.Res.SYSCFGENRes.
rwrwrwrwrw

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

Bit 21 RTCAPBEN : RTC and TAMP bus clock enable

Set and cleared by software.

Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: RTC bus clock disabled

1: RTC bus clock enabled

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

Bit 11 LPTIM1EN : LPTIM1 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPTIM1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LPTIM1 bus and kernel clocks disabled

1: LPTIM1 bus and kernel clocks enabled

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

Bit 7 I2C3EN : I2C3 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC I2C3SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: I2C3 bus and kernel clocks disabled

1: I2C3 bus and kernel clocks enabled

Bit 6 LPUART1EN : LPUART1 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPUART1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LPUART1 bus and kernel clocks disabled

1: LPUART1 bus and kernel clocks enabled

Bit 5 SPI3EN : SPI3 bus and kernel clocks enable

Set and cleared by software.

Access can be secured by GTZC1_TZSC SPI3SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SPI3 bus and kernel clocks disabled

1: SPI3 bus and kernel clocks enabled

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

Bit 1 SYSCFGEN : SYSCFG bus clock enable

Set and cleared by software.

Access can be secured by SYSCFG SYSCFGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SYSCFG bus clock disabled

1: SYSCFG bus clock enabled

Bit 0 Reserved, must be kept at reset value.

12.8.28 RCC AHB1 peripheral clocks enable in Sleep and Stop modes register (RCC_AHB1SMENR)

Address offset: 0x0B0

Reset value: 0xFFFF FFFF

Access: no wait state; word, half-word half-word, and byte access

This register configures the clock gating only when the corresponding peripheral enable bit of the RCC_AHB1ENR register is set.

31302928272625242322212019181716
SRAM1 SMENRes.ICACHE SMENRes.Res.Res.Res.GTZC1 SMENRes.Res.Res.Res.Res.Res.RAMC FGSM ENRes.
rwrwrwrw
1514131211109876543210
Res.Res.Res.CRCS MENRes.Res.Res.FLASH SMENRes.Res.Res.Res.Res.Res.Res.LPDMA 1SMEN
rwrwrw

Bit 31 SRAM1SMEN : SRAM1 bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_MPCBB1 SECx, INVSECSTATE. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SRAM1 bus clock disabled by the clock gating during Sleep and Stop modes

1: SRAM1 bus clock enabled by the clock gating during Sleep and Stop modes

Bit 30 Reserved, must be kept at reset value.

Bit 29 ICACHESMEN : ICACHE bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC ICACHE_REGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: ICACHE bus clock disabled by the clock gating during Sleep and Stop modes

1: ICACHE bus clock enabled by the clock gating during Sleep and Stop modes

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

Bit 24 GTZC1SMEN : GTZC1 bus clock enable during Sleep and Stop modes

Set and cleared by software.

Can only be accessed secure when one device is secure (TZEN = 1). When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: GTZC1 bus clock disabled by the clock gating during Sleep and Stop modes

1: GTZC1 bus clock enabled by the clock gating during Sleep and Stop modes

Bits 23:18 Reserved, must be kept at reset value.

Bit 17 RAMCFGSMEN : RAMCFG bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC RAMCFGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: RAMCFG bus clock disabled by the clock gating during Sleep and Stop modes

1: RAMCFG bus clock enabled by the clock gating during Sleep and Stop modes

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

Bit 12 CRCSMEN : CRC bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC CRCSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: CRC bus clock disabled by the clock gating during Sleep and Stop modes

1: CRC bus clock enabled by the clock gating during Sleep and Stop modes

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

Bit 8 FLASHSMEN : FLASH bus clock enable during Sleep and Stop modes

Set and cleared by software.

Can only be accessed secured when the Flash security state is secure. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: FLASH bus clock disabled by the clock gating during Sleep and Stop modes

1: FLASH bus clock enabled by the clock gating during Sleep and Stop modes

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

Bit 0 LPDMA1SMEN : LPDMA1 bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by LPDMA1 SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LPDMA1 bus clock disabled by the clock gating during Sleep and Stop modes

1: LPDMA1 bus clock enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

12.8.29 RCC AHB2 peripheral clocks enable in Sleep and Stop modes register (RCC_AHB2SMENR)

Address offset: 0x0B4

Reset value: 0xFFFF FFFF

Access: no wait state; word, half-word half-word, and byte access

This register configures the clock gating only when the corresponding peripheral enable bit of the RCC_AHB2ENR is set.

31302928272625242322212019181716
Res.SRAM2 SMENXSPI1S MENRes.Res.Res.Res.Res.OTFDE C1SME NRes.PKASM ENRes.Res.RNGS MENHASHS MENAESSM EN
rwrwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.GPIOH SMENRes.Res.Res.Res.GPIOC SMENGPIOB SMENGPIOA SMEN
rwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bit 30 SRAM2SMEN : SRAM2 bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_MPCBB2 SECx, INVSECSTATE. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SRAM2 bus clock disabled by the clock gating during Sleep and Stop modes

1: SRAM2 bus clock enabled by the clock gating during Sleep and Stop modes

Bit 29 XSPI1SMEN : XSPI1 and DLYBXS1 bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC XSPI1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: XSPI1 and DLYBXS1 bus clock disabled by the clock gating during Sleep and Stop modes

1: XSPI1 and DLYBXS1 bus clock enabled by the clock gating during Sleep and Stop modes

Note: This bit is reserved on STM32WBA23xx devices

Bits 28:24 Reserved, must be kept at reset value.

Bit 23 OTFDEC1SMEN : OTFDEC1 bus clock enable during Sleep and Stop modes

Set and cleared by software.

When TrustZone® is enabled (TZEN = 1) this bit is secure and nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: OTFDEC1 bus clock disabled by the clock gating during Sleep and Stop modes

1: OTFDEC1 bus clock enabled by the clock gating during Sleep and Stop modes

Note: This bit is reserved on STM32WBA23xx devices

Bit 22 Reserved, must be kept at reset value.

Bit 21 PKASMEN : PKA bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC PKASEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: PKA bus clock disabled by the clock gating during Sleep and Stop modes

1: PKA bus clock enabled by the clock gating during Sleep and Stop modes

Bits 20:19 Reserved, must be kept at reset value.

Bit 18 RNGSMEN : Random number generator (RNG) bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC RNGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: RNG bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: RNG bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Bit 17 HASHSMEN : HASH bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC HASHSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HASH bus clock disabled by the clock gating during Sleep and Stop modes

1: HASH bus clock enabled by the clock gating during Sleep and Stop modes

Bit 16 AESSION : AES bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC AESSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: AES bus clock disabled by the clock gating during Sleep and Stop modes

1: AES bus clock enabled by the clock gating during Sleep and Stop modes

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

Bit 7 GPIOHSMEN : IO port H bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GPIOH SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: IO port H bus clock disabled by the clock gating during Sleep and Stop modes

1: IO port H bus clock enabled by the clock gating during Sleep and Stop modes

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

Bit 2 GPIOCSMEN : IO port C bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GPIOC SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: IO port C bus clock disabled by the clock gating during Sleep and Stop modes

1: IO port C bus clock enabled by the clock gating during Sleep and Stop modes

Bit 1 GPIOBSMEN : IO port B bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GPIOB SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: IO port B bus clock disabled by the clock gating during Sleep and Stop modes

1: IO port B bus clock enabled by the clock gating during Sleep and Stop modes

Bit 0 GPIOAMEN : IO port A bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GPIOA SECx. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: IO port A bus clock disabled by the clock gating during Sleep and Stop modes

1: IO port A bus clock enabled by the clock gating during Sleep and Stop modes

12.8.30 RCC AHB4 peripheral clocks enable in Sleep and Stop modes register (RCC_AHB4SMENR)

Address offset: 0x0BC

Reset value: 0xFFFF FFFF

Access: no wait state; word, half-word half-word, and byte access

This register configures the clock gating only when the corresponding peripheral enable bit of the RCC_AHB4ENR register is set.

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.ADC4SMENRes.Res.PWRSMENRes.Res.
rwrw

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

Bit 5 ADC4SMEN : ADC4 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC ADC4SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: ADC4 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: ADC4 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

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

Bit 2 PWRSMEN : PWR bus clock enable during Sleep and Stop modes

Set and cleared by software.

Can only be accessed secure when one or more features in the PWR is/are secure. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: PWR bus clock disabled by the clock gating during Sleep and Stop modes

1: PWR bus clock enabled by the clock gating during Sleep and Stop modes

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

12.8.31 RCC AHB5 peripheral clocks enable in Sleep and Stop modes register (RCC_AHB5SMENR)

Address offset: 0x0C0

Reset value: 0xFFFF FFFF

Access: no wait state; word, half-word half-word, and byte access

This register configures the clock gating only when the corresponding peripheral enable bit of the RCC_AHB5ENR register is set.

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.PTACONVSMENRADIO SMEN
rwrw

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

Bit 1 PTACONVSMEN : PTACONV bus clock enable during Sleep and Stop modes.

Set and cleared by software.

Access can be secured by GTZC1_TZSC PTACONVSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: PTACONV bus clock disabled by the clock gating during Sleep and Stop modes

1: PTACONV bus clock enabled by the clock gating during Sleep and Stop modes

Bit 0 RADIO SMEN : 2.4 GHz RADIO bus clock enable during Sleep and Stop modes when the 2.4 GHz RADIO is active.

Set and cleared by software.

Access can be secured by GTZC1_TZSC RADIOSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: 2.4 GHz RADIO bus clock disabled by the clock gating during Sleep and Stop modes (The 2.4 GHz RADIO bus clock may still be enabled by STRADIOCLKON)

1: 2.4 GHz RADIO bus clock enabled by the clock gating during Sleep and Stop modes when the 2.4 GHz RADIO is active

12.8.32 RCC APB1 peripheral clocks enable in Sleep and Stop modes register 1 (RCC_APB1SMENR1)

Address offset: 0x0C4

Reset value: 0xFFFF FFFF

Access: no wait state; word, half-word half-word, and byte access

This register configures the clock gating only when the corresponding peripheral enable bit of the RCC_APB1ENR1 register is set.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.I2C1S
MEN
Res.Res.Res.Res.Res.
rw

1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TIM2S
MEN
rw

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

Bit 21 I2C1SMEN : I2C1 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC I2C1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: I2C1 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: I2C1 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

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

Bit 0 TIM2SMEN : TIM2 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM2SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: TIM2 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: TIM2 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

12.8.33 RCC APB1 peripheral clocks enable in Sleep and Stop modes register 2 (RCC_APB1SMENR2)

Address offset: 0x0C8

Reset value: 0xFFFF FFFF

Access: no wait state; word, half-word half-word, and byte access

This register configures the clock gating only when the corresponding peripheral enable bit of the RCC_APB1ENR2 register is set.

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.LPTIM2
SMEN
Res.Res.Res.Res.Res.
rw

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

Bit 5 LPTIM2SMEN : LPTIM2 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPTIM2SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LPTIM2 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: LPTIM2 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

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

12.8.34 RCC APB2 peripheral clocks enable in Sleep and Stop modes register (RCC_APB2SMENR)

Address offset: 0x0CC

Reset value: 0xFFFF FFFF

Access: word, half-word half-word, and byte access

This register configures the clock gating only when the corresponding peripheral enable bit of the RCC_APB2ENR register is set.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.USBS
MEN
Res.Res.SAI1S
MEN
Res.Res.TIM17S
MEN
TIM16S
MEN
Res.
rwrwrwrw
1514131211109876543210
Res.USART
1SMEN
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rw

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

Bit 24 USBMSMEN : USB bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC USBSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: USB bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: USB bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit is reserved on STM32WBA23xx devices

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

Bit 21 SAI1MSMEN : SAI1 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC SAI1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SAI1 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: SAI1 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Bits 20:19 Reserved, must be kept at reset value.

Bit 18 TIM17MSMEN : TIM17 bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM17SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: TIM17 bus clock disabled by the clock gating during Sleep and Stop modes

1: TIM17 bus clock enabled by the clock gating during Sleep and Stop modes

Bit 17 TIM16MSMEN : TIM16 bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC TIM16SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: TIM16 bus clock disabled by the clock gating during Sleep and Stop modes

1: TIM16 bus clock enabled by the clock gating during Sleep and Stop modes

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

Bit 14 USART1MSMEN : USART1 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC USART1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: USART1 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: USART1 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

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

12.8.35 RCC APB7 peripheral clock enable in Sleep and Stop modes register (RCC_APB7SMENR)

Address offset: 0x0D0

Reset value: 0xFFFF FFFF

Access: no wait state; word, half-word half-word, and byte access

This register configures the clock gating only when the corresponding peripheral enable bit of the RCC_APB7ENR register is set.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RTCAPBSMENRes.Res.Res.Res.Res.
rw
1514131211109876543210
Res.Res.Res.Res.LPTIM1SMENRes.Res.Res.I2C3SMENLPUART1SMENSPI3SMENRes.Res.Res.SYSCFGSMENRes.
rwrwrwrwrw

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

Bit 21 RTCAPBSMEN : RTC and TAMP APB clock enable during Sleep and Stop modes

Set and cleared by software.

Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: RTC and TAMP APB clock disabled by the clock gating during Sleep and Stop modes

1: RTC and TAMP APB clock enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

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

Bit 11 LPTIM1SMEN : LPTIM1 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPTIM1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LPTIM1 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: LPTIM1 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

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

Bit 7 I2C3SMEN : I2C3 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software..

Access can be secured by GTZC1_TZSC I2C3SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: I2C3 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: I2C3 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

Bit 6 LPUART1SMEN : LPUART1 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC LPUART1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LPUART1 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: LPUART1 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

Bit 5 SPI3SMEN : SPI3 bus and kernel clocks enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by GTZC1_TZSC SPI3SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SPI3 bus and kernel clocks disabled by the clock gating during Sleep and Stop modes

1: SPI3 bus and kernel clocks enabled by the clock gating during Sleep and Stop modes

Note: This bit must be set to allow the peripheral to wake up from Stop modes.

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

Bit 1 SYSCFGSMEN : SYSCFG bus clock enable during Sleep and Stop modes

Set and cleared by software.

Access can be secured by SYSCFG SYSCFGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: SYSCFG bus clock disabled by the clock gating during Sleep and Stop modes

1: SYSCFG bus clock enabled by the clock gating during Sleep and Stop modes

Bit 0 Reserved, must be kept at reset value.

12.8.36 RCC peripherals independent clock configuration register 1 (RCC_CCIPR1)

Address offset: 0x0E0

Reset value: 0x0000 0000

Access: no wait states; word, half-word half-word, and byte access

31302928272625242322212019181716
TIMICSELRes.Res.Res.Res.Res.Res.Res.SYSTICKSEL[1:0]Res.Res.LPTIM2SEL[1:0]Res.Res.
rwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.I2C1SEL[1:0]Res.Res.Res.Res.Res.Res.Res.Res.USART1SEL[1:0]
rwrwrwrw

Bit 31 TIMICSEL : Clocks sources for TIM16, TIM17, and LPTIM2 internal input capture

When the TIMICSEL bit is set, the TIM16, TIM17, and LPTIM2 internal input capture can be connected to HSI16/256.

When TIMICSEL is cleared, the HSI16, clock sources cannot be selected as TIM16, TIM17, or LPTIM2 internal input capture.

Access can be secured by GTZC_TZSC TIM16SEC or GTZC_TZSC TIM17SEC, LPTIM2SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: HSI16 divider disabled

1: HSI16/256 generated and can be selected by TIM16, TIM17 and LPTIM2 as internal input capture

Note: The clock division must be disabled (TIMICSEL configured to 0) before selecting or changing a clock sources division.

Bits 30:24 Reserved, must be kept at reset value.

Bits 23:22 SYSTICKSEL[1:0] : SysTick clock source selection

These bits are used to select the SysTick clock source.

Access can be secured by RCC SYSCLKSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: hclk1 divided by 8 selected

01: LSI selected

10: LSE selected

11: HSI16 divided by 4

Note: When HSI16, LSE or LSI is selected, the AHB frequency must be at least four times higher than the LSI or LSE frequency. In addition, a jitter up to one hclk1 cycle is introduced, due to the LSE or LSI sampling with hclk1 in the SysTick circuitry.

Bits 21:20 Reserved, must be kept at reset value.

Bits 19:18 LPTIM2SEL[1:0] : Low-power timer 2 kernel clock source selection

These bits are used to select the LPTIM2 kernel clock source.

Access can be secured by GTZC1_TZSC LPTIM2SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: pclk1 selected

01: LSI selected

10: HSI16 selected

11: LSE selected

Note: The LPTIM2 is functional in Stop 0 and Stop 1 mode only when the kernel clock is LSI, LSE or HSI16 if HSIKERON = 1.

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

Bits 11:10 I2C1SEL[1:0] : I2C1 kernel clock source selection

These bits are used to select the I2C1 kernel clock source.

Access can be secured by GTZC1_TZSC I2C1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: pclk1 selected

01: SYSCLK selected

10: HSI16 selected

11: reserved

Note: The I2C1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI16.

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

Bits 1:0 USART1SEL[1:0] : USART1 kernel clock source selection

These bits are used to select the USART1 kernel clock source.

Access can be secured by GTZC1_TZSC USART1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: pclk2 selected

01: SYSCLK selected

10: HSI16 selected

11: LSE selected

Note: The USART1 is functional in Stop 0 and Stop 1 mode only when the kernel clock is HSI16 or LSE.

12.8.37 RCC peripherals independent clock configuration register 2 (RCC_CCIPR2)

Address offset: 0x0E4

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

31302928272625242322212019181716
Res.ASSELRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
rw
1514131211109876543210
Res.Res.RNGSEL[1:0]Res.Res.Res.Res.Res.SAI1SEL[2:0]Res.Res.Res.Res.Res.
rwrwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bit 30 ASSEL : RCC audio synchronization kernel clock source selection

This bit allow the selection of the audio synchronization kernel clock source.

Access can be secured by GTZC_TZSC SAI1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: pll1pclk selected

1: pll1qclk selected

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

Bits 13:12 RNGSEL[1:0] : RNG kernel clock source selection

These bits allow the selection of the RNG kernel clock source.

Access can be secured by GTZC1_TZSC RNGSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: LSE selected

01: LSI selected

10: HSI16 selected

11: pll1rclk divide by 2 selected

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

Bits 7:5 SAI1SEL[2:0] : SAI1 kernel clock source selection

These bits allow the selection of select the SAI1 kernel clock source.

Access can be secured by GTZC1_TZSC SAI1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

000: pll1pclk selected

001: pll1qclk selected

010: SYSCLK selected

011: input pin AUDIOCLK selected

100: HSI16 clock selected

others reserved

Note: If the selected clock is the external AUDIOCLK and this clock is stopped, a switch to another source is impossible.

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

12.8.38 RCC peripherals independent clock configuration register 3 (RCC_CCIPR3)

Address offset: 0x0E8

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.ADCSEL[2:0]LPTIM1SEL[1:0]Res.Res.I2C3SEL[1:0]Res.SPI3SEL[1:0]Res.LPUART1SEL[1:0]
rwrwrwrwrwrwrwrwrwrwrw

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

Bits 14:12 ADCSEL[2:0] : ADC4 kernel clock source selection

These bits are used to select the ADC4 kernel clock source.

Access can be secured by GTZC1_TZSC ADC4SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

000: hclk1 clock selected

001: SYSCLK selected

010: pll1pclk selected

011: HSE32 clock selected

100: HSI16 clock selected

others: reserved

Note: The ADC4 is functional in Stop 0 and Stop 1 modes only when the kernel clock is HSI16.

Bits 11:10 LPTIM1SEL[1:0] : LPTIM1 kernel clock source selection

These bits are used to select the LPTIM1 kernel clock source.

Access can be secured by GTZC1_TZSC LPTIM1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: pclk7 selected.

01: LSI selected

10: HSI16 selected

11: LSE selected

Note: The LPTIM1 is functional in Stop 0, 1, and 2 modes only when the kernel clock is LSI, LSE, HSI16 with HSIKERON = 1.

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

Bits 7:6 I2C3SEL[1:0] : I2C3 kernel clock source selection

These bits are used to select the I2C3 kernel clock source.

Access can be secured by GTZC1_TZSC I2C3SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: pclk7 selected

01: SYSCLK selected

10: HSI16 selected

11: reserved

Note: The I2C3 is functional in Stop 0, 1, and 2 modes only when the kernel clock is HSI16

Bit 5 Reserved, must be kept at reset value.

Bits 4:3 SPI3SEL[1:0] : SPI3 kernel clock source selection

These bits are used to select the SPI3 kernel clock source.

Access can be secured by GTZC1_TZSC SPI3SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: pclk7 selected

01: SYSCLK selected

10: HSI16 selected

11: reserved

Note: The SPI3 is functional in Stop 0, 1, and 2 mode only when the kernel clock is HSI16.

Bit 2 Reserved, must be kept at reset value.

Bits 1:0 LPUART1SEL[1:0] : LPUART1 kernel clock source selection

These bits are used to select the LPUART1 kernel clock source.

Access can be secured by GTZC1_TZSC LPUART1SEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: pclk7 selected

01: SYSCLK selected

10: HSI16 selected

11: LSE selected

Note: The LPUART1 is functional in Stop 0, 1, and 2 modes only when the kernel clock is HSI16 or LSE.

12.8.39 RCC backup domain control register (RCC_BDCR1)

Address offset: 0x0F0

Reset value: 0x0000 X008

Reset by a backup domain VDD reset and BDRST.

Where X (LSETRIM) is loaded with a factory-programmed value at BOR0 reset and OBL_LAUNCH when SBF is cleared.

Fields LSETRIM[1:0] and BDRST are reset only by backup domain power-on reset (BOR0), not reset by a BDRST reset.

Reset value is not affected by exiting Standby mode, nor by a system reset or BORx (x = 1 to 4). This does not apply to the LSIGATEEN and LSEGATEEN fields, which are also reset on a system reset.

Access: 0 ≤ wait state ≤ 3; word, half-word half-word, and byte access

Wait states are inserted in case of successive access operations to this register.

Note: The bits of this register, except BDRST, are outside the core domain. As a result, after reset, these bits are write-protected and the DBP bit in the Section 11.10.9: PWR disable backup domain register (PWR_DBPR) must be set before these can be modified (see Section 11: Power control (PWR) for further information).

31302928272625242322212019181716
LSICLKLSI2RDYLSI2ONLSI1PR
EDIV
LSI1RDYLSI1ONLSCOS
EL
LSCOE
N
LSEGA
TED
LSIGAT
ED
LSEGA
TEEN
LSIGAT
EEN
RADIOSTSEL[1:
0]
Res.BDRST
rrrwrwrrwrwrwrrrwrwrwrwrw
1514131211109876543210
Res.LSETRIM[1:0]LSEGF
ON
LSESY
SRDY
Res.RTCSEL[1:0]LSESY
SEN
LSECS
SD
LSECS
SON
LSEDRV[1:0]LSEBY
P
LSERD
Y
LSEON
rwrwrrwrwrwrrwrwrwrwrrw

Bit 31 LSICLK : LSI Low-speed clock signal ( non user )

Access can be secured by RCC LSISEC. When secure, nonsecure read access is RAZ. It does not generate an illegal access interrupt. This bit can be protected against unprivileged access when secure with RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSI clock signal low

1: LSI clock signal high

Bit 30 LSI2RDY : LSI2 oscillator ready

Set and cleared by hardware to indicate when the LSI2 oscillator is stable. After the LSI2ON bit is cleared, LSI2RDY goes low after three internal low-speed oscillator clock cycles.

Access can be secured by RCC LSISEC. When secure, a nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSI2 oscillator not ready

1: LSI2 oscillator ready

Note: This bit is reserved on STM32WBA25/23 devices.

Bit 29 LSI2ON: LSI2 oscillator enable

Set and cleared by software.

Access can be secured by RCC LSISEC. When secure, a nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSI2 oscillator off

1: LSI2 oscillator on

Note: This bit is reserved on STM32WBA25/23 devices.

Bit 28 LSI1PREDIV: LSI1 Low-speed clock divider configuration

Set and cleared by software to enable the LSI1 division. This bit can be written only when the LSI1 is disabled (LSI1ON = 0 and LSI1RDY = 0). The LSI1PREDIV cannot be changed if the LSI1 is used by the IWDG or by the RTC.

LSI1PREDIV write protection can be disabled by LSIKEYR.

Access can be secured by RCC LSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSI1 not divided

1: LSI1 divided by 128

Bit 27 LSI1RDY: LSI1 oscillator ready

Set and cleared by hardware to indicate when the LSI1 oscillator is stable. After the LSI1ON bit is cleared, LSI1RDY goes low after three internal low-speed oscillator clock cycles. This bit is set when the LSI1 is used by IWDG or RTC, even if LSI1ON = 0.

Access can be secured by RCC LSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSI1 oscillator not ready

1: LSI1 oscillator ready

Bit 26 LSI1ON: LSI1 oscillator enable

Set and cleared by software.

Access can be secured by RCC LSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSI1 oscillator off

1: LSI1 oscillator on

Bit 25 LSCOSEL: Low-speed clock output selection

Set and cleared by software.

Access can be secured by RCC LSISEC and/or RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSI clock selected

1: LSE clock selected

Bit 24 LSCOEN: Low-speed clock output (LSCO) enable

Set and cleared by software.

Access can be secured by RCC LSISEC and/or RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSCO disabled

1: LSCO enabled

Bit 23 LSEGATED : Digital domain low-speed LSE clock rated

Set and cleared by software.

LSE clock, when used by a peripheral, shall be gated before entering in Stop 3 mode.

Software shall wait for LSEGATED to be set before entering Stop 3 mode.

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

0: digital domain LSE clock not gated

1: digital domain LSE clock gated off

Note: When RTC select LSE as clock in RTCSEL and LSE clock is gated off, RTC will be reset.

Bit 22 LSIGATED : Digital domain low-speed LSI clock gated

Set and cleared by software.

LSI clock, when used by a peripheral, shall be gated before entering in Stop 3 mode.

Software shall wait for LSIGATED to be set before entering Stop 3 mode.

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

0: digital domain LSI clock not gated

1: digital domain LSI clock gated off

Note: When RTC select LSI as clock in RTCSEL and LSI clock is gated off, RTC will be reset.

Bit 21 LSEGATEEN : Digital domain low-speed LSE clock gating requested

Set and cleared by software.

LSE clock, when used by a peripheral, shall be gated before entering in Stop 3 mode.

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: digital domain no LSE clock gating request

1: digital domain LSE clock gating request

Bit 20 LSIGATEEN : Digital domain low-speed LSI clock gating requested

Set and cleared by software.

LSI clock, when used by a peripheral, shall be gated before entering in Stop 3 mode.

Access can be secured by RCC LSISEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: digital domain no LSI clock gating request

1: digital domain LSI clock gating request

Bits 19:18 RADIOSTSEL[1:0] : 2.4 GHz RADIO sleep timer kernel clock enable and selection

Set and cleared by software.

Access can be secured by GTZC1_TZSC RADIOSEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: no clock selected, 2.4 GHz RADIO sleep timer kernel clock disabled

01: LSE oscillator clock selected

10: Reserved

11: HSE32 oscillator clock divided by 1000 selected

Bit 17 Reserved, must be kept at reset value.

Bit 16 BDRST : Backup domain software reset

Set and cleared by software.

A backup domain reset is generated only when the backup domain access protection is disabled.

Can only be accessed secure when one or more features in the RTC or TAMP are secure.

When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: Reset not activated

1: Reset the entire Backup domain

Bit 15 Reserved, must be kept at reset value.

Bits 14:13 LSETRIM[1:0] : LSE trimming

These bits are initialized at startup and after OBL_LAUNCH with SBF cleared with the factory-programmed LSE calibration value.

Set and cleared by software. These bits must be modified only once after a BOR reset or an OBL_LAUNCH and before enabling LSE with LSEON (when both LSEON = 0 and LSERDY = 0).

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: current source resistance \( 5/4 \times R \)

01: current source resistance \( R \)

10: current source resistance \( 3/4 \times R \)

11: current source resistance \( 2/3 \times R \)

Note: OBL_LAUNCH of this field occurs only when SBF is cleared and must then only be started by software when LSE oscillator is disabled, LSEON = 0 and LSERDY = 0.

Bit 12 LSEGFON : LSE clock glitch filter enable

Set and cleared by hardware to enable the LSE glitch filter. This bit can be written only when the LSE is disabled (LSEON = 0 and LSERDY = 0).

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSE glitch filter disabled

1: LSE glitch filter enabled

Bit 11 LSESYSRDY : LSE system clock (LSESYS) ready

Set and cleared by hardware to indicate when the LSE system clock is stable. When the LSESYSEN bit is set, the LSESYSRDY flag is set after two LSE clock cycles.

The LSE clock must be already enabled and stable (LSEON and LSERDY are set).

When the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles.

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSESYS clock not ready

1: LSESYS clock ready

Bit 10 Reserved, must be kept at reset value.

Bits 9:8 RTCSEL[1:0]: RTC and TAMP kernel clock source enable and selection

Set by software to enable and select the clock source for the RTC.

Can only be accessed secure when one or more features in the RTC or TAMP is/are secure. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: no clock selected, RTC and TAMP kernel clock disabled

01: LSE oscillator clock selected, and enabled

10: LSI oscillator clock selected, and enabled

11: HSE32 oscillator clock divided by 32 selected, and enabled

Bit 7 LSESYSEN: LSE system clock (LSESYS) enable

Set by software to enable the LSE system clock generated by RCC. The lsesys clock is used for peripherals (USART, LPUART, LPTIM, RNG, 2.4 GHz RADIO) and functions (LSCO, MCO, TIM triggers, LPTIM trigger) excluding the RTC, TAMP and LSECSS.

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSESYS clock disabled

1: LSESYS clock enabled

Bit 6 LSECSSD: Low speed external clock security, LSE failure Detection

Set by hardware to indicate when a failure is detected by the LSECCS on the external 32 kHz oscillator.

Reset when LSCSSON bit is cleared.

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: no failure detected on LSE

1: failure detected on LSE

Bit 5 LSECSSON: Low speed external clock security enable

Set by software to enable the LSECSS. LSECSSON must be enabled after the LSE oscillator is enabled (LSEON bit enabled) and ready (LSERDY flag set by hardware) and after the RTCSEL bit is selected.

Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case, the software must disable the LSECSSON bit.

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSECSS disabled off

1: LSECSS enabled on

Bits 4:3 LSEDRV[1:0]: LSE oscillator drive capability

Set by software to modulate the drive capability of the LSE oscillator. LSEDRV must be programmed to a different value than 0 before enabling the LSE oscillator in 'Xtal' mode.

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

00: reserved

01: 'Xtal mode' medium-low driving capability

10: 'Xtal mode' medium-high driving capability

11: 'Xtal mode' higher driving capability

Note: The oscillator is in 'Xtal mode' when it is not in bypass mode.

Bit 2 LSEBYP : LSE oscillator bypass

Set and cleared by software to bypass oscillator. This bit can be written only when the external 32 kHz oscillator is disabled (LSEON = 0 and LSERDY = 0).

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSE oscillator 'Xtal' mode

1: LSE oscillator bypassed

Bit 1 LSERDY : LSE oscillator ready

Set and cleared by hardware to indicate when the external 32 kHz oscillator is stable. After the LSEON bit is cleared, LSERDY goes low after six external low-speed oscillator clock cycles.

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSE oscillator not ready

1: LSE oscillator ready

Bit 0 LSEON : LSE oscillator enable

Set and cleared by software.

Access can be secured by RCC LSESEC. When secure, nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0: LSE oscillator off

1: LSE oscillator on

12.8.40 RCC Backup domain control register (RCC_BDCR2)

Address offset: 0x0F8

Reset value: 0x0000 0000

(reset value not effected by exit Standby mode, nor by system reset or BORx (x = 1 to 4).

Access: 0 ≤ wait state ≤ 3; word, half-word, and byte access

Wait states are inserted in case of successive accesses to this register.

Access to this register can be protected by RCC SPRIV or RCC NSPRIV.

The bits of this register are outside the Core domain. As a result, after reset, they are write protected and the DBP bit in the PWR disable backup domain register (PWR_DBPR) must be set before they can be modified (see Section 11: Power control (PWR) for further information).

Note: This register is reserved on STM32WBA25/23 devices.

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.LSI2CFG[3:0]Res.LSI2MODE[2:0]
rwrwrwrwrwrwrw

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

Bits 7:4 LSI2CFG : LSI2 oscillator configuration

Set and cleared by software to control the temperature at which the frequency temperature sensitivity is close to 0.

Access can be secured by RCC LSISEC. When secure, a nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0x0: LSI2 frequency temperature sensitivity is close to 0 at +80 °C

0x1: LSI2 frequency temperature sensitivity is close to 0 at +50 °C

0x2: LSI2 frequency temperature sensitivity is close to 0 at +20 °C

Others: Reserved

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 LSI2MODE : LSI2 oscillator operating mode configuration

Set and cleared by software to select operating mode of power consumption versus accuracy.

Access can be secured by RCC LSISEC. When secure, a nonsecure 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 RCC SPRIV or when nonsecure with RCC NSPRIV.

0b000: nominal-power, high accuracy

0b001: low-power, medium accuracy

0b010: ultra-low-power, low accuracy

Others: Reserved

12.8.41 RCC control/status register (RCC_CSR)

Address offset: 0x0F4

Reset value: 0x0C00 0000

Reset flags are only reset by BOR0 power reset.

Access: 0 ≤ wait state ≤ 3; word, half-word half-word, and byte access

Wait states are inserted in case of successive accesses to this register.

Access to this register can be protected by RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
LPWR
RSTF
Res.IWDGR
STF
SFTRS
TF
BORR
STF
PINRS
TF
OBLRS
TF
Res.RMVFRes.Res.Res.Res.Res.Res.Res.
rrrrrrrw
1514131211109876543210
ResResResResResResResResResResResResResResResRes

Bit 31 LPWRRSTF : Low-power reset flag

Set by hardware when a reset occurs due to illegal Stop and Standby modes entry.

Cleared by writing to the RMVF bit.

0: no illegal mode reset occurred

1: illegal mode reset occurred

Bit 30 Reserved, must be kept at reset value.

Bit 29 IWDGRSTF : Independent watchdog reset flag

Set by hardware when an independent watchdog reset domain occurs.

Cleared by writing to the RMVF bit.

0: no independent watchdog reset occurred

1: independent watchdog reset occurred

Bit 28 SFTRSTF : Software reset flag

Set by hardware when a software reset occurs.

Cleared by writing to the RMVF bit.

0: no software reset occurred

1: software reset occurred

Bit 27 BORRSTF : BOR flag

Set by hardware when a BOR occurs.

Cleared by writing to the RMVF bit.

0: no BOR occurred

1: BOR occurred

Bit 26 PINRSTF : NRST pin reset flag

Set by hardware when a reset from the NRST pin occurs.

Cleared by writing to the RMVF bit.

0: No reset from NRST pin occurred

1: Reset from NRST pin occurred

Bit 25 OBLRSTF : Option byte loader reset flag

Set by hardware when a reset from the option byte loading occurs.

Cleared by writing to the RMVF bit.

0: No reset from option byte loading occurred

1: Reset from option byte loading occurred

Bit 24 Reserved, must be kept at reset value.

Bit 23 RMVF : Remove reset flag

Set by software to clear the reset flags.

Access can be secured by RCC RMVFSEC. When secure, nonsecure read/write access is RAZ/WI. It does not generate an illegal access interrupt.

0: No effect

1: Clear the reset flags (once set by software bit is cleared automatically by hardware)

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

12.8.42 RCC secure configuration register (RCC_SECCFGR)

Address offset: 0x110

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

When the system is secure (TZEN = 1), this register can be written only through secure privileged access if RCC SPRIV = 1 and through secure privileged or unprivileged access if RCC SPRIV = 0. Nonsecure write access generates an illegal access event and the data is

not written. This register can be read by secure or nonsecure, privileged or unprivileged access.

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

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.RMVFS
EC
Res.Res.Res.Res.PLL1S
EC
PRESC
SEC
SYSCL
KSEC
LSESE
C
LSISE
C
Res.HSESE
C
HSISE
C
rwrwrwrwrwrwrwrw

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

Bit 12 RMVFSEC : Remove reset flag security

Set and reset by software.

0: Nonsecure

1: Secure

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

Bit 7 PLL1SEC : PLL1 clock configuration and status bits security

Set and reset by software.

0: Nonsecure

1: Secure

Bit 6 PRESCSEC : AHBx/APBx prescaler configuration bits security

Set and reset by software.

0: Nonsecure

1: Secure

Bit 5 SYSCLKSEC : SYSCLK selection, clock output on MCO configuration security

Set and reset by software.

0: Nonsecure

1: Secure

Bit 4 LSESEC : LSE clock configuration and status bits security

Set and reset by software.

0: Nonsecure

1: Secure

Bit 3 LSISEC : LSI clock configuration and status bits security

Set and reset by software.

0: Nonsecure

1: Secure

Bit 2 Reserved, must be kept at reset value.

Bit 1 HSESEC : HSE32 clock configuration bits, status bits and HSECSS security

Set and reset by software.

0: Nonsecure

1: Secure

Bit 0 HSISEC : HSI16 clock configuration and status bits security

Set and reset by software.

0: Nonsecure

1: Secure

12.8.43 RCC privilege configuration register (RCC_PRIVCFGR)

Address offset: 0x114

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

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 : RCC nonsecure functions privilege configuration

Set and reset by software.

This bit can be written only by privileged access, secure or nonsecure.

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

1: Read and write to RCC nonsecure functions can be done by privileged access only.

Bit 0 SPRIV : RCC secure functions privilege configuration

Set and reset by software.

This bit can be written only by a secure privileged access.

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

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

12.8.44 RCC audio synchronization control register (RCC_ASCR)

Address offset: 0x1C0

Reset value: 0x0000 4000

Access to this register can be protected by GTZC_TZSC SAI1SEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.TPS[6:0]
rwrwrwrwrwrwrw
1514131211109876543210
Res.PSC[6:0]Res.Res.Res.Res.Res.Res.Res.CEN
rwrwrwrwrwrwrwrw

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

Bits 22:16 TPS[6:0] : Capture prescaler

This field is set and cleared by software.

Capture period in number of counter periods. Capture period = counter period * (TPS + 1).

Bit 15 Reserved, must be kept at reset value.

Bits 14:8 PSC[6:0] : Clock prescaler

This field is set and cleared by software.

This field can only be written by software when the counter is disabled (RCC_ASCR.CEN = 0)

Counter clock frequency = \( f_{\text{audiosync\_ker\_ck}} / (\text{PSC} + 1) \) .

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

Bit 0 CEN : Counter enable

This bit is set and cleared by software.

Clearing this bit will reset the audio synchronization counter and capture prescaler and all associated registers ASCR, ASIER, ASSR, ASCNTR, ASARR, ASCAR, and ASCOR.

0: Audio synchronization counter and kernel clock disabled

1: Audio synchronization counter and kernel clock enabled

12.8.45 RCC audio synchronization interrupt enable register (RCC_ASIER)

Address offset: 0x1C4

Reset value: 0x0000 0000

Access to this register can be protected by GTZC_TZSC SAI1SEC and RCC SPRIV or RCC 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.ARIECAEIECOIECAIE
rwrwrwrw

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

Bit 3 ARIE : Auto-reload interrupt enable

This bit is set and cleared by software.

0: Auto-reload interrupt disabled and flag masked

1: Auto-reload interrupt and flag enabled

Bit 2 CAEIE : Capture error interrupt enable

This bit is set and cleared by software.

0: Capture error interrupt disabled and flag masked

1: Capture error interrupt and flag enabled

Bit 1 COIE : Comparator interrupt enable

This bit is set and cleared by software.

0: Compare interrupt disabled and flag masked

1: Compare interrupt and flag enabled

Bit 0 CAIE : Capture trigger interrupt enable

This bit is set and cleared by software.

0: Capture trigger interrupt disabled and flag masked

1: Capture trigger interrupt and flag enabled

12.8.46 RCC audio synchronization status register (RCC_ASSR)

Address offset: 0x1C8

Reset value: 0x0000 0000

Access to this register can be protected by GTZC_TZSC SAI1SEC and RCC SPRIV or RCC 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.ARFCAEFCOFCAF
rc_w0rc_w0rc_w0rc_w0

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

Bit 3 ARF : Auto-reload interrupt flag

This bit is set by hardware, only when ARIE is enabled. This bit is cleared by software by writing it to '0' or masked when ARIE is '0'.

0: No auto-reload has been detected

1: Auto-reload has been done

Bit 2 CAEF : Capture error interrupt flag

This bit is set by hardware, only when CAEIE is enabled. This bit is cleared by software by writing it to '0' or masked when CAEIE is '0'.

0: No capture error has been detected

1: A capture error has been detected

Bit 1 COF : Comparator interrupt flag

This field is set by hardware, only when COIE is enabled. This bit is cleared by software by writing it to '0' or masked when COIE is '0'.

0: No counter compare occurred

1: A counter compare has occurred

Bit 0 CAF : Capture trigger interrupt flag

This field is set by hardware, only when CAIE is enabled. This bit is cleared by software by writing it to '0' or masked when CAIE is '0'.

0: No capture update occurred

1: A capture update has occurred

12.8.47 RCC audio synchronization counter register (RCC_ASCNTR)

Address offset: 0x1CC

Reset value: 0x0000 0000

Access to this register can be protected by GTZC_TZSC SAI1SEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CNT[19:16]
rrrr
1514131211109876543210
CNT[15:0]
rrrrrrrrrrrrrrrr

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

Bits 19:0 CNT[19:0] : Counter value

This field is set by hardware.

CNT[19:0] is the counter value at the time this register is read.

12.8.48 RCC audio synchronization auto-reautoreload register (RCC_ASARR)

Address offset: 0x1D0

Reset value: 0x0008 0000

Access to this register can be protected by GTZC_TZSC SAI1SEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR[19:16]
rwrwrwrw
1514131211109876543210
AR[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 19:0 AR[19:0] : Auto-reload value

This field is set by software.

This field can only be written by software when the counter is disabled (RCC_ASCR.CEN = 0)

CA[19:0] is the counter auto-reload value at which to restart the audio synchronization counter from value 0. It defines the counter period.

12.8.49 RCC audio synchronization capture register (RCC_ASCAR)

Address offset: 0x1D4

Reset value: 0x0000 0000

Access to this register can be protected by GTZC_TZSC SAI1SEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.CA[26:16]
rrrrrrrrrrr
1514131211109876543210
CA[15:0]
rrrrrrrrrrrrrrrr

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

Bits 26:0 CA[26:0] : Capture value

This field is set by hardware.

CA[26:20] is the capture period counter value loaded on the trigger event.

CA[19:0] is the audio synchronization counter value loaded on the trigger event.

12.8.50 RCC audio synchronization compare register (RCC_ASCOR)

Address offset: 0x1D8

Reset value: 0x0000 0000

Access to this register can be protected by GTZC_TZSC_SAI1SEC and RCC_SPRIV or RCC_NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CO[19:16]
rwrwrwrw
1514131211109876543210
CO[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

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

Bits 19:0 CO[19:0] : Compare value

This field is set by software.

CO[19:0] is the value to be compared to the audio synchronization counter to generate an compare interrupt event.

12.8.51 RCC clock configuration register 2 (RCC_CFGR4)

Address offset: 0x200

Reset value: 0x0000 0010

Access: word, half-word half-word, and byte access

1 or 2 wait states are inserted only if the access occurs during clock source switch.

Access to this register can be protected by RCC_PRESCSEC and RCC_SPRIV or RCC_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.HDIV5Res.HPRE5[2:0]
rwrwrwrw

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

Bit 4 HDIV5 : AHB5 for 2.4 GHz RADIO divider when SWS select HSI16 or HSE32

Set and reset by software.

Set to 1 by hardware when entering Stop 1, 2, and 3 mode.

Caution: Depending on the device voltage range, the software must set this bit correctly to ensure that the AHB5 frequency for the 2.4 GHz RADIO does not exceed the maximum allowed frequency (for more details, refer to Table 109 ). After a write operation to this bit and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account.

0: hclk5 = SYSCLK not divided

1: hclk5 = SYSCLK divided by 2

Bit 3 Reserved, must be kept at reset value.

Bits 2:0 HPRE5[2:0] : AHB5 for the 2.4 GHz RADIO prescaler when SWS select PLL1

Set and cleared by software to control the division factor of the AHB5 clock (hclk5).

Must not be changed when SYSCLK source indicated by SWS is PLL1.

Caution: Depending on the device voltage range, the software must set these bits correctly to ensure that the AHB5 frequency for the 2.4 GHz RADIO does not exceed the maximum allowed frequency (for more details, refer to Table 109: SYSCLK and bus maximum frequency ). After a write operation to these bits and before decreasing the voltage range, this register must be read to be sure that the new value is taken into account.

0xx: hclk5 = SYSCLK not divided

100: hclk5 = SYSCLK divided by 2

101: hclk5 = SYSCLK divided by 3

110: hclk5 = SYSCLK divided by 4

111: hclk5 = SYSCLK divided by 6

12.8.52 RCC RADIO peripheral clock enable register (RCC_RADIOENR)

Address offset: 0x208

Reset value: 0x0000 0000

Access: no wait state; word, half-word half-word, and byte access

Access to this register can be protected by GTZC_TZSC RADIOSEC and RCC SPRIV or NSPRIV.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RADIO
CLKRDY
STRAD
IOCLK
ON
rrc_w0
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BBCLK
EN
Res.
rw

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

Bit 17 RADIOCLKRDY : 2.4 GHz RADIO bus clock ready.

Set and cleared by hardware to indicate that the 2.4 GHz RADIO bus clock is ready and the 2.4 GHz RADIO registers can be accessed.

0: 2.4 GHz RADIO bus clock not ready

1: 2.4 GHz RADIO bus clock ready

Note: Once both RADIOEN and STRADIOCLKON are cleared, RADIOCLKRDY goes low after three hclk5 clock cycles.

Bit 16 STRADIOCLKON : 2.4 GHz RADIO bus clock enable and HSE32 oscillator enable by 2.4 GHz RADIO sleep timer wake-up event

Set by hardware on a 2.4 GHz RADIO sleep timer wake-up event.

Cleared by software writing zero to this bit.

0: 2.4 GHz RADIO bus clock and HSE32 oscillator not requested by 2.4 GHz RADIO sleep timer wake-up event.

1: 2.4 GHz RADIO bus clock and HSE32 oscillator enabled by 2.4 GHz RADIO sleep timer wake-up event

Note: Before accessing the 2.4 GHz RADIO registers the RADIOCLKRDY bit must be checked.

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

Bit 1 BBCLKEN : 2.4 GHz RADIO baseband kernel clock (aclk) enable

Set and cleared by software.

0: 2.4 GHz RADIO baseband kernel clock disabled

1: 2.4 GHz RADIO baseband kernel clock enabled

Note: The HSE32 oscillator needs to be enabled by either HSEON or STRADIOCLKON.

Bit 0 Reserved, must be kept at reset value.

12.8.53 RCC external clock sources calibration register 1(RCC_ECSCR1)

Address offset: 0x210

Power-on reset value: 0x14A0 8000

Reset value not effected by exit Standby mode, nor reset from system reset and BORx (x = 1 to 4).

Access: no wait state; word, half-word half-word, and byte access

Access to this register can be protected by RCC HSESEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
Res.HSERDYTRIM[6:0]HSESFSENRes.HSETRIM[5:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
XORDYTRIMHSELD OSELRes.Res.HSELDOTRIM[3:0]Res.Res.Res.Res.Res.Res.Res.Res.
rwrwrwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bits 30:24 HSERDYTRIM[6:0] : HSE32 clock ready trimming

HSE clock ready delay value.

HSERDY delay = N * 8 µs. With minimum delay = 160 µs.

Writing values smaller than 0x14 are discarded.

In all cases HSERDY is qualified by hardware XO32 clock ready.

Bit 23 HSESFSEN : HSE32 fast startup enable

0: HSE fast startup disabled.

1: HSE fast startup enabled.

Bit 22 Reserved, must be kept at reset value.

Bits 21:16 HSETRIM[5:0] : HSE32 clock trimming

These bits provide user-programmable capacitor trimming value. It can be programmed to adjust the HSE32 oscillator frequency.

Bit 15 XORDYTRIM : XO32 clock ready trimming

0: XO32 ready after 512 cycles

1: XO32 ready after 1024 cycles

Bit 14 HSELDOSSEL : HSE32 LDO trim selection

0: HSE LDO trim selected from 2.4 GHz RADIO

1: HSE LDO trim selected from HSELDOTRIM

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

Bits 11:8 HSELDOTRIM[3:0] : HSE32 LDO voltage level trimming

This value is only used when HSELDOSSEL = 1.

00: lowest voltage level

01: low mid voltage level

10: high mid voltage level

11: high voltage level

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

12.8.54 RCC LSI key register (RCC_LSIKEYR)

Address offset: 0x220

Reset value: 0x0000 0000

Access: word, half-word half-word, and byte access

Access to this register can be protected by RCC LSISEC and RCC SPRIV or RCC NSPRIV.

31302928272625242322212019181716
ResResResResResResResResResResResResResResResRes
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.KEY[7:0]
rwrwrwrwrwrwrwrw

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

Bits 7:0 KEY[7:0] : LSI1PREDIV write access enable key

Set and cleared by software to allow write access to LSI1PREDIV even when LSI1 is enabled and ready.

0x4D: write access to LSI1PREDIV granted at all times.

other: write access to LSI1PREDIV disabled when LSI1 is enabled and ready.

12.8.55 RCC register map

Table 117. RCC register map and reset values

OffsetRegister313029282726252423222120191817161514131211109876543210
0x000RCC_CRRes.Res.Res.Res.Res.Res.PLL1RDYPLL1ONRes.Res.Res.HSEPREHSECGSONRes.HSEPRDYHSEONRes.Res.Res.Res.Res.HSIRDYHSIKERONHSIONRes.Res.Res.Res.Res.Res.Res.Res.
Reset value000000000
0x004 to 0x00CReservedReserved
0x010RCC_ICSCR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HSITRIM[4:0]Res.Res.Res.Res.HSICAL[11:0]
Reset value10000XXXXXXXXXXXX
0x014 to 0x0018ReservedReserved
0x01CRCC_CFGR1Res.MCOPRE[2:0]MCOSEL[3:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.SWS[1:0]SW[1:0]
Reset value00000000000
0x020RCC_CFGR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PPPRE2[2:0]Res.Res.PPPRE1[2:0]Res.Res.HPRE[2:0]
Reset value00000000
0x024RCC_CFGR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PPPRE7[2:0]Res.Res.Res.Res.
Reset value000
0x028RCC_PLL1CFGRRes.Res.Res.Res.Res.Res.Res.Res.Res.PLL1RCLKPRERDYPLL1RCLKPRESTEPPLL1RCLKPRERes.PLL1RENPLL1QENPLL1PENRes.Res.Res.Res.Res.PLL1M[2:0]Res.Res.Res.PLL1FRACENPLL1RGE[1:0]PLL1SRC[1:0]
Reset value0000000000000
0x02C to 0x030ReservedReserved
0x034RCC_PLL1DIVRRes.PLL1R[6:0]Res.PLL1Q[6:0]PLL1P[6:0]PLL1N[8:0]
Reset value00100010000001000000000000000
0x038RCC_PLL1FRACRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PLL1FRACN[12:0]Res.Res.Res.
Reset value000000000000000
0x03C to 0x04CReservedReserved

Table 117. RCC register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x050RCC_CIERResResResResResResResResResResResResResResResLSI2RDYIEResResResResResResResResResResPLL1RDYIEResHSERDYEHSIRDYEResLSERDYELSI1RDYIE
Reset value000000
0x054RCC_CIFRResResResResResResResResResResResResResResResLSI2RDYFResResResResResResResResResResPLL1RDYFResHSERDYFHSIRDYFResLSERDYFLSI1RDYF
Reset value000000
0x058RCC_CICRResResResResResResResResResResResResResResResLSI2RDYCResResResResResResResResResResPLL1RDYCResHSERDYCHSIRDYCResLSERDYCLSI1RDYC
Reset value000000
0x05CReservedReserved
0x060RCC_AHB1RSTRResResResResResResResResResResResResResResResResResResResCRORSTResResResResResResResResResResResLPDMA1RST
Reset value00
0x064RCC_AHB2RSTRResResXSP1RSTResResResResResOTFDEC1RSTResPKARSTResRNGRSTHASHRSTAESRSTResResResResResResResResResResGPIOHRSTResResResResGPIOCRSTGPIOBRST
Reset value000000000
0x068ReservedReserved
0x06CRCC_AHB4RSTRResResResResResResResResResResResResResResResResResResResResResResResResResResADC4RSTResResResResRes
Reset value0
0x070RCC_AHB5RSTRResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPTACONVRSTRADIOIRST
Reset value00
0x074RCC_APB1RSTR1ResResResResResResResResResResI2C1RSTResResResResResResResResResResResResResResResResResResResResTIM2RST
Reset value00
0x078RCC_APB1RSTR2ResResResResResResResResResResResResResResResResResResResResResResResResResResResLPTIM2RSTResResResRes
Reset value0

Table 117. RCC register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x07CRCC_APB2RSTRRes.Res.Res.Res.Res.Res.Res.USBRSTRes.Res.SAHRSTRes.Res.TIM17RSTTIM16RSTRes.Res.USART1RSTRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value00000
0x080RCC_APB7RSTRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LPTIM1RSTRes.Res.Res.I2C3RSTLPUART1RSTSPI3RSTRes.Res.Res.Res.SYSCFGRST
Reset value00000
0x084ReservedReserved
0x088RCC_AHB1ENRSRAM1ENRes.Res.Res.Res.Res.Res.GTZC1ENRes.Res.Res.Res.Res.RAMCFGENRes.Res.Res.Res.Res.CRCENRes.Res.Res.FLASHENRes.Res.Res.Res.Res.Res.Res.LPDMA1EN
Reset value100010
0x08CRCC_AHB2ENRRes.SRAM2ENXSPI1ENRes.Res.Res.Res.OTFDEC1ENRes.Res.PKAENRes.Res.RNGENHASHENAESENRes.Res.Res.Res.Res.Res.Res.Res.GPIOHENRes.Res.Res.Res.Res.GPIOCENGPIOBENGPIOAEN
Reset value00000000000
0x090ReservedReserved
0x094RCC_AHB4ENRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ADC4ENRes.Res.Res.Res.PWRENRes.
Reset value00
0x098RCC_AHB5ENRRes.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.PTACONVENRADIOEN
Reset value00
0x09CRCC_APB1ENR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.I2C1ENRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TIM2EN
Reset value00
0x0A0RCC_APB1ENR2Res.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.LPTIM2ENRes.Res.Res.Res.Res.
Reset value0
0x0A4RCC_APB2ENRRes.Res.Res.Res.Res.Res.Res.USBENRes.Res.SAI1ENRes.Res.TIM17ENTIM16ENRes.Res.USART1ENRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value00000
0x0A8RCC_APB7ENRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.RTCAPBENRes.Res.Res.Res.Res.Res.Res.Res.Res.LPTIM1ENRes.Res.Res.I2C3ENLPUART1ENSPI3ENRes.Res.Res.Res.SYSCFGEN
Reset value000000

Table 117. RCC register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x0ACReservedReserved
0x0B0RCC_AHB1SMENRSRAM1SMENRes.ICACHESMENRes.Res.Res.Res.GTZC1SMENRes.Res.Res.Res.Res.Res.RAMCFGSMENRes.Res.Res.Res.ORCSMENRes.Res.Res.FLASHSMENRes.Res.Res.Res.Res.Res.Res.LPDMA1SMEN
Reset value1111111
0x0B4RCC_AHB2SMENRRes.SRAM2SMENXSPI1SMENRes.Res.Res.Res.OTFDEC1SMENRes.PKASMENRes.Res.Res.Res.RNGSMENHASHSMENAESSMENRes.Res.Res.Res.Res.Res.Res.GPIOHSMENRes.Res.Res.Res.Res.GPIOCSMENGPIOBSMENGPIOASMEN
Reset value11111111111
0x0B8ReservedReserved
0x0BCRCC_AHB4SMENRRes.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.ADC4SMENRes.Res.Res.PWRSMENRes.
Reset value11
0x0C0RCC_AHB5SMENRRes.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.PTAICONVSMENRADIOSMEN
Reset value11
0x0C4RCC_APB1SMENR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.I2C1SMENRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TIM2SMEN
Reset value11
0x0C8RCC_APB1SMENR2Res.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.LPTIM2SMENRes.Res.Res.Res.
Reset value1
0x0CCRCC_APB2SMENRRes.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.Res.
Reset value
0x0D0RCC_APB7SMENRRes.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.Res.
Reset value
0x0D4 to 0x0DCReservedReserved

Table 117. RCC register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x0E0RCC_CCIPR1TIM1CSELRes.Res.Res.Res.Res.Res.Res.SYSTICKSEL [1:0]Res.Res.Res.LPTIM2SEL [1:0]Res.Res.Res.Res.Res.Res.Res.I2C1SEL [1:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.USART1SEL [1:0]
Reset value000000000
0x0E4RCC_CCIPR2Res.ASSELRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RNGSEL [1:0]Res.Res.Res.Res.Res.SA1SEL [2:0]Res.Res.Res.Res.Res.Res.
Reset value000000
0x0E8RCC_CCIPR3Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ADCSEL [2:0]Res.LPTIM1SEL [1:0]Res.Res.Res.I2C3SEL [1:0]Res.Res.SP3SEL [1:0]Res.Res.LPUART1SEL [1:0]
Reset value00000000000
0x0F0RCC_BDCR1LSICLKLSI2RDYLSI2ONLSI1PREDIVLSI1RDYLSI1ONLSCOSELLSCOENLSEGATEDLSIGATEDLSEGATEENLSIGATEENRADIOI2SEL [1:0]Res.BDRSTRes.LSETRIM [1:0]Res.LSEGRDYLSESYSDRDYRes.RTCSEL [1:0]Res.Res.LSESYSENLSECSSDLSECSSONLSEDRV [1:0]LSEBYPLSEDRDYLSEON
Reset value0000000000000000XX000000000100
0x0F4RCC_CSRLPWRRSTFRes.IWDGRSTFSFTRSTFBORRSTFPINRSTFOBLRSTFRMVFRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
Reset value0001100
0x0F8RCC_BDCR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LSI2CFG[3:0]Res.Res.Res.Res.Res.LSI2MODF[2:0]
Reset value000000
0x0FC to 0x10CReservedReserved
0x110RCC_SECCFGRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RMVFSECRes.Res.Res.Res.Res.PLL1SECPRESCSECSYSCLOCKSECLSESECLSISECRes.Res.Res.
Reset value00000000
0x114RCC_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.Res.Res.
Reset value00
0x118 to 0x1BCReservedReserved
0x1C0RCC_ASCRRes.Res.Res.Res.Res.Res.Res.Res.TPS[6:0]Res.PSC[6:0]Res.Res.Res.Res.Res.Res.Res.Res.CEN
Reset value000000010000000
0x1C4RCC_ASIERRes.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.Res.
Reset value0000

Table 117. RCC register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x1C8RCC_ASRRes.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.ARFCAEFCOFCAF
Reset value0000
0x1CCRCC_ASCNTRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CNT[19:0]
Reset value0000000000000000000
0x1D0RCC_ASARRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.AR[19:0]
Reset value1000000000000000000
0x1D4RCC_ASCARRes.Res.Res.Res.Res.CA[26:0]
Reset value00000000000000000000000000
0x1D8RCC_ASCORRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CO[19:0]
Reset value0000000000000000000
0x1DC to 0x1FCReservedReserved
0x200RCC_CFGR4Res.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.HDIV5Res.HPRE5[2:0]
Reset value1000
0x204ReservedReserved
0x208RCC_RADIOENRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RADIOCKRDYSTRADIOCKLONRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BBCLKEN
Reset value000
0x20CReservedReserved
0x210RCC_ECSCR1Res.HSERDYTRIM[6:0]HSEFSENRes.HSETRIM[5:0]XORDYTRIMHSELDOSELRes.Res.HSELDOTRIM[3:0]Res.Res.Res.Res.Res.Res.
Reset value00101001100000100000
0x214 to 0x21CReservedReserved
0x220RCC_LSIKEYRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.KEY[7:0]
Reset value0000
0x224 to 0x3FCReservedReserved

Refer to Section 2.3.2: Memory map and register boundary addresses for the register boundary addresses.