Commit Graph
100 Commits
Author SHA1 Message Date
Lou Tianhao 4c3f6efbd7 fix(pm): cancel cache_safe_assertion when using ext0 & ext1 2024-09-04 11:27:26 +08:00
Lou Tianhao 45990692d1 change(pm): change dependence of pm_slp_iram_opt 2024-08-28 14:22:18 +08:00
Lou Tianhao dc9f9bf957 docs(pm): add description for gpio_wakeup 2024-06-26 14:04:49 +08:00
Lou Tianhao 7b10c2421f fix(esp_system): fix core1 access cache when core0 close cache during sleep 2024-05-20 15:01:08 +08:00
Lou Tianhao e3ec2724e7 remove(wifi): sleep_retention member in struct wifi_osi_funcs_t 2024-04-12 14:14:13 +08:00
Lou Tianhao 4061e282dd draft(i2c): need to support regdma_i2c for esp32c5beta3 2024-04-12 14:14:06 +08:00
Lou Tianhao 534e7a528f feat(pm): support pd top for esp32c5beta3 2024-04-12 11:34:54 +08:00
Lou Tianhao 2c59c4fbf2 fix(ci): bypass c5mp ci check 2024-04-10 20:45:49 +08:00
Lou Tianhao 22c66db66b draft(esp_hw_support): need to support rtcio for c5beta3 2024-04-10 11:45:15 +08:00
Lou Tianhao 3fb4909483 feat(example): support esp32c5 timer/gpio/uart wakeup 2024-04-10 11:45:04 +08:00
Lou Tianhao 86221b2ed7 change(esp_hw_support): remove fast osc calibration during light sleep(need c5mp to fix) 2024-04-09 20:58:42 +08:00
Lou Tianhao 8b3b1470b5 change(esp_hw_support): support cpu retention and power off during sleep for esp32c5 beta3 2024-04-09 20:58:42 +08:00
Lou Tian Hao 5fa57d12b2 Merge branch 'feature/esp32c5beta3_light_sleep_support_stage_0' into 'master'
feat(esp_hw_support): esp32c5 sleep support (Stage 1: support modem clock)

Closes IDF-8845

See merge request espressif/esp-idf!29839
2024-03-27 14:33:04 +08:00
Lou Tianhao 85e803ded4 docs(pm): add description for newly added filed in modem_syscon 2024-03-27 11:40:32 +08:00
Lou Tianhao 4535dfdd49 change(pm): esp32c5 hardware does not have clk_fe_cal_160m_en 2024-03-26 19:59:05 +08:00
Lou Tianhao bd4147b5ef fix(ci): add sdkconfig head and change some macro 2024-03-26 19:59:00 +08:00
Lou Tianhao f5487c72ab change(pm): move the modem_clock-related code outside SOC_PM_SUPPORT_PMU_MODEM_STATE 2024-03-26 19:55:06 +08:00
Lou Tian Hao ebbff30163 Merge branch 'docs/add_internal_inspection_mechanism_description_for_ext1' into 'master'
docs(pm): add internal inspection mechanism description doc for ext1

See merge request espressif/esp-idf!29149
2024-02-23 13:24:11 +08:00
Lou Tian Hao 5e9d02549f docs(pm): improve chinese description 2024-02-23 11:05:49 +08:00
Lou Tianhao 71c8879099 docs(pm): add internal inspection mechanism description doc 2024-02-22 19:24:08 +08:00
Lou Tian Hao 8bcac0bd7a Merge branch 'change/support_test_io_wakeup' into 'master'
change(pm): change test_io_wakeup

See merge request espressif/esp-idf!28368
2024-01-11 16:53:09 +08:00
Lou Tianhao 19f2149390 change(pm): change test_io_wakeup 2024-01-11 11:07:16 +08:00
Lou Tian Hao d8dfdd9c6f Merge branch 'feature/support_test_io_wakeup' into 'master'
feat(pm): add test_io_wakeup

Closes PM-66

