Commit Graph
100 Commits
Author SHA1 Message Date
wuzhenghui 17f49a9b79 feat(example): test power_save pd_top config for esp32c5 & esp32c61 2026-05-12 10:13:54 +08:00
wuzhenghui 68eeb5606d feat(example): implement power management example for ESP chips 2026-05-12 10:13:50 +08:00
wuzhenghui c9c849dd85 fix(esp_hw_support): fix core1 branch predictor access ext mem after cache disabled by core0 2026-05-11 17:40:04 +08:00
wuzhenghui 2ed383e8dd fix(esp_hw_support): increase test rounds for in esp_random() test 2026-05-11 14:25:26 +08:00
wuzhenghui f31b08dbfc feat(esp_hw_support): add sleep_reentent UT case back 2026-04-07 10:31:39 +08:00
wuzhenghui 909cc41d9a change(esp_rom): wdt_hal_config_stage fixed in rom_version: esp32p4-eco7-20260109 2026-03-31 16:00:01 +08:00
wuzhenghui 689e117be5 fix(esp_hw_support): rename tcm to spm in sleep_fpu_asm.S 2026-03-20 10:54:49 +08:00
wuzhenghui cb0694e5dc feat(doc): add docs for sleep console UART handling strategies 2026-03-20 10:51:40 +08:00
wuzhenghui de104628a0 fix(esp_hw_support): disable esp32eco3 livelock workaround to sleep process 2026-03-20 10:51:40 +08:00
wuzhenghui 66f24377fc refactor(esp_system): ind_wdt.c refactor & code clean
1. introduce reconfigure_ticks function for wdt configuration
 2. move esp32eco3 cache livelock workaround code out from int_wdt.c
2026-03-20 10:51:39 +08:00
wuzhenghui 58fbca770a feat(esp_hw_support): add RV FP test cases 2026-03-12 11:07:24 +08:00
wuzhenghui 659dbbe5f8 feat(esp_hw_support): support esp32p4 & esp32h4 RV FPU context retention in pd_cpu sleep 2026-03-12 11:06:43 +08:00
wuzhenghui 9ed0d4bc4e fix(esp_rom): sync spi_flash_disable/enable_cache patches to rom implementation 2026-03-10 14:14:01 +08:00
wuzhenghui ee69886fee fix(esp_hw_support): fix sleep exception if CONFIG_SPI_FLASH_ROM_IMPL enabled 2026-03-10 14:13:57 +08:00
wuzhenghui c6d1bd0f85 feat(esp_driver_i2s): support clk tree source management across I2S components 2026-03-10 14:11:29 +08:00
wuzhenghui 15345f9d8c feat(esp_hw_support): support clock tree management for esp32p4 2026-03-10 14:10:36 +08:00
wuzhenghui 0127ce617d fix(esp_hw_support): fix esp_sleep_enable_gpio_wakeup_on_hp_periph_powerdown bad logic 2026-03-05 11:29:37 +08:00
wuzhenghui 41f7c7e889 fix(esp_hw_support): make esp_deep_sleep_enable_gpio_wakeup available to PD_TOP lightsleep 2026-03-05 11:29:37 +08:00
wuzhenghui b219910a95 fix(example): fix uninitialized gpio/rtcio in deepsleep example 2026-03-05 11:29:37 +08:00
wuzhenghui 64fd311124 feat(pm): add docs with time compensation mechanism 2026-02-13 20:16:02 +08:00
wuzhenghui 5a5ef9fb08 feat(pm): add light sleep tick overflow protection configuration 2026-02-13 20:15:58 +08:00
wuzhenghui c46c14683f docs(esp_pm): add PM lock debugging and profiling documentation 2026-02-13 19:49:05 +08:00
wuzhenghui 257b7033ea feat(esp_pm): add APIs to get PM lock statistics
Add new APIs to retrieve statistics about power management locks:
- esp_pm_get_lock_stats(): Get statistics for all PM lock types
- esp_pm_get_lock_instance_stats(): Get statistics for a single PM lock instance

