Commit Graph

168 Commits

Author SHA1 Message Date
Jiang Jiang Jian
b638cb3335 Merge branch 'bringup/esp32h2_deep_sleep_for_rebase_v5.1' into 'release/v5.1'
esp32h2: support deep_sleep(backport v5.1)

See merge request espressif/esp-idf!24962
2023-08-23 20:12:01 +08:00
wuzhenghui
94d129df76 fix(light_sleep): save vddsdio_config before lightsleep 2023-08-04 12:04:51 +08:00
Lou Tianhao
badef66538 change(pm/deepsleep): rewrite the option all low as any low for esp32s2, esp32s3, esp32c6 and esp32h2 2023-08-03 16:46:55 +08:00
Lou Tianhao
7c1e797008 change(pm/deepsleep): remove disable rtcio before hold it when ext1 wakeup 2023-08-03 16:46:55 +08:00
Lou Tianhao
b27e57db7b feat(pm/deepsleep): Support EXT1 wakeup for esp32h2 deep_sleep 2023-08-03 16:46:55 +08:00
Song Ruo Jing
6768f098dc change(driver/rtcio): Describe RTCIO CAPS with more accurate note 2023-08-03 16:46:55 +08:00
Lou Tianhao
4bc5e24f82 feat(pm/deepsleep): Support deep_sleep example and deep_sleep_wake_stub example for esp32h2 2023-08-03 16:46:54 +08:00
wuzhenghui
1acc14bf72 fix(lightsleep): suspend cache before goto sleep to avoid cache load wrong data after spi io isolation 2023-07-31 14:52:03 +08:00
wuzhenghui
f69ea24d15 fix(esp_pm): wait spi bus idle before hold CS pin
- Wait for spi bus idle before holding CS pin to prevent hold selected state during sleep
2023-07-14 17:48:20 +08:00
Lou Tianhao
2c9a2a76f7 example: bringup light sleep example for esp32h2 2023-07-11 13:58:08 +08:00
Lou Tianhao
2abfeb19c8 Power Management: change the IO hold interface for esp32c6 2023-07-11 12:04:20 +08:00
Lou Tianhao
c39a0cc0b5 Power Management: fix REGDMA power issue when TOP domain powered down during light sleep for esp32h2 2023-07-11 12:03:36 +08:00
Lou Tianhao
c12d7f5463 Power Management: support CPU powered down in light sleep for esp32h2 2023-07-11 12:03:02 +08:00
Lou Tianhao
356fa3ab4b Power Management: support DFS and PMU feature for esp32h2 2023-07-11 12:02:39 +08:00
wuzhenghui
94a10372cc feature: skip console uart flush and sleep when estimated uart flush time exceeds the sleep duration to avoid rtos tick jump failed 2023-07-04 16:14:20 +08:00
Jiang Jiang Jian
b0717c6852 Merge branch 'feature/enable_sleep_reject_for_deep_sleep_v5.1' into 'release/v5.1'
sleep: enable sleep reject when entering deepsleep (backport v5.1)

See merge request espressif/esp-idf!24440
2023-07-04 12:16:11 +08:00
Jiang Jiang Jian
27a5a6fcae Merge branch 'bugfix/fix_esp32s3_psram_access_failed_in_dfs_v5.1' into 'release/v5.1'
esp_pm: fix esp32s3 psram access failed when dfs is enabled (backport v5.1)

See merge request espressif/esp-idf!24202
2023-07-04 12:06:42 +08:00
Jiang Jiang Jian
4647045388 Merge branch 'bugfix/support_esp326_xtal_xpd_v5.1' into 'release/v5.1'
esp32c6: support xtal xpd (backport v5.1)

See merge request espressif/esp-idf!24253
2023-07-04 12:04:51 +08:00
wuzhenghui
1c12743d44 sleep: enable sleep reject when entering deep sleep and return err if sleep request is rejected 2023-06-28 13:55:16 +08:00
KonstantinKondrashov
6d0d2366f7 esp_hw_support: Fix invalid system time if s_esp_rtc_time_us & s_rtc_last_ticks were moved around
The commit fixes the case:
If variables in RTC RAM have been moved around by the linker,
they will be filled with garbage data. Any reset other than OTA would work fine
because the variables would still be initialized from the initial bootup.

So now system time will be valid even after OTA.

Closes https://github.com/espressif/esp-idf/issues/9448
2023-06-26 18:12:30 +08:00
wuzhenghui
ad1605a464 bugfix: fix esp32s3 psram access failed when dfs is enabled 2023-06-19 10:21:42 +08:00
wuzhenghui
8aa7e85e31 sleep: Fix domain power down status cannot get updated accordingly with the allowance of retention in runtime 2023-06-15 10:26:59 +08:00
wuzhenghui
03832dbd5e bugfix: fix some flash funcs called in sleep wakeup process 2023-06-02 02:53:51 +00:00
wuzhenghui
1df2dcc9fe bugfix: treat too short sleep duration as sleep reject by software 2023-05-19 13:51:24 +08:00
wuzhenghui
ed076c2bc8 bugfix: move adc_oneshot_power_acquire/release to adc_oneshot_read
Closes https://github.com/espressif/esp-idf/issues/10595
Closes https://github.com/espressif/esp-idf/issues/11386
2023-05-18 20:08:47 +08:00
Jiang Jiang Jian
5b4c95c50f Merge branch 'bugfix/update_esp32c6eco1_sleep_fosc_cal_cycles_backport_v5.1' into 'release/v5.1'
bugfix: update esp32c6 eco1 fosc calibration cycles during sleep(backport v5.1)

