]> granicus.if.org Git - esp-idf/commitdiff
sleep: don't power down VDD_SDIO in light sleep if SPIRAM is enabled
authorIvan Grokhotkov <ivan@espressif.com>
Wed, 18 Oct 2017 12:04:40 +0000 (20:04 +0800)
committerIvan Grokhotkov <ivan@espressif.com>
Thu, 19 Oct 2017 13:35:23 +0000 (21:35 +0800)
components/esp32/sleep_modes.c

index 6924b2ec28458f01025958230db1258b32a6a87b..6927716c626f59b825a995d795f2aead68da18b3 100644 (file)
@@ -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);