Commit Graph
1317 Commits
Author SHA1 Message Date
nilesh.kale a530aab0a6 feat: enable key manager and HUK support for S31 2026-05-20 10:17:34 +05:30
Aditya PatwardhanandNilesh Kale e9a9091b59 feat(hal): add HMAC and Digital Signature support for esp32s31
Co-authored-by: Nilesh Kale <nilesh.kale@espressif.com>
2026-05-20 10:17:34 +05:30
linruihao df492d5c2f fix(coex): fix ble coded phy rx issue when aborted by coex 2026-05-19 17:52:07 +08:00
Sarvesh Bodakhe 94f226d73b feat(wifi): NAN encrypted datapath (Wi-Fi Aware M1-M4 handshake)
Implement the NAN Data Path encrypted datapath per Wi-Fi Aware v4.0
(§7.1.3.5, §9.5.16):

- Responder + initiator sides of the M1-M4 Shared-Key Descriptor
  exchange, with MIC compute/verify, PTK derivation, and PMK/PMKID
  derivation via PBKDF2-SHA256 over passphrase or pre-shared PMK.
- CSIA / SCIA attribute build + parse, NCS-SK-128 cipher suite.
- Per-NDL security context on ndl_info::security_ctx; per-svc PMK cache.
- ndp_response_indication callback for initiator peer-NDI binding.
- host<->blob ABI migrated from 27 direct esp_nan_* externs to a single
  nan_secure_dp_funcs callback struct in esp_private/wifi.h.
- nan_security.c split out of nan_app.c (~340 lines de-duplicated into
  shared M1-M4 helpers).
- CONFIG_ESP_WIFI_NAN_ENCRYPTED_DATAPATH gates the secure path so non-
  security builds compile out the crypto/handshake code.
- ROM patch (esp32s31): mask ieee80211_encap_esfbuf to match the
  c5/c6/c61 pattern for NAN-capable chips.

Hardening: PMK stack copies zeroized on every return, NDP attribute
parsers bounds-checked, CSID range-checked before shifting, NDL slot
reuse only when handshake state is IDLE, get_csia/scia_len aligned with
their builders on empty input.

API surface: NDP security types moved out of esp_wifi_types_generic.h
into esp_private/wifi.h (internal-only). security pointer dropped from
struct ndp_cb_peer_info. Discovery-side wifi_nan_security_type_t and
the NDP Info callbacks removed (subsumed by csid_bitmap and SSI
respectively).
2026-05-19 11:07:06 +05:30
Mahavir Jain cee71ceb39 Merge branch 'feat/enable_secure_boot_support_for_esp32h4' into 'master'
feat: enable support for secure boot in esp32h4

Closes IDF-12262 and IDF-12966

See merge request espressif/esp-idf!45603
2026-05-13 19:07:25 +05:30
Mahavir Jain c9fe519dcb Merge branch 'feat/enable_ecdsa_support_for_esp32h4' into 'master'
Feat/enable ecdsa support for esp32h4

Closes IDF-12259

See merge request espressif/esp-idf!45493
2026-05-13 18:56:10 +05:30
Marius Vikhammer aaf7d8c722 fix(esp_rom): fixed esp-rom not compiling in g0 build
CONFIG_BOOTLOADER_OFFSET_IN_FLASH comes from the bootloader kconfigs and
is not available in g0 builds.
2026-05-13 14:21:06 +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
nilesh.kale f400c78d42 feat(hal): enable ecdsa support in esp32h4 2026-05-12 15:26:17 +05:30
nilesh.kale 76e2e6d53f feat: enable support for secure boot in esp32h4 2026-05-11 16:26:01 +05:30
Chen Jichang 645ff40cde ci(esp32h4): enable ci target test 2026-05-11 16:48:58 +08:00
Konstantin Kondrashov e8609f59a8 feat(bootloader): Support recovery bootloader for ESP32S31 and ESP32P4 2026-05-08 16:45:14 +03:00
Konstantin Kondrashov c9ce65f6c1 Merge branch 'fix/bootloader-hooks-log-v2' into 'master'
fix(bootloader_hooks): Fix log_v2 support in bootloader hooks

Closes IDFGH-17547

See merge request espressif/esp-idf!47907
2026-05-07 09:56:44 +03:00
muhaidong c8d73ae671 fix(wifi): update rom ld file for fix max connection number issue 2026-05-06 20:48:33 +08:00
Konstantin Kondrashov 0dc907c820 fix(bootloader_hooks): Fix log_v2 support in bootloader hooks
Closes https://github.com/espressif/esp-idf/issues/18482
2026-05-06 13:47:59 +03:00
Marius Vikhammer e684ca5183 Merge branch 'change/esp_rom_caps_bootloader_offset' into 'master'
change(rom): move bootloader flash offset to esp_rom_caps

