Commit Graph
100 Commits
Author SHA1 Message Date
Wu Zheng Hui 5a682c3bbb Merge branch 'feature/optimize_chips_active_power' into 'master'
feat(system): Optimize the power consumption of esp32h2 and esp32c6 in the active state

Closes IDF-5658

See merge request espressif/esp-idf!27798
2024-03-14 12:08:33 +08:00
Wu Zheng Hui bb25cc1234 Merge branch 'feature/esp32p4_sleep_support' into 'master'
feat(esp_hw_support): esp32p4 sleep support (Stage 1: support basic pmu sleep function 💤)

Closes IDF-7528 and IDF-7527

See merge request espressif/esp-idf!28196
2024-03-14 10:17:32 +08:00
wuzhenghui 0fc97f0e84 feat(gpio): support LP_IO clock gating management 2024-03-13 11:56:14 +08:00
wuzhenghui 92849e660e fix(mbedtls): fixing ecdsa's dependence on ecc_mult clock 2024-03-12 10:10:42 +08:00
wuzhenghui 0b920ec08a change(esp_phy): close esp32h2 rf pll by default 2024-03-12 10:10:41 +08:00
wuzhenghui 9e8e20227f feat(system): disable RNG module clock by default for save power 2024-03-12 10:10:41 +08:00
wuzhenghui 2a251982fc feat(system): add option to allow user disable assist_debug module to save power 2024-03-12 10:10:40 +08:00
wuzhenghui b0fa4565a1 feat(system): add option to allow user disable USJ module to save power 2024-03-12 10:10:36 +08:00
wuzhenghui 174386f133 ci: enable lightsleep related tests 2024-03-10 10:51:28 +08:00
wuzhenghui 129bfce02e feat(esp_hw_support): support esp32p4 pll start/stop event callback 2024-03-10 10:51:28 +08:00
wuzhenghui 1e17cecd24 feat(example): support esp32p4 timer/gpio/uart sleep wakeup 2024-03-10 10:51:28 +08:00
wuzhenghui 65e9d0ddb9 feat(esp_hw_support): add esp32p4 sleep initial support 2024-03-10 10:51:28 +08:00
wuzhenghui 856f043331 feat(esp_hw_support): add esp32p4 pmu initial support 2024-03-10 10:51:28 +08:00
wuzhenghui 85b246ac88 feat(system): gate the debug clock source by default for esp32c6 and esp32h2 2024-03-07 19:26:39 +08:00
wuzhenghui f5707c6ab8 feat(system): gate the REF_TICK clock by default for esp32c6 and esp32h2 2024-03-07 19:26:38 +08:00
wuzhenghui 60e985e7af feat(system): gate the LP peripheral clock by default for esp32c6 and esp32h2 2024-03-07 19:26:38 +08:00
wuzhenghui 0528c8b4f4 feat(system): gate the HP peripheral clock by default for esp32c6 and esp32h2 2024-03-07 19:26:37 +08:00
wuzhenghui 48e6629987 change(hal): redefine some ll for unsafe calling 2024-03-07 19:26:37 +08:00
Wu Zheng Hui f3b95059f9 Merge branch 'bugfix/fix_sleep_cache_safe_assertion' into 'master'
fix(esp_hw_support): fix cache safe check function

See merge request espressif/esp-idf!29246
2024-02-28 10:50:52 +08:00
wuzhenghui 4e731e8612 fix(esp_hw_support): fix cache safe check function 2024-02-27 17:29:24 +08:00
Wu Zheng Hui 3560d20a2e Merge branch 'docs/add_description_for_pd_top_gpio_configuration' into 'master'
docs(esp_pm): Adding notes on configuring GPIOs when using PD_TOP sleep

Closes IDFGH-12085 and IDFGH-13186

See merge request espressif/esp-idf!29097
2024-02-22 16:11:47 +08:00
wuzhenghui d688492fe9 docs(gpio): add description for gpio_force_hold_all & gpio_force_unhold_all
Closes https://github.com/espressif/esp-idf/issues/13186
2024-02-21 16:21:03 +08:00
wuzhenghui cfd8c6fb94 docs(esp_pm): Adding notes on configuring GPIOs when using PD_TOP sleep
Closes https://github.com/espressif/esp-idf/issues/13143
2024-02-21 16:20:59 +08:00
Wu Zheng Hui 5454d37d49 Merge branch 'feature/support_gdma_retention' into 'master'
feature: support gdma retention in pd_top lightsleep

