6. Reset and clock control (RCC) for STM32F413/423

6.1 Reset

There are three types of reset, defined as system Reset, power Reset and backup domain Reset.

6.1.1 System reset

A system reset sets all registers to their reset values unless specified otherwise in the register description.

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

  1. 1. A low level on the NRST pin (external reset)
  2. 2. Window watchdog end of count condition (WWDG reset)
  3. 3. Independent watchdog end of count condition (IWDG reset)
  4. 4. A software reset (SW reset) (see Software reset )
  5. 5. Low-power management reset (see Low-power management reset )

Software reset

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

The SYSRESETREQ bit in Cortex ® -M4 with FPU Application Interrupt and Reset Control Register must be set to force a software reset on the device. Refer to the Cortex ® -M4 with FPU technical reference manual for more details.

Low-power management reset

There are two ways of generating a low-power management reset:

  1. 1. Reset generated when entering the Standby mode:
    This type of reset is enabled by resetting the nRST_STDBY bit in the user option bytes. In this case, whenever a Standby mode entry sequence is successfully executed, the device is reset instead of entering the Standby mode.
  2. 2. Reset when entering the Stop mode:
    This type of reset is enabled by resetting the nRST_STOP bit in the user option bytes. In this case, whenever a Stop mode entry sequence is successfully executed, the device is reset instead of entering the Stop mode.

For further information on the user option bytes, refer to the STM32F413/423 Flash programming manual available from your ST sales office.

6.1.2 Power reset

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

  1. 1. Power-on/power-down reset (POR/PDR reset) or brownout (BOR) reset
  2. 2. When exiting the Standby mode

A power reset sets all registers to their reset values except the Backup domain.

These sources act on the NRST pin and it is always kept low during the delay phase. The RESET service routine vector is fixed at address 0x0000_0004 in the memory map.

The system reset signal provided to the device is output on the NRST pin. The pulse generator guarantees a minimum reset pulse duration of 20 µs for each internal reset source. In case of an external reset, the reset pulse is generated while the NRST pin is asserted low.

Figure 12. Simplified diagram of the reset circuit

Simplified diagram of the reset circuit. The diagram shows the internal logic for generating the System reset signal. An external reset signal is connected to the NRST pin. The NRST pin is pulled up to VDD/VDDA through a resistor RPU. The NRST pin is also connected to an inverter. The output of the inverter is connected to a Filter block. The Filter block output is the System reset signal. The NRST pin is also connected to a Pulse generator (min 20 µs). The output of the Pulse generator is connected to an OR gate. The OR gate also receives inputs from WWDOG reset, IWDG reset, Power reset, Software reset, and Low-power management reset. The output of the OR gate is the System reset signal.

The diagram illustrates the internal reset circuitry. On the left, an external reset signal is connected to the NRST pin. The NRST pin is pulled up to V DD /V DDA via a resistor R PU . The NRST pin is connected to an inverter. The output of the inverter is connected to a 'Filter' block, which outputs the 'System reset' signal. The NRST pin is also connected to a 'Pulse generator (min 20 µs)'. The output of the pulse generator is connected to an OR gate. The OR gate also receives inputs from 'WWDOG reset', 'IWDG reset', 'Power reset', 'Software reset', and 'Low-power management reset'. The output of the OR gate is the 'System reset' signal. The diagram is labeled 'ai16095c' in the bottom right corner.

Simplified diagram of the reset circuit. The diagram shows the internal logic for generating the System reset signal. An external reset signal is connected to the NRST pin. The NRST pin is pulled up to VDD/VDDA through a resistor RPU. The NRST pin is also connected to an inverter. The output of the inverter is connected to a Filter block. The Filter block output is the System reset signal. The NRST pin is also connected to a Pulse generator (min 20 µs). The output of the Pulse generator is connected to an OR gate. The OR gate also receives inputs from WWDOG reset, IWDG reset, Power reset, Software reset, and Low-power management reset. The output of the OR gate is the System reset signal.

6.1.3 Backup domain reset

The backup domain reset sets all RTC registers, the RCC_BDCR register and the bit BRE of PWR_CSR register to their reset values.

Note: The bit DBP of the register PWR_CR must be set to 1 in order to generate the backup domain reset.

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

  1. 1. Software reset, triggered by setting the BDRST bit in the RCC Backup domain control register (RCC_BDCR) .
  2. 2. V DD or V BAT power on, if both supplies have previously been powered off.

6.2 Clocks

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

The devices have the two following secondary clock sources:

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

Figure 13. Clock tree

Detailed clock tree diagram for STM32F413/423 showing various clock sources (LSI, LSE, HSE, HSI, PLLs) and their distribution to different system components like CPU, AHB, APB1, APB2, and various peripherals. The diagram includes frequency dividers, multiplexers, and enable signals for each clock path.

The diagram illustrates the internal clock architecture of the STM32F413/423. It shows the following components and paths:

Detailed clock tree diagram for STM32F413/423 showing various clock sources (LSI, LSE, HSE, HSI, PLLs) and their distribution to different system components like CPU, AHB, APB1, APB2, and various peripherals. The diagram includes frequency dividers, multiplexers, and enable signals for each clock path.
  1. 1. For full details about the internal and external clock source characteristics, refer to the Electrical characteristics section in the device datasheet.

The clock controller provides a high degree of flexibility to the application in the choice of the external crystal or the oscillator to run the core and peripherals at the highest frequency and, guarantee the appropriate frequency for peripherals that need a specific clock like USB OTG FS, I2S and SDIO.

Several prescalers are used to configure the AHB frequency, the high-speed APB (APB2) and the low-speed APB (APB1) domains. The maximum frequency of the AHB domain is 100 MHz. The maximum allowed frequency of the high-speed APB2 domain is 100 MHz. The maximum allowed frequency of the low-speed APB1 domain is 50 MHz

All peripheral clocks are derived from the system clock (SYSCLK) except for:

The RCC feeds the external clock of the Cortex System Timer (SysTick) with the AHB clock (HCLK) divided by 8. The SysTick can work either with this clock or with the Cortex clock (HCLK), configurable in the SysTick control and status register.

The timer clock frequencies are automatically set by hardware. There are two cases depending on the value of TIMPRE bit in RCC_DCKCFGR register:

FCLK acts as Cortex ® -M4 with FPU free-running clock. For more details, refer to the Cortex ® -M4 with FPU technical reference manual.

6.2.1 HSE clock

The high speed external clock signal (HSE) can be generated from two possible clock sources:

The resonator and the load capacitors have to be placed as close as possible to the oscillator pins in order to minimize output distortion and startup stabilization time. The loading capacitance values must be adjusted according to the selected oscillator.

Figure 14. HSE/ LSE clock sources

Circuit diagram for External clock mode. An external source is connected to the OSC_IN pin. The OSC_OUT pin is labeled (HI-Z) and is not connected to any external components. Circuit diagram for Crystal/ceramic resonator mode. A crystal/resonator is connected between the OSC_IN and OSC_OUT pins. Two load capacitors, labeled CL1 and CL2, are connected from each pin to ground.
Hardware configuration
External clock
Crystal/ceramic resonators
Circuit diagram for External clock mode. An external source is connected to the OSC_IN pin. The OSC_OUT pin is labeled (HI-Z) and is not connected to any external components. Circuit diagram for Crystal/ceramic resonator mode. A crystal/resonator is connected between the OSC_IN and OSC_OUT pins. Two load capacitors, labeled CL1 and CL2, are connected from each pin to ground.

External source (HSE bypass)

In this mode, an external clock source must be provided. You select this mode by setting the HSEBYP and HSEON bits in the RCC clock control register (RCC_CR) . The external clock signal (square, sinus or triangle) with ~50% duty cycle has to drive the OSC_IN pin while the OSC_OUT pin should be left HI-Z. See Figure 14 .

External crystal/ceramic resonator (HSE crystal)

The HSE has the advantage of producing a very accurate rate on the main clock.

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

The HSERDY flag in the RCC clock control register (RCC_CR) indicates if the high-speed external 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 register (RCC_CIR) .

The HSE Crystal can be switched on and off using the HSEON bit in the RCC clock control register (RCC_CR) .

6.2.2 HSI clock

The HSI clock signal is generated from an internal 16 MHz RC oscillator and can be used directly as a system clock, or used as PLL input.

The HSI RC oscillator has the advantage of providing a clock source at low cost (no external components). It also has a faster startup time than the HSE crystal oscillator however, even with calibration the frequency is less accurate than an external crystal oscillator or ceramic resonator.

Calibration

RC oscillator frequencies can vary from one chip to another due to manufacturing process variations, this is why each device is factory calibrated by ST for 1% accuracy at \( T_A = 25\text{ }^\circ\text{C} \) .

After reset, the factory calibration value is loaded in the HSICAL[7:0] bits in the RCC clock control register (RCC_CR) .

If the application is subject to voltage or temperature variations this may affect the RC oscillator speed. You can trim the HSI frequency in the application using the HSITRIM[4:0] bits in the RCC clock control register (RCC_CR) .

The HSIRDY flag in the RCC clock control register (RCC_CR) indicates if the HSI RC is stable or not. At startup, the HSI RC output clock is not released until this bit is set by hardware.

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

The HSI signal can also be used as a backup source (Auxiliary clock) if the HSE crystal oscillator fails. Refer to Section 6.2.7: Clock security system (CSS) on page 124 .

6.2.3 PLL configuration

The STM32F413/423 devices feature two PLLs:

Since the main-PLL configuration parameters cannot be changed once PLL is enabled, it is recommended to configure PLL before enabling it (selection of the HSI or HSE oscillator as PLL clock source, and configuration of division factors M, P, Q and multiplication factor N).

The PLL2S uses the same input clock as the main PLL (HSI or HSE). However, the PLL2S has dedicated enable/disable and division factors configuration bits. Refer to Section 6.3.1: RCC clock control register (RCC_CR) , Section 6.3.2: RCC PLL configuration register (RCC_PLLCFGR) and Section 6.3.26: RCC PLL2S configuration register (RCC_PLL2SCFGR) . Once the PLL2S is enabled, the configuration parameters cannot be changed.

The two PLLs are disabled by hardware when entering Stop and Standby modes, or when an HSE failure occurs when HSE or PLL (clocked by HSE) are used as system clock. RCC PLL configuration register (RCC_PLLCFGR) and RCC clock configuration register (RCC_CFGR) can be used to configure PLL and PLL2S, respectively.

6.2.4 LSE clock

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

The LSE oscillator is switched on and off using the LSEON bit in RCC Backup domain control register (RCC_BDCR) .

The LSERDY flag in the RCC Backup domain control register (RCC_BDCR) indicates if 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 register (RCC_CIR) .

External source (LSE bypass)

In this mode, an external clock source must be provided. It must have a frequency up to 1 MHz. You select this mode by setting the LSEBYP and LSEON bits in the RCC Backup domain control register (RCC_BDCR) . The external clock signal (square, sinus or triangle) with ~50% duty cycle has to drive the OSC32_IN pin while the OSC32_OUT pin should be left HI-Z. See Figure 14 .

6.2.5 LSI clock

The LSI RC acts as an low-power clock source that can be kept running in Stop and Standby mode for the independent watchdog (IWDG) and Auto-wakeup unit (AWU). The clock frequency is around 32 kHz. For more details, refer to the electrical characteristics section of the datasheets.

The LSI RC can be switched on and off using the LSION bit in the RCC clock control & status register (RCC_CSR) .

The LSIRDY flag in the RCC clock control & status register (RCC_CSR) indicates if the low-speed internal 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 register (RCC_CIR) .

6.2.6 System clock (SYSCLK) selection

After a system reset, the HSI oscillator is selected as the system clock. When a clock source is used directly or through PLL as the 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 (clock stable after startup delay or PLL locked). 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 control register (RCC_CR) indicate which clock(s) is (are) ready and which clock is currently used as the system clock.

6.2.7 Clock security system (CSS)

The clock security system can be activated by software. In this case, the clock detector is enabled after the HSE oscillator startup delay, and disabled when this oscillator is stopped.

If a failure is detected on the HSE clock, this oscillator is automatically disabled, a clock failure event is sent to the break inputs of advanced-control timer TIM1, and an interrupt is generated to inform the software about the failure (clock security system interrupt CSSI), allowing the MCU to perform rescue operations. The CSSI is linked to the Cortex®-M4 with FPU NMI (non-maskable interrupt) exception vector.

Note: When the CSS is enabled, if the HSE clock happens to fail, the CSS generates an interrupt, which causes the automatic generation of an NMI. The NMI is executed indefinitely unless the CSS interrupt pending bit is cleared. As a consequence, the application has to clear the

CSS interrupt in the NMI ISR by setting the CSSC bit in the Clock interrupt register (RCC_CIR).

If the HSE oscillator is used directly or indirectly as the system clock (indirectly meaning that it is directly used as PLL input clock, and that PLL clock is the system clock) and a failure is detected, then the system clock switches to the HSI oscillator and the HSE oscillator is disabled.

If the HSE oscillator clock was the clock source of PLL used as the system clock when the failure occurred, PLL is also disabled. In this case, if the PLLI2S was enabled, it is also disabled when the HSE fails.