Closes IDF-14899

See merge request espressif/esp-idf!48056
2026-04-29 17:27:33 +08:00
Marius Vikhammer 6af582c260 change(rom): add rom caps for bootloader in flash offset 2026-04-29 10:58:50 +08:00
zhanghaipeng 658ff8730b fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(2f683593)
- Fixed read remote feature timeout when using coded phy
- Fixed disconnection issue(0x08) when using 125k coded phy
- Fixed disconnection issue(0x08) when updating connection param
- Fixed disconnection issue(0x08) when using multi connection
- Avoid error when adding duplicate device to whitelist
- Support disable channel assessment by vendor hci
- Support smaller connection interval (3.75 ms)
- Support duplicate exception list in EVT ADV
2026-04-28 18:26:22 +08:00
Marius Vikhammer 76983e48fc fix(hal): fix LP WDT stage timeout and reset configuration for ESP32S31 2026-04-28 12:10:23 +08:00
Jiang Jiang Jian bc85b10de7 Merge branch 'bugfix/fix_modem_sleep_flag_clear_failed' into 'master'
fix(wifi): fix modem sleep flag clear failed & fix(pm): fix crash when dtim=0, support coex beacon drop &fix coexist force wake behaviour with offchannel to optimize performance at returning home channel

Closes WIFI-7246, WIFIBUG-1585, and WIFI-7306

See merge request espressif/esp-idf!46830
2026-04-24 15:03:23 +08:00
liuning fa8791b49c fix(pm): fix crash when dtim=0, support coex beacon drop
closes https://github.com/espressif/esp-idf/issues/18387
2026-04-23 20:44:37 +08:00
Guillaume Souchere a56354e9ab feat(heap): move TLSF ROM patches and related files from esp_rom to heap
The TLSF ROM patch code (rom_patch_tlsf.c, rom_patch_multi_heap.c),
their headers, and the per-target *.rom.heap.ld linker scripts are
semantically owned by the heap component, not esp_rom. Move them
accordingly:

- components/esp_rom/patches/esp_rom_tlsf.c
  → components/heap/rom_patches/rom_patch_tlsf.c
- components/esp_rom/patches/esp_rom_multi_heap.c
  → components/heap/rom_patches/rom_patch_multi_heap.c
- components/esp_rom/include/esp_rom_tlsf.h
  → components/heap/rom_patches/include/rom_patch_tlsf.h
- components/esp_rom/include/esp_rom_multi_heap.h
  → components/heap/rom_patches/include/rom_patch_multi_heap.h
- components/esp_rom/<target>/ld/<target>.rom.heap.ld (×8)
  → components/heap/port/<target>/ld/<target>.rom.heap.ld

Update heap/CMakeLists.txt to:
- use target_linker_script() directly for *.rom.heap.ld
- guard post-registration ROM patch setup with NOT BOOTLOADER_BUILD
- drop stale CONFIG_HEAP_TLSF_CHECK_PATCH symbol reference
- drop esp_rom_include_multi_heap_patch from TLSF_CHECK_PATCH guard

Remove the corresponding entries from esp_rom/CMakeLists.txt.
2026-04-23 12:21:31 +02:00
Guillaume Souchere da81ec6f47 fix(esp_rom): Set poison check hook for tlsf_walk_pool patch 2026-04-23 07:51:04 +02:00
He Binglin 92e1d04b4f Merge branch 'bugfix/esp_idf_ulp_wakeupcauses_record' into 'master'
fix(ulp): record wakeup causes before lp core request sleep

Closes PM-677 and IDFCI-8878

See merge request espressif/esp-idf!46467
2026-04-22 20:13:17 +08: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
hebinglin b8e0ee431c change(ulp): add HP Core wakeup causes save test cases 2026-04-22 16:22:13 +08:00
hebinglin 0603e0eb23 fix(ulp): record wakeup causes before lp core request sleep 2026-04-22 16:22:11 +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 7cd9729e69 feat(esp_rom): add support for esp32s31
Made-with: Cursor
2026-04-21 11:24:49 +08:00
yinqingzhao c3da80ee52 feat(wifi): add esp32s31 wifi support 2026-04-16 20:17:07 +08:00
Jiang Jiang Jian 6af995cb00 Merge branch 'fix/fix_blacklist_issue' into 'master'
fix(wifi): fix wifi blacklist issue& ht info issue& wifi statis dump issue

Closes WIFI-7162

