mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 02:37:19 +02:00
fix(ulp): Fix accumulation of wakeup cause bits in ULP
Closes https://github.com/espressif/esp-idf/issues/15794
This commit is contained in:
@ -16,6 +16,8 @@ extern "C" {
|
||||
/**
|
||||
* @brief Traverse all possible wake-up sources and update the wake-up cause so that
|
||||
* ulp_lp_core_get_wakeup_cause can obtain the bitmap of the wake-up reasons.
|
||||
* @note Do not call it from user ULP programs because it will clear the wake-up cause bits
|
||||
* which were set at ULP startup in lp_core_startup().
|
||||
*/
|
||||
void ulp_lp_core_update_wakeup_cause(void);
|
||||
|
||||
|
@ -24,6 +24,7 @@ static uint32_t lp_wakeup_cause = 0;
|
||||
|
||||
void ulp_lp_core_update_wakeup_cause(void)
|
||||
{
|
||||
lp_wakeup_cause = 0;
|
||||
if ((REG_GET_FIELD(PMU_LP_CPU_PWR1_REG, PMU_LP_CPU_WAKEUP_EN) & ULP_LP_CORE_WAKEUP_SOURCE_HP_CPU) \
|
||||
&& (pmu_ll_lp_get_interrupt_raw(&PMU) & PMU_HP_SW_TRIGGER_INT_RAW)) {
|
||||
lp_wakeup_cause |= ULP_LP_CORE_WAKEUP_SOURCE_HP_CPU;
|
||||
|
Reference in New Issue
Block a user