Commit Graph

3193 Commits

Author SHA1 Message Date
Wu Zheng Hui
234c68ba93 Merge branch 'feat/support_esp32s31_xtal_fosc_force_pu' into 'master'
feat: update XTAL sleep FPU parameters to save power

Closes PM-824 and IDF-15576

See merge request espressif/esp-idf!51100
2026-08-10 15:37:00 +08:00
Sudeep Mohanty
b89de9bbaf Merge branch 'feat/improve_freertos_crit_section_perf' into 'master'
feat(freertos): Speed up multi-core critical section entry and exit

Closes IDFGH-18060

See merge request espressif/esp-idf!51531
2026-08-07 13:17:28 +02:00
Song Ruo Jing
4ecd3e2287 Merge branch 'bugfix/uart_extra_current_consumption_in_sleep' into 'master'
fix(uart): reduce current consumption in sleep mode

See merge request espressif/esp-idf!50416
2026-08-07 19:07:26 +08:00
Sudeep Mohanty
9ab3da0da8 feat(freertos): speed up SMP critical section enter and exit
The critical section port already disables interrupts and reads the core id for
the whole section, but spinlock_acquire()/spinlock_release() then disabled
interrupts again to the same level and re-read the core id register.

Add spinlock_acquire_impl()/spinlock_release_impl(), which take a caller-supplied
owner id and skip interrupt management, and reuse them from
spinlock_acquire()/spinlock_release() to avoid duplicated code. The Xtensa and
RISC-V ports now read the core id once and call the impl variants, removing one
core id read and one interrupt mask/restore per critical section enter and exit.

Closes https://github.com/espressif/esp-idf/issues/18908
2026-08-06 12:43:28 +02:00
Mahavir Jain
2495e37a48 Merge branch 'feat/pma_pmp_lock_policy' into 'master'
Stop locking PMP in the bootloader and freeze the entry layout

See merge request espressif/esp-idf!50326
2026-08-06 11:31:39 +05:30
Island
cf4564ffe4 Merge branch 'fix/fix_on_rf_regdma_trigger' into 'master'
Fix/fix on rf regdma trigger

Closes BLERP-2995

See merge request espressif/esp-idf!51272
2026-08-03 18:01:13 +08:00
Mahavir Jain
628c1f8785 Merge branch 'fix/harden_esp_hw_support' into 'master'
fix(esp_hw_support): harden memprot and fix bugs

Closes SEC-234, SEC-235, SEC-331, SEC-334, SEC-332, and SEC-333

See merge request espressif/esp-idf!49919
2026-08-03 14:24:39 +05:30
cjin
6f5e9e7b8e fix(sleep): fix reject trigger when wifi is enabled 2026-08-03 10:21:32 +08:00
He Binglin
dce537e00e Merge branch 'feat/esp_idf_h4_retention_clk_icg' into 'master'
feat(esp_hw_support): refactor PMU sleep icg and support retention ICG

See merge request espressif/esp-idf!48915
2026-07-31 10:35:19 +08:00
Renz Christian Bagaporo
7054ec851c Merge branch 'feat/cmakev2_ulp_legacy_shim' into 'master'
feat(ulp): build all legacy ULP projects through CMakev2

See merge request espressif/esp-idf!50143
2026-07-31 07:10:43 +08:00
Jiang Jiang Jian
1ef3966018 Merge branch 'fix/regdma_work_timeout' into 'master'
Workaround: add a write node to avoid the APB access timeout during REGDMA operations.

See merge request espressif/esp-idf!51146
2026-07-30 17:46:49 +08:00
sibeibei
71b4d98108 fix(esp_hw_support): use symbolic reg and document modem syscon workaround 2026-07-30 11:19:59 +08:00
sibeibei
0914dcc9b3 fix(esp_hw_support): use N_REGS_SYSCON() for modem syscon retention count 2026-07-30 10:59:58 +08:00
hebinglin
57daf0a8f7 feat(esp_hw_support): add backup clk icg support 2026-07-29 17:09:34 +08:00
hebinglin
a4889bd73d change(esp_hw_support): refactor pmu/esp_sleep param struct 2026-07-29 15:23:09 +08:00
hebinglin
33591e16b6 change(esp_hw_support): split the sleep_clock_icg APIs into sleep_clock_icg.c 2026-07-29 15:23:09 +08:00
hebinglin
d6b0a50c5d change(esp_hw_support): add esp sleep lock APIs for use in the sleep flow 2026-07-29 15:23:09 +08:00
harshal.patil
1d6c44a889 change(esp_hw_support): make ESP32-P4 rev < 3.0 PMP layout forward-compatible
Commit ab229a34 added PSRAM memory protection for ESP32-P4 rev < 3.0. It
consumed all 16 PMP entries and shifted the fixed LP-RAM (9-12 -> 11-14) and
peripheral (13 -> 15) entries to make room. Older bootloaders lock the
peripheral entry at its original index 13, so on a v5.3/v5.4 bootloader running
a newer application the LP-RAM entry that landed on the locked index 13 was
silently ignored, weakening LP-RAM protection.