See merge request espressif/esp-idf!27460
2024-01-08 15:37:03 +08:00
Lou Tianhao e28606aed2 feat(pm): add test_io_wakeup 2024-01-08 11:12:25 +08:00
Lou Tian Hao b74cc4637b Merge branch 'feature/support_hw_trigger_regdma_when_pu_top' into 'master'
fix(pm):  trigger regdma retention by PMU when TOP is not power down on esp32H2

Closes PM-47 and PM-65

See merge request espressif/esp-idf!28046
2024-01-08 10:44:06 +08:00
Lou Tianhao aed3127d19 feat(pm): support PMU trigger regdma when PU TOP 2024-01-05 16:17:32 +08:00
Lou Tian Hao fedb3d9f9d Merge branch 'change/change_regdma_power_issue_macro' into 'master'
change(pm): change name SOC_PM_RETENTION_HAS_REGDMA_POWER_BUG

Closes PM-45

See merge request espressif/esp-idf!27934
2023-12-19 11:19:51 +08:00
Lou Tianhao d8b1f7207a change(pm): change macro SOC_PM_RETENTION_HAS_REGDMA_POWER_BUG 2023-12-15 15:04:06 +08:00
Lou Tian Hao e4ba9ac3c4 Merge branch 'doc/change_deepsleep_example_readme' into 'master'
Doc/change deepsleep example readme

Closes IDFGH-11523

See merge request espressif/esp-idf!27413
2023-11-29 11:32:01 +08:00
Lou Tianhao 29488207ff docs(pm):add uart wakeup description when pd top 2023-11-28 19:31:33 +08:00
Lou Tianhao e54684754c docs(pm):add gpio wakeup description when pd top 2023-11-28 12:02:25 +08:00
Lou Tianhao 5793945499 docs(pm):change_deepsleep_example_readme 2023-11-28 12:02:25 +08:00
Lou Tian Hao cde12242b4 Merge branch 'feature/support_ext1_clear_spec_pins' into 'master'
feat: support ext1 add or remove spec pin for chips which support ext1 wakeup

Closes IDFGH-11440

See merge request espressif/esp-idf!26999
2023-11-21 11:29:33 +08:00
Lou Tianhao ea7cfc40ae change(pm/ext1): replace esp_sleep_clear_ext1_wakeup_io by esp_sleep_disable_ext1_wakeup_io 2023-11-20 19:30:50 +08:00
Lou Tianhao b86d550ec5 change(pm/ext): remove ext0_wakeup_clear and ext1_wakeup_clear 2023-11-20 16:36:50 +08:00
Lou Tianhao 8db9f79bd2 change(pm/ext1): replace esp_sleep_set_ext1_wakeup_io by esp_sleep_enable_ext1_wakeup_io 2023-11-20 16:04:01 +08:00
Lou Tianhao d97f45b3a8 bugfix: ext0_wakeup_prepare func when s_config.wakeup_triggers & RTC_EXT0_TRIG_EN == false 2023-11-20 16:03:57 +08:00
Lou Tianhao 7343d16a13 change(pm): add ESP_PM_LOCK_MAX in esp_pm_lock_type_t and change some description for esp_pm_lock_create 2023-11-17 16:24:01 +08:00
Lou Tianhao aaa1ea8af1 docs(pm/ext1): support esp_sleep_enable_io_ext1_wakeup and esp_sleep_disable_io_ext1_wakeup 2023-11-17 16:23:56 +08:00
Lou Tianhao a02f72bb81 change(pm/ext1): replace deprecated ext1 func 2023-11-17 16:20:54 +08:00
Lou Tianhao 5b91acb1a1 fix(pm/ext1): ext1_wakeup_prepare func when s_config.wakeup_triggers & RTC_EXT1_TRIG_EN == false 2023-11-17 16:20:38 +08:00
Lou Tianhao cc0e73a11f feat(pm/ext1): support esp_sleep_enable_io_ext1_wakeup and esp_sleep_disable_io_ext1_wakeup
squash! feat(pm/ext1): support esp_sleep_enable_io_ext1_wakeup and esp_sleep_disable_io_ext1_wakeup
2023-11-17 16:20:38 +08:00
Lou Tianhao 7469df6c14 fix(pm/ext1): fix c6 h2 lp_aon_ll_ext1_set_wakeup_pins func 2023-11-17 11:38:20 +08:00
Lou Tian Hao ca32e5268b Merge branch 'change/change_some_code_for_sleep_callback' into 'master'
change(pm): change sleep callback implement