6.2.8 RTC/AWU clock

Once the RTCCLK clock source has been selected, the only possible way of modifying the selection is to reset the power domain.

The RTCCLK clock source can be either the HSE 1 MHz (HSE divided by a programmable prescaler), the LSE or the LSI clock. This is selected by programming the RTCSEL[1:0] bits in the RCC Backup domain control register (RCC_BDCR) and the RTCPRE[4:0] bits in RCC clock configuration register (RCC_CFGR) . This selection cannot be modified without resetting the Backup domain.

If the LSE is selected as the RTC clock, the RTC will work normally if the backup or the system supply disappears. If the LSI is selected as the AWU clock, the AWU state is not guaranteed if the system supply disappears. If the HSE oscillator divided by a value between 2 and 31 is used as the RTC clock, the RTC state is not guaranteed if the backup or the system supply disappears.

The LSE clock is in the Backup domain, whereas the HSE and LSI clocks are not. As a consequence:

Note: To read the RTC calendar register when the APB1 clock frequency is less than seven times the RTC clock frequency ( \( f_{APB1} < 7 \times f_{RTCCLK} \) ), the software must read the calendar time and date registers twice. The data are correct if the second read access to RTC_TR gives the same result than the first one. Otherwise a third read access must be performed.

6.2.9 Watchdog clock

If the independent watchdog (IWDG) is started by either hardware option or software access, the LSI oscillator is forced ON and cannot be disabled. After the LSI oscillator temporization, the clock is provided to the IWDG.

6.2.10 Clock-out capability

Two microcontroller clock output (MCO) pins are available:

You can output four different clock sources onto the MCO1 pin (PA8) using the configurable prescaler (from 1 to 5):

The desired clock source is selected using the MCO1PRE[2:0] and MCO1[1:0] bits in the RCC clock configuration register (RCC_CFGR) .

You can output four different clock sources onto the MCO2 pin (PC9) using the configurable prescaler (from 1 to 5):

The desired clock source is selected using the MCO2PRE[2:0] and MCO2 bits in the RCC clock configuration register (RCC_CFGR) .

For the different MCO pins, the corresponding GPIO port has to be programmed in alternate function mode.

The selected clock to output onto MCO must not exceed 100 MHz (the maximum I/O speed).

6.2.11 Internal/external clock measurement using TIM5/TIM11

It is possible to indirectly measure the frequencies of all on-board clock source generators by means of the input capture of TIM5 channel4 and TIM11 channel1 as shown in Figure 15 and Figure 16 .

Internal/external clock measurement using TIM5 channel4

TIM5 has an input multiplexer which allows choosing whether the input capture is triggered by the I/O or by an internal clock. This selection is performed through the TI4_RMP [1:0] bits in the TIM5_OR register.

The primary purpose of having the LSE connected to the channel4 input capture is to be able to precisely measure the HSI (this requires to have the HSI used as the system clock source). The number of HSI clock counts between consecutive edges of the LSE signal provides a measurement of the internal clock period. Taking advantage of the high precision of LSE crystals (typically a few tens of ppm) we can determine the internal clock frequency with the same resolution, and trim the source to compensate for manufacturing-process and/or temperature- and voltage-related frequency deviations.

The HSI oscillator has dedicated, user-accessible calibration bits for this purpose.

The basic concept consists in providing a relative measurement (e.g. HSI/LSE ratio): the precision is therefore tightly linked to the ratio between the two clock sources. The greater the ratio, the better the measurement.

It is also possible to measure the LSI frequency: this is useful for applications that do not have a crystal. The ultralow-power LSI oscillator has a large manufacturing process deviation: by measuring it versus the HSI clock source, it is possible to determine its frequency with the precision of the HSI. The measured value can be used to have more accurate RTC time base timeouts (when LSI is used as the RTC clock source) and/or an IWDG timeout with an acceptable accuracy.

Use the following procedure to measure the LSI frequency:

  1. 1. Enable the TIM5 timer and configure channel4 in Input capture mode.
  2. 2. Set the TI4_RMP bits in the TIM5_OR register to 0x01 to connect the LSI clock internally to TIM5 channel4 input capture for calibration purposes.
  3. 3. Measure the LSI clock frequency using the TIM5 capture/compare 4 event or interrupt.
  4. 4. Use the measured LSI frequency to update the prescaler of the RTC depending on the desired time base and/or to compute the IWDG timeout.

Figure 15. Frequency measurement with TIM5 in Input capture mode

Diagram showing the internal connection of the LSI clock source to the TIM5 timer for frequency measurement.

The diagram illustrates the internal hardware configuration for measuring the LSI frequency using the TIM5 timer. On the left, four potential clock sources are listed: GPIO (represented by a square symbol), RTC_WakeUp_IT, LSE, and LSI. These sources are connected to a multiplexer. The multiplexer's output is connected to the TI4 input of a block labeled 'TIM5'. Above the multiplexer, the label 'TI4_RMP[1:0]' indicates the register bits used to select the clock source. The output of the TIM5 block is labeled 'ai17741V2'.

Diagram showing the internal connection of the LSI clock source to the TIM5 timer for frequency measurement.

Internal/external clock measurement using TIM11 channel1

TIM11 has an input multiplexer which allows choosing whether the input capture is triggered by the I/O or by an internal clock. This selection is performed through TI1_RMP [1:0] bits in the TIM11_OR register. The HSE_RTC clock (HSE divided by a programmable prescaler) is connected to channel 1 input capture to have a rough indication of the external crystal frequency. This requires that the HSI is the system clock source. This can be useful for instance to ensure compliance with the IEC 60730/IEC 61335 standards which require to be able to determine harmonic or subharmonic frequencies (–50/+100% deviations).

Figure 16. Frequency measurement with TIM11 in Input capture mode

Diagram showing the internal/external clock measurement setup using TIM11 channel 1. A multiplexer selects between a GPIO input and the HSE_RTC (1 MHz) clock signal based on the TI1_RMP[1:0] bits. The output of the multiplexer is connected to the TI1 input of the TIM11 timer block.

The diagram illustrates the internal/external clock measurement setup. On the left, a multiplexer is shown with two input sources: a GPIO pin and the HSE_RTC (1 MHz) clock. The selection of the input source is controlled by the TI1_RMP[1:0] bits. The output of the multiplexer is connected to the TI1 input of a TIM11 timer block. The TIM11 block is represented by a rectangle with the label 'TIM11' at the top and 'TI1' at the bottom. The identifier 'ai18433' is located in the bottom right corner of the diagram area.

Diagram showing the internal/external clock measurement setup using TIM11 channel 1. A multiplexer selects between a GPIO input and the HSE_RTC (1 MHz) clock signal based on the TI1_RMP[1:0] bits. The output of the multiplexer is connected to the TI1 input of the TIM11 timer block.

6.3 RCC registers

Refer to Section 1.2: List of abbreviations for registers for a list of abbreviations used in register descriptions.

6.3.1 RCC clock control register (RCC_CR)

Address offset: 0x00

Reset value: 0x0000 XX81

Note: Where X is undefined.

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

31302928272625242322212019181716
Res.Res.Res.Res.PLL2SRDYPLL2SONPLLRDYPLLONRes.Res.Res.Res.CSSONHSEBYPHSE RDYHSEON
rrwrrwrwrwrrw
1514131211109876543210
HSICAL[7:0]HSITRIM[4:0]Res.HSIRDYHSION
rrrrrrrrrwrwrwrwrwrrw

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

Bit 27 PLL2SRDY : PLL2S clock ready flag

Set by hardware to indicate that the PLL2S is locked.

0: PLL2S unlocked

1: PLL2S locked

Bit 26 PLL2SON : PLL2S enable

Set and cleared by software to enable PLL2S.

Cleared by hardware when entering Stop or Standby mode.

0: PLL2S OFF

1: PLL2S ON

Bit 25 PLLRDY : Main PLL (PLL) clock ready flag

Set by hardware to indicate that PLL is locked.

0: PLL unlocked

1: PLL locked

Bit 24 PLLON : Main PLL (PLL) enable

Set and cleared by software to enable PLL.

Cleared by hardware when entering Stop or Standby mode. This bit cannot be reset if PLL clock is used as the system clock.

0: PLL OFF

1: PLL ON

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

Bit 19 CSSON : Clock security system enable

Set and cleared by software to enable the clock security system. When CSSON is set, the clock detector is enabled by hardware when the HSE oscillator is ready, and disabled by hardware if an oscillator failure is detected.

0: Clock security system OFF (Clock detector OFF)

1: Clock security system ON (Clock detector ON if HSE oscillator is stable, OFF if not)

Bit 18 HSEBYP: HSE clock bypass

Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit, to be used by the device.

The HSEBYP bit can be written only if the HSE oscillator is disabled.

0: HSE oscillator not bypassed

1: HSE oscillator bypassed with an external clock

Bit 17 HSERDY: HSE clock ready flag

Set by hardware to indicate that the HSE oscillator is stable. After the HSEON bit is cleared, HSERDY goes low after 6 HSE oscillator clock cycles.

0: HSE oscillator not ready

1: HSE oscillator ready

Bit 16 HSEON: HSE clock enable

Set and cleared by software.

Cleared by hardware to stop the HSE oscillator when entering Stop or Standby mode. This bit cannot be reset if the HSE oscillator is used directly or indirectly as the system clock.

0: HSE oscillator OFF

1: HSE oscillator ON

Bits 15:8 HSICAL[7:0]: Internal high-speed clock calibration

These bits are initialized automatically at startup.

Bits 7:3 HSITRIM[4:0]: Internal high-speed clock trimming

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

Bit 2 Reserved, must be kept at reset value.

Bit 1 HSIRDY: Internal high-speed clock ready flag

Set by hardware to indicate that the HSI oscillator is stable. After the HSION bit is cleared, HSIRDY goes low after 6 HSI clock cycles.

0: HSI oscillator not ready

1: HSI oscillator ready

Bit 0 HSION: Internal high-speed clock enable

Set and cleared by software.

Set by hardware to force the HSI oscillator ON when leaving the Stop or Standby mode or in case of a failure of the HSE oscillator used directly or indirectly as the system clock. This bit cannot be cleared if the HSI is used directly or indirectly as the system clock.

0: HSI oscillator OFF

1: HSI oscillator ON

6.3.2 RCC PLL configuration register (RCC_PLLCFGR)

Address offset: 0x04

Reset value: 0x2400 3010

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

This register is used to configure the PLL clock outputs according to the formulas:

