Commit Graph

38044 Commits

Author SHA1 Message Date
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
Renz Bagaporo
a91a316449 ci(ulp): re-enable legacy ULP buildv2 jobs 2026-07-29 13:08:22 +09:00
Renz Bagaporo
288b9a6e00 feat(ulp): build legacy ULP APIs through CMake v2 shim 2026-07-29 13:08:22 +09:00
Wang Meng Yang
82b28b2641 Merge branch 'fix/aireview_critical' into 'master'
fix: Fix some critical bugs in classic bt

See merge request espressif/esp-idf!50312
2026-07-29 11:41:36 +08:00
Wang Meng Yang
5dbd27f32b Merge branch 'bugfix/bredr_multiple_fix_on_esp32s31' into 'master'
fix(bt): Fixed several issues on BR/EDR controller on ESP32-S31

Closes BTQABR2023-829, BTQABR2023-836, BTQABR2023-837, BTQABR2023-840, BTQABR2023-687, and BTQABR2023-697

See merge request espressif/esp-idf!51249
2026-07-29 10:39:10 +08:00
Guillaume Souchere
9d92d69cd1 Merge branch 'fix/provide-picolibc-timespec_get' into 'master'
fix(esp_libc): Provide timespec_get missing from the picolibc toolchain

Closes IDFGH-18035

See merge request espressif/esp-idf!51189
2026-07-28 21:38:59 +02:00
Rahul Tank
f6fcd6470c fix(nimble): update sbom file with cve details 2026-07-28 21:25:14 +05:30
Erhan Kurubas
11e6799f80 Merge branch 'stub_bins_for_more_targets' into 'master'
Increase OCD stub memory reservation from 8K to 12K and extend this feature to more targets

See merge request espressif/esp-idf!51231
2026-07-28 16:58:05 +02:00
Adam Múdry
a89ca4caf6 fix(sdmmc): Validate DMA buffer address range
Closes https://github.com/espressif/esp-idf/issues/18714
2026-07-28 15:36:44 +02:00
wuzhenghui
f2b2bac778 fix(esp_system): support rom secure boot fast wake feature for esp32s31 2026-07-28 21:32:45 +08:00
liuning
3926f44670 fix(wifi): fix chip cant sleep when disconnecting at probe process 2026-07-28 20:29:06 +08:00
Jiang Jiang Jian
b6120a46f4 Merge branch 'bugfix/fix_espnow_data_rate_error' into 'master'
fix(wifi): fixed espnow data rate overridden by stale rate control

Closes WIFI-7533

See merge request espressif/esp-idf!51175
2026-07-28 19:58:20 +08:00
Wang Meng Yang
d348f43f56 Merge branch 'bugfix/a2dp_api_init_check' into 'master'
fix(bt): Fix compatibility with A2DP API legacy usage methods

Closes IDFGH-17892

See merge request espressif/esp-idf!50611
2026-07-28 19:35:28 +08:00
Rahul Tank
16f9e082dd feat(protocomm): Add support for BLE 5 for bluedroid 2026-07-28 16:20:15 +05:30
Wang Mengyang
aeab6dcfbe fix(bt): Fixed several issues on BR/EDR controller on ESP32-S31
Fixed bug when BR/EDR ACL-U dynamic Tx buffer is enabled
Fixed infinite loop during connection set-up
Optimized the scheduling of SCO/eSCO and sniff events
2026-07-28 18:04:31 +08:00
Alexey Lapshin
77420a6f78 Merge branch 'feature/use_zcmp_by_default' into 'master'
feat(build): add ZCMP workaround post-build check

See merge request espressif/esp-idf!49764
2026-07-28 14:00:37 +04:00
Rahul Tank
14674d8aee Merge branch 'feat/introduce_nimble_1.9' into 'master'
feat(nimble): Migrate to nimble-1.9.0-idf

See merge request espressif/esp-idf!48553
2026-07-28 15:24:05 +05:30
Wan Lei
49419d1a17 Merge branch 'fix/twai_fix_eventgroup_usf' into 'master'
fix(driver_twai): fix potential crash when node_delete from high priority task

Closes IDFGH-17927

See merge request espressif/esp-idf!50629
2026-07-28 17:39:39 +08:00
Jiang Jiang Jian
8e7e031230 Merge branch 'feat/support_active_tickless_idle' into 'master'
feat(esp_pm): support freertos tickless IDLE with auto lightsleep disabled

Closes PM-799

See merge request espressif/esp-idf!49817
2026-07-28 17:04:50 +08:00
zhangyanjiao
119410fbd1 fix(wifi): fixed espnow data rate overridden by stale rate control 2026-07-28 16:58:12 +08:00
Jiang Jiang Jian
5cdb93dcc4 Merge branch 'bugfix/fix_addba_dialog_token_zero_and_add_ds_parameter' into 'master'
fix(wifi): fix addba request dialog token zero and add ds parameter IE on 5g band

See merge request espressif/esp-idf!51028
2026-07-28 16:45:12 +08:00
morris
1c19761fde Merge branch 'refactor/lcd_cam_core_clock_init' into 'master'
refactor(lcdcam): move shared core clock setup to drivers

See merge request espressif/esp-idf!51225
2026-07-28 16:39:28 +08:00
morris
83c8ce73cf fix(bitscrambler): reject malformed program headers
Validate BitScrambler program headers against the supported format and
hardware limits before using header-derived instruction and LUT sizes.
Also add regression coverage for malformed headers and document that the
program blob must come from a trusted assembler output.
2026-07-28 16:26:49 +08:00
morris
c3a707d996 fix(bitscrambler): validate and safely load LUT data
Reject LUT loads that exceed the hardware address space and assemble
each 32-bit LUT word via memcpy so unaligned and partial inputs do not
read past the caller buffer. Add regression tests for oversized and
partial unaligned LUT loads.
2026-07-28 16:26:49 +08:00
morris
137fa05c7c fix(bitscrambler): clean up loopback create failures
Clear the returned handle on loopback creation failure and route
initialized objects through bitscrambler_free so channel ownership and
extra cleanup state cannot leak after partial setup errors. Add a
regression test for the failed create path.
2026-07-28 16:26:49 +08:00
Erhan Kurubas
59ae1cf37f Merge branch 'move_trace_examples' into 'master'
refactor(examples): group trace examples under examples/system/tracing/

See merge request espressif/esp-idf!51160
2026-07-28 09:31:08 +02:00
Jin Cheng
c274987a7a fix(bt/bluedroid): fixed incorrect eSCO packet type validation under secure connection mode in BlueDroid 2026-07-28 15:21:29 +08:00
Guillaume Souchere
9cea97187f fix(esp_libc): provide timespec_get missing from toolchain
Both newlib and picolibc headers in toolchain 16.1 declare timespec_get()
but the archives do not define it. Provide the missing C11 implementation
through esp_libc, mapping TIME_UTC to clock_gettime(CLOCK_REALTIME).

Closes https://github.com/espressif/esp-idf/issues/18889
2026-07-28 08:23:33 +02:00
Erhan Kurubas
e21ab7e724 feat(system): add OCD stub bin support for more targets
Add SOC_DEBUG_HAVE_OCD_STUB_BINS for esp32c5, esp32c61, esp32h4,
esp32h21, esp32p4, and esp32s31. Update TEE linker scripts with
correct esp_tee_app_config offsets for the 0x3000 stub reservation
2026-07-28 08:34:02 +03:00
Erhan Kurubas
6e5b4febf8 change(system): increase OCD stub memory reservation from 8K to 12K 2026-07-28 07:45:39 +03:00