Also update the test cases to verify the new functionality and
enable PM profiling in test configuration.

Closes https://github.com/espressif/esp-idf/issues/17770
2026-02-13 19:49:01 +08:00
wuzhenghui 0c073a1284 fix(esp_driver_uart): enable pad sleep clock in uart_wakeup_setup function 2026-02-11 15:31:21 +08:00
wuzhenghui 326c8696db fix(esp_hw_support): fix p4 mspi io asymmetric holding 2026-02-10 16:11:56 +08:00
wuzhenghui 3c44b8fb85 change(esp_hw_support): deprecate esp_deep_sleep_enable_gpio_wakeup API
rename esp_deep_sleep_enable_gpio_wakeup to esp_sleep_enable_gpio_wakeup_on_hp_periph_powerdown
rename esp_deepsleep_gpio_wake_up_mode_t to esp_sleep_gpio_wake_up_mode_t
2026-02-01 12:16:24 +08:00
wuzhenghui fc7cf9967a change(hal): deprecate 'gpio deep sleep wakeup' naming in hal
rename `gpio_hal_deepsleep_wakeup_enable/disable` to
       `gpio_hal_wakeup_enable/disable_on_hp_periph_powerdown_sleep`

rename `gpio_hal_deepsleep_wakeup_is_enabled` to
       `gpio_hal_wakeup_is_enabled_on_hp_periph_powerdown_sleep`

rename `gpio_ll_deepsleep_wakeup_enable/disable` to
       `gpio_ll_wakeup_enable/disable_on_hp_periph_powerdown_sleep`
