Commit Graph

38785 Commits

Author SHA1 Message Date
wanckl
3d8d812662 feat(driver_gpio): add esp32h4 gpio hysterisys filter support 2026-09-10 10:44:37 +08:00
jiminxiang
00738e06d3 fix(ble_esl): avoid ABBA deadlock in image snapshot/restore
Do not hold image_lock across OTS copy/set; the write callback
takes that lock while already holding the OTS mutex.
2026-09-10 10:38:47 +08:00
jiminxiang
985ea6cbf9 fix(ble_esl): avoid MAX_ESLS snap arrays on the timer stack
Keep one snap and dispatch after unlock so esp_timer cannot overflow.
2026-09-10 10:38:47 +08:00
jiminxiang
e1d9911c3f feat(ble_esl): split PAwR APIs and harden OTS writes
Rename start/stop to PAwR-only calls, type persisted ESL addresses,
report failed image writes, and post L2CAP credits atomically.
2026-09-10 10:38:47 +08:00
jiminxiang
0b286c61f3 feat(ble_esl): speed up OTS bulk transfers
Raise L2CAP CoC MTU to 1024, pre-post receive credits, and request
a 2M PHY, DLE, and short-interval link after encryption.
2026-09-10 10:38:47 +08:00
jiminxiang
bd1599b333 feat(ble/nimble): add ESL persist, AP recovery, and image APIs
Enable Tag/AP reboot recovery and image restore, plus OTS DATA_WRITE.
AP start only brings up PAwR; scan is explicit via restart_scan.

Ported onto current master ESL/OTS APIs (ble_esl_state_t,
ble_esl_key_material_t, ble_esl_address_t at the public boundary).
2026-09-10 10:38:47 +08:00
morris
a0772ce93a refactor(pmu): move PMU calibration efuse getters from efuse_ll.h to pmu_ll.h
Move the PMU internal voltage calibration related efuse read LL
functions
from efuse_ll.h into pmu_ll.h, renaming them with the pmu_ll prefix.
efuse_ll.h should only contain efuse controller or system-global
functions;
other modules' private efuse bits belong to their own LL layer.

Affected chips: esp32c5, esp32c6, esp32c61, esp32h2, esp32h4, esp32p4.

Moved functions (renamed efuse_ll_get_* -> pmu_ll_get_*):
- get_active_hp_dbias, get_active_lp_dbias
- get_dbias_vol_gap
- get_lslp_dbg, get_dslp_dbg (where present)
- get_lslp_hp_dbias, get_dslp_lp_dbias (where present)
- get_dslp_dbias (esp32h2)
2026-09-10 09:53:06 +08:00
Steven (Yang Minghui)
782574ee7d feat(spi): support data output inversion 2026-09-09 22:35:03 +08:00
Roland Dobai
e9362463b4 Merge branch 'feat/pylib_standalone_scripts' into 'master'
Adopted esp-pylib for various standalone scripts

See merge request espressif/esp-idf!49944
2026-09-09 15:24:05 +02:00
Marius Vikhammer
ae943a62f0 Merge branch 'fix/lp_core_rc_fast_delay_freq' into 'master'
fix(ulp): hardcode LP core RC_FAST frequency per target

Closes IDFCI-6493

See merge request espressif/esp-idf!51933
2026-09-09 20:46:06 +08:00
Marius Vikhammer
f5e06de75f Merge branch 'bugfix/h4_touch_caps' into 'master'
fix(soc): use standard touch wakeup cap name on ESP32-H4

See merge request espressif/esp-idf!52093
2026-09-09 20:43:42 +08:00
Marius Vikhammer
9db46b1314 Merge branch 'test/esp_timer_api_coverage' into 'master'
test(esp_timer): cover unused public query and absolute-alarm APIs

See merge request espressif/esp-idf!52442
2026-09-09 20:40:12 +08:00
Rahul Tank
6a07858110 feat(nimble): Migrate to nimble-1.10.0 2026-09-09 15:42:05 +05:30
Sudeep Mohanty
671713d66f fix(esp_security): use EXECUTABLE in fault_assert_opt_check
The post-build check named the executable target directly, which does not exist
under Build system v2. Query the EXECUTABLE build property instead.
2026-09-09 10:53:14 +02:00
Alexey Gerenkov
2210471aba Merge branch 'fix/gdbstub_xtensa_pie_registers_first_write' into 'master'
fix(gdbstub): xtensa: persist FPU writes before first coproc use

Closes IDF-15054

See merge request espressif/esp-idf!52248
2026-09-09 16:33:46 +08:00
morris
da3e20988f Merge branch 'ci/reenable_h4_eco2_target_test' into 'master'
feat(esp32h4): remove the support of esp32h4 rev0