Select the rev < 3.0 layout at runtime by probing whether the bootloader locked
the peripheral at entry 13:
 - locked (v5.3/v5.4) -> default layout (LP-RAM 9-12, peripheral 13), no PSRAM
   protection; these devices never had it (it was introduced in v5.5).
 - free (v5.5+)       -> PSRAM layout (flash/ext-RAM 6-10, LP-RAM 11-14,
   peripheral 15) with full external-RAM protection; the peripheral entry at 15
   matches the bootloader's lock.

This restores forward compatibility across all shipped rev < 3.0 bootloaders
without regressing PSRAM protection on the v5.5+ devices that already have it.
Chip revision >= 3.0 (32 PMP entries) is unaffected.
2026-07-29 11:41:22 +05:30
harshal.patil
80535b24a0 change(esp_hw_support): configure PMP only in the application and freeze its layout
A PMP entry the (non-OTA-updatable) bootloader locks cannot be reconfigured
by the application until CPU reset, so the layout of the entries a shipped
bootloader locks is a bootloader<->application ABI that renumbering would
silently break on deployed devices.
On C5, C6, C61, H2 and P4 the bootloader now configures only the PMA invalid regions
and leaves PMP to the application.

On C5 the application programs the two ROM entries without a cfg reset:
v6.0/v6.1 bootloaders lock the TOR base entry at SOC_IROM_MASK_LOW, so on
such devices the TOR region above it spans the ROM text and must keep the
X bit those bootloaders left in the following unlocked entry, which
OR-only writes can never clear. With newer bootloaders the application
receives clean entries and the ROM data region gets the intended strict R
permission.
2026-07-29 11:41:22 +05:30
Renz Bagaporo
1f5cba3070 fix(ulp): clarify buildv2 child marker
Rename the internal ULP child-build marker to __ULP_BUILDV2 so component CMake files make the build-system scope explicit.

Document that the marker is currently set only by the IDF_BUILD_V2 ULP child path.
2026-07-29 13:08:23 +09:00
Renz Bagaporo
a91a316449 ci(ulp): re-enable legacy ULP buildv2 jobs 2026-07-29 13:08:22 +09:00
Jiang Jiang Jian
8e7e031230 Merge branch 'feat/support_active_tickless_idle' into 'master'
feat(esp_pm): support freertos tickless IDLE with auto lightsleep disabled

Closes PM-799

See merge request espressif/esp-idf!49817
2026-07-28 17:04:50 +08:00
wuzhenghui
4d1fa9db5a change(esp_hw_support): update XTAL sleep FPU parameters 2026-07-27 14:25:26 +08:00
Jiang Jiang Jian
845820658c Merge branch 'fix/bind_lp_periph_pd_with_tsens_power' into 'master'
fix(esp_driver_tsens): bind lp_periph domain sleep pd with tsens power

See merge request espressif/esp-idf!51074
2026-07-27 10:33:28 +08:00
Wu Zheng Hui
61b2022e72 Merge branch 'fix/fix_deepsleep_deadlock_if_threadsafe_claim_is_not_enabled' into 'master'
fix(esp_hw_support): fix deepsleep deadlock if threadsafe claim is not enabled

Closes PM-820

See merge request espressif/esp-idf!51016
2026-07-24 20:18:14 +08:00
sibeibei
9b6d459133 feat(wifi): sel pll clk when sleep to modem 2026-07-24 16:36:32 +08:00
sibeibei
87b7e100dd Revert "feat(wifi): enable pll clk in modem state"
This reverts commit e238c5bdc6.
2026-07-24 16:16:29 +08:00
wuzhenghui
4336d78592 fix(esp_driver_tsens): bind lp_periph domain sleep pd with tsens power 2026-07-24 11:30:35 +08:00
Song Ruo Jing
246357a45d fix(uart): reduce current consumption in sleep mode 2026-07-23 15:42:12 +08:00
wuzhenghui
90cb8a760d feat(esp_hw_support): disable all unused pll source in rtc_clk_init to save power 2026-07-22 16:32:12 +08:00
wuzhenghui
7c75525edd fix(driver): fix drivers clock management 2026-07-22 16:32:12 +08:00
wuzhenghui
11ccd4c304 feat(esp_hw_support): support esp32s31 clock tree management 2026-07-22 16:32:12 +08:00
wuzhenghui
b697c31f40 fix(esp_hw_support): fix deepsleep deadlock if threadsafe claim is not enabled 2026-07-22 15:26:31 +08:00
wuzhenghui
0aa75e183b feat(esp_pm): add tickless idle support in WAITI mode to reduce power consumption 2026-07-22 12:55:53 +08:00
morris
26a22512eb refactor(hal): extract assist_debug, debug_probe and trace into esp_hal_debug_assist
Move the following modules from the hal component into a new dedicated
esp_hal_debug_assist component, following the esp_hal_timg pattern:

