Commit Graph

132 Commits

Author SHA1 Message Date
Lou Tianhao
925da11115 feat(PowerManagement/lightsleep): Support ESP_SLEEP_EVENT_CALLBACKS 2023-11-02 11:05:38 +00:00
Lou Tianhao
15f66392d3 feat(PowerManagement/lightsleep): Support PM_LIGHT_SLEEP_CALLBACKS 2023-11-02 11:05:38 +00:00
liuning
b439f7568c sleep_modem: split esp_wifi_internal_mac_sleep_configure, add lock for pm functions 2023-09-20 19:49:54 +08:00
KonstantinKondrashov
c93310956a refactor(esp_timer): Remove duplicate code and move it to a common file 2023-08-22 17:22:24 +08:00
wuzhenghui
5f6f20ea30 fix(esp_pm): fix bad apb_max_freq for 26mhz esp32c2 2023-07-25 13:54:24 +08:00
wuzhenghui
e0e4642ff8 Revert "fix(esp_pm): Constrains the minimum frequency of APB_MAX when the modem is working"
This reverts commit 9158cba846.
2023-07-25 13:51:37 +08:00
Jiang Jiang Jian
d84e6c3dda Merge branch 'bugfix/fix_esp32c2_wifi_works_on_too_low_apb_clk_v5.1' into 'release/v5.1'
fix(esp_pm): fix esp32c2 modem works on too low apb clk (backport v5.1)

See merge request espressif/esp-idf!24811
2023-07-15 12:18:09 +08:00
wuzhenghui
9158cba846 fix(esp_pm): Constrains the minimum frequency of APB_MAX when the modem is working 2023-07-15 01:56:55 +08:00
wuzhenghui
ec35c2ab60 fix(esp_pm): put vddsdio configure api always in iram if pd_flash is enabled
- Put vddsdio configure api always in iram if pd_flash is enabled to ensure access flash at flash unavailable time
2023-07-14 17:48:27 +08:00
Lou Tianhao
af5a2fe4fd bugfix: update pm trace io num for esp32h2 2023-07-11 15:06:01 +08:00
Lou Tianhao
2c9a2a76f7 example: bringup light sleep example for esp32h2 2023-07-11 13:58:08 +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
29f52acbfe Merge branch 'bugfix/increase_pm_dump_time_field_length_v5.1' into 'release/v5.1'
Power Management: increase pm_dump time field width (backport v5.1)

See merge request espressif/esp-idf!24450
2023-07-04 12:16:38 +08:00
wuzhenghui
171544ded4 bugfix: increase pm_dump time field width
Closes https://github.com/espressif/esp-idf/issues/11704
2023-06-28 14:37:27 +08:00
wuzhenghui
96a1de0af8 bugfix: use avaliable gpio for esp32s3 pm_trace 2023-06-19 10:21:46 +08:00
wuzhenghui
ad1605a464 bugfix: fix esp32s3 psram access failed when dfs is enabled 2023-06-19 10:21:42 +08:00
wuzhenghui
eccb5318f9 Kconfig: add more help info for pm related options help 2023-05-19 13:51:29 +08:00
wuzhenghui
1df2dcc9fe bugfix: treat too short sleep duration as sleep reject by software 2023-05-19 13:51:24 +08:00
Marius Vikhammer
38570b052b pm: fix invalid trace pins for C6 and H2 2023-05-04 14:42:17 +08:00
Marius Vikhammer
3724bf6256 ci: fixed test apps overriding pytest configs 2023-04-27 14:29:06 +08:00
Jiang Jiang Jian
46511c8fd1 Merge branch 'bugfix/fix_wrong_frame_ptr_after_wake_restore_backportv5.1' into 'release/v5.1'
bugfix: fix wrong RvCoreCriticalSleepFrame ptr value after wake restore (backport v5.1)

See merge request espressif/esp-idf!23473
2023-04-27 10:45:04 +08:00
laokaiyao
954a6a2cff esp32h4: removed esp32h4 related codes 2023-04-26 18:53:12 +08:00
laokaiyao
cae47ce37e esp32h4: removed esp32h4 related files 2023-04-26 18:53:12 +08:00
wuzhenghui
46deef434f esp_pm: check sleep retention frame integrity in ci UT 2023-04-26 17:36:46 +08:00
KonstantinKondrashov
024e201097 esp_timer: Adds IRAM_ATTR for esp_timer_restart and esp_timer_is_active
Closes https://github.com/espressif/esp-idf/issues/10522
Closes https://github.com/espressif/esp-idf/issues/10859
2023-04-20 15:14:52 +08:00
Li Shuai
94ebda298a fix the issue of failure of receiving beacons in modem state caused by enabling light sleep in wifi min/max modem sleep mode 2023-04-07 05:57:15 +00:00
wuzhenghui
fcf0498da8 esp_pm: update doc for PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP 2023-03-30 10:33:47 +08:00
Marius Vikhammer
0be8e03907 ci: update test apps to use run_all_single_board_cases 2023-03-10 14:27:09 +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
jingli
8f415a7f44 refactor: power management component use unified esp_pm_config_t 2023-02-23 11:36:07 +08:00
Wu Zheng Hui
113132e4f4 Merge branch 'feature/bringup_esp32c6_light_sleep_pd_top' into 'master'
esp32c6: support light_sleep (Stage 2: support Digital Peripheral power down)

See merge request espressif/esp-idf!22197
2023-02-15 16:17:53 +08:00
fuzhibo@espressif.com
e252748d92 periph retention: runtime critical digital peripherals sleep retention support 2023-02-15 11:46:40 +08:00
Cao Sen Miao
fd3e0b0b18 esp32h2(ci): enable target test 2023-02-15 10:20:43 +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
jingli
13b5e625a7 UT/esp32c2: reenable pm and sleep related UT 2023-02-02 20:26:08 +08:00
Li Shuai
68594abe05 sleep: light sleep supported for esp32c6 2023-01-31 22:12:58 +08:00
wuzhenghui
a5467f42a0 codeclean: only S series chip VDDSDIO is configurable 2023-01-31 22:12:58 +08:00
Li Shuai
1c39d64f95 cpu retention: refactor cpu retention and add cpu retention versions option in soc caps 2023-01-31 22:12:50 +08:00
Li Shuai
0f6cda1dd3 Power Management: support DFS 2023-01-31 22:12:27 +08:00
Cao Sen Miao
94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Darian Leung
412b09abf4 esp_pm: Migrate unit tests to test app
This commit migrates the esp_pm unit tests from the legacy unit test to a
stand alone test app. The following CI configurations are provided

- Default: Automatic light sleep with mostly default configurations
- Options: Enables all of the optional esp_pm features
- Limits: Limit tests esp_pm
2023-01-10 15:43:33 +08:00
Cao Sen Miao
4713a9a7f2 ESP32H2: Introduce new chip target esp32h2, hello_world example supported 2022-12-29 12:29:14 +08:00
Darian Leung
2f504695e4 esp_pm: Fix string formatting type errors
This commit fixes a string formatting error in esp_pm with CONFIG_PM_PROFILING
is enabled.

Closes https://github.com/espressif/esp-idf/issues/10347
2022-12-21 15:50:12 +08:00
Darian Leung
13cec981df esp_pm: Fix build error when CONFIG_PM_PROFILING is enabled 2022-12-21 15:50:12 +08:00
laokaiyao
8677216576 esp32h2: renaming esp32h2 to esp32h4 2022-11-08 17:05:33 +08:00
Song Ruo Jing
2557e24a28 ci: Enable esp32c6 example, test_apps, and unit tests CI build stage 2022-11-01 11:23:21 +08:00