mirror of
https://github.com/apache/nuttx.git
synced 2026-06-07 17:33:08 +08:00
xtensa/esp32: Add sleep reject reasons
This commit is contained in:
committed by
Alan Carvalho de Assis
parent
5c5e0494f3
commit
1847a67e05
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user