Commit Graph

1804 Commits

Author SHA1 Message Date
Renz Christian Bagaporo
17a9a5cf21 Merge branch 'ci/reenable_unicore_bl_test_h4' into 'master'
test(ci): re-enable skipped ESP32-H4 unicore bootloader tests

Closes IDF-15620

See merge request espressif/esp-idf!48556
2026-05-26 10:45:46 +08:00
Peter Dragun
05faa941c2 fix(esp32c5): Do not disable UART0 sclk when USB Serial/JTAG is primary console
This is a workaround for rom code issue, which can cause the chip to end in infinite loop
when reset is triggered from esptool/idf-monitor. This is only applicable to ESP32-C5 rev <= 1.0.

Closes https://github.com/espressif/esp-idf/issues/18089
2026-05-25 08:35:15 +02:00
Wu Zheng Hui
2fcaddb700 Merge branch 'fix/fix_psram_data_corrupt_after_lightsleep' into 'master'
fix(esp_hw_support):fix psram data corrupt after lightsleep

Closes PM-941

See merge request espressif/esp-idf!48322
2026-05-22 15:11:41 +08:00
Renz Bagaporo
335fd1c24f fix(esp_system): configure ESP32-H4 ICACHE1_USAGE in app startup
Configure the ESP32-H4 ICACHE1_USAGE SRAM ownership bit during app startup
instead of relying on the value left by the bootloader.

Clear ICACHE1_USAGE before external memory/cache setup so single-core apps can
reclaim the ICACHE1 SRAM region as RAM. For multicore apps, set the bit again
when applying multicore cache settings so the region is assigned back to
ICACHE1.

This keeps the app behavior aligned with its own single-core or multicore
configuration even when bootloader and app configs differ.
2026-05-22 12:57:33 +09:00
hebinglin
5710783a89 feat(esp_hw_support): support entry 2 xtalx2 power pu in esp32h4 2026-05-21 19:55:37 +08:00
Li Shuai
ec1705c362 change(esp_system): support system minimum digital peripherals retention runtime attach and detach 2026-05-21 11:46:16 +08:00
wuzhenghui
858ecf6f70 feat(esp_hw_support): check psram data is not corrupted after lightsleep 2026-05-19 21:01:21 +08:00
wuzhenghui
4876a7ad94 fix(esp_system): fix build err if int_wdt is not enabled on esp32 2026-05-19 11:32:42 +08:00
wuzhenghui
11a8a16639 fix(esp_system): remove intwdt config critical area for chips except esp32 2026-05-19 11:28:48 +08:00
Gao Xu
b66f6bcc86 Merge branch 'feat/cam_support_s31' into 'master'
Support dvp cam on ESP32-S31

Closes IDF-14722

See merge request espressif/esp-idf!47850
2026-05-15 10:03:53 +08:00
gaoxu
4e3751b32e feat(cam): support dvp cam on ESP32-S31 2026-05-14 17:09:49 +08:00
Alexey Gerenkov
edb75262a1 Merge branch 'feature/update-esp-clang-to-esp-21.1.3_20260304' into 'master'
feat(tools): update esp-clang version to esp-21.1.3_20260408

Closes IDF-14965, LLVM-501, and LLVM-531

See merge request espressif/esp-idf!46361
2026-05-13 22:54:10 +08:00
Marius Vikhammer
8f6ea2a1ba test(ci): re-enable ESP32-H4 in core system test apps
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 09:00:12 +08:00
Chen Jichang
3c3b9a6a4e ci(esp32h4): disable tests which cannot pass 2026-05-11 16:48:58 +08:00
Marius Vikhammer
8611150899 Merge branch 'bugfix/ulp_max_mem' into 'master'
fix(ulp): correct target LP memory reservation limits

Closes IDF-11974

See merge request espressif/esp-idf!48065
2026-05-08 14:08:21 +08:00
Alexey Gerenkov
f16bb34ff7 fix(build): fix Clang 21 build warnings/errors 2026-05-07 17:42:38 +03:00
Jiang Jiang Jian
d9cfb2908a Merge branch 'bugfix/idf_13957' into 'master'
bugfix: fix wifi loss packet and missing interrupt issues when switching root clock source

