Commit Graph

1337 Commits

Author SHA1 Message Date
Marius Vikhammer
a6a4b7b903 Merge branch 'contrib/github_pr_18767' into 'master'
fix(examples): fix types on 64-bit cpu support(linux) (GitHub PR)

Closes IDFGH-17869

See merge request espressif/esp-idf!50109
2026-06-29 15:04:38 +08:00
Marius Vikhammer
687fe76364 fix(linux): fixed compile issues for freertos basic example on linux target 2026-06-29 14:00:38 +08:00
Michael (XIAO Xufeng)
c1b218b640 Merge branch 'fix/mmap_cache_flash_wr' into 'master'
fix(mmap): fixed mmap read data wrong when flash being erased/written and cache not disabled

Closes IDFGH-14084

See merge request espressif/esp-idf!29804
2026-06-29 11:44:10 +08:00
Richard Allen
c75b7daa3c fix(examples): fix types on 64-bit cpu support(linux)
Address these:

lock_example.c:162:60: error: cast to pointer from integer of different size
[-Werror=int-to-pointer-cast]
  162 |         xTaskCreatePinnedToCore(inc_num_mutex, NULL, 4096, (void *)thread_id, TASK_PRIO_3, NULL, tskNO_AFFINITY);
      |                                                            ^

create_task_example.c:30:19: error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
   30 |     int task_id = (int)arg;
2026-06-26 22:21:46 -05:00
harshal.patil
6b417e9d47 fix(esp_common/esp_fault): make ESP_FAULT_ASSERT survive optimization
ESP_FAULT_ASSERT(C) was silently deleted by the optimizer when C is a cached
flag/status already proven by a preceding `if (!C) return/goto`: the compiler
folds C to a constant and drops all three checks, removing the fault-injection
protection with no warning.
2026-06-17 16:45:29 +05:30
Xiao Xufeng
789ce684c9 fix(mmap): fixed some API read wrong data via mmap when flash being erased/written while XIP on PSRAM
Before:

The cache won't be disabled when XIP on psram. But during flash
erasing/programming, read data will be courrupt.

When XIP in psram is enabled, the image is not mapped to the cache so
usually there will be no flash access. The only way to read from flash
is via the driver or use mmap. The driver has protection during erasing,
while th mmap region not.

Now:

Mmap APIs provide a flag to make mmap->unmap region mutually exclusive
to flash erase/programming when XIP from psram. SPI Flash write APIs
will benefit from this. When the flag is used, no concurrent access to
mapped region will happen while writing; otherwise the cache will be
disable to avoid data corruption.

Most ESP-IDF APIs calls mmap with this flag. As for users calling
mmap-like APIs directly, they can choose whether to enable this by a
flag.

Closes https://github.com/espressif/esp-idf/issues/14897
2026-06-16 01:00:43 +08:00
harshal.patil
f68bc1ba9f fix(secure_boot): range-check ECDSA r,s in bootloader before ROM verify 2026-06-12 14:38:47 +05:30
Konstantin Kondrashov
54b649a0c9 Merge branch 'feature/linux_esp_time_new' into 'master'
feat(esp_timer): Adds support Linux target

Closes IDF-5723

See merge request espressif/esp-idf!49358
2026-06-12 09:05:22 +03:00
Konstantin Kondrashov
f6f24af00a feat(esp_timer): Adds support Linux target 2026-06-11 11:59:25 +03:00
harshal.patil
d8b7df4aa2 fix(examples/partitions_ota): use ECDSA Secure Boot V2 scheme for partitions_ota on C2/C61
ESP32-C2 and ESP32-C61 have no RSA based Secure Boot V2 support
so the virt_sb_v2_and_fe configs cannot use the default RSA signing key.
Add target-specific sdkconfig overlays that switch to the ECDSA P-256 key;
on ESP32-C61 the ECDSA scheme must additionally be force-enabled
SECURE_BOOT_V2_ECDSA_INSECURE).
2026-06-10 15:30:06 +05:30
Aditya Patwardhan
67e10e2b56 change(secure_boot): mark ECDSA based Secure Boot V2 as insecure on affected SoCs
ECDSA based Secure Boot V2 is not functional for certain input vectors on
ESP32-C5/C61/H2/P4 and on the preview targets ESP32-H4/H21. RSA based Secure
Boot V2 is the recommended scheme where the SoC supports it. This issue will be
fixed in a future hardware ECO revision; more details will be shared through the
hardware errata document.

A new hidden Kconfig option SECURE_BOOT_V2_ECDSA_INSECURE marks the affected
mass-production SoCs (ESP32-C5/C61/H2/P4). On these SoCs, when hardware Secure
Boot V2 is enabled, the ECDSA (V2) signing scheme is no longer offered by
default; it must be turned on explicitly via SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
under "Allow potentially insecure options" (CONFIG_SECURE_BOOT_INSECURE). App
signing without hardware Secure Boot is not affected. Note that ESP32-C61 has no
RSA based Secure Boot V2, so it has no Secure Boot scheme enabled by default.

