forked from espressif/esp-idf
Kconfig: improve ESP_SLEEP_PSRAM/FLASH_LEAKAGE_WORKAROUND help doc
Closes https://github.com/espressif/esp-idf/issues/11558
This commit is contained in:
@ -70,6 +70,49 @@ menu "Hardware Settings"
|
|||||||
to ESP_PD_OPTION_OFF. It should be noted that there is a risk in powering down flash, you can refer
|
to ESP_PD_OPTION_OFF. It should be noted that there is a risk in powering down flash, you can refer
|
||||||
`ESP-IDF Programming Guide/API Reference/System API/Sleep Modes/Power-down of Flash` for more details.
|
`ESP-IDF Programming Guide/API Reference/System API/Sleep Modes/Power-down of Flash` for more details.
|
||||||
|
|
||||||
|
config ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND
|
||||||
|
bool "Pull-up Flash CS pin in light sleep"
|
||||||
|
depends on !APP_BUILD_TYPE_PURE_RAM_APP && !ESP_SLEEP_POWER_DOWN_FLASH \
|
||||||
|
&& !PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
All IOs will be set to isolate(floating) state by default during sleep.
|
||||||
|
Since the power supply of SPI Flash is not lost during lightsleep, if its CS pin is recognized as
|
||||||
|
low level(selected state) in the floating state, there will be a large current leakage, and the
|
||||||
|
data in Flash may be corrupted by random signals on other SPI pins.
|
||||||
|
Select this option will set the CS pin of Flash to PULL-UP state during sleep, but this will
|
||||||
|
increase the sleep current about 10 uA.
|
||||||
|
If you are developing with esp32xx modules, you must select this option, but if you are developing
|
||||||
|
with chips, you can also pull up the CS pin of SPI Flash in the external circuit to save power
|
||||||
|
consumption caused by internal pull-up during sleep.
|
||||||
|
(!!! Don't deselect this option if you don't have external SPI Flash CS pin pullups.)
|
||||||
|
|
||||||
|
config ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND
|
||||||
|
bool "Pull-up PSRAM CS pin in light sleep"
|
||||||
|
depends on SPIRAM && !PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
All IOs will be set to isolate(floating) state by default during sleep.
|
||||||
|
Since the power supply of PSRAM is not lost during lightsleep, if its CS pin is recognized as
|
||||||
|
low level(selected state) in the floating state, there will be a large current leakage, and the
|
||||||
|
data in PSRAM may be corrupted by random signals on other SPI pins.
|
||||||
|
Select this option will set the CS pin of PSRAM to PULL-UP state during sleep, but this will
|
||||||
|
increase the sleep current about 10 uA.
|
||||||
|
If you are developing with esp32xx modules, you must select this option, but if you are developing
|
||||||
|
with chips, you can also pull up the CS pin of PSRAM in the external circuit to save power
|
||||||
|
consumption caused by internal pull-up during sleep.
|
||||||
|
(!!! Don't deselect this option if you don't have external PSRAM CS pin pullups.)
|
||||||
|
|
||||||
|
config ESP_SLEEP_MSPI_NEED_ALL_IO_PU
|
||||||
|
bool "Pull-up all SPI pins in light sleep"
|
||||||
|
depends on !ESP_SLEEP_POWER_DOWN_FLASH && !PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP \
|
||||||
|
&& (ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND || ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND)
|
||||||
|
default y if IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32S3
|
||||||
|
help
|
||||||
|
To reduce leakage current, some types of SPI Flash/RAM only need to pull up the CS pin
|
||||||
|
during light sleep. But there are also some kinds of SPI Flash/RAM that need to pull up
|
||||||
|
all pins. It depends on the SPI Flash/RAM chip used.
|
||||||
|
|
||||||
config ESP_SLEEP_RTC_BUS_ISO_WORKAROUND
|
config ESP_SLEEP_RTC_BUS_ISO_WORKAROUND
|
||||||
bool
|
bool
|
||||||
default y if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
|
default y if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3
|
||||||
@ -93,35 +136,6 @@ menu "Hardware Settings"
|
|||||||
This option provides a software workaround for this issue. Configure to isolate all
|
This option provides a software workaround for this issue. Configure to isolate all
|
||||||
GPIO pins in sleep state.
|
GPIO pins in sleep state.
|
||||||
|
|
||||||
config ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND
|
|
||||||
bool "PSRAM leakage current workaround in light sleep"
|
|
||||||
depends on SPIRAM
|
|
||||||
default y
|
|
||||||
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.
|
|
||||||
|
|
||||||
config ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND
|
|
||||||
bool "Flash leakage current workaround in light sleep"
|
|
||||||
depends on !APP_BUILD_TYPE_PURE_RAM_APP
|
|
||||||
default y
|
|
||||||
help
|
|
||||||
When the CS pin of Flash is not pulled up, the sleep current will
|
|
||||||
increase during light sleep. If the CS pin of Flash has an external
|
|
||||||
pull-up, you do not need to select this option, otherwise, you
|
|
||||||
should enable this option.
|
|
||||||
|
|
||||||
config ESP_SLEEP_MSPI_NEED_ALL_IO_PU
|
|
||||||
bool "All pins of mspi need pull up"
|
|
||||||
depends on ESP_SLEEP_PSRAM_LEAKAGE_WORKAROUND || ESP_SLEEP_FLASH_LEAKAGE_WORKAROUND
|
|
||||||
default y if IDF_TARGET_ESP32C2 || IDF_TARGET_ESP32S3
|
|
||||||
help
|
|
||||||
To reduce leakage current, some types of SPI Flash/RAM only need to pull up the CS pin
|
|
||||||
during light sleep. But there are also some kinds of SPI Flash/RAM that need to pull up
|
|
||||||
all pins. It depends on the SPI Flash/RAM chip used.
|
|
||||||
|
|
||||||
config ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY
|
config ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY
|
||||||
int "Extra delay in deep sleep wake stub (in us)"
|
int "Extra delay in deep sleep wake stub (in us)"
|
||||||
depends on IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3
|
depends on IDF_TARGET_ESP32 || IDF_TARGET_ESP32S3
|
||||||
|
Reference in New Issue
Block a user