Commit Graph
100 Commits
Author SHA1 Message Date
wuzhenghui ae1914398a feat(esp_hw_support): add core1 enter deepsleep test case 2025-07-21 14:16:01 +08:00
wuzhenghui 5ff3d1f32b fix(esp_hw_support): fix esp32 APP_CPU accessing RTCFAST memory in sleep code
Closes https://github.com/espressif/esp-idf/issues/16243
2025-07-21 14:16:01 +08:00
wuzhenghui 577d650d83 fix(esp_system): LOGD for the log printing in sleep process 2025-07-03 19:14:22 +08:00
wuzhenghui c844ba4f7f fix(esp_system): force enable uart0 sclk in esp_restart 2025-07-03 19:13:41 +08:00
wuzhenghui 2a484d8b43 feat(esp_hw_support): enable wakeup tests for more chips 2025-06-23 09:51:29 +08:00
wuzhenghui 40a3b0cb23 fix(hal): fix pmu_ll_ext1_clear_wakeup_status API 2025-06-23 09:51:29 +08:00
wuzhenghui f4669e3377 change(bt): increase BTDM_MODEM_WAKE_UP_DELAY 2025-06-16 17:24:47 +08:00
wuzhenghui 7e28275ac1 change(esp_timer): make esp_timer timming drift always be negative 2025-06-16 17:24:47 +08:00
wuzhenghui da534bf462 fix(esp_hw_support): config lact in critical 2025-06-16 17:24:46 +08:00
wuzhenghui e26be2be8f test(esp_timer): add UT case for esp_timer period alarm with DFS 2025-05-22 14:07:37 +08:00
wuzhenghui e8475d7796 feat(esp_hw_support): compensate the error introduced to LACT during APB frequency switching 2025-05-22 14:07:37 +08:00
wuzhenghui 31149354a9 fix(esp_hw_support): update systimer step immediately when XTAL changes on esp32s2 2025-05-22 14:07:37 +08:00
wuzhenghui 833df30063 fix(esp_hw_support): update LACT clock prescale immediately when APB changes on esp32 2025-05-22 14:07:36 +08:00
wuzhenghui 2252a4166a fix(esp_hw_support): fix esp32p4 may get stuck when entering deepsleep 2025-05-20 19:52:07 +08:00
wuzhenghui 527e2f38b8 fix(esp_hw_support): always disable USJ pad in sleep to supress leakage 2025-05-20 10:46:11 +08:00
wuzhenghui 9cf4ddf797 fix(esp_hw_support): Fix deepsleep leakage after initializing USB HS phy 2025-05-20 10:32:52 +08:00
wuzhenghui 3052ad53e7 fix(esp_hw_support): fix sleep iram safe code inlined to flash 2025-05-20 10:26:06 +08:00
Wu Zheng Hui 45f495cba1 Merge branch 'feat/support_esp32p4_sleep_vbat' into 'master'
feat(esp_hw_support): support switch to VBAT power supply in deepsleep

Closes IDF-10664 and IDF-10665

See merge request espressif/esp-idf!37251
2025-05-09 10:35:18 +08:00
wuzhenghui 9ed3126a83 ci(owners): update codeowners for lowpower examples 2025-05-08 16:45:06 +08:00
wuzhenghui e3383f08e6 feat(example): support esp32p4 VBAT under volt wakeup in deepsleep example 2025-05-08 16:45:02 +08:00
wuzhenghui 9b5944b795 feat(esp_hw_support): support switch to VBAT power supply in deepsleep on esp32p4 2025-05-08 16:44:58 +08:00
Wu Zheng Hui fe3da7167e Merge branch 'fix/fix_esp32p4_retention_cost' into 'master'
fix(esp_hw_support): optimize retention cost and update sleep time compensation

