diff --git a/components/esp32/sleep_modes.c b/components/esp32/sleep_modes.c index 6924b2ec28..6927716c62 100644 --- a/components/esp32/sleep_modes.c +++ b/components/esp32/sleep_modes.c @@ -231,16 +231,19 @@ esp_err_t esp_light_sleep_start() // 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);