Commit Graph
2757 Commits
Author SHA1 Message Date
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
Jiang Jiang Jian 2eecc744b4 Merge branch 'fix/fix_random_ratio_test_v6.0' into 'release/v6.0'
fix(esp_hw_support): increase test rounds for in esp_random() test (v6.0)

See merge request espressif/esp-idf!48362
2026-05-12 18:11:07 +08:00
Omar Chebib 812c1895c7 fix(riscv): implement a workaround for Zcmp hardware bug 2026-05-12 17:58:23 +08:00
sibeibei 1d16c0fbad bugfix: fix wifi loss packet and missing interrupt issues when switching root clock source 2026-05-12 15:37:53 +08:00
sibeibei aa2bd15d46 Revert "fix(esp_hw_support): fix the issue of wifi rx packet loss when switchng soc root clock source"
This reverts commit 45ea08b955.
2026-05-12 15:37:50 +08:00
morris 4c811d1e48 Merge branch 'fix/flash_hpm_build_failure_v6.0' into 'release/v6.0'
fix(spi_flash): Fix flash hpm build failure (backport v6.0)

See merge request espressif/esp-idf!48378
2026-05-12 14:18:23 +08:00
morris cb8c421dd0 Merge branch 'bugfix/rtc_gpio_deinit_for_deep_slp_v6.0' into 'release/v6.0'
refactor(rtcio): split rtcio/gpio switch with rtc iomux func sel func (v6.0)

See merge request espressif/esp-idf!48294
2026-05-11 22:58:52 +08:00
wuzhenghui c9c849dd85 fix(esp_hw_support): fix core1 branch predictor access ext mem after cache disabled by core0 2026-05-11 17:40:04 +08:00
C.S.M 9025fffe44 fix(spi_flash): Fix flash hpm build failure,
Closes https://github.com/espressif/esp-idf/issues/18535
2026-05-11 16:13:45 +08:00
houhaiyan 6d3b78a8e1 feat(esp32p4): add H264 REGDMA link and sleep retention module 2026-05-11 15:10:35 +08:00
wuzhenghui 2ed383e8dd fix(esp_hw_support): increase test rounds for in esp_random() test 2026-05-11 14:25:26 +08:00
nilesh.kale 2a0e25ab74 fix(cpu_region_protect): set DROM mask PMP entry to read-only
PMP entry 3 (SOC_DROM_MASK_HIGH, TOR mode) in the memprot path
was incorrectly granted RW permission on esp32h21 and esp32c61.
The mask ROM data region is inherently read-only; remove the W bit.

Also added necessary tests to check voilations and re-enabled
tests for ESP32P4
2026-05-11 10:15:39 +05:30
Song Ruo Jing eef2153dd0 refactor(rtcio): split rtcio/gpio switch with rtc iomux func sel func
This allows rtc_gpio_deinit to always switch the pad back to GPIO,
regardless of lp io clock enabled or not, so that gpio_config can
always switch the IO back to GPIO use after wakeup from deep sleep.
2026-05-08 18:08:00 +08:00
hebinglin bce86ecd92 change(esp_system): add iram opt for rtc clk resart cases 2026-05-06 19:29:36 +08:00
Mahavir Jain bb72988732 Merge branch 'fix/p4_rev3_irom_drom_pmp_fixes_v6.0' into 'release/v6.0'
Reset stale PMP gap entries on P4 v3 before app memprot setup (v6.0)

See merge request espressif/esp-idf!48124
2026-05-03 21:28:50 +05:30