Commit Graph

7218 Commits

Author SHA1 Message Date
Island
47bd7785b9 Merge branch 'feat/support_bluedroid_le_coc_and_eatt_v5.5' into 'release/v5.5'
feat(ble/bluedroid): Support bluedroid LE COC and EATT features (5.5)

See merge request espressif/esp-idf!50714
2026-07-23 10:06:52 +08:00
Jiang Jiang Jian
b76deb40b3 Merge branch 'docs/ulp_fsm_instruction_v5.5' into 'release/v5.5'
docs(ulp): clarify ULP FSM instruction cycle timing (v5.5)

See merge request espressif/esp-idf!50368
2026-07-21 12:06:36 +08:00
Jiang Jiang Jian
962e623035 Merge branch 'feat/mbedtls_update_3.6.7' into 'release/v5.5'
feat(mbedtls): update to version 3.6.7

See merge request espressif/esp-idf!50621
2026-07-21 11:32:17 +08:00
Zhi Wei Jian
7ab919a76e feat(ble/bluedroid): Support bluedroid dual identity
(cherry picked from commit 2358786647)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
2026-07-21 10:32:11 +08:00
morris
6eeecd24cf Merge branch 'doc/bootloader-anti-rollback-fix_v5.5' into 'release/v5.5'
fix(docs): Update bootloader anti-rollback documentation (v5.5)

See merge request espressif/esp-idf!50840
2026-07-21 10:30:18 +08:00
Ashish Sharma
65f6668b84 feat(mbedtls): update to version 3.6.7 2026-07-20 16:03:38 +08:00
morris
21f3b71cbb Merge branch 'feat/i2s_duplex_update_v5.5' into 'release/v5.5'
feat(i2s): allow full duplex mode in less strict condition (v5.5)

See merge request espressif/esp-idf!50867
2026-07-18 15:57:50 +08:00
morris
502fb705a2 Merge branch 'fix/twai_ci_job_pollution_v5.5' into 'release/v5.5'
fix(ci): twai test close board to fixed ci jobs pullotion (v5.5)

See merge request espressif/esp-idf!49921
2026-07-18 15:51:55 +08:00
morris
15558ba694 Merge branch 'fix/twaifd_assert_fail_v5.5' into 'release/v5.5'
fix(driver_twai): fix driver assert fail when send frame (v5.5)

See merge request espressif/esp-idf!49942
2026-07-18 15:46:42 +08:00
morris
14c0367acd Merge branch 'docs/i2s_ws_setting_v5.5' into 'release/v5.5'
docs(i2s): clarify WS width setting for standard mode (v5.5)

See merge request espressif/esp-idf!50667
2026-07-18 00:19:08 +08:00
Chen Chen
1d3952904d refactor(i2s): make the slot_bit_width checks unique 2026-07-17 14:40:10 +08:00
Chen Chen
ad8d821197 feat(i2s): allow full duplex mode in less strict condition 2026-07-17 14:39:22 +08:00
Konstantin Kondrashov
d4ad53aaef fix(docs): Update bootloader anti-rollback documentation 2026-07-16 13:44:55 +03:00
Jiang Jiang Jian
cc5a3fbcb5 Merge branch 'feat/psram_enc_exempt_v5.5' into 'release/v5.5'
feat(esp_psram): add option to carve unencrypted PSRAM region (v5.5)

See merge request espressif/esp-idf!49931
2026-07-16 17:04:28 +08:00
wanckl
436d44260f feat(driver_twai): fd hardware support time trigger trans 2026-07-15 11:51:34 +08:00
Chen Chen
cb081679e2 docs(i2s): add note for ws setting under DEFAULT config
Closes https://github.com/espressif/esp-idf/issues/18744
2026-07-13 15:23:31 +08:00
wuzhenghui
1b3d83528b change(heap): reserve DMA pool with low priority MALLOC_CAP_DEFAULT caps 2026-07-09 17:33:25 +08:00
Marius Vikhammer
e33d78f18f docs(ulp): clarify ULP FSM instruction cycle timing
Closes https://github.com/espressif/esp-idf/issues/4088
2026-07-06 11:04:03 +08:00
wanckl
78a5d0bfed feat(driver_twai): add prioritized TX queue support 2026-06-26 18:35:09 +08:00
morris
52e73f3cd5 fix(sdio_slave): align buffer size checks with descriptor limits
Define per-target SDIO slave descriptor buffer limits in the LL layer and validate queued send buffers against the 4-byte aligned effective maximum. Update the public docs to describe the chip-dependent limit instead of hardcoding 4092 bytes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-25 11:39:41 +08:00
Mahavir Jain
d8f79c427b docs(esp_psram): mirror carve-out review-feedback updates in zh_CN
Mirror the recent EN-side updates in the Chinese External RAM guide:

- Replace "PSRAM 顶部" with "PSRAM 上端(最高物理地址区)" to match the
  clarified wording on the EN side.