See merge request espressif/esp-idf!23490
2023-05-18 19:52:05 +08:00
Marius Vikhammer
45fd8feba3 ulp: add support for using lp timer with lp core on C6 2023-05-10 09:39:24 +08:00
wuzhenghui
123da6baa7 bugfix: fix esp32c6eco1 fosc calibration cycles during sleep 2023-05-04 11:47:54 +08:00
Marius Vikhammer
0bac174058 ulp: added sleep support for lp core
Added support for running LP core while hp core sleeps, as well
as waking up the hp core.
2023-04-27 09:51:41 +08:00
laokaiyao
804a9ea1f6 esp32h4: remove esp32h4 target from peripherals 2023-04-26 18:53:10 +08:00
wuzhenghui
bd80be3b83 bugfix: fix deepsleep saradc leakage 2023-03-31 15:49:43 +08:00
wuzhenghui
c50e5d45a3 feature: add deep sleep prepare callback hook 2023-03-17 19:45:56 +08:00
wuzhenghui
acecfe4ba5 bugfix: Slow clock power domain management has been maintained in pd_flags 2023-03-17 19:42:01 +08:00
Jiang Jiang Jian
73c06b5039 Merge branch 'bugfix/sleep_current_issue_caused_by_sar_adc' into 'master'
sleep current issue caused by sar adc

Closes IDF-6111 and WIFI-4370

See merge request espressif/esp-idf!22769
2023-03-17 17:32:59 +08:00
Jiang Jiang Jian
3f3a2cf560 Merge branch 'bugfix/fix_systimer_stall_issue_in_lightsleep' into 'master'
rtc_sleep: workaround systimer stall issue during sleep on ESP32C3

See merge request espressif/esp-idf!22739
2023-03-17 14:16:36 +08:00
Li Shuai
a25ce78392 sleep: fix sleep current issue caused by sar adc 2023-03-17 13:06:39 +08:00
liuning
14ca81f03f rtc_sleep: workaround systimer stall issue during lightsleep on ESP32C3 2023-03-15 20:33:03 +08:00
wanlei
d0c70aa7ac mspi: turn down freq to fix crash when sleep 2023-03-15 11:26:34 +08:00
Jiang Jiang Jian
abc43d8e94 Merge branch 'bugfix/some_small_fix_for_sleep' into 'master'
esp_hw_support/sleep: update soc caps for chips that support power down modem

Closes WIFI-4424

See merge request espressif/esp-idf!20198
2023-03-13 10:47:26 +08:00
Wu Zheng Hui
c8364fb921 Merge branch 'feature/add_wakeup_cost_info_to_dslp_wakestub_example' into 'master'
feature: add wake up time cost info to deep_sleep_wake_stub example

See merge request espressif/esp-idf!22683
2023-03-11 15:11:53 +08:00
C.S.M
b0b99a9a1b Merge branch 'feature/flash_support_h2' into 'master'
spi_flash: Allow clock frequency up to 64M on ESP32H2

See merge request espressif/esp-idf!22476
2023-03-10 19:13:03 +08:00
wuzhenghui
8820efe2e1 feature: add wake up time cost info to deep_sleep_wake_stub example 2023-03-10 16:37:02 +08:00
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
Cao Sen Miao
bc655a6890 spi_flash: Allow clock frequency up to 64M, and make it default on ESP32H2 2023-03-10 11:39:53 +08:00
Marius Vikhammer
284dabf17f ulp: added basic support for building and running a binary in the lp core 2023-03-09 10:12:23 +08:00
wuzhenghui
fd7e8abd73 workaround: bypass esp32c6 flash powedown sleep time adjustment 2023-03-04 00:17:40 +08:00
wuzhenghui
45c2900ec0 resolve WIFI-5150
bugfix: Don't hold CS pin when VDDSDIO is power down to reduce the base current
2023-03-04 00:17:40 +08:00
Li Shuai
1a10eabe41 Power Management: refactor the configuration of each module in sleep mode 2023-03-04 00:17:40 +08:00
Li Shuai
200f69e6eb auto beacon: support esp32c6 autobeacon (advanced DTIM sleep feature)
modem retention: Support esp32c6 wifi MAC and baseband sleep retention

sleep_modem: wifi MAC modem wakeup protect in modem state before PMU trigger sleep enable request

sleep modem: provide a interface to get whether the Modem power domain is allowed to power off during sleep

add i2c_ana master header file to project

auto beacon: release PMU's lock on root clock source (it is locked in the PLL)

wifi receiving beacon frame in PMU modem state strongly depends on the BBPLL
clock, PMU will forcibly lock the root clock source as PLL, when the root
clock source of the software system is selected as PLL, we need to release
the root clock source locking.

When it is judged that the PLL is locked by PMU after wakeing up from the PMU
modem state, switch the root clock source to the PLL in the sleep process (a
critical section).

auto beacon: fix the failure to receive broadcast/multicast frames in modem state

When the multicast field in the beacon frame received in the PMU modem state is
True, the PMU switches to the PMU active state (the PMU waits for the HP LDO to
stabilize and then restores the MAC context) and starts to receive
broadcast/multicast frames (Broadcast/Multicast frames will be sent after a
minimum delay of 48 us after the beacon frame), because the PMU waits for the HP
LDO to stabilize too long (~154 us), which will cause broadcast/multicast frame
reception to be missed.

auto beacon: select the PLL clock source as the REGDMA backup clock source when the PMU switches to ACTIVE from MODEM state

update Digital Peripheral (M2A switch) REGDMA restore time parameter

auto beacon: fix the issue that only channel 1 can connect to AP in modem state
2023-03-04 00:17:40 +08:00
Li Shuai
93c02fed3b light sleep: add modem power domain and power down the modem power domain during sleep 2023-03-04 00:17:40 +08:00