Reset and Clock Control (RCC)
The RCC (Reset and Clock Control) module is responsible for chip-wide clock generation and reset management, forming the foundation for reliable system operation. Its main functions include:
Reset Control: Centrally manages multiple reset sources such as POR, BOR, WDG, and software-triggered resets, and records the reset reason for the current boot to facilitate debugging and fault diagnosis.
Clock Management: Supports multiple clock sources (external crystal oscillator, internal RC oscillator, PLL), with independent clock source and divider ratio configuration for each module, balancing performance and power consumption.
Clock Gating: Unused clocks can be dynamically disabled to avoid unnecessary dynamic power consumption.
Reset Control
Introduction
The chip supports multiple types of reset signals, including POR (Power-On Reset), CHIP_EN reset, BOR (Brown-Out Reset), System reset, WDG reset, etc. Different reset types have different trigger conditions and scopes, covering scenarios from hardware power-on to software-triggered resets.
Reset Architecture
The overall reset architecture diagram is shown below:
Reset Types
The table below lists the reset types supported by the chip and their trigger conditions. The reset type of the current boot can be obtained via the Boot Reason Register.
Reset Type |
Description |
|---|---|
POR |
Power-on reset generated by the voltage regulator at power-up. Refer to the Power Sequence section in the datasheet for the power sequence of POR. |
CHIP_EN reset |
External power-on reset generated when the external CHIP_EN pin is pulled low. Refer to the Power Sequence section in the datasheet for the power sequence of CHIP_EN reset. |
BOR |
Brownout reset generated by the voltage regulator when a brownout (BOR) is detected. Refer to the Power Sequence section in the datasheet for the power sequence of BOR. |
System reset |
System reset triggered by the CPU writing to the system reset register. Refer to System reset. |
Warm reset |
Warm reset triggered by writing to the CPU register. |
IWDG reset |
Reset generated by Independent Watchdog (IWDG) timeout. Refer to WDG . |
WDG reset |
Reset generated by System Watchdog (WDG) timeout. Refer to WDG . |
DSLP |
Reset generated by Deep sleep. |
Reset Type |
Description |
|---|---|
POR |
Power-on reset generated by the voltage regulator at power-up. Refer to the Power Sequence section in the datasheet for the power sequence of POR. |
CHIP_EN reset |
External power-on reset generated when the external CHIP_EN pin is pulled low. Refer to the Power Sequence section in the datasheet for the power sequence of CHIP_EN reset. |
BOR |
Brownout reset generated by the voltage regulator when a brownout (BOR) is detected. Refer to the Power Sequence section in the datasheet for the power sequence of BOR. |
Thermal reset |
Thermal protection reset generated when an abnormal temperature is detected. Refer to Thermal . |
System reset |
System reset triggered by the CPU writing to the system reset register. Refer to System reset. |
Warm reset |
Warm reset triggered by writing to CPU registers. |
IWDG reset |
Reset generated by Independent Watchdog (IWDG) timeout. Refer to WDG . |
WDG reset |
Reset generated by System Watchdog (WDG) timeout; supports individual WDG for KM4 and KR4. Refer to WDG . |
DSLP |
Reset generated by Deep sleep. |
Reset Type |
Description |
|---|---|
POR |
Power-on reset generated by the voltage regulator at power-up. Refer to the Power Sequence section in the datasheet for the power sequence of POR. |
CHIP_EN reset |
External power-on reset generated when the external CHIP_EN pin is pulled low. Refer to the Power Sequence section in the datasheet for the power sequence of CHIP_EN reset. |
BOR |
Brownout reset generated by the voltage regulator when a brownout (BOR) is detected. Refer to the Power Sequence section in the datasheet for the power sequence of BOR. |
Thermal reset |
Thermal protection reset generated when an abnormal temperature is detected. Refer to Thermal . |
System reset |
System reset triggered by the CPU writing to the system reset register. Refer to System reset. |
Warm reset |
Warm reset triggered by writing to CPU registers. |
IWDG reset |
Reset generated by Independent Watchdog (IWDG) timeout. Refer to WDG . |
WDG reset |
Reset generated by System Watchdog (WDG) timeout; supports individual WDG for KM4 and KR4. Refer to WDG . |
DSLP |
Reset generated by Deep sleep. |
Reset Type |
Description |
|---|---|
POR |
Power-on reset generated by the regulator at power-up. Refer to the Power Sequence section of the datasheet for the POR power sequence. |
CHIP_EN reset |
External power-on reset generated when the external CHIP_EN pin is pulled low. Refer to the Power Sequence section of the datasheet for the CHIP_EN reset power sequence. |
BOR |
Brownout reset generated by the regulator when a brownout (BOR) is detected. Refer to the Power Sequence section of the datasheet for the BOR power sequence. |
Thermal reset |
Thermal protection reset generated when an abnormal temperature is detected. Refer to Thermal . |
System reset |
System reset triggered by the CPU writing to the system reset register. Refer to System reset. |
Warm reset |
Warm reset triggered by writing to the CPU register. |
IWDG reset |
Reset generated by Independent Watchdog (IWDG) timeout. Refer to WDG . |
WDG reset |
Reset generated by system Watchdog (WDG) timeout; supports individual WDG for KM4, KR4, and HIFI5. Refer to WDG . |
DSLP |
Reset generated by Deep sleep. |
Reset Type |
Description |
|---|---|
POR |
Power-on reset generated by the regulator at power-up. Refer to the Power Sequence section of the datasheet for the POR power sequence. |
CHIP_EN reset |
External power-on reset generated when the external CHIP_EN pin is pulled low. Refer to the Power Sequence section of the datasheet for the CHIP_EN reset power sequence. |
BOR |
Brownout reset generated by the regulator when a brownout (BOR) is detected. Refer to the Power Sequence section of the datasheet for the BOR power sequence. |
Thermal reset |
Thermal protection reset generated when an abnormal temperature is detected. Refer to Thermal . |
System reset |
System reset triggered by the CPU writing to the system reset register. Refer to System reset. |
Warm reset |
Warm reset triggered by writing to the CPU register. |
IWDG reset |
Reset generated by Independent Watchdog (IWDG) timeout. Refer to WDG . |
WDG reset |
Reset generated by system Watchdog (WDG) timeout; supports individual WDG for KM4, KR4, and HIFI5. Refer to WDG . |
DSLP |
Reset generated by Deep sleep. |
Reset Type |
Description |
|---|---|
POR |
Power-on reset generated by the regulator at power-up. Refer to the Power Sequence section in the datasheet for the power sequence of POR. |
CHIP_EN reset |
External power-on reset generated when the external CHIP_EN pin is pulled low. Refer to the Power Sequence section in the datasheet for the power sequence of CHIP_EN reset. |
BOR |
Brown-out reset generated by the regulator when a brown-out (BOR) is detected. Refer to the Power Sequence section in the datasheet for the power sequence of BOR. |
WDG reset |
Watchdog reset generated when the watchdog times out. Refer to WDG . |
IWDG reset |
Reset generated when the independent watchdog (IWDG) times out. Refer to WDG . |
Thermal reset |
Thermal protection reset generated when an abnormal temperature is detected. Refer to Thermal . |
System reset |
System reset triggered by the CPU writing to the system reset register. Refer to System reset. |
Warm reset |
Warm reset triggered by writing to the CPU register. |
Reset Type |
Description |
|---|---|
POR |
Power-on reset generated by the regulator at power-up. Refer to the Power Sequence section in the datasheet for the power sequence of POR. |
RTC POR |
RTC power-on reset generated when the RTC domain powers up. |
CHIP_EN reset |
External power-on reset generated when the external CHIP_EN pin is pulled low. Refer to the Power Sequence section in the datasheet for the power sequence of CHIP_EN reset. |
BOR |
Brownout reset generated by the regulator when a brownout (BOR) is detected. Refer to the Power Sequence section in the datasheet for the power sequence of BOR. |
Thermal reset |
Thermal protection reset generated when an abnormal temperature is detected. Refer to Thermal . |
System reset |
System reset triggered by the CPU writing the system reset register. Refer to System reset. |
Warm reset |
Warm reset triggered by writing the CPU register. |
IWDG reset |
Reset generated by Independent Watchdog (IWDG) timeout. Refer to WDG . |
AP WDG reset |
Reset generated by AP core (KM4TZ) watchdog timeout. Refer to WDG . |
NP WDG reset |
Reset generated by NP core (KM4NS) watchdog timeout. Refer to WDG . |
DSLP |
Reset generated by Deep sleep. |
Reset Type |
Description |
|---|---|
POR |
Reset generated at power-on. Refer to the Power Sequence section of the datasheet for POR power timing. |
CHIP_EN reset |
Reset generated by the external CHIP_EN pin. Refer to the Power Sequence section of the datasheet for CHIP_EN reset power timing. |
BOR |
Brown-out reset generated by the regulator when a brown-out (BOR) is detected. Refer to the Power Sequence section of the datasheet for BOR power timing. |
Thermal reset |
Thermal protection reset generated when an abnormal temperature is detected. Refer to Thermal . |
System reset |
System reset triggered by the CPU writing to the system reset register. Refer to System reset. |
Warm reset |
Warm reset triggered by writing to the CPU register. |
IWDG reset |
Reset generated by Independent Watchdog (IWDG) timeout. Refer to WDG . |
AP WDG reset |
Reset generated by AP core (KM4TZ) watchdog timeout. Refer to WDG . |
NP WDG reset |
Reset generated by NP core (KM4NS) watchdog timeout. Refer to WDG . |
Plfm1 reset |
Platform 1 system reset. Refer to Plfm1 reset. |
DSLP |
Reset generated by deep sleep. |
Note
Plfm1 reset is only valid in 2in1 mode.
In 2in1 mode, the function of NP WDG reset becomes the same as Plfm1 reset.
System Reset
System reset is a software reset mechanism provided by the chip for safely resetting the system. All CPUs can perform a System reset using the following sequence:
Write
0x96969696to theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Get the CPU ID of the current CPU, and write 1 to the corresponding CPU control bit in the
REG_SW_RST_CTRLregister.Write
0x69696969to theREG_SW_RST_TRIGregister to trigger System reset.
Write
0x96969696to theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Get the CPU ID of the current CPU, and write 1 to the corresponding CPU control bit in the
REG_SW_RST_CTRLregister.Write
0x69696969to theREG_SW_RST_TRIGregister to trigger System reset.
Write
0x96969696to theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Get the CPU ID of the current CPU, and write 1 to the corresponding CPU control bit in the
REG_SW_RST_CTRLregister.Write
0x69696969to theREG_SW_RST_TRIGregister to trigger System reset.
Write
0x96969696to theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Get the CPU ID of the current CPU, and write 1 to the corresponding CPU control bit in the
REG_SW_RST_CTRLregister.Write
0x69696969to theREG_SW_RST_TRIGregister to trigger System reset.
Write
0x96969696to theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Get the CPU ID of the current CPU, and write 1 to the corresponding CPU control bit in the
REG_SW_RST_CTRLregister.Write
0x69696969to theREG_SW_RST_TRIGregister to trigger System reset.
Write
0x96969696to theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Get the CPU ID of the current CPU, and write 1 to the corresponding CPU control bit in the
REG_SW_RST_CTRLregister.Write
0x69696969to theREG_SW_RST_TRIGregister to trigger System reset.
Write
0x96969696to theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Get the CPU ID of the current CPU, and write 1 to the corresponding CPU control bit in the
REG_SW_RST_CTRLregister.Write
0x69696969to theREG_SW_RST_TRIGregister to trigger System reset.
Write
0x9696to the lower 16 bits of theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Get the CPU ID of the current CPU, and write 1 to the corresponding CPU control bit in the
REG_SW_RST_CTRLregister.Write
0x6969to the lower 16 bits of theREG_SW_RST_TRIGregister to trigger System reset.
Note
For register descriptions, refer to System Reset Registers
Plfm1 Reset
Plfm1 reset is used to reset the modules located on platform 1 in 2in1 mode.
Not supported.
Not supported.
Not supported.
Not supported.
Not supported.
Not supported.
Not supported.
Platform 1 mainly includes KM4NS, WIFI, SDN and other modules. Plfm1 reset will only reset these modules. All CPUs can perform a Plfm1 reset using the following sequence:
Write
0x9696to the upper 16 bits of theREG_SW_RST_TRIGregister to unlock write access to theREG_SW_RST_CTRLregister.Write 1 to the
LSYS_BIT_PLFM1_SYS_RSTbit in theREG_SW_RST_CTRLregister.Write
0x6969to the upper 16 bits of theREG_SW_RST_TRIGregister to trigger Plfm1 reset.
In 2in1 mode, NP WDG reset will trigger Plfm1 reset instead of a global reset.
Reset Domain
The scope of each reset type is as follows:
Scope |
RTC |
Backup registers, Retention RAM, Wake pin, Trap pin |
Other peripherals |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
N |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: Indicates that the corresponding module will be reset when the reset event occurs.
N: Indicates that the corresponding module will not be reset when the reset event occurs.
Note
Warm reset is configured at system startup to reset all CPUs instead of only the local CPU. Refer to the
Peripheral_Reset()function in the Bootloader for the peripherals that are reset by warm reset.
Scope |
RTC |
Wake pin, Trap pin, Backup registers, Retention RAM |
Other peripherals |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Thermal reset |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
Y |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: Indicates that the corresponding module will be reset when the reset event occurs.
N: Indicates that the corresponding module will not be reset when the reset event occurs.
Note
Warm reset is configured at system startup to reset all CPUs instead of only the local CPU. Refer to the
Peripheral_Reset()function in the Bootloader for the peripherals that are reset by warm reset.
Scope |
RTC |
Wake pin, Trap pin, Backup registers, Retention RAM |
Other peripherals |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Thermal reset |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
Y |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: Indicates that the corresponding module will be reset when the reset event occurs.
N: Indicates that the corresponding module will not be reset when the reset event occurs.
Note
Warm reset is configured at system startup to reset all CPUs instead of only the local CPU. Refer to the
Peripheral_Reset()function in the Bootloader for the peripherals that are reset by warm reset.
Scope |
RTC |
Wake pin, Trap pin, Backup registers, Retention RAM |
Other peripherals |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Thermal reset |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
Y |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: Indicates that the corresponding module will be reset when the reset event occurs.
N: Indicates that the corresponding module will not be reset when the reset event occurs.
Note
Warm reset is configured at system startup to reset all CPUs instead of only the local CPU. Refer to the
Peripheral_Reset()function in the Bootloader for the peripherals that are reset by warm reset.
Scope |
RTC |
Wake pin, Trap pin, Backup registers, Retention RAM |
Other peripherals |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Thermal reset |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
Y |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: Indicates that the corresponding module will be reset when the reset event occurs.
N: Indicates that the corresponding module will not be reset when the reset event occurs.
Note
Warm reset is configured at system startup to reset all CPUs instead of only the local CPU. Refer to the
Peripheral_Reset()function in the Bootloader for the peripherals that are reset by warm reset.
Scope |
Wake pin, Trap pin, Backup registers |
Retention RAM |
RTC |
OTPC |
Other peripherals |
|---|---|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
Y |
Y |
BOR |
N |
N |
N |
Y |
Y |
BOR ACC |
N |
N |
N |
Y |
Y |
Thermal reset |
N |
N |
N |
Y |
Y |
DSLP |
N |
Y |
N |
N |
Y |
System reset |
N |
N |
Y |
Y |
Y |
WDG/IWDG reset |
N |
N |
N |
Y |
Y |
Y: Indicates that the corresponding module will be reset when the reset event occurs.
N: Indicates that the corresponding module will not be reset when the reset event occurs.
Note
Warm reset is configured at system startup to reset all CPUs instead of only the local CPU. Refer to the
Peripheral_Reset()function in the Bootloader for the peripherals that are reset by warm reset.
Scope |
RTC |
Wake pin, Trap pin, Backup registers, Retention RAM, OTP |
I2C like, Pinmux |
Other peripherals |
|---|---|---|---|---|
CHIP_EN |
N |
Y |
Y |
Y |
POR |
N |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Y |
Thermal reset |
N |
N |
Y |
Y |
DSLP |
N |
N |
Y |
Y |
System reset |
N |
N |
N* |
Y |
IWDG reset |
N |
N |
N* |
Y |
WDG reset |
N |
N |
N* |
Y |
Y: Indicates that the corresponding module will be reset when the reset event occurs.
N: Indicates that the corresponding module will not be reset when the reset event occurs.
N*: Indicates that the corresponding module will not be reset by default when the reset event occurs, but can be configured to reset.
Note
The register
REG_AON_SYSRST_MSKcan be used to control whether I2C like and Pinmux are reset under System reset, IWDG reset, and WDG reset. The register definition is located insysreg_aon.h.Warm reset is configured at system startup to reset all CPUs instead of only the local CPU. Refer to the
Peripheral_Reset()function in the Bootloader for the peripherals that are reset by warm reset.PD_RTC is only reset when a POR occurs within the PD_RTC power domain itself.
Scope |
Trap pin, backup registers |
Wake pin, OTP |
GPIO, PWM, Pinmux |
KM4NS, SDN, WIFI, AES |
Other peripherals |
|---|---|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Y |
Y |
Thermal reset |
N |
N |
Y |
Y |
Y |
DSLP |
N |
N |
Y |
Y |
Y |
System reset |
N |
N |
N* |
Y |
Y |
IWDG reset |
N |
Y |
Y |
Y |
Y |
WDG reset |
N |
N |
N* |
Y |
Y |
Plfm1 reset |
N |
N |
N |
Y |
N |
Y: Indicates that the corresponding module will be reset when the reset event occurs.
N: Indicates that the corresponding module will not be reset when the reset event occurs.
N*: Indicates that the corresponding module will not be reset by default when the reset event occurs, but can be configured to reset.
Note
Register
REG_AON_SYSRST_MSKcan be used to control whether Pinmux is reset under System reset and WDG reset. The register definition is located insysreg_aon.h.Register
REG_LSYS_SW_RST_CTRLcan be used to control whether GPIO and PWM are reset under System reset and WDG reset. The register definition is located insysreg_lsys.h.Warm reset is configured at system startup to reset all CPUs instead of only the local CPU. Refer to the
Peripheral_Reset()function in the Bootloader for the peripherals that are reset by warm reset.Plfm1 reset is only valid in 2in1 mode. In 2in1 mode, the WDG reset domain of KM4NS changes to match that of Plfm1 reset.
Clock Control
The chip’s clock system consists of three types of clock sources: external oscillator, internal RC oscillator, and PLL. These are flexibly distributed to functional modules through clock selection and division mechanisms.
Properly configuring clock sources enables a balance between performance and power consumption: high-performance peripherals use the high-frequency clock output from PLL, while low-power modules can switch to the internal RC oscillator to save energy.
Clock Tree
The chip’s clock tree is shown below. Different clock sources can be used to drive different functions, and each clock source can be independently enabled or disabled when not in use to optimize power consumption.
Clock Sources
The clock sources supported by the chip and their purposes are as follows:
Three external oscillators:
XTAL40M: Used directly by peripherals or after frequency division.
XTAL20M: Used as one of the optional clock sources for UART and LOGUART.
XTAL128K: Dedicated to
BT_32Kafter frequency division.
Four internal oscillators:
OSC4M: Provides a 4MHz clock to KM0 or a 2MHz clock to peripherals (after frequency division).
OSC131K: Used as the input to SDM and as the clock for Cap-Touch and Key-Scan.
OSC100K: Located in the AON domain, used to drive IWDG and AON modules.
SDM_32K: Used by modules such as Timer.
Four independent PLLs: each can be configured with an integer or fractional ratio.
PLL_SYS:
300MHz ~ 600MHz, provides clocks to KM4, KM0, and high-performance peripherals after frequency division.SPIC_CK: Dedicated to SPIC and PSRAM, with the same frequency as
PLL_SYSbut a different phase.SPIC_PS_CK: Dedicated to SPIC and PSRAM power saving.
One PLL dedicated to Wi-Fi:
320MHz.
One external oscillator:
XTAL40M: Used directly for peripherals or after frequency division.
Three internal oscillators:
OSC4M: Provides a 4MHz clock to lbus, or a 2MHz clock to peripherals after frequency division.
OSC131K: Used as the input to SDM and as the clock for other peripherals.
OSC100K: Located in the AON domain, used to drive IWDG.
Seven independent PLLs: each can be configured with an integer or fractional ratio.
SYS_PLL:
300MHz ~ 600MHz, provides a clock to TRNG after frequency division.CPU_PLL:
300MHz ~ 600MHz, provides a clock to the KM4 CPU and peripherals after frequency division.flash_cpu_pll: Same frequency as CPU_PLL but with a different phase.
flash_sys_pll: Same frequency as SYS_PLL but with a different phase.
flash_cpu_pll_ps: Used for SPI Flash controller power saving.
flash_sys_pll_ps: Used for SPI Flash controller power saving.
One dedicated PLL for Wi-Fi:
320MHz
One external oscillator:
XTAL40M: Used directly for peripherals or after frequency division.
Three internal oscillators:
OSC4M: Provides a 4MHz clock to lbus, or a 2MHz clock to peripherals after frequency division.
OSC131K: Used as the input to SDM and as the clock for other peripherals.
OSC100K: Located in the AON domain, used to drive IWDG.
Seven independent PLLs: each can be configured with an integer or fractional ratio.
SYS_PLL:
300MHz ~ 600MHz, provides a clock to TRNG after frequency division.CPU_PLL:
300MHz ~ 600MHz, provides a clock to the KM4 CPU and peripherals after frequency division.flash_cpu_pll: Same frequency as CPU_PLL but with a different phase.
flash_sys_pll: Same frequency as SYS_PLL but with a different phase.
flash_cpu_pll_ps: Used for SPI Flash controller power saving.
flash_sys_pll_ps: Used for SPI Flash controller power saving.
One dedicated PLL for Wi-Fi:
320MHz
One external oscillator:
XTAL40M: Used directly by peripherals or after frequency division.
Three internal oscillators:
OSC4M: Provides a 4MHz clock for lbus, or a 2MHz clock for peripherals after frequency division.
OSC131K: Used as the input for SDM and as the clock source for other peripherals.
OSC100K: Located in the AON domain, used to drive IWDG.
Seven independent PLLs: each can be configured with integer or fractional ratios.
DSP_PLL:
300MHz ~ 600MHz, provides clocks for HiFi 5 CPU, HiFi 5 bus, and TRNG after frequency division.CPU_PLL:
300MHz ~ 600MHz, provides clocks for KM4 CPU and peripherals after frequency division.flash_cpu_pll: Same frequency as CPU_PLL but with a different phase.
flash_dsp_pll: Same frequency as DSP_PLL but with a different phase.
flash_cpu_pll_ps: Used for SPI Flash controller power saving.
flash_dsp_pll_ps: Used for SPI Flash controller power saving.
One dedicated PLL for Wi-Fi:
320MHz
One external oscillator:
XTAL40M: Used directly by peripherals or after frequency division.
Three internal oscillators:
OSC4M: Provides a 4MHz clock for lbus, or a 2MHz clock for peripherals after frequency division.
OSC131K: Used as the input for SDM and as the clock source for other peripherals.
OSC100K: Located in the AON domain, used to drive IWDG.
Seven independent PLLs: each can be configured with integer or fractional ratios.
DSP_PLL:
300MHz ~ 600MHz, provides clocks for HiFi 5 CPU, HiFi 5 bus, and TRNG after frequency division.CPU_PLL:
300MHz ~ 600MHz, provides clocks for KM4 CPU and peripherals after frequency division.flash_cpu_pll: Same frequency as CPU_PLL but with a different phase.
flash_dsp_pll: Same frequency as DSP_PLL but with a different phase.
flash_cpu_pll_ps: Used for SPI Flash controller power saving.
flash_dsp_pll_ps: Used for SPI Flash controller power saving.
One dedicated PLL for Wi-Fi:
320MHz
One external oscillator:
XTAL40M: Used directly for peripherals or after frequency division.
Three internal oscillators:
OSC4M: Provides a 4MHz clock for the KM0 CPU, or a 2MHz clock for peripherals after frequency division.
OSC131K: Used as the input for SDM and as the clock for other peripherals.
OSC100K: Located in the AON domain, used to drive IWDG and OTPC.
Six independent PLLs: each can be configured with an integer or fractional ratio.
AP PLL:
1.2GHz, can provide a clock for the CA32 CPU.NP PLL:
920MHz/1GHz, provides clocks for the KM4 CPU and peripherals after frequency division. Can also provide a clock for the CA32 CPU.Two Audio PLLs dedicated to the audio subsystem, which can be independently enabled or disabled by software:
PLL1:
98.304MHzPLL2:
45.1584MHz
One PLL dedicated to Wi-Fi:
320MHzOne PLL dedicated to DDR:
533MHz
The following dedicated PHYs provide independent clock sources without going through the PLL:
USB PHY:
480MHz, dedicated to USB.MIPI PHY:
80MHz ~ 1GHz, dedicated to MIPI.
40MHz clock based on external oscillator:
XTAL40M: Used directly by peripherals or after frequency division.
Internal oscillators:
OSC4M: Provides clock to peripherals after frequency division.
OSC131K: Used as input to SDM and as the clock for Cap-Touch.
OSC100K: Located in the AON domain, used to drive IWDG.
Two independent PLLs:
SYS_PLL:
200MHz ~ 500MHz. Supports fractional frequency division, suitable for applications requiring precise frequency adjustment (e.g., high-quality audio systems).USB_PLL:
480MHz ~ 1000MHz. Can only generate output frequencies that are integer multiples of the crystal (XTAL) reference frequency.
Except for peripherals with specific clock requirements (such as USB, Ethernet MAC, and audio systems), other high-speed peripherals and CPUs can select their clock source from any available PLL through the clock selection mechanism.
40MHz clock based on external oscillator:
XTAL40M: Used directly for peripherals or after frequency division.
Internal oscillators:
OSC2P5M: Provides clock to peripherals after frequency division.
OSC100K: Located in the AON domain, used to drive IWDG.
Two independent PLLs (both non-adjustable):
SYS_PLL:
400MHz, fixed frequency, provides clock to CPU and peripherals after frequency division.USB_PLL:
960MHz, fixed frequency, provides clock to CPU and peripherals after frequency division.
Peripherals and CPU can select a clock source from any available PLL through the clock selection mechanism.
Registers
System Reset Registers
The following registers are used for system software reset.
The base address of the system reset registers is 0x41008000.
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
System reset control register |
|
0x264 |
W |
System reset trigger register |
REG_SW_RST_CTRL
Name: System reset control register
Size: 32 bits
Address offset: 0x260
Read/Write access: Read/Write
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
Used for KM4 to reset the system |
30 |
LSYS_BIT_KM0_SYS_RST |
R/W |
0 |
Used for KM0 to reset the system |
29:0 |
RSVD |
N/A |
0 |
Reserved for reset domain control |
REG_SW_RST_TRIG
Name: System reset trigger register
Size: 32 bits
Address offset: 0x264
Read/Write access: Write-only
Bits |
Symbol |
Access |
Description |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
System reset trigger register
|
The base address of the system reset registers is 0x4100C000.
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
System reset control register |
|
0x264 |
W |
System reset trigger register |
REG_SW_RST_CTRL
Name: Reset Control Register
Size: 32 bits
Address Offset: 0x260
Read/Write Access: Read/Write
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
Used for KM4 to reset system |
30 |
LSYS_BIT_KR4_SYS_RST |
R/W |
0 |
Used for KR4 to reset system |
29:0 |
RSVD |
N/A |
0 |
Reserved for reset domain control |
REG_SW_RST_TRIG
Name: Reset Trigger Register
Size: 32 bits
Address Offset: 0x264
Read/Write Access: Write-only
Bits |
Symbol |
Access |
Description |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
System reset trigger register
|
The base address of the system reset registers is 0x4100C000.
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
System reset control register |
|
0x264 |
W |
System reset trigger register |
REG_SW_RST_CTRL
Name: Reset control register
Size: 32 bits
Address offset: 0x260
Read/Write access: Read/Write
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
Used for KM4 to reset system |
30 |
LSYS_BIT_KR4_SYS_RST |
R/W |
0 |
Used for KR4 to reset system |
29:0 |
RSVD |
N/A |
0 |
Reserved for reset domain control |
REG_SW_RST_TRIG
Name: Reset trigger register
Size: 32 bits
Address offset: 0x264
Read/Write access: Write-only
Bits |
Symbol |
Access |
Description |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
System reset trigger register
|
The base address of the system reset registers is 0x4100C000.
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
System reset control register |
|
0x264 |
W |
System reset trigger register |
REG_SW_RST_CTRL
Name: Reset control register
Size: 32 bits
Address offset: 0x260
Read/write access: Read/Write
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
Used for KM4 to reset system |
30 |
LSYS_BIT_KR4_SYS_RST |
R/W |
0 |
Used for KR4 to reset system |
29 |
LSYS_BIT_HIFI_SYS_RST |
R/W |
0 |
Used for DSP to reset system |
28:0 |
RSVD |
N/A |
0 |
Reserved for reset domain control |
REG_SW_RST_TRIG
Name: Reset trigger register
Size: 32 bits
Address offset: 0x264
Read/write access: Write-only
Bits |
Symbol |
Access |
Description |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
System reset trigger register
|
The base address of the system reset registers is 0x4100C000.
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
System reset control register |
|
0x264 |
W |
System reset trigger register |
REG_SW_RST_CTRL
Name: Reset control register
Size: 32 bits
Address offset: 0x260
Read/Write access: Read/Write
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
Used for KM4 to reset system |
30 |
LSYS_BIT_KR4_SYS_RST |
R/W |
0 |
Used for KR4 to reset system |
29 |
LSYS_BIT_HIFI_SYS_RST |
R/W |
0 |
Used for DSP to reset system |
28:0 |
RSVD |
N/A |
0 |
Reserved for reset domain control |
REG_SW_RST_TRIG
Name: Reset trigger register
Size: 32 bits
Address offset: 0x264
Read/Write access: Write only
Bits |
Symbol |
Access |
Description |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
System reset trigger register
|
The base address of the system reset registers is 0x42008000.
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x238 |
R/W |
System reset control register |
|
0x23C |
W |
System reset trigger register |
REG_SW_RST_CTRL
Name: Reset control register
Size: 32 bits
Address offset: 0x238
Read/Write access: Read/Write (write-enable)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31 |
SYS_RESET_CPU_AP |
R/WE |
0 |
AP resets system |
30 |
SYS_RESET_CPU_NP |
R/WE |
0 |
NP resets system |
29 |
SYS_RESET_CPU_LP |
R/WE |
0 |
KM0 (LP) resets system |
28:0 |
RSVD |
0 |
Reserved for reset domain control |
REG_SW_RST_TRIG
Name: Reset trigger register
Size: 32 bits
Address offset: 0x23C
Read/Write access: Write-only
Bits |
Symbol |
Access |
Description |
|---|---|---|---|
31:0 |
TRIG_RST |
W |
System reset trigger register
|
The base address of the system reset registers is 0x4080A000.
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
System reset control register |
|
0x264 |
W |
System reset trigger register |
REG_SW_RST_CTRL
Name: Reset Control Register
Size: 32 bits
Address Offset: 0x260
Read/Write Access: Read/Write
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4TZ_SYS_RST |
R/W |
0 |
Used for KM4TZ to reset system |
30 |
LSYS_BIT_KM4NS_SYS_RST |
R/W |
0 |
Used for KM4NS to reset system |
29:0 |
RSVD |
N/A |
0 |
Reserved for reset domain control |
REG_SW_RST_TRIG
Name: Reset Trigger Register
Size: 32 bits
Address Offset: 0x264
Read/Write Access: Write-only
Bits |
Symbol |
Access |
Description |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
System reset trigger register
|
The base address of the system reset registers is 0x40801000.
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
System reset control register |
|
0x264 |
W |
System reset trigger register |
REG_SW_RST_CTRL
Name: Reset control register
Size: 32 bits
Address Offset: 0x260
Read/Write Access: Read/Write
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4TZ_SYS_RST |
R/W |
0 |
Used for KM4TZ to reset system |
30 |
LSYS_BIT_KM4NS_SYS_RST |
R/W |
0 |
Used for KM4NS to reset system |
29 |
LSYS_BIT_PLFM1_SYS_RST |
R/W |
0 |
Used for Plfm1 reset |
28:0 |
RSVD |
N/A |
0 |
Reserved, used for reset domain control |
REG_SW_RST_TRIG
Name: Reset trigger register
Size: 32 bits
Address Offset: 0x264
Read/Write Access: Write-only
Bits |
Symbol |
Access |
Description |
|---|---|---|---|
31:16 |
LSYS_MASK_TRIG_RST_P1 |
W |
Used to control and trigger Plfm1 reset
|
15:0 |
LSYS_MASK_TRIG_RST |
W |
Used to control and trigger System reset
|
Boot Reason Registers
The following registers are used to provide the boot reason.
Note
After system startup, the Bootloader will clear this register and save the boot reason to the REG_LSYS_BOOT_REASON_SW register.
The base address of boot reason registers is 0x41008000.
REG_BOOT_REASON_HW
Name: Boot Reason Register
Size: 32 bits
Address Offset: 0x20
Read/Write Access: Read/Write (Write 1 to Clear)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31:10 |
RSVD |
Reserved |
||
9 |
KM0_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KM0 warm resets the system. Write 1 to clear. |
8 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KM4 warm resets the system. Write 1 to clear. |
7 |
WDG2_RSTF |
R/W1C |
0 |
Set to 1 when WDG2 resets the system. Write 1 to clear. |
6 |
WDG1_RSTF |
R/W1C |
0 |
Set to 1 when WDG1 resets the system. Write 1 to clear. |
5 |
WDG0_RSTF |
R/W1C |
0 |
Set to 1 when WDG0 resets the system. Write 1 to clear. |
4 |
IWDG_RSTF |
R/W1C |
0 |
Set to 1 when IWDG resets the system. Write 1 to clear. |
3 |
KM0SYS_RSTF |
R/W1C |
0 |
Set to 1 when KM0 triggers a system reset. Write 1 to clear. |
2 |
KM4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KM4 triggers a system reset. Write 1 to clear. |
1 |
DSLP_RSTF |
R/W1C |
0 |
Set to 1 when exiting deep sleep (DSLP). Write 1 to clear. |
0 |
BOR_RSTF |
R/W1C |
0 |
Set to 1 when BOR resets the system. Write 1 to clear. |
The base address of the boot reason register is 0x4100C000.
REG_BOOT_REASON_HW
Name: Boot Reason Register
Size: 32 bits
Address Offset: 0x20
Read/Write Access: Read/Write (Write 1 to Clear)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31:18 |
RSVD |
Reserved |
||
17 |
KR4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KR4 Warm resets the system. Write 1 to clear. |
16 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KM4 Warm resets the system. Write 1 to clear. |
15 |
WDG4_RSTF |
R/W1C |
0 |
Set to 1 when WDG4 resets the system. Write 1 to clear. |
14 |
WDG3_RSTF |
R/W1C |
0 |
Set to 1 when WDG3 resets the system. Write 1 to clear. |
13 |
WDG2_RSTF |
R/W1C |
0 |
Set to 1 when WDG2 resets the system. Write 1 to clear. |
12 |
WDG1_RSTF |
R/W1C |
0 |
Set to 1 when WDG1 resets the system. Write 1 to clear. |
11 |
IWDG_RSTF |
R/W1C |
0 |
Set to 1 when IWDG resets the system. Write 1 to clear. |
10 |
RSVD |
Reserved |
||
9 |
KR4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KR4 triggers a System reset. Write 1 to clear |
8 |
KM4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KM4 triggers a System reset. Write 1 to clear |
7 |
DSLP_RSTF |
R/W1C |
0 |
Set to 1 when exiting deep sleep (DSLP). Write 1 to clear. |
6:5 |
RSVD |
Reserved |
||
4 |
BOR_RSTF |
R/W1C |
0 |
Set to 1 when BOR resets the system. Write 1 to clear. |
3 |
THERMAL_RST |
R/W1C |
0 |
Set to 1 when Thermal triggers a System reset. Write 1 to clear. |
2:0 |
RSVD |
Reserved |
The base address of the boot reason register is 0x4100C000.
REG_BOOT_REASON_HW
Name: Boot Reason Register
Size: 32 bits
Address Offset: 0x20
Read/Write Access: Read/Write (Write 1 to Clear)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31:18 |
RSVD |
Reserved |
||
17 |
KR4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KR4 Warm resets the system. Write 1 to clear. |
16 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KM4 Warm resets the system. Write 1 to clear. |
15 |
WDG4_RSTF |
R/W1C |
0 |
Set to 1 when WDG4 resets the system. Write 1 to clear. |
14 |
WDG3_RSTF |
R/W1C |
0 |
Set to 1 when WDG3 resets the system. Write 1 to clear. |
13 |
WDG2_RSTF |
R/W1C |
0 |
Set to 1 when WDG2 resets the system. Write 1 to clear. |
12 |
WDG1_RSTF |
R/W1C |
0 |
Set to 1 when WDG1 resets the system. Write 1 to clear. |
11 |
IWDG_RSTF |
R/W1C |
0 |
Set to 1 when IWDG resets the system. Write 1 to clear. |
10 |
RSVD |
Reserved |
||
9 |
KR4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KR4 triggers a System reset. Write 1 to clear |
8 |
KM4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KM4 triggers a System reset. Write 1 to clear |
7 |
DSLP_RSTF |
R/W1C |
0 |
Set to 1 when exiting deep sleep (DSLP). Write 1 to clear. |
6:5 |
RSVD |
Reserved |
||
4 |
BOR_RSTF |
R/W1C |
0 |
Set to 1 when BOR resets the system. Write 1 to clear. |
3 |
THERMAL_RST |
R/W1C |
0 |
Set to 1 when Thermal triggers a System reset. Write 1 to clear. |
2:0 |
RSVD |
Reserved |
The base address of the boot reason register is 0x4100C000.
REG_BOOT_REASON_HW
Name: Boot Reason Register
Size: 32 bits
Address Offset: 0x20
Read/Write Access: Read/Write (write 1 to clear)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31:19 |
RSVD |
Reserved |
||
18 |
HIFI_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when HiFi5 performs a Warm reset on the system. Write 1 to clear. |
17 |
KR4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KR4 performs a Warm reset on the system. Write 1 to clear. |
16 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KM4 performs a Warm reset on the system. Write 1 to clear. |
15 |
WDG4_RSTF |
R/W1C |
0 |
Set to 1 when WDG4 resets the system. Write 1 to clear. |
14 |
WDG3_RSTF |
R/W1C |
0 |
Set to 1 when WDG3 resets the system. Write 1 to clear. |
13 |
WDG2_RSTF |
R/W1C |
0 |
Set to 1 when WDG2 resets the system. Write 1 to clear. |
12 |
WDG1_RSTF |
R/W1C |
0 |
Set to 1 when WDG1 resets the system. Write 1 to clear. |
11 |
IWDG_RSTF |
R/W1C |
0 |
Set to 1 when IWDG resets the system. Write 1 to clear. |
10 |
HIFISYS_RSTF |
R/W1C |
0 |
Set to 1 when HiFi5 triggers a System reset. Write 1 to clear. |
9 |
KR4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KR4 triggers a System reset. Write 1 to clear. |
8 |
KM4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KM4 triggers a System reset. Write 1 to clear. |
7 |
DSLP_RSTF |
R/W1C |
0 |
Set to 1 when exiting deep sleep (DSLP). Write 1 to clear. |
6:5 |
RSVD |
Reserved |
||
4 |
BOR_RSTF |
R/W1C |
0 |
Set to 1 when BOR resets the system. Write 1 to clear. |
3 |
THERMAL_RST |
R/W1C |
0 |
Set to 1 when Thermal triggers a System reset. Write 1 to clear. |
2:0 |
RSVD |
Reserved |
The base address of the boot reason register is 0x4100C000.
REG_BOOT_REASON_HW
Name: Boot Reason Register
Size: 32 bits
Address Offset: 0x20
Read/Write Access: Read/Write (write 1 to clear)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31:19 |
RSVD |
Reserved |
||
18 |
HIFI_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when HiFi5 performs a Warm reset on the system. Write 1 to clear. |
17 |
KR4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KR4 performs a Warm reset on the system. Write 1 to clear. |
16 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
Set to 1 when KM4 performs a Warm reset on the system. Write 1 to clear. |
15 |
WDG4_RSTF |
R/W1C |
0 |
Set to 1 when WDG4 resets the system. Write 1 to clear. |
14 |
WDG3_RSTF |
R/W1C |
0 |
Set to 1 when WDG3 resets the system. Write 1 to clear. |
13 |
WDG2_RSTF |
R/W1C |
0 |
Set to 1 when WDG2 resets the system. Write 1 to clear. |
12 |
WDG1_RSTF |
R/W1C |
0 |
Set to 1 when WDG1 resets the system. Write 1 to clear. |
11 |
IWDG_RSTF |
R/W1C |
0 |
Set to 1 when IWDG resets the system. Write 1 to clear. |
10 |
HIFISYS_RSTF |
R/W1C |
0 |
Set to 1 when HiFi5 triggers a System reset. Write 1 to clear. |
9 |
KR4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KR4 triggers a System reset. Write 1 to clear. |
8 |
KM4SYS_RSTF |
R/W1C |
0 |
Set to 1 when KM4 triggers a System reset. Write 1 to clear. |
7 |
DSLP_RSTF |
R/W1C |
0 |
Set to 1 when exiting deep sleep (DSLP). Write 1 to clear. |
6:5 |
RSVD |
Reserved |
||
4 |
BOR_RSTF |
R/W1C |
0 |
Set to 1 when BOR resets the system. Write 1 to clear. |
3 |
THERMAL_RST |
R/W1C |
0 |
Set to 1 when Thermal triggers a System reset. Write 1 to clear. |
2:0 |
RSVD |
Reserved |
The base address of the boot reason register is 0x42008000.
REG_BOOT_REASON_HW
Name: Boot Reason Register
Size: 32 bits
Address Offset: 0x20
Read/Write Access: Read/Write (Write 1 to Clear)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31:16 |
RSVD |
Reserved |
||
15 |
RSTF_WDG4 |
R/W1C |
0 |
Set to 1 when WDG4 resets the system. Write 1 to clear. |
14 |
RSTF_WDG3 |
R/W1C |
0 |
Set to 1 when WDG3 resets the system. Write 1 to clear. |
13 |
RSTF_WDG2 |
R/W1C |
0 |
Set to 1 when WDG2 resets the system. Write 1 to clear. |
12 |
RSTF_WDG1 |
R/W1C |
0 |
Set to 1 when WDG1 resets the system. Write 1 to clear. |
11 |
RSTF_IWDG |
R/W1C |
0 |
Set to 1 when IWDG resets the system. Write 1 to clear. |
10 |
RSTF_APSYS |
R/W1C |
0 |
Set to 1 when AP triggers a system reset. Write 1 to clear. |
9 |
RSTF_NPSYS |
R/W1C |
0 |
Set to 1 when NP triggers a system reset. Write 1 to clear. |
8 |
RSTF_LPSYS |
R/W1C |
0 |
Set to 1 when KM0 (LP) triggers a system reset. Write 1 to clear. |
7 |
RSTF_DSLP |
R/W1C |
0 |
Set to 1 when exiting deep sleep (DSLP). Write 1 to clear. |
6:5 |
RSVD |
Reserved |
||
4 |
RSTF_BOR |
R/W1C |
0 |
Set to 1 when BOR resets the system. Write 1 to clear. |
3 |
RSTF_THM |
R/W1C |
0 |
Set to 1 when Thermal resets the system. Write 1 to clear. |
2:0 |
RSVD |
Reserved |
The base address of the boot reason registers is 0x4080A000.
REG_BOOT_REASON_HW
Name: Boot Reason Register
Size: 32 bits
Address Offset: 0x20
Read/Write Access: Read/Write (write 1 to clear)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31:17 |
RSVD |
Reserved |
||
16 |
THERMAL_RSTF |
R/W1C |
0 |
Set to 1 when Thermal resets the system. Write 1 to clear. |
10 |
RSVD |
0 |
Reserved |
|
9 |
NP_WARM_RSTF |
R/W1C |
0 |
Set to 1 when KM4NS (NP core) warm resets the system. Write 1 to clear. |
8 |
AP_WARM_RSTF |
R/W1C |
0 |
Set to 1 when KM4TZ (AP core) warm resets the system. Write 1 to clear. |
7 |
WDG2_RSTF |
R/W1C |
0 |
Set to 1 when WDG2 resets the system. Write 1 to clear. |
6 |
WDG1_RSTF |
R/W1C |
0 |
Set to 1 when WDG1 resets the system. Write 1 to clear. |
5 |
WDG0_RSTF |
R/W1C |
0 |
Set to 1 when WDG0 resets the system. Write 1 to clear. |
4 |
IWDG_RSTF |
R/W1C |
0 |
Set to 1 when IWDG resets the system. Write 1 to clear. |
3 |
SYS1_RSTF |
R/W1C |
0 |
Set to 1 when KM4NS triggers a system reset. Write 1 to clear. |
2 |
SYS0_RSTF |
R/W1C |
0 |
Set to 1 when KM4TZ triggers a system reset. Write 1 to clear. |
1 |
DSLP_RSTF |
R/W1C |
0 |
Set to 1 when exiting deep sleep (DSLP). Write 1 to clear. |
0 |
BOR_RSTF |
R/W1C |
0 |
Set to 1 when BOR resets the system. Write 1 to clear. |
The base address of the boot reason register is 0x40801000.
REG_BOOT_REASON_HW
Name: Boot Reason Register
Size: 32 bits
Address Offset: 0x20
Read/Write Access: Read/Write (write 1 to clear)
Bits |
Symbol |
Access |
Reset |
Description |
|---|---|---|---|---|
31:18 |
RSVD |
Reserved |
||
17 |
PLFM1_RSTF |
R/W1C |
0 |
Set to 1 when Plfm1 reset resets the system. Write 1 to clear. |
16 |
THERMAL_RSTF |
R/W1C |
0 |
Set to 1 when Thermal resets the system. Write 1 to clear. |
15:10 |
RSVD |
0 |
Reserved |
|
9 |
NP_WARM_RSTF |
R/W1C |
0 |
Set to 1 when KM4NS (NP core) Warm reset resets the system. Write 1 to clear. |
8 |
AP_WARM_RSTF |
R/W1C |
0 |
Set to 1 when KM4TZ (AP core) Warm reset resets the system. Write 1 to clear. |
7 |
WDG2_RSTF |
R/W1C |
0 |
Set to 1 when WDG2 resets the system. Write 1 to clear. |
6 |
WDG1_RSTF |
R/W1C |
0 |
Set to 1 when WDG1 resets the system. Write 1 to clear. |
5 |
WDG0_RSTF |
R/W1C |
0 |
Set to 1 when WDG0 resets the system. Write 1 to clear. |
4 |
IWDG_RSTF |
R/W1C |
0 |
Set to 1 when IWDG resets the system. Write 1 to clear. |
3 |
SYS1_RSTF |
R/W1C |
0 |
Set to 1 when KM4NS triggers a System reset. Write 1 to clear. |
2 |
SYS0_RSTF |
R/W1C |
0 |
Set to 1 when KM4TZ triggers a System reset. Write 1 to clear. |
1 |
DSLP_RSTF |
R/W1C |
0 |
Set to 1 when exiting deep sleep (DSLP). Write 1 to clear. |
0 |
BOR_RSTF |
R/W1C |
0 |
Set to 1 when BOR resets the system. Write 1 to clear. |