Commit Graph
100 Commits
Author SHA1 Message Date
wuzhenghui 2c35c09742 fix(esp_pm): fix deadlock in pm_mode switching 2024-11-15 11:25:58 +08:00
wuzhenghui 78362aff04 fix(esp_pm): fix missed ccompare update when another core is already in do_switch 2024-11-15 11:25:58 +08:00
wuzhenghui 88c345aca8 fix(esp_hw_support): disable sar power when esp32p4 going to deepsleep 2024-11-13 11:44:46 +08:00
wuzhenghui 054706c115 fix(esp_system): writeback L1 Dcache before disable L2 if PSRAM used 2024-11-11 14:02:35 +08:00
wuzhenghui 59230175df fix(esp_hw_support): skip some wakeup steps if sleep is rejected
1. Skip esp_timer time compensation to avoid introducing errors into rtc_timer
    2. Ignore sleep_time_overhead_out measurements when sleep is rejected
2024-11-08 16:08:32 +08:00
wuzhenghui 651e5adbda fix(esp_hw_support): only support power down flash after revison v1.0 on esp32p4 2024-11-04 14:08:29 +08:00
wuzhenghui 2558760224 fix(esp_hw_support): fix writeback cache to psram after vo2 powerdown 2024-11-04 14:08:28 +08:00
wuzhenghui 280f6cb4e9 fix(esp_hw_support): disable unused clock sources after rtc clock switching complete 2024-10-28 20:16:01 +08:00
wuzhenghui cf5bdf5e9f fix(esp_hw_support): enable all supported slow clock at pmu_init 2024-10-28 20:15:55 +08:00
Wu Zheng Hui 3867689baf Merge branch 'fix/fix_mmu_retention_workaround_cache_safe' into 'master'
fix(esp_hw_support): fix mmu retention code cache safety

Closes PM-283

See merge request espressif/esp-idf!34331
2024-10-25 12:05:52 +08:00
Wu Zheng Hui de3a5d4d93 Merge branch 'feat/support_esp32p4_flash_psram_sleep_pd' into 'master'
feat(esp_hw_support): support power down PSRAM or Flash during sleep for esp32p4 rev1.0

Closes PM-204 and IDF-11241

See merge request espressif/esp-idf!34340
2024-10-25 10:39:06 +08:00
wuzhenghui a1f9d5bcea feat(esp_hw_support): support power down PSRAM or Flash during sleep for esp32p4 v1.0 2024-10-23 19:10:42 +08:00
wuzhenghui 71ddc5a79f fix(esp_hw_support): fix mmu retention code cache safety 2024-10-22 22:10:13 +08:00
wuzhenghui 6520c61cff change(esp_hw_support): improve gpio deepsleep wakeup configuration code 2024-09-29 16:56:42 +08:00
wuzhenghui 9ffd8aa017 fix(esp_hw_support): fix coverity defects in sleep code 2024-09-29 16:56:42 +08:00
Wu Zheng Hui 041a937803 Merge branch 'fix/fix_esp32p4_freq_switching_timing' into 'master'
fix(esp_hw_support): fix esp32p4 CPU frequency switching timing

Closes IDFCI-2280 and IDFCI-2281

See merge request espressif/esp-idf!33823
2024-09-27 19:13:12 +08:00
wuzhenghui e1a341455a fix(esp_hw_support): fix esp32p4 CPU frequency switching timing 2024-09-26 14:57:03 +08:00
wuzhenghui 04b2afed44 change(esp_hw_support): switch lp_cpu power mode with clock src to save lp_cpu working power 2024-09-26 11:23:06 +08:00
wuzhenghui ef4c02dda2 revert(esp_hw_support): stall another core during cpu/mem/apb freq switching
This reverts commit c2bb64fbe8.
2024-09-25 20:19:15 +08:00
Wu Zheng Hui 49d080e354 Merge branch 'fix/fix_bad_submode_setting_in_rtc_slow_selection' into 'master'
fix(esp_hw_support): fix bad submode setting in rtc slow selection

