// Decide which power domains can be powered down
uint32_t pd_flags = get_power_down_flags();
- // Decide if flash needs to be powered down;
- // If it needs to be powered down, adjust sleep time
+ // Decide if VDD_SDIO needs to be powered down;
+ // If it needs to be powered down, adjust sleep time.
const uint32_t flash_enable_time_us = VDD_SDIO_POWERUP_TO_FLASH_READ_US
+ CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY;
+ // Don't power down VDD_SDIO if pSRAM is used.
+#ifndef CONFIG_SPIRAM_SUPPORT
if (s_config.sleep_duration > FLASH_PD_MIN_SLEEP_TIME_US &&
- s_config.sleep_duration > flash_enable_time_us) {
+ s_config.sleep_duration > flash_enable_time_us) {
pd_flags |= RTC_SLEEP_PD_VDDSDIO;
s_config.sleep_duration -= flash_enable_time_us;
}
+#endif //CONFIG_SPIRAM_SUPPORT
// Safety net: enable WDT in case exit from light sleep fails
rtc_wdt_enable(1000);