Commit Graph
2771 Commits
Author SHA1 Message Date
Fu Hanxi ddb9fd017c ci: apply idf-ci 1.x 2026-09-03 20:24:50 +02:00
Jiang Jiang Jian f6211328fe Merge branch 'feat/c5_eco4_newlib_support_v6.0' into 'release/v6.0'
change(esp_libc): use C5 ECO4 ROM newlib functions (v6.0)

See merge request espressif/esp-idf!51903
2026-09-03 19:53:38 +08:00
Roland Dobai d6ccd2a7df Merge branch 'feature/use_zcmp_by_default_v6.0' into 'release/v6.0'
feat(build): add ZCMP workaround post-build check (v6.0)

See merge request espressif/esp-idf!51326
2026-09-03 09:36:29 +02:00
Marius VikhammerandCursor 7b89184536 change(esp_libc): use C5 ECO4 ROM newlib functions
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 10:12:44 +08:00
Jiang Jiang Jian 27515af469 Merge branch 'fix/fix_deepsleep_deadlock_if_threadsafe_claim_is_not_enabled_v6.0' into 'release/v6.0'
fix(esp_hw_support): fix deepsleep deadlock if threadsafe claim is not enabled (v6.0)

See merge request espressif/esp-idf!51190
2026-08-20 20:45:23 +08:00
wuzhenghui b5bd8395fc fix(esp_hw_support): fix esp32p4 PVT clock lost 2026-08-19 11:50:48 +08:00
Armando (Dou Yiwen) 5af18cd40b fix(mpll): fix mpll calibration fail bug 2026-08-12 13:33:08 +08:00
Alexey Lapshin fbaf869fb9 feat(build): add RISC-V ZCMP post-link workaround check
Validate linked RISC-V executables when
CONFIG_COMPILER_ENABLE_RISCV_ZCMP is enabled on affected chips.
Disassemble each function and reject mstatus.MIE clears that lack an
earlier mintthresh write of 0xff.

Handle csrrci, csrrw, and register-mask csrrc patterns while ignoring
csrrs. Add build-only coverage for valid and invalid sequences with
CMake v1 and v2.

Stop the hardware stack guard before switching stacks during restart,
and keep ZCMP disabled for TEE test apps that still require the
workaround.
2026-07-30 12:14:54 +07:00
wuzhenghui 8bcb658ec0 fix(esp_hw_support): fix deepsleep deadlock at s_phy_int_mux 2026-07-27 15:14:40 +08:00
wuzhenghui 5d528ee6d4 feat(esp_hw_support): fix esp32p4 PVT retention link 2026-07-17 16:24:05 +08:00
yanzihan@espressif.com d6e6ee1dbb feat(pvt): add en reset in pvt func for p4 on master 2026-07-17 16:23:53 +08:00
Jiang Jiang Jian a89931243c Merge branch 'bugfix/change_pvt_timer_target_param_backport_v6.0' into 'release/v6.0'
feat(pvt): change pvt timer target & limit on release v6.0

See merge request espressif/esp-idf!50814
2026-07-17 16:13:16 +08:00
yanzihan@espressif.com 77effaabb2 feat(pvt): change pvt timer target & limit 2026-07-16 14:14:14 +08:00
wuzhenghui 68bb4a1c44 fix(esp_hw_support): disable esp32 livelock workaround before stall another core 2026-07-15 16:28:17 +08:00
wuzhenghui 8ff6ec32b0 fix(esp_hw_support): update memory pointer checks for SPM support 2026-07-10 12:38:47 +08:00
morris db3825c799 Merge branch 'fix/spi_buslock_multi_dev_acq_release_issue_v6.0' into 'release/v6.0'
fix(esp_hw_support): fixed spi buslock multi dev acq/release logic issue (v6.0)

See merge request espressif/esp-idf!49168
2026-07-07 14:53:55 +08:00
morris f4af8b9335 Merge branch 'feature/dma2d_ppa_sleep_retention_support_v6.0' into 'release/v6.0'
feat(ppa): add sleep retention support for DMA2D and PPA (v6.0)