Closes WIFI-7270, IDF-13957, and IDF-11064

See merge request espressif/esp-idf!46459
2026-05-07 20:57:31 +08:00
wuzhenghui
3f6957450f feat(esp_hw_support): support psram PD_TOP retention 2026-05-07 12:02:01 +08:00
wuzhenghui
f1f3f204fe feat(esp_hw_support): support esp32s31 lightsleep/deepsleep example 2026-05-06 20:15:01 +08:00
Marius Vikhammer
0ab385ab88 fix(ulp): correct target LP memory reservation limits
The configured maximum should match each target's fixed LP/RTC
reservations so menuconfig does not advertise values that the linker
cannot support.

Keep the linker failure explicit about CONFIG_ULP_COPROC_RESERVE_MEM
because application RTC sections still share the remaining LP/RTC RAM.
2026-05-06 17:37:35 +08:00
sibeibei
8d46db9b42 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-06 15:49:47 +08:00
Marius Vikhammer
979aa6a094 Merge branch 'feature/s31_bootloader_sup' into 'master'
feat(esp32s31): add bootloader support

Closes IDF-14663

See merge request espressif/esp-idf!48013
2026-05-06 15:39:48 +08:00
Guillaume Souchere
89fbcebcd2 Merge branch 'feat/riscv-spiram-stack-pointer-update-before-restart' into 'master'
fix(esp_system): fix PSRAM stack crash in esp_restart_noos on RISC-V SPIRAM chips

Closes IDF-15595

See merge request espressif/esp-idf!47849
2026-04-29 08:42:53 +02:00
Marius Vikhammer
261bd160aa feat(ulp): support placing ULP app in HP-RAM 2026-04-29 09:47:33 +08:00
Guillaume Souchere
0ce211539a fix(esp_system): PSRAM stack crash in esp_restart_noos on RISC-V chips
On RISC-V chips with SPIRAM support (esp32c5, esp32c61, esp32h4, esp32p4,
esp32s31), esp_restart_noos() was disabling the cache while the current
stack pointer could still be in external RAM. Any stack access after cache
disable (function call, local variable spill) would then fault with
"Cache disabled but cached memory region accessed".

Xtensa chips (esp32, esp32s2, esp32s3) already had this guard via the
SET_STACK macro. Add the equivalent for RISC-V:

- Add rv_utils_set_sp() to riscv/rv_utils.h (plain "mv sp, %0" with a
  memory clobber; no window register management needed on RISC-V)
- In each affected system_internal.c, under
  CONFIG_FREERTOS_TASK_CREATE_ALLOW_EXT_MEM, check whether the current
  SP is in PSRAM and if so switch it to the top of internal BSS before
  any cache disable or writeback operation
- Fix xTaskCreateStaticPinnedToCore() stack size argument in the
  spiram_stack test (was passing bytes instead of word count)
- Mark the null-pointer write in func_do_exception() as volatile to
  prevent the compiler from optimizing it away
- Extend the [spiram_stack] tests to RISC-V by sharing fibonacci() and
  the task/finish helpers across architectures, guarding only the
  Xtensa-specific WINDOWBASE/WINDOWSTART prints
2026-04-28 11:08:55 +02:00
Marius Vikhammer
8ea6a8ef9c feat(esp32s31): add bootloader support 2026-04-28 13:59:33 +08:00
Samuel Obuch
878e041e03 feat(esp_system): stop other core for unicore esp32s31 2026-04-23 08:37:44 +02:00
Marius Vikhammer
5f4161b710 Merge branch 'feature/lockup_debug' into 'master'
feat(esp_system): add CPU lockup debug support for esp32h4 and esp32s31

See merge request espressif/esp-idf!47630
2026-04-22 17:52:36 +08:00
Marius Vikhammer
8e2b416c38 feat(esp_system): add CPU lockup debug support for esp32h4 and esp32s31 2026-04-22 11:11:02 +08:00
Marius Vikhammer
1af2cc08bb Merge branch 'feature/ulp_esp32s31' into 'master'
feat(ulp): add support for ulp on esp32s31