Closes IDFGH-13745

See merge request espressif/esp-idf!33754
2024-09-24 20:03:03 +08:00
wuzhenghui 5971155ac4 feat(esp_hw_support): add case to test slow clock switching 2024-09-24 12:08:51 +08:00
wuzhenghui baa4d51656 fix(esp_hw_support): fix bad submode setting logic in rtc_slow selection 2024-09-24 11:24:03 +08:00
Wu Zheng Hui 21ee174957 Merge branch 'fix/allows_to_forcibly_disable_sleep_submodes' into 'master'
fix(esp_hw_support): allows to forcefully disable sleep submode

Closes IDFCI-2380 and PM-228

See merge request espressif/esp-idf!33481
2024-09-13 17:52:37 +08:00
wuzhenghui 0cd6532d36 docs(sleep_mode): update outdated sleep mode configure API in docs 2024-09-12 15:09:31 +08:00
wuzhenghui 37fa09f1dc fix(esp_hw_support): allows to forcefully disable submodes at mode initialization 2024-09-12 15:09:25 +08:00
Wu Zheng Hui 6abe40e590 Merge branch 'feature/optimize_esp32p4_active_power_eco1' into 'master'
feat(system): Optimize esp32p4 active state  power consumption

Closes PM-103 and IDF-7688

See merge request espressif/esp-idf!32950
2024-09-11 23:15:29 +08:00
Wu Zheng Hui f3c4d57f13 Merge branch 'fix/fix_clock_retention_link_context' into 'master'
fix(esp_hw_support): add clock retention contents for esp32c6 & esp32h2

Closes IDF-9629

See merge request espressif/esp-idf!33411
2024-09-11 21:12:23 +08:00
Wu Zheng Hui eab98765ad Merge branch 'feature/introduce_internal_sleep_sub_mode_configure_api' into 'master'
feat(esp_hw_support): introduce internal sleep sub mode configure api

Closes PM-216

See merge request espressif/esp-idf!30687
2024-09-11 17:01:59 +08:00
wuzhenghui 21f79616bd change(esp_driver_spi): increase SPI_PER_TRANS_POLLING peformance tolerance 2024-09-11 10:53:45 +08:00
wuzhenghui 13e42707a0 feat(esp_hw_support): add clk tree source gate management api 2024-09-11 10:53:01 +08:00
wuzhenghui c41d432397 fix(ulp): fix uart driver delete order in lp uart test case 2024-09-11 10:53:00 +08:00
wuzhenghui 71fb3d2f31 fix(esp_system): fix test rodata being prefetched into cache unexpectedly 2024-09-11 10:53:00 +08:00
wuzhenghui 05e74480f5 feat(esp_system): gate some clock by default to optmize esp32p4 active power 2024-09-11 10:53:00 +08:00
wuzhenghui 2172aaf6a2 fix(esp_hw_support): add clock retention contents 2024-09-09 20:49:06 +08:00
wuzhenghui fd79c593fb fix(ci): increase uart driver test memory leak threshold 2024-09-07 02:04:43 +08:00
wuzhenghui 0272fc405b change(esp_hw_support): update test cases with new sub-mode setting API 2024-09-07 02:04:43 +08:00
wuzhenghui 5184d7ec98 change(esp_hw_support): replace esp_sleep_periph_use_8m with new API 2024-09-07 02:04:43 +08:00
wuzhenghui 7555686649 change(esp_hw_support): replace rtc_sleep_enable_ultra_low with new API 2024-09-07 02:04:43 +08:00
wuzhenghui b1df2688ce change(esp_hw_support): replace esp_sleep_enable_adc_tsens_monitor with new API 2024-09-07 02:04:43 +08:00
wuzhenghui 417edbb2e2 feat(esp_hw_support): introduce sub sleep mode config API 2024-09-07 02:04:38 +08:00
Wu Zheng Hui 789b9ad5a9 Merge branch 'feat/support_xtal_as_rtc_fast_sleep' into 'master'
feat(esp_hw_support): support PMU parameters when XTAL is used as fast clock source