Closes IDF-16110

See merge request espressif/esp-idf!52538
2026-09-09 16:03:35 +08:00
Jakub Kocka
d6771a0608 change(tools): Unified outputs of various standalone scripts (esp-pylib) 2026-09-09 09:43:59 +02:00
tarun.kumar
602a9dc9e8 fix(wifi) : Preserve SSID and authmode across disconnect for blacklist recovery 2026-09-09 12:51:14 +05:30
Island
22ade8b843 Merge branch 'bugfix/fix_iso_tx_power_update_fail' into 'master'
feat(iso): Support set ble iso tx power

See merge request espressif/esp-idf!52570
2026-09-09 15:05:44 +08:00
Marius Vikhammer
86837ab6fc Merge branch 'feat/hwloop_esp32p4_v3_0' into 'master'
fix(freertos): update HWLP state bug condition for ESP32P4 revision checks

See merge request espressif/esp-idf!52569
2026-09-09 15:01:01 +08:00
Island
4cf9d611e6 Merge branch 'idf/ble_audio_broadcast_assistant' into 'master'
feat(ble_audio): Add BAP Broadcast Assistant example

See merge request espressif/esp-idf!52480
2026-09-09 14:56:03 +08:00
Island
235fea6e60 Merge branch 'bugfix/fix_iso_data_len_get' into 'master'
fix(iso): correct ISO data length mask from 0x7fff to 0x3fff

See merge request espressif/esp-idf!51509
2026-09-09 14:38:27 +08:00
Island
5a2500deb9 Merge branch 'fix/esp32-ble-dtm-txbuf-leak' into 'master'
Fix DTM TX buffer leak in the BLE controller that could cause memory exhaustion and Interrupt WDT timeout during or after DTM TX tests.

Closes BLERP-3072 and BLERP-3097

See merge request espressif/esp-idf!52250
2026-09-09 14:37:42 +08:00
Island
fbd01a4878 Merge branch 'feat/opt_prefer_bond_device_when_evicting_overflow_bonds' into 'master'
fix(bt/bluedroid): prefer disconnected peers when evicting overflow bonds

See merge request espressif/esp-idf!51883
2026-09-09 14:37:39 +08:00
wuzhenghui
b72f7a91ce fix(esp32s31): break clk_tree and RCC ABBA deadlock
Keep gated-clk refcnt under s_clk_tree_spinlock only, and call
esp_crypto_common_clk_enable outside PERIPH_RCC so crypto (RCC→clk_tree)
and modem (clk_tree→RCC) cannot deadlock on periph_spinlock

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-09 14:34:07 +08:00
Armando (Dou Yiwen)
99b6f5dcd8 test(spi_flash): verify partition protection callback registration 2026-09-09 14:17:00 +08:00
Armando (Dou Yiwen)
5e181236b7 refactor(mspi): move esp_mspi_align and mspi_mem_barrier to esp_mspi 2026-09-09 14:17:00 +08:00
armando
90dd358dcb feat(mspi): added mspi flash error (aligned with rom) 2026-09-09 14:17:00 +08:00
armando
77807bfe6e fix(esp_mspi): remove not used cmake variable 2026-09-09 14:17:00 +08:00
armando
2cacb0bd56 change(flash): deprecate bootloader_flash_priv.h 2026-09-09 14:17:00 +08:00
armando
6e3abd12a1 refactor(spi_flash): move os layer to esp_mspi and chip configs to spi_flash
Also fixes the implicit dependency on esp_partition.
2026-09-09 14:17:00 +08:00
Jiang Jiang Jian
716e9e5121 Merge branch 'fix/fix_cryto_module_locked_after_pd_top_lslp' into 'master'
fix(esp_hw_support): fix cryto module locked after pd_top lightsleep

Closes WIFIBUG-2126 and PM-861

See merge request espressif/esp-idf!52460
2026-09-09 13:59:46 +08:00
Rahul Tank
752db18455 Merge branch 'bugfix/fix_coex_crash' into 'master'
fix(nimble): Prevent crash in deinit when host init was not completed

See merge request espressif/esp-idf!52104
2026-09-09 11:09:08 +05:30
Guillaume Souchere
bdf98cf0dd fix(esp_libc): reject out-of-range adjtime() deltas instead of overflowing
The adjtime() wrapper stored the microsecond offset into the 32-bit
`long` timex.offset field without checking for overflow. A large delta
(e.g. 400 days) was computed in 64-bit and silently truncated when
assigned, wrapping into a small value that passed the ~35 minute range
check. adjtime() then returned 0 instead of the expected -1.

Compute the offset in int64_t and reject values that do not fit in the
timex.offset field with EINVAL. Add a regression test for a multi-day delta.