2026-02-01 12:16:24 +08:00
wuzhenghui 1e6f39c685 change(esp_driver_gpio): deprecate gpio_deep_sleep_wakeup_enable/disable API
rename gpio_deep_sleep_wakeup_enable to gpio_wakeup_enable_on_hp_periph_powerdown_sleep
rename gpio_deep_sleep_wakeup_disable to gpio_wakeup_disable_on_hp_periph_powerdown_sleep
rename GPIO_IS_DEEP_SLEEP_WAKEUP_VALID_GPIO to GPIO_IS_HP_PERIPH_PD_WAKEUP_VALID_IO
2026-02-01 12:16:24 +08:00
wuzhenghui 85601ccb69 change(soc): rename peripheral powerdowned sleep wakeable IO soc_caps
rename SOC_GPIO_DEEP_SLEEP_WAKE_VALID_GPIO_MASK to SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_MASK
rename SOC_GPIO_DEEP_SLEEP_WAKE_SUPPORTED_PIN_CNT to SOC_GPIO_HP_PERIPH_PD_SLEEP_WAKEABLE_PIN_CNT
rename SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP to SOC_GPIO_SUPPORT_HP_PERIPH_PD_SLEEP_WAKEUP
2026-02-01 12:16:20 +08:00
wuzhenghui 15be2a0176 fix(esp_hw_support): fix rtc clock test case 2026-01-31 22:31:36 +08:00
wuzhenghui 2d8c6ed6b4 change(esp_hal_rtc_timer): unify lp_timer/rtc_timer naming to RTC_TIMER 2026-01-31 22:31:34 +08:00
wuzhenghui 12b9fb6549 feat(esp_hal_rtc_timer): introduce new RTC timer component and refactor existing timer functions 2026-01-31 22:29:20 +08:00
wuzhenghui 57f1346352 feat(example): add cache safe check for wifi powersave example CI 2026-01-31 13:35:53 +08:00
wuzhenghui 0161304269 feat(esp_hw_support): hold MSPI pins in pd_top lightsleep 2026-01-30 15:30:59 +08:00
wuzhenghui ddec7eae60 fix(bootloader): fix bootloader bad spi pin drv config and clear all wpu/wpd by default 2026-01-30 15:30:59 +08:00
wuzhenghui 5981b0ea4e feat(esp_hw_support): set USB2.0 phy to suspend mode at startup for active power saving 2026-01-30 15:30:58 +08:00
wuzhenghui fc9c0984b1 feat(esp_hw_support): esp32p4 rev3.1 no need MSPI workaround 2026-01-30 15:30:58 +08:00
wuzhenghui 8e67e95815 feat(esp_hw_support): implement CHECK_ENABLE operations for modem clock control functions 2026-01-30 15:30:34 +08:00
wuzhenghui 046f837245 feat(esp_hw_support): add ESP_MODEM_CLOCK_ENABLE_CHECKING config option 2026-01-30 15:30:34 +08:00
wuzhenghui a4c48831c5 fix: add reference count control for modem clock devices 2026-01-30 15:30:34 +08:00
wuzhenghui 8a914c6f1b fix(esp_hw_support): revert cache writeback/invalidate in wakeup process 2026-01-21 17:18:17 +08:00
wuzhenghui a0e94d7f24 feat(esp_hw_support): support esp32p4 ADC_TESEN_MONITOR mode 2026-01-16 18:01:53 +08:00
wuzhenghui 1fe14b55b8 fix(soc): fix LP_UART clock source definitions to FOSC instead of LP_FAST 2026-01-16 18:01:52 +08:00
wuzhenghui af70253507 feat(esp_hal_pmu): move pau_hal driver into esp_hal_pmu component 2026-01-12 14:48:52 +08:00
wuzhenghui de5e57d296 feat(esp_hal_pmu): graduate pmu/rtc_cntl hal driver into a new component: esp_hal_pmu 2026-01-12 14:48:49 +08:00
wuzhenghui c2194989e2 fix(esp_hw_support): update DEFAULT_SLEEP_OUT_OVERHEAD_US for esp32c61 2026-01-09 14:36:09 +08:00
wuzhenghui 8219f217c2 feat(esp_hw_support): add esp_random() bit balance 0/1 ratio with sleep test case 2026-01-09 11:17:19 +08:00
wuzhenghui 0ea4a22ce9 fix(esp_hw_support): fix RNG to LP peri domain dependency on C5 2026-01-09 11:17:15 +08:00
wuzhenghui c17787722c docs(esp_system): add detailed RTC memory layout documentation 2026-01-09 11:15:15 +08:00
wuzhenghui 9a20ef85f5 fix(esp_system): fix rom secure boot fast wake feature for c5/c6/h2/h21 2026-01-09 11:15:12 +08:00
wuzhenghui 54cefb67cb fix(esp_hw_support): fix TOP domain to CNNT domian dependency 2026-01-09 11:12:59 +08:00
wuzhenghui 711146de9f change(esp_pm): skip vTaskStepTick if lightsleep request is rejected 2026-01-09 11:09:03 +08:00
wuzhenghui a7f002c37e feat(esp_hw_support): add test case for esp_sleep_set_uart_handling 2026-01-09 11:09:03 +08:00
wuzhenghui da0ae0e56d feat(esp_hw_support): support configurable uarts behavior before sleep 2026-01-09 11:09:01 +08:00
wuzhenghui 01ec965252 fix(esp_system): fix mspi write stuck after cpu/digital reset on c5/c61 2025-12-10 12:21:55 +08:00
wuzhenghui 3136994010 feat(esp_hw_support): re-enable P4 sleep wakeup tests for rev3.0 2025-11-26 17:24:21 +08:00
wuzhenghui 16f730c1cf feat(esp_hw_support): re-enable P4 sleep wakeup tests for rev3.0 2025-11-26 17:23:25 +08:00
wuzhenghui baa138bf2a test(esp_pm): add test case for USJ printing performance during wake-up
Add a new test case to verify that USJ printing doesn't block CPU on chip
wake-up from light sleep. The test measures the average time per print
operation and ensures it's below 5000 microseconds.
2025-11-14 17:10:40 +08:00
wuzhenghui 93d9104e29 fix(esp_driver_usb_serial_jtag): check USJ accessibility before read/write
Add connection checks to usb_serial_jtag_write and usb_serial_jtag_read
functions to return -EIO error code when the USB Serial JTAG is not
connected.
2025-11-14 17:10:31 +08:00
wuzhenghui 9d2e941071 fix(esp_hw_support): add dependency of the TOP domain to the RTC_PERIPH domain for esp32c6 2025-11-14 16:38:36 +08:00
wuzhenghui 5137558961 feat(esp_hw_support): support unicore auto clock gating for esp32p4 rev3+ 2025-11-14 14:06:23 +08:00
wuzhenghui a7063c9884 fix(esp_system): fix XTAL32K power breaks ADC function on 32k XTAL clock pin 2025-11-12 19:03:42 +08:00
wuzhenghui 5eff18eec2 fix(esp_hw_support): add p4 rev3.0 MSPI workaround for deepsleep 2025-11-11 21:58:51 +08:00
wuzhenghui 5e03aa8878 fix(esp_hw_support): fix mie lost after pd_cpu sleep request reject 2025-11-11 21:56:27 +08:00
wuzhenghui 123f7d71d2 change(esp_hw_support): set HP LDO powerdown in sleep by default 2025-11-11 21:56:27 +08:00
wuzhenghui a4ceeec72c change(esp_hw_support): set HP/LP mem in retention mode in sleep 2025-11-11 21:56:27 +08:00
wuzhenghui 5c10e4b719 change(esp_hw_support): update TOP pd sleep dependency
Disable peripheral powerdown lightsleep if PSRAM if enabled on P4 v3
Force powerdown Flash if peripheral power down lightsleep is enabled
2025-11-11 21:56:26 +08:00
wuzhenghui 9d865e22a6 fix(esp_hw_support): add PD_TOP lightsleep mspi failure workaround for p4 rev3 2025-11-11 21:56:26 +08:00
wuzhenghui 468376642a fix(esp_hw_support): fix esp32p4 v3 cache error false alarm after PD_TOP wakeup 2025-11-11 21:56:26 +08:00
Wu Zheng Hui 6d2487082e Merge branch 'fix/fix_coverity_issues' into 'master'
fix(esp_hw_support): fix coverity issues in esp_hw_support

