Commit Graph
100 Commits
Author SHA1 Message Date
wuzhenghui 6de3fde3c2 fix(esp_system): fix possible cache_error by another core accessing flash in esp_restart 2025-03-10 11:40:10 +08:00
wuzhenghui 7f88cf3ee9 change(esp_hw_support): only do mpll disable in lightsleep process 2025-03-08 14:06:12 +08:00
wuzhenghui e549dca8ae change(doc): added more usage notes & warings about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP 2025-02-28 16:43:02 +08:00
wuzhenghui 6e2b2a0e54 fix(esp_hw_support): fix lightsleep destroys deepsleep rtc parameters 2025-02-26 16:51:46 +08:00
wuzhenghui 8e6ec50bcc fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management 2025-02-21 09:50:42 +08:00
wuzhenghui b654a78646 change(esp_hw_support): wrapper sleep dcdc/ldo ops with ll 2025-02-19 14:32:22 +08:00
wuzhenghui 8233c250de feat(esp_hw_support): add branch prediction config retention 2025-02-19 14:32:19 +08:00
wuzhenghui a63e9c5aef fix(esp_hw_support): fix DCDC switch bad software powerdown 2025-02-19 14:32:15 +08:00
wuzhenghui 4542c463c6 change(esp_hw_support): not use ROM Cache invalidate in sleep process to avoid dirtying the L1 Cache 2025-02-19 14:32:12 +08:00
wuzhenghui ea05eba7f5 feat(esp_hw_support): do mstatus restore on each core 2025-02-19 14:32:08 +08:00
wuzhenghui 228e74e06c feat(esp_hw_support): do esp32p4 l1 cache invalidate by regdma 2025-02-19 14:32:04 +08:00
wuzhenghui f3cc52d234 feat(esp_hw_support): do esp32p4 l1&l2 cache regs retention by regdma 2025-02-19 14:32:00 +08:00
wuzhenghui 95fb085fe3 fix(esp_hw_support): add timer wakeup sleep duration check
Closes https://github.com/espressif/esp-idf/issues/15255
2025-02-18 19:21:57 +08:00
wuzhenghui 1e11f287e1 change(esp_hw_support): disable CPU wait-for-event mode on cpu start 2025-02-18 19:21:09 +08:00
wuzhenghui 003a7f6bcb fix(esp_hw_support): fix lp/hp clock wait time calculation after wait pll ready 2025-02-17 16:53:28 +08:00
wuzhenghui 67a4de4e77 change(esp_hw_support): switch to sleep_flags earlier to identify sleep state 2025-02-17 16:53:28 +08:00
wuzhenghui 87c4227e44 change(esp_hw_support): wait pll calibration done in regdma link instead of wait fixed value 2025-02-17 16:53:27 +08:00
wuzhenghui cfcd8990f6 fix(esp_hw_support): fix branch predictor access flash after cache disabled 2025-01-22 19:24:48 +08:00
wuzhenghui 9b7ce542f2 fix(esp_hw_support): fix p4 OTG phy bad suspend cause high power consumption on sleep 2025-01-14 14:22:39 +08:00
wuzhenghui 667011cd46 fix(esp_hw_support): fix tsens power enable failed after modem state wakeup 2025-01-10 10:21:39 +08:00
wuzhenghui 0609f9111e fix(esp_hw_support): fix mspi clock freq changed after lightsleep 2024-12-26 19:25:48 +08:00
wuzhenghui c7c70a8ec6 fix(esp_hw_support): fix esp32p4 JTAG pad deepsleep current leakage 2024-12-26 16:03:42 +08:00
wuzhenghui e49faab8d4 fix(esp_pm): enable RTC_PERIPH domain once in esp_pm_trace_init 2024-12-26 14:09:52 +08:00
wuzhenghui 7df7db7284 fix(esp_hw_support): fix FLASH leakage workaround kconfig dependcy 2024-12-26 11:35:04 +08:00
wuzhenghui afa697bd74 fix(esp_driver_gptimer): do gptimer retention by timer unit rather than timer group 2024-12-02 19:07:50 +08:00
wuzhenghui 4db067f8dc fix(esp_hw_support): remove p4 wdt retention on entry2 2024-12-02 19:05:04 +08:00
wuzhenghui 6f13d341c6 fix(esp_hw_support): fix retention link dump helper functions 2024-12-02 19:04:06 +08:00
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 a2d26ab56f fix(esp_system): deselect all modem modules clk source selection before clk init 2024-11-15 11:00:54 +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