Closes IDF-7704 and IDFGH-11389

See merge request espressif/esp-idf!27246
2024-02-04 20:17:02 +08:00
wuzhenghui 247b4e0574 change(esp_hw_support): collect retention link priority definition 2024-02-02 11:21:44 +08:00
wuzhenghui 6ef9a7f591 ci: enable hardware crypto module for powersave tests 2024-02-02 11:21:44 +08:00
wuzhenghui 0c2f811ca8 feat(esp_hw_support): support gdma register context sleep retention 2024-02-02 11:21:40 +08:00
Wu Zheng Hui 55f04b3326 Merge branch 'feature/clean_up_retention_context_definitions' into 'master'
refactor(esp_hw_support): move sleep retention context definition to soc target folder

Closes PM-10

See merge request espressif/esp-idf!26753
2024-01-24 20:24:02 +08:00
wuzhenghui f3f12e973c refactor(esp_hw_support): separate different chip system peripheral regs context defs to target folder 2024-01-23 13:30:01 +08:00
wuzhenghui 9b3dc69908 refactor(esp_hw_support): move regdma structure defination to soc components 2024-01-23 11:51:44 +08:00
wuzhenghui 2bd755c95d refactor(esp_hw_support): move TIMG_WDT_WKEY_VALUE defination from hal to soc 2024-01-23 11:51:44 +08:00
Wu Zheng Hui d3df4246d8 Merge branch 'bugfix/fix_systick_lost_in_esp32_dfs' into 'master'
fix(esp_pm): safely check ccompare validity in DFS update_ccompare

Closes IDF-8879

See merge request espressif/esp-idf!28176
2024-01-18 16:16:08 +08:00
wuzhenghui 0dc7cad586 fix(esp_pm): safely check ccompare validity in DFS update_ccompare 2024-01-18 10:34:47 +08:00
Wu Zheng Hui 8d165aa767 Merge branch 'bugfix/clear_lp_sw_trigger_int_before_sleep' into 'master'
fix(ulp): add api to get lp_cpu wakeup cause and clear wakeup source at startup

Closes IDFGH-11526

See merge request espressif/esp-idf!27747
2023-12-18 20:20:02 +08:00
wuzhenghui 5351275c87 change(esp_hw_support/sleep): rename ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY
1. Rename ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY to ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY
2. Set ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY visible for all targets
2023-12-18 19:56:56 +08:00
wuzhenghui a967a207c9 feat(ulp): add api to get lp_cpu wakeup cause and clear wakeup source at startup
Closes https://github.com/espressif/esp-idf/issues/12651
2023-12-18 11:29:53 +08:00
wuzhenghui 7de2728733 fix(esp_hw_support/sleep): wait flash ready after non-pd_top lightsleep for esp32c6 2023-12-14 08:57:06 +00:00
Wu Zheng Hui 8eee6529dd Merge branch 'bugfix/fix_rtc_us_to_cycle_div_zero_in_deepsleep' into 'master'
fix(esp_hw_support/sleep): fix rtc_time_us_to_slowclk div zero in deepsleep process

Closes IDFGH-11574

See merge request espressif/esp-idf!27590
2023-12-08 13:57:01 +08:00
wuzhenghui e1d24ebd7f fix(esp_hw_support/sleep): fix rtc_time_us_to_slowclk div zero in deepsleep process
Closes https://github.com/espressif/esp-idf/issues/12695
2023-12-07 07:50:32 +00:00
wuzhenghui 5280ef4924 fix(esp_hw_support): fix ble on esp32c6eco1 depends on wifipwr clock domain 2023-12-07 14:02:04 +08:00
wuzhenghui b6669d76b2 fix(esp_hw_support): fix esp32h2 system link restore override cpu clk configuration 2023-12-06 13:58:51 +08:00
Wu Zheng Hui 24a000d2fa Merge branch 'bugfix/fix_uart_disabled_in_driver_cause_restart_stuck' into 'master'
fix(esp_system): fix uart clock disabled in driver cause esp_restart stuck