See merge request espressif/esp-idf!26461
2023-10-24 10:15:09 +08:00
Lou Tianhao 13a405a32b change(pm): Change sleep callback implement 2023-10-23 08:13:47 +00:00
Lou Tianhao 2d3f95dad4 bugfix(pm): fix esp_sleep_enable_ext1_wakeup func
regression introduced in commit<808a01e65>
2023-10-10 19:30:38 +08:00
Lou Tian Hao adae54faca Merge branch 'bringup/support_callback_mechanism_in_lightsleep_flow' into 'master'
Power Management: support_callback_mechanism_in_lightsleep_flow

Closes WIFI-5936

See merge request espressif/esp-idf!24597
2023-10-08 20:16:01 +08:00
Lou Tianhao 450e685cb7 feat(PowerManagement/lightsleep): Support ESP_SLEEP_EVENT_CALLBACKS 2023-09-25 15:39:18 +08:00
Lou Tianhao a28a09855d feat(PowerManagement/lightsleep): Support PM_LIGHT_SLEEP_CALLBACKS 2023-09-25 15:39:12 +08:00
Lou Tianhao 34f8f1bb2c feat(PowerManagement/lightsleep): Define and export a strong symbol of rv_core_critical_regs_restore 2023-09-20 21:49:57 +08:00
Lou Tian Hao 925a7310ca Merge branch 'feat/add_internal_pull_up_or_pull_down_option_for_deepsleep_wakeup_prepare' into 'master'
feat(pm): add internal pull-up/downs option for gpio used for deepsleep wakeup

Closes IDFGH-10994

See merge request espressif/esp-idf!25972
2023-09-20 10:44:07 +08:00
Lou Tianhao 88364b8b11 feat(pm): add internal pull-up/downs option for gpio used for deepsleep wakeup
stash
2023-09-19 11:00:59 +08:00
Lou Tian Hao 5690d7b4dc Merge branch 'docs/add_ext1_wakeup_per_pin_description_for_c6_and_h2' into 'master'
docs(pm): add ext1 wakeup per pin description

See merge request espressif/esp-idf!25759
2023-09-11 13:07:48 +08:00
Lou Tianhao 72d7a7884d docs(pm): add ext1 wakeup per pin description 2023-09-06 11:59:55 +08:00
Lou Tian Hao 0878b9bdcd Merge branch 'feature/support_EXT1_WAKEUP_MODE_PER_PIN_for_esp32c6_and_esp32h2' into 'master'
Feature: support ext1 wakeup mode per pin for esp32c6 and esp32h2

See merge request espressif/esp-idf!24875
2023-08-10 14:01:03 +08:00
Lou Tianhao 808a01e656 feat(pm/deepsleep): Support EXT1_WAKEUP_MODE_PER_PIN 2023-08-09 19:46:25 +08:00
Lou Tianhao d59e91c030 feature: support_hp_regi2c_for_esp32c6 2023-08-09 14:24:31 +08:00
Lou Tian Hao 791360336a Merge branch 'feature/support_pd_hp_aon_domain_in_deepsleep' into 'master'
Feature: support pd hp aon domain in deepsleep

See merge request espressif/esp-idf!25175
2023-08-07 17:28:40 +08:00
Lou Tianhao caddc10bf3 feat(pm/deepsleep): support pd hp aon domain in deepsleep 2023-08-03 17:23:02 +08:00
Lou Tian Hao 3f6be5938b Merge branch 'docs/rewrite_all_low_to_any_low_when_not_esp32' into 'master'
Docs: rewrite_all_low_to_any_low_when_not_esp32

