Commit Graph

3272 Commits

Author SHA1 Message Date
wuzhenghui
66482b8109 fix(esp_hw_support): only bypass pll_160 clock management if PVT is enabled 2026-09-16 19:37:33 +08:00
Michael.B
923bce4161 refactor(pmu): move S31 dbias vol gap getter from efuse_ll to pmu_ll
Keep PMU calibration efuse reads in the PMU LL layer, matching other chips.
2026-09-16 18:31:28 +08:00
yanzihan@espressif.com
38fea2d793 feat(esp_hw_support): use pvt auto dbias to support for esp32s31 2026-09-16 18:31:27 +08:00
muhaidong
69b860b6b8 fix(wifi): fix regdma restore ba bitmap fail issue 2026-09-15 20:37:33 +08:00
wuzhenghui
a14ab4d942 fix(esp_hw_support): disable BBPLL after sleep if clk_tree ref is zero
PLL_SOURCE retention may leave BBPLL on; sync HW in pmu_sleep_finish and keep is_power_on in IRAM.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-15 20:37:33 +08:00
wuzhenghui
81a97f38b0 fix(esp_hw_support): wait pll ready before modem clock retention for s31 2026-09-15 20:37:33 +08:00
Ivan Grokhotkov
f1abda1535 Merge branch 'feature/cache_access_counters' into 'master'
feat(esp_hw_support): add cache access counter API

See merge request espressif/esp-idf!50600
2026-09-14 17:21:49 +02:00
Mahavir Jain
0d1b945b16 Merge branch 'fix/fix_clk_tree_abba_deadlock' into 'master'
fix(esp32s31): break clk_tree and deadlock with PERIPH_RCC

Closes PM-871

See merge request espressif/esp-idf!52621
2026-09-13 16:40:51 +05:30
Ivan Grokhotkov
b171649d67 Merge branch 'fix/usb_bbpll_light_sleep' into 'master'
fix(usb_phy): Fixed USB PHY clock during low-power modes

Closes IDFGH-14711

See merge request espressif/esp-idf!51822
2026-09-11 13:04:30 +02:00
morris
9e2cd97330 refactor(cache): move cache profile counter support to hal
Move the cache profile counter type definitions to hal/cache_types.h so
that
esp_cache_cnt.h can use them without depending on the public soc header
soc/cache_periph.h (which CI rejects as non-public).

The remaining cache_periph.h header and its per-target cache_periph.c
sources
are moved from the soc component into the hal component, with the
sources
organized per target directory as usual for the hal component.

Removes the soc/cache_periph.h dependency from esp_cache_cnt.h and
hal/cache_ll.h by using hal/cache_periph.h instead.
2026-09-11 11:30:29 +02:00
Ivan Grokhotkov (bot)
16078650c8 feat(esp_hw_support): add cache access counter API 2026-09-11 11:30:28 +02:00
Jiang Jiang Jian
5755871cb4 Merge branch 'bugfix/idfci-13866' into 'master'
config wakeup gpio pin internal pullup to avoid input floating

Closes IDFCI-13866

See merge request espressif/esp-idf!52588
2026-09-11 10:47:04 +08:00
Jiang Jiang Jian
342dd1f9c4 Merge branch 'feat/esp_idf_h4_clk_tree_management' into 'master'
Feat/esp idf h4 h21 clk tree management

Closes PM-858 and PM-653

See merge request espressif/esp-idf!50653
2026-09-11 10:38:04 +08:00
Armando (Dou Yiwen)
496c0b6377 Merge branch 'refactor/flash_refactor' into 'master'
spi_flash: split driver and os driver into `spi_flash` and `esp_mspi` components

Closes IDF-15210

See merge request espressif/esp-idf!45409
2026-09-10 07:29:01 +00:00
morris
a0772ce93a refactor(pmu): move PMU calibration efuse getters from efuse_ll.h to pmu_ll.h
Move the PMU internal voltage calibration related efuse read LL
functions
from efuse_ll.h into pmu_ll.h, renaming them with the pmu_ll prefix.
efuse_ll.h should only contain efuse controller or system-global
functions;
other modules' private efuse bits belong to their own LL layer.

Affected chips: esp32c5, esp32c6, esp32c61, esp32h2, esp32h4, esp32p4.

