xtensa/esp32: Add sleep reject reasons

This commit is contained in:
chenwen
2020-11-06 16:13:08 +08:00
committed by Alan Carvalho de Assis
parent 5c5e0494f3
commit 1847a67e05
3 changed files with 8 additions and 4 deletions
+2 -2
View File
@@ -577,11 +577,11 @@ static int IRAM_ATTR esp32_sleep_start(uint32_t pd_flags)
esp32_timer_wakeup_prepare();
}
esp32_rtc_sleep_start(s_config.wakeup_triggers, 0);
result = esp32_rtc_sleep_start(s_config.wakeup_triggers, 0);
/* Restore CPU frequency */
result = esp32_configure_cpu_freq(cur_freq);
esp32_configure_cpu_freq(cur_freq);
esp32_resume_uarts();
return result;
+5 -1
View File
@@ -1353,9 +1353,10 @@ void IRAM_ATTR esp32_rtc_sleep_init(uint32_t flags)
*
****************************************************************************/
void IRAM_ATTR esp32_rtc_sleep_start(uint32_t wakeup_opt,
int IRAM_ATTR esp32_rtc_sleep_start(uint32_t wakeup_opt,
uint32_t reject_opt)
{
int reject;
REG_SET_FIELD(RTC_CNTL_WAKEUP_STATE_REG, RTC_CNTL_WAKEUP_ENA, wakeup_opt);
putreg32((uint32_t)reject_opt, RTC_CNTL_SLP_REJECT_CONF_REG);
@@ -1368,6 +1369,8 @@ void IRAM_ATTR esp32_rtc_sleep_start(uint32_t wakeup_opt,
/* In deep sleep mode, we never get here */
reject = REG_GET_FIELD(RTC_CNTL_INT_RAW_REG, RTC_CNTL_SLP_REJECT_INT_RAW);
modifyreg32(RTC_CNTL_INT_CLR_REG, 0,
RTC_CNTL_SLP_REJECT_INT_CLR | RTC_CNTL_SLP_WAKEUP_INT_CLR);
@@ -1375,4 +1378,5 @@ void IRAM_ATTR esp32_rtc_sleep_start(uint32_t wakeup_opt,
REG_SET_FIELD(RTC_CNTL_BIAS_CONF_REG, RTC_CNTL_DBG_ATTEN,
RTC_CNTL_DBG_ATTEN_DEFAULT);
return reject;
}
+1 -1
View File
@@ -289,7 +289,7 @@ void esp32_rtc_sleep_init(uint32_t flags);
*
****************************************************************************/
void esp32_rtc_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt);
int esp32_rtc_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt);
#ifdef __cplusplus
}