See merge request espressif/esp-idf!37920
2025-04-23 13:20:49 +08:00
wuzhenghui 21932876d5 fix(esp_hw_support): specify optimize options to avoid dirtying L2 mem after L1D$ writeback 2025-04-22 22:02:35 +08:00
wuzhenghui 6c4447ae2e fix(esp_hw_support): fix wrong APB clock freq on retenion 2025-04-22 22:02:35 +08:00
wuzhenghui cdc040c8ad feat(esp_hw_support): count pau backup time into sleep rejection judgment 2025-04-22 22:02:34 +08:00
wuzhenghui a1471f4f78 feat(esp_hw_support): remeasure sleep_time_overhead_out if min_freq_mhz changed 2025-04-22 22:02:34 +08:00
wuzhenghui e30043804b feat(esp_hw_support): use non-lock regi2c fast-up cpll/mpll enable process after sleep wakeup 2025-04-22 22:02:31 +08:00
Wu Zheng Hui d41cb1346e Merge branch 'fix/fix_cache_hit_bypass_iram_safe_assertion' into 'master'
fix(esp_hw_support): fix cache hit bypass iram safe assertion on p4

See merge request espressif/esp-idf!38371
2025-04-22 16:22:37 +08:00
wuzhenghui 54f29671b8 fix(esp_hw_support): fix usj pad config bad retention
Closes https://github.com/espressif/esp-idf/issues/15797
2025-04-22 11:18:56 +08:00
wuzhenghui f554d773fa fix(esp_hw_support): add delay to wait chip enter sleep in ut 2025-04-17 21:59:30 +08:00
wuzhenghui a141d8c5bd feat(esp_hw_support): optimize esp32p4 GPIO retention link 2025-04-16 10:30:56 +08:00
wuzhenghui 821631bd35 fix(esp_hw_support): iomux slp_sel is not avaliable to isolate mspi pin leakage on esp32p4 2025-04-16 10:30:56 +08:00
Wu Zheng Hui d98c580d40 Merge branch 'fix/esp32p4_xtal_path_not_on_top' into 'master'
fix(esp_hw_support): fix esp32p4 xtal_xpd depends on TOP power domain

See merge request espressif/esp-idf!38328
2025-04-15 14:54:13 +08:00
Wu Zheng Hui 22f0ee5405 Merge branch 'change/allow_keep_sar_poweron_in_light_sleep' into 'master'
change(esp_hw_support): allow sar power keep on during lightsleep

Closes IDFGH-11268

See merge request espressif/esp-idf!38379
2025-04-15 14:47:55 +08:00
Wu Zheng Hui 25f9c3715a Merge branch 'fix/fix_unused_osc_broken_xtal32k_configuration' into 'master'
fix(esp_hw_support): fix unused OSC source deinit breaks XTAL32K configuration

See merge request espressif/esp-idf!38361
2025-04-14 10:28:10 +08:00
wuzhenghui b41fb377f9 change(esp_hw_support): allow sar power keep on during lightsleep
Closes https://github.com/espressif/esp-idf/issues/12426
2025-04-11 18:15:33 +08:00
wuzhenghui dbec79a508 fix(esp_hw_support): fix cache hit bypass iram safe assertion on p4 2025-04-11 15:35:34 +08:00
wuzhenghui b3911c7c89 fix(esp_hw_support): fix unused OSC source deinit breaks XTAL32K configuration 2025-04-10 20:56:53 +08:00
Wu Zheng Hui a1be173193 Merge branch 'fix/fix_uart_console_broken_after_sleep' into 'master'
fix(esp_hw_support): fixed gpio sleep switching filling junk data to the console UART FIFO

See merge request espressif/esp-idf!38112
2025-04-09 22:06:22 +08:00
Wu Zheng Hui 38fcc41ff2 Merge branch 'feat/enable_esp32p4_auto_clock_gate' into 'master'
feat(esp_hw_support): enable auto clock gating for multi peripherals

See merge request espressif/esp-idf!37986
2025-04-09 21:42:04 +08:00
wuzhenghui 054e492b04 fix(esp_hw_support): fixed gpio sleep switching filling junk data to the console UART FIFO 2025-04-09 17:55:24 +08:00
wuzhenghui 5fbc742248 fix(esp_hw_support): fix esp32p4 xtal_xpd depends on TOP power domain 2025-04-09 17:10:57 +08:00
wuzhenghui 6ca0614e89 feat(esp_hw_support): enable auto clock gating for multi peripherals 2025-04-09 17:07:49 +08:00
Wu Zheng Hui 1304fdc364 Merge branch 'fix/fix_current_leakage_after_ext_osc_detect_failed' into 'master'
fix(esp_hw_support): fix current leakage if ext32k slow clock source not exists