31302928272625242322212019181716
Res.PLLR[2:0]PLLQ[3:0]Res.PLL SRCRes.Res.Res.Res.PLLP[1:0]
rwrwrwrwrwrwrwrwrwrw
1514131211109876543210
Res.PLLN[8:0]PLLM[5:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bits 30:28 PLLR[2:0] : Main PLL (PLL) division factor for I2S, DFSDM clocks

Set and cleared by software to control the frequency of the clock. These bits should be written only if PLL is disabled.

Clock frequency = VCO frequency / PLLR with \( 2 \leq \text{PLLR} \leq 7 \)

000: PLLR = 0, wrong configuration

001: PLLR = 1, wrong configuration

010: PLLR = 2

011: PLLR = 3

...

111: PLLR = 7

Bits 27:24 PLLQ[3:0] : Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks.

Set and cleared by software to control the frequency of USB OTG FS clock, the random number generator clock and the SDIO clock. These bits should be written only if PLL is disabled.

Caution: The USB OTG FS requires a 48 MHz clock to work correctly. The SDIO and the random number generator need a frequency lower than or equal to 48 MHz to work correctly.

USB OTG FS clock frequency = VCO frequency / PLLQ with \( 2 \leq \text{PLLQ} \leq 15 \)

0000: PLLQ = 0, wrong configuration

0001: PLLQ = 1, wrong configuration

0010: PLLQ = 2

0011: PLLQ = 3

0100: PLLQ = 4

...

1111: PLLQ = 15

Bit 23 Reserved, must be kept at reset value.

Bit 22 PLL SRC : Main PLL(PLL) and audio PLL (PLL I2S) entry clock source

Set and cleared by software to select PLL and PLL I2S clock source. This bit can be written only when PLL and PLL I2S are disabled.

0: HSI clock selected as PLL and PLL I2S clock entry

1: HSE oscillator clock selected as PLL and PLL I2S clock entry

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

Bits 17:16 PLL P[1:0] : Main PLL (PLL) division factor for main system clock

Set and cleared by software to control the frequency of the general PLL output clock. These bits can be written only if PLL is disabled.

Caution: The software has to set these bits correctly not to exceed 100 MHz on this domain.

PLL output clock frequency = VCO frequency / PLL P with PLL P = 2, 4, 6, or 8

00: PLL P = 2

01: PLL P = 4

10: PLL P = 6

11: PLL P = 8

Bit 15 Reserved, must be kept at reset value.

Bits 14:6 PLL N[8:0] : Main PLL (PLL) multiplication factor for VCO

Set and cleared by software to control the multiplication factor of the VCO. These bits can be written only when PLL is disabled. Only half-word and word accesses are allowed to write these bits.

Caution: The software has to set these bits correctly to ensure that the VCO output frequency is between 100 and 432 MHz. (check also Section 6.3.26: RCC PLL I2S configuration register (RCC_PLL I2S CFGR) )

VCO output frequency = VCO input frequency × PLL N with \( 50 \leq \text{PLL N} \leq 432 \)

000000000: PLL N = 0, wrong configuration

000000001: PLL N = 1, wrong configuration

...

000110010: PLL N = 50

...

001100011: PLL N = 99

001100100: PLL N = 100

...

110110000: PLL N = 432

110110001: PLL N = 433, wrong configuration

...

111111111: PLL N = 511, wrong configuration

Note: Multiplication factors possible for VCO input frequency higher than 1 MHz but care must be taken to fulfill the VCO output frequency range as specified above.

Bits 5:0 PLLM[5:0] : Division factor for the main PLL (PLL) input clock

Set and cleared by software to divide the PLL and PLLI2S input clock before the VCO.

These bits can be written only when the PLL and PLLI2S are disabled.

Caution: The software has to set these bits correctly to ensure that the VCO input frequency ranges from 1 to 2 MHz. It is recommended to select a frequency of 2 MHz to limit PLL jitter.

VCO input frequency = PLL input clock frequency / PLLM with \( 2 \leq \text{PLLM} \leq 63 \)

000000: PLLM = 0, wrong configuration

000001: PLLM = 1, wrong configuration

000010: PLLM = 2

000011: PLLM = 3

000100: PLLM = 4

...

111110: PLLM = 62

111111: PLLM = 63

6.3.3 RCC clock configuration register (RCC_CFGR)

Address offset: 0x08

Reset value: 0x0000 0000

Access: \( 0 \leq \text{wait state} \leq 2 \) , word, half-word and byte access

1 or 2 wait states inserted only if the access occurs during a clock source switch.

31302928272625242322212019181716
MCO2[1:0]MCO2 PRE[2:0]MCO1 PRE[2:0]Res.MCO1[1:0]RTCPRE[4:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
PPRE2[2:0]PPRE1[2:0]Res.Res.HPRE[3:0]SWS[1:0]SW[1:0]
rwrwrwrwrwrwrwrwrwrwrrrwrw

Bits 31:30 MCO2[1:0] : Microcontroller clock output 2

Set and cleared by software. Clock source selection may generate glitches on MCO2. It is highly recommended to configure these bits only after reset before enabling the external oscillators and the PLLs.

00: System clock (SYSCLK) selected

01: PLLI2S clock selected

10: HSE oscillator clock selected

11: PLL clock selected

Bits 29:27 MCO2PRE[1:0] : MCO2 prescaler

Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset before enabling the external oscillators and the PLLs.

0xx: no division

100: division by 2

101: division by 3

110: division by 4

111: division by 5

Bits 26:24 MCO1PRE[1:0] : MCO1 prescaler

Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset before enabling the external oscillators and the PLL.

0xx: no division
100: division by 2
101: division by 3
110: division by 4
111: division by 5

Bit 23 Reserved, always read as 0.

Bits 22:21 MCO1[1:0] : Microcontroller clock output 1

Set and cleared by software. Clock source selection may generate glitches on MCO1. It is highly recommended to configure these bits only after reset before enabling the external oscillators and PLL.

00: HSI clock selected
01: LSE oscillator selected
10: HSE oscillator clock selected
11: PLL clock selected

Bits 20:16 RTCPRE[4:0] : HSE division factor for RTC clock

Set and cleared by software to divide the HSE clock input clock to generate a 1 MHz clock for RTC.

Caution: The software has to set these bits correctly to ensure that the clock supplied to the RTC is 1 MHz. These bits must be configured if needed before selecting the RTC clock source.

00000: no clock
00001: no clock
00010: HSE/2
00011: HSE/3
00100: HSE/4
...
11110: HSE/30
11111: HSE/31

Bits 15:13 PPRE2[2:0] : APB high-speed prescaler (APB2)

Set and cleared by software to control APB high-speed clock division factor.

Caution: The software has to set these bits correctly not to exceed 100 MHz on this domain. The clocks are divided with the new prescaler factor from 1 to 16 AHB cycles after PPRE2 write.

0xx: AHB clock not divided
100: AHB clock divided by 2
101: AHB clock divided by 4
110: AHB clock divided by 8
111: AHB clock divided by 16

Bits 12:10 PPRE1[2:0] : APB Low speed prescaler (APB1)

Set and cleared by software to control APB low-speed clock division factor.

Caution: The software has to set these bits correctly not to exceed 50 MHz on this domain.
The clocks are divided with the new prescaler factor from 1 to 16 AHB cycles after PPRE1 write.

0xx: AHB clock not divided
100: AHB clock divided by 2
101: AHB clock divided by 4
110: AHB clock divided by 8
111: AHB clock divided by 16

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

Bits 7:4 HPRE[3:0] : AHB prescaler

Set and cleared by software to control AHB clock division factor.

Caution: The clocks are divided with the new prescaler factor from 1 to 16 AHB cycles after HPRE write.

Caution: The AHB clock frequency must be at least 25 MHz when the Ethernet is used.

0xxx: system clock not divided
1000: system clock divided by 2
1001: system clock divided by 4
1010: system clock divided by 8
1011: system clock divided by 16
1100: system clock divided by 64
1101: system clock divided by 128
1110: system clock divided by 256
1111: system clock divided by 512

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

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

00: HSI oscillator used as the system clock
01: HSE oscillator used as the system clock
10: PLL used as the system clock
11: not applicable

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

Set and cleared by software to select the system clock source.

Set by hardware to force the HSI selection when leaving the Stop or Standby mode or in case of failure of the HSE oscillator used directly or indirectly as the system clock.

00: HSI oscillator selected as system clock
01: HSE oscillator selected as system clock
10: PLL selected as system clock
11: not allowed

6.3.4 RCC clock interrupt register (RCC_CIR)

Address offset: 0x0C

Reset value: 0x0000 0000

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

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.CSSCRes.PLL2SRDYCPLLRDYCHSE RDYCHSI RDYCLSE RDYCLSI RDYC
wwwwwww
1514131211109876543210
Res.Res.PLL2SRDIEPLLRDIEHSE RDIEHSI RDIELSE RDIELSI RDIECSSFRes.PLL2SRDYFPLLRDYFHSE RDYFHSI RDYFLSE RDYFLSI RDYF
rwrwrwrwrwrwrrrrrrr

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

Bit 23 CSSC : Clock security system interrupt clear

This bit is set by software to clear the CSSF flag.

0: No effect

1: Clear CSSF flag

Bit 22 Reserved, must be kept at reset value.

Bit 21 PLL2SRDYC : PLL2S ready interrupt clear

This bit is set by software to clear the PLL2SRDYF flag.

0: No effect

1: PLL2SRDYF cleared

Bit 20 PLLRDYC : Main PLL(PLL) ready interrupt clear

This bit is set by software to clear the PLLRDYF flag.

0: No effect

1: PLLRDYF cleared

Bit 19 HSERDYC : HSE ready interrupt clear

This bit is set by software to clear the HSERDYF flag.

0: No effect

1: HSERDYF cleared

Bit 18 HSIRDYC : HSI ready interrupt clear

This bit is set software to clear the HSIRDYF flag.

0: No effect

1: HSIRDYF cleared

Bit 17 LSERDYC : LSE ready interrupt clear

This bit is set by software to clear the LSERDYF flag.

0: No effect

1: LSERDYF cleared

Bit 16 LSIRDYC : LSI ready interrupt clear

This bit is set by software to clear the LSIRDYF flag.

0: No effect

1: LSIRDYF cleared

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

Bit 13 PLLI2SRDYIE : PLLI2S ready interrupt enable

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

0: PLLI2S lock interrupt disabled

1: PLLI2S lock interrupt enabled

Bit 12 PLLRDYIE : Main PLL (PLL) ready interrupt enable

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

0: PLL lock interrupt disabled

1: PLL lock interrupt enabled

Bit 11 HSERDYIE : HSE ready interrupt enable

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

0: HSE ready interrupt disabled

1: HSE ready interrupt enabled

Bit 10 HSIRDYIE : HSI ready interrupt enable

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

0: HSI ready interrupt disabled

1: HSI ready interrupt enabled

Bit 9 LSERDYIE : LSE ready interrupt enable

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

0: LSE ready interrupt disabled

1: LSE ready interrupt enabled

Bit 8 LSIRDYIE : LSI ready interrupt enable

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

0: LSI ready interrupt disabled

1: LSI ready interrupt enabled

Bit 7 CSSF : Clock security system interrupt flag

Set by hardware when a failure is detected in the HSE oscillator.

Cleared by software setting the CSSC bit.

0: No clock security interrupt caused by HSE clock failure

1: Clock security interrupt caused by HSE clock failure

Bit 6 Reserved, must be kept at reset value.

Bit 5 PLLI2SRDYF : PLLI2S ready interrupt flag

Set by hardware when the PLLI2S locks and PLLI2SRDYIE is set.

Cleared by software setting the PLLRI2SDYC bit.

0: No clock ready interrupt caused by PLLI2S lock

1: Clock ready interrupt caused by PLLI2S lock

Bit 4 PLLRDYF : Main PLL (PLL) ready interrupt flag

Set by hardware when PLL locks and PLLRDYIE is set.

Cleared by software setting the PLLRDYC bit.

0: No clock ready interrupt caused by PLL lock

1: Clock ready interrupt caused by PLL lock

Bit 3 HSERDYF : HSE ready interrupt flag

Set by hardware when External High Speed clock becomes stable and HSERDYIE is set.

Cleared by software setting the HSERDYC bit.

0: No clock ready interrupt caused by the HSE oscillator

1: Clock ready interrupt caused by the HSE oscillator

Bit 2 HSIRDYF : HSI ready interrupt flag

Set by hardware when the Internal High Speed clock becomes stable and HSIRDYIE is set.

Cleared by software setting the HSIRDYC bit.

0: No clock ready interrupt caused by the HSI oscillator

1: Clock ready interrupt caused by the HSI oscillator

Bit 1 LSERDYF : LSE ready interrupt flag

Set by hardware when the External Low Speed clock becomes stable and LSERDYIE is set.

Cleared by software setting the LSERDYC bit.

0: No clock ready interrupt caused by the LSE oscillator

1: Clock ready interrupt caused by the LSE oscillator

Bit 0 LSIRDYF : LSI ready interrupt flag

Set by hardware when the internal low speed clock becomes stable and LSIRDYIE is set.

Cleared by software setting the LSIRDYC bit.

0: No clock ready interrupt caused by the LSI oscillator

1: Clock ready interrupt caused by the LSI oscillator

6.3.5 RCC AHB1 peripheral reset register (RCC_AHB1RSTR)

Address offset: 0x10

Reset value: 0x0000 0000

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

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.DMA2
RST
DMA1
RST
Res.Res.Res.Res.Res.
rwrw
1514131211109876543210
Res.Res.Res.CRCRSTRes.Res.Res.Res.GPIOH
RST
GPIOG
RST
GPIOF
RST
GPIOE
RST
GPIO D
RST
GPIOC
RST
GPIOB
RST
GPIOA
RST
rwrwrwrwrwrwrwrwrw

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

Bit 22 DMA2RST : DMA2 reset

Set and cleared by software.

0: does not reset DMA2

1: resets DMA2

Bit 21 DMA1RST : DMA1 reset

Set and cleared by software.

0: does not reset DMA1

1: resets DMA1

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

Bit 12 CRCRST : CRC reset

Set and cleared by software.

0: does not reset CRC

1: resets CRC

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

Bit 7 GPIOHRST : IO port H reset

Set and cleared by software.

0: does not reset IO port H

1: resets IO port H

Bit 6 GPIOGRST : IO port G reset

Set and cleared by software.

0: does not reset IO port G

1: resets IO port G

Bit 5 GPIOFRST : IO port F reset

Set and cleared by software.

0: does not reset IO port F

1: resets IO port F

Bit 4 GPIOERST : IO port E reset

Set and cleared by software.

0: does not reset IO port E

1: resets IO port E

Bit 3 GIODRST : IO port D reset

Set and cleared by software.

0: does not reset IO port D

1: resets IO port D

Bit 2 GPIOCRST : IO port C reset

Set and cleared by software.

0: does not reset IO port C

1: resets IO port C

Bit 1 GPIOBRST : IO port B reset

Set and cleared by software.

0: does not reset IO port B

1: resets IO port B

Bit 0 GPIOARST : IO port A reset

Set and cleared by software.

0: does not reset IO port A

1: resets IO port A

6.3.6 RCC AHB2 peripheral reset register (RCC_AHB2RSTR) for STM32F413xx

Address offset: 0x14

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.OTGFS
RST
RNG
RST
Res.Res.Res.Res.Res.Res.
rwrw

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

Bit 7 OTGFSRST : USB OTG FS module reset

Set and cleared by software.

0: does not reset the USB OTG FS module

1: resets the USB OTG FS module

Bit 6 RNGRST : RNG module reset

Set and cleared by software.

0: does not reset RNG module

1: resets RNG module

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

6.3.7 RCC AHB2 peripheral reset register (RCC_AHB2RSTR) for STM32F423xx

Address offset: 0x14

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.OTGFS
RST
RNG
RST
Res.CRYP
RST
Res.Res.Res.Res.
rwrwrw

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

Bit 7 OTGFSRST : USB OTG FS module reset

Set and cleared by software.

0: does not reset the USB OTG FS module

1: resets the USB OTG FS module

Bit 6 RNGRST : RNG module reset

Set and cleared by software.

0: does not reset RNG module

1: resets RNG module

Bit 5 Reserved, must be kept at reset value.

Bit 4 CRYPRST : CRYP module reset

Set and reset by software.

0: does not reset CRYP module

1: resets CRYP module

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

6.3.8 RCC AHB3 peripheral reset register (RCC_AHB3RSTR)

Address offset: 0x18

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.QSPIRSTFSMC RST
rwrw

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

Bit 1 QSPIRST : QUADSPI module reset
Set and cleared by software.
0: does not reset QUADSPI module
1: resets QUADSPI module

Bit 0 FSMCRST : Flexible memory controller module reset
Set and cleared by software.
0: does not reset the FSMC module
1: resets the FSMC module

6.3.9 RCC APB1 peripheral reset register for (RCC_APB1RSTR)

Address offset: 0x20

Reset value: 0x0000 0000

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

31302928272625242322212019181716
UART8 RSTUART7 RSTDAC RSTPWR RSTCAN3 RSTCAN2 RSTCAN1 RSTI2C4 RSTI2C3 RSTI2C2 RSTI2C1 RSTUART5 RSTUART4 RSTUSART3 RSTUSART2 RSTRes.
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
SPI3 RSTSPI2 RSTRes.Res.WWDOG RSTRes.LPTIMER1 RSTTIM14 RSTTIM13 RSTTIM12 RSTTIM7 RSTTIM6 RSTTIM5 RSTTIM4 RSTTIM3 RSTTIM2 RST
rwrwrwrwrwrwrwrwrwrwrwrwrw
  1. Bit 31 UART8RST : UART 8 reset
    Set and reset by software.
    0: does not reset UART 8
    1: resets the UART 8
  2. Bit 30 UART7RST : UART 7 reset
    Set and reset by software.
    0: does not reset UART 7
    1: resets the UART 7
  3. Bit 29 DACRST : DAC reset
    Set and reset by software.
    0: does not reset DAC
    1: resets DAC
  4. Bit 28 PWRRST : Power interface reset
    Set and reset by software.
    0: does not reset the power interface
    1: resets the power interface
  5. Bit 27 CAN3RST : CAN 3 reset
    Set and reset by software.
    0: does not reset CAN 3
    1: resets CAN 3
  6. Bit 26 CAN2RST : CAN2 reset
    Set and cleared by software.
    0: does not reset CAN2
    1: resets CAN2
  7. Bit 25 CAN1RST : CAN1 reset
    Set and cleared by software.
    0: does not reset CAN1
    1: resets CAN1
  8. Bit 24 I2C4RST : I2C4 reset
    Set and reset by software.
    0: does not reset I2C4
    1: resets I2C4
  9. Bit 23 I2C3RST : I2C3 reset
    Set and reset by software.
    0: does not reset I2C3
    1: resets I2C3
  10. Bit 22 I2C2RST : I2C2 reset
    Set and cleared by software.
    0: does not reset I2C2
    1: resets I2C2
  11. Bit 21 I2C1RST : I2C1 reset
    Set and reset by software.
    0: does not reset I2C1
    1: resets I2C1

Bit 20 UART5RST : UART5 reset

Set and reset by software.

0: does not reset UART5

1: resets UART5

Bit 19 UART4RST : UART4 reset

Set and reset by software.

0: does not reset UART4

1: resets UART4

Bit 18 USART3RST : USART3 reset

Set and cleared by software.

0: does not reset USART3

1: resets USART3

Bit 17 USART2RST : USART2 reset

Set and cleared by software.

0: does not reset USART2

1: resets USART2

Bit 16 Reserved, must be kept at reset value.

Bit 15 SPI3RST : SPI3 reset

Set and cleared by software.

0: does not reset SPI3

1: resets SPI3

Bit 14 SPI2RST : SPI2 reset

Set and cleared by software.

0: does not reset SPI2

1: resets SPI2

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

Bit 11 WWDGRST : Window watchdog reset

Set and cleared by software.

0: does not reset the window watchdog

1: resets the window watchdog

Bit 10 Reserved, must be kept at reset value.

Bit 9 LPTIMER1RST : LPTimer1 reset

Set and reset by software.

0: does not reset timer 1

1: resets timer 1

Bit 8 TIM14RST : TIM14 reset

Set and cleared by software.

0: does not reset TIM14

1: resets TIM14

Bit 7 TIM13RST : TIM13 reset

Set and cleared by software.

0: does not reset TIM13

1: resets TIM13

  1. Bit 6 TIM12RST : TIM12 reset
    Set and cleared by software.
    0: does not reset TIM12
    1: resets TIM12
  2. Bit 5 TIM7RST : TIM7 reset
    Set and cleared by software.
    0: does not reset TIM7
    1: resets TIM7
  3. Bit 4 TIM6RST : TIM6 reset
    Set and cleared by software.
    0: does not reset TIM6
    1: resets TIM6
  4. Bit 3 TIM5RST : TIM5 reset
    Set and cleared by software.
    0: does not reset TIM5
    1: resets TIM5
  5. Bit 2 TIM4RST : TIM4 reset
    Set and cleared by software.
    0: does not reset TIM4
    1: resets TIM4
  6. Bit 1 TIM3RST : TIM3 reset
    Set and cleared by software.
    0: does not reset TIM3
    1: resets TIM3
  7. Bit 0 TIM2RST : TIM2 reset
    Set and cleared by software.
    0: does not reset TIM2
    1: resets TIM2

6.3.10 RCC APB2 peripheral reset register (RCC_APB2RSTR)

Address offset: 0x24

Reset value: 0x0000 0000

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

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.DFSDM2
RST
DFSDM1
RST
Res.SAI1
RST
Res.SPI5
RST
Res.TIM11
RST
TIM10
RST
TIM9
RST
rwrwrwrwrwrwrw
1514131211109876543210
Res.SYSCFG
RST
SPI4
RST
SPI1
RST
SDIO
RST
Res.Res.ADC
RST
UART10
RST
UART9
RST
USART6
RST
USART1
RST
Res.Res.TIM8
RST
TIM1
RST
rwrwrwrwrwrwrwrwrwrwrw

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

Bit 25 DFSDM2RST : DFSDM2 reset

Set and cleared by software.

0: does not reset DFSDM2

1: resets DFSDM2

Bit 24 DFSDM1RST : DFSDM1 reset

Set and cleared by software.

0: does not reset DFSDM1

1: resets DFSDM1

Bit 23 Reserved, must be kept at reset value.

Bit 22 SAI1RST : SAI1 reset

Set and reset by software.

0: does not reset SAI1

1: resets SAI1

Bit 21 Reserved, must be kept at reset value.

Bit 20 SPI5RST : SPI5RST

This bit is set and cleared by software.

0: does not reset SPI5

1: resets SPI5

Bit 19 Reserved, must be kept at reset value.

Bit 18 TIM11RST : TIM11 reset

Set and cleared by software.

0: does not reset TIM11

1: resets TIM11

Bit 17 TIM10RST : TIM10 reset

Set and cleared by software.

0: does not reset TIM10

1: resets TIM10

Bit 16 TIM9RST : TIM9 reset

Set and cleared by software.

0: does not reset TIM9

1: resets TIM9

  1. Bit 15 Reserved, must be kept at reset value.
  2. Bit 14 SYSCFGRST : System configuration controller reset
    Set and cleared by software.
    0: does not reset the System configuration controller
    1: resets the System configuration controller
  3. Bit 13 SPI4RST : SPI4 reset
    Set and reset by software.
    0: does not reset SPI4
    1: resets SPI4
  4. Bit 12 SPI1RST : SPI1 reset
    Set and cleared by software.
    0: does not reset SPI1
    1: resets SPI1
  5. Bit 11 SDIORST : SDIO reset
    Set and cleared by software.
    0: does not reset the SDIO module
    1: resets the SDIO module
  6. Bits 10:9 Reserved, must be kept at reset value.
  7. Bit 8 ADCRST : ADC interface reset
    Set and cleared by software.
    0: does not reset the ADC interface
    1: resets the ADC interface
  8. Bit 7 UART10RST : UART10 reset
    Set and cleared by software.
    0: does not reset UART10
    1: resets UART10
  9. Bit 6 UART9RST : UART9 reset
    Set and cleared by software.
    0: does not reset UART9
    1: resets UART9
  10. Bit 5 USART6RST : USART6 reset
    Set and cleared by software.
    0: does not reset USART6
    1: resets USART6
  11. Bit 4 USART1RST : USART1 reset
    Set and cleared by software.
    0: does not reset USART1
    1: resets USART1

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

Bit 1 TIM8RST : TIM8 reset

Set and cleared by software.

0: does not reset TIM8

1: resets TIM8

Bit 0 TIM1RST : TIM1 reset

Set and cleared by software.

0: does not reset TIM1

1: resets TIM1

6.3.11 RCC AHB1 peripheral clock enable register (RCC_AHB1ENR)

Address offset: 0x30

Reset value: 0x0000 0000

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

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.DMA2ENDMA1ENRes.Res.Res.Res.Res.
rwrw
1514131211109876543210
Res.Res.Res.RCRCENRes.Res.Res.Res.GPIOHENGPIOGENGPIOFENGPIOEENGPIODENGPIOCENGPIOBENGPIOAEN
rwrwrwrwrwrwrwrwrw

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

Bit 22 DMA2EN : DMA2 clock enable

Set and cleared by software.

0: DMA2 clock disabled

1: DMA2 clock enabled

Bit 21 DMA1EN : DMA1 clock enable

Set and cleared by software.

0: DMA1 clock disabled

1: DMA1 clock enabled

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

Bit 12 RCRCEN : CRC clock enable

Set and cleared by software.

0: CRC clock disabled

1: CRC clock enabled

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

Bit 7 GPIOHEN : IO port H clock enable

Set and reset by software.

0: IO port H clock disabled

1: IO port H clock enabled

Bit 6 GPIOGEN : IO port G clock enable

Set and cleared by software.

0: IO port G clock disabled

1: IO port G clock enabled

Bit 5 GPIOFEN : IO port F clock enable

Set and cleared by software.

0: IO port F clock disabled

1: IO port F clock enabled

Bit 4 GPIOEEN : IO port E clock enable

Set and cleared by software.

0: IO port E clock disabled

1: IO port E clock enabled

Bit 3 GPIODEN : IO port D clock enable

Set and cleared by software.

0: IO port D clock disabled

1: IO port D clock enabled

Bit 2 GPIOCEN : IO port C clock enable

Set and cleared by software.

0: IO port C clock disabled

1: IO port C clock enabled

Bit 1 GPIOBEN : IO port B clock enable

Set and cleared by software.

0: IO port B clock disabled

1: IO port B clock enabled

Bit 0 GPIOAEN : IO port A clock enable

Set and cleared by software.

0: IO port A clock disabled

1: IO port A clock enabled

6.3.12 RCC AHB2 peripheral clock enable register (RCC_AHB2ENR) for STM32F413xx

Address offset: 0x34

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.OTGFS
EN
RNG
EN
Res.Res.Res.Res.Res.Res.
rwrw

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

Bit 7 OTGFSEN : USB OTG FS clock enable

Set and cleared by software.

0: USB OTG FS clock disabled

1: USB OTG FS clock enabled

Bit 6 RNGEN : RNG clock enable

Set and cleared by software.

0: RNG clock disabled

1: RNG clock enabled

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

6.3.13 RCC AHB2 peripheral clock enable register (RCC_AHB2ENR) for STM32F423xx

Address offset: 0x34

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.OTGFS
EN
RNG
EN
Res.CRYP
EN
Res.Res.Res.Res.
rwrwrw

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

Bit 7 OTGFSEN : USB OTG FS clock enable

Set and cleared by software.

0: USB OTG FS clock disabled

1: USB OTG FS clock enabled

Bit 6 RNGEN : RNG clock enable

Set and cleared by software.

0: RNG clock disabled

1: RNG clock enabled

Bit 5 Reserved, must be kept at reset value.

Bit 4 CRYPEN : CRYP clock enable

Set and reset by software.

0: CRYP clock disabled

1: CRYP clock enabled

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

6.3.14 RCC AHB3 peripheral clock enable register (RCC_AHB3ENR)

Address offset: 0x38

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.QSPI ENFSMC EN
rwrw

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

Bit 1 QSPIEN : QUADSPI memory controller module clock enable
Set and cleared by software.
0: QUADSPI clock disabled
1: QUADSPI clock enabled

Bit 0 FSMCEN : Flexible memory controller module clock enable
Set and cleared by software.
0: FSMC module clock disabled
1: FSMC module clock enabled

6.3.15 RCC APB1 peripheral clock enable register (RCC_APB1ENR)

Address offset: 0x40

Reset value: 0x0000 0400

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

31302928272625242322212019181716
UART8 ENUART7 ENDAC ENPWR ENCAN3 ENCAN2 ENCAN1 ENI2CFMP1 ENI2C3 ENI2C2 ENI2C1 ENUART5 ENUART4 ENUSART3 ENUSART2 ENRes.
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
SPI3 ENSPI2 ENRes.Res.WWDG ENRTCAPB ENLPTIMER1 ENTIM14 ENTIM13 ENTIM12 ENTIM7 ENTIM6 ENTIM5 ENTIM4 ENTIM3 ENTIM2 EN
rwrwrwrwrwrwrwrwrwrwrwrwrwrw
  1. Bit 31 UART8EN : UART8 clock enable
    Set and reset by software.
    0: UART8 clock disabled
    1: UART8 clock enable
  2. Bit 30 UART7EN : UART7 clock enable
    Set and reset by software.
    0: UART7 clock disabled
    1: UART7 clock enable
  3. Bit 29 DACEN : DAC clock enable
    Set and reset by software.
    0: DAC clock disabled
    1: DAC clock enable
  4. Bit 28 PWREN : Power interface clock enable
    Set and reset by software.
    0: Power interface clock disabled
    1: Power interface clock enable
  5. Bit 27 CAN3EN : CAN 3 clock enable
    This bit is set and cleared by software.
    0: CAN 3 clock disabled
    1: CAN 3 clock enabled
  6. Bit 26 CAN2EN : CAN 2 clock enable
    This bit is set and cleared by software.
    0: CAN 2 clock disabled
    1: CAN 2 clock enabled
  7. Bit 25 CAN1EN : CAN 1 clock enable
    This bit is set and cleared by software.
    0: CAN 1 clock disabled
    1: CAN 1 clock enabled
  8. Bit 24 I2CFMP1EN : I2CFMP1 clock enable
    This bit is set and cleared by software.
    0: I2CFMP1 clock disabled
    1: I2CFMP1 clock enabled
  9. Bit 23 I2C3EN : I2C3 clock enable
    Set and cleared by software.
    0: I2C3 clock disabled
    1: I2C3 clock enabled
  10. Bit 22 I2C2EN : I2C2 clock enable
    Set and cleared by software.
    0: I2C2 clock disabled
    1: I2C2 clock enabled
  11. Bit 21 I2C1EN : I2C1 clock enable
    Set and cleared by software.
    0: I2C1 clock disabled
    1: I2C1 clock enabled
  1. Bit 20 UART5EN : UART 5 clock enable
    Set and RESET by software.
    0: UART 5 clock disabled
    1: UART 5 clock enabled
  2. Bit 19 UART4EN : UART 4 clock enable
    Set and cleared by software.
    0: UART 4 clock disabled
    1: UART 4 clock enabled
  3. Bit 18 USART3EN : USART3 clock enable
    Set and cleared by software.
    0: USART3 clock disabled
    1: USART3 clock enabled
  4. Bit 17 USART2EN : USART2 clock enable
    Set and cleared by software.
    0: USART2 clock disabled
    1: USART2 clock enabled
  5. Bit 16 Reserved, must be kept at reset value.
  6. Bit 15 SPI3EN : SPI3 clock enable
    Set and cleared by software.
    0: SPI3 clock disabled
    1: SPI3 clock enabled
  7. Bit 14 SPI2EN : SPI2 clock enable
    Set and cleared by software.
    0: SPI2 clock disabled
    1: SPI2 clock enabled
  8. Bits 13:12 Reserved, must be kept at reset value.
  9. Bit 11 WWDGEN : Window watchdog clock enable
    Set and cleared by software.
    0: Window watchdog clock disabled
    1: Window watchdog clock enabled
  10. Bit 10 RTCAPBEN : clock enable
    Set and cleared by software.
    0: The register clock interface of the RTC (APB) is disabled
    1: The register clock interface of the RTC (APB) is enabled (default after reset)
  11. Bit 9 LPTIMER1EN : LPTimer 1 clock enable
    Set and reset by software.
    0: LPTimer 1 clock disabled
    1: LPTimer 1 clock enabled
  12. Bit 8 TIM14EN : TIM14 reset
    Set and cleared by software.
    0: does not reset TIM14
    1: resets TIM14
  13. Bit 7 TIM13EN : TIM13 reset
    Set and cleared by software.
    0: does not reset TIM13
    1: resets TIM13
  1. Bit 6 TIM12EN : TIM12 reset
    Set and cleared by software.
    0: does not reset TIM12
    1: resets TIM12
  2. Bit 5 TIM7EN : TIM7 reset
    Set and cleared by software.
    0: does not reset TIM7
    1: resets TIM7
  3. Bit 4 TIM6EN : TIM6 reset
    Set and cleared by software.
    0: does not reset TIM6
    1: resets TIM6
  4. Bit 3 TIM5EN : TIM5 clock enable
    Set and cleared by software.
    0: TIM5 clock disabled
    1: TIM5 clock enabled
  5. Bit 2 TIM4EN : TIM4 clock enable
    Set and cleared by software.
    0: TIM4 clock disabled
    1: TIM4 clock enabled
  6. Bit 1 TIM3EN : TIM3 clock enable
    Set and cleared by software.
    0: TIM3 clock disabled
    1: TIM3 clock enabled
  7. Bit 0 TIM2EN : TIM2 clock enable
    Set and cleared by software.
    0: TIM2 clock disabled
    1: TIM2 clock enabled

6.3.16 RCC APB2 peripheral clock enable register (RCC_APB2ENR)

Address offset: 0x44

Reset value: 0x0000 8000

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

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.DFSDM2 ENDFSDM1 ENRes.SAI1 ENRes.SPI5 ENRes.TIM11 ENTIM10 ENTIM9 EN
rwrwrwrwrwrwrw
1514131211109876543210
EXITI ENSYSCF GENSPI4ENSPI1 ENSDIO ENRes.Res.ADC1 ENUART10 ENUART9 ENUSART6 ENUSART1 ENRes.Res.TIM8 ENTIM1 EN
rwrwrwrwrwrwrwrwrwrwrwrw

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

Bit 25 DFSDM2EN : DFSDM2 clock enable

Set and cleared by software

0: DFSDM2 clock disabled

1: DFSDM2 clock enabled

Bit 24 DFSDM1EN : DFSDM1 clock enable

Set and cleared by software

0: DFSDM1 clock disabled

1: DFSDM1 clock enabled

Bit 23 Reserved, must be kept at reset value.

Bit 22 SAI1EN : SAI 1 clock enable

Set and cleared by software

0: SAI 1 clock disabled

1: SAI 1 clock enabled

Bit 21 Reserved, must be kept at reset value.

Bit 20 SPI5EN : SPI5 clock enable

Set and cleared by software

0: SPI5 clock disabled

1: SPI5 clock enabled

Bit 19 Reserved, must be kept at reset value.

Bit 18 TIM11EN : TIM11 clock enable

Set and cleared by software.

0: TIM11 clock disabled

1: TIM11 clock enabled

Bit 17 TIM10EN : TIM10 clock enable

Set and cleared by software.

0: TIM10 clock disabled

1: TIM10 clock enabled

  1. Bit 16 TIM9EN : TIM9 clock enable
    Set and cleared by software.
    0: TIM9 clock disabled
    1: TIM9 clock enabled
  2. Bit 15 EXTITEN : EXIT APB SYSCTRL PFREE clock enable
    Set and cleared by software.
    0: Exit Apb sysctrl pfree clock disabled
    1: Exit Apb sysctrl pfree clock enabled
  3. Bit 14 SYSCFGEN : System configuration controller clock enable
    Set and cleared by software.
    0: System configuration controller clock disabled
    1: System configuration controller clock enabled
  4. Bit 13 SPI4EN : SPI4 clock enable
    Set and reset by software.
    0: SPI4 clock disabled
    1: SPI4 clock enable
  5. Bit 12 SPI1EN : SPI1 clock enable
    Set and cleared by software.
    0: SPI1 clock disabled
    1: SPI1 clock enabled
  6. Bit 11 SDIOEN : SDIO clock enable
    Set and cleared by software.
    0: SDIO module clock disabled
    1: SDIO module clock enabled
  7. Bits 10:9 Reserved, must be kept at reset value.
  8. Bit 8 ADC1EN : ADC1 clock enable
    Set and cleared by software.
    0: ADC1 clock disabled
    1: ADC1 clock enabled
  9. Bit 7 UART10EN : UART10 clock enable
    Set and cleared by software.
    0: UART10 clock disabled
    1: UART10 clock enabled
  10. Bit 6 USART9EN : USART9 clock enable
    Set and cleared by software.
    0: USART9 clock disabled
    1: USART9 clock enabled
  11. Bit 5 USART6EN : USART6 clock enable
    Set and cleared by software.
    0: USART6 clock disabled
    1: USART6 clock enabled
  12. Bit 4 USART1EN : USART1 clock enable
    Set and cleared by software.
    0: USART1 clock disabled
    1: USART1 clock enabled

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

Bit 1 TIM8EN : TIM8 clock enable

Set and cleared by software.

0: TIM8 clock disabled

1: TIM8 clock enabled

Bit 0 TIM1EN : TIM1 clock enable

Set and cleared by software.

0: TIM1 clock disabled

1: TIM1 clock enabled

6.3.17 RCC AHB1 peripheral clock enable in low power mode register (RCC_AHB1LPENR)

Address offset: 0x50

Reset value: 0x0063 90FF

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

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.DMA2LPENDMA1LPENRes.Res.Res.SRAM2LPENSRAM1LPEN
r/wr/wr/wr/w
1514131211109876543210
FLITFLPENRes.Res.CRC LPENRes.Res.Res.Res.GPIOHLPENGPIOGLPENGPIOFLPENGPIOELPENGPIODLPENGPIOCPENGPIOB LPENGPIOA LPEN
r/wr/wr/wr/wr/wr/wr/wr/wr/wr/w

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

Bit 22 DMA2LPEN : DMA2 clock enable during Sleep mode

Set and cleared by software.

0: DMA2 clock disabled during Sleep mode

1: DMA2 clock enabled during Sleep mode

Bit 21 DMA1LPEN : DMA1 clock enable during Sleep mode

Set and cleared by software.

0: DMA1 clock disabled during Sleep mode

1: DMA1 clock enabled during Sleep mode

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

Bit 17 SRAM2LPEN : SRAM2interface clock enable during Sleep mode

Set and cleared by software.

0: SRAM2 interface clock disabled during Sleep mode

1: SRAM2 interface clock enabled during Sleep mode

Bit 16 SRAM1LPEN : SRAM1interface clock enable during Sleep mode

Set and cleared by software.

0: SRAM1 interface clock disabled during Sleep mode

1: SRAM1 interface clock enabled during Sleep mode

Bit 15 FLITFLPEN : Flash interface clock enable during Sleep mode

Set and cleared by software.

0: Flash interface clock disabled during Sleep mode

1: Flash interface clock enabled during Sleep mode

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

Bit 12 CRCLPEN : CRC clock enable during Sleep mode

Set and cleared by software.

0: CRC clock disabled during Sleep mode

1: CRC clock enabled during Sleep mode

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

  1. Bit 7 GPIOHLPEN : IO port H clock enable during sleep mode
    Set and reset by software.
    0: IO port H clock disabled during sleep mode
    1: IO port H clock enabled during sleep mode
  2. Bit 6 GPIOGLPEN : IO port G clock enable during Sleep mode
    Set and cleared by software.
    0: IO port G clock disabled during Sleep mode
    1: IO port G clock enabled during Sleep mode
  3. Bit 5 GPIOFLPEN : IO port F clock enable during Sleep mode
    Set and cleared by software.
    0: IO port F clock disabled during Sleep mode
    1: IO port F clock enabled during Sleep mode
  4. Bit 4 GPIOELPEN : IO port E clock enable during Sleep mode
    Set and cleared by software.
    0: IO port E clock disabled during Sleep mode
    1: IO port E clock enabled during Sleep mode
  5. Bit 3 GPIODLPEN : IO port D clock enable during Sleep mode
    Set and cleared by software.
    0: IO port D clock disabled during Sleep mode
    1: IO port D clock enabled during Sleep mode
  6. Bit 2 GPIOCLPEN : IO port C clock enable during Sleep mode
    Set and cleared by software.
    0: IO port C clock disabled during Sleep mode
    1: IO port C clock enabled during Sleep mode
  7. Bit 1 GPIOBLPEN : IO port B clock enable during Sleep mode
    Set and cleared by software.
    0: IO port B clock disabled during Sleep mode
    1: IO port B clock enabled during Sleep mode
  8. Bit 0 GPIOALPEN : IO port A clock enable during sleep mode
    Set and cleared by software.
    0: IO port A clock disabled during Sleep mode
    1: IO port A clock enabled during Sleep mode

6.3.18 RCC AHB2 peripheral clock enable in low power mode register (RCC_AHB2LPENR) for STM32F413xx

Address offset: 0x54

Reset value: 0x0000 00C0

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.OTGFS
LPEN
RNG
LPEN
Res.Res.Res.Res.Res.Res.
rwrw

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

Bit 7 OTGFSLPEN : USB OTG FS clock enable during Sleep mode

Set and cleared by software.

0: USB OTG FS clock disabled during Sleep mode

1: USB OTG FS clock enabled during Sleep mode

Bit 6 RNGLPEN : RNG clock enable during Sleep mode

Set and cleared by software.

0: RNG clock disabled during Sleep mode

1: RNG clock enabled during Sleep mode

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

6.3.19 RCC AHB2 peripheral clock enable in low power mode register (RCC_AHB2LPENR) for STM32F423xx

Address offset: 0x54

Reset value: 0x0000 00D0

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.OTGFS
LPEN
RNG
LPEN
Res.CRYP
LPEN
Res.Res.Res.Res.
rwrwrw

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

Bit 7 OTGFSLPEN : USB OTG FS clock enable during sleep mode
Set and cleared by software.
0: USB OTG FS clock disabled during Sleep mode
1: USB OTG FS clock enabled during Sleep mode

Bit 6 RNGLPEN : RNG clock enable during sleep mode
Set and cleared by software.
0: RNG clock disabled during Sleep mode
1: RNG clock enabled during Sleep mode

Bit 5 Reserved, must be kept at reset value.

Bit 4 CRYPLPEN : CRYPG clock enable during sleep mode
Set and cleared by software.
0: CRYP clock disabled during Sleep mode
1: CRYP clock enabled during Sleep mode

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

6.3.20 RCC AHB3 peripheral clock enable in low power mode register (RCC_AHB3LPENR)

Address offset: 0x58

Reset value: 0x0000 0003

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.QSPI
LPEN
FSMC
LPEN
rwrw

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

Bit 1 QSPILPEN : QUADSPI memory controller module clock enable during Sleep mode

Set and cleared by software.

0: QUADSPI module clock disabled during Sleep mode

1: QUADSPI module clock enabled during Sleep mode

Bit 0 FSMCLPEN : Flexible memory controller module clock enable during Sleep mode

Set and cleared by software.

0: FSMC clock disabled during Sleep mode

1: FSMC clock enabled during Sleep mode

6.3.21 RCC APB1 peripheral clock enable in low power mode register (RCC_APB1LPENR)

Address offset: 0x60

Reset value: 0xFFFF CFFF

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

31302928272625242322212019181716
UART8
LPEN
UART7
LPEN
DAC
LPEN
PWR
LPEN
CAN3
LPEN
CAN2
LPEN
CAN1
LPEN
I2CFMP1
LPEN
I2C3
LPEN
I2C2
LPEN
I2C1
LPEN
UART5
LPEN
UART4
LPEN
USART3
LPEN
USART2
LPEN
Res.
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
SPI3
LPEN
SPI2
LPEN
Res.Res.WWDG
LPEN
RTCAPB
EN
LPTIMER1
EN
TIM14
LPEN
TIM13
LPEN
TIM12
LPEN
TIM7
LPEN
TIM6
LPEN
TIM5
LPEN
TIM4
LPEN
TIM3
LPEN
TIM2
LPEN
rwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bit 31 UART8LPEN : UART8 clock enable during Sleep mode

Set and cleared by software.

0: UART8 clock disabled during Sleep mode

1: UART8 clock enabled during Sleep mode

Bit 30 UART7LPEN : UART7 clock enable during Sleep mode

Set and cleared by software.

0: UART7 clock disabled during Sleep mode

1: UART7 clock enabled during Sleep mode

Bit 29 DACLPEN : DAC clock enable during Sleep mode

Set and cleared by software.

0: DAC clock disabled during Sleep mode

1: DAC clock enabled during Sleep mode

Bit 28 PWRLPEN : Power interface clock enable during Sleep mode

Set and cleared by software.

0: Power interface clock disabled during Sleep mode

1: Power interface clock enabled during Sleep mode

Bit 27 CAN3LPEN : CAN3 clock enable during Sleep mode

Set and cleared by software.

0: CAN3 clock disabled during Sleep mode

1: CAN3 clock enabled during Sleep mode

Bit 26 CAN2LPEN : CAN2 clock enable during Sleep mode

Set and cleared by software.

0: CAN2 clock disabled during Sleep mode

1: CAN2 clock enabled during Sleep mode

Bit 25 CAN1LPEN : CAN1 clock enable during Sleep mode

Set and cleared by software.

0: CAN1 clock disabled during Sleep mode

1: CAN1 clock enabled during Sleep mode

Bit 24 I2CFMP1LPEN : I2CFMP1 clock enable during Sleep mode

Set and cleared by software.

0: I2CFMP1 clock disabled during Sleep mode

1: I2CFMP1 clock enabled during Sleep mode

Bit 23 I2C3LPEN : I2C3 clock enable during Sleep mode

Set and cleared by software.

0: I2C3 clock disabled during Sleep mode

1: I2C3 clock enabled during Sleep mode

Bit 22 I2C2LPEN : I2C2 clock enable during Sleep mode

Set and cleared by software.

0: I2C2 clock disabled during Sleep mode

1: I2C2 clock enabled during Sleep mode

Bit 21 I2C1LPEN : I2C1 clock enable during Sleep mode

Set and cleared by software.

0: I2C1 clock disabled during Sleep mode

1: I2C1 clock enabled during Sleep mode

Bit 20 UART5LPEN : UART5 clock enable during Sleep mode

Set and cleared by software.

0: UART5 clock disabled during Sleep mode

1: UART5 clock enabled during Sleep mode

Bit 19 UART4LPEN : UART4 clock enable during Sleep mode

Set and cleared by software.

0: UART4 clock disabled during Sleep mode

1: UART4 clock enabled during Sleep mode

Bit 18 USART3LPEN : USART3 clock enable during Sleep mode

Set and cleared by software.

0: USART3 clock disabled during Sleep mode

1: USART3 clock enabled during Sleep mode

Bit 17 USART2LPEN : USART2 clock enable during Sleep mode

Set and cleared by software.

0: USART2 clock disabled during Sleep mode

1: USART2 clock enabled during Sleep mode

Bit 16 Reserved, must be kept at reset value.

Bit 15 SPI3LPEN : SPI3 clock enable during Sleep mode

Set and cleared by software.

0: SPI3 clock disabled during Sleep mode

1: SPI3 clock enabled during Sleep mode

Bit 14 SPI2LPEN : SPI2 clock enable during Sleep mode

Set and cleared by software.

0: SPI2 clock disabled during Sleep mode

1: SPI2 clock enabled during Sleep mode

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

Bit 11 WWDGLPEN : Window watchdog clock enable during Sleep mode

Set and cleared by software.

0: Window watchdog clock disabled during sleep mode

1: Window watchdog clock enabled during sleep mode

Bit 10 RTCAPBEN : RTC APB clock enable during Sleep mode

Set and cleared by software.

0: RTC APB clock disabled during sleep mode

1: RTC APB watchdog clock enabled during sleep mode

Bit 9 LPTIMER1EN : TIM14 clock enable during Sleep mode

Set and cleared by software.

0: LPTimer 1 clock disabled during Sleep mode

1: LPTimer 1 clock enabled during Sleep mode

Bit 8 TIM14LPEN : TIM14 clock enable during Sleep mode

Set and cleared by software.

0: TIM14 clock disabled during Sleep mode

1: TIM14 clock enabled during Sleep mode

Bit 7 TIM13LPEN : TIM13 clock enable during Sleep mode

Set and cleared by software.

0: TIM13 clock disabled during Sleep mode

1: TIM13 clock enabled during Sleep mode

Bit 6 TIM12LPEN : TIM12 clock enable during Sleep mode

Set and cleared by software.

0: TIM12 clock disabled during Sleep mode

1: TIM12 clock enabled during Sleep mode

Bit 5 TIM7LPEN : TIM7 clock enable during Sleep mode

Set and cleared by software.

0: TIM7 clock disabled during Sleep mode

1: TIM7 clock enabled during Sleep mode

Bit 4 TIM6LPEN : TIM6 clock enable during Sleep mode

Set and cleared by software.

0: TIM6 clock disabled during Sleep mode

1: TIM6 clock enabled during Sleep mode

Bit 3 TIM5LPEN : TIM5 clock enable during Sleep mode

Set and cleared by software.

0: TIM5 clock disabled during Sleep mode

1: TIM5 clock enabled during Sleep mode

Bit 2 TIM4LPEN : TIM4 clock enable during Sleep mode

Set and cleared by software.

0: TIM4 clock disabled during Sleep mode

1: TIM4 clock enabled during Sleep mode

Bit 1 TIM3LPEN : TIM3 clock enable during Sleep mode

Set and cleared by software.

0: TIM3 clock disabled during Sleep mode

1: TIM3 clock enabled during Sleep mode

Bit 0 TIM2LPEN : TIM2 clock enable during Sleep mode

Set and cleared by software.

0: TIM2 clock disabled during Sleep mode

1: TIM2 clock enabled during Sleep mode

6.3.22 RCC APB2 peripheral clock enabled in low power mode register (RCC_APB2LPENR)

Address offset: 0x64

Reset value: 0x0317 F9F3

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

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.DFSDM2 LPENDFSDM1 LPENRes.SAI1 LPENRes.SPI5 LPENRes.TIM11 LPENTIM10 LPENTIM9 LPEN
rwrwrwrwrwrwrw
1514131211109876543210
EXITI LPENSYSC FG LPENSPI4LP ENSPI1 LPENSDIO LPENRes.Res.ADC1 LPENUART10 LPENUART9 LPENUSART6 LPENUSART1 LPENRes.Res.TIM8 LPENTIM1 LPEN
rwrwrwrwrwrwrwrwrwrwrwrw

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

Bit 25 DFSDM2LPEN : DFSDM2 clock enable during Sleep mode

This bit is set and cleared by software

0: DFSDM2 clock disabled during Sleep mode

1: DFSDM2 clock enabled during Sleep mode

Bit 24 DFSDM1LPEN : DFSDM1 clock enable during Sleep mode

This bit is set and cleared by software

0: DFSDM1 clock disabled during Sleep mode

1: DFSDM1 clock enabled during Sleep mode

Bit 23 Reserved, must be kept at reset value.

Bit 22 SAI1LPEN : SAI1 clock enable during Sleep mode

This bit is set and cleared by software

0: SAI1 clock disabled during Sleep mode

1: SAI1 clock enabled during Sleep mode

Bit 21 Reserved, must be kept at reset value.

Bit 20 SPI5LPEN : SPI5 clock enable during Sleep mode

This bit is set and cleared by software

0: SPI5 clock disabled during Sleep mode

1: SPI5 clock enabled during Sleep mode

Bit 19 Reserved, must be kept at reset value.

Bit 18 TIM11LPEN : TIM11 clock enable during Sleep mode

Set and cleared by software.

0: TIM11 clock disabled during Sleep mode

1: TIM11 clock enabled during Sleep mode

Bit 17 TIM10LPEN : TIM10 clock enable during Sleep mode

Set and cleared by software.

0: TIM10 clock disabled during Sleep mode

1: TIM10 clock enabled during Sleep mode

  1. Bit 16 TIM9LPEN : TIM9 clock enable during sleep mode
    Set and cleared by software.
    0: TIM9 clock disabled during Sleep mode
    1: TIM9 clock enabled during Sleep mode
  2. Bit 15 EXITLPEN : EXIT APB and SYSCTRL PFREE clock enable during Sleep mode
    Set and cleared by software.
    0: EXIT APB and SYSCTRL PFREE clock disabled during Sleep mode
    1: EXIT APB and SYSCTRL PFREE clock enabled during Sleep mode
  3. Bit 14 SYSCFGLPEN : System configuration controller clock enable during Sleep mode
    Set and cleared by software.
    0: System configuration controller clock disabled during Sleep mode
    1: System configuration controller clock enabled during Sleep mode
  4. Bit 13 SPI4LPEN : SPI4 clock enable during sleep mode
    Set and reset by software.
    0: SPI4 clock disabled during sleep mode
    1: SPI4 clock enabled during sleep mode
  5. Bit 12 SPI1LPEN : SPI1 clock enable during Sleep mode
    Set and cleared by software.
    0: SPI1 clock disabled during Sleep mode
    1: SPI1 clock enabled during Sleep mode
  6. Bit 11 SDIOLPEN : SDIO clock enable during Sleep mode
    Set and cleared by software.
    0: SDIO module clock disabled during Sleep mode
    1: SDIO module clock enabled during Sleep mode
  7. Bits 10:9 Reserved, must be kept at reset value.
  8. Bit 8 ADC1LPEN : ADC1 clock enable during Sleep mode
    Set and cleared by software.
    0: ADC1 clock disabled during Sleep mode
    1: ADC1 clock disabled during Sleep mode
  9. Bit 7 UART10LPEN : UART10 clock enable during Sleep mode
    Set and cleared by software.
    0: UART10 clock disabled during Sleep mode
    1: UART10 clock enabled during Sleep mode
  10. Bit 6 UART9LPEN : UART9 clock enable during Sleep mode
    Set and cleared by software.
    0: UART9 clock disabled during Sleep mode
    1: UART9 clock enabled during Sleep mode
  11. Bit 5 USART6LPEN : USART6 clock enable during Sleep mode
    Set and cleared by software.
    0: USART6 clock disabled during Sleep mode
    1: USART6 clock enabled during Sleep mode
  12. Bit 4 USART1LPEN : USART1 clock enable during Sleep mode
    Set and cleared by software.
    0: USART1 clock disabled during Sleep mode
    1: USART1 clock enabled during Sleep mode

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

Bit 1 TIM8LPEN : TIM8 clock enable during Sleep mode

Set and cleared by software.

0: TIM8 clock disabled during Sleep mode

1: TIM8 clock enabled during Sleep mode

Bit 0 TIM1LPEN : TIM1 clock enable during Sleep mode

Set and cleared by software.

0: TIM1 clock disabled during Sleep mode

1: TIM1 clock enabled during Sleep mode

6.3.23 RCC Backup domain control register (RCC_BDCR)

Address offset: 0x70

Reset value: 0x0000 0000

Note: Reset by Backup domain reset.

Access: \( 0 \leq \text{wait state} \leq 3 \) , word, half-word and byte access

Wait states are inserted in case of successive accesses to this register.

The LSEON, LSEBYP, RTCSEL and RTCEN bits in the RCC Backup domain control register (RCC_BDCR) are in the Backup domain. As a result, after Reset, these bits are write-protected and the DBP bit in the Section 5.4.1: PWR power control register (PWR_CR) has to be set before these can be modified. Refer to Section 5.4.2: PWR power control/status register (PWR_CSR) for further information. These bits are only reset after a Backup domain Reset (see Section 6.1.3: Backup domain reset ). Any internal or external Reset will not have any effect on these bits.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BDRST
rw
1514131211109876543210
RTCENRes.Res.Res.Res.Res.RTCSEL[1:0]Res.Res.Res.Res.LSEMODLSEBYPLSERDYLSEON
rwrwrwrwrrw

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

Bit 16 BDRST : Backup domain software reset

Set and cleared by software.

0: Reset not activated

1: Resets the entire Backup domain

Bit 15 RTCEN : RTC clock enable

Set and cleared by software.

0: RTC clock disabled

1: RTC clock enabled

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

Bits 9:8 RTCSEL[1:0] : RTC clock source selection

Set by software to select the clock source for the RTC. Once the RTC clock source has been selected, it cannot be changed anymore unless the Backup domain is reset. The BDRST bit can be used to reset them.

00: No clock

01: LSE oscillator clock used as the RTC clock

10: LSI oscillator clock used as the RTC clock

11: HSE oscillator clock divided by a programmable prescaler (selection through the RTCPRE[4:0] bits in the RCC clock configuration register (RCC_CFGR)) used as the RTC clock

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

Bit 3 LSEMOD : External low-speed oscillator bypass

Set and reset by software to select crystal mode for low speed oscillator. Two power modes are available.
0: LSE oscillator “low power” mode selection
1: LSE oscillator “high drive” mode selection

Bit 2 LSEBYP : External low-speed oscillator bypass

Set and cleared by software to bypass oscillator in debug mode. This bit can be written only when the LSE clock is disabled.
0: LSE oscillator not bypassed
1: LSE oscillator bypassed

Bit 1 LSERDY : External low-speed 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 6 external low-speed oscillator clock cycles.
0: LSE clock not ready
1: LSE clock ready

Bit 0 LSEON : External low-speed oscillator enable

Set and cleared by software.
0: LSE clock OFF
1: LSE clock ON

6.3.24 RCC clock control & status register (RCC_CSR)

Address offset: 0x74

Reset value: 0x0E00 0000

Note: Reset by system reset, except reset flags by power reset only.

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

Wait states are inserted in case of successive accesses to this register.

31302928272625242322212019181716
LPWR
RSTF
WWDG
RSTF
IWDG
RSTF
SFT
RSTF
POR
RSTF
PIN
RSTF
BORRS
TF
RMVFRes.Res.Res.Res.Res.Res.Res.Res.
rrrrrrrrt_w1
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LSIRDYLSION
rrw

Bit 31 LPWRRSTF : Low-power reset flag

Set by hardware when a Low-power management reset occurs.

Cleared by writing to the RMVF bit.

0: No Low-power management reset occurred

1: Low-power management reset occurred

For further information on Low-power management reset, refer to Low-power management reset .

Bit 30 WWDGRSTF : Window watchdog reset flag

Set by hardware when a window watchdog reset occurs.

Cleared by writing to the RMVF bit.

0: No window watchdog reset occurred

1: Window watchdog reset occurred

Bit 29 IWDGRSTF : Independent watchdog reset flag

Set by hardware when an independent watchdog reset from V DD domain occurs.

Cleared by writing to the RMVF bit.

0: No watchdog reset occurred

1: 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 PORRSTF : POR/PDR reset flag

Set by hardware when a POR/PDR reset occurs.

Cleared by writing to the RMVF bit.

0: No POR/PDR reset occurred

1: POR/PDR reset occurred

Bit 26 PINRSTF : 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 BORRSTF : BOR reset flag

Cleared by software by writing the RMVF bit.

Set by hardware when a POR/PDR or BOR reset occurs.

0: No POR/PDR or BOR reset occurred

1: POR/PDR or BOR reset occurred

Bit 24 RMVF : Remove reset flag

Set by software to clear the reset flags.

0: No effect

1: Clear the reset flags

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

Bit 1 LSIRDY : Internal low-speed oscillator ready

Set and cleared by hardware to indicate when the internal RC 40 kHz oscillator is stable.
After the LSION bit is cleared, LSIRDY goes low after 3 LSI clock cycles.

0: LSI RC oscillator not ready

1: LSI RC oscillator ready

Bit 0 LSION : Internal low-speed oscillator enable

Set and cleared by software.

0: LSI RC oscillator OFF

1: LSI RC oscillator ON

6.3.25 RCC spread spectrum clock generation register (RCC_SSCGR)

Address offset: 0x80

Reset value: 0x0000 0000

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

The spread spectrum clock generation is available only for the main PLL.

The RCC_SSCGR register must be written either before the main PLL is enabled or after the main PLL disabled.

Note: For full details about PLL spread spectrum clock generation (SSCG) characteristics, refer to the “Electrical characteristics” section in your device datasheet.

31302928272625242322212019181716
SSCG ENSPREAD SELRes.Res.INCSTEP[14:3]
rwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
INCSTEP[2:0]MODPER[12:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bit 31 SSCGEN : Spread spectrum modulation enable

Set and cleared by software.

0: Spread spectrum modulation DISABLE. (To write after clearing CR[24]=PLLON bit)

1: Spread spectrum modulation ENABLE. (To write before setting CR[24]=PLLON bit)

Bit 30 SPREADSEL : Spread Select

Set and cleared by software.

To write before to set CR[24]=PLLON bit.

0: Center spread

1: Down spread

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

Bits 27:13 INCSTEP[14:0] : Incrementation step

Set and cleared by software. To write before setting CR[24]=PLLON bit.

Configuration input for modulation profile amplitude.

Bits 12:0 MODPER[12:0] : Modulation period

Set and cleared by software. To write before setting CR[24]=PLLON bit.

Configuration input for modulation profile period.

6.3.26 RCC PLLI2S configuration register (RCC_PLLI2SCFGR)

Address offset: 0x84

Reset value: 0x2400 3010

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

This register is used to configure the PLLI2S clock outputs according to the formulas:

31302928272625242322212019181716
Res.PLLI2SR[2:0]PLLI2SQ[3:0]Res.PLLI2SSRCRes.Res.Res.Res.Res.Res.
rwrwrwrwrwrwrwrw
1514131211109876543210
Res.PLLI2SN[8:0]PLLI2SM[5:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bit 31 Reserved, must be kept at reset value.

Bits 30:28 PLLI2SR[2:0] : PLLI2S division factor for I2S clocks

Set and cleared by software to control the I2S clock frequency. These bits should be written only if the PLLI2S is disabled. The factor must be chosen in accordance with the prescaler values inside the I2S peripherals, to reach 0.3% error when using standard crystals and 0% error with audio crystals. For more information about I2S clock frequency and precision, refer to Section 29.6.4: Clock generator in the I2S chapter.

Caution: The I2Ss requires a frequency lower than or equal to 192 MHz to work correctly.

I2S clock frequency = VCO frequency / PLLR with \( 2 \leq \text{PLLR} \leq 7 \)

000: PLLR = 0, wrong configuration

001: PLLR = 1, wrong configuration

010: PLLR = 2

...

111: PLLR = 7

Bits 27:24 PLLI2SQ[3:0] : PLLI2S division factor for USB OTG FS/SDIO/RNG clock

Set and cleared by software to control the USB OTG FS/SDIO/RNG clock frequency. These bits can be written only when the PLLI2S is disabled.

USB OTG FS/SDIO/RNG clock frequency = VCO frequency / PLLI2SQ with \( 2 \leq \text{PLLI2SQ} \leq 15 \)

0000: PLLI2SQ = 0, wrong configuration

0001: PLLI2SQ = 1, wrong configuration

0010: PLLI2SQ = 2

0011: PLLI2SQ = 3

0100: PLLI2SQ = 4

0101: PLLI2SQ = 5

...

1111: PLLI2SQ = 15

Bit 23 Reserved, must be kept at reset value.

Bit 22 PLLI2SSRC : PLLI2S entry clock source

Set and cleared by software to select PLLI2S clock source. This bit can be written only when PLLI2S is disabled.

0: HSE or HSI depending on PLLSRC of PLLCFGR

1: external AFI clock (CK_I2S_EXT) selected as PLL clock entry

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

Bits 14:6 PLLI2SN[8:0] : PLLI2S multiplication factor for VCO

Set and cleared by software to control the multiplication factor of the VCO. These bits can be written only when the PLLI2S is disabled. Only half-word and word accesses are allowed to write these bits.

Caution: The software has to set these bits correctly to ensure that the VCO output frequency is between 100 and 432 MHz. With VCO input frequency ranges from 1 to 2 MHz (refer to Figure 14 and divider factor M of the RCC PLL configuration register (RCC_PLLCFGR) )

VCO output frequency = VCO input frequency × PLLI2SN with \( 50 \leq \text{PLLI2SN} \leq 432 \)

000000000: PLLI2SN = 0, wrong configuration
000000001: PLLI2SN = 1, wrong configuration

...

001100010: PLLI2SN = 50

...

001100011: PLLI2SN = 99
001100100: PLLI2SN = 100
001100101: PLLI2SN = 101
001100110: PLLI2SN = 102

...

110110000: PLLI2SN = 432
110110001: PLLI2SN = 433, wrong configuration

...

111111111: PLLI2SN = 511, wrong configuration

Note: Between 50 and 99 multiplication factors are possible for VCO input frequency higher than 1 MHz. However care must be taken to fulfill the minimum VCO output frequency as specified above.

Bits 5:0 PLLI2SM[5:0] : Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock

Set and cleared by software to divide the PLL and PLLI2S input clock before the VCO.

These bits can be written only when the PLL and PLLI2S are disabled.

Caution: The software has to set these bits correctly to ensure that the VCO input frequency ranges from 1 to 2 MHz. It is recommended to select a frequency of 2 MHz to limit PLL jitter.

VCO input frequency = PLL input clock frequency / PLLI2SM with \( 2 \leq \text{PLLI2SM} \leq 63 \)

000000: PLLI2SM = 0, wrong configuration
000001: PLLI2SM = 1, wrong configuration...

000010: PLLI2SM = 2
000011: PLLI2SM = 3
000100: PLLI2SM = 4

.......

111110: PLLI2SM = 62
111111: PLLI2SM = 63

6.3.27 RCC Dedicated Clocks Configuration Register (RCC_DCKCFGR)

Address offset: 0x8C

Reset value: 0x0000 0000

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

31302928272625242322212019181716
CKDFSD
M1SEL
Res.Res.I2S2SRC[1:0]I2S1SRC[1:0]TIMPRESAI1BSRC
[1:0]
SAI1ASRC[1:0]Res.Res.Res.Res.
rwrwrwrwrwrwrwrwrwrw

1514131211109876543210
CKDFSD
M1ASEL
CKDFSD
M2ASEL
PLLDIVR[4:0]Res.Res.Res.Res.PLLI2SDIVR[4:0]
rwrwrwrwrwrwrwrwrwrwrwrw

Bit 31 CKDFSDM1SEL : DFSDM1 & DFSDM2 Kernel clock selection.

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

Bits 28:27 I2S2SRC : I2S APB2 clocks source selection (I2S1/4/5)

Set and reset by software.
These bits should be written when the PLL and PLLI2S are disabled.

Bits 26:25 I2S1SRC : I2S APB1 clocks source selection (I2S2/3)

Set and reset by software to control the frequency of the APB1 I2S clock.
These bits should be written when the PLL and PLLI2S are disabled.

Bit 24 TIMPRE : Timers clocks prescalers selection

Set and reset by software to control the clock frequency of all the timers kernels (ck_tim & ck_tgo) either on APB1 or APB2 domain.

Bits 23:22 SAI1BSRC[1:0] : SAI1 B clock selection

Set and reset by software.

00: PLLI2S_R divided (R2) as SAI1 B clock

01: I2S_CLIN as SAI1 B clock

10: PLL_R divided (R1) as SAI1 B clock

11: HS_CK as SAI1 B clock

Bits 21:20 SAI1ASRC[1:0] : SAI1 A clock selection

Set and reset by software.

00: PLLI2S_R divided (R2) as SAI1 A clock

01: I2S_CLIN as SAI1 A clock

10: PLL_R divided (R1) as SAI1 A clock

11: HS_CK as SAI1 A clock

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

Bit 15 CKDFSDM1ASEL : DFSDM1 audio clock selection.

0: CK_I2S_APB1 selected as audio clock

1: CK_I2S_APB2 selected as audio clock

Bit 14 CKDFSDM2ASEL : DFSDM2 audio clock selection.

0: CK_I2S_APB1 selected as audio clock

1: CK_I2S_APB2 selected as audio clock

Bits 13:9 PLLDIVR[4:0] : PLL division factor for SAI1 A/B clock

Set and reset by software to control the division factor of PLL_R1 clock.

These bits should be written when the PLL is disabled.

00000: PLL_R1 = wrong configuration

00001: PLL_R1 = div/1

....

10000: PLL_R1 = div/16

....

11111: PLL_R1 = div/31

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

Bits 4:0 PLLI2SDIVR[4:0] : PLLI2S division factor for SAI1 A/B clock

Set and reset by software to control the division factor of PLLI2S_R2 clock.

These bits should be written when the PLLI2S is disabled.

00000: PLLI2S_R2 = wrong configuration

00001: PLLI2S_R2 = div/1

....

10000: PLLI2S_R2 = div/16

....

11111: PLLI2S_R2 = div/31

6.3.28 RCC clocks gated enable register (CKGATENR)

Address offset: 0x90

Reset value: 0x0000 0000

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

This register allows to enable or disable the clock gating for the specified IPs.

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.EVTCL
_CKEN
RCC
_CKEN
FLITF
_CKEN
SRAM
_CKEN
SPARE
_CKEN
CM4DBG
_CKEN
AHB2APB2
_CKEN
AHB2APB1
_CKEN
rwrwrwrwrwrwrwrw

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

Bit 7 EVTCL_CKEN:

0: the clock gating is enabled

1: the clock gating is disabled, the clock is always enabled

Bit 6 RCC_CKEN: RCC clock enable

0: the clock gating is enabled

1: the clock gating is disabled, the clock is always enabled.

Bit 5 FLITF_CKEN: Flash Interface clock enable

0: the clock gating is enabled

1: the clock gating is disabled, the clock is always enabled.

Bit 4 SRAM_CKEN: SRAM (SRAM1 and SRAM2) controller clock enable

0: the clock gating is enabled

1: the clock gating is disabled, the clock is always enabled.

Bit 3 SPARE_CKEN: Spare clock enable

0: the clock gating is enabled

1: the clock gating is disabled, the clock is always enabled.

Bit 2 CM4DBG_CKEN: Cortex M4 ETM clock enable

0: the clock gating is enabled

1: the clock gating is disabled, the clock is always enabled.

Bit 1 AHB2APB2_CKEN: AHB to APB2 Bridge clock enable

0: the clock gating is enabled

1: the clock gating is disabled, the clock is always enabled.

Bit 0 AHB2APB1_CKEN: AHB to APB1 Bridge clock enable

0: the clock gating is enabled

1: the clock gating is disabled, the clock is always enabled.

6.3.29 RCC Dedicated Clocks Configuration Register (RCC_DCKCFGR2)

Address offset: 0x94

Reset value: 0x0000 0000

This register allows to enable or disable the clock gating for the specified IPs.

31302928272625242322212019181716
LPTIMER1
SEL[1:0]
Res.SDIO
SEL
CK48M
SEL
Res.Res.Res.I2CFMP1
SEL[1:0]
Res.Res.Res.Res.Res.Res.Res.
rwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.

Bits 31:30 LPTIMER1SEL[1:0] : LPTIMER1 kernel clock source selection.

00: APB clock selected as LPTIMER1 clock

01: HSI clock selected as LPTIMER1 clock

10: LSI clock selected as LPTIMER1 clock

11: LSE clock selected as LPTIMER1 clock

Bit 29 Reserved, must be kept at reset value.

Bit 28 SDIOSEL : SDIO clock selection.

0: CK_48MHz (see CK48MSEL bit definition)

1: clock system

Bit 27 CK48MSEL : SDIO/USBFS clock selection.

0: \( f_{(PLL\_Q)} \)

1: \( f_{(PLL2S\_Q)} \)

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

Bits 23:22 I2CFMP1SEL[1:0] : I2CFMP1 kernel clock source selection

00: APB clock selected as I2CFMP1 clock

01: System clock selected as I2CFMP1 clock

10: HSI clock selected as I2CFMP1 clock

11: APB clock selected as I2CFMP1 (same as “00”)

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

6.3.30 RCC register map

Table 24 gives the register map and reset values

Table 24. RCC register map and reset values for STM32F413/423

Addr. offsetRegister name313029282726252423222120191817161514131211109876543210
0x00RCC_CRRes.Res.Res.Res.PLL12RDYPLL12SONPLL1RDYPLL1ONRes.Res.Res.Res.CSSONHSEBYPHSERDYHSEONHSICAL[7:0]Res.HSIRDYHSION
0x04RCC_PLLCFGRRes.PLLFR[2:0]PLLQ[3:0]Res.Res.PLL1SRCRes.Res.Res.Res.Res.PLL1P[1:0]Res.PLL1N[8:0]PLL1M[5:0]
0x08RCC_CFGRMCO2[1:0]MCO2PRE[2:0]MCO1PRE[2:0]Res.Res.MCO1[1:0]RTCPRE[4:0]Res.Res.HPRE[3:0]SWSEL[1:0]SW[1:0]
0x0CRCC_CIRRes.Res.Res.Res.Res.Res.Res.Res.CSSCRes.PLL12SRDYCPLL1RDYCHSERDYCHSIRDYCLSERDYCLSIRDYCRes.Res.PLL12SRDYIEPLL1RDYIEHSERDYIEHSIRDYIELSERDYIELSIRDYIECSSFRes.PLL12SRDYFPLL1RDYFHSERDYFHSIRDYFLSERDYFLSIRDYF
0x10RCC_AHB1RSTRRes.Res.Res.Res.Res.Res.Res.Res.DMA2RSTDMA1RSTRes.Res.Res.Res.Res.Res.Res.Res.CRCRSTRes.Res.Res.Res.Res.GPIOHRSTGPIOGRSTGPIOFRSTGPIOERSTGPIODRSTGPIOCRSTGPIOBRSTGPIOARST
0x14RCC_AHB2RSTRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.OTGFSSRSTRNGRSTRes.CRYPRSTRes.Res.Res.Res.
0x18RCC_AHB3RSTRRes.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.QSPIRSTFSMCRST
0x1CReserved
0x20RCC_APB1RSTRUART8RSTUART7RSTDACRSTPWRRSTCAN3RSTCAN2RSTCAN1RSTI2CFMP1RSTI2C3RSTI2C2RSTI2C1RSTUART5RSTUART4RSTUSART3RSTUSART2RSTRes.SPI3RSTSPI2RSTRes.Res.WWDGRSTRes.LPTIMER1RSTTIM14RSTTIM13RSTTIM12RSTTIM7RSTTIM6RSTTIM5RSTTIM4RSTTIM3RSTTIM2RST
0x24RCC_APB2RSTRRes.Res.Res.Res.Res.Res.DFSDM2RSTDFSDM1RSTRes.SA1RSTRes.SPI5RSTRes.TIM11RSTTIM10RSTTIM9RSTRes.SYSCFGGRSTSP45RSTSPI1RSTSDIORSTRes.Res.ADCGRSTUART10RSTUART9RSTUSART6RSTUSART1RSTRes.Res.TIM8RSTTIM1RST
0x28Reserved
0x2CReserved
0x30RCC_AHB1ENRRes.Res.Res.Res.Res.Res.Res.Res.DMA2ENDMA1ENRes.Res.Res.Res.Res.Res.Res.Res.Res.ORCENRes.Res.Res.Res.GPIOHENGPIOGENGPIOFENGPIOEENGPIODENGPIOCENGPIOBENGPIOAEN
0x34RCC_AHB2ENRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.OTGFSENRNGENRes.CRYPEN (1)Res.Res.Res.Res.

Table 24. RCC register map and reset values for STM32F413/423 (continued)

Addr. offsetRegister name313029282726252423222120191817161514131211109876543210
0x38RCC_AHB3ENRRes.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.GSPHEN
FSMHCN
0x3CReserved
0x40RCC_APB1ENRUART8ENUART7ENDACENPWRENCAN3ENCAN2ENCAN1ENI2CFMP1ENI2C3ENI2C2ENI2C1ENUART5ENUART4ENUSART3ENUSART2ENRes.SPI3ENSPI2ENRes.Res.WWDGENRTCAPBENLPTIMER1ENTIM14ENTIM13ENTIM12ENTIM7ENTIM6ENTIM5ENTIM4ENTIM3ENTIM2EN
0x44RCC_APB2ENRRes.Res.Res.Res.Res.Res.DFSDM2ENDFSDM1ENRes.SAI1ENRes.SPI5ENRes.TIM11ENTIM10ENTIM9ENEXTITENSYSCFGENSPI4ENSPI1ENSDIOENRes.Res.ADC1ENUART10ENUART9ENUSART6ENUSART1ENRes.Res.TIM8ENTIM1EN
0x48Reserved
0x4CReserved
0x50RCC_AHB1LPENRRes.Res.Res.Res.Res.Res.Res.Res.Res.DMA2LPENDMA1LPENRes.Res.Res.SRAM2LPENSRAM1LPENFLITFLPENRes.Res.CRCLPENRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x54RCC_AHB2LPENRRes.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.
0x58RCC_AHB3LPENRRes.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.GSPILPEN
FSMCLPEN
0x5CReserved
0x60RCC_APB1LPENRUART8LPENUART7LPENDACLPENPWRLPENCAN3LPENCAN2LPENCAN1LPENI2CFMP1LPENI2C3LPENI2C2LPENI2C1LPENUART5LPENUART4LPENUSART3LPENUSART2LPENRes.SPI3LPENSPI2LPENRes.Res.WWDGLPENRTCAPBENLPTIMER1ENTIM14LPENTIM13LPENTIM12LPENTIM7LPENTIM6LPENTIM5LPENTIM4LPENTIM3LPENTIM2LPEN
0x64RCC_APB2LPENRRes.Res.Res.Res.Res.Res.DFSDM2LPENDFSDM1LPENRes.SAI1LPENRes.SPI5LPENRes.TIM11LPENTIM10LPENTIM9LPENEXTITLPENSYSCFGLPENSPI4LPENSPI1LPENSDIOLPENRes.Res.ADC1LPENUART10LPENUART9LPENUSART6LPENUSART1LPENRes.Res.TIM8LPENTIM1LPEN
0x68Reserved
0x6CReserved
0x70RCC_BDCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.BDRSTRTCENRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x74RCC_CSRLPWRRSTFWWDGRSTFWDGRSTFSFTRSTFPORRSTFPADRSTFBORRSTFRMVFRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
0x78Reserved
0x7CReserved

Table 24. RCC register map and reset values for STM32F413/423 (continued)

Addr. offsetRegister name313029282726252423222120191817161514131211109876543210
0x80RCC_SSCGRSSCGENSPREADSELRes.Res.INCSTEP[14:0]MODPER[11:0]
0x84RCC_PLLI2SCFGRRes.PLL2SRC[2:0]PLL2SQ[3:0]Res.PLL2SSRCRes.Res.Res.Res.Res.Res.PLL2SN[8:0]PLL2SM[5:0]
0x88Reserved
0x8CRCC_DCKCFGRCKDFSDM1SELRes.Res.I2S2SRC[1:0]I2S1SRC[1:0]TIMPRESAI1BSR[1:0]SAI1ASR[1:0]Res.Res.Res.PLLDIVR[4:0]Res.Res.Res.PLL2SDIVR[4:0]
0x90CKGATENREVTOL_CKENRCC_CKENFLITF_CKENSRAM12_CKGA_BPENSPARE_CKENOM4DBG_CKENAHB2APB2_CKENAHB2APB1_CKEN
0x94RCC_DCKCFGR2LPTIMER1SEL1LPTIMER1SEL0Res.SDIOSELCK48MSELRes.Res.Res.I2CFMP1SEL[1:0]Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.

1. Only available for STM32F423xx.

Refer to Section 2.2 on page 57 for the register boundary addresses.