Closes IDF-8738

See merge request espressif/esp-idf!27409
2023-11-27 16:47:25 +08:00
wuzhenghui 04fcfff5e0 fix(esp_system): fix uart clock disabled in driver cause esp_restart stuck 2023-11-27 12:06:07 +08:00
Wu Zheng Hui 581824d1f2 Merge branch 'feature/reinitialize_icg_map_in_modem_module_enable' into 'master'
fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable

Closes WIFI-6312

See merge request espressif/esp-idf!27168
2023-11-23 11:55:34 +08:00
wuzhenghui 6661e11203 fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable 2023-11-17 14:05:23 +08:00
Wu Zheng Hui a2f0198cd1 Merge branch 'bugfix/fix_onebyte_watchpoint_setting' into 'master'
fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting

See merge request espressif/esp-idf!27159
2023-11-17 10:47:23 +08:00
wuzhenghui 783059a592 fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting 2023-11-16 18:11:57 +08:00
wuzhenghui 161bd8bfed change(soc): rename SOC_CPU_WATCHPOINT_SIZE to SOC_CPU_WATCHPOINT_MAX_REGION_SIZE 2023-11-16 18:11:57 +08:00
Wu Zheng Hui bb95f9bcc6 Merge branch 'bugfix/fix_psram_access_faild_after_pd_cpu_wakeup' into 'master'
fix(esp_pm): fix psram access failed after pd_cpu wakeup if uart driver driven console is used

Closes WIFIBUG-238

See merge request espressif/esp-idf!27020
2023-11-14 11:50:50 +08:00
wuzhenghui 59ad88d9f7 fix(esp_pm): fix psram access faild after pd_cpu wakeup 2023-11-13 16:32:30 +08:00
wuzhenghui 232187d12c change(esp_pm): improve POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP description
Rename PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP to PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP
and improve the description for it
2023-11-13 16:32:25 +08:00
wuzhenghui 0ab0d2182e fix(esp_hw_support): fix lightsleep current leakage on usb-phy controlled pad 2023-11-11 13:00:55 +08:00
Wu Zheng Hui 573d06f6f7 Merge branch 'bugfix/move_fe_32m_to_adc_fe_common_clock' into 'master'
fix(esp_hw_support): move fe_32m to fe/adc common clock

Closes IDF-8540

See merge request espressif/esp-idf!27030
2023-11-10 23:40:31 +08:00
wuzhenghui 1537cbf9c7 fix(esp_hw_support): move fe_32m to fe/adc common clock 2023-11-09 17:26:24 +08:00
Wu Zheng Hui a9ea49cba2 Merge branch 'bugfix/clear_ulp_wake_intr_in_wake_source_enable' into 'master'
fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable

Closes PM-14

See merge request espressif/esp-idf!26674
2023-11-07 16:58:38 +08:00
wuzhenghui ad2629af54 ci(ulp_test): fix fake sleep of the maincore in ulp pytest cases 2023-10-30 11:18:01 +08:00
wuzhenghui 18f984fd9c fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable 2023-10-30 11:18:01 +08:00
wuzhenghui 8bc69e0354 fix(esp_system): increase esp32h2 slow clock calibration timeout watchdog threshold 2023-10-23 21:24:56 +08:00
wuzhenghui d6cda1b6e1 ci(esp_hw_support): add test case for gpio output internal clock feature ci 2023-10-20 14:55:10 +08:00
wuzhenghui 7195bf19df feat(esp_hw_support): support one-to-many signal-gpio mapping output 2023-10-20 14:55:06 +08:00
wuzhenghui 6a436286dc feat(esp_hw_support): add api to gpio driver to support output internal clock on GPIO 2023-10-20 14:35:26 +08:00
wuzhenghui 1f10c84a4f change(hal): rewrite gpio_ll_set_iomux_pin_ctrl api 2023-10-19 22:24:08 +08:00
wuzhenghui 97e001d603 fix(esp_hw_support): fix pm tests failure caused by non-iram safe test code 2023-10-17 20:56:43 +08:00
wuzhenghui c667f5a864 feat: support dump last time sleep context 2023-10-09 10:42:10 +08:00
wuzhenghui c8083b07bf feat(modem_clock): separate management of modem_adc_common_fe clock and modem_private_fe 2023-09-28 17:41:42 +00:00
wuzhenghui 5926116644 change(heap): fix and clean memory caps defination in memory_layout
1. move startup_stack attr from soc_memory_type_desc_t to soc_memory_region_t and
   remove unused aliased_iram field