Closes PM-385

See merge request espressif/esp-idf!38140
2025-04-09 13:52:40 +08:00
Wu Zheng Hui 190a12912e Merge branch 'fix/fix_timer_wakeup_api_coverity' into 'master'
fix(esp_hw_support): fix esp_sleep_enable_timer_wakeup API code coverity

Closes IDF-12526

See merge request espressif/esp-idf!37639
2025-04-08 20:14:38 +08:00
wuzhenghui c84757d35e fix(esp_hw_support): fix current leakage if ext32k slow clock source not exists 2025-04-08 20:07:47 +08:00
wuzhenghui 1bb28afe8e fix(esp_hw_support): fix esp_sleep_enable_timer_wakeup API code coverity 2025-04-08 13:44:28 +08:00
Wu Zheng Hui 01ce024636 Merge branch 'feat/disable_power_glitch_in_sleep' into 'master'
feat(esp_hw_support): disable power glitch detector in PD_TOP lightsleep for esp32c5 & esp32c61

See merge request espressif/esp-idf!37638
2025-04-02 16:05:02 +08:00
Wu Zheng Hui ebb6c4caae Merge branch 'fix/fix_sleep_reject_on_esp32' into 'master'
fix(esp_hw_support): fix short duration sleep requests rejected in pd_flash lightsleep

Closes PM-382

See merge request espressif/esp-idf!37878
2025-04-02 15:58:30 +08:00
wuzhenghui ed4813c9c0 fix(esp_hw_support): fix min sleep time calculation missmatch in powerdown flash decision 2025-03-19 19:27:09 +08:00
wuzhenghui 795dedba33 feat(eap_hw_support): disable power glitch detector in PD_TOP lightsleep for c5&c61 2025-03-11 11:31:02 +08:00
wuzhenghui 14db879842 change(esp_hw_support): only do mpll disable in lightsleep process 2025-03-07 12:27:20 +08:00
wuzhenghui d418cb4a40 fix(esp_system): fix possible cache_error by another core accessing flash in esp_restart 2025-03-06 21:21:54 +08:00
Wu Zheng Hui 714e626dc2 Merge branch 'fix/fix_sleep_modes_breaking_change' into 'master'
fix(esp_hw_support): warning instead of error when enabling uart/gpio wakeup in pd_top sleep

See merge request espressif/esp-idf!37293
2025-02-27 22:42:52 +08:00
wuzhenghui 6bd6be3ed8 fix(esp_hw_support): warning instead of error when enabling uart/gpio wakeup in pd_top sleep 2025-02-27 16:15:36 +08:00
Wu Zheng Hui 2d1c99e74f Merge branch 'fix/fix_bad_dslp_param_after_lightsleep' into 'master'
fix(esp_hw_support): Fixed the issue that light sleep destroyed the parameters of subsequent deep sleep

Closes PM-366 and BLERP-1602

See merge request espressif/esp-idf!37276
2025-02-27 15:51:55 +08:00
Wu Zheng Hui 132444cd08 Merge branch 'feat/support_esp32h21_modem_clock' into 'master'
feat(esp_hw_support): support esp32h21 modem clock

Closes PM-348

See merge request espressif/esp-idf!37082
2025-02-26 12:02:43 +08:00
wuzhenghui dd2bde0847 fix(esp_hw_support): fix lightsleep destroys deepsleep rtc parameters 2025-02-26 10:13:07 +08:00
Wu Zheng Hui e57f02e920 Merge branch 'doc/add_wakeup_source_usage_precautions' into 'master'
change(doc): added more usage notes about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP

Closes IDF-12166