Closes PM-197

See merge request espressif/esp-idf!32811
2024-08-22 19:37:13 +08:00
wuzhenghui 2659607d13 feat(esp_hw_support): support PMU parameters when XTAL is used as fast clock source 2024-08-21 15:44:01 +08:00
Wu Zheng Hui 5929eed30d Merge branch 'feat/support_software_trigger_retention' into 'master'
feat(esp_hw_support): support software trigger regdma retention

Closes PM-199

See merge request espressif/esp-idf!32789
2024-08-20 18:02:07 +08:00
wuzhenghui 56aefbe845 driver(gptimer): support software triggered GPTimer retention test 2024-08-20 10:52:17 +08:00
wuzhenghui 05504d5f68 feat(esp_hw_support): support extra link software trigger for all targets 2024-08-20 10:52:16 +08:00
Wu Zheng Hui 561c0a8b82 Merge branch 'fix/always_writeback_l1dcache_before_sleep' into 'master'
fix(esp_hw_support): always writeback L1DCache before sleep to keep cpu/regdma data consistency

See merge request espressif/esp-idf!32875
2024-08-15 18:06:40 +08:00
wuzhenghui fb84c24bae fix(esp_hw_support): always writeback L1D$ before sleep to keep cpu/regdma data consistency 2024-08-15 12:18:16 +08:00
Wu Zheng Hui 82e76abaa8 Merge branch 'bugfix/fix_esp32p4_sleep_psram_access_failure' into 'master'
fix(esp_hw_support): support esp32p4  psram  sleep retention

Closes PM-138, PM-177, PM-187, PM-189, and PM-190

See merge request espressif/esp-idf!32190
2024-08-06 10:49:03 +08:00
wuzhenghui 55219ba7f4 change(esp_hw_support): add case to test PSRAM survives after lightsleep 2024-08-05 13:21:09 +08:00
wuzhenghui 819680ff9b change(esp_hw_support): reorder light/deep sleep test cases and wrapper with corresponding support macros 2024-08-05 13:21:08 +08:00
wuzhenghui d7eb829fd0 feat(esp_hw_support): support esp32p4 psram retention 2024-08-05 13:21:05 +08:00
Wu Zheng Hui f2cf9a961b Merge branch 'doc/update_esp32p4_pm_programming_guide_docs' into 'master'
docs(pm): update power management related docs for esp32p4

Closes IDF-7672

See merge request espressif/esp-idf!31328
2024-08-01 19:05:15 +08:00
Wu Zheng Hui 9ef5712f35 Merge branch 'doc/update_gpio_deep_sleep_hold_en_api_guide' into 'master'
docs(gpio): update gpio_deep_sleep_hold_en API usage notes

Closes ESPCS-952

See merge request espressif/esp-idf!31962
2024-08-01 16:58:34 +08:00
wuzhenghui 172402528d docs(pm): update power management related docs for esp32p4 2024-08-01 15:50:46 +08:00
wuzhenghui 5880defc25 fix(esp_hw_support): flash/psram SPI io is not controlled by hp iomux on esp32p4 2024-08-01 14:33:32 +08:00
wuzhenghui 29b51468e1 fix(esp_hw_support): fix bad power parameter if PSRAM is enabled during sleep 2024-08-01 14:33:31 +08:00
wuzhenghui 66fa61f353 docs(gpio): update gpio_deep_sleep_hold_en API usage notes 2024-08-01 10:37:23 +08:00
Wu Zheng Hui 40a910bfa8 Merge branch 'fix/disable_timer_wakeup_source_with_auto_sleep_off' into 'master'
fix(esp_pm): disable timer wakeup source with auto light-sleep off

Closes PM-170

See merge request espressif/esp-idf!32116
2024-07-31 13:17:15 +08:00
wuzhenghui dee3e19599 fix(esp_pm): configure timer wakeup source with auto light-sleep congiguration 2024-07-30 21:28:07 +08:00
Wu Zheng Hui fcd0b82c1c Merge branch 'bugfix/fix_esp32p4_deepsleep_gpio_wakeup_support' into 'master'
feat(esp_hw_support): support esp32p4 gpio/ext1 wakeup deepsleep

