Wakeup Source and Reason
Wakeup Source
The following table lists the wakeup sources that can be used to wake up the system under different power modes.
Wakeup source |
Sleep CG |
Sleep PG |
Deep-Sleep |
Restriction |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
Only KM0 can use the IPC to wake up KM4. |
Basic Timer4~7 |
√ |
√ |
X |
|
PMC Timer |
√ |
√ |
X |
For internal usage |
UART0~2 |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
When using LOGUART as a wakeup source:
|
GPIO |
√ |
√ |
X |
|
I2C |
√ |
√ |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
SDIO |
√ |
√ |
X |
|
Key-Scan |
√ |
√ |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
The following table lists the wakeup sources that can be used to wake up the system under different power modes.
Wakeup source |
Sleep CG |
Sleep PG |
Deep-Sleep |
Restriction |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
UART |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
GPIO |
√ |
√ |
X |
|
SPI |
√ |
X |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
VAD |
√ |
X |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
The following table lists the wakeup sources that can be used to wake up the system under different power modes.
Wakeup source |
Sleep CG |
Sleep PG |
Deep-Sleep |
Restriction |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
UART |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
GPIO |
√ |
√ |
X |
|
SPI |
√ |
X |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
VAD |
√ |
X |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
The following table lists the wakeup sources that can be used to wake up the system under different power modes.
Wakeup source |
Sleep CG |
Sleep PG |
Deep-Sleep |
Restriction |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
UART |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
GPIO |
√ |
√ |
X |
|
SPI |
√ |
X |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
VAD |
√ |
X |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
The following table lists the wakeup sources that can be used to wake up the system under different power modes.
Wakeup source |
Sleep CG |
Sleep PG |
Deep-Sleep |
Restriction |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
UART |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
GPIO |
√ |
√ |
X |
|
SPI |
√ |
X |
X |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
VAD |
√ |
X |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
AON_TIMER |
√ |
√ |
√ |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
RTC |
√ |
√ |
√ |
The following table lists the wakeup sources that can be used to wake up the system under different power modes.
Wakeup source |
Sleep CG |
Sleep PG |
Deep-Sleep |
Restriction |
|---|---|---|---|---|
WLAN |
√ |
√ |
X |
|
BT |
√ |
√ |
X |
|
AON_WAKEPIN |
√ |
√ |
√ |
|
UART |
√ |
√ |
X |
|
IPC |
√ |
√ |
X |
The IPC can only wake up CA32 and KM4, but not KM0. |
SPI |
√ |
X |
X |
Do not turn off SOC domain clock and power when using SPI as wakeup source |
USB |
√ |
X |
X |
|
VAD |
√ |
√ |
X |
|
BOR |
√ |
√ |
√ |
|
PWR_DOWN |
√ |
√ |
√ |
|
CAP_TOUCH |
√ |
√ |
X |
|
ADC |
√ |
√ |
X |
|
RTC |
√ |
√ |
√ |
|
GPIO |
√ |
√ |
X |
|
LOGUART |
√ |
√ |
X |
|
Basic Timer |
√ |
√ |
X |
|
IWDG |
√ |
√ |
X |
|
AON_TIMER |
√ |
√ |
√ |
A hardware SYSON power management control module (SYSON PMC) is designed to control the clock and power of LP, and then LP controls the clock and power of NP and AP. When the system enters sleep mode, CPUs can select to enter clock-gating (CG) or power-gating (PG) mode, while SYSON PMC maintained active to wake up LP when wakeup sources are triggered.
Wakeup Reason
Note
When wakeup, the corresponding peripheral interrupt will be raised; when clearing the interrupt, the corresponding bit in wakeup reason will also be cleared. Thus it is not possible to get the wakeup reason after the interrupt is cleared.
SOCPS_AONWakeReason
Items |
Description |
|---|---|
Introduction |
Get the deep-sleep wakeup reason |
Parameter |
None |
Return |
|
WAK_STATUS0
The following register can be used to get the sleep wakeup reason.
Register |
Parameters |
|---|---|
WAK_STATUS0 |
|
SOCPS_AONWakeReason
Items |
Description |
|---|---|
Introduction |
Get the deep-sleep wakeup reason |
Parameter |
None |
Return |
Bit[0]: CHIP_EN short press Bit[1]: CHIP_EN long press Bit[2]: BOR Bit[3]: AON Timer Bit[5:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0 & WAK_STATUS1
The following registers can be used to obtain the wakeup reason.
Register |
Parameters |
|---|---|
WAKE_STATUS0 |
|
WAKE_STATUS1 |
|
SOCPS_AONWakeReason
Items |
Description |
|---|---|
Introduction |
Get the deep-sleep wakeup reason |
Parameter |
None |
Return |
Bit[0]: CHIP_EN short press Bit[1]: CHIP_EN long press Bit[2]: BOR Bit[3]: AON Timer Bit[5:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0 & WAK_STATUS1
The following registers can be used to obtain the wakeup reason.
Register |
Parameters |
|---|---|
WAKE_STATUS0 |
|
WAKE_STATUS1 |
|
SOCPS_AONWakeReason
Items |
Description |
|---|---|
Introduction |
Get the deep-sleep wakeup reason |
Parameter |
None |
Return |
Bit[0]: CHIP_EN short press Bit[1]: CHIP_EN long press Bit[2]: BOR Bit[3]: AON Timer Bit[5:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0 & WAK_STATUS1
The following registers can be used to obtain the wakeup reason.
Register |
Parameters |
|---|---|
WAKE_STATUS0 |
|
WAKE_STATUS1 |
|
SOCPS_AONWakeReason
Items |
Description |
|---|---|
Introduction |
Get the deep-sleep wakeup reason |
Parameter |
None |
Return |
Bit[0]: CHIP_EN short press Bit[1]: CHIP_EN long press Bit[2]: BOR Bit[3]: AON Timer Bit[5:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0 & WAK_STATUS1
The following registers can be used to obtain the wakeup reason.
Register |
Parameters |
|---|---|
WAKE_STATUS0 |
|
WAKE_STATUS1 |
|
SOCPS_AONWakeReason
Items |
Description |
|---|---|
Introduction |
Get the deep-sleep wakeup reason |
Parameter |
None |
Return |
Bit[0]: CHIP_EN short press Bit[1]: CHIP_EN long press Bit[2]: BOR Bit[3]: AON Timer Bit[7:4]: AON GPIO Bit[8]: RTC |
WAK_STATUS0
The following register can be used to get the sleep wakeup reason.
Register |
Parameters |
|---|---|
WAK_STATUS0 |
|
WAK_STATUS1 |
|