Moved functions (renamed efuse_ll_get_* -> pmu_ll_get_*):
- get_active_hp_dbias, get_active_lp_dbias
- get_dbias_vol_gap
- get_lslp_dbg, get_dslp_dbg (where present)
- get_lslp_hp_dbias, get_dslp_lp_dbias (where present)
- get_dslp_dbias (esp32h2)
2026-09-10 09:53:06 +08:00
morris
da3e20988f Merge branch 'ci/reenable_h4_eco2_target_test' into 'master'
feat(esp32h4): remove the support of esp32h4 rev0

Closes IDF-16110

See merge request espressif/esp-idf!52538
2026-09-09 16:03:35 +08:00
wuzhenghui
b72f7a91ce fix(esp32s31): break clk_tree and RCC ABBA deadlock
Keep gated-clk refcnt under s_clk_tree_spinlock only, and call
esp_crypto_common_clk_enable outside PERIPH_RCC so crypto (RCC→clk_tree)
and modem (clk_tree→RCC) cannot deadlock on periph_spinlock

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 14:34:07 +08:00
Armando (Dou Yiwen)
5e181236b7 refactor(mspi): move esp_mspi_align and mspi_mem_barrier to esp_mspi 2026-09-09 14:17:00 +08:00
armando
6e3abd12a1 refactor(spi_flash): move os layer to esp_mspi and chip configs to spi_flash
Also fixes the implicit dependency on esp_partition.
2026-09-09 14:17:00 +08:00
Jiang Jiang Jian
716e9e5121 Merge branch 'fix/fix_cryto_module_locked_after_pd_top_lslp' into 'master'
fix(esp_hw_support): fix cryto module locked after pd_top lightsleep

Closes WIFIBUG-2126 and PM-861

See merge request espressif/esp-idf!52460
2026-09-09 13:59:46 +08:00
Li Shuai
b8bac92866 fix(unit-test): config wakeup gpio pin internal pullup to avoid input floating 2026-09-09 11:30:44 +08:00
Tomas Rezucha
994d2b4203 fix(usb_phy): Fixed USB PHY clock during low-power modes
On ESP32-S3, USB PHY is clocked from BBPLL,
however if the BBPLL is not used as CPU clock source,
the power management unit can turn it off.
This commit registers USB as BBPLL consumer so it is not turned off.

Closes https://github.com/espressif/esp-idf/issues/15451
2026-09-08 14:47:25 +02:00
Alexey Gerenkov
88462c1ac9 Merge branch 'riscv_panic_bp_fix' into 'master'
fix(esp_system/panic): ensure breakpoint set from panic handler gets hit afterwards

See merge request espressif/esp-idf!51694
2026-09-08 18:23:32 +08:00
C.S.M
8e5b83e7cc fix(brownout): Fixed threshold value for esp32h4 and esp32h21 2026-09-08 14:21:36 +08:00
Chen Jichang
c950e7bae0 feat(esp32h4): remove the support of esp32h4 rev0 2026-09-08 10:30:20 +08:00
wuzhenghui
061881f90c fix(esp_hw_support): wait DS/ECDSA idle before restore its PCR on wakeup 2026-09-07 15:08:56 +08:00
wuzhenghui
781ecb1a72 fix(esp_hw_support): ungate security clock in retention since ds/ecdsa auto working after PU 2026-09-07 15:08:56 +08:00
wuzhenghui
a0803ddd01 fix(esp_hw_support): restore brownout after deep sleep rejection on ESP32-S2
ESP32-S2 disables the brownout detector before deep sleep; if sleep is
rejected, re-init it so BOD is not left disabled (PM-519).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-04 20:18:44 +08:00
Jiang Jiang Jian
4b2669edde Merge branch 'feat/pm_components_ram_optimize' into 'master'
feat(pm): pm components ram optimize

Closes PM-840

See merge request espressif/esp-idf!51672
2026-09-04 10:32:26 +08:00
Samuel Obuch
2faeddce31 fix(esp_system/panic): ensure breakpoint set from panic handler gets hit afterwards 2026-09-03 12:36:02 +02:00
Jiang Jiang Jian
73114d5a84 Merge branch 'bugfix/fix_wifi_wakeup_failed_from_modem_state' into 'master'
fix(wifi): fix wifi wakeup failed from modem state

Closes PM-860

