Commit Graph
38077 Commits
Author SHA1 Message Date
Euripedes Rocha Filho 909911ec67 fix(esp_netif): Avoid socket to stay in closing state in l2tap closing 2026-07-30 12:33:41 +02:00
Jiang Jiang Jian 1ef3966018 Merge branch 'fix/regdma_work_timeout' into 'master'
Workaround: add a write node to avoid the APB access timeout during REGDMA operations.

See merge request espressif/esp-idf!51146
2026-07-30 17:46:49 +08:00
Chen ChenandCursor 4f9e257c77 fix(hal): prevent overflow in fractional clock division
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:12:20 +08:00
Steven Yang f54adcfa93 fix(mcpwm): stabilize mcpwm_timer_various_clk_src test
Use count-up mode and account for counter wrap when measuring timer
resolution. Extend the stop wait to cover the full timer period.
2026-07-30 17:07:23 +08:00
sonika.rathi fe328c0ac7 fix(storage): mark storage pytest apps flaky in CI 2026-07-30 10:55:50 +02:00
Martin Vychodil 36622226e3 Merge branch 'contrib/github_pr_18815' into 'master'
Fix minor issues in sd (GitHub PR)

Closes IDFGH-17946

See merge request espressif/esp-idf!51148
2026-07-30 16:44:30 +08:00
Zhang Wen Xu aa3408ec84 Merge branch 'fix/resolve_issues_reported_via_bbp' into 'master'
fix(openthread): fix null pointer deref, uninitialized struct, and unbounded strcpy in spinel/RCP code

See merge request espressif/esp-idf!50294
2026-07-30 08:37:57 +00:00
Martin Vychodil 036cee4e6a Merge branch 'bugfix/nvs-initialize-accumulated-crc32' into 'master'
fix(nvs_flash): initialize accumulatedCRC32 in cmpItem

Closes IDF-15810

See merge request espressif/esp-idf!51068
2026-07-30 16:37:03 +08:00
Zhang Wen Xu 7eed66d564 Merge branch 'fix/154_mac_receive_at' into 'master'
fix(ieee802154): skip receive_at when rx window already expired

See merge request espressif/esp-idf!50781
2026-07-30 08:33:56 +00:00
Martin Vychodil fd733b70da Merge branch 'bugfix/nvs-deinit-open-handle-leak' into 'master'
fix(nvs_flash): delete leftover handles on partition deinit

Closes IDF-7062

See merge request espressif/esp-idf!51065
2026-07-30 16:18:31 +08:00
wanckl 07612291c6 fix(driver_spi): slave hd append fix wrong dma param 2026-07-30 16:01:27 +08:00
harshal.patil e1d60fb89f refactor(esp_system): deduplicate ROM fast wake RTC digest reservation
The digest length and the condition that reserves it at the end of RTC RAM were
duplicated in seven places. Hold the reservation in a hidden Kconfig value that
is zero when the feature does not apply, so every consumer subtracts it
unconditionally, and derive ESP_SECURE_BOOT_DIGEST_LEN from it.
2026-07-30 12:20:22 +05:30
Ashish Sharma be0df8c3ad fix(mbedtls): revert to non constant time rsa key gen 2026-07-30 13:39:35 +08:00
C.S.M ee2ef95cfe Merge branch 'feat/uhci_receive_isr' into 'master'
feat(uhci): Make uhci_receive can be called in isr