The preview targets ESP32-H4 and ESP32-H21 mark ECDSA Secure Boot V2 as not
supported in their SoC capabilities instead of using the option above. As
ESP32-H4 has no other Secure Boot V2 scheme, Secure Boot is disabled entirely on
it; ESP32-H21 retains RSA based Secure Boot V2.

The security documentation keeps the ECDSA Secure Boot V2 content visible and
adds a warning describing the limitation (including that ECDSA Secure Boot V2 on
ESP32-C61 is not recommended for production). CI apps that exercise ECDSA Secure
Boot V2 on the affected SoCs set CONFIG_SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
accordingly.
2026-06-09 16:55:57 +05:30
hebinglin
46ff88717c fix(ulp): fix lp uart keep wakeup triggered 2026-06-08 16:17:09 +08:00
Konstantin Kondrashov
7a573330b8 Merge branch 'feature/efuse_dump' into 'master'
feat(efuse): Support efuse token dump

Closes IDF-14046

See merge request espressif/esp-idf!41754
2026-06-05 11:15:30 +03:00
Marius Vikhammer
d21dc8ca2e feat(freertos): added option for automatically placing task stacks in PSRAM
When CONFIG_FREERTOS_PLACE_TASK_STACKS_IN_EXT_RAM is enabled freertos will
now automatically allocate task stacks to PSRAM.
2026-06-04 16:06:52 +08:00
Konstantin Kondrashov
885097762f feat(efuse): Support efuse token dump
- efuse token dump is compatible with espefuse tool
- EFSW dump can be burned on chip with esp_efuse_token_burn()
2026-06-03 13:19:59 +03:00
Erhan Kurubas
5bcaf281e2 Merge branch 'feat/esp_trace_example' into 'master'
esp_trace example library integration

See merge request espressif/esp-idf!48605
2026-05-26 17:38:22 +02:00
hebinglin
defa3ccaa9 change(examples): add esp32h4 lslp ci test 2026-05-21 22:07:07 +08:00
Wu Zheng Hui
91e66a8d19 Merge branch 'feat/support_io_edge_wakeup' into 'master'
feat(esp_hw_support): support rtc io edge wakeup sleep

Closes FCS-1880 and IDF-11812

See merge request espressif/esp-idf!48410
2026-05-20 19:37:35 +08:00
Erhan Kurubas
41d425bf05 feat(esp_trace): add example to demonstrate external lib integration 2026-05-20 11:55:10 +02:00
wuzhenghui
e491855cc6 feat(example): update gpio edge wakeup support in deepsleep example 2026-05-20 11:04:04 +08:00
C.S.M
854d00cab1 feat(usj): Add usb serial jtag support on esp32s31 2026-05-19 16:16:31 +08:00
Renz Bagaporo
0af4d60720 ci(esp32h4): use soc caps flags for base mac address test 2026-05-18 15:43:13 +09:00
Renz Bagaporo
55b54f33ee test(ci): reenable skipped ESP32-H4 base mac address test 2026-05-18 10:02:03 +09:00
Marius Vikhammer
84fdbccaf0 fix(examples): raise efuse ESP32-P4 CI partition offset for larger bootloader
Recovery bootloader support increased the ESP32-P4 bootloader image enough
that it no longer fits before 0xe000. Moving the partition table to 0x10000
restores slack for CI builds using secure boot and flash encryption together.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-14 09:54:27 +08:00
Marius Vikhammer
1a65724653 Merge branch 'ci/h4_core_sys_test' into 'master'
test(ci): re-enable ESP32-H4 in core system test apps

Closes IDF-15602, IDF-15604, IDF-15605, IDF-15606, and IDF-15612

See merge request espressif/esp-idf!48454
2026-05-13 14:24:16 +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
Marius Vikhammer
73dc40eb8a Merge branch 'feature/s31_lp_i2c' into 'master'
feat(ulp): support I2C on ULP for S31

Closes IDF-14635

See merge request espressif/esp-idf!48405
2026-05-13 08:31:29 +08:00
Konstantin Kondrashov
485ab9aa29 Merge branch 'feature/recovery_bootloader_support' into 'master'
feat(bootloader): Support recovery bootloader for ESP32P4

Closes IDF-15653 and IDF-13165

See merge request espressif/esp-idf!48215
2026-05-12 23:24:40 +03:00
Marius Vikhammer
ab9cf37a1b feat(ulp): support I2C on ULP for S31 2026-05-12 17:32:23 +08:00
Chen Jichang
3c3b9a6a4e ci(esp32h4): disable tests which cannot pass 2026-05-11 16:48:58 +08:00
Chen Jichang
645ff40cde ci(esp32h4): enable ci target test 2026-05-11 16:48:58 +08:00
Marius Vikhammer
2fa1906b0a Merge branch 'feature/s31_lp_mailbox' into 'master'
feat(ulp): enable LP mailbox on S31