- Add the verification-helper pointer next to the heap_caps_malloc
  example so Chinese readers also learn about esp_psram_ptr_is_no_enc().

Also drop the :cpp:func: cross-reference for esp_psram_ptr_is_no_enc on
the EN side: esp_psram.h is not in any chip-specific Doxyfile, so
Sphinx/Breathe cannot resolve the reference. Use a plain inline code
literal instead, matching the existing reference style for
esp_psram_get_size and other esp_psram functions in the docs.
2026-06-23 14:56:41 +05:30
Mahavir Jain
6d51abfc4c docs(esp_psram): clarify carve-out location is at upper end of PSRAM
The previous wording "top of PSRAM" was ambiguous: the carve-out is
actually mapped at the highest physical addresses of PSRAM (after the
rodata, text, and main heap mappings). Update the Kconfig help text for
SPIRAM_ENC_EXEMPT and SPIRAM_ENC_EXEMPT_SIZE, the External RAM
documentation, and the internal layout comment to say "upper end of PSRAM
(highest physical addresses)" instead.
2026-06-23 14:56:41 +05:30
Mahavir Jain
afdf1a5259 feat(esp_psram): add esp_psram_ptr_is_no_enc() helper
Drivers that allocate from the unencrypted PSRAM carve-out via
MALLOC_CAP_SPIRAM_NO_ENC currently have no way to verify after the fact
which pool a buffer came from. This is particularly relevant for callers
using heap_caps_malloc_prefer(MALLOC_CAP_SPIRAM_NO_ENC, MALLOC_CAP_SPIRAM),
where a silent fallback to encrypted PSRAM would still pass the typical
esp_ptr_external_ram() check.

Expose esp_psram_ptr_is_no_enc() in the public esp_psram.h header. It
performs a range check against the carve-out's virtual-address window and
returns false when PSRAM is not initialized or CONFIG_SPIRAM_ENC_EXEMPT is
disabled, so callers do not need to guard the call site with #if.

Also reference the helper from the External RAM documentation alongside
the heap_caps_malloc(MALLOC_CAP_SPIRAM_NO_ENC) usage example.
2026-06-23 14:56:40 +05:30
Mahavir Jain
ba69281a01 docs(esp_psram): document MALLOC_CAP_SPIRAM_NO_ENC carve-out
Extends the External RAM encryption section to describe
CONFIG_SPIRAM_ENC_EXEMPT and the MALLOC_CAP_SPIRAM_NO_ENC heap
capability, including a security warning and a typical DMA-alignment
use case. Mirrors the change in zh_CN.
2026-06-23 14:56:39 +05:30
Samuel Obuch
c33de7ac03 docs(jtag-debugging): add semihosting chapter
Co-authored-by: Shen Mengjing <shenmengjing@espressif.com>
Co-authored-by: Zhang Shu Xian <zhangshuxian@espressif.com>
2026-06-22 13:14:12 +02:00
Jiang Jiang Jian
ad91c6ed0f Merge branch 'feat/support_usb_wakeup_v5.5' into 'release/v5.5'
feat: support usb as wakeup source from light sleep (v5.5)

See merge request espressif/esp-idf!49511
2026-06-17 19:50:18 +08:00
Jiang Jiang Jian
842f62b0d3 Merge branch 'bugfix/int_wdt_default_psram_v5.5' into 'release/v5.5'
fix(iwdt): increased default timeout if using PSRAM (v5.5)

See merge request espressif/esp-idf!49482
2026-06-17 19:46:31 +08:00
Mahavir Jain
7c94e98d2c Merge branch 'fix/sb_digest_revocation_workflow_v5.5' into 'release/v5.5'
change(bootloader): honor SECURE_BOOT_ALLOW_UNUSED_DIGEST_SLOTS during first boot (v5.5)

See merge request espressif/esp-idf!49714
2026-06-17 14:36:48 +05:30
Jiang Jiang Jian
87c540da31 Merge branch 'fix/disable_secure_boot_v2_ecdsa_v5.5' into 'release/v5.5'
Fix/disable secure boot v2 ecdsa (v5.5)

See merge request espressif/esp-idf!49472
2026-06-17 12:00:48 +08:00
Mahavir Jain
7d0545db69 change(bootloader): honor SECURE_BOOT_ALLOW_UNUSED_DIGEST_SLOTS during first boot
Previously the bootloader unconditionally revoked unused secure boot key
digest slots while permanently enabling secure boot on the first boot,
ignoring CONFIG_SECURE_BOOT_ALLOW_UNUSED_DIGEST_SLOTS. Now the config is
honored on this path too: when set, the unused digest slots are left
un-revoked. This is safe as long as the debug and download interfaces are
disabled.