See merge request espressif/esp-idf!50984
2026-07-30 13:05:11 +08:00
Eric Wang 7f591008b3 fix(driver_spi): avoid NULL memcpy when private DMA buffer setup fails
Closes https://github.com/espressif/esp-idf/pull/18898
2026-07-30 11:54:04 +08:00
C.S.M fcd5c55194 feat(uhci): uhci receive can be called in isr 2026-07-30 11:41:24 +08:00
sibeibei 71b4d98108 fix(esp_hw_support): use symbolic reg and document modem syscon workaround 2026-07-30 11:19:59 +08:00
sibeibei 0914dcc9b3 fix(esp_hw_support): use N_REGS_SYSCON() for modem syscon retention count 2026-07-30 10:59:58 +08:00
cjin 0cd6259a9b fix(bt): fix deselect slow clk missing on ESP32-C5 2026-07-30 10:37:04 +08:00
Mahavir Jain 7b45ac4309 Merge branch 'change/mmu_psram_anti_fi_bootloader_size' into 'master'
change(hal): exclude PSRAM anti-FI check from bootloader build

See merge request espressif/esp-idf!51188
2026-07-30 07:04:31 +05:30
Renz Bagaporo 2fe7e0f047 fix(ulp): preserve legacy ulp_embed_binary link order
Legacy ulp_embed_binary() call-site sources were attached directly to the CMake v2 child executable. However, the ULP runtime is linked with WHOLE_ARCHIVE through target_link_options(), which CMake emits before executable objects. This reversed the CMake v1 order, changed ULP code placement, and allowed runtime weak definitions to take precedence over legacy strong handlers.

Build the call-site sources as a dedicated static archive and place its whole-archive option before the runtime archive. Preserve the parent sdkconfig and include view, including FSM-specific include behavior, without generating a synthetic component tree.

Factor linker-specific whole-archive handling into a shared CMake v2 helper for GNU, Darwin, and ULP FSM linkers. Link the archive target normally as well so CMake tracks build and relink dependencies when a legacy ULP source changes.
2026-07-30 08:02:26 +09:00
morris 9c068fe2d9 Merge branch 'feature/add_mcpwm_rc_fast_clk_source' into 'master'
feat(mcpwm): support RC_FAST group clock source

Closes IDF-8048

See merge request espressif/esp-idf!51149
2026-07-29 23:05:19 +08:00
Nachiket Kukade 1987e0552b Merge branch 'bugfix/ftm_calibration' into 'master'
fix(ftm): Update FTM calibraton values for esp32c5, esp32c3, esp32c6, esp32c61

Closes WIFIBUG-1904

See merge request espressif/esp-idf!50636
2026-07-29 22:34:40 +08:00
Marius Vikhammer 873d612fde Merge branch 'ci/add_base_size_metric_apps' into 'master'
ci(size_metrics): add base size metric test apps

See merge request espressif/esp-idf!46208
2026-07-29 20:50:13 +08:00
Steven Yang 8a982614a2 feat(mcpwm): support RC_FAST group clock source
Expose RC_FAST as a shared MCPWM group clock source for timers,
capture timers, and carriers on ESP32-C5, ESP32-C6, ESP32-H2,
and ESP32-P4. Fix the ESP32-S31 MCPWM clock selector mapping.

Add a hardware runtime test that verifies MCPWM Timer counting
resolution for every supported clock source.
2026-07-29 20:20:47 +08:00
Wang Meng Yang 5203199852 Merge branch 'docs/update_coexist_docs' into 'master'
docs(coex): enable coexist docs for c61 h21 h4 s31

See merge request espressif/esp-idf!51105
2026-07-29 20:14:35 +08:00
Adam Múdry f33b1225f0 Merge branch 'fix/sdmmc_fatfs_dma_psram_non_cached_region' into 'master'
fix(sdmmc): Validate DMA buffer address range

Closes IDFGH-17803

See merge request espressif/esp-idf!51041
2026-07-29 12:57:09 +02:00
Akshat Agrawal e6976ab858 fix(ftm): Update FTM calibraton values for esp32c5, esp32c3, esp32c6, esp32c61 2026-07-29 16:19:09 +05:30
Marius Vikhammer 19aca52f08 feat(size_metrics): add size metrics test apps
Add test apps for binary size tracking:
- esp_timer size_metrics app with minimal/full sdkconfig variants
- minimal_baseline app to establish the platform binary size floor
2026-07-29 11:40:55 +02:00
Shu Chen bb12179cca Merge branch 'fix/esp-phy-isr-safe-logging' into 'master'
fix(esp_phy): use early log macros in ISR context to avoid log lock deadlock