Closes IDF-14637

See merge request espressif/esp-idf!48218
2026-05-09 10:58:41 +08:00
Konstantin Kondrashov
e8609f59a8 feat(bootloader): Support recovery bootloader for ESP32S31 and ESP32P4 2026-05-08 16:45:14 +03:00
Marius Vikhammer
6023f07868 feat(ulp): add support for mailbox on S31 2026-05-08 14:06:04 +08:00
Samuel Obuch
44385d91fc Merge branch 'feat/test_lp_core_debugging' into 'master'
feat(ulp): add pytest for debugging example

See merge request espressif/esp-idf!45965
2026-05-07 17:08:19 +02:00
Jiang Jiang Jian
39f0ef3528 Merge branch 'feat/support_s31_sleep_features' into 'master'
feat(esp_hw_support): support esp32s31 lowpower features

Closes IDF-5660, IDF-14643, IDF-14645, IDF-14647, IDF-14648, IDF-14784, PM-708, and PM-714

See merge request espressif/esp-idf!47216
2026-05-07 19:22:58 +08:00
Samuel Obuch
35ee7beb0e feat(ulp): add pytest for debugging example 2026-05-07 11:59:44 +02:00
Erhan Kurubas
7aabb0155b Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20260424' into 'master'
feat(tools): update openocd version to v0.12.0-esp32-20260424

Closes OCD-892, OCD-1371, and DOC-14459

See merge request espressif/esp-idf!48003
2026-05-07 09:09:13 +02:00
wuzhenghui
d3c5129050 fix(driver): fix retention unsupported mouldes TOP pd test 2026-05-07 12:02:05 +08:00
wuzhenghui
f1f3f204fe feat(esp_hw_support): support esp32s31 lightsleep/deepsleep example 2026-05-06 20:15:01 +08:00
Marius Vikhammer
353b637e16 Merge branch 'feature/s31_lp_uart_ulp' into 'master'
feat(ulp): add lp uart support for ULP on S31

Closes IDF-14634 and IDF-15567

See merge request espressif/esp-idf!48055
2026-05-06 15:43:12 +08:00
Konstantin Kondrashov
6adb99a389 Merge branch 'feature/support_efuses_esp32s31' into 'master'
feat(efuse): Support efuses for ESP32S31

Closes IDF-14688

See merge request espressif/esp-idf!47986
2026-04-30 12:08:52 +03:00
Konstantin Kondrashov
c29532f98c feat(efuse): Support efuses for ESP32S31 2026-04-29 15:50:32 +03:00
Marius Vikhammer
66d1d594e4 feat(ulp): add lp uart support for ULP on S31 2026-04-29 16:20:43 +08:00
Samuel Obuch
4b1e6ea5f2 ci(esp32p4): enable sysview_tracing test missed before 2026-04-28 11:59:44 +02:00
Armando (Dou Yiwen)
85b324c188 Merge branch 'feat/psram_xip_h4' into 'master'
psram: xip psram support on h4

Closes IDF-12349

See merge request espressif/esp-idf!40968
2026-04-28 08:31:23 +00:00
Sudeep Mohanty
cc025fa3d5 Merge branch 'fix/lp_uart_data_bits' into 'master'
fix(ulp/lp_core): fix LP UART data_bits validation and add full word-length test coverage

Closes PM-715, PM-660, IDFCI-10410, and IDFCI-10464

See merge request espressif/esp-idf!47432
2026-04-28 08:43:03 +02:00
Marius Vikhammer
defe1cde71 feat(ulp/lp_spi): bring up LP SPI on ESP32-S31
Add LP SPI HAL LL layer for ESP32-S31 and ESP32-P4, enable the
peripheral in soc_caps, and port the HP-side and LP-core-side SPI
drivers to use the new LL abstraction.
2026-04-28 10:20:02 +08:00
armando
80db6f440c ci(psram): enable xip psram test on h4 2026-04-28 09:37:03 +08:00
Sudeep Mohanty
359cec50bb test(lp_core): use soc_filtered_targets for all LP core pytest parametrization
Several LP core pytest files were either hardcoded to specific chip lists
or using a less-precise SOC capability filter:

- test_lp_core_multi_device: was locked to ['esp32c6'] pending a workaround
  for LP I2C on esp32p4; all three active LP core chips now have
  SOC_LP_I2C_SUPPORTED=1, so switch to soc_filtered_targets.

- test_lp_uart_wakeup_modes: was using SOC_LP_CORE_SUPPORTED which is
  semantically wrong for a UART test; change to SOC_ULP_LP_UART_SUPPORTED.

- LP core example pytests (build_system, interrupt, gpio_intr_pulse_counter,
  lp_timer_interrupt): replace hardcoded ['esp32c5', 'esp32c6', 'esp32p4']
  with soc_filtered_targets('SOC_LP_CORE_SUPPORTED == 1') so that new
  chips automatically get coverage when their SOC cap is enabled.
2026-04-23 10:10:05 +02:00