Closes IDF-14640

See merge request espressif/esp-idf!47268
2026-04-20 19:19:35 +08:00
He Binglin
1714d6a2c4 Merge branch 'feat/esp_idfesp32h4_eco1_sleep_support' into 'master'
Feat/ESP32H4 ECO1 Sleep Support

Closes PM-633

See merge request espressif/esp-idf!47023
2026-04-20 15:44:19 +08:00
Marius Vikhammer
10637dbf5e feat(ulp): add support for ulp on esp32s31 2026-04-20 14:45:23 +08:00
C.S.M
3c00b1fa54 Merge branch 'feat/bod_bringup_h4' into 'master'
feat(bod): Add bod support on esp32h4

Closes IDF-12295

See merge request espressif/esp-idf!47657
2026-04-17 18:30:35 +08:00
yinqingzhao
c3da80ee52 feat(wifi): add esp32s31 wifi support 2026-04-16 20:17:07 +08:00
C.S.M
e678d76251 feat(brownout): Add brownout support for esp32h4 2026-04-16 16:21:17 +08:00
hebinglin
4b2e135fd0 feat(esp_hw_support): optimize esp32h4 eco1 active current 2026-04-16 12:10:23 +08:00
Marius Vikhammer
ee50fa20e3 refactor(esp_libc): move newlib time init into esp_libc component 2026-04-13 15:11:57 +08:00
Alexey Lapshin
3da3ca961a fix(system): linux: avoid process initialization, all should be done by __libc_start_main 2026-04-09 21:57:25 +07:00
morris
425966f88f Merge branch 'feat/etm_esp32s31' into 'master'
feat(etm): add ETM LL and GPIO ETM support on esp32s31

Closes IDF-14724 and IDF-14786

See merge request espressif/esp-idf!47247
2026-04-08 10:08:24 +08:00
armando
61eb179368 feat(cache): support cache msync driver and cache panic driver 2026-04-07 07:48:45 +00:00
morris
43bc8c2fe5 feat(etm): add ETM LL and GPIO ETM support on esp32s31
Enable ETM caps and add S31 ETM/GPIO LL and retention support for
GPTimer ETM builds.
2026-04-07 14:47:36 +08:00
Song Ruo Jing
8f0e59fadf Merge branch 'feature/esp32s31_clock_support' into 'master'
feat(clk): support for esp32s31 clock tree

Closes IDF-14696 and IDF-14871

See merge request espressif/esp-idf!47048
2026-04-03 11:04:42 +08:00
Armando (Dou Yiwen)
b533c6750e Merge branch 'feat/mmu_s31' into 'master'
mmu: s31 support for external mmu

Closes IDF-14669

See merge request espressif/esp-idf!47133
2026-04-03 02:42:20 +00:00
Roland Dobai
6c6b1b8ae3 Merge branch 'feat/adopt_fast_reflashing' into 'master'
feat(idf_py): idf.py flash will reflash only changed data sectors by default

Closes IDF-11871

See merge request espressif/esp-idf!45542
2026-04-02 19:37:27 +02:00
Song Ruo Jing
50051b74a5 feat(clk): support for esp32s31 clock tree 2026-04-02 20:39:59 +08:00
Radim Karniš
c62515671d change(build): Rename Fast reflashing configuration to Minimize binary changes, make non-experimental 2026-04-02 10:53:32 +02:00
Guillaume Souchere
8706cd6135 feat(esp_system): add linux test for system init function regisration 2026-04-01 11:46:06 +02:00
Guillaume Souchere
1c2f7b435a feat(esp_system): Add linux support for freertos hooks and system init function 2026-04-01 11:46:06 +02:00
armando
2b582796d3 feat(mmu): s31 support 2026-04-01 11:49:22 +08:00
armando
ebbd9cdb59 feat(psram): support psram device driver 2026-03-31 13:56:43 +08:00