Closes PM-158

See merge request espressif/esp-idf!31583
2024-07-16 22:09:44 +08:00
wuzhenghui c2bb64fbe8 fix(esp_hw_support): stall another core during cpu/mem/apb freq switching 2024-07-16 19:11:12 +08:00
wuzhenghui cb8c67f55f feat(example): update gpio/ext1 wakeup avaliable IO num in example Kconfig 2024-07-16 17:55:12 +08:00
wuzhenghui f43b3afcec fix(esp_hw_support): hold LP_IO mode if LP_PERI domain powerdown in sleep 2024-07-16 17:55:11 +08:00
wuzhenghui da4c55fdbb feat(esp_hw_support): support esp32p4 gpio wakeup deepsleep 2024-07-16 17:55:07 +08:00
wuzhenghui f55ab6f17c fix(esp_hw_support): fix cpu_retention cache invalidate mask 2024-07-12 15:40:36 +08:00
wuzhenghui aa1ff4e167 fix(esp_system): fix stuck in bootloader_random_enable after lightsleep 2024-07-03 18:03:06 +08:00
Wu Zheng Hui 9e16b45dac Merge branch 'fix/wait_efuse_idle_after_wake' into 'master'
fix(esp_hw_support): wait eFuse controller idle after sleep wakeup

Closes IDFCI-2227, IDFCI-2228, IDFCI-2229, and IDFCI-2230

See merge request espressif/esp-idf!31754
2024-06-27 20:30:28 +08:00
wuzhenghui 2b70104761 fix(esp_hw_support): wait eFuse controller idle after sleep wakeup 2024-06-27 17:36:21 +08:00
Wu Zheng Hui 2d36e81ccd Merge branch 'fix/remove_esp32c6_h2_solved_todos' into 'master'
change(esp_hw_support): remove esp32c6 & esp32h2 solved todos

Closes IDF-5781 and IDF-6254

See merge request espressif/esp-idf!31401
2024-06-24 13:35:04 +08:00
Wu Zheng Hui e254647b0a Merge branch 'feature/support_esp32p4_dcdc_always_on' into 'master'
feat(esp_hw_support): support esp32p4 dcdc always on during lightsleep

Closes PM-104 and PM-131

See merge request espressif/esp-idf!30449
2024-06-24 11:46:34 +08:00
Wu Zheng Hui 54c4984256 Merge branch 'fix/trigger_system_reset_in_brownout_isr' into 'master'
change(esp_system): trigger digital system reset in brownout isr

See merge request espressif/esp-idf!30512
2024-06-24 11:15:54 +08:00
Wu Zheng Hui ee372c4842 Merge branch 'feat/esp32p4eco_sleep_feature_update' into 'master'
feat(esp_hw_support): esp32p4eco1 sleep feature update

Closes IDF-9564

See merge request espressif/esp-idf!30899
2024-06-24 11:15:47 +08:00
wuzhenghui 1679b509be feat(esp_hw_support): support DCDC always on 2024-06-21 16:55:49 +08:00
wuzhenghui 35180988b5 feat(esp_pm): add DCDC always on config 2024-06-21 16:55:49 +08:00
wuzhenghui 1ac05e89b0 fix(esp_hw_support): disable mpll clock after L1 dcache writeback 2024-06-19 11:43:58 +08:00
wuzhenghui 083ef29dcd change(esp_hw_support): remove esp32c6 & esp32h2 solved todos 2024-06-11 10:20:23 +08:00
Wu Zheng Hui 8cd9e78944 Merge branch 'bugfix/fix_lp_timer_half_world_access' into 'master'
fix(hal): fix LP timer LL half word access

Closes PM-148

