mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-29 18:27:20 +02:00
light sleep: fix SPIRAM leakage when its CS pin has no hardware pullup
This commit is contained in:
@ -100,6 +100,15 @@ menu "ESP System Settings"
|
||||
If enabled, the CPU will be powered down in light sleep. Enabling this option will consume
|
||||
1.68 KB of internal RAM and will reduce sleep current consumption by about 100 uA.
|
||||
|
||||
config ESP_SYSTEM_PSRAM_LEAKAGE_WORKAROUND
|
||||
bool "PSRAM leakage current workaround in light sleep"
|
||||
depends on SPIRAM
|
||||
help
|
||||
When the CS pin of SPIRAM is not pulled up, the sleep current will
|
||||
increase during light sleep. If the CS pin of SPIRAM has an external
|
||||
pull-up, you do not need to select this option, otherwise, you
|
||||
should enable this option.
|
||||
|
||||
menu "Memory protection"
|
||||
|
||||
config ESP_SYSTEM_MEMPROT_FEATURE
|
||||
|
@ -53,6 +53,7 @@
|
||||
#include "esp32/clk.h"
|
||||
#include "esp32/rom/rtc.h"
|
||||
#include "esp_private/gpio.h"
|
||||
#include "esp32/spiram.h"
|
||||
#elif CONFIG_IDF_TARGET_ESP32S2
|
||||
#include "esp32s2/clk.h"
|
||||
#include "esp32s2/rom/cache.h"
|
||||
@ -60,11 +61,13 @@
|
||||
#include "esp32s2/brownout.h"
|
||||
#include "soc/extmem_reg.h"
|
||||
#include "esp_private/gpio.h"
|
||||
#include "esp32s2/spiram.h"
|
||||
#elif CONFIG_IDF_TARGET_ESP32S3
|
||||
#include "esp32s3/clk.h"
|
||||
#include "esp32s3/rom/cache.h"
|
||||
#include "esp32s3/rom/rtc.h"
|
||||
#include "soc/extmem_reg.h"
|
||||
#include "esp32s3/spiram.h"
|
||||
#elif CONFIG_IDF_TARGET_ESP32C3
|
||||
#include "esp32c3/clk.h"
|
||||
#include "esp32c3/rom/cache.h"
|
||||
@ -418,6 +421,9 @@ void esp_sleep_config_gpio_isolate(void)
|
||||
gpio_sleep_set_pull_mode(gpio_num, GPIO_FLOATING);
|
||||
}
|
||||
}
|
||||
#if CONFIG_ESP_SYSTEM_PSRAM_LEAKAGE_WORKAROUND && CONFIG_SPIRAM
|
||||
gpio_sleep_set_pull_mode(esp_spiram_get_cs_io(), GPIO_PULLUP_ONLY);
|
||||
#endif
|
||||
}
|
||||
|
||||
void esp_sleep_enable_gpio_switch(bool enable)
|
||||
|
Reference in New Issue
Block a user