See merge request espressif/esp-idf!44735
2026-04-14 13:57:30 +08:00
Aditya PatwardhanandNilesh Kale bfd3e191bc feat: enable AES, SHA, RSA and ECC support for ESP32S31
Co-authored-by: Nilesh Kale <nilesh.kale@espressif.com>
2026-04-13 10:20:44 +05:30
wangtao@espressif.com 7bdae09182 fix(wifi): fix wifi blacklist issue 2026-04-13 11:31:48 +08: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
C.S.M 152b5ccb4c ci(esp32s31): Add ci target test for esp32s31 2026-04-03 11:38:45 +08:00
Song Ruo Jing 50051b74a5 feat(clk): support for esp32s31 clock tree 2026-04-02 20:39:59 +08:00
Konstantin Kondrashov 545f9522a9 Merge branch 'feature/update_efuse_table_esp32h4' into 'master'
feat(efuse): Update efuse table for ESP32-H4

Closes IDF-12322

See merge request espressif/esp-idf!47181
2026-04-01 21:20:08 +03:00
Konstantin Kondrashov 8701705ec3 feat(efuse): Update efuse table for ESP32-H4 2026-04-01 16:15:45 +03:00
Frantisek Hrbata 32d31d72a3 Merge branch 'feat/cmakev2_bootloader' into 'master'
feat(cmakev2): build bootloader using the cmakev2 build system

Closes IDF-15433

See merge request espressif/esp-idf!46465
2026-04-01 10:29:05 +02:00
armando ebbd9cdb59 feat(psram): support psram device driver 2026-03-31 13:56:43 +08:00
Fu Hanxi 12cc3a92af Merge branch 'feat/parametrize-pytest-cli-args' into 'master'
ci: move test cli args alongside test scripts

Closes IDFCI-1951 and IDFCI-2940

See merge request espressif/esp-idf!46966
2026-03-28 08:04:25 +01:00
Frantisek Hrbata 38edb84669 fix(esp_rom): exclude TLSF/multi_heap ROM patches from bootloader build
The bootloader does not use the heap allocator or TLSF, so the ROM
patch files esp_rom_tlsf.c and esp_rom_multi_heap.c are not needed
in the bootloader build.

In the cmakev1 build system this was never an issue because cmakev1
uses an early expansion phase where only Kconfig files for components
listed in BUILD_COMPONENTS are processed. Since the heap component is
not part of the bootloader's component list, its Kconfig options
(CONFIG_HEAP_TLSF_USE_ROM_IMPL, etc.) were never defined and the
conditional compilation of these source files was effectively skipped.

In the cmakev2 build system, Kconfig options from all discovered
components are visible regardless of whether the component is part
of the build. Because the bootloader reuses the main project's
sdkconfig (where CONFIG_HEAP_TLSF_USE_ROM_IMPL defaults to y on
targets with ROM TLSF support like esp32c2), the TLSF patch sources
were being compiled into the bootloader's esp_rom. This caused a
build failure because esp_rom_tlsf.c includes tlsf_block_functions.h
from the heap component, which is not a dependency of esp_rom and is
not part of the bootloader build.

Guard the TLSF and multi_heap ROM patch sources with NOT
BOOTLOADER_BUILD to prevent them from being compiled in the
bootloader context. This fix is compatible with both cmakev1 and
cmakev2.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-03-27 19:18:11 +08:00
gaoxiaojie 2ba8cc8dc8 fix(rom): remove duplicate symbols in esp32s31.rom.rvfp.ld 2026-03-27 09:01:56 +08:00
Fu Hanxi ddc7e0cdf7 ci: move qemu test cli args alongside test scripts
remove redundant host_test marker
2026-03-26 10:56:15 +01:00
gaoxu 8ce11e1608 change(esp_hw_support): h21 eco1 support and fix drom address error 2026-03-25 15:38:49 +08:00
linruihao 647f0972ac fix(coex): fix some esp32 coexistence bugs
- fix ble scan may restart twice in coex scenarios
- fix bredr page/pscan coex request/release not match
- fix bredr incorrect inquiry length calculation
- update bredr page/inquiry pti
- add coex pti protection for entire page/inquiry event
2026-03-24 19:16:33 +08:00
Island 1005d55ddb Merge branch 'feat/support_run_time_alloc_for_esp_ip_test' into 'master'
Support Mempool Run Time Allocation for ESP IP Chips

Closes BLERP-2622

See merge request espressif/esp-idf!45778
2026-03-20 16:17:27 +08:00
Sajia e5e65ce0ae fix(wifi): Add bss max idle timer and protected keep alive fixes 2026-03-18 17:53:12 +05:30
cjin 5ec82368ba feat(ble): make env init function cuttable on ESP32-C2 2026-03-18 17:21:42 +08:00
yangfeng 7a0771d2c8 feat(bt): Add APIs to control transmit power level
- API to read ACL real RSSI
- APIs to read/write tx power of inq/iscan/page/pscan/ACL
2026-03-13 10:12:40 +08:00