See merge request espressif/esp-idf!50443
2026-07-29 09:13:15 +00:00
Alexey Lapshin df1b1dea29 feat(libc): pass __PICOLIBC_ERRNO_FUNCTION to picolibc builds 2026-07-29 16:12:02 +07:00
hebinglin 57daf0a8f7 feat(esp_hw_support): add backup clk icg support 2026-07-29 17:09:34 +08:00
Alexey Lapshin c405502ac1 Merge branch 'feature/enable_zc_extension_for_esp32s31' into 'master'
feat(soc): esp32s31 enable zc* extension

See merge request espressif/esp-idf!51262
2026-07-29 12:20:41 +04:00
cjin 287b7c72cd fix: fix on bt slow clk src unable to reset on esp32-h4 and esp32-s31 2026-07-29 15:36:03 +08:00
Wang Mengyang 4bbeb887fa fix(bt): Fixed memory-safety and DoS defects in BR/EDR controller on ESP32-S31
- remmediate deep-review memory-saftey and DoS defects
- fix duplicated report of HCI mode change event
- fix conflicts in handling sniff subrate request when ACL link enters active mode
2026-07-29 15:35:29 +08:00
hebinglin a4889bd73d change(esp_hw_support): refactor pmu/esp_sleep param struct 2026-07-29 15:23:09 +08:00
hebinglin 33591e16b6 change(esp_hw_support): split the sleep_clock_icg APIs into sleep_clock_icg.c 2026-07-29 15:23:09 +08:00
hebinglin d6b0a50c5d change(esp_hw_support): add esp sleep lock APIs for use in the sleep flow 2026-07-29 15:23:09 +08:00
Wang Meng Yang 744464271d Merge branch 'feat/bt_in_psram' into 'master'
feat(bluedroid): Add config to place btu and hci task stack in psram

Closes BT-4136

See merge request espressif/esp-idf!51002
2026-07-29 14:49:19 +08:00
Jiang Jiang Jian 139d968de0 Merge branch 'bugfix/sco_pkt_type_err' into 'master'
fix(bt/bluedroid): fixed incorrect eSCO packet type validation in secure connection mode

Closes BTQABR2023-849

See merge request espressif/esp-idf!51251
2026-07-29 14:41:23 +08:00
Jiang Jiang Jian 2938ae7b60 Merge branch 'bugfix/fix_chip_cant_sleep_after_connect_failed' into 'master'
fix(wifi): fix chip cant sleep when disconnecting at probe process

Closes WIFI-7511

See merge request espressif/esp-idf!51012
2026-07-29 14:41:02 +08:00
Alexey Lapshin 62ef4a6166 feat(soc): esp32s31 enable zc* extension 2026-07-29 14:19:38 +08:00
Pranav Sonawane f8ce32d054 change(hal): exclude PSRAM anti-FI check from bootloader and TEE builds
The PSRAM encryption anti-FI check in mmu_ll_write_entry() pulls in
  ESP_FAULT_ASSERT and efuse_hal_chip_revision(), which inflate the
  bootloader image size. The check is not meaningful in the bootloader
  or in the ESP-TEE build, so guard it out for both.

  Applies to esp32c5, esp32c61 and esp32p4.
2026-07-29 11:44:06 +05:30
harshal.patil 1d6c44a889 change(esp_hw_support): make ESP32-P4 rev < 3.0 PMP layout forward-compatible
Commit ab229a34 added PSRAM memory protection for ESP32-P4 rev < 3.0. It
consumed all 16 PMP entries and shifted the fixed LP-RAM (9-12 -> 11-14) and
peripheral (13 -> 15) entries to make room. Older bootloaders lock the
peripheral entry at its original index 13, so on a v5.3/v5.4 bootloader running
a newer application the LP-RAM entry that landed on the locked index 13 was
silently ignored, weakening LP-RAM protection.