See merge request espressif/esp-idf!24997
2023-08-01 20:56:36 +08:00
Lou Tian Hao 3b14a9d58e Merge branch 'support/deep_sleep_test_for_esp32h2' into 'master'
Support: enable CI test for esp32h2 deep_sleep

Closes IDF-7838

See merge request espressif/esp-idf!25002
2023-08-01 17:37:10 +08:00
Lou Tianhao f33188fb35 docs(pm/sleep): rewrite_all_low_to_any_low_when_not_esp32 2023-08-01 11:53:14 +08:00
Lou Tianhao 34b269fb03 remove(pm/deep_sleep): enable CI test for esp32h2 deepsleep 2023-07-27 12:11:35 +08:00
Lou Tian Hao 57c6c0a1a3 Merge branch 'bringup/esp32h2_deep_sleep_for_rebase' into 'master'
esp32h2: support deep_sleep

Closes IDF-6268, IDF-6572, and IDF-7406

See merge request espressif/esp-idf!24438
2023-07-24 10:47:51 +08:00
Lou Tianhao 0d30bbe855 change(pm/deepsleep): rewrite the option all low as any low for esp32s2, esp32s3, esp32c6 and esp32h2 2023-07-21 20:44:15 +08:00
Lou Tianhao 44cd96b543 change(pm/deepsleep): remove disable rtcio before hold it when ext1 wakeup 2023-07-21 20:44:09 +08:00
Lou Tianhao a80c8c018c feat(pm/deepsleep): Support EXT1 wakeup pin select 2023-07-20 11:43:57 +08:00
Lou Tianhao e70763f9a4 feat(pm/deepsleep): Support EXT1 wakeup for esp32h2 deep_sleep 2023-07-20 11:43:57 +08:00
Lou Tianhao 7bd92287c4 change(pm/deepsleep): Update deep_sleep pmu analog parameter for esp32h2 2023-07-20 11:43:57 +08:00
Lou Tianhao dcacd8cdf8 feat(pm/deepsleep): Support deep_sleep example and deep_sleep_wake_stub example for esp32h2 2023-07-20 11:43:57 +08:00
Lou Tian Hao 4cf39d7851 Merge branch 'update/pm_trace_io_num_for_esp32h2' into 'master'
bugfix: update pm trace io num for esp32h2

Closes IDF-7657

See merge request espressif/esp-idf!24559
2023-07-04 23:14:14 +08:00
Lou Tianhao 3513d82df0 remove: TODO IDF-7555 2023-07-03 20:29:27 +08:00
Lou Tianhao bedc26d032 bugfix: update pm trace io num for esp32h2 2023-07-03 17:23:48 +08:00
Lou Tian Hao 7c2ac1feb6 Merge branch 'bringup/esp32h2_light_sleep_for_rebase' into 'master'
esp32h2: support light_sleep

Closes IDF-6266 and IDF-7359