2. all of the last level of RAM is retention dma accessible on esp32c3
3. remove esp32c2 and later chips retention dma accessible memory caps
4. allow allocate memory from RTC_RAM with MALLOC_CAP_EXEC cap
2023-09-28 07:53:20 +00:00
wuzhenghui 7a0684d03f fix(sleep): fix pma cfg csr regs bad retention 2023-09-22 11:47:45 +08:00
wuzhenghui 34f89091b2 fix(sleep): fix modem reject the deepsleep request 2023-09-21 15:11:55 +08:00
Wu Zheng Hui 2319f2a59e Merge branch 'bugfix/suppress_compiler_warning_if_silent_reboot_is_enabled' into 'master'
fix(esp_system): suppress compiler warning if ESP_SYSTEM_PANIC_SILENT_REBOOT is enabled

See merge request espressif/esp-idf!25909
2023-09-13 10:45:31 +08:00
wuzhenghui 6fea0260a3 fix(esp_system): suppress compiler warning if ESP_SYSTEM_PANIC_SILENT_REBOOT is enabled 2023-09-12 16:30:42 +08:00
wuzhenghui eeab989d09 fix(esp_rom): fix esp32c6, esp32h2 hp_regi2c ops data conflict with phy ops 2023-08-22 11:00:00 +08:00
wuzhenghui dae4b3f046 ci(wifi): add wifi powersave pytest case 2023-08-10 16:26:28 +08:00
wuzhenghui e148390b6d feat(esp_wifi): support get AP info from stdin in wifi powersave example 2023-08-10 16:26:25 +08:00
wuzhenghui a425d8816a feat(esp_hw_support): manage modem_etm clock in modem_clock for bt/154 indepently 2023-08-09 20:19:50 +08:00
wuzhenghui e9c6083729 fix(light_sleep): shouldn't backup uart fifo reg in pd_top light sleep 2023-08-08 16:45:17 +08:00
wuzhenghui 8b5052f213 fix(light_sleep): save vddsdio_config before lightsleep 2023-08-04 11:58:07 +08:00
wuzhenghui 0b0e8ab80b fix(light_sleep): suspend/resume cache correspondingly after light sleep 2023-08-04 11:56:55 +08:00
wuzhenghui c34cdd05e9 fix(esp_hw_support): manage i2c_ana_mst clock witch modem clock driver 2023-08-04 10:39:43 +08:00
Wu Zheng Hui 016cb6a19a Merge branch 'bugfix/fix_cache_data_mem_corrupt_after_sleep' into 'master'
fix(lightsleep): Suspend cache before goto sleep to avoid cache load wrong data

Closes IDFCI-1760

See merge request espressif/esp-idf!25084
2023-08-02 11:02:01 +08:00
wuzhenghui 26618ad536 fix(lightsleep): suspend cache before goto sleep
There is a possibility that the cache is still accessing the
SPI flashwhen sleep isolating SPI IO, so it is necessary to
wait for the cache to be free before requesting sleep.
2023-08-01 16:29:04 +08:00
wuzhenghui 842ff10777 fix(soc): fix wrong freq definition for 26Mhz version esp32c2 soc 2023-07-15 01:54:48 +08:00
Wu Zheng Hui deae388e3c Merge branch 'bugfix/fix_sleep_cache_spi_safe_issues' into 'master'
Power Management: fix cache spi flash related issues in sleep process

Closes WIFI-6009 and IDF-7572