Update the Kconfig help and the Secure Boot v2 guide (en and zh_CN)
accordingly.
2026-06-16 13:35:23 +05:30
Mahavir Jain
5bc42c9333 docs(security): fix typos in security guides
- security.rst: remove duplicated word in OTA encryption note
- tee.rst: remove duplicated word in memory allocation note
- flash-encryption.rst: drop redundant phrase and fix subject-verb agreement
2026-06-16 13:35:23 +05:30
hebinglin
ab7f6a6d95 fix(ulp): fix lp uart keep wakeup triggered 2026-06-15 15:18:31 +08:00
JiangGuangMing
be36da06b4 feat(docs): update docs for usb wakeup from light sleep example
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 09:24:04 +08:00
Aditya Patwardhan
66156479d2 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-10 08:08:07 +05:30
Marius Vikhammer
b4dd39ea35 fix(iwdt): increased default timeout if using PSRAM
Default timeout for interrupt WDT was increased by default
on ESP32, due to some heap integrity check APIs taking a long
time on large PSRAMs and causing timeouts.

But this adjustment was only done for ESP32, not later chips,
even though they may experience the same issue.

Adjusted to have the same behavior on all chips with PSRAM
enabled, making it consistant with the docs.

Closes https://github.com/espressif/esp-idf/issues/18360
2026-06-10 10:34:09 +08:00
Jiang Jiang Jian
3d03a4035b Merge branch 'doc-fix_sleep_mode_doc_v5.5' into 'release/v5.5'
docs(system): update GPIO wakeup section for clarity on EXT0 and EXT1 support (v5.5)

See merge request espressif/esp-idf!49116
2026-06-05 10:54:09 +08:00
wuzhenghui
2ea0d4639d docs(system): update GPIO wakeup section for clarity on EXT0 and EXT1 support
backport !47362
2026-06-03 10:57:54 +08:00
Chen Chen
ec8115862a docs(i2s): correct power lock management description
Closes https://github.com/espressif/esp-idf/issues/18655
2026-06-02 09:25:48 +08:00
Guillaume Souchere
41ea1c562f fix(heap): Do not consider newly registered heap in minimum free size calcualtion
After startup is done and app_main is reached, all calls to
heap_caps_add_region_with_caps (adding a new heap to the list of registered
heaps) will not affect the minimum free heap size value.

For heaps created before startup, this won't apply and their size will
end up being taken into account in the calculation of the minimum.
2026-05-29 07:57:09 +02:00
Aditya Patwardhan
6f79e8ed4a Merge branch 'feat/esp_tee_backports_v5.5' into 'release/v5.5'
feat(esp_tee): Feature/fixes backports to `release/v5.5`

See merge request espressif/esp-idf!48496
2026-05-28 11:00:10 +05:30
morris
a4ff8642d5 Merge branch 'feat/lcd_i2c_use_configurable_timeout_v5.5' into 'release/v5.5'
feat(lcd): add configurable timeout for lcd i2c panel (v5.5)

See merge request espressif/esp-idf!48664
2026-05-28 11:35:14 +08:00
morris
d818c5c1e2 Merge branch 'doc/i2s_esp32_mclk_restriction_v5.5' into 'release/v5.5'
docs(i2s): add note for the restriction of MCLK on esp32 (v5.5)

See merge request espressif/esp-idf!48572
2026-05-28 11:24:16 +08:00
morris
99b011cddc Merge branch 'feat/lcd_sleep_retention_p4_v5.5' into 'release/v5.5'
feat(lcd): support i80 lcd sleep retention on p4 (v5.5)

See merge request espressif/esp-idf!46529
2026-05-28 11:23:12 +08:00
morris
9462240ecd Merge branch 'test/uart_dma_ota_fix_v5.5' into 'release/v5.5'
refactor(uhci): refactor uart_dma_ota example (v5.5)

See merge request espressif/esp-idf!48756
2026-05-28 11:21:33 +08:00
Laukik Hase
a88716153b feat(esp_tee): Add some required fields in the attestation token
- Chip ID from the ROM
- Device MAC address from eFuse BLK1
- Device Optional Unique ID from eFuse BLK2
2026-05-26 11:34:06 +05:30
Chen Jichang
3dccd4b740 feat(lcd): support i80 lcd sleep retention on p4 2026-05-25 16:09:53 +08:00
Hu Rui
6b81966b9f refactor(uhci): improve uart_dma_ota example & uhci docs
add const to UHCI rx callback edata->data
2026-05-25 10:47:40 +08:00
Chen Chen
08ca9fcab3 feat(lcd): add configurable timeout for lcd i2c panel
Closes https://github.com/espressif/esp-idf/issues/18542
Closes https://github.com/espressif/esp-idf/pull/18543
2026-05-25 09:51:46 +08:00
Chen Chen
4f6e79ab93 docs(i2s): add note for the restriction of MCLK on esp32
Closes https://github.com/espressif/esp-idf/issues/18564
2026-05-22 11:42:11 +08:00
Fu Hanxi
c433cb7bd2 Merge branch 'ci/stable-build-jobs-v5.5' into 'release/v5.5'
Ci/stable build jobs v5.5

See merge request espressif/esp-idf!48716
2026-05-21 10:16:53 +02:00