See merge request espressif/esp-idf!50350
2026-07-07 10:35:38 +08:00
nilesh.kale 2f8960a8ed fix(esp_hw_support): Keep D-ROM PMP entry so newer apps boot on old bootloaders
ESP32-C6/H2 bootloaders <= v5.2.1 configure and lock PMP entries 3-4 as their
D-ROM region; a locked PMP entry cannot be reconfigured until CPU reset.
Commit 366e4ee944 ("Remove redundant PMP entry for ROM region") dropped the
D-ROM entry, and commit d4167fea60 (which also restructured C6/H2 PMP setup)
then renumbered the regions down, placing the application IRAM/DRAM split on
entries 3-4. On an already-deployed older bootloader those entries are locked,
so IRAM never gains execute permission and the chip resets before app_main()
(GitHub issue #18769).

Restore the separate (redundant) D-ROM PMP entry on indices 3-4 so the
application IRAM/DRAM split stays on entries 5-7, clear of the locked range.
This keeps newer applications bootable on older bootloaders.

Closes https://github.com/espressif/esp-idf/issues/18769
2026-07-03 20:57:18 +05:30
Song Ruo Jing abe1d3ae48 feat(ppa): add sleep retention support for DMA2D and PPA 2026-07-03 21:57:39 +08:00
morris 1c04de442d Merge branch 'feature/psram_halfsleep_mode_support_v6.0' into 'release/v6.0'
feat(psram): allow PSRAM to enter halfsleep mode during light sleep (v6.0)

See merge request espressif/esp-idf!49759
2026-07-03 11:14:20 +08:00
hebinglin 7f67950e83 fix(esp_hw_support): fix LP core exception interrupt not being cleared 2026-06-29 16:27:05 +08:00
hebinglin a764b5f222 fix(ulp): record wakeup causes before lp core request sleep 2026-06-29 16:25:56 +08:00
Jiang Jiang Jian 543395fb87 Merge branch 'fix/use_unilock_for_sleep_process_v6.0' into 'release/v6.0'
fix(esp_hw_support): use same lock for lightsleep/deepsleep process (v6.0)

See merge request espressif/esp-idf!49847
2026-06-29 15:42:06 +08:00
Jiang Jiang Jian 87d6d58dc8 Merge branch 'fix/move_system_retention_to_esp_hw_support_v6.0' into 'release/v6.0'
refactor(esp_hw_support): move system_periph_retention from soc to esp_hw_support (v6.0)

See merge request espressif/esp-idf!49750
2026-06-29 15:41:21 +08:00
wanckl 94831e429b fix(esp_hw_support): fixed spi buslock multi dev acq/release logic issue 2026-06-29 15:41:15 +08:00
Jiang Jiang Jian e3ef21aa13 Merge branch 'feat/support_usb_wakeup_v6.0' into 'release/v6.0'
feat: support usb as wakeup source from light sleep (v6.0)

See merge request espressif/esp-idf!49502
2026-06-29 15:39:20 +08:00
Jiang Jiang Jian e1b8106e92 Merge branch 'doc-fix_sleep_mode_doc_v6.0' into 'release/v6.0'
docs(system): update GPIO wakeup section for clarity on EXT0 and EXT1 support (v6.0)

See merge request espressif/esp-idf!49113
2026-06-29 15:36:02 +08:00
wuzhenghui 44fc6c986f fix(esp_hw_support): use same lock for lightsleep/deepsleep process 2026-06-22 11:26:25 +08:00
wuzhenghui 8950ee3cd9 fix(esp_hw_support): fix psram data corrupt after lightsleep if halfsleep is enabled 2026-06-18 11:50:42 +08:00
wuzhenghui b7f8e676be fix(esp_hw_support): adjust PSRAM half-sleep resume handling for CONFIG_SPIRAM_XIP_FROM_PSRAM 2026-06-18 11:50:42 +08:00
Song Ruo Jing 33ad4d358a feat(psram): allow PSRAM to enter halfsleep mode during light sleep 2026-06-18 11:50:35 +08:00
wuzhenghui c669729707 refactor(esp_hw_support): move system_periph_retention from soc to esp_hw_support 2026-06-17 12:18:57 +08:00
JiangGuangMingandCursor a90989cd6f feat(usb): add usb wakeup from light sleep example
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 09:24:04 +08:00
JiangGuangMingandCursor e89a04d89e feat(sleep/usb): support usb as wakeup source from light sleep
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 09:13:20 +08:00
Frantisek Hrbata 003e049ba8 fix(esp_hw_support): guard SPIRAM-dependent code with !BOOTLOADER_BUILD
The bootloader subproject's full Kconfig discovery resolves CONFIG_SPIRAM=y
when the parent app has it enabled, even though esp_psram is not linked
into the bootloader (the CMake gate is
'if(NOT non_os_build) if(CONFIG_SPIRAM) idf_component_optional_requires(PRIVATE esp_psram)').
Shared sources in esp_hw_support that #include esp_psram private headers
or call esp_psram functions guarded only by '#if CONFIG_SPIRAM' then fail
to compile in the bootloader with
"fatal error: esp_private/esp_psram_extram.h: No such file or directory".

Mirror the CMake gate in source guards: every '#if CONFIG_SPIRAM' block in
a bootloader-compiled source that touches esp_psram becomes
'#if !BOOTLOADER_BUILD && CONFIG_SPIRAM'. The leaked CONFIG_SPIRAM value
in the bootloader's sdkconfig.h is then harmless because every dependent
block evaluates to false.

Sites updated:
- esp_memory_utils.c: include of esp_psram_extram.h and all
  esp_psram_check_ptr_addr() call sites
- port/esp32{c5,c61,p4}/cpu_region_protect.c: include of
  esp_psram_extram.h (inner SPIRAM_FETCH/RODATA/PRE_CONFIGURE blocks are
  already inside outer !BOOTLOADER_BUILD guards)

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-06-08 18:34:50 +08:00
yanzihan@espressif.com c348f39ad4 feat(pvt): fix monitor en rst error in pvt func on v6.0 2026-06-04 17:36:20 +08:00
Jiang Jiang Jian ee92b559f0 Merge branch 'fix-fix_ub_in_gpio_wakeup_setting_v6.0' into 'release/v6.0'
fix(esp_hw_support): add validation for gpio_pin_mask (v6.0)

See merge request espressif/esp-idf!49106
2026-06-03 10:55:54 +08:00
wuzhenghui b1a40fc626 docs(system): update GPIO wakeup section for clarity on EXT0 and EXT1 support 2026-06-02 20:52:10 +08:00
wuzhenghui 7cd6206eeb fix(esp_hw_support): add validation for gpio_pin_mask 2026-06-01 19:34:46 +08:00
wuzhenghui 12af88b3d9 fix(esp_hw_support): fix possible dead lock in deepsleep process 2026-05-29 21:21:36 +08:00
Xiao Xufeng 475ec39cb4 fix(mspi): fixed possible boot failure in some builds when psram is enabled
A typical scenario is: when XIP on PSRAM enabled, compiler optimization level is Os. Under certain binary layout, boot hangs and backtrace points to `esp_sleep_config_gpio_isolate`.

The root cause is that, during PSRAM initialization, it calls esp_gpio_reserve, which happens to place before the reported function. However, after call, there is no barrier before the clock adjustment in `mspi_timing_enter_low_speed_mode`. The clock gets changed when the cache is still fetching data, resulting in the corrupted data in the end of the cache line.

This commits add spi_flash_disable_cache as a barrier to make sure the cache transactions is finished before the clock switch.
2026-05-15 17:31:37 +08:00
Chen Jichang d1a64bffc0 refactor(clk_tree): use general api to enable the clk 2026-05-15 13:55:37 +08:00
Jiang Jiang Jian e5191e1612 Merge branch 'bugfix/idf_13957_v6.0' into 'release/v6.0'
bugfix: fix wifi loss packet and missing interrupt issues when switching root clock source

See merge request espressif/esp-idf!48432
2026-05-15 12:32:25 +08:00
sibeibei 51775582e6 bugfix(esp_hw_support):remove ESP32-C5 root clock auto gating bypass in sleep path 2026-05-14 17:16:52 +08:00
morris ba0b59f9d4 Merge branch 'backport/h264_regdma_retention_v6.0' into 'release/v6.0'
feat(esp32p4): add H264 REGDMA link and sleep retention module

See merge request espressif/esp-idf!48375
2026-05-14 11:57:50 +08:00
Jiang Jiang Jian 6ca4c34d5f Merge branch 'fix/implement_zcmt_workaround_v6.0' into 'release/v6.0'
fix(riscv): implement a workaround for Zcmp hardware bug (backport v6.0)

See merge request espressif/esp-idf!46753
2026-05-13 22:02:32 +08:00
sibeibei 45132d0eab fix(wifi): IRAM for regdma path used in modem pd light sleep 2026-05-12 19:22:54 +08:00
sibeibei 86a9823e5e fix(wifi): fix modem sleep flag clear failed 2026-05-12 19:22:54 +08:00
Aditya Patwardhan 58ae4daa56 Merge branch 'fix/pmp_drom_mask_read_only_v6.0' into 'release/v6.0'
fix(cpu_region_protect): set DROM mask PMP entry to read-only (v6.0)

See merge request espressif/esp-idf!47575
2026-05-12 16:15:49 +05:30
Jiang Jiang Jian 88e9940f2d Merge branch 'fix/disable_core1_branch_predictor_in_sleep_process_v6.0' into 'release/v6.0'
fix(esp_hw_support): fix core1 branch predictor access ext mem after cache disabled by core0 (v6.0)

See merge request espressif/esp-idf!48384
2026-05-12 18:11:56 +08:00