Closes IDF-13819, IDF-13892, and IDF-13894

See merge request espressif/esp-idf!42566
2025-10-17 16:53:49 +08:00
Wu Zheng Hui e1b6006761 Merge branch 'fix/fix_esp32c5_xtal32k_clock_lost_in_sleep' into 'master'
fix(esp_system): manage slow clock sleep pd in select_rtc_slow_clk

See merge request espressif/esp-idf!41591
2025-10-16 15:24:50 +08:00
wuzhenghui c396fd5ec3 fix(esp_hw_support): fix rtc_clk test case time stamp lost 2025-10-16 14:51:52 +08:00
Wu Zheng Hui dfeae969a4 Merge branch 'feat/support_esp32p4_eco5_pmu' into 'master'
feat(esp_hw_support): Update esp32p4 eco5 lowpower features support

See merge request espressif/esp-idf!41162
2025-10-15 19:47:43 +08:00
wuzhenghui 5bdcc8f5b0 change(esp_hw_support): update RTC mem attr in sleep_modes.c 2025-10-15 01:19:02 +00:00
wuzhenghui 065dd70056 change(esp_hw_support): move ESP_SLEEP_POWER_DOWN_CPU to Kconfig 2025-10-14 16:33:30 +08:00
wuzhenghui 69553da81a fix(esp_hw_support): fix P4 v3.0 USB leakage on PU_CNNT lightsleep 2025-10-14 16:33:30 +08:00
wuzhenghui f68896ca53 fix(esp_hw_support): add the TOP domain's power-off dependency on the CNNT domain 2025-10-14 16:33:30 +08:00
wuzhenghui e1e649ab89 fix(esp_hw_support): disable HP regulator if DCDC keeps powering during sleep 2025-10-14 16:33:29 +08:00
wuzhenghui bedcf4ad88 change(esp_hw_support): allocate memory with MALLOC_CAP_RETENTION for regdma link 2025-10-14 16:33:29 +08:00
wuzhenghui 3b950401d8 change(soc): reset L2 Cache sync after config restore 2025-10-14 16:33:29 +08:00
wuzhenghui af1c8a568d feat(esp_hw_support): update cpu_pd support for esp32p4 v3.0 2025-10-14 16:33:28 +08:00
wuzhenghui 0eab2428c3 feat(esp_hw_support): update pmu support for esp32p4 v3.0 2025-10-14 16:33:28 +08:00
wuzhenghui ff6d219775 feat(soc): support esp32p4 rev3.0 soc 2025-10-14 16:33:28 +08:00
wuzhenghui 55bab4c4b2 fix(esp_hw_support): fix Coverity static analysis issue in regdma_link_update_next 2025-10-13 20:47:50 +08:00
wuzhenghui e71265839e change(esp_hw_support): fix dead code in esp_sleep_pd_config and add detailed comments 2025-10-13 20:35:10 +08:00
Wu Zheng Hui 3a0eba4c46 Merge branch 'fix/fix_32k_config_revoke_breaks_io_holding' into 'master'
fix(esp_system): fix ext 32k io revoking breaks sleep io holding

