jingli
cb0f517fe3
soc/soc_caps: update soc caps for chips that support power-down of modem hardware
...
Closes WIFI-4424
2023-03-10 14:15:27 +08:00
Jing Li
cec892d355
Merge branch 'refactor/refactor_deep_sleep_example' into 'master'
...
examples/deep sleep: refactor deep sleep example to make codes more structured
See merge request espressif/esp-idf!22635
2023-03-10 10:45:30 +08:00
jingli
b6580ea4ac
example: refactor deep sleep example to make codes more structured
2023-03-09 15:23:56 +08:00
jingli
238f31d93b
uart: add low level func for uart to set err wr mask
2023-03-09 10:28:33 +08:00
jingli
e38e5be9ac
system/test: use TEST_ESP_OK instead of ESP_ERROR_CHECK
2023-03-06 10:58:18 +08:00
jingli
955f2838fc
konfig: make rtc fast mem related kconfig depend on SOC_RTC_FAST_MEM_SUPPORTED
2023-03-06 10:58:18 +08:00
jingli
c8be36c3f4
examples/wifi/power_save: use 1000Hz freertos tick to lower sleep time threshold
2023-03-06 10:58:18 +08:00
jingli
49b40f1999
esp32c2/ci: reenable deep sleep example test
2023-03-06 10:58:18 +08:00
jingli
baaef3bd48
examples/system/deep_sleep:
...
Use nvs instead of RTC_DATA_ATTR to record deep sleep enter time when
the target chip does not have rtc mem.
2023-03-06 10:56:59 +08:00
jingli
001c6f5e86
examples/system/light_sleep:
...
Add some hints in README to remind users that they can try to power down
the CPU and SPI Flash for lower power consumption.
2023-03-06 10:34:37 +08:00
Jing Li
a529771d88
Merge branch 'refactor/pm_use_unified_esp_pm_config_t' into 'master'
...
pm: refactor pm codes to use unified esp_pm_config_t
See merge request espressif/esp-idf!22472
2023-02-24 14:06:19 +08:00
jingli
3a648e8ed6
ci: h2 does not support deep sleep currently, comment some codes to avoid ci error
2023-02-23 11:36:13 +08:00
jingli
eede7295d1
docs: upate migration guides for deprecated type and header file in power management component
2023-02-23 11:36:13 +08:00
jingli
4c3d1e24d7
codeclean: remove unused sleep related functions
2023-02-23 11:36:13 +08:00
jingli
8f415a7f44
refactor: power management component use unified esp_pm_config_t
2023-02-23 11:36:07 +08:00
Jing Li
75a82988f1
Merge branch 'refactor/wdt_use_unified_type' into 'master'
...
wdt: refactor wdt codes to use unified type
Closes IDF-5653
See merge request espressif/esp-idf!22378
2023-02-21 09:46:06 +08:00
jingli
9c37441b17
wdt: refactor wdt codes to use unified type
2023-02-15 12:08:55 +08:00
jingli
28c7620cba
sleep: fix gpio wakeup not working properly in some cases
...
Before this fix, when we call esp_pm_configure after gpio_wakeup_enable,
the configuration of GPIO in sleep state in gpio_wakeup_enable will be
overwritten by esp_pm_configure.
2023-02-11 01:06:18 +00:00
jingli
557a1ed1a5
soc_caps: remove SOC_GPIO_SUPPORT_SLP_SWITCH
...
all esp chips support this feature
2023-02-11 01:06:18 +00:00
Jing Li
409804f673
Merge branch 'feature/support_feature_depend_on_rtc_fast_mem_for_esp32c2' into 'master'
...
esp32c2: support feature(rtc time) depend on rtc fast mem
Closes IDF-3901, IDF-4239, IDF-5053, IDF-5060, and IDF-5131
See merge request espressif/esp-idf!19067
2023-02-07 15:16:01 +08:00
jingli
af9c6e3175
esp32c2/rtc: fix 8md256 as rtc slow clk not work properly during deep sleep
2023-02-02 20:41:11 +08:00
jingli
13b5e625a7
UT/esp32c2: reenable pm and sleep related UT
2023-02-02 20:26:08 +08:00
jingli
2e4f0c7926
UT/esp32c2: reenable rtc clk calibration compensation UT
2023-02-02 20:26:08 +08:00
jingli
f8cc2ec86d
esp32c2: support rtc time feature depend on rtc memory, since c2 does not have rtc memory
2023-02-02 20:25:59 +08:00
jingli
cf244a14f0
bt: fix bt sleep flow hangs in btdm_sleep_clock_sync
...
Bluetooth low power related logic and regs have separate power domain from MAC and BB,
and do not power down during light sleep. If reset when power up MAC and BB in sleep
flow, it may destroy the state of bt low power part.
2022-11-29 14:28:32 +08:00
jingli
0d8ece50fd
Coexistence: remove reset for esp32's modem when PU to avoid SoftAP fail to work in some cases
2022-10-19 17:26:26 +08:00
Jing Li
dd2f861b68
Merge branch 'bugfix/fix_current_leakage_when_hold_digital_io_during_deep_sleep' into 'master'
...
esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep
Closes AUD-4032, IDF-5967, and ESPCS-867
See merge request espressif/esp-idf!20197
2022-10-11 16:46:48 +08:00
jingli
5f60c4345e
esp_hw_support/sleep: remove redundant spinlock protection for deep sleep
2022-10-11 12:11:36 +08:00
jingli
2b8c43df69
hal/gpio_ll: fix digital gpio can not enable hold during deep sleep when force_unhold set(32/s2/s3)
2022-10-11 12:11:36 +08:00
jingli
128d82eaaa
hal/gpio_ll: fix digital gpio can not disable hold during deep sleep
2022-10-11 12:11:36 +08:00
jingli
b903a2253b
esp_hw_support/sleep: fix current leakage when hold digital io during deep sleep
2022-10-11 12:11:28 +08:00
jingli
101c2c6c3e
esp_hw_support/sleep: fix light sleep wakeup flag
...
light sleep wakeup flag is true to indicate the most recent successful wakeup from light sleep,
which means the most recent light sleep occurred successfully and then wakes up by wakeup source
2022-10-09 19:59:24 +08:00
jingli
0a44d09f4f
esp32/rtc: fix xtal unstable in some cases when sleep
...
1. add xtal buf wait to fix high temperature restart issue
2. add min sleep value to fix xtal stop due to too short sleep time issue
2022-10-09 19:58:58 +08:00
jingli
42699637ec
soc: remove unused DR_REG_DPORT_END macro for c2/c3/s2/s3
2022-09-22 11:45:20 +08:00
jingli
cce2af9193
wifi/bt: fix part of modem module not reset when power up
2022-09-22 11:45:20 +08:00
Jing Li
db1bbdafea
Merge branch 'bugfix/fix_c2_xtal_unstable_when_wakeup_from_sleep' into 'master'
...
esp_hw_support/esp32c2/rtc: fix c2 xtal unstable when wakeup from sleep
See merge request espressif/esp-idf!20272
2022-09-21 22:53:59 +08:00
jingli
04530d7112
esp_hw_support/esp32c2/rtc: take a safer xtal buf wait
2022-09-21 12:27:26 +00:00
jingli
60c1811433
esp_hw_support/clk_cali: remove redundant check for cali value
2022-09-21 03:03:25 +00:00
jingli
05a2fbe810
esp_hw_support/clk_cali: fix xtal32k error detect
2022-09-21 03:03:25 +00:00
Jing Li
b51d4dfacd
Merge branch 'bugfix/fix_clk_cali_logic_for_c2' into 'master'
...
esp32c2/clk_cali: fix rtc slow clk cali logic
See merge request espressif/esp-idf!19553
2022-08-17 11:11:19 +08:00
jingli
c70094f64a
esp32c2/clk_cali: fix rtc slow clk cali logic
2022-08-15 16:31:54 +08:00
Jing Li
c25c254666
Merge branch 'feature/further_support_esp32c2_sleep' into 'master'
...
esp32c2/sleep: further support sleep for esp32c2 with 26MHz XTAL
Closes IDF-5544
See merge request espressif/esp-idf!19017
2022-08-08 13:26:15 +08:00
jingli
209cb1f8ee
docs: fix xtal kconfig related description
2022-08-05 19:12:29 +08:00
jingli
fcbaac4d42
examples/wifi/power_save: fix project kconfig file
2022-08-05 19:12:29 +08:00
jingli
ee3423834e
kconfig: refactor xtal freq kconfig to common configuration item
2022-08-05 19:12:29 +08:00
jingli
a61abcc22e
examples/system/light_sleep: fix uart garbled output
2022-08-05 19:10:53 +08:00
jingli
ee17949e39
examples/system/light_sleep: fix baudrate for uart wakeup source
2022-08-05 19:10:53 +08:00
Jing Li
2c41aae1e7
Merge branch 'bugfix/temp_fix_clk8m_and_cpu_cannot_pd_at_the_same_time' into 'master'
...
esp_hw_support/sleep: fix cannot pd cpu and rc fast at the same time during light sleep
Closes WIFI-4492 and IDF-5473
See merge request espressif/esp-idf!19196
2022-07-28 14:45:28 +08:00
jingli
7211b0a89a
esp_hw_support/sleep: fix cannot pd cpu and rc fast at the same time during light sleep
...
Since cpu retention dma use rc fast as clk source, so rc_fast_digi
will be enabled when we config to pd cpu. And cpu retention does not
need rc fast keep on during light sleep. So, if we use rc_fast_digi
to determine whether rc fast can be powered down, then cpu and and
rc fast cannot pd at the same time.
2022-07-28 11:10:58 +08:00
Jing Li
66395a5c00
system/sleep: further fix spi flash/ram current leakage
2022-07-21 19:14:26 +08:00
Jing Li
9fd5e15b83
Merge branch 'docs/improve_docs_for_flash_power_down' into 'master'
...
docs: improve docs about flash power-down
Closes IDF-5258
See merge request espressif/esp-idf!18696
2022-07-06 11:02:54 +08:00
jingli
d3c6fff25a
improve docs about flash power-down
2022-07-05 19:25:21 +08:00
Jing Li
6c8dc275a1
Merge branch 'refactor/improve_flash_power_down_logic' into 'master'
...
sleep: improve flash power down logic
See merge request espressif/esp-idf!17901
2022-06-20 11:05:58 +08:00
jingli
3a908c66e6
use API instead of Kconfig
2022-06-17 19:57:47 +08:00
jingli
824e0ddca8
improve flash power down logic
2022-06-17 18:01:43 +08:00
Jing Li
074c708cf0
Merge branch 'refactor/simplify_code_for_time_compensation_when_sleep' into 'master'
...
system/sleep: simplify code for time compensation when wakeup from light sleep
See merge request espressif/esp-idf!18491
2022-06-15 14:38:40 +08:00
jingli
30e7af2ffb
system/sleep: simplify code for time compensation when wakeup from light sleep
2022-06-14 14:49:26 +08:00
jingli
93a5087e58
add PM related soc caps about power down rtc slow/fast mem
...
Supporting rtc slow/fast mem does not mean supporting
rtc slow/fast mem power down.
2022-05-30 15:26:50 +08:00
jingli
1781ce3b98
further fix rtc attr for esp32c2
2022-05-28 08:52:55 +00:00
jingli
84628ba883
fix rtc attr for esp32c2
2022-05-28 08:52:55 +00:00
jingli
ae127b04cd
fix ld err since esp32c2 do not suport config gpio of spi flash via efuse
2022-05-27 19:29:38 +08:00
jingli
e70c434780
fix compile error for esp32c2, since esp32c2 no longer support RTC fast mem
2022-05-27 19:29:38 +08:00
jingli
27edaaef91
add wakeup enable for bt
2022-05-27 19:29:38 +08:00
jingli
db102da7c6
update sleep params for esp32c2
2022-05-27 19:29:38 +08:00
jingli
9eec740a16
enable external 32k osc for esp32c2
2022-05-27 19:29:29 +08:00
jingli
efd5376fc0
fix power_save demo
2022-05-27 18:37:11 +08:00
Jing Li
ac0d16cdc8
Merge branch 'bugfix/fix_cannot_lslp_again_after_ulp_wakeup' into 'master'
...
sleep: fix cannot lightsleep again after a wakeup from ULP
Closes IDFGH-4396
See merge request espressif/esp-idf!17970
2022-05-13 22:25:23 +08:00
jingli
a85e187ea7
remove wrong function rtc_cntl_ll_ulp_wakeup_enable for esp32s2 and esp32s3
2022-05-12 21:51:21 +08:00
jingli
abb6bb1181
esp_hw_support/sleep: fix cannot enable sleep reject in some cases
...
When enable sleep reject before this fix, we have two limitations:
1. it must be light sleep
2. RTC GPIO wakeup source must be set
We require light sleep because `esp_deep_sleep_start` function has
been declared with "noreturn" attribute, So developers don't expect
that this function may return (due to an error or a sleep reject).
But the requirement for RTC GPIO wakeup source is not reasonable for
all chips. This requirement exists because ESP32 only supports RTC GPIO
and SDIO sleep reject sources. But later chips support all sleep reject
sources.
This fix brings the following changes:
for ESP32: RTC GPIO and SDIO sleep reject sources can be enabled
when corresponding wakeup source is set.
for later chips: all sleep reject sources can be enabled when
corresponding wakeup source is set.
2022-05-12 19:09:57 +08:00
jingli
ddcc5bfe38
improve ulp riscv test case
...
Add second sleep and wakeup test in test case `ULP-RISC-V is able to wakeup main CPU from light sleep`
2022-05-12 19:08:57 +08:00
jingli
dd414b9305
esp_hw_support/sleep: fix cannot lightsleep again after a wakeup from ULP
...
Since ulp wakeup signal are connected to ulp int raw(except esp32), we
need to clear ulp int raw before sleep when ulp wakeup enabled. Otherwise,
if the ulp int raw is already set, chip will not sleep properly.
Closes https://github.com/espressif/esp-idf/issues/6229
2022-05-12 17:57:08 +08:00
Jing Li
e503ebf5f9
Merge branch 'bugfix/_rtc_slow_length_incorrectly_optimized' into 'master'
...
sleep_power_domain: fix _rtc_slow_length being incorrectly optimized by compiler
Closes IDFGH-4705
See merge request espressif/esp-idf!17887
2022-04-26 11:29:02 +08:00
jingli
f3ea7f8838
fix _rtc_slow_length being incorrectly optimized by compiler
2022-04-24 23:13:48 +08:00
jingli
252a4eceb4
fix rtc mem load err(since the voltage of rtc regulator is too low)
2022-04-21 23:38:16 +08:00
Jing Li
0a64094a60
Merge branch 'bugfix/a_small_fix_for_multi_heap' into 'master'
...
Heap: fix wrong arg passed to assert_valid_block
See merge request espressif/esp-idf!17274
2022-02-25 05:09:13 +00:00
jingli
6c25dd4ec1
fix param passed to assert_valid_block, should be block not ptr
2022-02-24 13:50:16 +08:00
Jing Li
a0e794b2ca
heap: adjust the order of RTC memory heap caps and regions
2021-12-29 08:49:42 +00:00
jingli
0ea1825f64
reduce bootup time when using usb-serial-jtag
2021-11-29 17:21:11 +08:00
Jing Li
caa9e323cc
Merge branch 'bugfix/fix_ota_crash' into 'master'
...
fix: app crash when OTA because the OTA task's stack is in rtc fast memory
See merge request espressif/esp-idf!15720
2021-11-09 08:45:01 +00:00
jingli
efbc980d4f
fix: app crash when OTA because the OTA task's stack is in rtc fast memory
2021-11-03 20:56:42 +08:00