See merge request espressif/esp-idf!52143
2026-09-02 17:28:01 +08:00
Mahavir Jain
a3192567d5 Merge branch 'feat/cpu_region_protection_h4' into 'master'
Memory region protection for ESP32-H4

Closes IDF-12588

See merge request espressif/esp-idf!47070
2026-08-31 17:41:52 +05:30
Mahavir Jain
d3fe62cee4 Merge branch 'feat/tee_sec_stg_non_det_sign' into 'master'
change(esp_tee): Force non-deterministic ECDSA signing for TEE secure storage keys

Closes IDF-15937 and IDF-15939

See merge request espressif/esp-idf!50355
2026-08-31 16:07:52 +05:30
wuzhenghui
a9dee592d6 feat(esp_hw_support): use dynamic memory allocation for retention module instances 2026-08-31 16:08:43 +08:00
wuzhenghui
3c2a0cb4f6 change(esp_hw_support): optimize pmu_sleep RAM cost 2026-08-31 15:26:22 +08:00
wuzhenghui
14e25a8abc change(esp_hw_support): optimize sleep_phy retention static RAM cost 2026-08-31 15:26:22 +08:00
wuzhenghui
11c590c053 change(esp_hw_support): optimize retention driver RAM cost 2026-08-31 15:26:18 +08:00
Chen Jichang
3e32f8bb54 feat(esp32h4): update rom.ld files for esp32h4 eco2 2026-08-28 15:31:08 +08:00
Laukik Hase
4812dbd2d8 feat(esp_tee): Use CTR-DRBG for assisting random number generation in TEE
- For ESP-TEE, fault-assert in `esp_random()` if the RNG is held in a
  freeze state
2026-08-28 10:20:54 +05:30
hebinglin
2b4c200dab change(esp_hw_support): use PM_MODEM_STATE_ENABLED to enable related feature 2026-08-27 23:16:03 +08:00
hebinglin
3f9dfb4649 change(esp_hw_support): fill H4 M2A clk power tie-high from active clk power 2026-08-27 23:16:03 +08:00
hebinglin
c8d733e402 change(esp_hw_support): keep PLL across DFS/sleep on esp32h4/h21 2026-08-27 23:16:03 +08:00
hebinglin
2ba98dfa42 change(esp_hw_support): use clk_tree manage active clk power 2026-08-27 23:16:03 +08:00
sibeibei
378590ccff fix(wifi): fix wifi wakeup failed from modem state 2026-08-27 16:54:18 +08:00
hebinglin
df77b4bd38 feat(esp_hw_support): support esp32h4/h21 clk tree management 2026-08-27 14:40:42 +08:00
Roland Dobai
099dc69d3f Merge branch 'fix/esp_mspi_align_psram_buildv2' into 'master'
fix(esp_hw_support): Exclude MSPI alignment helper from bootloader

See merge request espressif/esp-idf!51919
2026-08-26 13:56:49 +02:00
harshal.patil
53c9439161 change(esp_hw_support): rework ESP32-H4 region protection to the application-owned layout
The bootloader programs only unlocked PMA entries (no PMP), so the layout is
not a bootloader<->application ABI; the application resets all entries, programs
them in ascending order from IRAM, and locks everything. Verified on ESP32-H4 v0.1.
2026-08-25 10:40:28 +05:30
harshal.patil
a7f4dbf35a fix(soc): make SOC_RAM_ICACHE1_HIGH an exclusive bound on ESP32-H4
Every other SOC_*_HIGH macro in soc.h is an exclusive region end;
SOC_RAM_ICACHE1_HIGH was the inclusive last byte (0x40867fff). This
also made the reclaimed ICache1 heap region in single core mode
(components/heap/port/esp32h4/memory_layout.c, sized as HIGH - LOW)
one byte short. Change the value to the exclusive end 0x40868000 and
drop the +1 compensation at the SOC_HP_RAM_HIGH definition.
2026-08-25 10:40:28 +05:30
harshal.patil
07debe6edc feat(esp_hw_support): Memory region protection for ESP32-H4 2026-08-25 10:40:28 +05:30
Armando (Dou Yiwen)
b532be2707 Merge branch 'fix/fix_mpll_cali_flow_s31' into 'master'
mpll: improved mpll calibration flow on s31

See merge request espressif/esp-idf!51928
2026-08-25 02:48:14 +00:00