Closes IDFGH-16262

See merge request espressif/esp-idf!41380
2025-10-11 12:59:35 +08:00
wuzhenghui 4bb6a01959 fix(esp_system): fix ext 32k io revoking breaks sleep io holding 2025-10-10 19:44:07 +08:00
wuzhenghui aab33f3219 fix(esp_system): manage slow clock sleep pd in select_rtc_slow_clk 2025-10-09 20:03:49 +08:00
wuzhenghui 464392bfc3 fix(esp_hw_support): increase esp32c5 wifi link working cost 2025-09-29 14:37:52 +08:00
wuzhenghui 198e789ea2 change(esp_hw_support): remove DCDC-to-LDO power switch support in ESP32P4 lightsleep 2025-09-29 10:07:20 +08:00
wuzhenghui be88f84bcc change(esp_hw_support): control DCDC switch by PMU FSM while control DCDC_EN by software 2025-09-29 10:07:20 +08:00
wuzhenghui 9e0f49d57b feat(esp_hw_support): support PD_CPU and PD_TOP retention on esp32h21 2025-09-26 14:02:55 +08:00
wuzhenghui 3e7892122e feat(esp_hw_support): support lightsleep and deepsleep on esp32h21 2025-09-26 14:02:55 +08:00
wuzhenghui ae34067f11 feat(soc): update esp32h21 lowpower related caps 2025-09-26 14:02:55 +08:00
wuzhenghui 4193bf56c4 change(esp_hw_support): increase s2a_work_time_us 2025-08-19 11:50:03 +08:00
Wu Zheng Hui feb1dc97b9 Merge branch 'fix/fix_submode_lost_in_reset' into 'master'
fix(esp_hw_support): fix ESP_SLEEP_RTC_USE_RC_FAST_MODE submode lost in reset

Closes IDFGH-15614

See merge request espressif/esp-idf!41080
2025-08-13 18:58:10 +08:00
wuzhenghui a0ca0fe7be fix(esp_hw_support): test ESP_SLEEP_RTC_USE_RC_FAST_MODE sleep submode after reset 2025-08-11 11:28:38 +08:00
wuzhenghui b4aa2de9c4 fix(esp_hw_support): fix ESP_SLEEP_RTC_USE_RC_FAST_MODE sub_mode lost after cpu/sys reset
Closes https://github.com/espressif/esp-idf/issues/16243
2025-08-11 11:28:34 +08:00
wuzhenghui 9a4abbdd3a fix(hal): fix esp32c5 mac link bad trigger 2025-08-06 10:51:30 +08:00
wuzhenghui 9f53ff77a1 change(example): adds USB-Serial-JTAG console usage notes to sleep examples
Closes https://github.com/espressif/esp-idf/issues/16129
2025-08-01 20:28:09 +08:00