See merge request espressif/esp-idf!23567
2023-06-28 10:37:18 +08:00
Lou Tianhao c7c937ea75 bugfix: set FORCE_INLINE_ATTR for resume_uart 2023-06-27 18:35:16 +08:00
Lou Tianhao 5c608f0f50 TODO: IDF-7657 2023-06-27 18:34:33 +08:00
Lou Tianhao d585861d22 TODO: IDF-7555 2023-06-26 21:05:17 +08:00
Lou Tianhao 6ee0f89676 Power Management: fix hp xtal wait bug for esp32h2 and esp32c6 2023-06-26 21:05:17 +08:00
Lou Tianhao a329b15e7e Power Management: support pu xtal in light sleep for esp32h2 2023-06-26 21:05:16 +08:00
Lou Tianhao 117008143b bugfix: remove the workaround implemented in MR 22773 about the lp_timer 2023-06-26 21:05:16 +08:00
Lou Tianhao 01fb28b65b Power Management: move lp_timer_hal.c to upper hal layer for esp32h2 and esp32c6 2023-06-26 21:05:16 +08:00
Lou Tianhao b5a293ab69 Power Management: support RC32K or Crystal32K powered down 2023-06-26 21:05:16 +08:00
Lou Tianhao 9613692350 codeclean: fix prefix to LP_AON and add LP_AON_STORE8_REG 2023-06-26 21:05:16 +08:00
Lou Tianhao 7fd74057a3 example: bringup light sleep example for esp32h2 2023-06-26 21:05:16 +08:00
Lou Tianhao 2657d8f307 Power Management: change the IO hold interface for esp32c6 2023-06-26 21:05:16 +08:00
Lou Tianhao ca55b91242 Power Management: update pmu init and sleep parameter 2023-06-26 21:05:16 +08:00
Lou Tianhao b06cadddb3 Power Management: fix REGDMA clock issue when wake up form light sleep 2023-06-26 21:05:10 +08:00
Lou Tianhao d3ca0656c8 Power Management: support MODEM domain powered down in light sleep for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao 8457998505 Power Management: fix REGDMA power issue when TOP domain powered down during light sleep for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao b4210682c8 Power Management: support TOP domain powered down in light sleep for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao 46cf3ecdc2 Power Management: support PAU REGDMA feature for esp32h2 2023-06-26 20:58:59 +08:00
Lou Tianhao 6ea441c815 Power Management: support CPU powered down in light sleep for esp32h2 2023-06-26 20:57:55 +08:00
Lou Tianhao 63d32ab620 Power Management: support DFS and PMU feature for esp32h2 2023-06-26 20:57:55 +08:00
Lou Tianhao a07c736d71 bugfix: make ahb freq consistent with cpu freq 2023-01-28 10:48:51 +08:00
Tian Hao 30fbd99ad0 fix bug sleep may cause HCI timeout
When Host run different cpu and sleep enable, it may cause hci
timeout about 10s.
2020-01-20 17:44:03 +08:00
Tian Hao f351effdb2 fix Kconfig use mistake cause some config not effect
1. Fix bluedroid task pinned_to_core un-effected
2. other minor sdkconfig bugs
2020-01-20 17:43:36 +08:00
Tian Hao bcce4e3052 fix bug that phy_enter_critical cannot effect on dual-core
Sometimes, libphy.a call phy_enter_critical() to protect accessing
critical sections, such like operating on I2C, but it may not effect
when both the CPU core call it. It may cause accessing I2C blocking
and cannot recover by esp_restart(), until do HW reboot.
2019-12-02 14:56:18 +08:00
Tian Hao 4987a5ad90 fix bug that semaphore may schedule out in Critical Section
1. Since BLE full-scan feature for BLE mesh change the controller code cause this problem,
it cause coex semaphore take in "interrupt disable", then it may cause task schedule
and cause crash in freertos
2. Fix newlib lock ISR context and critical section check
3. Fix bt controller ISR context and critical section check
2019-10-28 18:43:35 +08:00
Tian Hao 3af18c0422 fix some coex bugs
1. fix the bug that bb reset lock unhandled may cause assert in vPortCPUReleaseMutexIntsDisabledInternal
2. fix wifi mac reset may blocking then cause wdt timeout
3. fix bug wifi mac reset before coex init
2019-08-30 22:06:29 +08:00
Tian Hao a9dfae66ea bugfix btdm sleep twice after wakeup request
This problem may cause HCI send command timeout.

When host call VHCI api to do btdm_wakeup_request, then controller
wakeup process will be handled in ISR and controller task context.
As host task priority is lower than controller task and ISR,
it will cause an incorrect behavior that before VHCI take the
rx_flow_on_semaphore, controller sleep again, then VHCI cannot take
the semaphore and has to wait the automatic wakeup.
2019-08-04 07:17:13 +00:00