See merge request espressif/esp-idf!24270
2023-07-15 00:37:31 +08:00
wuzhenghui 797efb1dd3 ci: add pd_vddsdio in lightsleep UT tests
- Add pd_vddsdio in lightsleep UT tests to ensure proper functionality
2023-07-14 21:21:23 +08:00
wuzhenghui a5c992c8af fix(esp_pm): fix PM_SLP_IRAM_OPT/PM_RTOS_IDLE_OPT feature
- Fix flash accessed code to resolve issues with PM_SLP_IRAM_OPT/PM_RTOS_IDLE_OPT enabled
2023-07-14 21:21:19 +08:00
wuzhenghui 4e9cc65763 change(uart): change sleep code to be cache safe
- Set uart ll with FORCE_INLINE_ATTR
- Add no_flash API periph_ll_uart_enabled api
2023-07-14 20:12:59 +08:00
wuzhenghui 6c14e1de9f fix: put vddsdio configure api always in iram if pd_flash is enabled
- Put vddsdio configure api always in iram if pd_flash is enabled to ensure access flash at flash unavailable time
2023-07-14 20:12:59 +08:00
wuzhenghui 9f993705a6 fix: wait spi bus idle before hold CS pin
- Wait for spi bus idle before holding CS pin to prevent hold selected state during sleep
2023-07-14 20:12:59 +08:00
wuzhenghui b9550a1609 feat: support cache safe assertion check
- Add support for cache safe assertion check to ensure that code expected to be in RAM is in IRAM
2023-07-14 20:12:59 +08:00
wuzhenghui 2b600df4ee fix(esp_pm): Constrains the minimum frequency of APB_MAX when the modem is working 2023-07-14 20:10:16 +08:00
Wu Zheng Hui e9b6472753 Merge branch 'bugfix/enable_i2c_master_clock_in_bbpll_configure' into 'master'
fix(rtc_clk): fix i2c master clock missing in bbpll configure

Closes WIFI-6147

See merge request espressif/esp-idf!24765
2023-07-14 00:40:21 +08:00
wuzhenghui 14ea226351 fix(rtc_clk): fix i2c master clock missing in bbpll configure 2023-07-13 14:07:35 +08:00
Wu Zheng Hui 4c713227ae Merge branch 'bugfix/fix_idf_monitor_parsing_pc_with_wrong_rom_elf' into 'master'
bugfix: fix idf passing wrong chip revision to idf_monitor

See merge request espressif/esp-idf!24609
2023-07-11 17:14:10 +08:00
Wu Zheng Hui 94613a5904 Merge branch 'bugfix/fix_deepsleep_wakestub_example_ci_failure_master' into 'master'
ci: fix deepsleep wakestub example ci failure

See merge request espressif/esp-idf!24466
2023-07-07 11:38:14 +08:00
wuzhenghui 05d15a2eed sleep: enrich top_domain_pd_allowed function description 2023-07-05 11:16:44 +00:00
wuzhenghui 6713bb9951 ci: increase timeout threshold to solve deepsleep wakestub example ci failure 2023-07-05 11:16:44 +00:00
wuzhenghui 78c959b13e fix: fix idf passing wrong chip revision to idf_monitor 2023-07-05 17:30:12 +08:00
Wu Zheng Hui 173d0951ee Merge branch 'feature/improve_pd_vddsido_help_doc' into 'master'
Power Management: improve ESP_SLEEP_PSRAM/FLASH_LEAKAGE_WORKAROUND help doc

Closes IDFGH-10297

See merge request espressif/esp-idf!24301
2023-06-26 23:01:31 +08:00
wuzhenghui 95c79e7ec5 Kconfig: improve ESP_SLEEP_PSRAM/FLASH_LEAKAGE_WORKAROUND help doc
Closes https://github.com/espressif/esp-idf/issues/11558
2023-06-26 11:51:56 +08:00
Wu Zheng Hui c41abacb3a Merge branch 'feature/enable_sleep_reject_for_deep_sleep' into 'master'
sleep: enable sleep reject when entering deepsleep

Closes WIFI-6010

See merge request espressif/esp-idf!24127
2023-06-25 00:02:32 +08:00
wuzhenghui 6fe405bffc ci: fix failed ci test jobs 2023-06-21 15:24:50 +08:00