Select the rev < 3.0 layout at runtime by probing whether the bootloader locked
the peripheral at entry 13:
 - locked (v5.3/v5.4) -> default layout (LP-RAM 9-12, peripheral 13), no PSRAM
   protection; these devices never had it (it was introduced in v5.5).
 - free (v5.5+)       -> PSRAM layout (flash/ext-RAM 6-10, LP-RAM 11-14,
   peripheral 15) with full external-RAM protection; the peripheral entry at 15
   matches the bootloader's lock.

This restores forward compatibility across all shipped rev < 3.0 bootloaders
without regressing PSRAM protection on the v5.5+ devices that already have it.
Chip revision >= 3.0 (32 PMP entries) is unaffected.
2026-07-29 11:41:22 +05:30
harshal.patil 80535b24a0 change(esp_hw_support): configure PMP only in the application and freeze its layout
A PMP entry the (non-OTA-updatable) bootloader locks cannot be reconfigured
by the application until CPU reset, so the layout of the entries a shipped
bootloader locks is a bootloader<->application ABI that renumbering would
silently break on deployed devices.
On C5, C6, C61, H2 and P4 the bootloader now configures only the PMA invalid regions
and leaves PMP to the application.

On C5 the application programs the two ROM entries without a cfg reset:
v6.0/v6.1 bootloaders lock the TOR base entry at SOC_IROM_MASK_LOW, so on
such devices the TOR region above it spans the ROM text and must keep the
X bit those bootloaders left in the following unlocked entry, which
OR-only writes can never clear. With newer bootloaders the application
receives clean entries and the ROM data region gets the intended strict R
permission.
2026-07-29 11:41:22 +05:30
Rahul Tank d485466018 fix(nimble): Deliver PAwR peripheral CONNECT via sync callback 2026-07-29 11:09:14 +05:30
Rahul Tank a526754325 Merge branch 'feat/sbom_changes' into 'master'
fix(nimble): update sbom file with cve details

See merge request espressif/esp-idf!51152
2026-07-29 10:49:08 +05:30
Renz Bagaporo 1f5cba3070 fix(ulp): clarify buildv2 child marker
Rename the internal ULP child-build marker to __ULP_BUILDV2 so component CMake files make the build-system scope explicit.

Document that the marker is currently set only by the IDF_BUILD_V2 ULP child path.
2026-07-29 13:08:23 +09:00
Renz Bagaporo 83cdcc1da3 fix(ulp): use builtin v2 project for legacy embed
Route ulp_embed_binary() through a built-in CMake v2 default ULP project instead of generating a compatibility project with a synthetic main component.

Attach legacy ULP sources directly to the ULP executable, pass the parent component include view through the existing ULP_S_SOURCES/COMPONENT_* channel, and remove the generated legacy project templates plus the component path ownership validation bypass they required.

Update the build-system coverage to assert that the builtin child project builds and rebuilds when parent-owned ULP sources change.
2026-07-29 13:08:23 +09:00
Renz Bagaporo c925f6bcc6 fix(ulp): restore legacy LP-core child link behavior
Preserve all linker scripts passed to target_linker_script() so LP-core child builds keep the full esp32p4 LP ROM script set instead of only the first script.

Link the ULP runtime component as WHOLE_ARCHIVE for ULP child builds, matching the legacy helper behavior where runtime sources were added directly to the executable. This keeps strong runtime handlers such as ulp_lp_core_panic_handler from being skipped in favor of weak defaults from already-extracted archive objects.

Validated with the esp32p4 lp_core_hp_uart panic and LP-ROM pytest cases, plus the focused local/CI build_all shape for the app.
2026-07-29 13:08:23 +09:00