- assist_debug (hal + target-specific LL headers)
- debug_probe (types + target-specific LL headers)
- riscv_trace (hal + types + source + target-specific LL headers)
- trace_ll (esp32/esp32s2/esp32s3 target-specific LL headers)

Update the following components to depend on esp_hal_debug_assist:
esp_system, riscv, bootloader_support, esp_hw_support, esp_riscv_trace

Remove riscv_trace_hal.c from the hal component.
2026-07-21 11:28:11 +08:00
Island
de98d9d4ad Merge branch 'feat/feat_support_phy_enable_using_regdma' into 'master'
Feat/feat support phy enable using regdma

Closes BLERP-2376, BLERP-2381, and PM-635

See merge request espressif/esp-idf!46356
2026-07-21 10:40:03 +08:00
cjin
5db0097a27 feat(modem_clock): rename ble mac module to bt mac 2026-07-20 10:48:26 +08:00
cjin
7275f6ffbf feat(modem_clock): separete btmac module to btmac and bt peripheral 2026-07-20 10:48:26 +08:00
cjin
48c53023c8 feat(modem_clock): separate bt sec apb clock and add to bt apb module 2026-07-20 10:48:26 +08:00
cjin
9c432f41b5 feat(modem_clock): added bt_apb module and separete bt_apb from bt_mac module 2026-07-20 10:48:26 +08:00
Ma Jing Jing
fef97f4436 Merge branch 'feature/add_asrc_sleep_retention' into 'master'
feat(asrc): Add sleep retention

See merge request espressif/esp-idf!50719
2026-07-20 02:00:19 +00:00
Jiang Jiang Jian
a7c44ab4a0 Merge branch 'bugfix/add_en_rst_in_pvt_func_for_p4' into 'master'
fix(pvt): add en reset in pvt func for p4 on master

Closes IDFCI-12684, IDFCI-12696, IDFCI-12692, IDFCI-12694, IDFCI-12698, IDFCI-12724, IDFCI-12799, IDFCI-13041, IDFCI-13044, IDFCI-13043, IDFCI-12364, IDFCI-13073, IDFCI-7257, IDFCI-7261, IDFCI-12470, IDFCI-12471, IDFCI-13088, IDFCI-13042, IDFCI-7258, IDFCI-12693, IDFCI-12697, IDFCI-12695, IDFCI-11510, IDFCI-12465, IDFCI-12582, IDFCI-12474, IDFCI-12473, IDFCI-12463, IDFCI-7248, IDFCI-12469, IDFCI-12583, IDFCI-13098, IDFCI-13100, IDFCI-13099, IDFCI-13097, IDFCI-12363, and IDFCI-13217

See merge request espressif/esp-idf!50466
2026-07-17 16:20:39 +08:00
Jiang Jiang Jian
fa194a7cc2 Merge branch 'fix/move_cache_lock_workaround_out_of_ipc_stall' into 'master'
fix(esp_hw_support): disable esp32 livelock workaround before stall another core

Closes PM-814

See merge request espressif/esp-idf!50769
2026-07-17 11:26:06 +08:00
Wan Lei
b6d7b42642 Merge branch 'fix/spi_buslock_unregister_issue' into 'master'
fix(hw_support): spi buslock fix unregister dev api issue

Closes SEC-1147

See merge request espressif/esp-idf!50583
2026-07-17 11:16:41 +08:00
cjin
b182d69311 fix(phy): added fe set freq reset to rf retention list 2026-07-17 11:04:26 +08:00
cjin
63565f7f02 feat(modem): add phy retention related api 2026-07-17 11:04:26 +08:00
cjin
23239e4d99 feat(phy): add skip list to sleep phy link context and fix deinit crash 2026-07-17 11:04:26 +08:00
cjin
0d8ef62e8f feat(sleep): add config SOC_PM_SUPPORT_REGDMA_TRIGGERED_PHY 2026-07-17 11:04:26 +08:00
cjin
6ec7a718f9 feat(sleep_modem): allow multi modem to enable rf with regdma 2026-07-17 11:04:26 +08:00
cjin
226f11da96 feat(modem): rename the sleep modem functions 2026-07-17 11:04:26 +08:00