See merge request espressif/esp-idf!36879
2025-02-20 21:00:15 +08:00
wuzhenghui d305628c25 feat(hal): add esp32h21 modem_clock hal layer 2025-02-20 15:18:13 +08:00
wuzhenghui 88a3a6c58d feat(soc): add esp32h21 modem_clock registers 2025-02-20 15:16:12 +08:00
Wu Zheng Hui 79ee0927d1 Merge branch 'fix/fix_s2_s3_rtc_iomux_clock_management' into 'master'
fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management

Closes PM-341, IDFGH-8992, and IDFGH-11560

See merge request espressif/esp-idf!36831
2025-02-20 13:52:45 +08:00
wuzhenghui 0f69fda3d5 change(doc): added more usage notes about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP 2025-02-19 20:54:21 +08:00
wuzhenghui 51205a8fd8 fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management 2025-02-19 16:02:25 +08:00
wuzhenghui 93cdad7a3b feat(esp_hw_support): support esp32h21 retention link software trigger 2025-02-19 14:21:18 +08:00
wuzhenghui 727d0a687f feat(hal): support esp32h21 pau hal layer 2025-02-18 21:06:38 +08:00
wuzhenghui c11f49e2cb feat(soc): update esp32h21 pau registers 2025-02-18 21:06:07 +08:00
Wu Zheng Hui 5fd4104d12 Merge branch 'fix/esp32p4_lightsleep_fixes' into 'master'
fix(esp_hw_support): some fixes of esp32p4 lightsleep retention & power switch process

Closes PM-291, PM-301, and PM-302

See merge request espressif/esp-idf!35460
2025-02-13 17:20:21 +08:00
wuzhenghui 9102f40fcb change(esp_hw_support): wrapper sleep dcdc/ldo ops with ll 2025-02-13 12:17:07 +08:00
Wu Zheng Hui e95103aa56 Merge branch 'fix/add_sleep_duration_check_for_timer_wakeup' into 'master'
fix(esp_hw_support): add timer wakeup sleep duration check

Closes IDFGH-14485

See merge request espressif/esp-idf!36793
2025-02-13 10:42:58 +08:00
Wu Zheng Hui 254b3210bc Merge branch 'fix/fix_sleep_clock_wait_calculation' into 'master'
fix(esp_hw_support): fix lp/hp hw clock wait time calculation

Closes PM-39

See merge request espressif/esp-idf!34583
2025-02-12 11:30:43 +08:00
Wu Zheng Hui f7feecf63b Merge branch 'fix/fix_esp32c5_ulp_examples' into 'master'
fix(examples): fix esp32c5 ulp examples

Closes IDF-12084 and IDF-10034

See merge request espressif/esp-idf!36802
2025-02-10 21:27:16 +08:00
wuzhenghui c0f98621d7 fix(examples): fix esp32c5 ulp examples 2025-02-08 16:04:49 +08:00
wuzhenghui dc93eb533a fix(esp_hw_support): add timer wakeup sleep duration check
Closes https://github.com/espressif/esp-idf/issues/15255
2025-02-07 19:43:54 +08:00
wuzhenghui 121f56ef6d change(esp_hw_support): disable CPU wait-for-event mode on cpu start 2025-01-14 21:34:44 +08:00
wuzhenghui 7a4cc8ed35 fix(esp_hw_support): fix branch predictor access flash after cache disabled 2025-01-13 10:28:09 +08:00
wuzhenghui 52d05f113e fix(esp_hw_support): fix lp/hp clock wait time calculation 2025-01-06 10:18:44 +08:00
wuzhenghui c80c8354db change(esp_hw_support): switch to sleep_flags earlier to identify sleep state 2025-01-06 10:18:43 +08:00
wuzhenghui 9732af87f1 change(esp_hw_support): wait pll calibration done in regdma link instead of wait fixed value 2025-01-06 10:18:43 +08:00
Wu Zheng Hui 01b1191e8f Merge branch 'fix/fix_p4_usb_phy_bad_suspend_on_lslp' into 'master'
fix(esp_hw_support): fix p4 OTG phy bad suspend cause high power consumption on sleep

Closes PM-136