See merge request espressif/esp-idf!31370
2024-06-07 14:12:30 +08:00
wuzhenghui 657d0cadb7 fix(hal): fix PMU LL half word and byte access 2024-06-06 21:03:31 +08:00
wuzhenghui 65bfc12f20 fix(hal): fix LP timer LL half word access 2024-06-06 20:07:53 +08:00
Wu Zheng Hui 3ba7d63305 Merge branch 'fix/support_union_lp_io_clk_control' into 'master'
fix(esp_driver_gpio): manage lp_io module clock by driver

Closes IDFGH-12693

See merge request espressif/esp-idf!30961
2024-06-06 14:29:18 +08:00
wuzhenghui cca222948a fix(esp_driver_gpio): manage lp_io module clock by driver
Closes https://github.com/espressif/esp-idf/issues/13683
2024-06-05 17:56:37 +08:00
wuzhenghui cced83e790 fix(esp_hw_support): reset smp core state if the sleep request is rejected by hardware 2024-05-31 14:51:18 +08:00
wuzhenghui 7a9fb14f90 feat(esp_hw_support): bypass rst_reason override for esp32p4eco1 2024-05-31 14:51:15 +08:00
wuzhenghui edbd2266a4 feat(esp_hw_support): support LP_Peripheral & CNNT power domain auto powerdown on esp32p4eco1 2024-05-31 14:51:10 +08:00
wuzhenghui cf3c440369 docs(lowpower): updating low-power statistics in Wi-Fi scenarios 2024-05-30 16:45:01 +08:00
Wu Zheng Hui bfc1ecdb4b Merge branch 'feat/support_tg_retention' into 'master'
change(esp_hw_support): do TG WDT/Timer retention by needs

Closes IDF-8463, PM-110, and IDFGH-12238

See merge request espressif/esp-idf!28154
2024-05-29 10:19:19 +08:00
wuzhenghui 97ecad2a98 fix(esp_hw_support): set pau entry backup configuration with link update 2024-05-28 15:19:27 +08:00
wuzhenghui ffd08ac41b change(esp_hw_support): use union retention link priority definiation 2024-05-28 15:19:27 +08:00
wuzhenghui 8e123d5390 feat(esp_hw_support): optimize retention link info dump 2024-05-28 15:19:26 +08:00
wuzhenghui 070cf9d5e2 fix(ci): use esp_rom_crc32_le in sleep retention frame check 2024-05-28 15:19:26 +08:00
wuzhenghui 138224ae1b ci(esp_driver_gptimer): add gptimer pd_top sleep retention test case 2024-05-28 15:19:25 +08:00
wuzhenghui 6a272c7712 ci(esp_system): add task watchdog pd_top sleep retention test case 2024-05-28 15:19:25 +08:00
wuzhenghui 8518bf2ea7 change(esp_driver_gptimer): do gptimer timer target retention by needs 2024-05-28 15:19:24 +08:00
wuzhenghui a68668c392 change(esp_hw_support): do timergroup watchdogs retention by needs 2024-05-28 15:17:19 +08:00
wuzhenghui cded21d50e fix(esp_hw_support): fix hw CPU retention chips build error if not powerdown CPU in sleep 2024-05-20 11:04:06 +08:00
wuzhenghui 1fa8216830 fix(esp_hw_support/sleep): stop TG0/TG1 watchdog if XTAL not power down in lightsleep 2024-05-13 15:46:42 +08:00
wuzhenghui ad54af74d6 change(esp_hw_support/sleep): improve esp32c3 systimer stall bug workaround 2024-05-13 15:07:40 +08:00
Wu Zheng Hui badb22bc2e Merge branch 'fix/fix_esp_pm_case_high_fail_ratio' into 'master'
fix(esp_pm): fix esp_pm test cases high fail ratio

Closes IDFCI-2143

See merge request espressif/esp-idf!30653
2024-05-07 16:54:14 +08:00
wuzhenghui 1c9986501b fix(esp_pm): fix esp_pm test cases high fail ratio 2024-05-07 16:20:19 +08:00
wuzhenghui 5d783cb613 change(esp_hw_support): update xtal_freq after assume to avoid mass print in DFS 2024-04-29 11:59:16 +08:00