Closes https://github.com/espressif/esp-idf/issues/19051
2026-09-09 07:28:45 +02:00
morris
c565262ded Merge branch 'bugfix/ppa_srm_stuck_on_dma_2' into 'master'
fix(ppa): fix for SRM operation potential block if do 90/270 degree rotation

Closes IDFGH-18204 and IDFGH-17870

See merge request espressif/esp-idf!49657
2026-09-09 11:55:27 +08:00
Li Shuai
b8bac92866 fix(unit-test): config wakeup gpio pin internal pullup to avoid input floating 2026-09-09 11:30:44 +08:00
morris
8284596d78 Merge branch 'feat/gdma_burst_size_fallback' into 'master'
fix(gdma): treat burst size 0 and 1 as burst disabled

See merge request espressif/esp-idf!52209
2026-09-09 11:05:33 +08:00
Ashish Sharma
5286f60b26 Merge branch 'test/esp_http_client_characterization' into 'master'
test(esp_http_client): add mock transport and basic characterization tests

See merge request espressif/esp-idf!52212
2026-09-09 11:04:25 +08:00
Island
d82c0b546d Merge branch 'bugfix/fxied_btdm_mempool_compilation_issue' into 'master'
fix(ble): fixed porting_btdm compilation issue for esp32-s31/h4

See merge request espressif/esp-idf!52433
2026-09-09 11:01:14 +08:00
muhaidong
fbaab87263 fix(esp_timer): preserve timer_process_alarm symbol for ldgen 2026-09-09 09:55:57 +08:00
Liu Linyan
19b8637502 feat(ble_audio): Add BAP Broadcast Assistant example 2026-09-09 09:51:40 +08:00
Marius Vikhammer
3c633f037d Merge branch 'feat/sys_event_in_freertos' into 'master'
feat(system_init): Introduce pre-scheduler and pre-app main handler registrations

Closes IDF-16133

See merge request espressif/esp-idf!52296
2026-09-09 09:28:52 +08:00
morris
f5afb99e3b fix(gdma): treat burst size 0 and 1 as burst disabled
The GDMA layer used `max_data_burst_size == 0` as the only way to disable the
data burst. That conflicts with the upstream drivers' convention where a zeroed
config struct means "unset", so users had no way to ask for the driver default
burst size.

GDMA now treats both 0 and 1 as "no data burst": a single-beat burst has no
benefit over the non-burst mode. The MSPI alignment constraint under Flash
Encryption / PSRAM ECC still takes precedence and is reported with a warning.

The upstream drivers using GDMA now apply their own default burst size (16
bytes) when the user leaves `dma_burst_size` as 0, following the UHCI driver:

- esp_async_crc (AHB / AXI GDMA backend)
- esp_async_memcpy (AHB / AXI / LP-AHB / DW_GDMA backend)

Callers that really want no burst can now set `dma_burst_size` to 1.
2026-09-08 23:29:14 +08:00
Sudeep Mohanty
8979950ebf refactor(ulp): move ULP program Kconfig options to its components
The Kconfig options for the program running on the ULP coprocessor now live
with the components that build it, not with the ULP coprocessor driver on
the HP core. The driver sources them, so applications resolve them as
before.
2026-09-08 17:26:30 +02:00
Tomas Rezucha
994d2b4203 fix(usb_phy): Fixed USB PHY clock during low-power modes
On ESP32-S3, USB PHY is clocked from BBPLL,
however if the BBPLL is not used as CPU clock source,
the power management unit can turn it off.
This commit registers USB as BBPLL consumer so it is not turned off.

Closes https://github.com/espressif/esp-idf/issues/15451
2026-09-08 14:47:25 +02:00
Alexey Gerenkov
837d6d276e Merge branch 'fix/nonstring_attr_declaration' into 'master'
fix(esp_common): detect nonstring attribute with __has_attribute

See merge request espressif/esp-idf!52544
2026-09-08 20:06:42 +08:00
Mahavir Jain
7fc2aafb21 Merge branch 'fix/ecdsa_hmac_ds_locking' into 'master'
fix(esp_security): Stop ECDSA and Key Manager resets from corrupting concurrent crypto

See merge request espressif/esp-idf!52183
2026-09-08 17:28:54 +05:30
wangjialiang
bfc81683e7 fix(iso): correct ISO data length mask from 0x7fff to 0x3fff 2026-09-08 19:47:58 +08:00
wangjialiang
2114bea2bc feat(iso): Support set ble iso tx power 2026-09-08 19:10:28 +08:00
Rahul Tank
9b60123e4f fix(nimble): Prevent crash in deinit when host init was not completed 2026-09-08 16:20:50 +05:30