See merge request espressif/esp-idf!35727
2024-12-27 15:35:44 +08:00
Wu Zheng Hui 35cdecb121 Merge branch 'fix/fix_pm_trace_rtc_domain_keeping' into 'master'
fix(esp_pm): enable RTC_PERIPH domain once in esp_pm_trace_init

See merge request espressif/esp-idf!35979
2024-12-26 16:58:41 +08:00
wuzhenghui ec16bd7132 fix(esp_hw_support): fix p4 OTG phy bad suspend cause high power consumption on sleep 2024-12-26 14:44:22 +08:00
Wu Zheng Hui 12bb853c64 Merge branch 'feat/wait_pll_stable_after_sleep_wakeup' into 'master'
feat(esp_hw_support): wait pll stable after sleep wakeup

Closes PM-280

See merge request espressif/esp-idf!34313
2024-12-26 14:27:07 +08:00
wuzhenghui a48dfae871 fix(esp_pm): enable RTC_PERIPH domain once in esp_pm_trace_init 2024-12-26 10:41:49 +08:00
wuzhenghui 40ba408dc3 fix(esp_hw_support): fix FLASH leakage workaround kconfig dependcy 2024-12-25 22:02:31 +08:00
Wu Zheng Hui bba3063b52 Merge branch 'fix/fix_p4_deepsleep_io_leakage' into 'master'
fix(esp_hw_support): fix esp32p4 JTAG pad deepsleep current leakage

Closes PM-204

See merge request espressif/esp-idf!35633
2024-12-24 15:36:09 +08:00
wuzhenghui 0c0d8cb8e4 fix(esp_hw_support): fix modem power enable failed after modem state wakeup 2024-12-24 10:37:46 +08:00
wuzhenghui 58786528fd fix(esp_hw_support): fix esp32p4 JTAG pad deepsleep current leakage 2024-12-23 21:17:31 +08:00
Wu Zheng Hui cd225d0788 Merge branch 'fix/fix_flash_clock_changed_after_sleep' into 'master'
fix(esp_hw_support): fix mspi clock freq changed after lightsleep

Closes PM-231 and PM-299

See merge request espressif/esp-idf!34982
2024-12-16 21:34:38 +08:00
wuzhenghui 7d0d95b7d8 fix(esp_hw_support): fix mspi clock freq changed after lightsleep 2024-12-13 15:47:49 +08:00
wuzhenghui d26cc38588 feat(esp_hw_support): add branch prediction config retention 2024-12-12 10:37:13 +08:00
wuzhenghui 2973d974ed fix(esp_hw_support): fix DCDC switch bad software powerdown 2024-12-11 21:27:15 +08:00
wuzhenghui 5549ae0a2d change(esp_hw_support): not use ROM Cache invalidate in sleep process to avoid dirtying the L1 Cache 2024-12-11 21:27:15 +08:00
wuzhenghui b29dc559e8 feat(esp_hw_support): do mstatus restore on each core 2024-12-11 21:27:15 +08:00
wuzhenghui b8db4b1c52 feat(esp_hw_support): do esp32p4 l1 cache invalidate by regdma 2024-12-11 21:27:14 +08:00
wuzhenghui 690de1bbcb feat(esp_hw_support): do esp32p4 l1&l2 cache regs retention by regdma 2024-12-04 22:00:36 +08:00
Wu Zheng Hui 1b44d4df3b Merge branch 'fix/fix_tg_retention_failure' into 'master'
fix(esp_driver_gptimer): do gptimer retention by timer unit rather than timer group

Closes PM-233 and IDFCI-2427

See merge request espressif/esp-idf!35284
2024-12-02 16:44:05 +08:00
wuzhenghui 3ae1929e58 fix(esp_driver_gptimer): do gptimer retention by timer unit rather than timer group 2024-11-29 16:25:26 +08:00
wuzhenghui 33ba39a100 fix(esp_hw_support): remove p4 wdt retention on entry2 2024-11-28 19:20:56 +08:00
wuzhenghui af7e05b6f7 fix(esp_hw_support): fix retention link dump helper functions 2024-11-28 16:29:13 +08:00