Compare commits

...

3629 Commits

Author SHA1 Message Date
bc508769d4 Add filename and line number back to esp log 2025-06-24 17:37:03 +02:00
54a30ad090 add function to start spi transaction from isr 2025-06-24 15:55:22 +02:00
29968b8893 set_server_config() set ssl authmode to OPTIONAL 2025-06-24 15:55:22 +02:00
877b75c6e9 Show websocket network errors 2025-06-24 15:55:22 +02:00
43575c2f85 bootloader_support: burn security efuses if flash encryption is enabled
Previously security eFuses were only burnt if the flash was not encrypted
yet.
To enhance robustness of the security eFuse settings their correct setup
should be verified on each bootup. Else it would be possible for an
already encrypted ESP to be reflashed with firmware containing updated,
more restrictive eFuse settings without them ever being applied.
Additionally this change enables easy, secure use of ESPs with host sidee
flash preencryption. Flash preencryption by the host computer performing
the programming procedure can speed up the programming process by a great
deal since the flash no longer needs to be read, erased and written again
by the bootloader self-encryption routines. Additionally it avoids
bricking of ESPs through interruption of the self-ecnryption procedure.
Without this change the host would have to set up all fuses in the ESP
correctly by itself, duplicating the fuse configuration code already
present in the bootloader and creating additional maintenance burden for
the host software if anything about the fuse setup logic changes.
This commit changes the security eFuse configuration logic to always burn
any configured security eFuses on bootup, regardless of current flash
encryption status.
2025-06-24 15:55:22 +02:00
1c43cecb72 Show remote ip address when somebody requests and invalid path to ease debugging 2025-06-24 15:55:22 +02:00
b8019d9490 Return ESP_ERR_HTTP_EAGAIN in http client perform 2025-06-24 15:55:22 +02:00
228bc8a793 Less tcp packet fragmentation 2025-06-24 15:55:20 +02:00
afac752772 Add missing header include to netif ppp 2025-06-24 15:54:40 +02:00
a2c49705b0 Return EAGAIN in http client perform 2025-06-24 15:54:40 +02:00
43244fae84 Add support for X-WWW-Authenticate header 2025-06-24 15:54:40 +02:00
82011d22c8 Fix compilation under C++ again 2025-06-24 15:54:40 +02:00
f89d6ee5a0 change(version): Update version to v6.0-dev 2025-05-12 11:39:42 +02:00
f019c5d549 change(docs): silence new Sphinx warnings after Doxygen upgrade
Co-authored-by: Marius Vikhammer <marius.vikhammer@espressif.com>
2025-05-12 11:39:41 +02:00
7023b489a7 change(examples): temp. disable examples which need esp_wifi_remote
Will be re-enabled after adding IDF 6.0 compatibility in
esp_wifi_remote.
2025-05-12 11:39:41 +02:00
236200a93f change(examples): remove idf version dependency 2025-05-12 11:39:41 +02:00
7aabeaeab9 Merge branch 'bugfix/fix_some_external_coexist_issues' into 'master'
fix(coex): fix some external coexist issues

Closes IDF-10526

See merge request espressif/esp-idf!38958
2025-05-12 17:36:49 +08:00
af1ea42391 Merge branch 'feature/update_h21_documentation' into 'master'
feat: update documentation for esp32h21

Closes IDF-12160, IDF-12163, IDF-12164, and IDF-12165

See merge request espressif/esp-idf!38856
2025-05-12 16:59:00 +08:00
c304ce8946 Merge branch 'docs/sync_cn_and_en_docs' into 'master'
docs: Sync CN and EN docs

Closes DOC-10736

See merge request espressif/esp-idf!38734
2025-05-12 15:49:02 +08:00
929e14951b Merge branch 'feat/add_parlio_bitscrambler_support' into 'master'
feat(parlio_tx): add bitscrambler support

Closes IDF-12016

See merge request espressif/esp-idf!38368
2025-05-12 15:39:56 +08:00
51fef26287 Merge branch 'fix/configure_xip_psram_alignment_gaps_heap_by_default' into 'master'
Add XIP PSRAM alignment gaps in heap only if PSRAM protection is enabled

See merge request espressif/esp-idf!38888
2025-05-12 15:07:07 +08:00
4722f49bc7 feat: update documentation for esp32h21
This also updated log files for other targets to make consistent.
2025-05-12 12:07:36 +05:30
a3211ab8d0 fix(coex): fix some external coexist issue 2025-05-12 14:08:33 +08:00
3058e24af9 Merge branch 'feature/lp_core_c5_eco2' into 'master'
feat(ulp): update ulp for c5 eco2

Closes IDF-8637

See merge request espressif/esp-idf!38431
2025-05-12 13:35:25 +08:00
e5a8ea0ab1 Merge branch 'fix/c5_default_apm_cfg' into 'master'
fix(security): Set all APM masters to operate in TEE mode by default

See merge request espressif/esp-idf!39006
2025-05-12 12:14:00 +08:00
72d858a9d9 docs: Sync CN and EN docs 2025-05-12 11:24:03 +08:00
d3dba7597d feat(parlio_tx): support to mount bitscrambler 2025-05-12 10:27:14 +08:00
39f6aeb536 feat(bitscrambler): add enable and disable function 2025-05-12 10:27:14 +08:00
2fbbcc6d36 feat(ulp): updated to reflect eco2 ulp changes 2025-05-12 10:22:20 +08:00
8a999ea19e fix(security): Set all APM masters to operate in TEE mode by default 2025-05-11 10:01:11 +05:30
7cf5dacd4a Merge branch 'bugfix/provide_user_option_delete_pair' into 'master'
fix(nimble): Added option to stack to handle repeat pairing internally

See merge request espressif/esp-idf!38793
2025-05-10 22:54:56 +08:00
e9366e9f88 Merge branch 'ci/reenable_c5_eco2_target_test' into 'master'
ci(esp32c5): re-enable target test for esp32c5 eco2

See merge request espressif/esp-idf!38775
2025-05-09 22:07:47 +08:00
01e9f8f33a Merge branch 'feature/support_efuse_esp32c5_eco2' into 'master'
feat(efuse): Support efuses for ESP32-C5 ECO2

Closes IDF-12854

See merge request espressif/esp-idf!38925
2025-05-09 20:02:13 +08:00
121db0d752 Merge branch 'fix/improve_tcp_performance' into 'master'
fix(wifi): improve tcp performance

Closes WIFIBUG-1154, WIFIBUG-1149, WIFIBUG-1138, and WIFIBUG-1132

See merge request espressif/esp-idf!38833
2025-05-09 19:54:05 +08:00
a99c984f38 Merge branch 'docs/improve_bluetooth_api_homepage' into 'master'
docs: Improve Bluetooth API homepage

Closes DOC-10814

See merge request espressif/esp-idf!38645
2025-05-09 17:42:48 +08:00
d01a19330f Merge branch 'test/twai_bitrate_correctness' into 'master'
test(twai): ensure the bitrate correctness by uart baudrate detector

Closes IDF-13020

See merge request espressif/esp-idf!38982
2025-05-09 17:23:48 +08:00
196bd4368a Merge branch 'fix/usleep_returns_early' into 'master'
fix(newlib): Fixed an issue where usleep() could consume more CPU cycles

Closes IDFGH-14342

See merge request espressif/esp-idf!38812
2025-05-09 17:18:25 +08:00
5cf9278bb3 Merge branch 'feature/esp32h21_rom_sup' into 'master'
feat(core): bringup rom/newlib for esp32h21

Closes IDF-11555 and IDF-11558

See merge request espressif/esp-idf!38783
2025-05-09 16:49:07 +08:00
933a432290 Merge branch 'bugfix/fix_sta_connection_info_error_on_c5_eco2' into 'master'
fix(wifi): fix the issue that sta connection info loss lr info on C5 eco2

Closes WIFI-6851

See merge request espressif/esp-idf!38941
2025-05-09 16:46:58 +08:00
4c82fc5cb8 fix(wifi): improve esp32c2 and esp32s2 tcp performance 2025-05-09 15:17:00 +08:00
8836310b49 Merge branch 'feat/ot_br_esp32p4' into 'master'
feat(br): support ot_br example for esp32p4

See merge request espressif/esp-idf!38848
2025-05-09 14:59:13 +08:00
3a72305e50 feat(efuse): Support efuses for ESP32-C5 ECO2 2025-05-09 09:29:31 +03:00
fe873acdab docs: Improve Bluetooth API homepage 2025-05-09 14:17:13 +08:00
161117908d fix(openthread/br): enable ot_br CI case for native wifi targets 2025-05-09 12:05:38 +08:00
45f495cba1 Merge branch 'feat/support_esp32p4_sleep_vbat' into 'master'
feat(esp_hw_support): support switch to VBAT power supply in deepsleep

Closes IDF-10664 and IDF-10665

See merge request espressif/esp-idf!37251
2025-05-09 10:35:18 +08:00
da503640a2 Merge branch 'fix/rmt_race_condition' into 'master'
fix(rmt): fix race condition and add receive config error message

Closes IDFGH-15168 and IDFGH-15160

See merge request espressif/esp-idf!38701
2025-05-09 10:27:11 +08:00
d03c3d3192 feat(core): added support for ROM and newlib on ESP32-H21 2025-05-09 09:51:09 +08:00
565cca2fee Merge branch 'ci/add_size_check_for_wifi_configs' into 'master'
ci: add compare wifi bin size between different components

See merge request espressif/esp-idf!38499
2025-05-08 22:35:50 +08:00
2ea460df56 test(twai): ensure the bitrate correctness by uart baudrate detector 2025-05-08 22:35:16 +08:00
0282e9f16f feat(openthread/br): update thread-lib for esp32p4 and OT upstream ec2b0d487
* esp-openthread: thread_zigbee/esp-openthread@8b26c0b64
* openthread: espressif/openthread@ec2b0d487
* esp-idf: espressif/esp-idf@184379b6b
2025-05-08 11:31:11 +00:00
685a6d4398 ci: add compare wifi bin size between different components 2025-05-08 19:30:18 +08:00
184379b6bd feat(openthread): update OT upstream to ec2b0d487 2025-05-08 19:25:10 +08:00
ba9545abbf feat(openthread): support esp32p4 as ot_br 2025-05-08 19:24:55 +08:00
3e99f2f26c fix(nimble): Added option to stack to handle repeat pairing internally 2025-05-08 15:31:47 +05:30
386a3905b5 Merge branch 'feat/autopts_and_ssc_fixes' into 'master'
feat(nimble): Added fixes related to SSC and AutoPTS testing

See merge request espressif/esp-idf!36913
2025-05-08 17:58:55 +08:00
ec659cbe93 Merge branch 'docs/update_cn_translation_for_secure_boot' into 'master'
docs: Update CN translation for Secure Boot

Closes DOC-10935

See merge request espressif/esp-idf!38862
2025-05-08 17:24:08 +08:00
d976f2f33c Merge branch 'change/improve_hp_uarts_wakeup_ci_test' into 'master'
change(driver_uart): change hp uart wakeup ci test to enhance the pass rate

Closes IDFCI-2871

See merge request espressif/esp-idf!38752
2025-05-08 17:15:26 +08:00
1686d46d9c ci(esp32c5): re-enable target test for esp32c5 eco2 2025-05-08 17:06:42 +08:00
9ed3126a83 ci(owners): update codeowners for lowpower examples 2025-05-08 16:45:06 +08:00
e3383f08e6 feat(example): support esp32p4 VBAT under volt wakeup in deepsleep example 2025-05-08 16:45:02 +08:00
9b5944b795 feat(esp_hw_support): support switch to VBAT power supply in deepsleep on esp32p4 2025-05-08 16:44:58 +08:00
3f2f57a3cc Merge branch 'change/ble_update_lib_20250430' into 'master'
change(ble): [AUTO_MR] 20250430 - Update ESP BLE Controller Lib

Closes BLERP-1818, BLERP-1737, BLERP-1704, BLERP-1827, BLERP-1453, BLERP-1756, BLERP-1754, BLERP-1828, BLERP-1826, BLERP-1829, BLERP-1830, and BLERP-1831

See merge request espressif/esp-idf!38850
2025-05-08 16:00:34 +08:00
2759356282 Merge branch 'feature/c5_ldo_dbias_read_from_efuse' into 'master'
feat(c5): active_sleep dbg and dbias get from efuse to fix the voltage

Closes IDF-8667 and IDF-13007

See merge request espressif/esp-idf!38882
2025-05-08 15:59:45 +08:00
ac7839396b Merge branch 'docs/update_esp_adf_name' into 'master'
docs: update esp-adf document name

See merge request espressif/esp-idf!38940
2025-05-08 15:33:58 +08:00
ee9c524bb6 Merge branch 'feat/add_sdkconfig_for_secure_connection' into 'master'
feat(bt): add sdkconfig for secure connection host support feature

See merge request espressif/esp-idf!38895
2025-05-08 14:33:10 +08:00
b4303c3513 Merge branch 'feat/c5_cert_changes' into 'master'
feat(openthread): default border routing config for end devices

See merge request espressif/esp-idf!38714
2025-05-08 14:14:12 +08:00
0f8415bb72 fix(rmt): fix race condition and add receive config error message
Closes https://github.com/espressif/esp-idf/issues/15842
Closes https://github.com/espressif/esp-idf/issues/15836
2025-05-08 13:32:48 +08:00
369bba171c fix(wifi): comment out hal_mac_tx_set_ppdu from ld files 2025-05-08 11:22:08 +08:00
8786d59edc Merge branch 'fix/fix_sdmmc_host_esp32_io_drv' into 'master'
sdmmc: fixed sdmmc pin drive regression issue on esp32

See merge request espressif/esp-idf!38932
2025-05-08 11:06:09 +08:00
77efe91c36 Merge branch 'feat/calibrate_bus_latency' into 'master'
feat(openthread/br): calibrate bus latency

Closes TZ-1455

See merge request espressif/esp-idf!38529
2025-05-08 10:38:14 +08:00
fc6f5cf71d feat(bt): Initialize the SC during the bluedroid initialization 2025-05-08 10:06:13 +08:00
f809c1125a Merge branch 'bugfix/conn_with_scan_c6_h2' into 'master'
fix(nimble): Enable support for Connect with scan for 32/ c6/ h2 chip

Closes BLERP-1822

See merge request espressif/esp-idf!38826
2025-05-08 00:27:50 +08:00
e9d2d033c8 Merge branch 'feat/add_config_for_esp32c2_move_phylib_to_flash' into 'master'
feat(phy): add config for esp32c2 move iram func to flash

Closes IDF-11433

See merge request espressif/esp-idf!37917
2025-05-07 21:34:27 +08:00
999a81b013 Merge branch 'contrib/github_pr_15818' into 'master'
fix(esp_local_ctrl): Add 'esp_netif' as requirements in CMakeLists (GitHub PR)

Closes IDFGH-15141

See merge request espressif/esp-idf!38948
2025-05-07 21:34:19 +08:00
6a7191b2d9 feat(pmu): support ldo dbias & ocode read from efuse for chip752mp 2025-05-07 20:13:11 +08:00
12835ff108 Merge branch 'fix/gdma_psram_esp32c5' into 'master'
test(dma): only test 40MHz on esp32c5

Closes IDFCI-2876, IDFCI-2897, IDF-13029, and IDF-13035

See merge request espressif/esp-idf!38918
2025-05-07 19:42:06 +08:00
4b9001a84c change(esp_driver_uart): change ci test to improve the pass rate for hp uart wakeup 2025-05-07 19:21:13 +08:00
d83995106e Merge branch 'bugfix/fix_scan_stopped_with_high_rtc_freq' into 'master'
fix(ble): fix rtc freq set too high on ESP32-C2

Closes BLERP-1839 and BLERP-1842

See merge request espressif/esp-idf!38920
2025-05-07 18:47:07 +08:00
427084d667 fix(openthread): handle SetTimeSyncState when ifconfig up or down 2025-05-07 18:42:58 +08:00
12639efed5 feat(nimble): Added some fixes for autopts testing 2025-05-07 15:27:08 +05:30
5ed4e5d8e5 feat(openthread): change border agent to kconfig option 2025-05-07 17:44:59 +08:00
384cda988a fix(esp_local_ctrl): Fixed esp_netif dependency in esp_local_ctrl component
Moved the esp_netif from esp_local_ctrl CMakelists.txt's REQUIRES to
PRIV_REQUIRES
2025-05-07 15:09:44 +05:30
66adf7920f [Fix] Add 'esp_netif' as requirements in CMakeLists 2025-05-07 15:09:43 +05:30
8762d5816a fix(wifi): fix the issue that sta connection info loss lr info on C5 eco2 2025-05-07 16:30:50 +08:00
81b5d68fcc docs: update esp-adf document name 2025-05-07 15:43:23 +08:00
7411eafb2e Merge branch 'refactor/esp_tee_sec_stg' into 'master'
refactor(esp_tee): Revamp the TEE Secure Storage format

Closes IDF-9180

See merge request espressif/esp-idf!36878
2025-05-07 13:40:06 +08:00
31b6be0d2c test(dma): only test 40MHz on esp32c5 2025-05-07 13:11:58 +08:00
8bd66b5e49 test(timer): with malloc comes from PSRAM by default 2025-05-07 13:11:58 +08:00
e0da61caea Merge branch 'fix/optimize_nimble_throughput_example' into 'master'
fix(nimble): Added support of Dynamic switching between different Phy modes.

Closes BLERP-1837

See merge request espressif/esp-idf!37787
2025-05-07 12:38:43 +08:00
zwl
ee6607b489 fix(ble): update ld file on ESP32-C2 2025-05-07 12:12:24 +08:00
26754d8e71 change(ble): [AUTO_MR] Update lib_esp32c2 to 16e16586 2025-05-07 12:12:24 +08:00
a477bfb140 change(ble): [AUTO_MR] Update lib_esp32c6 to 9ecb81c8 2025-05-07 12:12:24 +08:00
852a095b59 change(ble): [AUTO_MR] Update lib_esp32c5 to 9ecb81c8 2025-05-07 12:12:24 +08:00
a3cc91dbf0 change(ble): [AUTO_MR] Update lib_esp32h2 to 9ecb81c8 2025-05-07 12:12:24 +08:00
3035667e69 feat(phy): add config for esp32c2 move iram func to flash 2025-05-07 11:24:17 +08:00
9af1f75af8 fix(sdmmc): fixed sdmmc pin drive regression issue on esp32 2025-05-07 10:52:20 +08:00
9934587d1c fix(nimble): Added support for 1m, 2m, coded phy channels and optimized throughput 2025-05-06 17:59:06 +05:30
190eca39b2 Merge branch 'bugfix/add_adv_type_parse' into 'master'
fix(nimble): Expose  API to parse adv report for given AD flag

Closes BLERP-1816

See merge request espressif/esp-idf!38765
2025-05-06 19:55:19 +08:00
6a80deac03 fix(ble): fix rtc freq set too high on ESP32-C2 2025-05-06 19:19:11 +08:00
450afd1419 Merge branch 'docs/fix-kconfserver-link' into 'master'
docs: Fix link to the kconfserver documentation

Closes IDF-12779

See merge request espressif/esp-idf!38208
2025-05-06 18:28:06 +08:00
1c9d07b7ac fix(nimble): Expose API to parse adv report for specific AD flags 2025-05-06 11:39:33 +05:30
081de6dc0d Merge branch 'contrib/github_pr_15868' into 'master'
feat(tcp_transport): add API to configure SSL cipher suites (GitHub PR)

Closes IDFGH-15197

See merge request espressif/esp-idf!38883
2025-05-06 01:48:28 +08:00
253722b0eb docs: Fix link to the kconfserver documentation 2025-05-05 13:31:42 +02:00
719b1b2be0 Merge branch 'bugfix/fix_ext_disc_example_usage' into 'master'
fix(nimble): Corrected structure field name usage in examples

See merge request espressif/esp-idf!38824
2025-05-05 13:44:16 +08:00
3123fff18a fix(esp_psram): Add XIP PSRAM alignment gaps in heap only if PSRAM protection is enabled 2025-05-05 10:50:19 +05:30
2195b2ce7c Merge branch 'feature/disabe_chatbot_for_release_branches' into 'master'
change(docs): Enable Documentation Chatbot only for the master branch

Closes IDF-12686

See merge request espressif/esp-idf!38827
2025-05-05 10:18:01 +08:00
c16fc04c2d docs(esp_tee): Revise TEE secure storage and related documentation 2025-05-04 18:22:22 +05:30
033397b877 fix(esp_tee): Add standard newlib function stubs to resolve build warnings
- Disable C++ exceptions for TEE build to reduce flash footprint
2025-05-04 18:03:30 +05:30
3bb3f9362e refactor(esp_tee): Update TEE secure storage examples and test-apps 2025-05-04 18:03:30 +05:30
41bf07e6ce refactor(esp_tee): Remove the deprecated TEE secure storage partition subtype 2025-05-04 18:03:30 +05:30
d116567a66 refactor(esp_tee): Update TEE secure storage interface APIs 2025-05-04 18:03:29 +05:30
c9f7bcd452 feat(esp_tee): Support the nvs_flash for the ESP-TEE build 2025-05-04 18:03:28 +05:30
aaebc37467 Merge branch 'refactor/usb_host_ext_port_change_deps_to_ext_hub' into 'master'
refactor(ext_port): Remove dependency from the External Hub driver

Closes IDF-12562

See merge request espressif/esp-idf!37518
2025-05-02 16:30:20 +08:00
63e89ea077 Merge branch 'fix/unaligned_writes_acces_in_sha_input_fill' into 'master'
Fix unaligned memory access while populating SHA input buffer

Closes PM-398

See merge request espressif/esp-idf!38806
2025-05-02 12:21:36 +08:00
0c76f6c556 Merge branch 'bugfix/idf-12651' into 'master'
fix the issue of regdma update cache state before wait compare

Closes IDF-12651

See merge request espressif/esp-idf!38879
2025-05-01 12:03:55 +08:00
67e5e59de3 Merge branch 'feat/c5_sdio' into 'master'
sdio: supported on c5

Closes IDF-12655 and IDF-12641

See merge request espressif/esp-idf!38652
2025-05-01 11:52:21 +08:00
a16f621ed2 Merge branch 'feat/twai_driver_legacy_target_support' into 'master'
feat(driver_twai): twai driver legacy target support (part_2)

Closes IDF-12480 and IDF-12808

See merge request espressif/esp-idf!36487
2025-05-01 11:05:11 +08:00
d19d0733d3 Merge branch 'feat/test_uhci_psram_in_ci' into 'master'
test(uhci): enable the psram test in CI

See merge request espressif/esp-idf!38847
2025-04-30 20:22:43 +08:00
eba9549bbc Merge branch 'feat/eth_mac_filter' into 'master'
feat(esp_eth): added option to set MAC filter for mcast

Closes IDF-12503 and IDFGH-14897

See merge request espressif/esp-idf!36944
2025-04-30 19:38:02 +08:00
4a2273b27b Merge branch 'ci/add_esp_cam_runner' into 'master'
CAM: add deinit API and add ov5647 test/runner

See merge request espressif/esp-idf!38610
2025-04-30 19:10:05 +08:00
97f904b6fb Merge branch 'docs/fix_some_typos' into 'master'
docs: Fix some typos

Closes DOC-10600, DOC-10605, DOC-10606, DOC-10607, DOC-10608, and DOC-10671

See merge request espressif/esp-idf!37977
2025-04-30 18:35:40 +08:00
62d4115e08 docs: Fix some typos 2025-04-30 18:35:39 +08:00
d3e3790fc9 Merge branch 'fix/refactor_source_code_and_comments' into 'master'
fix(hal): updated API description and added comments

Closes IDF-12618

See merge request espressif/esp-idf!38415
2025-04-30 18:26:57 +08:00
19874adb58 fix(soc_caps): fix the issue of regdma update cache state before wait compare 2025-04-30 18:14:52 +08:00
a329b2a9d3 ci(cam): add csi_0v5647 test and runner 2025-04-30 18:10:34 +08:00
031ee36604 feat(cam): add cam sensor handle and deinit api 2025-04-30 18:09:18 +08:00
ff555428d1 Merge branch 'feat/dynamic_buffer_tls1.3' into 'master'
feat(mbedtls): add support for dynamic buffer for TLS1.3

Closes IDFGH-14708, IDF-12469, IDF-9178, and IDF-1725

See merge request espressif/esp-idf!38258
2025-04-30 17:52:43 +08:00
f387f14509 Merge branch 'feat/c6_v002_compatibility' into 'master'
hw_support: Update compatibility information and Kconfig option for c6 v0.2

See merge request espressif/esp-idf!35800
2025-04-30 16:54:12 +08:00
83f28973be Merge branch 'docs/document-task-tracking' into 'master'
docs(heap): Document heap task tracking

Closes IDF-12684

See merge request espressif/esp-idf!38247
2025-04-30 16:27:36 +08:00
76d74d9d10 Merge branch 'ci/rename-packages' into 'master'
ci: rename local idf_ci folder, avoid name collision

See merge request espressif/esp-idf!38756
2025-04-30 16:23:39 +08:00
4312734f27 Merge branch 'feat/re_support_pcnt_on_c5' into 'master'
feat(pcnt): re-support pcnt on ESP32-C5 V1.0

Closes IDF-8683, IDF-12831, and IDF-12634

See merge request espressif/esp-idf!38547
2025-04-30 15:24:44 +08:00
bf1b16554a Merge branch 'feat/socket_count_checks' into 'master'
feat(network/lwip): Add checks for maximum socket count

Closes IDF-12788

See merge request espressif/esp-idf!38642
2025-04-30 14:52:01 +08:00
6e2d52c802 test(sdio): dual board test sd host p4 + sdio slave c5 2025-04-30 14:48:28 +08:00
69164ed912 feat(sdio): supported sdio on esp32c5 2025-04-30 14:48:28 +08:00
4b15ef706b Merge branch 'fix/usb_comprehensive_heap' into 'master'
fix(usb/host): Do not call heap_caps_get_allocated_size() in USB host driver

Closes IDFGH-15138

See merge request espressif/esp-idf!38715
2025-04-30 14:22:08 +08:00
111e453c4d docs: Update CN translation for Secure Boot 2025-04-30 14:20:45 +08:00
8af9bb624e test(uhci): enable the psram test in CI 2025-04-30 13:16:57 +08:00
852466ea0e Merge branch 'fix/cache_support_duing_pure_ram_app' into 'master'
fix(esp_mm): Move cache-related sources out of pure RAM app check

See merge request espressif/esp-idf!38717
2025-04-30 11:28:01 +08:00
739a6efac8 Merge branch 'bugfix/fix_ble_lib_link_issue_esp32c3' into 'master'
Fixed ble lib linkage issue on esp32c3(edf923e)

See merge request espressif/esp-idf!38788
2025-04-30 11:16:27 +08:00
8d02253b48 refactor(sdio): sdio related soc register headers renaming 2025-04-30 10:50:12 +08:00
00c78197df test(driver_twai): test app rename and add cache safe test 2025-04-30 10:38:59 +08:00
8a60934c4f feat(driver_twai): support legacy targets in new driver 2025-04-30 10:38:55 +08:00
574b27d02c Merge branch 'fix/fix_image_check_16_mega_bytes_limit' into 'master'
bootloader: fixed image cannot exceed 16MB issue

See merge request espressif/esp-idf!38397
2025-04-30 10:30:42 +08:00
35d17049e6 Merge branch 'support/esp32c5eco2_ble_15_4' into 'master'
Resupport BLE and 15.4 for esp32c5eco2

Closes IDF-12822, IDF-12824, IDF-10559, IDF-10560, IDF-10561, IDF-10562, IDF-10563, IDF-10564, IDF-10565, IDF-10566, and IDF-10567

See merge request espressif/esp-idf!38804
2025-04-30 10:11:19 +08:00
d898c2398b Merge branch 'feat/some_xip_psram_related_optimisations_and_fixes' into 'master'
feat(esp_psram): Fix late PSRAM init and add some wasted XIP PSRAM memory in heap

Closes IDF-11463 and IDF-10555

See merge request espressif/esp-idf!37116
2025-04-30 00:02:19 +08:00
178ac8ee0f refactor(ext_port): Removed ext_hub dependency: update test_app 2025-04-29 17:55:25 +02:00
a807fe7940 refactor(ext_port): Removed ext_hub dependency 2025-04-29 17:54:16 +02:00
9e95a681b5 Merge branch 'feature/usb_host_ext_port_testing' into 'master'
feature(ci): The External Port Driver test app

Closes IDF-10473

See merge request espressif/esp-idf!37275
2025-04-29 23:49:26 +08:00
f0f0286ec2 Merge branch 'feat/nvs_pytest_add_non_ascii_string_test' into 'master'
feat: Add NVS generator check test for CRC of non-ASCII strings

Closes IDF-12979

See merge request espressif/esp-idf!38630
2025-04-29 22:30:45 +08:00
40e1abf7b1 Merge branch 'bugfix/idf-12854' into 'master'
Revert the change of force return efuse controller state idle

Closes IDF-12854

See merge request espressif/esp-idf!38825
2025-04-29 22:16:00 +08:00
8e0b1cfcb8 Merge branch 'fix/ble_mesh_fixed_insufficient_link_close' into 'master'
fix(ble_mesh): fixed issue with insufficient link close transmit cnt

Closes BLERP-1810

See merge request espressif/esp-idf!38731
2025-04-29 21:10:31 +08:00
b1cc59865b fix(provisioning): enlarged app size for build issue fix 2025-04-29 20:55:22 +08:00
70d565ddbb change(docs): Enable Documentation Chatbot only for the master branch 2025-04-29 20:26:14 +08:00
e941910c0f feat(esp_eth): Added destination MAC address filter configuration interface 2025-04-29 13:54:56 +02:00
zwx
798a529ca6 feat(openthread): enlarge ot_br factory binary size 2025-04-29 19:37:55 +08:00
f7398c5bc2 Merge branch 'bugfix/esp32_c6_rev0_ecdsa_build' into 'master'
fix: Secure boot (ECDSA) build failure for C6 rev0 target

Closes IDFGH-15184

See merge request espressif/esp-idf!38810
2025-04-29 17:57:55 +08:00
zwx
0e554538f7 feat(802.15.4): supported IEEE802.15.4 on the C5ECO2 2025-04-29 16:45:47 +08:00
8a6271bc32 feat(test_ext_port): Added test cases for the external port driver testing 2025-04-29 16:39:15 +08:00
43a0026701 fix(hal/sha): Fix unaligned memory access in case of non-byte aligned regions 2025-04-29 14:08:42 +05:30
d2cbc938ae fix(nimble): Enable support for Connect with scan for c6/ h2 chip 2025-04-29 13:48:41 +05:30
0627576982 docs(heap): Document heap task tracking
Populate the heap_debug.rst section on heap task tracking with the
description of the reworked task tracking.
2025-04-29 10:11:58 +02:00
755fd86b6f fix(bootloader): fixed image cannot exceed 16MB issue
flash 32-bit-addr is an experimental feature that has multiple
dependencies, e.g. flash chip vendor, etc.

If CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH can be enabled
successfully and tests are passed, we can allow images to be
placed on higher-than-16MB flash addresses
2025-04-29 15:42:27 +08:00
08649020ea fix(nimble): Corrected structure field name usage in examples 2025-04-29 12:34:04 +05:30
944e3ec846 fix(esp_mm): Move cache-related sources out of pure RAM app check
This change resolves build issues when compiling with
CONFIG_APP_BUILD_TYPE_PURE_RAM_APP enabled.
2025-04-29 12:30:27 +05:30
4ea1facb42 Merge branch 'feature/esp32h21_core_support' into 'master'
feat(esp32h21): added support for misc core system features

Closes IDF-12042, IDF-11598, IDF-11596, IDF-11874, IDF-11873, IDF-11528, and IDF-11511

See merge request espressif/esp-idf!38773
2025-04-29 14:53:52 +08:00
6badd2cf25 fix(usb/host): Do not call heap_caps_get_allocated_size() in USB host driver
It causes heap corruption if heap poisoning is enabled on ESP32-P4.
It returns incorrect size on ESP32-S3.

Closes https://github.com/espressif/esp-idf/issues/15815
2025-04-29 14:50:11 +08:00
8344af1f09 Merge branch 'feat/support_length_eof' into 'master'
feat(uhci): Add UHCI support on esp32c5, esp32h2.

See merge request espressif/esp-idf!38794
2025-04-29 14:34:58 +08:00
6411ed0325 Revert "change(efuse): force return efuse controller state idle before efuse is supported"
This reverts commit 36776a15ef.
2025-04-29 14:26:45 +08:00
2e8d8beb9d change(ble): supported ble for esp32c5-eco2 2025-04-29 14:24:47 +08:00
06520a3c99 Merge branch 'fix/fix_c5_eco2_psram_id_issue' into 'master'
psram: c5 eco2 psram id issue

Closes IDF-12991 and IDF-12992

See merge request espressif/esp-idf!38730
2025-04-29 14:23:17 +08:00
b79b7ac2ad Merge branch 'feat/mtd_parent_search' into 'master'
feat(openthread): enable parent search function for MTD

Closes TZ-1717

See merge request espressif/esp-idf!38615
2025-04-29 14:19:21 +08:00
003b54ebfe feat(esp_psram): XIP from PSRAM can be used only when SPIRAM_BOOT_INIT=y for ESP32P4
In case of ESP32-P4, if SPIRAM memory initialisations are not performed during
boot-up, XIP PSRAM can be setup because of different virtual range of PSRAM and Flash
2025-04-29 11:48:28 +05:30
c67901fc07 ci(esp_psram): Add a test to validate non-bootup PSRAM initialisation
- Also adds a test for the newly added PSRAM helper APIs:
esp_psram_get_heap_pool_size() and esp_psram_get_effective_mapped_size()
2025-04-29 11:48:28 +05:30
f58c78b644 fix(esp_psram): Fix loading PSRAM XIP segments after PMP split has been configured 2025-04-29 11:48:27 +05:30
ab229a34b3 feat(cpu_region_protect): Enable basic memory protection for SPIRAM 2025-04-29 11:48:27 +05:30
49f253361e feat(esp_psram): Add the gap created due to alignment of XIP segments in heap 2025-04-29 11:48:27 +05:30
0f628496c8 feat(esp_psram): Add some helper APIs to get usable PSRAM memory size 2025-04-29 11:48:27 +05:30
46225a4026 feat(esp_psram): Add a new API to just detect and enable the PSRAM
- esp_psram_chip_init() just detects and does basic initialisations of PSRAM
- esp_psram_init() initialises and maps/loads the PSRAM pages
2025-04-29 11:48:27 +05:30
0be704f5dc Merge branch 'doc/add_soc_support_coexistence_for_esp32c5' into 'master'
docs(coex): add soc_support_coexistence for esp32c5

See merge request espressif/esp-idf!38378
2025-04-29 14:18:14 +08:00
1e616eeb84 fix(newlib): Fixed an issue where usleep() could consume more CPU cycles
The following changes are made in this commit:

1. This commit updates the implementation of usleep() to now always yield
   CPU time if undergoing a multi-tick sleep. This reduces the accuracy of
   usleep() but in turn allows the scheduler to schedule different tasks.

2. The commit also updates the MCPWM unit test which fails due to the
   change in the behavior of usleep().

Closes: https://github.com/espressif/esp-idf/pull/15132
2025-04-29 08:15:16 +02:00
bdf0ccaa74 Merge branch 'feat/add_a_callback_to_handle_rcp_reset_failure' into 'master'
feat(openthread): add a callback to handle rcp reset failure

See merge request espressif/esp-idf!38551
2025-04-29 14:00:33 +08:00
211074d702 Merge branch 'feat/enable_ot_dns_server_platform_udp' into 'master'
feat(openthread): dns server of border router bind unspecified netif

See merge request espressif/esp-idf!38696
2025-04-29 12:21:11 +08:00
6c0d5def85 test: convert C6 secure boot tests to use ECDSA scheme 2025-04-29 12:05:22 +08:00
f3b4050a9f fix: Secure boot (ECDSA) build failure for C6 rev0 target
Closes https://github.com/espressif/esp-idf/issues/15856
2025-04-29 12:05:22 +08:00
3cc4702f7a feat(openthread): enable parent search function for MTD 2025-04-29 11:47:26 +08:00
bb03892461 feat(uhci): Add length receive threshold support 2025-04-29 11:12:38 +08:00
c508207349 Merge branch 'bugfix/fix_tbtt_interrupt_timing_error' into 'master'
fix(pm): fix tbtt interrupt timing error when BLE RTC is configured to use...

Closes WIFIBUG-1151

See merge request espressif/esp-idf!38771
2025-04-29 11:12:30 +08:00
ad1073693e fix(ble_mesh): fixed issue with insufficient link close transmit cnt 2025-04-29 10:45:52 +08:00
e89eafd211 feat(openthread): add a callback to handle rcp reset failure 2025-04-29 10:24:30 +08:00
8d8bf19395 Merge branch 'feature/resupport_ecdsa_in_c5_eco2' into 'master'
feat: re-enable ecdsa support for c5 eco2

Closes IDF-12829

See merge request espressif/esp-idf!38795
2025-04-29 00:30:33 +08:00
74eff52e2e fix: build regression in the test application
Regression from bb6da46ccd. Disabling
relevant config until further debug.
2025-04-28 20:59:22 +05:30
f19e8e6970 fix: re-enabled ecdsa support for esp32c5-eco2 2025-04-28 20:58:09 +05:30
8c67e3e998 fix: update efuse register files for esp32c5 eco2 2025-04-28 20:58:06 +05:30
3bc4ee8a87 doc(compatibility): update compatibility information for c6 v0.2
Latest suggested version have support for FTM calibration
2025-04-28 21:18:29 +08:00
1a55ea7e2c feat(soc): add config option for c6 v0.2 2025-04-28 21:18:29 +08:00
7141b9558b Merge branch 'feat/chip_esp32c5_eco2_support_wifi' into 'master'
feat/chip esp32c5 eco2 support wifi

Closes IDF-10602, IDF-10616, IDF-10592, IDF-10590, IDF-10605, IDF-10604, IDF-10618, IDF-10617, IDF-10588, IDF-10598, IDF-10609, IDF-10610, IDF-10600, IDF-10589, IDF-10607, IDF-10608, IDF-10596, IDF-12857, IDF-11002, IDF-10601, IDF-10579, IDF-8641, IDF-8640, IDF-8639, IDF-8638, PM-403, AX-1139, AX-1151, AX-1153, AX-1155, WIFIBUG-1159, and WIFIBUG-1146

See merge request espressif/esp-idf!38566
2025-04-28 21:06:18 +08:00
1f74bebdda Merge branch 'feat/add_default_config_supsend' into 'master'
system: add config for suspend test app

See merge request espressif/esp-idf!38695
2025-04-28 20:20:43 +08:00
b20122ca4c Merge branch 'bugfix/blufi_add_missing_adv_stop' into 'master'
fix(nimble): Added code for missing adv stop in blufi

Closes FCS-1701

See merge request espressif/esp-idf!38211
2025-04-28 19:19:06 +08:00
dc91d32f94 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20250422' into 'master'
feat(tools): update openocd version to v0.12.0-esp32-20250422

See merge request espressif/esp-idf!38723
2025-04-28 17:45:19 +08:00
604957d4f7 Merge branch 'fix/async_handler_example_not_working' into 'master'
Fix double freeing issue in Async handler example

See merge request espressif/esp-idf!37987
2025-04-28 17:36:39 +08:00
112a955111 Merge branch 'feature/h21_reset_reason' into 'master'
feat(system): updated reset reasons for H21

Closes IDF-11542

See merge request espressif/esp-idf!38774
2025-04-28 17:35:30 +08:00
f566b500dd feat(uhci): Add uhci (uart-dma) support on esp32c5, esp32h2 2025-04-28 16:24:42 +08:00
dhb
141700ade5 feat(tcp_transport): add API to configure SSL cipher suites
Add new API esp_transport_ssl_set_ciphersuites_list() to allow configuring custom
TLS cipher suites in SSL transport layer. This enables users to:
- Set specific cipher suites for SSL/TLS connections
2025-04-28 16:10:56 +08:00
00e256d343 fix(psram): fixecd wrong ap density check 2025-04-28 16:10:18 +08:00
826c69f13b Merge branch 'feat/heap-get-size-from-any-pointer' into 'master'
feat(heap): add API to get allocated size from any pointer

Closes IDF-12764

See merge request espressif/esp-idf!34531
2025-04-28 15:53:37 +08:00
17a1a0dfb9 feat(async_handler): Adding test for long uri requests
Adding test for two /long async requests.
2025-04-28 14:57:21 +08:00
b6d4fa2c2e fix(async_handler): Async handler example scratch buffer fix
1. In httpd_req_async_handler_begin, the httpd_req_aux is locally malloced
and data is  done memcpy to local httpd_req_aux from request'ss httpd_req_aux for
async request use-case, this causes scartch pointer from these two structs
pointing to same memory address.
2. In current workflow, the request's sratch buffer is freed in httpd_parse.c
httpd_req_cleanup api. Therefore if the user try to fetch the data (like headers)
from the scratch buffer, data will be not available.
3. Each request should have the deep copy of the scratch buffer. To retrive
the data later.

Closes https://github.com/espressif/esp-idf/issues/15587
2025-04-28 14:57:21 +08:00
fc5bf27160 Merge branch 'bugfix/remove_index_of_c5_efuse_reg' into 'master'
fix(esp32c5): update efuse reg base macro

See merge request espressif/esp-idf!38787
2025-04-28 14:35:20 +08:00
f0d5227735 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(edf923e)
- Fixed ble lib linkage issue
2025-04-28 13:25:10 +08:00
a1fff25880 fix(esp32c5): update efuse reg base macro 2025-04-28 12:42:13 +08:00
26f631e0dc Merge branch 'feat/c5_eco2_ecc' into 'master'
feat(hal): add support for ESP32-C5 ECO2 ECC peripheral

See merge request espressif/esp-idf!38729
2025-04-28 12:34:07 +08:00
1256078ea2 feat(esp32h21): added support for misc core system features 2025-04-28 11:42:25 +08:00
e981f0b70f Merge branch 'contrib/github_pr_15850' into 'master'
fix(temp-sens): return temperature_sensor function (GitHub PR)

Closes IDFGH-15178

See merge request espressif/esp-idf!38772
2025-04-28 11:39:48 +08:00
f7724eedef Merge branch 'feature/enable_secure_boot_for_esp32h21' into 'master'
feat: enable secure boot support for esp32h21

Closes IDF-11500 and IDF-12161

See merge request espressif/esp-idf!36618
2025-04-28 11:37:37 +08:00
dd9f8bfcbc feat(wifi): chip esp32c5 eco2 support wifi 2025-04-28 10:52:55 +08:00
f66a750af9 Merge branch 'feat/uart_dma_support' into 'master'
feat(uhci): Add uhci(uart-dma) support on ESP32C3, ESP32P4, ESP32C6, ESP32S3🚴🏼‍♂️

See merge request espressif/esp-idf!37494
2025-04-28 00:42:42 +08:00
823785aa05 Merge branch 'bugfix/fixed_mismatch_of_tx_queue_statue' into 'master'
fix(i2s): fixed the false buf catenate while use preload

Closes IDFGH-15093

See merge request espressif/esp-idf!38633
2025-04-27 20:09:56 +08:00
0d031caa19 Merge branch 'bugfix/fix_i2c_coverity_issue' into 'master'
fix(i2c): Fix some i2c coverity issue

Closes IDF-11968, IDF-11970, and IDF-11969

See merge request espressif/esp-idf!38743
2025-04-27 19:36:02 +08:00
dc71ad33e8 Merge branch 'fix/comment_offchan_changes_ld_files' into 'master'
WiFi: Commented out few ld file functions corresponding to offchan changes

See merge request espressif/esp-idf!38113
2025-04-27 19:27:42 +08:00
7a85e65a4c Merge branch 'bugfix/ios_hid_failure' into 'master'
fix(nimble): Update hid device example in nimble to work with iOS

See merge request espressif/esp-idf!35482
2025-04-27 18:35:58 +08:00
4ba9e7f8ae fix(wifi): update regdomain of US to support channel 169 2025-04-27 17:58:28 +08:00
36776a15ef change(efuse): force return efuse controller state idle before efuse is supported 2025-04-27 17:58:28 +08:00
75976706a6 change(esp_hw_support): update pmu sleep parameters for esp32c5 eco2 2025-04-27 17:58:28 +08:00
8272cc86d4 change(esp_phy): update phy retention context for esp32c5 eco2 2025-04-27 17:58:28 +08:00
9736ceac8f fix(esp_hw_support): fix empty item of system clock retention table for esp32c5 2025-04-27 17:58:28 +08:00
ef619a4485 change(soc): update modem syscon and lpcon register and structure header files 2025-04-27 17:58:28 +08:00
dfe350e858 refactor(hci): Apply new ll function name to bt hci 2025-04-27 17:41:11 +08:00
ef965b2fc1 feat(uhci): Add uart dma ota example for uhci 2025-04-27 17:41:11 +08:00
6b988d8a07 test(uhci): Add tests for uhci 2025-04-27 17:41:11 +08:00
74f0ad50ed Merge branch 'contrib/github_pr_15853' into 'master'
Fix for an infinite wait in spi-lcd-touch example (GitHub PR)

Closes IDFGH-15181

See merge request espressif/esp-idf!38735
2025-04-27 17:00:36 +08:00
26d6f0fc13 fix(pm): fix tbtt interrupt timing error when BLE RTC is configured to use MODEM_CLOCK_LPCLK_SRC_MAIN_XTAL on C6EC01 and later version 2025-04-27 16:59:11 +08:00
126d184d6c fix(i2s): fixed the false buf catenate while use preload
Closes https://github.com/espressif/esp-idf/issues/15775
2025-04-27 16:27:47 +08:00
298da837fd feat(system): updated reset reasons for H21 2025-04-27 16:11:24 +08:00
1a3db8e025 feat(uhci): Add uhci (uart-dma) support on esp32c3, esp32c6, esp32s3, esp32p4 2025-04-27 15:28:23 +08:00
89d566bb9c fix(psram): fixed psram init state not in low speed mode issue on c5 c61 2025-04-27 15:06:40 +08:00
0823706e88 fix(wifi) : Commented out few ld file functions corresponding to offchan changes 2025-04-27 14:34:06 +08:00
6b724b0fc1 fix(lcd): fix test failure regression 2025-04-27 14:22:15 +08:00
ca88289e62 fix(lcd): fix the infinite wait when lvgl timer is no ready
Merges https://github.com/espressif/esp-idf/pull/15853
2025-04-27 14:21:07 +08:00
38628f98b9 Merge branch 'feat/add_sync_cte_type_in_pa_sync' into 'master'
Feat/add sync cte type in pa sync

Closes BLERP-1728

See merge request espressif/esp-idf!38315
2025-04-27 14:11:31 +08:00
ca3a19c603 Merge branch 'fix/fix_a_trel_bug' into 'master'
fix(openthread): use esp_netif_tcpip_exec when sending a trel message

See merge request espressif/esp-idf!38546
2025-04-27 11:31:51 +08:00
c4768eafe3 Merge branch 'feat/support_cs_signal_in_parlio_tx' into 'master'
feat(parlio_tx): support cs signal on esp32c5 v1.0

Closes IDF-12836 and IDF-12633

See merge request espressif/esp-idf!38646
2025-04-27 11:10:26 +08:00
ac0f4b5a57 Merge branch 'refactor/split_touch_sleep_from_system_example' into 'master'
refactor(touch): separate touch sleep example

Closes IDFCI-2866 and IDF-12974

See merge request espressif/esp-idf!38662
2025-04-27 11:10:05 +08:00
b3de8a4ae4 Merge branch 'feature/adds_main_ulp_page' into 'master'
feat(docs): Adds ULP main documentation page

Closes IDF-12901 and DOC-10873

See merge request espressif/esp-idf!38525
2025-04-27 10:26:43 +08:00
7a3925a5c2 Merge branch 'bugfix/fix_cble50y25_207' into 'master'
Fixed MIC error disconnection when pairing with iOS devices on ESP32-C3 and ESP32-S3(edf923e)

Closes BLERP-1804

See merge request espressif/esp-idf!38655
2025-04-27 10:15:31 +08:00
a446010245 Merge branch 'fix/add_sar_module_enable_disable_c5_c61' into 'master'
fix(ADC): fix ADC do not enable/disable regi2c registers

Closes IDF-12726 and IDF-12465

See merge request espressif/esp-idf!38159
2025-04-26 21:58:05 +08:00
1481ecbb8d Merge branch 'feat/rmt_encoder_func_attr' into 'master'
feat(rmt): introduce RMT_ENCODER_FUNC_ATTR for encoder functions

Closes IDFGH-15156

See merge request espressif/esp-idf!38653
2025-04-26 21:46:37 +08:00
4fed6450a3 refactor(touch): separate touch sleep example 2025-04-25 23:57:14 +08:00
c65858287a feat: enabled secure boot support esp32h21 2025-04-25 17:48:25 +05:30
bd60d825c8 docs: Provide CN translation for ulp docs 2025-04-25 18:48:26 +08:00
a1d5d5cbd6 ci: rename local idf_ci folder, avoid name collision 2025-04-25 11:13:17 +02:00
6e2af8f042 feat(tools): update openocd version to v0.12.0-esp32-20250422 2025-04-25 16:56:42 +08:00
692512c0b3 Merge branch 'contrib/github_pr_15717' into 'master'
feat(ulp): LP Timer interrupt support (GitHub PR)

Closes IDFGH-15026

See merge request espressif/esp-idf!38613
2025-04-25 16:07:31 +08:00
382121b838 Merge branch 'contrib/github_pr_15837' into 'master'
fix(ulp): Add missing wake up enable and disable functions for LP core (GitHub PR)

Closes IDFGH-15161

See merge request espressif/esp-idf!38716
2025-04-25 16:07:09 +08:00
79b1ea7a3a Merge branch 'bugfix/remove_invalid_link_in_parlio_rx_example' into 'master'
fix(parlio_rx): remove invalid link in example readme

See merge request espressif/esp-idf!38742
2025-04-25 16:05:02 +08:00
80dc8af6ed fix(spi-lcd-touch-example): Fix for an infinite wait caused by UINT32_MAX 2025-04-25 16:03:49 +08:00
8a987d9288 feat(heap): Update get allocated size function to take any pointer 2025-04-25 09:50:15 +02:00
34447b6401 fix(i2c): Fix some i2c coverity issue 2025-04-25 15:42:31 +08:00
9736852152 fix(parlio_rx): remove invalid link in example readme 2025-04-25 15:03:31 +08:00
fbc38a95ec Merge branch 'fix/async_handler_example_stack_overflow_issue' into 'master'
fix(esp_http_server): Async handler example stack overflow fix

See merge request espressif/esp-idf!38586

Related: https://github.com/espressif/esp-idf/issues/15587
2025-04-25 14:52:01 +08:00
674dc8810e feat(hal): add support for ESP32-C5 ECO2 ECC peripheral 2025-04-25 14:44:09 +08:00
66bed18464 feat(rng): add regi2c control ref_count 2025-04-25 14:39:12 +08:00
4e44853c84 fix(tsens): fix legacy tsens error when restart 2025-04-25 14:39:09 +08:00
bf335a38f7 fix(adc): fix adc do not enable/disable regi2c registers 2025-04-25 14:39:01 +08:00
6edf48d253 feat(parlio_tx): support cs signal on esp32c5 v1.0 2025-04-25 14:25:01 +08:00
d6fb99b5ad Merge branch 'feat/spi_ble_log_improvement' into 'master'
feat(ble): Improved SPI BLE Log functionality

Closes BLERP-1805 and BLERP-1806

See merge request espressif/esp-idf!38600
2025-04-25 14:22:50 +08:00
07acbee51d Merge branch 'fix/fix_usj_pad_configure_retention' into 'master'
fix(esp_hw_support): fix usj pad config bad retention

Closes IDFGH-15118

See merge request espressif/esp-idf!38603
2025-04-25 14:00:41 +08:00
160336fe90 fix(esp_http_server): Async handler example stack overflow fix
1. In async handler example, on hitting /long URI and closing the
connection forcefully from client (example ctrl + c) cause more stack
size (almost 200 bytes) than successfull request.
2. The connection should be closed from the server as soon as the client
closes the connect (i.e. handler should return ESP_FAIL to close the
connection)
2025-04-25 11:00:10 +05:30
ca981fdf4d feat(pcnt): re-support pcnt on ESP32-C5 V1.0 2025-04-25 13:07:38 +08:00
ec7d4aaddb Merge branch 'feat/remove_docs_from_no_updated_list_c5' into 'master'
doc: remove sdmmc, mm docs from no updated list on c5

Closes IDF-9465 and IDF-9453

See merge request espressif/esp-idf!38732
2025-04-25 11:59:55 +08:00
ae5f8e550c feat(rmt): introduce RMT_ENCODER_FUNC_ATTR for encoder functions
Closes https://github.com/espressif/esp-idf/issues/15832
2025-04-25 11:25:56 +08:00
faa4dd898e feat(doc): remove sdmmc, mm docs from no updated list 2025-04-25 10:36:50 +08:00
182b33efb2 Merge branch 'feature/unit_tests_ordered_by_file_path_and_line_num' into 'master'
feat(unity): Adds unit test ordering by file path and line number

Closes IDFGH-14790

See merge request espressif/esp-idf!38616
2025-04-24 23:33:21 +08:00
2b4265bd39 fix(temp-sens): return temperature_sensor function
The description says the function should return ESP_FAIL when parsing the sensor data fails
2025-04-24 12:25:49 -03:00
0bd1ec60d9 Merge branch 'fix/fix_esp_tls_ipv6_only_build_issue' into 'master'
fix(esp-tls): Fixed build issue in esp-tls related to IPV6 only config

See merge request espressif/esp-idf!38722
2025-04-24 22:04:15 +08:00
bb6da46ccd system: add config for suspend test app 2025-04-24 21:36:58 +08:00
cb9ffd9cf6 fix(http_server): Fixed CI build test rules for the example 2025-04-24 15:57:12 +05:30
81c08911f0 feat(unity): Adds unit test ordering by file path and line number
Closes https://github.com/espressif/esp-idf/issues/15529
2025-04-24 13:16:05 +03:00
f6a7bcb54e fix(esp-tls): Fixed build issue in esp-tls related to IPV6 only config 2025-04-24 15:14:35 +05:30
4c3fa95c94 fix(ulp): Add missing wake up enable and disable functions for LP core
This commit adds wrapper APIs to enable and disable LP IO as a wakeup
source for the LP Core.

Merges https://github.com/espressif/esp-idf/pull/15837
2025-04-24 11:14:12 +02:00
a13019bc94 fix(nimble): Added code for missing adv stop in blufi 2025-04-24 17:05:11 +08:00
e207371b42 Merge branch 'fix/ble_mesh_trans_pending_fix' into 'master'
fix(ble_mesh): remove tx pending assert

Closes BLERP-1801

See merge request espressif/esp-idf!38640
2025-04-24 16:57:01 +08:00
15c349b00b Merge branch 'contrib/github_pr_15132' into 'master'
fix(newlib): usleep returning early (GitHub PR)

Closes IDFGH-14342

See merge request espressif/esp-idf!38483
2025-04-24 16:35:36 +08:00
3054a7207e Merge branch 'fix/fix_clear_bus_abused' into 'master'
fix(i2c): I2C should not clear bus in a nack state

See merge request espressif/esp-idf!38468
2025-04-24 16:16:49 +08:00
9969b9c095 feat(openthread): support bus_latency for dual-chip BR solution 2025-04-24 16:15:08 +08:00
4019e77441 Merge branch 'feat/heap-update-to-latest-tlsf' into 'master'
fix(heap): Update to latest TLSF fix

See merge request espressif/esp-idf!38301
2025-04-24 16:10:58 +08:00
a8e4e4f324 fix(openthread): use esp_netif_tcpip_exec when sending a trel message 2025-04-24 15:57:30 +08:00
5f050afdc1 Merge branch 'refactor/enable_rtc_clk_test' into 'master'
refactor(clk): enable rtc_clk ci test for all supported targets

Closes IDF-8973, IDF-10309, IDF-10984, and IDF-11022

See merge request espressif/esp-idf!38330
2025-04-24 15:07:59 +08:00
066f6263fe Merge branch 'bugfix/clean_up_core_todos' into 'master'
change(core): clean-up leftover todo items in code

See merge request espressif/esp-idf!38651
2025-04-24 15:06:43 +08:00
141d19ceec Merge branch 'bugfix/l2cap_no_report_stop_server_evt' into 'master'
fix(bt): Fixed l2cap not reporting stop server completion event

Closes BTQABR2023-470

See merge request espressif/esp-idf!38469
2025-04-24 14:22:06 +08:00
23259d3791 Merge branch 'feat/allow_der_certificates_in_esp_http_client' into 'master'
feat(esp_http_client): Allow the der certificates in esp_http_client

See merge request espressif/esp-idf!38407
2025-04-24 14:04:57 +08:00
fd4f74a559 Merge branch 'fix/esp_tls_correct_struct_size' into 'master'
fix(esp_tls): use correct sockaddr struct size when calling connect()

Closes IDFGH-15135

See merge request espressif/esp-idf!38636
2025-04-24 13:10:12 +08:00
243705c143 feat(ble): Improved SPI BLE Log functionality
* Added checksum for every frame
* Added SPI slave transaction interval workaround
* Added SPI tx done isr issue workaround
* Turned buffer flush to a menuconfig and disabled by default
* Modified packet loss write operation and trigger condition
* Optimized buffer append efficiency for controller ISR
2025-04-24 12:21:59 +08:00
96c0ad99ef feat(openthread): dns server of border router bind unspecified netif 2025-04-24 12:12:22 +08:00
415e0f3c86 feat(mbedtls): add support for dynamic buffer for TLS1.3
Closes https://github.com/espressif/esp-idf/issues/15448
2025-04-24 12:05:36 +08:00
c2f0e00894 Merge branch 'fix/meshcop_udp_port' into 'master'
fix(openthread/meshcop): get right udp port for publishing meshcop-e

See merge request espressif/esp-idf!38661
2025-04-24 11:30:51 +08:00
a446bda4cd Merge branch 'fix/fix_p4_adc_reread_oneshot_error_5.5' into 'master'
fix(ADC): fix P4 ADC oneshot error when reread

See merge request espressif/esp-idf!38638
2025-04-24 11:05:04 +08:00
c29c5c506b Merge branch 'feat/support_136k_rc_clk_on_ble_sleep' into 'master'
Feat/support 136k rc clk on ble sleep

Closes BLERP-1650

See merge request espressif/esp-idf!37813
2025-04-24 10:38:35 +08:00
ea3f801e14 Merge branch 'feature/usb_host_ext_port_isolate_hub_request' into 'master'
refactor(ext_port): Isolated the hub class specific request

Closes IDF-12511

See merge request espressif/esp-idf!37272
2025-04-24 02:25:32 +08:00
a57ce1372e Merge branch 'feat/usb_host_cmock_individual_usb_layer_mocking' into 'master'
feat(usb_host): Cmock, individual USB layers mocking

Closes IDF-12001

See merge request espressif/esp-idf!34584
2025-04-23 23:43:47 +08:00
ec07f61291 test(newlib): Added unit tests for usleep and sleep_for functions
This commit adds unit tests to verify the basic functionality of
usleep() and this_thread::sleep_for() std functions.
2025-04-23 17:23:36 +02:00
d5d7bb61e5 fix(newlib): usleep returning early
This commit updates usleep() to always sleep for the required sleep
period or more. This fixes a bug where the usleep() could sleep for less
than the request sleep period.

Closes https://github.com/espressif/esp-idf/pull/15132
2025-04-23 17:23:36 +02:00
4dbfed1b77 Merge branch 'bugfix/uart_fifo_read' into 'master'
fix(uart): fifo read may generate load byte instruction

See merge request espressif/esp-idf!38639
2025-04-23 23:17:02 +08:00
1bbb20cfd2 Merge branch 'test/parlio_rx_cache_safe' into 'master'
Reenable parlio rx cache safe test

Closes IDF-7840

See merge request espressif/esp-idf!38635
2025-04-23 21:23:41 +08:00
bb9f73a786 Merge branch 'contrib/github_pr_15821' into 'master'
fix(esp_http_server): Fix incorrect spelling in the comments (GitHub PR)

Closes IDFGH-15144

See merge request espressif/esp-idf!38569
2025-04-23 20:42:03 +08:00
b74b55c535 Merge branch 'feat/add_api_get_avrc_status' into 'master'
feat(bt): Add API to get some information of Classic Bluetooth profile

Closes BTQABR2023-475

See merge request espressif/esp-idf!38530
2025-04-23 20:26:54 +08:00
846a5c42ae feat(esp_http_client): Allow the DER certificates in esp_http_client
- esp_http_client support just PEM ca_cert and client_cert.
- Although esp_tls supports both PEM and DER certificate. We have logic
based on cert_len and client_cert_len which decides whether given cert or client_cert
is in PEM or DER format.
- If length is 0 then it is PEM certificate and if length is passed then DER is
considered. This is true for both ca_cert and client_cert

This commits allow to pass the DER certificate in esp_http_client
2025-04-23 19:59:39 +08:00
33cab69f30 Merge branch 'feature/binary_logging' into 'master'
feat(log): Add binary logging support

Closes IDF-6634

See merge request espressif/esp-idf!36595
2025-04-23 19:55:45 +08:00
0cefe61edc fix(nimble): Update hid device example in nimble to work with iOS 2025-04-23 17:18:22 +05:30
61d1a1ff7f Merge branch 'fix/pawr_docs' into 'master'
feat(nimble):Added tutorials for PAwR examples

See merge request espressif/esp-idf!38248
2025-04-23 19:44:30 +08:00
0680c94951 Merge branch 'ci/update_codeowners_testing_framework' into 'master'
ci(owners): update codeowners for testing components

See merge request espressif/esp-idf!37471
2025-04-23 19:39:58 +08:00
cc98f5b237 Merge branch 'feat/pawr_bugfix' into 'master'
fix(nimble): Fix sync handle assignment for pawr connection

See merge request espressif/esp-idf!37919
2025-04-23 19:21:34 +08:00
459b75f81a fix(i2c): I2C should not clear bus in a nack state 2025-04-23 19:01:08 +08:00
b9d055dfda Merge branch 'fix/multi_core_race_cond_in_panic_handler' into 'master'
fix(panic_handler): Prevent race condition in panic handler

Closes IDFCI-2802, IDFCI-2867, and IDFCI-2869

See merge request espressif/esp-idf!37958
2025-04-23 18:52:16 +08:00
e8215ca864 fix(openthread/meshcop): get right udp port for publishing meshcop-e
* esp-openthread: thread_zigbee/esp-openthread@ad81e1b23
* openthread: espressif/openthread@8c30b93fe
* esp-idf: espressif/esp-idf@35708ec13
2025-04-23 10:42:09 +00:00
35708ec137 Merge branch 'feature/add_sc030iot_dvp_cam_support' into 'master'
feat(isp_dvp): add SC030IOT camera support to dvp_isp_dsi example

See merge request espressif/esp-idf!38521
2025-04-23 18:36:35 +08:00
3644927fe7 Merge branch 'fix/ieee802154_tx_ack_timeout_crash' into 'master'
fix(802.15.4): fix 15.4 process for unsupported frame

Closes TZ-1523, TZ-1558, TZ-1626, and TZ-1661

See merge request espressif/esp-idf!38458
2025-04-23 18:20:20 +08:00
3b16d5cf03 Merge branch 'feat/optimize_cble50y24_109' into 'master'
feat(bt/bluedroid): Added throughput mode for BLE SPP example

Closes BLERP-1148 and BLERP-1435

See merge request espressif/esp-idf!34315
2025-04-23 18:14:05 +08:00
6dfb7269a1 feat(usb_host): Host tests for individual USB Host layers
- Public API CMock based Host tests
    - USB Host layer: driver install/uninstall unit test
    - USBH layer: driver install/uninstall unit test
    - Host tests are run in CI
2025-04-23 12:09:25 +02:00
18ae6c38a9 feat(usb_host): Individual USB Host stack layers mocking
- Individual CMocks for separate USB Host layers
    - Allowing to test USB Host layers separately
    - Mocks: Full USB stack, USB Host, USBH
2025-04-23 11:50:22 +02:00
0df0b53b0a fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(edf923e)
- Fixed MIC error disconnection when pairing with iOS devices
2025-04-23 17:34:19 +08:00
941647597b refactor(ext_port): Changed the mechanism for hub class request
Merged all Hub Class specific request to one function.
Added a callback for the External Port Driver to break the dependency from ext_hub.h
2025-04-23 10:52:34 +02:00
503a9faa9f change(core): clean-up leftover todo items in code 2025-04-23 16:15:19 +08:00
5655ee9ba8 fix(uart): fifo read may generate load byte instruction 2025-04-23 16:10:36 +08:00
954d12955d feat(ulp): LP Timer interrupt example
This commit adds an example to demonstrate the use of the LP Timer
interrupt on the LP Core.
2025-04-23 09:52:45 +02:00
a9eba4058e feat(ulp): LP Timer interrupt support
This commit adds support for the LP Timer interrupt to be used by the LP
Core.

Merges https://github.com/espressif/esp-idf/pull/15717
2025-04-23 09:52:45 +02:00
204046e799 feat(log): Add binary logging support 2025-04-23 15:46:34 +08:00
53e84d9729 Merge branch 'fix/dram_dma_aligned_attr_for_p4' into 'master'
fix(esp_common): Fix DRAM_DMA_ALIGNED_ATTR for ESP32-P4

See merge request espressif/esp-idf!38632
2025-04-23 15:35:51 +08:00
ca58556221 Merge branch 'fix/usb_host_ep_char_ls_via_fs' into 'master'
fix(usb_host): Correctly initialize set pipe ep char

Closes IDF-12980

See merge request espressif/esp-idf!38631
2025-04-23 14:49:16 +08:00
f02e35363b feat(bt): Add API to get some information of Classic Bluetooth profile 2025-04-23 14:46:40 +08:00
fccd8d1a5b feat(network/lwip): Add checks for maximum socket count 2025-04-23 08:36:43 +02:00
1b3680eff3 feat(rtc_time): support rtc time for esp32c61 2025-04-23 14:15:01 +08:00
51744bd13d refactor(clk): enable rtc_clk ci test for all supported targets 2025-04-23 14:15:01 +08:00
91278811a4 fix(ble_mesh): remove tx pending assert 2025-04-23 14:11:00 +08:00
bfca55bd5d Merge branch 'fix/update_c5_lp_i2c_reg' into 'master'
fix(lp_i2c): Update lp i2c register for esp32c5

See merge request espressif/esp-idf!38614
2025-04-23 13:49:30 +08:00
74a39b2efa fix(ADC): fix P4 ADC oneshot error when reread 2025-04-23 13:44:04 +08:00
0bad622a7a fix(esp_tls): use correct sockaddr struct size when calling connect()
Closes https://github.com/espressif/esp-idf/issues/15812
2025-04-23 13:23:44 +08:00
fe3da7167e Merge branch 'fix/fix_esp32p4_retention_cost' into 'master'
fix(esp_hw_support): optimize retention cost and update sleep time compensation

See merge request espressif/esp-idf!37920
2025-04-23 13:20:49 +08:00
8b239ab605 Merge branch 'fix/remove_mbedtls_logical_dead_code' into 'master'
fix(mbedtls): remove logical dead code from mbedtls

Closes IDF-12866

See merge request espressif/esp-idf!38498
2025-04-23 12:21:20 +08:00
71921a450f feat: Add NVS generator check test for CRC of non-ASCII strings 2025-04-23 05:10:29 +02:00
3fc566caf1 fix(parlio): reenable parlio rx driver cache safe test 2025-04-23 10:38:07 +08:00
c94db04f2d fix(spi): allocate driver memory with caps explicitly 2025-04-23 10:38:07 +08:00
672db2b297 Merge branch 'fix/build_failure_when_sha1_config_is_disabled' into 'master'
Fix build failure when CONFIG_MBEDTLS_SHA1_C is disabled

See merge request espressif/esp-idf!38329
2025-04-23 00:04:37 +08:00
33633a5024 fix(esp_common): Fix DRAM_DMA_ALIGNED_ATTR for P4 2025-04-22 18:02:16 +03:00
92ece05ac5 fix(usb_host): Correctly initialize set pipe ep char 2025-04-22 16:41:11 +02:00
21932876d5 fix(esp_hw_support): specify optimize options to avoid dirtying L2 mem after L1D$ writeback 2025-04-22 22:02:35 +08:00
6c4447ae2e fix(esp_hw_support): fix wrong APB clock freq on retenion 2025-04-22 22:02:35 +08:00
cdc040c8ad feat(esp_hw_support): count pau backup time into sleep rejection judgment 2025-04-22 22:02:34 +08:00
a1471f4f78 feat(esp_hw_support): remeasure sleep_time_overhead_out if min_freq_mhz changed 2025-04-22 22:02:34 +08:00
e30043804b feat(esp_hw_support): use non-lock regi2c fast-up cpll/mpll enable process after sleep wakeup 2025-04-22 22:02:31 +08:00
4fd84d4e63 Merge branch 'feature/esp32c5_eco2_gdma_update' into 'master'
feat(gdma): apply c5 eco2 gdma minor modification

Closes IDF-12637, IDF-12835, and IDF-10407

See merge request espressif/esp-idf!38602
2025-04-22 19:11:15 +08:00
206fe63029 Merge branch 'feat/new_usb_uvc_example' into 'master'
refactor(usb/host): Update UVC example for new UVC driver v2.0

Closes IDF-10240

See merge request espressif/esp-idf!38359
2025-04-22 18:26:43 +08:00
3fef851c9b feat(nimble):Added tutorials for PAwR examples 2025-04-22 18:11:02 +08:00
8e25a37f67 Merge branch 'feat/support_hp_uarts_wakeup_modes_during_light_sleep' into 'master'
support hp uarts wakeup modes during light sleep

See merge request espressif/esp-idf!37730
2025-04-22 17:49:02 +08:00
86aa66259e fix(lp_i2c): Update lp i2c register for esp32c5 2025-04-22 17:01:09 +08:00
d41cb1346e Merge branch 'fix/fix_cache_hit_bypass_iram_safe_assertion' into 'master'
fix(esp_hw_support): fix cache hit bypass iram safe assertion on p4

See merge request espressif/esp-idf!38371
2025-04-22 16:22:37 +08:00
8b4d46aa46 feat(isp_dvp): add SC030IOT camera support to dvp_isp_dsi example 2025-04-22 15:21:18 +08:00
6dc71c2b52 Merge branch 'docs/fix_unterminated_quotes' into 'master'
fix(docs): Fix unterminated quotes in secure-boot-v2.rst

See merge request espressif/esp-idf!38571
2025-04-22 15:10:32 +08:00
9eca8fe97d Merge branch 'fix/add_wait_chip_enter_sleep_delay_in_ut' into 'master'
fix(esp_hw_support): fix gpio/ext1 wakeup test UT high failure rate

Closes IDFCI-2848 and IDFCI-2847

See merge request espressif/esp-idf!38482
2025-04-22 15:09:54 +08:00
465b159cd8 Merge branch 'fix/lp_timer_interrupt_disabled_in_bootloader' into 'master'
fix(lp-timer): Remove LP Timer interrupt disabling from bootloader

Closes IDFGH-15067

See merge request espressif/esp-idf!38484
2025-04-22 15:04:10 +08:00
02a55611dd Update CN translation 2025-04-22 08:48:30 +02:00
1816b95261 refactor(usb/host): Update UVC example for new UVC driver v2.0 2025-04-22 08:48:18 +02:00
917868d5b7 feat(gdma): apply c5 eco2 gdma minor modification 2025-04-22 11:31:33 +08:00
54f29671b8 fix(esp_hw_support): fix usj pad config bad retention
Closes https://github.com/espressif/esp-idf/issues/15797
2025-04-22 11:18:56 +08:00
6c8ee69151 feat(ble): support ble sleep using 136 kHz RC on ESP32-H2 2025-04-22 10:02:57 +08:00
718dd7a87a feat(ble): support ble sleep using 136 kHz RC on ESP32-C6 2025-04-22 10:02:49 +08:00
8f89a22117 change(example): add support for hp uart wakeup mode 1 2 3 2025-04-21 20:47:32 +08:00
bcd138f89d feat(esp_driver_uart): add ci test for hp uart wakeup modes 2025-04-21 20:47:18 +08:00
zwl
9bc1712095 feat(ble): add configuration command during RF testing 2025-04-21 20:12:52 +08:00
a2d3ddacf9 feat(bt/bluedroid): Added throughput mode for BLE SPP example 2025-04-21 20:12:52 +08:00
82276fc918 feat(docs): Adds ULP main documentation page 2025-04-21 13:20:54 +03:00
dc678decf7 Merge branch 'change/c61_beta1_phylib_update' into 'master'
change(ble): update phy lib to support c61 beta1

See merge request espressif/esp-idf!38316
2025-04-21 17:15:59 +08:00
cf0166d196 fix(esp_wifi): Use supplicant's internal SHA1 if not available from IDF 2025-04-21 13:38:29 +05:30
b0d9ccf6e3 fix(mbedtls): Fix config dependencies when ROM mbedtls is used 2025-04-21 13:38:29 +05:30
a42be5b1dd fix(wpa_supplicant): Disable fastpbkdf2 when s/w and h/w SHA1 is disabled 2025-04-21 13:38:29 +05:30
e738ec5ccd fix(esp-tls): Fix build failure when CONFIG_MBEDTLS_SHA1_C is disabled 2025-04-21 13:38:29 +05:30
b9182a8293 fix(bt): Fixed l2cap not reporting stop server completion event 2025-04-21 16:06:15 +08:00
7e1c43060a Merge branch 'docs/update_broken_link_in_jtag_debugging' into 'master'
docs: fix broken link

See merge request espressif/esp-idf!38514
2025-04-21 14:40:01 +08:00
a4d32bb460 Merge branch 'feature/esp32c5_eco2_gpio_update' into 'master'
feat(gpio): esp32c5 eco2 gpio update

Closes IDF-12653, IDF-12710, and IO22-24

See merge request espressif/esp-idf!38358
2025-04-21 14:29:51 +08:00
d115a3daac feat(esp_driver_uart): support hp uarts wakeup modes 1 2 3 during light sleep 2025-04-21 14:03:34 +08:00
75fd14efbc fix(docs): Fix unterminated quotes in secure-boot-v2.rst 2025-04-21 11:18:22 +05:30
a2ce331ef9 fix(esp_http_server): Fix incorrect spelling in the comments 2025-04-20 15:57:03 +08:00
186f2a8929 Merge branch 'bugfix/idf-11425' into 'master'
power management module memory (iram or flash) usage optimization

Closes IDF-11425

See merge request espressif/esp-idf!37550
2025-04-19 11:55:45 +08:00
0f6e067456 Merge branch 'bugfix/fix_lr_issues' into 'master'
fix(wifi): fix lr issues that lr info does not exist in connect information

Closes WIFIBUG-1142

See merge request espressif/esp-idf!38238
2025-04-18 20:44:16 +08:00
ed96486571 Merge branch 'fix/lp_wakeup_cause_bits_accumulation' into 'master'
fix(ulp): Fix accumulation of wakeup cause bits in ULP

Closes IDFGH-15115

See merge request espressif/esp-idf!38438
2025-04-18 20:05:40 +08:00
c4477dc2fa docs: fix broken link 2025-04-18 19:23:30 +08:00
4bec8b5e04 Merge branch 'fix/gpio_pull_enable_disable_strategy' into 'master'
fix(i2c,mcpwm): fix gpio pull strategy

Closes IDFGH-15092

See merge request espressif/esp-idf!38417
2025-04-18 19:08:28 +08:00
6994be3acd fix(gpio): add some detailed error log for gpio_pullup_en and gpio_pulldown_en 2025-04-18 19:03:16 +08:00
40cc70c325 fix(gpio): fix IO22-24 GPIO/IOMUX registers not restored after TOP PD for C61 2025-04-18 19:03:16 +08:00
ec5176e95a fix(gpio): IO7 is not a LP IO anymore on C5 ECO2 chip 2025-04-18 19:03:08 +08:00
0f1fd5a20c Merge branch 'feature/support_c5_eco2_soc' into 'master'
feat(soc): support esp32c5 eco2 soc

See merge request espressif/esp-idf!38425
2025-04-18 18:09:58 +08:00
eb0d3677ba Merge branch 'bugfix/fix_bt_access_ext_mem_in_intr' into 'master'
fix(bt/controller): Fixed access external memory in isr context

Closes BT-3996

See merge request espressif/esp-idf!38549
2025-04-18 18:01:13 +08:00
56766c9cf4 Merge branch 'fix/blemesh25-92' into 'master'
fix(ble_mesh): fixed issues with decrypt failed when resending messages

Closes BLERP-1760

See merge request espressif/esp-idf!38532
2025-04-18 17:50:10 +08:00
e408213b9a Merge branch 'bugfix/tsens_read_abnormal_value' into 'master'
fix: tsens read abnormal value in esp32c2eco4

Closes WIFIBUG-1133

See merge request espressif/esp-idf!38464
2025-04-18 17:36:09 +08:00
59cd07319d Merge branch 'bugfix/fix_phy_data_partition_restoring_default_fails_issue' into 'master'
fix(phy): fix phy data partition restoring default fails issue

Closes IDFGH-13849

See merge request espressif/esp-idf!38362
2025-04-18 17:35:52 +08:00
44983e6496 fix(ulp): Fix accumulation of wakeup cause bits in ULP
Closes https://github.com/espressif/esp-idf/issues/15794
2025-04-18 12:14:07 +03:00
5a9e71896a Merge branch 'docs/update_cn_translation_for_ecdsa' into 'master'
docs: Update cn translation for ecdsa

Closes DOC-10797

See merge request espressif/esp-idf!38470
2025-04-18 17:09:42 +08:00
ae4e3ffb5a fix(i2c,mcpwm): fix gpio pull strategy 2025-04-18 15:56:37 +08:00
849ff888b1 feat(soc): support esp32c5 eco2 soc 2025-04-18 15:15:53 +08:00
121ce6c689 fix(bt/controller): Fixed access external memory in isr context 2025-04-18 15:10:17 +08:00
4803cea3cc fix(ble_mesh): fixed issues with decrypt failed when resending messages 2025-04-18 14:54:22 +08:00
abe7680142 Merge branch 'bugfix/bt_prio_err_in_dual_mode' into 'master'
fix(bt/controller): update libbtdm_app.a

Closes BTQABR2023-355 and BT-3931

See merge request espressif/esp-idf!38472
2025-04-18 14:41:57 +08:00
ce15bc270a Merge branch 'fix/fix_i2c_clock_esp32s2' into 'master'
fix(i2c): Fix that fsm reset cause i2c scl frequency changed on esp32s2

Closes IDFGH-15036

See merge request espressif/esp-idf!38418
2025-04-18 14:07:12 +08:00
06b15364a9 fix(wifi): fix lr issues that lr info does not exist in connect information 2025-04-18 14:01:29 +08:00
zwx
4f1159fb0a fix(802.15.4): fix 15.4 process for unsupported frame 2025-04-18 12:32:20 +08:00
cee5a3d3c8 Merge branch 'bugfix/fix_concurrent_issue_in_legacy_touch_v1' into 'master'
fix(legacy_touch): fixed the concurrent issue in esp32 touch driver

Closes IDFCI-2832

See merge request espressif/esp-idf!38377
2025-04-18 12:12:56 +08:00
ff1652711c Merge branch 'feat/add_cbs_bod' into 'master'
feat(bod): Add a simple callback function for brownout detector

Closes IDFGH-14954

See merge request espressif/esp-idf!38432
2025-04-18 11:34:48 +08:00
cb8ea7951c feat(ble): support ble sleep using 136 kHz RC on ESP32-C5 2025-04-18 11:10:51 +08:00
73f1084bf8 feat(ble): support ble sleep using 136 kHz RC on ESP32-C2 2025-04-18 11:10:18 +08:00
7ee1bf0c4d Merge branch 'change/ble_update_lib_20250417' into 'master'
change(ble): [AUTO_MR] 20250417 - Update ESP BLE Controller Lib

Closes BLERP-1759 and BLERP-1758

See merge request espressif/esp-idf!38519
2025-04-18 11:09:55 +08:00
b1ea7f7ae6 fix(bt/controller): update libbtdm_app.a
- fixed errors in the coexistance of ACL and SCO
- fixed dynamic priority config error in dual mode
2025-04-18 07:43:24 +08:00
b33394907b Merge branch 'bugfix/ssc_compilation_wps' into 'master'
bugfix(wpa_supplicant): Fix build errors when Supplicant logs are enabled

Closes WIFIBUG-1141

See merge request espressif/esp-idf!38481
2025-04-18 07:14:41 +08:00
0cb211489f fix(ci): fix ci build error 2025-04-17 22:06:21 +08:00
47aa9ace8d change(docs): add power management module memory usage optimization documentation 2025-04-17 22:06:21 +08:00
a5b1468ba0 change(esp_hw_support): modify to resolve some review threads 2025-04-17 22:06:21 +08:00
a3e4e24a58 change(esp_hw_support): optimize get hp/lp dbias implementation iram or flash usage control by PM_SLP_IRAM_OPT 2025-04-17 22:06:21 +08:00
59c7a639bc fix(esp_hw_support): fix soc hang caused by deep sleep digital gpio isolate 2025-04-17 22:06:21 +08:00
77a1e2931d change: fix build clang test apps job error 2025-04-17 22:01:10 +08:00
b7e26d5546 change: power management iram memory usage optimization is only effective for esp32c2 2025-04-17 22:01:10 +08:00
ce63f86f56 fix: fix ci job error of some instructions require put to iram text 2025-04-17 22:01:10 +08:00
b47005a030 change: fix esp32h21 ci build error of sar_periph_ctrl_power_disable not found 2025-04-17 22:01:10 +08:00
d9a675eff3 change: for ci pipeline check pre commit pass 2025-04-17 22:01:10 +08:00
7eaf504d56 change(esp_hw_support): adpate the sleep exit flow execute time when sleep iram optimization is disabled 2025-04-17 22:01:10 +08:00
87b8e64953 change(esp_hw_support): force invalidate all cache before exiting the sleep flow when sleep iram is disabled 2025-04-17 22:01:10 +08:00
f90ba037fc change(esp_hw_support); place the sleep flow context to internal ram when enable flash pd 2025-04-17 22:01:10 +08:00
fc1d6cb7d8 change(esp_hw_support): optimize regi2c ctrl memory (iram or flash) usage control by REGI2C_CTRL_FUNC_IN_IRAM 2025-04-17 22:01:10 +08:00
e0920f621d change(esp_hw_support): optimize periph ctrl memory (iram or flash) usage control by PERIPH_CTRL_FUNC_IN_IRAM 2025-04-17 22:01:10 +08:00
1e54f38b51 change(esp_hw_support): optimize esp_sleep_start function internal iram memory usage 2025-04-17 22:01:10 +08:00
954270dda3 change(esp_hw_support): optimize sleep memory (iram or flash) usage control by PM_SLP_IRAM_OPT 2025-04-17 22:01:10 +08:00
f554d773fa fix(esp_hw_support): add delay to wait chip enter sleep in ut 2025-04-17 21:59:30 +08:00
55712011f1 Merge branch 'bugfix/pmkid_password_mismatch_regression' into 'master'
fix(wifi): Avoid writing to NVS if station configuration is not changed (Regression)

See merge request espressif/esp-idf!38463
2025-04-17 21:26:53 +08:00
e37c47f6e7 Merge branch 'bugfix/crypto_reset_on_exit' into 'master'
fix(esp_system): reset crypto peripherals before device restart

See merge request espressif/esp-idf!38399
2025-04-17 21:24:25 +08:00
cb4c738193 Merge branch 'refactor/esp_tee_ss_layer_in_flash' into 'master'
refactor(esp_tee): Place the secure services `_ss_` layer in the flash by default

See merge request espressif/esp-idf!38336
2025-04-17 19:58:47 +08:00
edf4234da9 fix(panic_handler): Prevent race condition in panic handler
This commit updates all RTC WDT contexts to be local instead of global
to avoid race conditions when both cores enter the panic handler
simultaneously.
2025-04-17 13:56:25 +02:00
3d83751dcc Merge branch 'feat/c5_eco_spi_and_twai_support' into 'master'
feat(driver_spi): c5 eco2 spi and twai support

Closes IDF-12636, IDF-12640, IDF-8699, IDF-10401, IDF-11269, IDF-12833, and IDF-12834

See merge request espressif/esp-idf!38380
2025-04-17 19:23:59 +08:00
30c91a4898 bugfix(wpa_supplicant): Fix build errors when Supplicant logs are enabled 2025-04-17 16:49:35 +05:30
3c60a009f4 Merge branch 'fix/calibrate_csl_rx' into 'master'
fix(openthread): calibrate CSL parameters

See merge request espressif/esp-idf!38471
2025-04-17 18:41:06 +08:00
d6760b170a fix(i2c): Fix that fsm reset cause i2c scl frequency changed on esp32s2,
Closes https://github.com/espressif/esp-idf/issues/15724
2025-04-17 18:03:42 +08:00
7fb61974f8 docs: Update cn translation for ecdsa 2025-04-17 18:02:46 +08:00
a89916eef4 change(ble): [AUTO_MR] Update lib_esp32c6 to cd6ba0ec 2025-04-17 17:49:00 +08:00
86d9c61482 change(ble): [AUTO_MR] Update lib_esp32c5 to cd6ba0ec 2025-04-17 17:49:00 +08:00
d48cc9ce2a change(ble): [AUTO_MR] Update lib_esp32h2 to cd6ba0ec 2025-04-17 17:48:59 +08:00
0b201ff842 fix: tsens read abnormal value in esp32c2eco4 2025-04-17 17:32:19 +08:00
447c2d8adc change(ble): update phy lib to support c61 beta1
* C61 phy_version: 260, 87d2086, Mar 31 2025
2025-04-17 16:35:49 +08:00
68ac1f5324 fix(legacy_touch): fixed the concurrent issue in esp32 touch driver 2025-04-17 15:41:59 +08:00
6a740a9461 Merge branch 'fix/freertos_tickless_idle_tick_jump' into 'master'
fix(freertos): Fixed tickless idle tick count accounting

Closes IDFGH-14933

See merge request espressif/esp-idf!38068
2025-04-17 15:03:48 +08:00
995858c5b8 fix(openthread): check state for ot wake 2025-04-17 14:33:24 +08:00
3f5cab42b2 feat(bod): Add a simple callback function for brownout detector,
Closes https://github.com/espressif/esp-idf/pull/15661
2025-04-17 14:25:46 +08:00
93455705ac Merge branch 'feat/update_h21_i2c_reg' into 'master'
feat(i2c): update i2c reg and struct on h21

See merge request espressif/esp-idf!38416
2025-04-17 14:19:34 +08:00
99909899ea fix(nimble): Fix sync handle assignment for pawr connection 2025-04-17 14:05:57 +08:00
0de1429834 fix(mbedtls): remove logical dead code from mbedtls 2025-04-17 13:43:48 +08:00
a0031cff9f refactor(esp_tee): Remove the redudant eFuse-related service calls 2025-04-17 11:04:29 +05:30
832124f198 fix(esp_tee): Place APM HAL in TEE IRAM when SPI1 protection is enabled
- Place the APM HAL into TEE IRAM when `CONFIG_SECURE_TEE_EXT_FLASH_MEMPROT_SPI1`
  is enabled, as APM violations related to SPI1 can occur with the flash cache disabled.
- Also fix an issue where flash protection tests were passing due to incorrect checks
2025-04-17 11:03:50 +05:30
a845be0149 refactor(esp_tee): Reduce the default TEE DRAM size
- Decreased from 32KB to 24KB, keeping in mind the current maximum TEE heap
  usage and some overhead
- Make the TEE panic handler logs concise, saving some DRAM
2025-04-17 11:03:17 +05:30
8e27be344b refactor(esp_tee): Place the secure services _ss_ layer in the flash by default 2025-04-17 11:03:16 +05:30
ecc547f4b0 Merge branch 'feat/esp_tee_hmac_ds_prot' into 'master'
feat(esp_tee): Protect the HMAC, DS and ECC peripherals from REE access

See merge request espressif/esp-idf!38285
2025-04-17 13:20:54 +08:00
8a9d659882 Merge branch 'feat/support_gdma_on_h4' into 'master'
feat(gdma): support gdma on esp32h4

Closes IDF-12382

See merge request espressif/esp-idf!38340
2025-04-17 11:34:56 +08:00
57fd051374 Merge branch 'change/ble_update_lib_20250414' into 'master'
change(ble): [AUTO_MR] 20250414 - Update ESP BLE Controller Lib

Closes BLERP-1742, BLERP-1743, BLERP-1744, BLERP-1745, BLERP-1746, BLERP-1748, BLERP-1750, BLERP-1751, BLERP-1752, BLERP-1736, BLERP-1730, BLERP-1725, BLERP-1738, and BLERP-1706

See merge request espressif/esp-idf!38386
2025-04-17 10:39:23 +08:00
93ff1aec46 Merge branch 'feat/remove_const_from_voltopart' into 'master'
feat(fatfs/diskio): Remove const from PARTITION VolToPart

Closes IDFGH-13211

See merge request espressif/esp-idf!38150
2025-04-16 23:46:19 +08:00
784d80b43c Merge branch 'feature/add_core_num_def_for_linux' into 'master'
feat(soc): Adds core_num definition for Linux target

Closes IDFGH-15076

See merge request espressif/esp-idf!38430
2025-04-16 22:48:13 +08:00
80910be77a fix(lp-timer): Remove LP Timer interrupt disabling from bootloader
This commit removes the disabling of the LP Timer interrupt from the
bootloader clock configuration routine. This allows the LP Timer
interrupt to be visible to the LP Core after HP CPU boots up.

Closes https://github.com/espressif/esp-idf/issues/15751
2025-04-16 16:31:57 +02:00
abd18025b2 fix(wifi): Avoid writing to NVS if station configuration is not changed
Fixes the regression introduced by 3d5bf355c3
2025-04-16 19:34:36 +05:30
4a4d63d36e feat(esp_tee): Protect the ECC peripheral from REE access 2025-04-16 19:19:04 +05:30
fc4802c0d6 feat(esp_tee): Protect the HMAC and DS peripherals from REE access 2025-04-16 19:19:04 +05:30
d7d78f6238 fix(esp_tee): Correct the input validation checks for secure services 2025-04-16 19:19:04 +05:30
1c4969bc47 feat(esp_security): Add a TEE-specific crypto lock layer with stub implementations 2025-04-16 19:19:03 +05:30
6bfdc0ce63 feat(driver_twai): c5 eco2 support clock source pll80m to output 8m twai 2025-04-16 21:24:47 +08:00
fb2f5cc1da feat(driver_spi): c5 eco2 support master rx timing sample phase 2025-04-16 21:24:38 +08:00
16d79103aa Merge branch 'feature/support_c5_eco2_rom' into 'master'
feat(rom): update rom for c5 eco2

See merge request espressif/esp-idf!38297
2025-04-16 20:36:07 +08:00
d930a386da Merge branch 'fix/fix_wifi_connect_mem_leakage' into 'master'
fix(wifi): fix wifi connect mem leakage

Closes WIFIBUG-1131, WIFIBUG-1129, WIFIBUG-1135, and WIFIBUG-1136

See merge request espressif/esp-idf!38341
2025-04-16 20:07:34 +08:00
34afa1948f Merge branch 'bugfix/ldgen_cmake_interface_libs' into 'master'
fix(build): query correct property for interface libraries

See merge request espressif/esp-idf!38401
2025-04-16 19:44:15 +08:00
3f5a6e9826 fix(openthread): relax CSL accuracy default value 2025-04-16 19:07:09 +08:00
c8f790078b Merge branch 'feature/enable_ecdsa_support_for_esp32h21' into 'master'
feat: add ECDSA support for esp32h21

Closes IDF-11496

See merge request espressif/esp-idf!36591
2025-04-16 17:58:52 +08:00
a797244ebb fix(wifi): fix wifi connect mem leakage 2025-04-16 17:13:18 +08:00
4a5d75ac85 Merge branch 'refactor/gdma_set_iram_safe_in_runtime' into 'master'
refactor(gdma): use run-time iram-safe config

Closes IDFGH-15089

See merge request espressif/esp-idf!37835
2025-04-16 16:31:56 +08:00
995c0777f8 Merge branch 'fix/failing_custom_cmake_host_win' into 'master'
fix(Tools): failing test_build_custom_cmake_project (Win, MacOS runners)

Closes IDF-12682

See merge request espressif/esp-idf!37932
2025-04-16 16:01:23 +08:00
e65efb9156 Merge branch 'test/enable_xip_mmap_cases' into 'master'
fix(mmap): fixed cache2phys and phy2cache not patched when XIP on PSRAM

Closes IDF-10983

See merge request espressif/esp-idf!33629
2025-04-16 15:30:23 +08:00
ece108c0bf fix(ble): remove null pointer assert in npl event deinit 2025-04-16 14:36:48 +08:00
7c3b9fa56f change(ble): bugs fixed on spi ble log
* removed spi master in iram select for flash only firmware
* fixed memory issue in transaction init function
* fixed memory issue in transaction deinit function
2025-04-16 14:36:48 +08:00
a5c32a5fb7 feat(ble): support configurable rxbuf opt feat on ESP32-C5 2025-04-16 14:36:48 +08:00
5fbbec8655 feat(ble): support configurable rxbuf opt feat on ESP32-C6 2025-04-16 14:36:48 +08:00
4937d3c883 feat(ble): support configurable rxbuf opt feat on ESP32-H2 2025-04-16 14:36:48 +08:00
ce4e012c8b feat(ble): use new section for ble sleep on ESP32-C2 2025-04-16 14:36:43 +08:00
1c5d48e2bc ci: disable target tests for c5 eco2 2025-04-16 11:01:39 +08:00
9a88effab8 ci: disabled RF soc caps for c5 eco2
Disable the RF soc caps to bypass the build of un-supported RF examples
2025-04-16 11:01:39 +08:00
0abc755342 feat(rom): update rom for c5 eco2
Breaking: Starting from this commit, ESP-IDF can only support ESP32-C5 v1.0 (ECO2)
2025-04-16 11:01:36 +08:00
a141d8c5bd feat(esp_hw_support): optimize esp32p4 GPIO retention link 2025-04-16 10:30:56 +08:00
821631bd35 fix(esp_hw_support): iomux slp_sel is not avaliable to isolate mspi pin leakage on esp32p4 2025-04-16 10:30:56 +08:00
61064b442a Merge branch 'docs/add_compatibility_c6_0v2' into 'master'
doc(compatibility): add supported version for C6 v0.2

See merge request espressif/esp-idf!32304
2025-04-16 10:29:26 +08:00
b737136d83 Merge branch 'bugfix/dpp_optimizations' into 'master'
WiFi: DPP code optimizations

Closes IDFGH-9228

See merge request espressif/esp-idf!34014
2025-04-16 10:20:30 +08:00
323119a0b6 Merge branch 'feature/improve_ps_compatibility_master_2025' into 'master'
feat(wifi): improve ps compatibility

Closes WIFI-6757, WIFI-6304, and AUD-4813

See merge request espressif/esp-idf!35960
2025-04-16 02:58:40 +08:00
d889031504 feat(soc): Adds core_num definition for Linux target
Closes https://github.com/espressif/esp-idf/issues/15758
2025-04-15 18:54:33 +03:00
b37c882aa9 Merge branch 'docs/update_cn_translation_for_usb' into 'master'
docs: Provide CN translation for usb device

See merge request espressif/esp-idf!38387
2025-04-15 22:37:08 +08:00
0181d1b1ce Merge branch 'feat/add_esp_clang_libs_tool' into 'master'
Add support for esp-clang-libs to IDF tools

Closes IDFGH-15043

See merge request espressif/esp-idf!36391
2025-04-15 22:29:19 +08:00
13515d729e Merge branch 'feat/ensure_not_all_of_the_security_versions_are_disabled' into 'master'
feat(wifi_prov): Ensure not all security versions are disabled at same time

Closes IDF-12794

See merge request espressif/esp-idf!38029

Related https://github.com/espressif/esp-idf/issues/15549
2025-04-15 21:41:26 +08:00
55a2ad3df3 fix(esp_system): reset crypto peripherals before device restart
This change addresses a rare but critical issue observed on certain
ESP32-C3 and ESP32-S3 devices, where secure boot verification
intermittently fails due to improper cleanup of crypto peripherals
during a restart.

Background – Restart Behavior in IDF
------------------------------------
In ESP-IDF, when the device restarts (via `esp_restart()` or due to a
panic/exception), a partial peripheral reset is performed followed by a
CPU reset. However, until now, crypto-related peripherals were not
included in this selective reset sequence.

Problem Scenario
----------------
If a restart occurs while the application is in the middle of a bignum
operation (i.e., using the MPI/Bignum peripheral), the ROM code may
encounter an inconsistent peripheral state during the subsequent boot.
This leads to transient RSA-PSS secure boot verification failures.

Following such a failure, the ROM typically triggers a full-chip reset
via the watchdog timer (WDT). This full reset clears the crypto
peripheral state, allowing secure boot verification to succeed on the
next boot.

Risk with Aggressive Revocation
-------------------------------
If secure boot aggressive revocation is enabled (disabled by default in
IDF), this transient verification failure could mistakenly lead to
revocation of the secure boot digest.

If your product configuration has aggressive revocation enabled,
applying this fix is strongly recommended.

Frequency of Occurrence
-----------------------
The issue is rare and only occurs in corner cases involving
simultaneous use of the MPI peripheral and an immediate CPU reset.

Fix
---
This fix ensures that all crypto peripherals are explicitly reset prior
to any software-triggered restart (including panic scenarios),
guaranteeing a clean peripheral state for the next boot and preventing
incorrect secure boot behavior.
2025-04-15 19:06:26 +05:30
1507ec7466 fix(test): Proper cleanup after build_custom_cmake pytest
The test create build folder in current directory which
in this case is defined by (test_app_copy).
It also creates sdkconfig file in cmake source directory, which
is defined as $IDF_PATH/examples/build_system/cmake/idf_as_lib

The fixtures ensures proper cleanup even when test fails.
2025-04-15 15:09:27 +02:00
58b3c60f59 fix(tools): Update ruff-format changes 2025-04-15 15:09:27 +02:00
c288935305 ci(tools): Run Win build system tests when patterns-build_system changed 2025-04-15 15:09:27 +02:00
87a118361f test(tools): skip custom cmake project test for host on Win 2025-04-15 15:09:27 +02:00
179a468adf Merge branch 'fix/usb_host_hcd_test_pipe_stall' into 'master'
feat(usb_host): Fix HCD test HCD control pipe STALL

See merge request espressif/esp-idf!38338
2025-04-15 20:43:15 +08:00
30ba95a89b Merge branch 'feature/optimize_coex_schm_to_rodata' into 'master'
feat(coex): optimize coex schm to rodata

See merge request espressif/esp-idf!38398
2025-04-15 19:35:37 +08:00
9c75d7961c Merge branch 'bugfix/h2e_porting_improvement' into 'master'
change(esp_wifi): Improve handling group parameter A in H2E

Closes IDFGH-14994 and IDFGH-14995
Closes https://github.com/espressif/esp-idf/issues/15691
Closes https://github.com/espressif/esp-idf/pull/15692

See merge request espressif/esp-idf!38319
2025-04-15 18:36:12 +08:00
ce06a878ae feat(i2c): update i2c reg and struct on h21 2025-04-15 17:39:11 +08:00
d9f03d7f28 fix(hal): updated API description and added comments 2025-04-15 14:58:53 +05:30
78ef080251 Merge branch 'fix/ota_pytest_idf_path_fix' into 'master'
fix(ota): Fix the pytest's idf_path

See merge request espressif/esp-idf!38321
2025-04-15 17:04:39 +08:00
06beaefa88 feat(wifi_prov): Ensure not all security versions are disabled at same time
Disabling all the protocomm security versions give empty enum value build
error.

Note - Disabling the protocomm security 0 by default
Note - Disabling the protocomm security 0 by default
Note - Disabling the protocomm security 0 by default
Note - Disabling the protocomm security 0 by default
Note - Disabling the protocomm security 0 by default
Note - Disabling the protocomm security 0 by default
Note - Disabling the protocomm security 0 by default
Note - Disabling the protocomm security 0 by default
Note - Disabling the protocomm security 0 by default
2025-04-15 16:46:44 +08:00
977d841229 fix(build): query correct property for interface libraries
431ee5c058 has changed the way ldgen works by introducing the
recursive lookup of component libraries reachable from the executable.
The implementation incorrectly queried LINK_LIBRARIES instead of the
INTERFACE_LINK_LIBRARIES property for INTERFACE targets.
2025-04-15 10:23:20 +02:00
ea57c1b491 Merge branch 'docs/usb_msc_perf' into 'master'
docs(usb_msc_device): Update documentation with performance optimization results

Closes DOC-10816

See merge request espressif/esp-idf!36919
2025-04-15 15:42:07 +08:00
3caddd5393 test(freertos): Added a unit test for tickless idle tick jump scenario
This commit adds a unit test to test that tickless idle mode does not
cause an unexpected jump in tick count after tickless idle mode is
exited.
2025-04-15 09:38:26 +02:00
3af5603938 fix(freertos): Fixed tickless idle tick count accounting
This commit fixes an issue where the FreeRTOS kernel does not account
for the pended ticks occuring during automatic light-sleep mode and
hence causing a jump in the tick count at a later stage in the
application lifetime.

Closes: https://github.com/espressif/esp-idf/issues/15642
2025-04-15 09:38:26 +02:00
1edf45e3e8 Merge branch 'bugfix/fix_some_ble_bugs_250331_esp32c3' into 'master'
Fixed some BLE bugs 250331 on esp32c3

Closes BLERP-1682, BLERP-1713, BLERP-1714, BLERP-1715, BLERP-1716, BLERP-1717, BLERP-1718, BLERP-1720, BLERP-1719, BLERP-1721, BLERP-1712, BLERP-1723, BT-3474, BT-3319, BT-3431, and IDFCI-2586

See merge request espressif/esp-idf!38170
2025-04-15 15:28:58 +08:00
d98c580d40 Merge branch 'fix/esp32p4_xtal_path_not_on_top' into 'master'
fix(esp_hw_support): fix esp32p4 xtal_xpd depends on TOP power domain

See merge request espressif/esp-idf!38328
2025-04-15 14:54:13 +08:00
22f0ee5405 Merge branch 'change/allow_keep_sar_poweron_in_light_sleep' into 'master'
change(esp_hw_support): allow sar power keep on during lightsleep

Closes IDFGH-11268

See merge request espressif/esp-idf!38379
2025-04-15 14:47:55 +08:00
6418d4fcf3 feat(wifi): support ESP_WIFI_SLP_SAMPLE_BEACON_FEATURE and ESP_WIFI_SLP_BEACON_LOST_DROP_BEACON 2025-04-15 14:40:30 +08:00
03ae34e3f9 Merge branch 'refactor/add_flash_list_check' into 'master'
refactor(spi_flash): Add spi_flash driver list linked check

See merge request espressif/esp-idf!38343
2025-04-15 13:59:41 +08:00
3e1317fd13 fix(ota): Fix the OTA pytest idf_path
Due to ci/pytest-mark-formatter(branch) fix, while executing the main
function from the pytest, it gives error for the incorrect idf_path.

This commit ensure that, idf_path is fixed correctly.
2025-04-15 11:06:51 +05:30
b45b29ae16 Merge branch 'fix/fix_mmu_map_concurrent_issue' into 'master'
mmu: fix mmu map concurrent issue

Closes IDFGH-14841

See merge request espressif/esp-idf!37780
2025-04-15 12:02:23 +08:00
ccb4384de4 Merge branch 'contrib/github_pr_15638' into 'master'
fix(i2c): Fix clear bus issue in legacy i2c driver (GitHub PR)

Closes IDFGH-14927

See merge request espressif/esp-idf!38141
2025-04-15 11:40:38 +08:00
15e16599ae refactor(drivers): refactor the iram-safe option of the gdma peripherals
Closes https://github.com/espressif/esp-idf/issues/15771
2025-04-15 11:37:18 +08:00
3d08799be7 feat(gdma): support gdma retention on h4 2025-04-15 11:34:58 +08:00
e353f92b66 feat(gdma): support gdma on esp32h4 2025-04-15 11:15:40 +08:00
d8f2cd80dc feat(gdma): support allocate cache safe ISR for channels separately 2025-04-15 11:10:45 +08:00
e664cb0e09 docs: Provide CN translation for usb device 2025-04-15 10:36:59 +08:00
660898dc24 Merge branch 'bugfix/no_write_evt_report' into 'master'
fix(bt): fixed spp not reporting write event

Closes BTQABR2023-468

See merge request espressif/esp-idf!38327
2025-04-15 08:01:21 +08:00
6e1b2aa23f ci(esp_wifi): Extend eloop test to verify wifi deinit properly 2025-04-14 21:14:23 +05:30
859d18a123 fix(esp_wifi): Fixed some concurrency issues in eloop deinit 2025-04-14 21:14:17 +05:30
bfc86f6094 fix(esp_wifi): Removal of task posting code and use pptask instead 2025-04-14 20:30:53 +05:30
a96d680fc5 fix(esp_wifi): Add various DPP fixes observed during testing 2025-04-14 20:30:53 +05:30
4dac5482e3 fix(esp_wifi): Add eloop blocking call API for public APIs 2025-04-14 20:30:47 +05:30
e9bdd39599 Merge branch 'fix/usb_device_fix_ncm_pytest' into 'master'
fix(usb_device): Fix failing NCM device test by increasing dealy for the network ifc

See merge request espressif/esp-idf!38384
2025-04-14 22:40:23 +08:00
0cb7eb0465 fix(tools): Fix linter errors in 'idf_tools.py' 2025-04-14 17:10:55 +03:00
e7423ebbcc feat(tools): Add standalone Clang libraries to tools.json 2025-04-14 17:10:55 +03:00
9768b86095 feat(tools): Update Clang version to esp-19.1.2_20250312
Closes https://github.com/espressif/esp-idf/issues/15731
2025-04-14 17:10:46 +03:00
044de0b128 Merge branch 'bugfix/wps_msg_timeout_increase' into 'master'
fix(esp_wifi): Increase WPS message timeout

See merge request espressif/esp-idf!37395
2025-04-14 20:08:10 +08:00
d965cf357c Merge branch 'feature/add_ot_cli_ci_case' into 'master'
feat(openthread): add openthread ci ssed case

Closes TZ-1646, TZ-1649, and IDFCI-2648

See merge request espressif/esp-idf!38000
2025-04-14 18:40:28 +08:00
09467baed0 change(ble): [AUTO_MR] Update lib_esp32c2 to fca2b9ea 2025-04-14 17:16:33 +08:00
e2d1a5509e change(ble): [AUTO_MR] Update lib_esp32c6 to 76549818 2025-04-14 17:16:33 +08:00
18bffab9b4 change(ble): [AUTO_MR] Update lib_esp32c5 to 76549818 2025-04-14 17:16:33 +08:00
c11bb1ddd0 change(ble): [AUTO_MR] Update lib_esp32h2 to 76549818 2025-04-14 17:16:33 +08:00
1d10e11943 feat(openthread): add esp_system dependency for SSED CI 2025-04-14 16:15:19 +08:00
8a6fd92c12 feat(openthread): relax conditions for trel case approval 2025-04-14 16:15:19 +08:00
cdfdb1afb3 feat(openthread): add openthread ci ssed case 2025-04-14 16:15:11 +08:00
e7a6d3298c fix(bt): fixed spp not reporting write event 2025-04-14 15:42:41 +08:00
5a6de21c6d feat(coex): optimize coex schm to rodata 2025-04-14 15:40:39 +08:00
1c6405eb9b Merge branch 'fix/esp_tee_coverity_bugs' into 'master'
fix(security): Fixed coverity warnings related to the `esp_tee` component

Closes IDF-12803, IDF-12804, and IDF-12826

See merge request espressif/esp-idf!38360
2025-04-14 15:05:27 +08:00
a876e63f90 feat(openthread): use freertos timer for debug logs 2025-04-14 15:02:14 +08:00
1522efa910 Merge branch 'doc/touch_element_support_esp32s3' into 'master'
docs(touch): build the touch element doc for esp32s3

Closes IDFGH-15073

See merge request espressif/esp-idf!38366
2025-04-14 14:10:47 +08:00
64e23f3e9a Merge branch 'fix/usb_host_msc_example_pytest_hub' into 'master'
fix(usb_host): Fix msc example pytest to support external hub

Closes IDFCI-2441

See merge request espressif/esp-idf!38385
2025-04-14 14:06:03 +08:00
c454c91b35 feat: added documentation for ECDSA peripheral of ESP32H21 2025-04-14 10:29:58 +05:30
aae4bfb6f3 feat: enable ecdsa support for esp32h21
This commit enabled suppot for ECDSA peripheral in ESP32H21.
2025-04-14 10:26:46 +05:30
44d5361821 feat: add efuses for esp32h21
This commit adds ecdsa efuses for esp32h21
2025-04-14 10:26:46 +05:30
13aff0b216 fix(security): Fixed coverity warnings related to the esp_tee component
- Also, disable the SECP192R1 curve (Mbed TLS config) when TEE Secure Storage
  does not require it
2025-04-14 10:12:51 +05:30
11890df95a Merge branch 'bugfix/fix_cert_verification_ds_tls1.3' into 'master'
fix(component/mbedtls): Fix failing cert verification with TLS1.3 and DS peripheral

Closes IDFGH-14097

See merge request espressif/esp-idf!37634
2025-04-14 12:31:50 +08:00
f2cf0f0e92 Merge branch 'refactor/ana_cmpr_driver' into 'master'
refactor(ana_cmpr): enhanced the driver implementation

See merge request espressif/esp-idf!38353
2025-04-14 12:03:25 +08:00
b5f992a9c9 example: add example for beacon sample feature 2025-04-14 11:51:06 +08:00
c00d092bdb feat(wifi): support sample beacon feature
fix: adapt soc wakeup quick wake, fix light sleep beacon sample

feat(pm): giveup beacon and resample if rx prop too low (a16fa11)
2025-04-14 11:50:40 +08:00
2a0791b223 feat(wifi): support to configure wifi modem sleep parameters 2025-04-14 11:33:22 +08:00
e85dc394ad fix(i2c): Fix clear bus issue in legacy i2c driver,
Closes https://github.com/espressif/esp-idf/pull/15638
2025-04-14 11:31:19 +08:00
03c229e949 Merge branch 'feat/add_l2cap_register_event' into 'master'
feat(bt): Added events for l2cap register and unregister vfs

Closes BTQABR2023-465

See merge request espressif/esp-idf!38138
2025-04-14 11:28:20 +08:00
b192eb489f docs(coex): add soc_support_coexistence for esp32c5 2025-04-14 10:45:51 +08:00
1abe57c987 test(system): increased 200B memory leak thresh due to mmu mmap mutex
200B to extend the thresh, real increase to the memory usage will be smaller
2025-04-14 10:45:40 +08:00
6abf6f5196 test(mmu): added esp_mmu_map concurrency test 2025-04-14 10:45:40 +08:00
5a1cb71184 fix(mmu): fixed esp_mmu_map concurrent issue and add related docs 2025-04-14 10:45:40 +08:00
25f9c3715a Merge branch 'fix/fix_unused_osc_broken_xtal32k_configuration' into 'master'
fix(esp_hw_support): fix unused OSC source deinit breaks XTAL32K configuration

See merge request espressif/esp-idf!38361
2025-04-14 10:28:10 +08:00
b7ecab5de3 Merge branch 'ci/refactor_adc_oneshot_test' into 'master'
ci(adc): refactor adc oneshot test

See merge request espressif/esp-idf!38346
2025-04-14 10:02:19 +08:00
44b18ca0a7 docs(usb_msc): Update documentation with performance optimization results
Added performance optimization details for USB MSC on ESP32-S3, ESP32-P4, and ESP32-S2.
Includes benchmarking results for SD card and SPI flash, explanation of performance
limitations.

Related to https://github.com/espressif/esp-idf/issues/11110
2025-04-12 15:30:47 +02:00
07765cde50 fix(usb_host): Fix msc example pytest to support external hub 2025-04-11 17:25:30 +02:00
dbc111ebff fix(usb_device): Fix failing NCM device test by increasing dealy for the network ifc 2025-04-11 16:49:04 +02:00
0ead362761 Merge branch 'fix/usb_host_hcd_dma_ls_via_fs_hubs' into 'master'
fix(hcd): Added delay to slow down scatter-gather dma for ls device via fs hubs

Closes IDF-11264 and IDFGH-14984

See merge request espressif/esp-idf!38118
2025-04-11 21:03:30 +08:00
d38c05c10c Merge branch 'refactor/ldgen_library_deps' into 'master'
refactor(cmake): collect libraries from ELF, don't depend on idf_build_target

Closes IDF-10772

See merge request espressif/esp-idf!34520
2025-04-11 21:02:06 +08:00
762cf0539f Merge branch 'bugfix/fix_touch_tie_option' into 'master'
fix(touch): fixed tie option take no effect

See merge request espressif/esp-idf!37907
2025-04-11 20:20:14 +08:00
431ee5c058 refactor(cmake): collect libraries from ELF, don't depend on idf_build_target 2025-04-11 14:00:56 +02:00
87ce14650b Merge branch 'feat/ws-err-codes' into 'master'
feat(ws_transport): include error reason in failure log

Closes IDFGH-13978

See merge request espressif/esp-idf!38216
2025-04-11 19:35:17 +08:00
b62e486247 fix(component/mbedtls): Fix failing cert verification with TLS1.3 and DS peripheral 2025-04-11 18:34:16 +08:00
b41fb377f9 change(esp_hw_support): allow sar power keep on during lightsleep
Closes https://github.com/espressif/esp-idf/issues/12426
2025-04-11 18:15:33 +08:00
2b5d91ad1c refactor(ana_cmpr): enhanced the driver implementation 2025-04-11 17:45:32 +08:00
dbf9d78763 fix(hcd): Added delay to slow down scatter-gather dma for ls device via fs hubs
Closes https://github.com/espressif/esp-idf/issues/15683
2025-04-11 17:06:08 +08:00
b282338c68 ci(adc): refactor adc basic oneshot test 2025-04-11 17:04:30 +08:00
4b5ccbe7f1 fix(bt): Fixed the issue with l2cap not using dynamic memory 2025-04-11 16:45:53 +08:00
007a2a30f5 fix(bt): Fixed write_read task stack overflow in l2cap example 2025-04-11 16:45:53 +08:00
1f7658ed42 feat(bt): Added events for l2cap register and unregister vfs 2025-04-11 16:45:53 +08:00
dbec79a508 fix(esp_hw_support): fix cache hit bypass iram safe assertion on p4 2025-04-11 15:35:34 +08:00
771e9db73e Merge branch 'fix/fix_incorrect_ota_address_assignment' into 'master'
fix(nimble): Fix incorrect OTA address type assignment

See merge request espressif/esp-idf!38342
2025-04-11 14:07:46 +08:00
dfcebcd5cf Merge branch 'docs/migrate_esp32_bluetooth_networking_to_api_guide' into 'master'
docs: Migrate ESP32 Bluetooth Networking PDF content to BluFi API Guide

Closes DOC-7825

See merge request espressif/esp-idf!38043
2025-04-11 14:05:11 +08:00
bff87e206d Merge branch 'docs/migrate_esp32_bluetooth_architecture_to_idf' into 'master'
docs: Migrate ESP32 Bluetooth Architecture PDF content to ESP-IDF

Closes DOC-9217

See merge request espressif/esp-idf!37781
2025-04-11 14:04:36 +08:00
6566068fc9 Merge branch 'refactor/remove_adc_task_sample1' into 'master'
refactor(soc): update soc_etm for esp32c61

See merge request espressif/esp-idf!38356
2025-04-11 13:31:52 +08:00
2b21d5a887 docs(touch): build the touch element doc for esp32s3
Closes https://github.com/espressif/esp-idf/issues/15755
2025-04-11 13:26:07 +08:00
a2e582db4e docs: Migrate ESP32 Bluetooth Networking PDF content to BluFi API Guide 2025-04-11 11:12:28 +08:00
e97b1a8b51 fix(mmap): fixed cache2phys and phy2cache not patched when XIP on PSRAM 2025-04-11 11:02:11 +08:00
477af3b4a8 ci(mmap): enable mmap and XIP related cases for c5 2025-04-11 11:02:11 +08:00
d4fc63553d docs: Migrate ESP32 Bluetooth Architecture PDF content to ESP-IDF 2025-04-11 10:51:19 +08:00
fe9290bfe1 fix(usb_host): Fix HCD Test pipe stall with only one URB enqeued 2025-04-10 17:44:16 +02:00
0901c6adbe fix(phy): fix phy data partition restoring default fails issue
Closes https://github.com/espressif/esp-idf/issues/14698
2025-04-10 21:55:04 +08:00
b3911c7c89 fix(esp_hw_support): fix unused OSC source deinit breaks XTAL32K configuration 2025-04-10 20:56:53 +08:00
0b8f661c08 Merge branch 'bugfix/storage_nvs_key_overwrite' into 'master'
fix(nvs): fixed erasing of old values if new data type is not the same

Closes IDFGH-14832

See merge request espressif/esp-idf!37888
2025-04-10 20:01:35 +08:00
d4b60bbe3a fix(nimble): Fix incorrect OTA address assignment 2025-04-10 16:50:45 +05:30
62c1e8171e refactor(soc): update soc_etm for esp32c61 2025-04-10 18:50:36 +08:00
7dd093fc10 Merge branch 'docs/re-enable-fast-breathe-fork' into 'master'
docs: enable BREATHE_ALT_INSTALL_URL_PY39 for fast breathe fork under python3.9

See merge request espressif/esp-idf!38334
2025-04-10 18:33:58 +08:00
5362a03eac feat(ws_transport): include error reason in failure log
When the underlying transport returns a failure,
add the failure result to the log.
2025-04-10 07:22:37 -03:00
2b390b2b22 Merge branch 'feature/add_tx_callback_api_for_80211_tx' into 'master'
feat(wifi): Added tx callback function for 80211 tx

Closes WIFI-6820

See merge request espressif/esp-idf!37673
2025-04-10 17:45:30 +08:00
d9bc77e422 fix(nvs): fixed erasing of old values if new data type is not the same
Closes https://github.com/espressif/esp-idf/issues/15559
2025-04-10 10:55:51 +02:00
f56cc82c04 Merge branch 'feat/allow_rmt_tx_channel_to_switch_other_gpios' into 'master'
feat(rmt_tx): allow to switch gpio in tx channal

See merge request espressif/esp-idf!38318
2025-04-10 15:47:18 +08:00
15fa7843ae refactor(spi_flash): Add spi_flash driver list linked check 2025-04-10 15:36:11 +08:00
cad0ad9ccd fix(wifi): update wifi lib for 80211 tx and espnow 2025-04-10 14:05:12 +08:00
f73e8b2320 fix(docs): update the migration-guides for espnow change 2025-04-10 14:05:12 +08:00
a8bd4f0929 fix(wifi): Return more information in the espnow send callback 2025-04-10 14:05:12 +08:00
d19614738a feat(wifi): Added tx callback function for 80211 tx
Closes https://github.com/espressif/esp-idf/issues/13319
2025-04-10 14:05:07 +08:00
95465323c6 Merge branch 'feature/deploy_chatbot_widget' into 'master'
feat(all): deployed chatbot widget

See merge request espressif/esp-idf!37541
2025-04-10 14:02:32 +08:00
b5f8020ad5 feat(all): deployed chatbot widget 2025-04-10 14:02:32 +08:00
3e6c4dad7d Merge branch 'bugfix/remove_broken_link_for_wifi_expansion' into 'master'
bugfix: Remove the broken link in wifi-expansion.rst

Closes DOC-10663

See merge request espressif/esp-idf!38096
2025-04-10 10:41:12 +08:00
4e5b286c67 Merge branch 'feature/update_espnow_documentation' into 'master'
feat(docs): update connectionless module window syncronization documentation

Closes WIFIBUG-1110

See merge request espressif/esp-idf!37918
2025-04-10 10:33:34 +08:00
2bd5425a5b feat(rmt_tx): allow to switch gpio in tx channal 2025-04-10 10:26:27 +08:00
00854b29cc Merge branch 'bugfix/fix_sscanf_usage' into 'master'
fix(nimble): Updated sscanf usage in examples to work for all versions

Closes BLERP-1693

See merge request espressif/esp-idf!38020
2025-04-10 09:15:51 +08:00
7005b101bf Merge branch 'fix/fatfs_use_dyn_buf_kconfig_mistake' into 'master'
fix(fatfs): Mistake in Kconfig for FATFS_USE_DYN_BUFFERS

Closes IDF-11789

See merge request espressif/esp-idf!35182
2025-04-09 23:45:03 +08:00
a1be173193 Merge branch 'fix/fix_uart_console_broken_after_sleep' into 'master'
fix(esp_hw_support): fixed gpio sleep switching filling junk data to the console UART FIFO

See merge request espressif/esp-idf!38112
2025-04-09 22:06:22 +08:00
38fcc41ff2 Merge branch 'feat/enable_esp32p4_auto_clock_gate' into 'master'
feat(esp_hw_support): enable auto clock gating for multi peripherals

See merge request espressif/esp-idf!37986
2025-04-09 21:42:04 +08:00
4c161d6a79 docs: enable BREATHE_ALT_INSTALL_URL_PY39 for fast breathe fork under python3.9 2025-04-09 14:49:04 +02:00
963a50cc9f fix(nimble): Updated sscanf usage in examples to work for all versions 2025-04-09 17:50:26 +05:30
b1997ebab6 feat(storage/fatfs): add dynamic buffer usage test 2025-04-09 14:02:44 +02:00
1de60605c1 Merge branch 'fix/console-deinit-deadlock-default-read' into 'master'
fix(console): Default read_func to the read function

See merge request espressif/esp-idf!38299
2025-04-09 18:44:56 +08:00
2e2f39b9a0 Merge branch 'fix/add_dependency_for_esp_https_ota_component' into 'master'
fix(esp_https_ota): add component dependencies for esp_https_ota component

Closes IDFGH-14981

See merge request espressif/esp-idf!38304
2025-04-09 18:08:31 +08:00
b93ac4734b Merge branch 'bugfix/fix_modem_state_rx_bcn_failed' into 'master'
fix(wifi):fix modem state rx bcn failed when tbtt update, support modem state for coexist

Closes WIFI-6538, WIFIBUG-1052, WIFIBUG-128, WIFIBUG-1064, and WIFIBUG-1088

See merge request espressif/esp-idf!37238
2025-04-09 17:58:50 +08:00
054e492b04 fix(esp_hw_support): fixed gpio sleep switching filling junk data to the console UART FIFO 2025-04-09 17:55:24 +08:00
ab36ffad1f Merge branch 'refactor/update_c61_bus_monitor_regs' into 'master'
refactor(esp32c61): update c61 bus monitor regs

See merge request espressif/esp-idf!38205
2025-04-09 17:41:28 +08:00
37cbd1e555 fix(touch): fixed tie option take no effect 2025-04-09 17:13:01 +08:00
5fbc742248 fix(esp_hw_support): fix esp32p4 xtal_xpd depends on TOP power domain 2025-04-09 17:10:57 +08:00
6ca0614e89 feat(esp_hw_support): enable auto clock gating for multi peripherals 2025-04-09 17:07:49 +08:00
fe73a61b2b Merge branch 'fix/fatfs_rw_mount_ro_image' into 'master'
feat(storage/fatfs): increase log legibility for fatfs mount

Closes IDF-12569

See merge request espressif/esp-idf!37407
2025-04-09 16:29:57 +08:00
29a470b530 fix(esp_hw_support): fix modem wakeup req always high caused by pmu min slp cycle update 2025-04-09 15:26:57 +08:00
82dac1f1bd fix(fatfs): Mistake in Kconfig for FATFS_USE_DYN_BUFFERS 2025-04-09 09:18:02 +02:00
b3338158cc bugfix: Remove the broken link in wifi-expansion.rst 2025-04-09 14:19:30 +08:00
f031cd39e7 Merge branch 'docs/fix_trans_typo' into 'master'
docs: Correct translation error and typo

Closes DOC-10585 and DOC-10632

See merge request espressif/esp-idf!38284
2025-04-09 14:03:30 +08:00
1304fdc364 Merge branch 'fix/fix_current_leakage_after_ext_osc_detect_failed' into 'master'
fix(esp_hw_support): fix current leakage if ext32k slow clock source not exists

Closes PM-385

See merge request espressif/esp-idf!38140
2025-04-09 13:52:40 +08:00
f025008d4e ci(esp_wifi): Add h2e testcase 2025-04-09 11:17:00 +05:30
ba9387b511 change(esp_wifi): Improve handling group parameter A in H2E
Signed-off-by: Chien Wong <m@xv97.com>
2025-04-09 11:09:55 +05:30
c5a53842d1 Merge branch 'bugfix/handle_missing_unlock' into 'master'
fix(nimble): Fixed one missing ble_hs_unlock()

See merge request espressif/esp-idf!38185
2025-04-09 13:23:05 +08:00
7daa16d437 Merge branch 'refactor/esp_tee_heap_rom' into 'master'
feat(esp_tee): Use the ROM TLSF implementation for the TEE build

See merge request espressif/esp-idf!37277
2025-04-09 12:33:15 +08:00
059c50e8c8 change(esp_hw_support): add interface to calculate slow clock period by clock frequency 2025-04-09 11:41:58 +08:00
28290c8da3 fix(wifi):fix modem state rx bcn failed when tbtt update, support modem state for coexist 2025-04-09 11:41:56 +08:00
d11ccf81b2 Merge branch 'bugfix/uart_nmea0183_example_wrong_unit_conversion' into 'master'
fix(uart): fix nmea0183 example wrong knots to m/s unit conversion

Closes IDFGH-14998 and IDFGH-12374

See merge request espressif/esp-idf!38286
2025-04-09 11:04:51 +08:00
eb647d10c6 feat(ble/bluedroid): Add sync_cte_type in creat_periodic_adv_sync function 2025-04-09 10:06:13 +08:00
db85cd02be refactor(esp32c61): bus_monitor backward compatible refactor 2025-04-08 22:50:04 +08:00
ba0a2db037 refactor(esp32c61): update bus_monitor registers for C61 2025-04-08 22:50:04 +08:00
683fd03a43 Merge branch 'feature/bss_max_idle' into 'master'
feat(wifi): Improve and enable bss max idle support on all chips

See merge request espressif/esp-idf!34656
2025-04-08 22:44:33 +08:00
d26e18cb49 ci(esp_tee): Verify the malloc-write-free cycle in the TEE heap 2025-04-08 19:50:27 +05:30
223c0d5f9d feat(esp_tee): Use the ROM TLSF implementation for the TEE build 2025-04-08 19:50:27 +05:30
d442886918 refactor(esp_tee): Refactor the TEE heap-related APIs 2025-04-08 19:50:26 +05:30
cf6135c990 fix(ble/bluedroid): Fixed BLE_FEAT_CREATE_SYNC_ENH define error in bluedroid host 2025-04-08 20:33:31 +08:00
6b5ac56b9d Merge branch 'feat/eap_domain_check' into 'master'
esp_wifi: Add EAP domain validation support

Closes IDFGH-14822

See merge request espressif/esp-idf!37668
2025-04-08 20:23:06 +08:00
190a12912e Merge branch 'fix/fix_timer_wakeup_api_coverity' into 'master'
fix(esp_hw_support): fix esp_sleep_enable_timer_wakeup API code coverity

Closes IDF-12526

See merge request espressif/esp-idf!37639
2025-04-08 20:14:38 +08:00
c84757d35e fix(esp_hw_support): fix current leakage if ext32k slow clock source not exists 2025-04-08 20:07:47 +08:00
34b7e7df63 fix(esp_https_ota): add component dependencies for esp_https_ota component
This commit added dependency of esp_bootloader_img and esp_partition
for component esp_https_ota.

Closes https://github.com/espressif/esp-idf/issues/15680
2025-04-08 15:14:23 +05:30
76f777c0e5 feat(heap): Update to latest TLSF
- this new version of TLSF uses uintptr_t instead of unsigned int
  casting in tlsf_malloc_addr to allow proper use of the function
  on 64bit targets.
2025-04-08 10:51:11 +02:00
7f2814a0da fix(esp_wifi): Flush PMK when EAP config is changed 2025-04-08 12:45:00 +05:30
d4f73e7eac docs: Add RF performance and revise EN 2025-04-08 15:13:33 +08:00
c4f592679b feat(wifi): Enable bss max idle support on all chips
- Fix issues in Max Idle period negotiation and protected keep alive
- Add BSS Max Idle config in SoftAP config and create a feature flag
- Add a unit test case to test both STA and SoftAP implementation
2025-04-08 12:40:15 +05:30
bd7814c93a fix(console): Default read_func to the read function
To make sure the static function pointer read_func is never NUL,
set its default value to th read function instead of setting it
to NULL pointer.
2025-04-08 08:52:47 +02:00
6b4f08c1dc Merge branch 'refactor/twai_driver' into 'master'
refactor(twai): adjust source file layout

Closes IDF-10260

See merge request espressif/esp-idf!38233
2025-04-08 14:04:10 +08:00
9707baf05c Merge branch 'feat/httpd_uri_handler_doc_update' into 'master'
feat(esp_http_server): Added httpd URI handler docs

See merge request espressif/esp-idf!37560
2025-04-08 13:59:49 +08:00
7daa7c8e0e Merge branch 'feat/esp32h21_system_sleep_cpu' into 'master'
Stage 4: Support esp32h21 CPU domain power down and retention

Closes PM-351

See merge request espressif/esp-idf!37510
2025-04-08 13:55:29 +08:00
f407fab479 Merge branch 'feat/support_gptimer_on_h4' into 'master'
feat(gptimer): support gptimer on esp32h4

Closes IDF-12373 and IDF-12374

See merge request espressif/esp-idf!38168
2025-04-08 13:46:49 +08:00
83cb9d73b9 Merge branch 'feature/add_test_to_verify_chip_revision_while_performing_ota' into 'master'
feat: updated check for chip revision and added testcase

Closes IDF-12587

See merge request espressif/esp-idf!37546
2025-04-08 13:46:45 +08:00
1bb28afe8e fix(esp_hw_support): fix esp_sleep_enable_timer_wakeup API code coverity 2025-04-08 13:44:28 +08:00
4bfb897556 Merge branch 'feature/update-gdb-to-16.2_20250324' into 'master'
feat(tools): update gdb version to 16.2_20250324

See merge request espressif/esp-idf!38014
2025-04-08 12:29:05 +08:00
34280444d7 Merge branch 'feat/bitscrambler_rmt' into 'master'
feat(rmt): play the BitScrambler as an RMT encoder

Closes IDF-12018

See merge request espressif/esp-idf!37542
2025-04-08 11:51:19 +08:00
a70fe45379 Merge branch 'fix/twai_driver_test_add_pytest' into 'master'
fix(driver_twai): test app add pytest script

See merge request espressif/esp-idf!38219
2025-04-08 11:26:50 +08:00
2ed9f22731 fix(docs): update max data length in espnow doc 2025-04-08 10:51:38 +08:00
826c4a098a feat(docs): update connectionless module window syncronization documentation 2025-04-08 10:48:48 +08:00
2cbc297969 refactor(gptimer): use group_id in clock ctrl functions 2025-04-08 10:20:48 +08:00
faacaaaf8f feat(gptimer): support gptimer on esp32h4 2025-04-08 09:55:42 +08:00
0b20847e2d fix(esp_wifi): Increase WPS timeout 2025-04-08 00:23:52 +08:00
177c542be3 Merge branch 'fix/fix-test-socks-transport' into 'master'
fix(tcp_transport): Fix test for socks transport

Closes IDFCI-2781

See merge request espressif/esp-idf!38045
2025-04-07 22:34:34 +08:00
bbf7f9b2a7 fix(esp_wifi): Code cleanup for PR#15550 PR#15551
Closes https://github.com/espressif/esp-idf/pull/15550
Closes https://github.com/espressif/esp-idf/pull/15551
2025-04-07 19:38:11 +05:30
a49054353f refactor(twai): adjust source file layout 2025-04-07 21:49:18 +08:00
410e138db4 Merge branch 'feature/wifi_support_regdomain' into 'master'
feat(wifi):wifi support regdomain

See merge request espressif/esp-idf!31441
2025-04-07 20:21:10 +08:00
afccb78720 fix(ledc): align ledc register typo with TRM 2025-04-07 19:54:56 +08:00
dd72141b78 fix(uart): add check for malloc in uart examples
Closes https://github.com/espressif/esp-idf/issues/13405
2025-04-07 19:54:56 +08:00
b5587f0b4f fix(uart): fix nmea0183 example wrong knots to m/s unit conversion
Closes https://github.com/espressif/esp-idf/issues/15695
2025-04-07 19:54:56 +08:00
4639b465e7 docs: Correct translation error and typo 2025-04-07 18:49:56 +08:00
54eb749fd2 feat: updated check for chip revision and respective testcases
This commit have updated check for max chip revision along with min chip revision.
Also added qemu based pytest to verify chip revision while performing OTA.
2025-04-07 18:18:16 +08:00
c3f422348d feat(rmt): support bitscrambler as a RMT encoder 2025-04-07 18:13:03 +08:00
a06dfd5f19 feat(rmt): allow the encoder to emit the EOF marker 2025-04-07 17:32:16 +08:00
b7ed8a59ba fix: Force validate when using the default crt bundle 2025-04-07 14:41:56 +05:30
1cfc4a4ede feat: Add domain match to wifi_enterprise example 2025-04-07 14:41:39 +05:30
4f3e64331b Merge branch 'contrib/github_pr_14909' into 'master'
fix(esp-tls): Remove useless const from size paramter (GitHub PR)

Closes IDFGH-14099

See merge request espressif/esp-idf!36828
2025-04-07 16:48:32 +08:00
d69378cdd5 Merge branch 'update/nvs_example' into 'master'
refactor(nvs_examples): refactor nvs storage examples and add nvs_console example

See merge request espressif/esp-idf!37978
2025-04-07 16:27:06 +08:00
241afda29e Merge branch 'bugfix/fix_ble_controller_only_error_if_hci_uart_enabled' into 'master'
fix(ble/controller): Fixed controller flash only bug if hci-uart is enabled

Closes BLERP-1696 and BLERP-1703

See merge request espressif/esp-idf!38001
2025-04-07 16:00:44 +08:00
513385654c fix(driver_twai): test app add pytest script 2025-04-07 15:45:11 +08:00
5f3097f260 Merge branch 'feature/add_profile_stat' into 'master'
feat(bt): Add API to get profile status

Closes BTQABR2023-432

See merge request espressif/esp-idf!36854
2025-04-07 15:39:03 +08:00
2848e999df feat(esp_wifi): Implement esp_eap_client_set_domain_match 2025-04-07 13:04:33 +05:30
cceb2c49b1 feat(wifi): wifi support regdomain for both 2.4G and 5G 2025-04-07 15:27:40 +08:00
6a633f3ed0 Merge branch 'bugfix/sae_send_confirm' into 'master'
fix(esp_wifi): Fix send_confirm according to specification provided by IEEE 802.11

See merge request espressif/esp-idf!37868
2025-04-07 14:06:34 +08:00
49a35ff0b7 fix(nimble): Fixed one missing ble_hs_unlock() 2025-04-07 09:37:38 +05:30
1c468f6825 Merge branch 'bugfix/handle_invalid_rd_rem_feat' into 'master'
fix(nimble): Handle connection posting condition

Closes BLERP-1722

See merge request espressif/esp-idf!38210
2025-04-07 11:49:59 +08:00
7e401a8bec Merge branch 'refactor/esp_security_clk_cfg' into 'master'
refactor(esp_security): Introduce dedicated APIs for crypto clock configuration

See merge request espressif/esp-idf!37448
2025-04-06 21:32:42 +08:00
a0c707e539 Merge branch 'contrib/github_pr_15715' into 'master'
fix(esp_http_client): fix error return when set_header has value==NULL (GitHub PR)

Closes IDFGH-15024 and IDFGH-15023

See merge request espressif/esp-idf!38246
2025-04-06 19:24:27 +08:00
c263a3f9c5 Merge branch 'contrib/github_pr_15288' into 'master'
Improve httpd string value fetching efficiency (GitHub PR)

Closes IDFGH-14524

See merge request espressif/esp-idf!37301
2025-04-06 19:17:28 +08:00
9c4c366d61 fix(esp_http_client): Added test case to verify set header functionality
This commit added testcase to verify esp_http_client_set_header
allows header value as NULL. Setting this NULL will delete the header.

Closes https://github.com/espressif/esp-idf/issues/15714
2025-04-04 21:00:45 +05:30
a6ebbb16e2 Merge branch 'docs/fetch-all-tags-while-deploying' into 'master'
docs: fetch all tags while deploying

Closes IDFCI-2833

See merge request espressif/esp-idf!37674
2025-04-04 22:16:51 +08:00
42e49ead0b docs(esp_http_server): Updated the zh_CN esp_http_server.rst 2025-04-04 17:34:36 +05:30
4a47cf803c feat(esp_http_server/httpd_parse): Cosmetic changes in httpd_parse.c
Removed the unused variable buf_len
2025-04-04 16:45:11 +05:30
752701496a Merge branch 'bugfix/replace_sizeof_with_strlen' into 'master'
fix(nimble): Replaced incorrect sizeof with strnlen

Closes IDF-12691

See merge request espressif/esp-idf!37794
2025-04-04 19:04:12 +08:00
3c59f9e682 fix(esp_http_client): fix error return when set_header has value==NULL
Prior to v5.4, headers could be deleted from an HTTP client by calling
esp_http_client_set_header("Header", NULL). This pattern is used by
esp_http_client_set_post_field(NULL, 0), which is the only API usage
that will delete the request body in a persistent connection scenario.
2025-04-04 06:32:16 -04:00
24df1d2128 Merge branch 'fix/example-tusb-msc-console-exit' into 'master'
fix(tinyusb): Update console exit mechanism in tusb_msc example

Closes IDF-12791

See merge request espressif/esp-idf!38172
2025-04-04 14:05:55 +08:00
e4e2a83e2f Merge branch 'fix/console-deinit-deadlock' into 'master'
fix(console): Deadlock on console deletion

Closes IDFGH-9188, IDFGH-8520, and IDF-6906

See merge request espressif/esp-idf!30920
2025-04-04 13:56:03 +08:00
bd314c2460 refactor(esp_tee): Update the SHA clock configuration service call 2025-04-04 10:31:28 +05:30
3e95020c59 refactor(esp_security): Introduce dedicated APIs for crypto clock configuration 2025-04-04 10:31:27 +05:30
6658d081e2 Merge branch 'feature/ecdsa_op_w_tee_sec_stg' into 'master'
feat(esp_tee): Add support for mbedtls ECDSA signing with TEE secure storage

Closes IDF-12183

See merge request espressif/esp-idf!37217
2025-04-04 12:47:53 +08:00
ccf7178582 Merge branch 'fix/examples_python3.13_ssl_conn_failure' into 'master'
Change in Python3.13's default ssl context caused SSL connection failure

See merge request espressif/esp-idf!38175
2025-04-04 12:30:05 +08:00
b077caeebc refactor(examples/storage): update document links 2025-04-03 14:21:11 +02:00
da316111c9 Merge branch 'fix/fix_l2_cache_miss_issue' into 'master'
cache: fixed l2 cache suspended/frozen but l1cache triggers l2 writeback issue

Closes IDF-12717

See merge request espressif/esp-idf!37967
2025-04-03 19:50:26 +08:00
e49d5914b0 Merge branch 'refactor/sae_pt_flag' into 'master'
refactor(wifi) : Add SAE-H2E config flag and optimize wifi bin size for STA/SoftAP mode

See merge request espressif/esp-idf!36959
2025-04-03 18:58:14 +08:00
f1ff9e1afc refactor(examples/storage): add nvs_console example 2025-04-03 12:39:20 +02:00
24065c6bbd refactor(examples/storage): update nvs_rw_blob and nvs_rw_value examples 2025-04-03 12:39:20 +02:00
e4e56a4687 refactor(examples/storage): move all the nvs examples to 'examples/storeage/nvs' directory 2025-04-03 12:39:20 +02:00
4602665e5d fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(a684dd5)
- Fixed clear legacy adv error when adv not exist
- Disable anonymous extended adv reporting
- Fixed BLE assert lld_adv.c 2992
- Fixed heap assert due to adv data buffer double freeing
- Fixed BLE 0x08 disconnect when the win size is greater than half of the conn interval
2025-04-03 18:11:18 +08:00
3fd107aa04 feat(mbedtls): Add support for ECDSA signing with TEE secure storage 2025-04-03 15:35:15 +05:30
1e8933d296 feat(esp_tee): Add support for SECP192R1 curve in TEE secure storage 2025-04-03 15:35:14 +05:30
1e30aa74b5 Merge branch 'feat/h21_spi_driver_support' into 'master'
feat(driver_spi): h21 spi driver support

Closes IDF-11583 and IDF-11587

See merge request espressif/esp-idf!37442
2025-04-03 16:15:14 +08:00
a25e7ab59e Merge branch 'docs/parlio_tx_programming_guide' into 'master'
docs(parlio_tx): add programming guide

Closes IDF-11934

See merge request espressif/esp-idf!36298
2025-04-03 16:13:29 +08:00
8f0e9f038b fix(tinyusb): Update console exit mechanism in tusb_msc example 2025-04-03 10:06:59 +02:00
30f8b59ed0 feat(console): Make console deinit optional 2025-04-03 10:06:01 +02:00
8a89dc0b9c feat(vfs): Add linux target support for esp_vfs_eventfd 2025-04-03 10:06:01 +02:00
203b3b5a4e fix(console): Memory leaks after deinit 2025-04-03 10:06:01 +02:00
5b2f2e05f3 fix(console): add ability to unblock linenoise, to fix deadlock
Closes https://github.com/espressif/esp-idf/pull/10580
Closes https://github.com/espressif/esp-idf/issues/9974
2025-04-03 10:06:00 +02:00
2c990a6933 Merge branch 'bugfix/linux_host_test' into 'master'
fix(linux): fix mixed linux host test issues found after CI docker image upgrade

Closes IDFCI-2784

See merge request espressif/esp-idf!38181
2025-04-03 15:14:21 +08:00
f7218f7782 Merge branch 'bugfix/fixed_c2eco4_ble_crash_issue' into 'master'
fix(ble): fixed a heap assertion issue when enabling BLE for esp32c2 v2.0

Closes BT-3990

See merge request espressif/esp-idf!38207
2025-04-03 14:42:17 +08:00
07540f3253 refactor(wifi): Add SAE PT config flag and optimize wifi bin size for sta mode 2025-04-03 10:00:28 +05:30
9221c4eecd fix(examples): Example CA certs must contain the Key Usage parameter
- Example CA certificates that are used for self-signed client certificates
need to include the Key Usage parameter.
- Python3.13 changed the default context of the SSL context that is
generated using ssl.create_default_context() by enabling the VERIFY_X509_STRICT
flag by default
2025-04-03 09:20:35 +05:30
83c09991b8 refactor(driver_spi): test apps merge duplicat cases using soft spi 2025-04-03 11:29:19 +08:00
487a306cdd docs(parlio_tx): add programming guide 2025-04-03 11:28:13 +08:00
51873d46aa feat(driver_spi): add h21 spi drivers supports 2025-04-03 11:27:29 +08:00
8994f8fe70 feat(spi_flash): add support gpspi ext_flash 2025-04-03 11:27:13 +08:00
fcbe493070 Merge branch 'feature/add_txrx_frame_dump_debugging' into 'master'
feat(802.15.4): supported tx/rx frame dumping

See merge request espressif/esp-idf!37983
2025-04-03 09:52:42 +08:00
88cb3f7e7a fix(nimble): Handle connection posting condition 2025-04-02 21:33:52 +05:30
30d72dbd5d fix(nimble): Replaced incorrect sizeof with strnlen 2025-04-02 20:59:01 +05:30
ccd99874a7 Merge branch 'docs/monitor_ch9102_issue' into 'master'
docs(tools/idf-monitor): add note about CH9102 USB-to-UART bridge issue on Windows

Closes IDFGH-14892

See merge request espressif/esp-idf!38149
2025-04-02 23:02:00 +08:00
8a98144711 Merge branch 'bugfix/fix_negotiated_bandwidth_not_correct' into 'master'
fix(wifi): fix some bugs related to 5g

Closes WIFIBUG-1093, WIFIBUG-1094, and WIFIBUG-1102

See merge request espressif/esp-idf!37782
2025-04-02 20:51:33 +08:00
92bbf22579 fix(ble): fixed a heap assertion issue when enabling BLE for esp32c2 v2.0 2025-04-02 20:39:05 +08:00
0d3dcf396f docs: Update CN translation 2025-04-02 19:18:12 +08:00
f945dae618 Merge branch 'contrib/github_pr_15247' into 'master'
refactor(components/fatfs): replace assert expression (GitHub PR)

Closes IDFGH-14473

See merge request espressif/esp-idf!38194
2025-04-02 18:21:55 +08:00
46be72437b fix(cache): fixed l2 cache suspended/frozen but l1cache triggers l2 writeback issue 2025-04-02 18:03:43 +08:00
ebce43facd fix(wifi): fix some wifi bugs related to 5g 2025-04-02 16:28:39 +08:00
01ce024636 Merge branch 'feat/disable_power_glitch_in_sleep' into 'master'
feat(esp_hw_support): disable power glitch detector in PD_TOP lightsleep for esp32c5 & esp32c61

See merge request espressif/esp-idf!37638
2025-04-02 16:05:02 +08:00
aa6c645c32 test(app_format): fixed buffer overflow in esp_app_format test 2025-04-02 16:00:01 +08:00
ebb6c4caae Merge branch 'fix/fix_sleep_reject_on_esp32' into 'master'
fix(esp_hw_support): fix short duration sleep requests rejected in pd_flash lightsleep

Closes PM-382

See merge request espressif/esp-idf!37878
2025-04-02 15:58:30 +08:00
6061a98b33 docs(tools/idf-monitor): add note about CH9102 USB-to-UART bridge issue on Windows
Closes https://github.com/espressif/esp-idf-monitor/issues/26
2025-04-02 08:56:57 +02:00
f8ecc4885d Merge branch 'fix/i2c_customize_read' into 'master'
fix(i2c): Fix i2c customize only read one byte issue

Closes IDFGH-14986

See merge request espressif/esp-idf!38142
2025-04-02 14:47:46 +08:00
25cd10ce53 Merge branch 'feat/c5_twaifd_new_driver_c5_only' into 'master'
feat(driver_twai): c5 twaifd new driver (part_1, c5 only)

Closes IDF-8691 and IDF-8692

See merge request espressif/esp-idf!37271
2025-04-02 14:39:27 +08:00
54238257af Merge branch 'refactor/improve_p4_psram_timing_tuning_point_selection' into 'master'
mspi: improve p4 psram timing tuning point selection

See merge request espressif/esp-idf!38169
2025-04-02 14:21:56 +08:00
72a52179d1 Merge branch 'refactor/rtcio_use_gpio_int_type' into 'master'
refactor(gpio): reuse gpio_int_type_t in the LP GPIO driver

See merge request espressif/esp-idf!38072
2025-04-02 13:13:04 +08:00
zwx
d6996bd49c feat(802.15.4) add a build CI test for debugging feature 2025-04-02 12:09:05 +08:00
37ce74af51 Merge branch 'fix/s2_adc_cali_loss_resolution' into 'master'
fix(adc): fix s2 cali loss resolution

Closes IDFGH-14972

See merge request espressif/esp-idf!38171
2025-04-02 11:53:07 +08:00
97ae78e1f1 test(heap): fixed align_alloc issues in host test 2025-04-02 11:40:34 +08:00
b3f52511e0 ci(linux): re-enable failures for test_pytest_linux jobs 2025-04-02 11:20:15 +08:00
3ba486a02e test(log): fixed buffer overflow in log host test fixture 2025-04-02 11:19:33 +08:00
dbe3c11105 Merge branch 'fix/some_issues_in_bt_controller' into 'master'
fix(bt): fixed some issues in bt controller

Closes BT-3982

See merge request espressif/esp-idf!38139
2025-04-02 09:25:37 +08:00
5c51472e82 Merge branch 'bugfix/linux_cert_bundle_build_warn' into 'master'
fix(tools): suppress GNU bin-utils warning about executable stack

Closes IDFCI-2819

See merge request espressif/esp-idf!38109
2025-04-01 23:56:43 +08:00
9bdd5e35dd test(driver_twai): new driver add test case 2025-04-01 20:17:12 +08:00
043c46b4f4 feat(driver_twai): add new driver based on c5 twaifd 2025-04-01 20:17:09 +08:00
zwx
7af2f35137 feat(802.15.4): supported tx/rx frame dumping 2025-04-01 19:52:06 +08:00
21f59bd030 Merge branch 'feat/update_mbedtls_3.6.3' into 'master'
feat(component/mbedtls): update to upstream v3.6.3

Closes IDF-12730

See merge request espressif/esp-idf!38041
2025-04-01 18:38:12 +08:00
122d122c64 refactor(gpio): reuse gpio_int_type_t in the rtc io driver 2025-04-01 18:21:57 +08:00
3f9f2187ab fix(adc): fix s2 cali loss resolution 2025-04-01 17:19:11 +08:00
1a6c9d7c15 feat(bt): Add API to get profile status 2025-04-01 16:14:19 +08:00
bf28df995b Merge branch 'feat/update_ot_upstream' into 'master'
feat(openthread): revert to OT upstream main branch

See merge request espressif/esp-idf!38164
2025-04-01 16:03:33 +08:00
d0e78347a4 refactor(mspi): improve p4 timing tuning delayline configurations 2025-04-01 15:50:15 +08:00
9b989f5651 refactor(mspi): improved timing tuning max consecutive success points calculation 2025-04-01 15:49:45 +08:00
918e1823f4 Merge branch 'contrib/github_pr_15637' into 'master'
fix(esp_eth): Fix order of fields in ETH_ESP32_EMAC_DEFAULT_CONFIG on P4 (GitHub PR)

Closes IDFGH-14928

See merge request espressif/esp-idf!37979
2025-04-01 15:06:14 +08:00
cc4fc21bfe Merge branch 'bugfix/reattempt_sync_failed_unlock' into 'master'
fix(nimble): Added ble_hs_unlock for resync failed

Closes BLERP-1705

See merge request espressif/esp-idf!38085
2025-04-01 14:31:23 +08:00
85a048f36b feat(openthread): revert to OT upstream main branch 2025-04-01 12:01:51 +08:00
37c3ed6320 Merge branch 'bugfix/fix_xtal32k_bug_c61' into 'master'
bugfix(esp32c61): fix xtal32k may fail startup issue

See merge request espressif/esp-idf!38002
2025-04-01 11:42:10 +08:00
3158443b03 fix(i2c): Fix i2c customize only read one byte issue 2025-04-01 11:03:54 +08:00
96244e0849 Merge branch 'feature/bt_support_external_codec' into 'master'
feat(bt/bluedroid): Support external codec in Bluedroid HFP and A2DP

Closes BT-3937

See merge request espressif/esp-idf!36607
2025-04-01 10:34:23 +08:00
c3a3cc8657 Merge branch 'feat/h4_enable_ci_build' into 'master'
feat(esp32h4): enable ESP32H4 ci build

Closes IDF-12332

See merge request espressif/esp-idf!37921
2025-03-31 23:49:48 +08:00
32875d5a66 fix(tools): suppress GNU bin-utils warning about executable stack
Newer GNU bin-utils version 2.39 has started emitting a warning
about an executable stack region for Linux target build:

/usr/bin/ld: warning: x509_crt_bundle.S.o: missing .note.GNU-stack section implies executable stack

Fix the issue by adding appropriate "noexecute" attribute for stack
section.
2025-03-31 19:15:36 +05:30
201e4f3eb3 Merge branch 'ci/ruff' into 'master'
Enable ruff for all python files

Closes IDF-9084

See merge request espressif/esp-idf!38044
2025-03-31 20:41:37 +08:00
c5b741ea5f Merge branch 'ci/update_esp-env-v5.5_to_ubuntu_24.04_fixed' into 'master'
5.5: Update ubuntu base image for esp-env-v5.5 to 24.04, with fixed pipelines

Closes RDT-993

See merge request espressif/esp-idf!37959
2025-03-31 20:11:57 +08:00
4a1ea4b725 5.5: Update ubuntu base image for esp-env-v5.5 to 24.04, with fixed pipelines 2025-03-31 20:11:57 +08:00
b5b2fbc87d feat(fatfs/diskio): Remove const from PARTITION VolToPart
Closes https://github.com/espressif/esp-idf/issues/14148
2025-03-31 13:35:39 +02:00
8a0e310d75 Merge branch 'bugfix/i2c_slave_auto_selection' into 'master'
fix(i2c): Fix i2c slave auto selection issue

Closes IDFGH-14935

See merge request espressif/esp-idf!38061
2025-03-31 16:48:50 +08:00
8e52ac8590 Merge branch 'feat/support_blecrt_359' into 'master'
Support BLE vendor hci set rx sensie and max gain on esp32c3

Closes BLERP-1575

See merge request espressif/esp-idf!37062
2025-03-31 16:47:07 +08:00
231226c002 fix(bt): fixed some issues in bt controller
- add check for Wi-Fi channel
- fix the incorrect unit of duration_min in cpb tx
- recalculate the channel map when afh is enabled
- fix incorrect vendor event count causing an assertion failure
2025-03-31 14:49:58 +08:00
84bfea455f Merge branch 'bugfix/check_i2s_minimum_sample_freq' into 'master'
fix(i2s): add check for the minimum sample rate

Closes IDFGH-14952

See merge request espressif/esp-idf!38108
2025-03-31 14:19:04 +08:00
2ee8c066bf Merge branch 'feature/uart_autoband_detect' into 'master'
feat(uart): add uart_detect_bitrate_bps API for data line bitrate measurement

Closes IDFGH-13876, IDF-12195, and IDFGH-14709

See merge request espressif/esp-idf!36620
2025-03-31 12:08:38 +08:00
8742bbe553 feat(bt): Update bt lib for ESP32-C3 and ESP32-S3(566c8e3)
- Support BLE vendor hci set RX sensitivity and AGC gain command
2025-03-31 11:23:54 +08:00
f958eb7a4e Merge branch 'bugfix/fix_coexqabr25_52' into 'master'
fix(bt/bluedroid): Fixed BLE connection active count getting

Closes BLERP-1583

See merge request espressif/esp-idf!37167
2025-03-31 11:20:32 +08:00
79eb59dc7b Merge branch 'feature/support_sco_coexist' into 'master'
feat(coex): Support BR/EDR (e)SCO and Wi-Fi coexistence

Closes BT-3978

See merge request espressif/esp-idf!37722
2025-03-31 10:36:08 +08:00
e2f50bea42 Merge branch 'ci/add_test_for_ecos_wifi_enterprise' into 'master'
CI: add C3 eco7 and C2 eco4 tests for wifi

See merge request espressif/esp-idf!37759
2025-03-31 10:10:56 +08:00
6e1f071618 Merge branch 'fix/periodic_adv_example' into 'master'
fix(nimble):Fix conversion for min-max itvl of periodic adv param

See merge request espressif/esp-idf!38042
2025-03-29 19:45:37 +08:00
decbd36008 Merge branch 'contrib/github_pr_15656' into 'master'
fix(nvs_flash): removed usage of 'using namepsace std' in a header file (GitHub PR)

Closes IDFGH-14947

See merge request espressif/esp-idf!38086
2025-03-28 22:02:19 +08:00
1354037bc7 feat(ble/bluedroid): report cte_type in periodic adv report if CTE feature is enabled 2025-03-28 21:52:09 +08:00
8012834e2b fix(bt/controller): Fixed controller flash only bug if hci-uart is enabled 2025-03-28 21:52:09 +08:00
be6e24370f fix(storage/nvf_flash): fixup additions from PR 2025-03-28 12:57:33 +01:00
a5f620ecfe fix(examples): Fix deprecation warning in a2dp_gatts_coex example 2025-03-28 19:45:18 +08:00
f412cf458b feat(coex): Support BR/EDR (e)SCO and Wi-Fi coexistence 2025-03-28 19:27:24 +08:00
96ff542397 Merge branch 'contrib/github_pr_15300' into 'master'
fix(transport_ws): remove unnecessary noise from error message (GitHub PR)

Closes IDFGH-14538

See merge request espressif/esp-idf!37079
2025-03-28 19:02:03 +08:00
9d33cd4947 feat(i2s): add bclk_div config for std mode 2025-03-28 18:21:15 +08:00
7dd1f9eb41 fix(i2s): add check for the minimum sample rate
Closes https://github.com/espressif/esp-idf/issues/15659
2025-03-28 18:21:08 +08:00
3ab1ddaab5 Merge branch 'feat/read_only_nvs' into 'master'
feat(nvs): Allow read-only NVS partitions smaller than 0x3000

Closes IDFGH-14558

See merge request espressif/esp-idf!36767
2025-03-28 17:49:08 +08:00
00293d7a40 Merge branch 'fix/wps_regression_due_to_nvs_pmk_refactor' into 'master'
fix(wifi): Fix connection failure for WPA-PSK/WPA2-PSK keymgmt when password is changed

Closes WIFIBUG-1086 and WIFIBUG-1118

See merge request espressif/esp-idf!37853
2025-03-28 17:36:08 +08:00
a7d99f9204 fix(wifi): Fix connection failure for WPA-PSK keymgmt when password is changed
Fixes the regression introduced by 3d5bf355c3
2025-03-28 13:50:42 +05:30
2ff1985478 Merge branch 'bugfix/fix_i2s_assign_and_check_sequence' into 'master'
fix(i2s): fixed i2s inappropriate check and assign sequence

Closes IDFGH-14939

See merge request espressif/esp-idf!38013
2025-03-28 16:15:30 +08:00
b71556a976 fix(i2c): Fix i2c slave auto selection issue,
Closes https://github.com/espressif/esp-idf/issues/15644
2025-03-28 16:06:32 +08:00
b126ebb596 feat(mbedtls): new config to allow weak cert verification 2025-03-28 15:46:48 +08:00
1785e1d329 refactor(flash): spilt flash cap in esp_rom 2025-03-28 15:04:25 +08:00
b38ac5ad82 feat(uart): add uart_detect_bitrate_bps API for data line bitrate measurement
Closes https://github.com/espressif/esp-idf/issues/14721
2025-03-28 15:03:19 +08:00
01c9407bb6 fix(uart): correct C3/S3 module enable porcedure to avoid undesired line noise 2025-03-28 15:03:19 +08:00
35b46448a9 fix(sleep): uart suspend/flush should also check if port is enabled on esp32 2025-03-28 15:03:19 +08:00
b9b95cef37 docs(uart): improve set/get baud rate API docs
Closes https://github.com/espressif/esp-idf/issues/15449
2025-03-28 15:03:19 +08:00
a67554d032 fix(uart): fixed coverity ininitialized scalar variable in uart_tcgetattr 2025-03-28 15:03:19 +08:00
1f54af8186 Merge branch 'docs/esp_tee_logo' into 'master'
docs(esp_tee): Add the ESP-TEE logo to the TEE documentation

See merge request espressif/esp-idf!37948
2025-03-28 14:43:30 +08:00
6c4271d4bb feat(esp32h4): disable unsupported build 2025-03-28 14:41:29 +08:00
c34b4eb882 feat(esp32h4): enable ESP32H4 ci build 2025-03-28 14:41:28 +08:00
3314f81672 fix(nimble): Fix conversion for min-max itvl of periodic adv param 2025-03-28 14:18:17 +08:00
d11be52064 feat(examples): Add kconfig option for a2dp_sink example to use new audio APIs 2025-03-28 14:13:20 +08:00
3da17f356c change(examples): Update hfp_hf example to use new audio APIs 2025-03-28 14:13:20 +08:00
74fab3a7b1 refactor(bt/bluedroid): Refactor a2dp audio data path
- Refactor audio APIs, optimize audio data path, reduce memory copy operations
- Support using external codec in application layer
- The internal codec will not be compiled if not use
2025-03-28 14:13:20 +08:00
eda7ea3f49 refactor(bt/bluedroid): Refactor hfp audio data path
- Refactor audio APIs, optimize audio data path, reduce memory copy operations
- Support using external codec in application layer
2025-03-28 14:13:20 +08:00
4fe1529fd4 Merge branch 'bugfix/ieee80211w_kde_add_out_of_bound' into 'master'
Resolve out-of-bounds memory access in ieee80211w_kde_add

Closes IDF-12728 and IDF-12729

See merge request espressif/esp-idf!38037
2025-03-28 13:58:51 +08:00
0291bee0ff feat(mbedtls): update to version 3.6.3 2025-03-28 13:03:12 +08:00
a5eca671c3 docs(esp_tee): Add the ESP-TEE logo to the user-guide 2025-03-28 09:54:46 +05:30
ad14f116c4 Merge branch 'bugfix/psram_cmake_3_16_error' into 'master'
fix(build): fixed build error when compiling with cmake 3.16

Closes IDF-12739

See merge request espressif/esp-idf!38090
2025-03-28 12:24:26 +08:00
ab7200294f Merge branch 'fix/ot_update_include' into 'master'
fix(openthread): change include statement to updated upstream path

See merge request espressif/esp-idf!38089
2025-03-28 11:48:58 +08:00
364ad261f8 fix(openthread): change include statement to updated upstream path 2025-03-28 11:12:20 +08:00
d0e555a0b4 fix(build): fixed build error when compiling with cmake 3.16 2025-03-28 10:51:35 +08:00
d5b052014c Merge branch 'fix/i2c_stretch_probe' into 'master'
fix(i2c_master): Fix the stretch happen cause timeout in probe

Closes IDFGH-14869

See merge request espressif/esp-idf!37975
2025-03-28 10:36:22 +08:00
21ca2378cb Merge branch 'bugfix/fix_some_ble_bugs_2503' into 'master'
Bugfix/fix some ble bugs 2503

Closes BLERP-1678, BLERP-1679, BLERP-1680, BLERP-1681, BLERP-1683, BLERP-1685, and BLERP-1687

See merge request espressif/esp-idf!37930
2025-03-28 10:31:42 +08:00
fb0a087ded Merge branch 'bugfix/sec_service_record_conn_fail' into 'master'
fix(bt/bluedroid): fix the issue of connection failure when initializing multiple profiles

See merge request espressif/esp-idf!38032
2025-03-28 07:43:35 +08:00
31550bb7db fix(nimble): Added ble_hs_unlock for resync failed 2025-03-27 18:22:17 +05:30
fa0a2d997b Merge branch 'fix/newlib-include-missed-test' into 'master'
fix(newlib): include missed test for printf

See merge request espressif/esp-idf!38030
2025-03-27 20:04:27 +08:00
4a6b99bc4a feat(nvs): Optimize read-only NVS loading 2025-03-27 12:42:04 +01:00
806c93e08e change: fix issues reported by ruff 2025-03-27 12:30:23 +01:00
3eed1624cb Merge branch 'feat/update_ot_upstream' into 'master'
feat(openthread): update openthread upstream submodule to support BR DNS resolution

See merge request espressif/esp-idf!36513
2025-03-27 18:53:47 +08:00
4e673844bf Merge branch 'refactor/usb_host_test_ext_hub_prereq' into 'master'
refactor(test_apps): Moved usb phy and hcd  to common folder

See merge request espressif/esp-idf!37551
2025-03-27 18:22:25 +08:00
ee98297647 Merge branch 'feat/enable_freertos_smp_for_c5_c61' into 'master'
feat(freertos): Enable Amazon FreeRTOS SMP kernel for esp32c5 and esp32c61

See merge request espressif/esp-idf!37933
2025-03-27 18:07:11 +08:00
a3864c088d Merge branch 'fix/usb-host-device-close-err-give-semaphore' into 'master'
fix(usb_host): Give semaphore on attempted close of non-opened device

See merge request espressif/esp-idf!37985
2025-03-27 18:02:15 +08:00
de6206ed3a ci: use ruff for formatting and linting all python files 2025-03-27 10:44:27 +01:00
8e591a2128 Merge branch 'feat/parlio_use_gdma_eof' into 'master'
feat(parlio_tx): support loop transmission

Closes IDF-8223 and IDF-11397

See merge request espressif/esp-idf!35733
2025-03-27 17:10:59 +08:00
5ba12ea922 Merge branch 'feat/freertos_move_funcs_to_flash' into 'master'
feat(freertos): Add config to move additional functions into flash

Closes IDF-11428

See merge request espressif/esp-idf!37555
2025-03-27 17:10:00 +08:00
16ba8f892d Merge branch 'feature/add_vendor_ble_cmd_definitions' into 'master'
Feature/add vendor ble cmd definitions

Closes BLERP-1684 and BLERP-1661

See merge request espressif/esp-idf!37598
2025-03-27 17:06:15 +08:00
574d2eebd7 Merge branch 'fix/bootloader_sha_handle_memory_leak' into 'master'
fix(bootloader_support): Fix sha handle memory leak when returning error

Closes IDF-12735

See merge request espressif/esp-idf!38058
2025-03-27 17:05:06 +08:00
55043e280a feat(ble/bluedroid): Implement BLE channel map reading API 2025-03-27 17:00:16 +08:00
a9286567f0 fix(ble/bluedroid): Fix potential uint32_t overflow in BLE btu_start_timer 2025-03-27 16:59:12 +08:00
6becf74cbb fix(ble/bluedrooid): Fixed memory leak issue when deinit the host 2025-03-27 16:59:12 +08:00
d6bb90b453 feat(bluedroid): Support get bt config path 2025-03-27 16:59:12 +08:00
f291725936 fix(ble/bluedroid): Fix missing event reporting in esp_ble_create_sc_oob_data 2025-03-27 16:59:12 +08:00
9dfa6ab0e9 fix(ble/bluedroid): Fixed BLE crash when disable bluedroid host 2025-03-27 16:59:12 +08:00
6d3bd5df3b Merge branch 'feat/support_bluedroid_host_iso_feature_master' into 'master'
Support bluedroid host new  features

Closes BLERP-1587, BLERP-1588, BLERP-1589, and BLERP-1596

See merge request espressif/esp-idf!37096
2025-03-27 16:44:48 +08:00
a31f487760 Merge branch 'feat/newlib-optimized-misaligned-memory' into 'master'
feat(newlib): riscv: add CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS config option

See merge request espressif/esp-idf!36704
2025-03-27 16:32:01 +08:00
214691bce5 feat(openthread): increase CI timeout for dns CLI commands 2025-03-27 16:08:15 +08:00
2c01990a62 feat(openthread): update thread-lib to support BR DNS resolution 2025-03-27 16:07:59 +08:00
851e869bb2 fix: parttool print subprocess output on fail 2025-03-27 15:50:27 +08:00
674ad565f8 docs: Update CN translation for 2 api files 2025-03-27 15:50:27 +08:00
d8ebca368c feat(nvs): Allow read-only NVS partitions smaller than 0x3000
E.g. for factory settings data

Closes https://github.com/espressif/esp-idf/issues/15317
2025-03-27 15:50:27 +08:00
3157356157 Merge branch 'refactor/rng_ll_c5' into 'master'
refactor(rng): refactor to use hal/ll apis for c5

Closes IDF-12534

See merge request espressif/esp-idf!37601
2025-03-27 15:31:01 +08:00
43e83b8324 fix(i2c_master): Fix the stretch happen cause timeout in probe,
Closes https://github.com/espressif/esp-idf/issues/15589
2025-03-27 14:51:16 +08:00
de44fbb92b Merge branch 'fix/fix_sd_concurrent_test_issue' into 'master'
test(sdmmc): fixed sdmmc concurrent test issue

Closes IDFCI-2821

See merge request espressif/esp-idf!38057
2025-03-27 14:44:07 +08:00
b2a5b967c9 fix(bt/bluedroid): fix the issue of connection failure when initializing multiple profiles
- Due to the number of service security records exceeding the maximum value, the connection failed
2025-03-27 14:07:24 +08:00
73900c2d96 test(sdmmc): fixed sdmmc concurrent test issue 2025-03-27 11:50:35 +08:00
4edd6c1f6d fix(bootloader_support): Fix sha handle memory leak when returning error 2025-03-27 09:18:30 +05:30
caf142563f fix(openthread): update openthread upstream to support BR DNS resolution 2025-03-27 11:06:16 +08:00
6ab8bbd88b Merge branch 'feat/rmt_function_placement_distinguish_tx_rx' into 'master'
refactor(rmt): function placement by tx and rx separately

See merge request espressif/esp-idf!38035
2025-03-27 11:00:15 +08:00
7605727233 Merge branch 'feature/esp_log_flash' into 'master'
feat(log): added option for placing log api in flash

Closes IDF-12522

See merge request espressif/esp-idf!37941
2025-03-27 10:49:32 +08:00
c8800028fa fix(tcp_transport): Fix test for socks transport
- Removed out of scope stack acess
2025-03-26 10:25:28 -03:00
fc418cc782 fix(nvs_flash): removed usage of 'using namepsace std' in a header file 2025-03-26 13:35:33 +01:00
d0f27448ad refactor(usb_host): Made phy and hcd common
fix
2025-03-26 12:49:31 +01:00
35531c6344 fix(newlib): include missed test for printf 2025-03-26 18:44:12 +07:00
a45d713b03 Merge branch 'refactor/unify_bootloader_sha' into 'master'
Unify the bootloader_sha layer

Closes IDF-12704

See merge request espressif/esp-idf!37927
2025-03-26 19:15:25 +08:00
85a88f33f3 Merge branch 'fix/coredump_uart_checksum_error' into 'master'
Fix/coredump uart checksum error

Closes IDF-12696 and IDFGH-14580

See merge request espressif/esp-idf!38031
2025-03-26 18:54:43 +08:00
ec68cb3300 feat(newlib): riscv: add CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS config option
This option replaces implementations of functions from ROM:
  - memcpy
  - memcmp
  - memmove
  - str[n]cpy
  - str[n]cmp

The functions used in the firmware will be better optimized for misaligned
memory. Here are some measurements in CPU cycles for 4096-byte buffers:

  memcpy:  28676 -> 4128
  memcmp:  49147 -> 14259
  memmove: 33896 -> 8086
  strcpy:  32771 -> 17313
  strcmp:  32775 -> 13191
2025-03-26 17:27:24 +07:00
d2c882502d test(coredump): add test to dump dram from uart 2025-03-26 10:00:24 +01:00
86bffdf23b fix(coredump): make sure consistency with uart data and calculated checksum
Closes https://github.com/espressif/esp-idf-monitor/issues/23
2025-03-26 10:00:12 +01:00
f3625b0fb0 Merge branch 'refactor/gpio_reset_pin' into 'master'
refactor(gpio): simplified gpio_reset_pin function to not call gpio_configure

Closes IDFGH-14846 and IDFGH-14880

See merge request espressif/esp-idf!37814
2025-03-26 16:56:27 +08:00
465ff85d2b Merge branch 'ci/update_copyright_checker' into 'master'
ci: Update the copyright checker version to fix an issue

See merge request espressif/esp-idf!38038
2025-03-26 16:25:52 +08:00
ac4f9a5215 ci: Update the copyright checker version to fix an issue 2025-03-26 08:56:46 +01:00
b834886585 fix(i2s): reset the dma buf_size while allocation failed
Closes https://github.com/espressif/esp-idf/issues/15648
2025-03-26 15:25:39 +08:00
bb4eb3ac8b refactor(rmt): function placement by tx and rx separately 2025-03-26 15:22:05 +08:00
6ef7ad67d4 Merge branch 'feat/per-task-peak-usage' into 'master'
feat(heap): Add per task peak heap usage feature

Closes IDF-1811 and IDFGH-11277

See merge request espressif/esp-idf!26462
2025-03-26 15:20:04 +08:00
c0ba361334 Merge branch 'fix/fix_ot_set_mac_framecounter' into 'master'
feat(openthread): add a function to ensure monotonically increasing frame counter

See merge request espressif/esp-idf!37363
2025-03-26 15:18:00 +08:00
28df32358e fix(wifi): Resolve out-of-bounds memory access in ieee80211w_kde_add 2025-03-26 12:42:14 +05:30
32b7347965 feat(rng): add comment of reserved channel in RNG 2025-03-26 14:52:59 +08:00
cb1902af19 Merge branch 'refactor/upgrade_i2s_codec_example_dependency' into 'master'
refactor(i2s_es8311): refactor es8311 example

See merge request espressif/esp-idf!37953
2025-03-26 11:27:16 +08:00
5f6155638d fix(usb_host): Fix return code and description
Changed error code from ESP_ERR_INVALID_STATE to ESP_ERR_NOT_FOUND
when the client never opened the device.
Updated function documentation to correctly reflect return values.
2025-03-25 23:00:56 +01:00
5a0d21a467 refactor(i2s_es8311): remove esp-box bsp support 2025-03-25 19:58:12 +08:00
488e1f88aa Merge branch 'bugfix/separate_the_lr_bit_for_sta_and_softap' into 'master'
fix(wifi/vendor): separate the lr bit in phy mode for station and softAP

Closes IDFGH-8524 and IDFGH-14876

See merge request espressif/esp-idf!37651
2025-03-25 19:32:25 +08:00
602a777dbd Merge branch 'mock/usb_dev_info' into 'master'
mock(usb): Extend USB mock with usb_host_device_info()

See merge request espressif/esp-idf!37952
2025-03-25 17:52:53 +08:00
d429b1fdbb feat(examples): Update heap task tracking examples
update example to showcasee the new API of heap task tracking

- Add basic heap task traacking example
- Add advanced example for task tracking
2025-03-25 10:22:30 +01:00
2217fb81c8 Merge branch 'feat/optimize_cble50y24_111' into 'master'
feat(bt/bluedroid): Added BLE eddystone sender example

Closes BLERP-991

See merge request espressif/esp-idf!34317
2025-03-25 16:46:54 +08:00
b62c29c231 feat(tools): update gdb version to 16.2_20250324 2025-03-25 08:27:05 +00:00
92f3faff41 refactor(i2s_es8311): refactor es8311 example 2025-03-25 16:12:38 +08:00
84fca56744 Merge branch 'fix/fix_wrong_mpll_freq' into 'master'
psram: fix wrong mpll freq

See merge request espressif/esp-idf!37976
2025-03-25 16:11:17 +08:00
980160935b feat(openthread): add a function to ensure monotonically increasing frame counter 2025-03-25 15:30:09 +08:00
914d003c7b test(usb): Extend USB mock with usb_host_device_info()
Also provide mocks for CTRL transfers usb_host_transfer_submit_control()
2025-03-25 08:10:30 +01:00
990fea687d feat(ble/controller): Added memory boundary check for ESP32-C2 2025-03-25 15:09:00 +08:00
11289ffe86 feat(ble/controller): Added memory boundary check for ESP32-C5 2025-03-25 15:08:52 +08:00
66f5d3dd80 feat(ble/controller): Added memory boundary check for ESP32-C61 2025-03-25 15:08:18 +08:00
12c0cd63d3 feat(ble/controller): Added memory boundary check for ESP32-C6 and ESP32-H2 2025-03-25 15:08:06 +08:00
939a153844 feat(bt): added definitions for BR/EDR hci vendor commands and events 2025-03-25 15:07:31 +08:00
d5664c20ad fix(bt): Update bt lib for ESP32(dc1cd581)
- Remove unused functions in the controller
- Add an SDK config for the minimum size of encryption key
2025-03-25 15:07:31 +08:00
e07233bc81 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3 (03d0f8a6)
- Remove unused functions in the controller
2025-03-25 15:07:31 +08:00
a24fdf2892 feat(bt): fixed some doc error and add ocf parameters description 2025-03-25 15:07:31 +08:00
3a71bec278 feat(bt): added definitions for bluetooth hci vendor commands and events 2025-03-25 15:07:31 +08:00
zlq
33e4e718df fix(esp32c61): fix xtal32k may fail startup issue 2025-03-25 15:07:26 +08:00
db13e44255 fix(wifi): fix the noise floor error on ESP32C5
Closes https://github.com/espressif/esp-idf/issues/15594
2025-03-25 14:04:56 +08:00
aa05ae68e1 fix(wifi/vendor): separate the lr bit in phy mode for station and softAP
Closes https://github.com/espressif/esp-idf/issues/9978
2025-03-25 14:04:51 +08:00
5b185da014 Merge branch 'bugfix/fix_esp32_touch_example_task_watchdog_issue' into 'master'
fix(legacy_touch): fixed touch read WDT issue on esp32

Closes IDFGH-14920

See merge request espressif/esp-idf!37974
2025-03-25 12:30:59 +08:00
80f172bb44 Merge branch 'feature/softAP_sae_ext_key' into 'master'
feat(wifi): Add SAE-EXT-KEY feature on softAP

See merge request espressif/esp-idf!35637
2025-03-25 10:24:57 +08:00
d488fb41e6 feat(log): added option for placing log api in flash 2025-03-25 10:07:21 +08:00
82bd44d6f3 Merge branch 'fix/csl_rx_off_when_idle' into 'master'
fix(openthread): turn off rx for SSED running CSL during idle

See merge request espressif/esp-idf!35968
2025-03-25 09:33:45 +08:00
aa669fa25d fix(usb_host): Give semaphore on attempted close of non-opened device
If you call *usb_host_device_close()* for a device that isn't open, the function exits early,
without giving back the semaphore it took, which causes any other call that tries to take
that semaphore to hang indefinitely.

Strangely, there's redundant handling of this condition, with two checks in a row that both handle
the case where `_check_client_opened_device(client_obj, dev_addr)` returns `false`:

```c
    HOST_CHECK_FROM_CRIT(_check_client_opened_device(client_obj, dev_addr), ESP_ERR_NOT_FOUND);
    if (!_check_client_opened_device(client_obj, dev_addr)) {
        // Client never opened this device
        ret = ESP_ERR_INVALID_STATE;
        HOST_EXIT_CRITICAL();
        goto exit;
    }
…
exit:
    xSemaphoreGive(p_host_lib_obj->constant.mux_lock);
    return ret;
```

The first line is the one that exits early, as HOST_CHECK_FROM_CRIT returns its second parameter
if its first parameter is false, without giving back the semaphore (although it does exit
the critical section).

The subsequent block handles the exact same case, except that it ensures the semaphore is given
back before returning. Currently, this block is never reached.

Perhaps the first check was added, then someone noticed the issue and added the second check,
but they forgot to remove the first one.

In any case, this PR removes the first check, so the second check can properly handle this case
by giving back the semaphore before returning.

This bug appears to have been present in the initial commit of the USB Host library to the ESP-IDF
repo: accbaee57c

Of course, if you never try to close a non-opened device, then you won't encounter it!
Unfortunately, I have some code that tried to do that, which is how I found the issue.
2025-03-24 21:58:34 +01:00
4355fc8fbc feat(wifi): Add SAE-EXT-KEY feature on softAP 2025-03-24 20:04:57 +05:30
13953d5e59 Merge branch 'bugfix/pmf_enabled_sae_query' into 'master'
fix(wifi): SA Query responses not transmitted

Closes WIFIBUG-1030

See merge request espressif/esp-idf!36695
2025-03-24 21:27:38 +08:00
fb75c854ce Merge branch 'bugfix/pmksa_null_check' into 'master'
Draft: fix(wifi): Fix crash when set config is called with changed password

Closes IDFGH-14863 and IDFGH-14926

Closes https://github.com/espressif/esp-idf/issues/15635

See merge request espressif/esp-idf!37840
2025-03-24 21:25:34 +08:00
daf8f9edb6 feat(heap): Add feature to get peak heap usage
This feature keeps track of the per task peak memory usage.

- Update the heap_task_tracking example to make use of the new feature
Cleanup the implementation:
- multi_heap_get_free_size() is never used, remove it.
- Minor update in heap_caps_update_per_task_info_xx() funcitons.
- Update settting on block owner in heap_caps.c to work with the
get peak usage feature.

- Update heap_caps_update_per_task_info_free() to detect when it
is called to delete the memory allocated for a task TCB. Mark
the corresponding task in the statistic list as deleted.

- Add a Kconfig option dependant on HEAP_TASK_TRACKING being enabled
that force the deletion of the statistics related to deleted task
when set to true.

- In task tracking feature, add a current and peak memory usage
to the heap_stat_t structure to keep track of the current and
peak memory usage of the given task across all heaps.

- Fix missing block owner when allocating memory for heaps_array
in heap_caps_init.

- Keep the original implementation of the task tracking
for backward compatibility reasons.
2025-03-24 12:08:48 +01:00
253b0e1f9d Merge branch 'feature/usb_host_hcd_binterval_test_case' into 'master'
feature(hcd): Added test cases to verify intr pipe allocation with all possible bInterval

See merge request espressif/esp-idf!37482
2025-03-24 18:32:12 +08:00
a33d709b38 Merge branch 'feat/fix_h2_gpio_ll' into 'master'
Fix H2 gpio_num_t to uint32_t on gpio_ll.h

See merge request espressif/esp-idf!37446
2025-03-24 18:10:05 +08:00
8e4cbdfe36 Merge branch 'feat/configurable_mbedtls_sha1' into 'master'
feat(mbedtls): Make mbedtls SHA1 support configurable

See merge request espressif/esp-idf!37795
2025-03-24 17:38:05 +08:00
ea5c074858 fix(touch): fixed touch read WDT issue on esp32
Closes https://github.com/espressif/esp-idf/issues/15629
2025-03-24 17:25:20 +08:00
71a79ac0b1 feat(freertos): Add config to move additional functions into Flash
This commit adds a new Kconfig option, viz.,
CONFIG_FREERTOS_PLACE_ISR_FUNCTIONS_INTO_FLASH, which places
additional FreeRTOS functions, such as those which can be called from
and ISR context, into Flash memory. This feature utilizes the Flash auto
suspend/resume feature of the Flash chip.
2025-03-24 09:19:28 +01:00
689924724f change(esp_hw_support): cpu domain and retention support for esp32h21 2025-03-24 15:50:20 +08:00
b30b6bd4d3 fix(openthread): add some bugfixes to pass CI pipeline 2025-03-24 15:46:48 +08:00
578c8b8507 Merge branch 'fix/fix_esp32s2_recv_24m_ba_issue' into 'master'
fix(wifi): fix esp32s2 recv 24M BA issue

See merge request espressif/esp-idf!37381
2025-03-24 15:08:06 +08:00
cf524b41a2 fix(psram): fix wrong mpll freq 2025-03-24 15:02:37 +08:00
c567f0f397 Merge branch 'refactor/rmt_split_encoder_files' into 'master'
change(rmt): split rmt encoders into different files

See merge request espressif/esp-idf!37955
2025-03-24 15:00:37 +08:00
aac2e92f14 Merge branch 'feature/ble_5_1_direction_finding_master_20250311' into 'master'
feat: Add Bluetooth LE 5 1 direction finding feature

See merge request espressif/esp-idf!37684
2025-03-24 14:00:57 +08:00
68a6ce3c2a fix(wifi): Fix occasional dropping of SA Query responses by SoftAP 2025-03-24 11:29:19 +05:30
23c73cdc37 Merge branch 'feat/ppp_server_improve' into 'master'
feat(ppp): Allow config PPP DNS servers for peer (GitHub PR)

Closes IDFGH-14720

See merge request espressif/esp-idf!37461
2025-03-24 13:46:15 +08:00
1877605e59 change(rmt): split rmt encoders into different files 2025-03-24 12:23:26 +08:00
720687e698 Merge branch 'docs/add_note_about_twai_instance_install' into 'master'
docs: Add a note about TWAI multiple instances install

Closes DOC-10581

See merge request espressif/esp-idf!37951
2025-03-24 12:04:46 +08:00
e8c48dbd13 Merge branch 'bugfix/usj_wrong_return_value' into 'master'
fix(usb_serial_jtag): wrong return value in usb_serial_jtag_write_bytes

Closes IDFGH-14911

See merge request espressif/esp-idf!37964
2025-03-24 11:46:09 +08:00
3cbd3914fc Merge branch 'bugfix/add_i2s_dma_buf_alloc_check' into 'master'
fix(i2s): add check for i2s DMA buffer array allocation

Closes IDFGH-14890

See merge request espressif/esp-idf!37916
2025-03-24 11:37:38 +08:00
e824091650 Merge branch 'feature/esp_intr_flash' into 'master'
feat(intr): added option for placing intr api in flash

Closes IDF-12523

See merge request espressif/esp-idf!37935
2025-03-24 11:29:38 +08:00
569f97dae5 Merge branch 'bugfix/fix_pbac_free_undef_mem' into 'master'
fix(bt/bluedroid): Fix some bugs in bluedroid

Closes BT-3984

See merge request espressif/esp-idf!37906
2025-03-24 10:44:29 +08:00
7709ec0219 Merge branch 'docs/update_cn_translation_for_core_docs' into 'master'
docs: Update CN translation for core docs for new targets

Closes DOC-10577

See merge request espressif/esp-idf!37942
2025-03-24 10:18:38 +08:00
f468b1e9e3 fix(esp_eth): Fix order of fields in ETH_ESP32_EMAC_DEFAULT_CONFIG on P4 2025-03-23 20:22:25 -04:00
09dbbe4452 refactor(rng): refactor to use hal/ll apis for c5 2025-03-23 17:07:30 +08:00
50be9735b3 Merge branch 'fix/move_slave_hd_isr_able_to_in_flash' into 'master'
fix(driver_spi): make slave_hd isr can place in flash to save iram

Closes IDF-12512

See merge request espressif/esp-idf!37636
2025-03-23 09:24:24 +08:00
db3d7a6790 fix(usb_serial_jtag): wrong return value in usb_serial_jtag_write_bytes
Closes https://github.com/espressif/esp-idf/issues/15620
2025-03-22 23:37:58 +08:00
43aef06e90 fix(driver_spi): make slave_hd isr can place in flash to save iram 2025-03-22 19:32:10 +08:00
6f95f7ff0c Merge branch 'fix/esp_tee_sha_op' into 'master'
fix(esp_tee): Utilize the SHA H/W for hashing operations in the TEE

See merge request espressif/esp-idf!37929
2025-03-22 15:35:12 +08:00
6b1f4fe46c fix(esp_tee): Utilize the SHA H/W for hashing operations in the TEE 2025-03-22 10:02:24 +05:30
135f4e2132 Merge branch 'fix/remove-unused-from-gdbinit_cmake' into 'master'
fix(tools): remove unused variables in gdbinit.cmake

Closes IDFGH-14239

See merge request espressif/esp-idf!37903
2025-03-22 00:11:14 +08:00
1742a982d5 feat(freertos): Enable Amazon FreeRTOS SMP kernel for esp32c5 and esp32c61
This commit enables the Amazon SMP port for FreeRTOS for the esp32c5 and
esp32c61 targets.
2025-03-21 15:31:55 +01:00
0be20a5f22 Merge branch 'feat/lwip_hook_dhcp_extra_opt' into 'master'
feat(lwip): Add DHCP extra option hook

Closes IDFGH-14572

See merge request espressif/esp-idf!36949
2025-03-21 22:06:56 +08:00
168aa0d25f feat(hcd): Added verification of intr pipe allocation with any bInterval 2025-03-21 20:25:38 +08:00
893a02ea51 Merge branch 'feature/add_ds_param_in_probe_req' into 'master'
Add DS parameter in probe requests from STA

See merge request espressif/esp-idf!26514
2025-03-21 20:13:43 +08:00
06366353d8 feat(bt/bluedroid): Added BLE eddystone sender example 2025-03-21 19:53:59 +08:00
d27afdd94b Merge branch 'feat/update_pcnt_reg_on_h2_eco5' into 'master'
feat(pcnt): update pcnt reg on h2 eco5

See merge request espressif/esp-idf!37908
2025-03-21 19:14:53 +08:00
8bae4d377f refactor(openthread): move isr_handle_timerX to esp_ieee802154_timer 2025-03-21 19:13:20 +08:00
a02dec09ca refactor(bootloader_support): Unify bootloader_sha layer 2025-03-21 16:37:20 +05:30
54a58c05e6 feat(lwip): Add DHCP extra option hook
Closes https://github.com/espressif/esp-idf/issues/15329
2025-03-21 11:59:58 +01:00
f67f287004 feat(esp_wifi): Add DS parameter in probe requests from STA
Parse the DS IE to get intended channel when softAP rx request,
send probe response only if request is intended for the channel
2025-03-21 15:36:34 +05:30
c8cc3c1ea6 docs: Add a note about TWAI multiple instances install 2025-03-21 17:26:29 +08:00
ce7ec7f19f Merge branch 'feature/enable_hmac_and_ds_support_for_esp32h21' into 'master'
feat: enabled hmac and ds support in esp32h21

Closes IDF-11495 and IDF-11497

See merge request espressif/esp-idf!37085
2025-03-21 17:23:46 +08:00
459165827a Merge branch 'feat/add_svc_info_in_sdf' into 'master'
Add extended SSI support for NAN Services

Closes IDFGH-11325, IDFGH-12334, WIFIBUG-709, WIFIBUG-923, and WIFIBUG-1084

See merge request espressif/esp-idf!29865
2025-03-21 17:06:28 +08:00
85d636dc3a feat(parlio_tx): add example of loop transmission 2025-03-21 16:49:45 +08:00
65074afc0d feat(parlio_tx): support loop transmission 2025-03-21 16:49:45 +08:00
815e89d8c8 fix(nimble): Fix variable type conversion compile errors 2025-03-21 16:34:31 +08:00
adc61d3c8d feat(ble):Add Kconfig support for direction finding feature 2025-03-21 16:34:31 +08:00
abded4ab44 feat(ble):Support Bluetooth LE 5.1 direction finding feature 2025-03-21 16:34:31 +08:00
0406df9c61 docs: Update CN translation for core docs for new targets 2025-03-21 16:30:03 +08:00
302d8e5fce feat(esp_wifi): Add extended SSI support for NAN Services
1. Allow SSI in publish and subscribe, populate Peer's SSI in match events
2. Allow SSI with length higher than 255 bytes by using SDEA for all NAN services
3. Update API's to support SSI changes and other SDEA parameters
4. Fix use after free issues with NAN Beacons and SDF's

Closes https://github.com/espressif/esp-idf/issues/12473
Closes https://github.com/espressif/esp-idf/issues/13366
2025-03-21 15:52:23 +08:00
91bfe96ced Merge branch 'revert/update_esp-env-v5.5_to_ubuntu_24.04' into 'master'
Revert "5.5: Update ubuntu base image for esp-env-v5.5 to 24.04"

See merge request espressif/esp-idf!37946
2025-03-21 15:20:07 +08:00
64ff6ec274 Merge branch 'fix/mutex_between_oct_flash_and_flash_rom_impl' into 'master'
flash: mutex between oct flash and flash rom impl

See merge request espressif/esp-idf!37760
2025-03-21 14:51:08 +08:00
c35b7dca0f Revert "5.5: Update ubuntu base image for esp-env-v5.5 to 24.04"
This reverts commit 60ed896b08.
2025-03-21 14:39:35 +08:00
f3f3cad07c Merge branch 'feat/isp_bypass' into 'master'
isp: supported bypass isp to use csi, supported byte endianness swapping

Closes IDF-9706 and IDF-12620

See merge request espressif/esp-idf!37672
2025-03-21 14:05:54 +08:00
e5cacf5a80 Merge branch 'bugfix/fix_nvs_host_test_linux' into 'master'
test(nvs): fixed wrong volatile qualifier in host-test

See merge request espressif/esp-idf!37934
2025-03-21 12:05:29 +08:00
274ac2961a feat(intr): added option for placing intr api in flash 2025-03-21 11:21:43 +08:00
a0ae67ef8b fix(bt/bluedroid): Fix some bugs in Bluedroid
- Fix PBAC may free undefine memory when conn failed
- Fix some memory in OBEX not being freed when bluedroid deinit
- Fix pre-commit not check some source file that we added to bluedroid
2025-03-21 11:12:07 +08:00
2bf3fd521f Merge branch 'bugfix/err_disc_state_changed_evt' into 'master'
fix(bt/bluedroid): fixed other events being reported when disconnected

Closes BTQABR2023-457

See merge request espressif/esp-idf!37728
2025-03-21 10:19:19 +08:00
f65dc668a9 test(nvs): fixed wrong volatile qualifier in host-test 2025-03-21 09:30:37 +08:00
ee5042095b Merge branch 'refactor/psram_structure_refactor' into 'master'
refactor(psram): cleanup psram component code structure

See merge request espressif/esp-idf!37870
2025-03-21 00:52:03 +08:00
eaa77b6c43 Merge branch 'bugfix/fix_wep_shared_auth_association_timeout_issue' into 'master'
fix(wifi): fix association timeout timer issue for wep shared auth

See merge request espressif/esp-idf!37247
2025-03-20 20:51:05 +08:00
ffe83c2345 Merge branch 'bugfix/fix_smp_command_allocation' into 'master'
fix(nimble): Fix SMP command allocation

See merge request espressif/esp-idf!37721
2025-03-20 20:24:02 +08:00
58fbcfb407 Merge branch 'feat/ff_fs_nofsinfo_kconfig' into 'master'
feat(fatfs): Add an option to set FF_FS_NOFSINFO value

Closes IDFGH-14467

See merge request espressif/esp-idf!36592
2025-03-20 20:18:52 +08:00
a89fc6d905 Merge branch 'docs/core_docs_new_targets' into 'master'
docs(core): updated core docs for new targets

Closes IDF-10159, IDF-10162, IDF-10171, IDF-12148, IDF-12150, IDF-12151, IDF-12152, IDF-12156, and IDF-12157

See merge request espressif/esp-idf!37860
2025-03-20 19:56:18 +08:00
a57680c6db Merge branch 'fix/ringbuf_allow_split_receive_crash' into 'master'
fix(ringbuf): xRingbufferReceive() crashes for allow-split buffers

Closes IDF-12701

See merge request espressif/esp-idf!37882
2025-03-20 18:46:24 +08:00
9f421f5429 Merge branch 'feat/usb-msc-host-multi' into 'master'
feat(usb_host/msc): Add support for multiple MSC devices

See merge request espressif/esp-idf!37336
2025-03-20 17:40:47 +08:00
9722bfcf33 feat(usb_host/msc): Add support for multiple MSC devices
Enhanced the USB MSC host example to support multiple simultaneously
connected Mass Storage Class (MSC) devices.

- Implemented dynamic allocation and mounting of multiple MSC devices.
- Improved example logic for handling USB device connections and disconnections.
- Updated documentation to clarify USB host limitations and endpoint allocation.
2025-03-20 17:40:47 +08:00
88ee19d3d3 fix(bt/bluedroid): fixed other events being reported when disconnected
- Since no initial value is assigned, the variable evt is a random value,
causing the ESP_BT_GAP_DISC_STATE_CHANGED_EVT event to be reported when
the connection is disconnected.
2025-03-20 17:21:14 +08:00
48c28eed00 fix(i2s): add check for i2s DMA buffer array allocation
Closes https://github.com/espressif/esp-idf/issues/15607
2025-03-20 16:58:38 +08:00
7ff63ac9af Merge branch 'feature/okc_support' into 'master'
feat(wpa_supplicant): Add support for OKC

Closes WIFIBUG-841

See merge request espressif/esp-idf!34873
2025-03-20 16:47:33 +08:00
0b56c58e8a Merge branch 'fix/check_python_dependencies' into 'master'
fix(tools): handle packages with dots in their names during dependency checks

See merge request espressif/esp-idf!37869
2025-03-20 16:25:34 +08:00
6474fd67ae Merge branch 'feat/h4_introduce_step8' into 'master'
feat(esp32h4): introduce hello world to ESP32H4 (stage8)

Closes IDF-9526 and IDF-12333

See merge request espressif/esp-idf!37545
2025-03-20 16:16:05 +08:00
68ac4fc041 Merge branch 'ci/update_esp-env-v5.5_to_ubuntu_24.04' into 'master'
5.5: Update ubuntu base image for esp-env-v5.5 to 24.04

See merge request espressif/esp-idf!37871
2025-03-20 16:14:35 +08:00
60ed896b08 5.5: Update ubuntu base image for esp-env-v5.5 to 24.04 2025-03-20 16:14:35 +08:00
b3f525d12f Merge branch 'refactor/esp_tee_aes_gcm_port' into 'master'
refactor(esp_tee): Use the AES-GCM port layer for operations in the TEE

See merge request espressif/esp-idf!37650
2025-03-20 16:11:38 +08:00
3b2ab2d145 fix(pcnt): remove the gpi0_reset_pin function 2025-03-20 15:53:26 +08:00
b4abab382a Merge branch 'feat/psram_80m_p4' into 'master'
psram: added 80MHz psram speed option

See merge request espressif/esp-idf!37667
2025-03-20 15:47:06 +08:00
9ac7a91013 fix(pcnt): update pcnt_reg on esp32h2 eco5 2025-03-20 15:36:15 +08:00
9b845f9f8b fix(flash): mutex between flash rom impl and flash opi 2025-03-20 15:32:21 +08:00
ac8cfadab0 refactor(psram): cleanup psram component code structure 2025-03-20 15:17:01 +08:00
88664242e1 Merge branch 'docs/sync_ram_usage' into 'master'
docs: Sync CN ram-usage.rst and EN source

Closes DOC-10523

See merge request espressif/esp-idf!37807
2025-03-20 15:00:52 +08:00
cbf7a66030 feat(gpio): gpio_reset_pin should do IO reservation revoke
Closes https://github.com/espressif/esp-idf/issues/15598
2025-03-20 14:56:16 +08:00
8f74c54a8a refactor(gpio): simplified gpio_reset_pin function to not call gpio_configure
Closes https://github.com/espressif/esp-idf/pull/15569
2025-03-20 14:56:16 +08:00
7124690c29 fix(tools): remove unused variables in gdbinit.cmake
Closes https://github.com/espressif/esp-idf/issues/15035
2025-03-20 13:40:14 +07:00
87aa9ec5f0 Merge branch 'fix/i2s_iram_safe_issue_while_use_psram' into 'master'
fix(i2s): fixed failure when dma is iram_safe but i2s not

Closes IDFGH-14800

See merge request espressif/esp-idf!37670
2025-03-20 14:31:45 +08:00
06e1349c9f fix(wifi): fix association timeout timer issue for wep shared auth 2025-03-20 14:09:08 +08:00
991acde4f7 Merge branch 'contrib/github_pr_15484' into 'master'
fix(twai): fixed twai assert fail during recover (GitHub PR)

Closes IDFGH-8204 and IDFGH-14745

See merge request espressif/esp-idf!37731
2025-03-20 14:04:01 +08:00
921cfa0a8e Merge branch 'feat/support_runtime_periphs_icg_ctrl_in_sleep' into 'master'
support runtime ICG control for peripherals to be used/kept during light sleep

Closes IDF-7595

See merge request espressif/esp-idf!37377
2025-03-20 13:03:48 +08:00
544b7b4c4d Merge branch 'bugfix/fix_ot_ci_cases_avahi_service_issue' into 'master'
feat(openthread): fix ci avahi service cases issue

Closes IDFCI-2797

See merge request espressif/esp-idf!37839
2025-03-20 11:50:02 +08:00
c0fc7f602e Merge branch 'docs/update_iperf_performance' into 'master'
docs(wifi): update iperf throughput performance

See merge request espressif/esp-idf!37816
2025-03-20 11:21:38 +08:00
a3bd31f3a6 Merge branch 'bugfix/fix_espnow_send_data_error_in_v2.0' into 'master'
fix(wifi): fixed the espnow data length error in example

Closes WIFIBUG-1099, WIFIBUG-1097, WIFIBUG-1098, and WIFI-6804

See merge request espressif/esp-idf!37783
2025-03-20 11:20:49 +08:00
c60cf668cf docs: Sync CN ram-usage.rst and EN source 2025-03-20 11:08:23 +08:00
5411dd00fd Merge branch 'feat/ble_mesh_ble_50_micellaneous_update' into 'master'
Feat/ble mesh ble 50 micellaneous update

Closes BLERP-1473 and BLERP-1467

See merge request espressif/esp-idf!36206
2025-03-20 10:38:44 +08:00
728f95f498 Merge branch 'refactor/rng_ll_c6' into 'master'
refactor(rng): refactor to use hal/ll apis for c6

Closes IDF-12533

See merge request espressif/esp-idf!37319
2025-03-20 10:28:39 +08:00
034f677563 docs(misc): update system docs for new chips 2025-03-20 09:01:11 +08:00
ee87960c13 Merge branch 'feature/esp_timer_flash' into 'master'
feat(esp_timer): added kconfig option for placing IRAM code into flash

Closes IDF-11427

See merge request espressif/esp-idf!37428
2025-03-20 08:56:43 +08:00
e2917ff160 fix(nimble): Fix SMP command allocation 2025-03-19 20:28:27 +05:30
cf5989ca06 Merge branch 'fix/install_input_validation' into 'master'
fix(idf_tools): Validate input features

Closes IDF-11703

See merge request espressif/esp-idf!37852
2025-03-19 21:38:52 +08:00
8b40eabce8 fix(ringbuf): xRingbufferReceive() crashes for allow-split buffers
This commit adds an assert check to xRingbufferReceive() and
xRingbufferReceiveFromISR() functions to prevent them from being used to
retrieve items from an allow-split buffer. Corresponding documentation
has also been updated.
2025-03-19 14:33:11 +01:00
bbca89da53 Merge branch 'feat/implement_vendor_event_mask_vsc' into 'master'
feat(nimble): Add support for Vendor Event mask VSC

Closes BLERP-1626

See merge request espressif/esp-idf!37732
2025-03-19 20:38:33 +08:00
e1c030c434 Merge branch 'docs/cn_en_roadmap' into 'master'
docs: update cn and en roadmap for v6.0

See merge request espressif/esp-idf!37828
2025-03-19 19:56:30 +08:00
ed4813c9c0 fix(esp_hw_support): fix min sleep time calculation missmatch in powerdown flash decision 2025-03-19 19:27:09 +08:00
3bad4348d0 fix(tools): handle packages with dots in their names during dependency checks
The `setuptools` package starting with `v70.1.0`[1] contains built-in
`bdist_wheel` command. Before this version `setuptools` relied on the
`bdist_wheel` command implementation from the `wheel` package. Starting with
`setuptools` `v75.8.1` the `PEP 491`[3] restrictions on the distribution name
of a wheel package are enforced[4], replacting also `.` with `_`.  Note that
`PEP 491` actually allows `.` in the distribution name, but for some reason the
latest packaging docs[10][11] does not, stating that `.` should be replaced
with `_`. This was discussion here[12].

Also the `wheel` package starting with `v0.45.0`[5] is using the `bdist_wheel`
command from `setuptools`.  This means that any package which has `.` in its
distribution name, like `ruamel.yaml.clib`, can have different wheel name,
depending on which version of the `bdist_wheel` command was used.

The `bdist_wheel` command from setuptools prior `v75.8.1` or `wheel` prior
`v0.45.0` will keep the dots in distribution name preserved.  For exaple the
`ruamel.yaml.clib` package will have distribution name
`ruamel.yaml.clib-0.2.12.dist-info. Newer versions will replace the dots with
`_` according to [10][11], creating distribution like
`ruamel_yaml_clib-0.2.12.dist-info`.

From packaging point of view `ruamel.yaml.clib-0.2.12.dist-info` and
`ruamel_yaml_clib-0.2.12.dist-info` are the same packages, but this is not
reflected in `importlib.metadata` prior python 3.10[9], which does not perform
name normalization prior the distribution search. This causes the `version`
from `importlib.metadata` to fail on python prior the 3.10 version if the
package with dots in distribution name was generated with normalized paths with
newer `setuptools`. Note that the distribution name normalization was
backported to some later 3.9 python version.

Let's demonstrate this behavior on a simple package with the
`my.minimal.package` name.

```
my_minimal_package/
├── pkg
│   └── __init__.py
└── setup.py

from setuptools import setup, find_packages

setup(
    name='my.minimal.package',
    version='0.1.0',
    packages=find_packages(),
    install_requires=[],
    entry_points={},
)
```

With python 3.9.0 search for `my.minimal.package` fails because
of the missing name normalization.
```
docker run --rm -it --platform linux/x86_64 python:3.9.0 bash
python -m venv venv
. venv/bin/activate
pip install setuptools==v75.8.1
python setup.py bdist_wheel
pip install dist/my_minimal_package-0.1.0-py3-none-any.whl
python
Python 3.9.0 (default, Nov 18 2020, 13:28:38)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.metadata import version as get_version
>>> get_version('my.minimal.package')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 551, in version
    return distribution(distribution_name).version
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 524, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/local/lib/python3.9/importlib/metadata.py", line 187, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: my.minimal.package
>>> get_version('my_minimal_package')
'0.1.0'
```

With python 3.10.0 search for both `my.minimal.package` and
`my_minimal_package` succeeds.
```
docker run --rm -it --platform linux/x86_64 python:3.10.0 bash
python
Python 3.10.0 (default, Dec  3 2021, 00:21:30) [GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from importlib.metadata import version as get_version
>>> get_version('my.minimal.package')
'0.1.0'
>>> get_version('my_minimal_package')
'0.1.0'
```

In our `tools/check_python_dependencies.py` we cannot relay on the default
distribution finder, used in the `version` function from `importlib.metadata`,
to do name normalization on older python versions.  To cope with this,
implement a fallback version search. If `version` fails with
`PackageNotFoundError`, do the name normalization according to [10][11] and try
again.

Note: There is also a `wheel`[6][7] `v0.43.0` package embeded in `setuptools`
along with the new implementation[8].  This one seems to be used if the
external `wheel` package is not available but imported. TBH this is all kinda
messy and I may have overlooked something.

* [1] https://setuptools.pypa.io/en/stable/history.html#v70-1-0
* [2] https://setuptools.pypa.io/en/stable/history.html#v75-8-1
* [3] https://peps.python.org/pep-0491/#escaping-and-unicode
* [4] https://github.com/pypa/setuptools/pull/4766/files
* [5] https://wheel.readthedocs.io/en/stable/news.html
* [6] https://github.com/pypa/setuptools/blob/main/setuptools/_vendor/wheel/__init__.py
* [7] https://github.com/pypa/setuptools/issues/1386
* [8] https://github.com/pypa/setuptools/blob/main/setuptools/command/bdist_wheel.py
* [9] c6ca368867
* [10] https://packaging.python.org/en/latest/specifications/name-normalization/#name-normalization
* [11] https://packaging.python.org/en/latest/specifications/binary-distribution-format/
       #escaping-and-unicode
* [12] https://github.com/pypa/setuptools/issues/3777

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-03-19 12:19:57 +01:00
a4106ef3b9 fix(wifi): fix the ESPNOW data length issue and connection issue
1. Changed the max data length to 1470 bytes for ESP-NOW v2.0
2. Added timer to send wake null after STA received assoc response
2025-03-19 19:18:56 +08:00
51ff6490cc fix(wifi): Update the doc for espnow add peer 2025-03-19 19:18:56 +08:00
19ecb580d4 fix(wifi): fixed the espnow data length error in example 2025-03-19 19:18:56 +08:00
d826655f0c Merge branch 'bugfix/offchan_action_tx_failure' into 'master'
Fix issues with offchannel action tx and ROC operations

See merge request espressif/esp-idf!28204
2025-03-19 19:14:36 +08:00
45ba78940f feat(esp32h4): finnal introduce hello world 2025-03-19 18:48:41 +08:00
b4be4c2a53 Merge branch 'fix/extractall_deprecation' into 'master'
fix(idf_tools): Patch extractall() deprecation warning

Closes IDF-11484

See merge request espressif/esp-idf!37845
2025-03-19 18:28:52 +08:00
7102508444 fix(idf_tools): Validate input features 2025-03-19 11:07:15 +01:00
f72cb90b98 feat(openthread): fix ci avahi service cases issue 2025-03-19 17:56:43 +08:00
1a5b2a267b fix(esp_wifi): Add alternate SHA1 APIs in WiFi
Add alternate SHA1 APIs to handle cases when
`CONFIG_MBEDTLS_SHA1_C` is disabled.
2025-03-19 15:11:10 +05:30
73c6112156 feat(wpa_supplicant): Add support for Opportunistic Key Caching 2025-03-19 15:05:53 +05:30
98e16412a7 refactor(esp_tee): Use the AES-GCM port layer for operations in the TEE 2025-03-19 14:30:52 +05:30
6e5513b8ad refactor(esp_tee): Component dependency cleanup for the TEE build 2025-03-19 14:30:52 +05:30
e442f11320 feat(mbedtls): Make mbedtls SHA1 support configurable 2025-03-19 14:28:40 +05:30
ff28210f3a fix(wifi): fix esp32s2 recv 24M BA issue 2025-03-19 16:45:03 +08:00
95f8eb12d3 Merge branch 'bugfix/ledc_fade_stop_race_condition' into 'master'
fix(ledc): fix race condition in ledc_fade_stop causing assert failure

Closes IDFGH-14859

See merge request espressif/esp-idf!37817
2025-03-19 15:53:58 +08:00
93e9d0b1a6 ci(wifi): Add build test for with wpa3 disabled for station and softap 2025-03-19 13:20:32 +05:30
b32602c948 fix(esp_wifi): Fix send_confirm according to specification provided by IEEE 802.11 2025-03-19 13:12:40 +05:30
437fa9a723 fix(wifi): Fix crash when set config is called with changed password
Closes https://github.com/espressif/esp-idf/issues/15584
2025-03-19 13:10:43 +05:30
79b706ccb0 fix(ble/bluedroid): move setting host feature API to GAP 2025-03-19 15:23:58 +08:00
fc58f2f67d feat(bt/bluedroid): Support ble bluedroid host connection subrating feature 2025-03-19 14:53:13 +08:00
4f05f6e280 feat(bt/bluedroid): Support ble bluedroid host power control feature 2025-03-19 14:53:13 +08:00
fcad8b7ebd feat(bt/bluedroid): Support BLE CTE in bluedroid host 2025-03-19 14:53:13 +08:00
7128087646 feat(bt/bluedroid): Support BLE iso in bluedroid host 2025-03-19 14:53:13 +08:00
183a931084 fix(ble_mesh): fixed issue where private beacon used incorrect adv type 2025-03-19 14:11:43 +08:00
98091ebb0e fix(ble_mesh): update lib to 80130ecdd8 2025-03-19 14:06:19 +08:00
cecd8d1c60 fix(ble_mesh): fixed some issues with ble50 2025-03-19 14:06:19 +08:00
cbcee1625f refactor(flash): rename SOC_SPI_MEM_SUPPORT_OPI_MODE to SOC_SPI_MEM_SUPPORT_FLASH_OPI_MOD 2025-03-19 14:01:22 +08:00
895e897ee7 fix(esp_wifi): Making action tx and roc API's public 2025-03-19 13:49:50 +08:00
2ea5e8afa3 fix(esp_wifi): Modifying os_time_t datatype for platform and compiler independence 2025-03-19 13:49:50 +08:00
da22d36fc1 fix(esp_wifi): Formatting calls to ROC API to match new prototype
- Making necessary changes to DPP module and offchannel tests
  to reflect the changes made to ROC API.
2025-03-19 13:49:50 +08:00
d7e4654f3d fix(esp_wifi): Fix issues with offchannel action tx and ROC operations
- Fix issues with sending NULL data on the target channel instead of home
  channel when connected sta attempts action tx or ROC.
- Fix issues with sending action tx on the home channel instead of target
  channel when connected sta attempts action tx.
- Add new status codes to event data of WIFI_EVENT_ROC_DONE
- Adds new request structure esp_wifi_remain_on_channel operation
- Fixes issues with cancelling off channel operations such as ROC or
  action frames TX.
2025-03-19 13:49:50 +08:00
708e70361c Merge branch 'bugfix/11r_compile_error' into 'master'
fix(wifi): Fixed compilation error when 11KV is disabled and 11R is enabled

Closes IDFGH-14807

See merge request espressif/esp-idf!37804
2025-03-19 13:48:01 +08:00
74157e04b7 feat(nimble): support vendor event mask set and vendor HCI event on nimble host 2025-03-19 10:09:02 +05:30
34b69e8050 Merge branch 'fix/i2c_operation_array_max' into 'master'
fix(i2c): Fix the array size of static operation

Closes IDFGH-14862

See merge request espressif/esp-idf!37784
2025-03-19 12:09:27 +08:00
ac0eaa0034 ci(wifi): Add builds for FT, RRM and WNM configs 2025-03-19 12:07:08 +08:00
a10635e389 fix(wifi): Fixed compilation error when 11R is enabled without 11KV
Closes https://github.com/espressif/esp-idf/issues/15539
2025-03-19 12:07:08 +08:00
d3fd64d6c0 Merge branch 'bugfix/hwlp_coproc_saving_master' into 'master'
fix(freertos): workaround a hardware bug related to HWLP coprocessor

See merge request espressif/esp-idf!37246
2025-03-19 11:58:13 +08:00
56d5c00245 feat(psram): added 80MHz psram speed option 2025-03-19 11:57:10 +08:00
cb02c76a04 docs: update cn and en roadmap for v6.0 2025-03-19 10:38:59 +08:00
2618abf5df fix(idf_tools): Patch extractall() deprecation warning 2025-03-18 17:47:34 +01:00
847ac1a71b Merge branch 'feat/unilc_psram_s3' into 'master'
psram: supported UnilC octal psram on s3

See merge request espressif/esp-idf!37714
2025-03-18 18:22:14 +08:00
511a4a89ce fix(i2s): fixed mismatch of the i2s and gdma iram-safe config
Closes https://github.com/espressif/esp-idf/issues/15533
2025-03-18 16:28:11 +08:00
54d7bec1e3 Merge branch 'fix/rmt_lim_thres_incorrect' into 'master'
fix(rmt): fix the received symbols issue

See merge request espressif/esp-idf!37706
2025-03-18 16:15:09 +08:00
4608cc0ef4 Merge branch 'bugfix/p4_lpwdt_efuse' into 'master'
fix(lpwdt): P4 LP-WDT now takes into account the EFUSE_WDT_DELAY for the timeout

See merge request espressif/esp-idf!36993
2025-03-18 15:54:17 +08:00
cd1e496da7 fix(driver_gpio): correct h4 gpio_ll.h sleep functions 2025-03-18 15:37:32 +08:00
55be8bdc0d feat(esp_timer): added kconfig option for placing IRAM code into flash 2025-03-18 15:23:43 +08:00
9bfaaf63ef fix(driver_gpio): correct h21 gpio_ll.h refer from c61 2025-03-18 15:23:41 +08:00
c4dacf2497 fix(driver_gpio): correct h2 gpio_ll.h refer from c61 2025-03-18 15:23:36 +08:00
e3583dd013 Merge branch 'fix/fix_dhcp_server_recv_decline_issue' into 'master'
fix(dhcp): fix dhcp server recv decline issue

Closes WIFI-6554

See merge request espressif/esp-idf!37474
2025-03-18 14:59:19 +08:00
8d97ce5de1 Merge branch 'feat/optimize_hci_data_recv_process' into 'master'
Feat/optimize hci data recv process

Closes BLERP-1643, BLERP-1644, BLERP-1645, and BLERP-1648

See merge request espressif/esp-idf!37755
2025-03-18 14:58:55 +08:00
3fdcf31857 Merge branch 'feature/newlib_in_flash' into 'master'
feat(newlib): added option for placing functions in flash if flash-auto-suspend

Closes IDF-11958

See merge request espressif/esp-idf!37767
2025-03-18 14:55:14 +08:00
2022c11441 Merge branch 'bugfix/fix_github_cert_verification_simpleota' into 'master'
fix: failing Github certificate verification

See merge request espressif/esp-idf!37769
2025-03-18 12:44:43 +08:00
88048d7076 fix(ledc): fix race condition in ledc_fade_stop causing assert failure
Closes https://github.com/espressif/esp-idf/issues/15580
2025-03-18 12:16:49 +08:00
zwl
93357e8613 feat(ble): change nimble whitelist max size to 31 2025-03-18 11:58:53 +08:00
zwl
fdae270427 feat(ble): change whitelist max size to 31 on ESP32-C5 2025-03-18 11:58:53 +08:00
zwl
578f2358c6 feat(ble): change whitelist max size to 31 on ESP32-C2 2025-03-18 11:58:53 +08:00
zwl
2b435687b0 feat(ble): change whitelist max size to 31 on ESP32-C6 2025-03-18 11:58:53 +08:00
zwl
57417ca30f fix(ble): Fixed warning that the gpio is not usable when reconfig hci uart pin 2025-03-18 11:58:53 +08:00
zwl
132e0d6695 fix(ble): fixed hci driver stack protection fault issue on ESP32-C5 2025-03-18 11:58:53 +08:00
zwl
afd44d14b9 fix(ble): fixed hci driver stack protection fault issue on ESP32-C2 2025-03-18 11:58:53 +08:00
zwl
ec4a1324f5 fix(ble): fixed hci driver stack protection fault issue on ESP32-C6 2025-03-18 11:58:53 +08:00
zwl
327182e3e6 fix(ble): delete ble_hci_trans header file 2025-03-18 11:58:53 +08:00
zwl
84f0b39e4d fix(ble): fixed hci assertion issue when uart interference occurs 2025-03-18 11:58:53 +08:00
cafbd7bd46 Merge branch 'change/ble_update_lib_20250313' into 'master'
change(ble): [AUTO_MR] 20250313 - Update ESP BLE Controller Lib

Closes BLERP-1634, BLERP-1570, BLERP-1617, BLERP-1616, BLERP-1613, BLERP-1610, BLERP-1599, BLERP-1595, BLERP-1563, BLERP-1605, BLERP-1628, BLERP-1629, BLERP-1635, BLERP-1646, BLERP-1649, BLERP-1639, and BLERP-1651

See merge request espressif/esp-idf!37752
2025-03-18 11:57:11 +08:00
ba7a10e4e9 Merge branch 'feature/add_esp32s3_target_to_security_feature_application' into 'master'
security: add esp32s3 target to security feature application

See merge request espressif/esp-idf!37544
2025-03-18 11:21:55 +08:00
85931bc569 docs(wifi): update iperf throughput performance 2025-03-18 11:03:24 +08:00
912ec80179 docs(esp32h4): added doc list for H4 2025-03-18 10:51:07 +08:00
3af4bce897 change(esp_driver_ledc): support LEDC ICG control 2025-03-18 10:43:40 +08:00
157faa3344 feat(esp_hw_support): support runtime clock for peripherals to be ungated during sleep 2025-03-18 10:42:15 +08:00
1a8c556184 feat(psram): supported new octal psram on s3 2025-03-18 10:25:23 +08:00
9fd0f634d2 fix(bootloader): use ESP_EARLY_LOG before console is ready 2025-03-17 18:53:28 +08:00
44117b623d refactor(esp_rom): remove specific chip name when including rom header 2025-03-17 18:53:26 +08:00
88fa3e2c9e feat(security): fixes review comments 2025-03-17 18:23:14 +08:00
4c23ba3c1f feat(security): update idf.py extensions to support security feature application 2025-03-17 18:23:14 +08:00
fbecd65e2a feat(security): update README.md to include support for esp32s3 2025-03-17 18:23:14 +08:00
ee77c489e7 Merge branch 'feat/esp32h21_system_sleep_pmu' into 'master'
Stage 3: Support esp32h21 DFS & PMU & LP Timer & Clock domain

Closes PM-349 and PM-350

See merge request espressif/esp-idf!37632
2025-03-17 18:11:49 +08:00
6d9fdcf96f Merge branch 'fix/rmii_ref_ckl' into 'master'
fix(esp_eth): fixed ESP32P4 EMAC REF RMII CLK output mode

See merge request espressif/esp-idf!37138
2025-03-17 17:18:07 +08:00
23398bdc93 Merge branch 'feat/add_protocomm_sec_patch_config' into 'master'
feat(protocomm): add (hidden) config option to indicate security patch feature

See merge request espressif/esp-idf!37785
2025-03-17 16:38:27 +08:00
d21adf2535 Merge branch 'feature/esp32h21_i2c_support' into 'master'
Feature/esp32h21 i2c support

Closes IDF-11578 and IDF-11580

See merge request espressif/esp-idf!37227
2025-03-17 15:06:13 +08:00
6e58f49724 ci(c2/c3): add major eco version tests 2025-03-17 14:51:25 +08:00
2fc151d2a9 fix(component/mbedtls): Adds github root cert to cmn_crt_authorities.csv 2025-03-17 14:32:06 +08:00
fd6ed42d7c fix(twai): fixed twai assert fail when recover
driver try start new frame in ISR however already bus off

Closes https://github.com/espressif/esp-idf/issues/9697
2025-03-17 14:20:29 +08:00
18f514a4c0 Merge branch 'fix/nvs_logger_json_output' into 'master'
fix(nvs_flash/nvs_tool): Fix nvs_tool.py to output required values

Closes IDFGH-14504

See merge request espressif/esp-idf!36909
2025-03-17 14:02:22 +08:00
dfef9d5a40 feat(esp_http_server): Added httpd URI handler docs
Added docs to clarify the working of httpd URI handler
2025-03-17 11:27:32 +05:30
8a8cd3e43b Merge branch 'feature/enable_flash_encryption_for_esp32h21' into 'master'
feat: enable flash encryption support for esp32h21

Closes IDF-11499

See merge request espressif/esp-idf!36440
2025-03-17 13:54:22 +08:00
2fcceb01a7 feat(protocomm): add (hidden) config option to indicate security patch feature 2025-03-17 10:20:01 +05:30
757f776f9e fix(i2c): Fix the array size of static operation,
Closes https://github.com/espressif/esp-idf/issues/15583
2025-03-17 12:39:19 +08:00
675fe44f1e refactor(rng): rename/merge some adc_ll functions 2025-03-17 11:52:18 +08:00
e6c2259b44 refactor(rng): refactor to use hal/ll apis for c6 2025-03-17 11:42:29 +08:00
fac2d9eada fix(rmt): fix the received symbols issue 2025-03-17 11:32:32 +08:00
350e3c3d06 fix(esp_system): update clk code for esp32h21 2025-03-17 11:24:39 +08:00
d89b9cb674 change(esp_hw_support): this change needs to be reverted when the PMU build 2025-03-17 11:24:39 +08:00
82ab6b8cf9 fix(power_management): fix ci warning due to unused variable config 2025-03-17 11:24:39 +08:00
410fb091d9 change(esp_hw_support): change for pmu build pass 2025-03-17 11:24:39 +08:00
1da425bdc7 change(hal): update lp_timer register structure and support driver for esp32h21 2025-03-17 11:24:39 +08:00
ac5c5de378 change(esp_system): change for light sleep example build pass 2025-03-17 11:24:39 +08:00
8103ea67c7 change(esp_hw_support): pmu driver, hal and ll layer support for esp32h21 2025-03-17 11:24:39 +08:00
e351f17790 change(esp_hw_support): support power management dfs flow 2025-03-17 11:24:39 +08:00
d3a9e4f185 change(esp_hw_support): add main XTAL kconfig option to support clock source select 2025-03-17 11:24:39 +08:00
afda4c18e9 Merge branch 'feature/support_p4_ulp_touch_driver' into 'master'
feat(ulp_touch): support ulp touch driver on p4

Closes IDF-12546

See merge request espressif/esp-idf!37362
2025-03-17 11:00:05 +08:00
8b6c55e17e fix(ble): Add link requires esp_phy for ble. 2025-03-17 10:44:21 +08:00
5215284a9d feat(ble): support ble log simple output via SPI interface 2025-03-17 10:44:21 +08:00
bb9dc5a927 fix(ble): fix ble log init failure mem leak for ESP32 2025-03-17 10:44:21 +08:00
9ff9fb0661 fix(ble): fix ble log init failure mem leak for ESP32-C3 2025-03-17 10:44:21 +08:00
b62f094ed5 fix(ble): remove macro in lpclk src get api on ESP32-C6 2025-03-17 10:44:21 +08:00
b62736b764 fix(ble): remove macro in lpclk src get api on ESP32-C5 2025-03-17 10:44:21 +08:00
zwl
71cea01694 feat(ble): add enhanced connect function on ESP32-C2 2025-03-17 10:44:21 +08:00
eae9b795aa feat(ble): support ble log simple output via SPI interface for ESP32-C6 2025-03-17 10:44:20 +08:00
1574db33c5 feat(ble): support ble log simple output via SPI interface for ESP32-C5 2025-03-17 10:44:20 +08:00
e99b3c6f6a feat(ble): support ble log simple output via SPI interface for ESP32-H2 2025-03-17 10:44:20 +08:00
df829ac919 feat(ble): support ble log simple output via SPI interface for ESP32-C2 2025-03-17 10:44:20 +08:00
f198302067 change(ble): [AUTO_MR] Update lib_esp32c2 to 5d9a6661 2025-03-17 10:44:20 +08:00
3b85cf8818 change(ble): [AUTO_MR] Update lib_esp32c6 to 82a8be7d 2025-03-17 10:44:20 +08:00
4d99e72774 change(ble): [AUTO_MR] Update lib_esp32c5 to 82a8be7d 2025-03-17 10:44:20 +08:00
83da04398d change(ble): [AUTO_MR] Update lib_esp32h2 to 82a8be7d 2025-03-17 10:44:20 +08:00
d063b42d37 refactor(cam): added images in camera isp related example readmes 2025-03-17 10:05:41 +08:00
f31a5dc543 feat(isp): supported byte endianness swap 2025-03-17 10:05:41 +08:00
4abe226cf3 feat(isp): supported bypass isp to use csi 2025-03-17 10:05:41 +08:00
c9cc7bb216 feat(ulp_touch): add example for lp_touch 2025-03-14 21:56:05 +08:00
ffb8adcf49 feat(ulp_touch): support ulp touch driver on p4 2025-03-14 21:10:16 +08:00
71e4d9ec50 Merge branch 'change/issue_template_diag' into 'master'
change: add an IDF diag entry to the issue template

Closes IDF-11826

See merge request espressif/esp-idf!37244
2025-03-14 18:31:47 +08:00
14b9676465 Merge branch 'bugfix/fix_scan_info_error_in_lr_only_mode' into 'master'
fix(wifi): Fixed the scan information error in LR only mode

Closes WIFIBUG-962, WIFIBUG-991, WIFIBUG-1046, IDFGH-13550, IDFGH-14592, and WIFI-4503

See merge request espressif/esp-idf!35730
2025-03-14 18:13:42 +08:00
cd1c5aa075 Merge branch 'feat/deactivate_idf_env_every_run' into 'master'
feat(tools): Deactivate current ESP-IDF environment with every export run

Closes IDF-11251

See merge request espressif/esp-idf!35857
2025-03-14 16:43:25 +08:00
64a412dee1 Merge branch 'docs/update_i2c_static' into 'master'
docs: Update static for i2c.rst

Closes DOC-10481

See merge request espressif/esp-idf!37748
2025-03-14 16:39:10 +08:00
f2ceb04409 fix(wifi): update wifi lib for scan issue and new APIs 2025-03-14 15:43:22 +08:00
660e33c801 fix(wifi): Fixed the scan information error in LR only mode 2025-03-14 15:11:45 +08:00
82bce6c077 fix(wifi): Add new api to get mac clock time
Closes https://github.com/espressif/esp-idf/issues/15348
2025-03-14 15:11:44 +08:00
e910c5755b fix(wifi): Fixed the max log level not work when it exceeds the default log level 2025-03-14 15:11:44 +08:00
a9638d51a6 docs(wifi): update the description for esp_mesh_send() return value
Closes https://github.com/espressif/esp-idf/issues/14440
2025-03-14 15:11:44 +08:00
e52ea52792 test(system): add system test-case for flash auto-suspend 2025-03-14 15:01:10 +08:00
be5cad56af Merge branch 'bugfix/fix_esp32_bt_disable_crash' into 'master'
fix(bt): Fix controller disable cause iwdt timeout on esp32

Closes BT-3624

See merge request espressif/esp-idf!37729
2025-03-14 14:17:31 +08:00
b6dd392b92 Merge branch 'test/bitscrambler_lut' into 'master'
feat(bitscrambler): test loop and lut instructions

See merge request espressif/esp-idf!37740
2025-03-14 11:30:15 +08:00
40adbf5fa9 fix(dhcp): fix dhcp server recv decline issue 2025-03-14 10:45:48 +08:00
ff3126fa09 feat(newlib): added option for placing functions in flash if flash-auto-suspend 2025-03-14 10:41:51 +08:00
70371347dc Merge branch 'feature/newlib_iram_cleanup' into 'master'
feat(newlib): optimize IRAM usage

Closes IDF-7146

See merge request espressif/esp-idf!37647
2025-03-14 10:28:45 +08:00
c56c734f1a docs: Update static for i2c.rst 2025-03-14 10:10:47 +08:00
a90c1bde71 Merge branch 'fix/correct_adc_channel_on_types' into 'master'
feat(adc): refactor adc channel enum on legacy

Closes IDF-12599

See merge request espressif/esp-idf!37669
2025-03-14 09:12:42 +08:00
7125ee5a97 Merge branch 'feat/safe_clearing_python_env_path' into 'master'
feat(tools): Safer clearing IDF_PYTHON_ENV_PATH if existing

Closes IDF-10556

See merge request espressif/esp-idf!37142
2025-03-13 21:58:33 +08:00
1469ee767f feat(tools): Remove PATH duplicity from first call of tools/activate.py 2025-03-13 14:44:52 +01:00
5e7e9dd667 feat(tools): Deactivate current ESP-IDF environment with every export run
Unix systems only
2025-03-13 14:44:52 +01:00
c07e2705ac Merge branch 'fix/jpeg_dma_stuck' into 'master'
fix(jpeg): use dma2d empty rx desc event to avoid a stuck on bad quality image

See merge request espressif/esp-idf!37693
2025-03-13 20:45:42 +08:00
063d673fae Merge branch 'fix/memory-utils-esp_ptr_in_rtc_dram_fast' into 'master'
fix(esp_hw_support): esp_ptr_in_rtc_iram_fast check to return false

Closes IDFCI-2717

See merge request espressif/esp-idf!36930
2025-03-13 20:05:46 +08:00
eb577ce625 fix(openthread): calibrate CSL tx parameters 2025-03-13 18:37:58 +08:00
156714f518 fix(openthread): modify ETM task numbers for esp32c5 2025-03-13 18:37:58 +08:00
7a55a57b3e fix(openthread): turn off rx for SSED running CSL during idle 2025-03-13 18:37:58 +08:00
f941b0d961 Merge branch 'bugfix/reduce_controller_bin_size' into 'master'
fix(ble/controller): reduce controller bin size for ESP32-C3 and ESP32-S3

See merge request espressif/esp-idf!37677
2025-03-13 17:54:29 +08:00
586d41e8a6 feat(bitscrambler): test loop and lut instructions 2025-03-13 17:27:31 +08:00
bcadcb746d Merge branch 'fix/154_txpower_set_api' into 'master'
fix(802.15.4) fix the behavior of the `esp_ieee802154_set_txpower`

See merge request espressif/esp-idf!37671
2025-03-13 17:25:29 +08:00
4fa523627d Merge branch 'docs/fix_adc_flush_pool_descriptipon' into 'master'
docs(adc): correct ADC flush poll description

See merge request espressif/esp-idf!37543
2025-03-13 17:15:13 +08:00
a09fdf2f3e feat(tools): Safer clearing IDF_PYTHON_ENV_PATH if existing 2025-03-13 17:14:01 +08:00
77346e0bc7 Merge branch 'bugfix/fix_event_deinit_sequence' into 'master'
fix(nimble): Fix incorrect event deinit in gatt caching discovery

See merge request espressif/esp-idf!37707
2025-03-13 16:56:04 +08:00
3547cefa27 Merge branch 'bugfix/fix_some_wifi_bugs_20250304' into 'master'
fix(wifi): fix twt post just one event for multiple flow

See merge request espressif/esp-idf!37538
2025-03-13 16:50:57 +08:00
d68514363e feat(adc): refactor adc channel enum on legacy 2025-03-13 16:37:20 +08:00
8c4ba22ed1 feat(nvs_tool): Test for print_minimal_json
Added the test for the print_minimal_json function
and setup_minimal_json function to setup the test.
2025-03-13 16:36:03 +08:00
930e643a71 fix(nvs_flash/nvs_tool): Fix nvs_tool.py to output required values
nvs_tool.py did not provide the minimal output support which outputs
the only necessary data.

nvs_tool.py minimal text ouptut, the deliminators were not handled
in the output

Closes https://github.com/espressif/esp-idf/issues/15274
2025-03-13 16:36:03 +08:00
7d365f7b42 Merge branch 'fix/fatfsgen_tests' into 'master'
fix(storage/fatfsgen): increase test timeout

Closes IDFCI-2681

See merge request espressif/esp-idf!37702
2025-03-13 16:30:31 +08:00
adfd1b9c93 change: add an IDF diag entry to the issue template
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-03-13 08:23:34 +01:00
cc0f334eed fix(bt): Fix controller disable cause iwdt timeout on esp32 2025-03-13 14:14:39 +08:00
bc88e36a44 Merge branch 'bugfix/missing_kconfig_definition' into 'master'
fix(i2c): add Kconfig to skip driver conflict check

See merge request espressif/esp-idf!37709
2025-03-13 13:57:52 +08:00
79af9d0be0 fix(hal): use typedef esp_xts_aes_psuedo_rounds_state_t for pseudo rounds mode 2025-03-13 10:38:21 +05:30
652879ff06 feat: enable flash encryption support for esp32h21 2025-03-13 10:37:11 +05:30
f794eb9b2d feat: enabled hmac and ds support in esp32h21
This commit enables support for HMAC and DS in ESP32H21
2025-03-13 10:23:11 +05:30
1a87428934 Merge branch 'feat/h4_introduce_step7_ci' into 'master'
feat(esp32h4): ci enable public header check (stage7)

See merge request espressif/esp-idf!37505
2025-03-13 11:52:05 +08:00
466328cd7e fix(i2c): add Kconfig to skip driver conflict check 2025-03-13 11:43:00 +08:00
f9469f4e81 fix(jpeg): use dma2d empty rx desc event to avoid a stuck 2025-03-13 11:37:44 +08:00
c7bcb07ace feat(dma2d): Add a rx empty event callback 2025-03-13 11:37:44 +08:00
0bc169e735 fix(freertos): optimize HWLP context switch by disabling it when unused 2025-03-13 11:11:24 +08:00
c26879d29e fix(freertos): workaround a hardware bug related to HWLP coprocessor
This commit manually sets the HWLP context to dirty when a Task that needs it is scheduled it.
2025-03-13 11:11:24 +08:00
28c531b45b feat(i2c): correct get txfifio len function 2025-03-13 11:06:06 +08:00
ec632f7fed feat(esp32h21): support I2C on ESP32H21 2025-03-13 11:06:06 +08:00
46847b7be9 Merge branch 'bugfix/heap_in_flash' into 'master'
fix(heap): fixed CONFIG_HEAP_PLACE_FUNCTION_INTO_FLASH not working together with CONFIG_HEAP_TLSF_USE_ROM_IMPL

See merge request espressif/esp-idf!37692
2025-03-13 10:48:41 +08:00
f416523e16 fix(storage/fatfsgen): increase test timeout 2025-03-12 14:45:39 +01:00
606f6aa187 Merge branch 'fix/change_pm_lock_type' into 'master'
fix(pm): use CPU lock in dirvers use axi dma to access psram

See merge request espressif/esp-idf!37703
2025-03-12 21:27:18 +08:00
4cc76f6646 fix(wifi): fix twt post just one event for multiple flow 2025-03-12 21:01:48 +08:00
8c69dfa101 fix(nimble): Fix incorrect event deinit in gatt caching discovery 2025-03-12 18:13:40 +05:30
d8c0b4aa87 fix(ble/controller): reduce controller bin size 2025-03-12 20:33:27 +08:00
6583e477c6 Merge branch 'fix/coverity_warning_for_destroy_efuse_block' into 'master'
fix(efuse): Fix Coverity warning for destroy_block func

Closes IDF-12189

See merge request espressif/esp-idf!36765
2025-03-12 20:27:35 +08:00
2fb93845df Merge branch 'contrib/github_pr_15308' into 'master'
fix(cmake): support CMock subdir option with idf_component_mock (GitHub PR)

Closes IDFGH-14547 and IDFGH-12326

See merge request espressif/esp-idf!36761
2025-03-12 19:26:02 +08:00
3447c7233f Merge branch 'bugfix/pcnt_typo' into 'master'
fix(pcnt): a typo in the PCNT_LL_MIN_LIM

Closes IDFGH-14826

See merge request espressif/esp-idf!37686
2025-03-12 18:59:27 +08:00
ff1fd80198 fix(drivers): use CPU_MAX lock in dirvers use axi dma to access psram 2025-03-12 17:38:44 +08:00
83f1ccb492 fix(esp_eth): fixed emac_ll_pause_frame_enable for ESP32P4 2025-03-12 09:29:17 +00:00
f3a3988649 fix(esp_eth): fixed ESP32P4 EMAC REF RMII CLK output mode
fixed units returned and used by periph_rtc_mpll_freq_set function
2025-03-12 09:29:17 +00:00
917adbb171 fix(efuse): Adds missing efuses fields for ESP32-H4 2025-03-12 17:19:50 +08:00
bfac674769 feat(esp32h4): ci enable public header check (stage7) 2025-03-12 17:19:50 +08:00
49c9d797de Merge branch 'feat/update_lwip_to_support_ip6_route_clone_buffer' into 'master'
feat(lwip): support cloning pbuf_ref when ipv6 forwarding

See merge request espressif/esp-idf!37402
2025-03-12 17:04:20 +08:00
1c5983cd5a Merge branch 'bugfix/fix_ersu_compatibility_issue' into 'master'
fix(wifi): fix ersu compatibility issue

Closes WIFI-6799

See merge request espressif/esp-idf!37027
2025-03-12 16:32:22 +08:00
f884c4a974 Merge branch 'contrib/github_pr_15499' into 'master'
Add missing break statements to usb_serial_jtag_ll_phy_select (GitHub PR)

Closes IDFGH-14760

See merge request espressif/esp-idf!37440
2025-03-12 14:39:01 +08:00
b622aa382f Merge branch 'feat/h4_introduce_step6_esp_system' into 'master'
feat(esp32h4): support esp_system, esp_timer and freertos (stage6)

Closes IDF-12565

See merge request espressif/esp-idf!37269
2025-03-12 14:10:23 +08:00
afedcb7c9b Merge branch 'bugfix/fix_secondary_console_no_vfs' into 'master'
fix(console): fixed secondary console not working on all chips without VFS

Closes IDF-12577

See merge request espressif/esp-idf!37464
2025-03-12 13:51:37 +08:00
ab2718dc44 fix(newlib): fixed newlib malloc wrappers IRAM/flash placement
If HEAP_PLACE_FUNCTION_INTO_FLASH = y then we should also place
the newlib wrappers for the heap in to flash.
2025-03-12 11:19:25 +08:00
ad88bd184f fix(heap): fixed HEAP_PLACE_FUNCTION_INTO_FLASH disabled if heap impl in ROM 2025-03-12 10:52:07 +08:00
628cca14b0 Merge branch 'fix/some_suspend_check' into 'master'
fix(spi_flash): 1. Fix esp32c6 esp32h2 flash suspend check according to errata. 2. Improve flash suspend test

See merge request espressif/esp-idf!37562
2025-03-12 10:37:18 +08:00
09f5bc736b fix(pcnt): a typo in the PCNT_LL_MIN_LIM
Closes https://github.com/espressif/esp-idf/issues/15554
2025-03-11 22:07:45 +08:00
7c5b34f568 Merge branch 'bugfix/l2mem_buffer' into 'master'
fix(esp_system): removed L2MEM buffer enable for P4

Closes IDFCI-2755

See merge request espressif/esp-idf!37640
2025-03-11 20:51:37 +08:00
d74a21694d fix(wifi): fix ersu compatibility issue 2025-03-11 20:48:50 +08:00
385cf3d576 Merge branch 'feature/update_controller_lib_20250310' into 'master'
Feature/update controller lib 20250310

Closes BLERP-1630

See merge request espressif/esp-idf!37655
2025-03-11 20:06:48 +08:00
884c85536d Merge branch 'bugfix/http_ws_api_reference' into 'master'
fix(esp_http_server): enable doxygen build for websocket API reference

Closes IDFGH-14785

See merge request espressif/esp-idf!37529
2025-03-11 19:12:36 +08:00
8c50df00ff fix(esp_hw_support): esp_ptr_in_rtc_iram_fast check to return false
esp_ptr_in_rtc_iram_fast logic should be executed if
SOC_RTC_FAST_MEM_SUPPORTED is set but it should also be executed
if IRAM and DRAM region mapping is the same. Remove the
SOC_RTC_IRAM_LOW != SOC_RTC_DRAM_LOW part of the check.

Update heap component to use the modify function appropriately.
2025-03-11 12:06:32 +01:00
2f538ffbb2 Merge branch 'feature/add_ota_resumption_testcase_for_ethernet' into 'master'
feat: added test for ota resumption over ethernet

Closes IDF-12086

See merge request espressif/esp-idf!37237
2025-03-11 18:36:09 +08:00
f214081315 Merge branch 'bugfix/sdmmc_high_prio_timeout' into 'master'
fix(sdmmc): move DMA descriptor refilling into the ISR

Closes IDFGH-12983

See merge request espressif/esp-idf!37219
2025-03-11 17:59:18 +08:00
226e251107 docs: fetch all tags while deploying 2025-03-11 10:07:35 +01:00
8670800827 refactor(esp32h4): refactor memory.ld and section.ld 2025-03-11 16:48:21 +08:00
69d2e7facb refactor(cpu): move some chip-specific operations to the ll 2025-03-11 16:48:21 +08:00
8e8c0573b4 feat(esp32h4): support esp_system, esp_timer and freertos (stage6) 2025-03-11 16:48:21 +08:00
8151dd6109 fix: add missing break statements to usb_serial_jtag_ll_phy_select,
Closes https://github.com/espressif/esp-idf/pull/15499
2025-03-11 16:33:47 +08:00
1f46216a72 Merge branch 'bugfix/add_oui_check_for_espnow' into 'master'
fix(wifi): Added oui check for ESPNOW

Closes IDFGH-8074

See merge request espressif/esp-idf!37548
2025-03-11 16:31:56 +08:00
9aba44a2d9 test(spi_flash): Flash suspend test evolution 2025-03-11 16:21:07 +08:00
zwx
6129c03f25 fix(802.15.4) fix the behavior of the esp_ieee802154_set_txpower 2025-03-11 15:25:29 +08:00
2011b9f0b9 Merge branch 'contrib/github_pr_15414' into 'master'
feat(esp32/lcd/spi_lcd_touch):Adding driver for XPT2 (GitHub PR)

Closes IDFGH-14670

See merge request espressif/esp-idf!37439
2025-03-11 15:17:49 +08:00
ae10c1333d fix(esp_system): removed L2MEM buffer enable for P4 2025-03-11 14:53:29 +08:00
ee4de6e545 feat(lcd): support XPT2046 in the SPI LCD example
Merges https://github.com/espressif/esp-idf/pull/15414
2025-03-11 14:42:50 +08:00
e133912fda fix(wifi): Added oui check for ESPNOW
Add new api to set/get user oui for ESPNOW

Closes https://github.com/espressif/esp-idf/issues/9577
2025-03-11 14:33:03 +08:00
28472cc6b7 Merge branch 'feature/enable_aes_sha_support_for_h21' into 'master'
feat: enabled aes and sha support for esp32h21

Closes IDF-11501 and IDF-11504

See merge request espressif/esp-idf!37072
2025-03-11 13:16:27 +08:00
b0f834256e Merge branch 'fix/pr_15513_psram_bss_noinit_calc_issue' into 'master'
psram: correct .bss and .noinit vaddr calculation

Closes IDFGH-14775 and IDFGH-14814

See merge request espressif/esp-idf!37633
2025-03-11 11:40:04 +08:00
27fddbbc26 Merge branch 'support/ieee802154_set_txon_delay_using_phylib_impl' into 'master'
feat(802.15.4): configure tx on delay using phylib implementation

See merge request espressif/esp-idf!37475
2025-03-11 11:35:14 +08:00
795dedba33 feat(eap_hw_support): disable power glitch detector in PD_TOP lightsleep for c5&c61 2025-03-11 11:31:02 +08:00
6c3d67b234 fix(spi_flash): Add suspend check on esp32c6 and esp32h2 for some reason 2025-03-11 11:11:39 +08:00
ae50c71222 fix(spi_flash): Return false directly in suspend caps check 2025-03-11 11:11:39 +08:00
f7b977b405 test(sdmmc): add test for high-prio task busy while writing
Related to https://github.com/espressif/esp-idf/issues/13934
2025-03-11 10:51:06 +08:00
335027b731 fix(sdmmc): move DMA descriptor refilling into the ISR
Previously, as DMA descriptors were processed, the task performing
SDMMC transfer would get woken up and would refill the descriptors.
This design didn't work correctly when higher priority tasks occupied
the CPU for too long, resulting in SDMMC transfer timing out.

This change moves DMA descriptor refilling into SDMMC ISR. Now the
"DMA done" interrupt is delivered back to task context only when
the entire transfer is completed.

Closes https://github.com/espressif/esp-idf/issues/13934
2025-03-11 10:51:06 +08:00
e4cf819104 Merge branch 'fix/linux_std_preference' into 'master'
fix: adjust C standard preferences for Linux target

See merge request espressif/esp-idf!37637
2025-03-11 09:59:47 +08:00
892b3a0b0e feat(ble): tell controller if vhci is enabled for ESP32-C2 2025-03-11 09:51:50 +08:00
20bbd2af42 feat(newlib): add option for placing newlib lock API into flash 2025-03-11 09:33:58 +08:00
b29472c7ff Merge branch 'update_freertos_openocd_params' into 'master'
feat(freertos): add list offsets to the openocd_params

See merge request espressif/esp-idf!37537
2025-03-11 06:59:28 +08:00
3d1ea229d5 Merge branch 'bugfix/wps_reconnect_failure' into 'master'
fix(wpa_suppplicant): Fix for issue in wps reconnection

Closes WIFI-6810, WIFIBUG-1086, and WIFIBUG-1067

See merge request espressif/esp-idf!37320
2025-03-10 22:26:42 +08:00
981e5ba260 feat(ble): tell controller if vhci is enabled for ESP32-C5 2025-03-10 20:40:01 +08:00
ac2b67d6c5 feat(ble): tell controller if vhci is enabled for ESP32-C6 and ESP32-H2 2025-03-10 20:34:36 +08:00
d20a5fd939 fix: adjust C standard preferences for Linux target
In commit 70407df8c2 ("fix(build): don't call enable_language() before
proje.."), the C standard preferences were mistakenly changed to
`set(preferred_c_versions gnu99 gnu17 gnu11 gnu99)`. This was likely an
oversight from my testing. This corrects the C standard preferences to
the intended order.

Fixes: 70407df8c2 ("fix(build): don't call enable_language() before proje..")
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-03-10 20:34:32 +08:00
14908c9a2c Merge branch 'docs/update_translation_about_iram' into 'master'
docs: Update translation for SPI flash and RAM Usage

Closes DOC-10358

See merge request espressif/esp-idf!37383
2025-03-10 18:56:42 +08:00
612b920eb1 Merge branch 'docs/sync_i2c' into 'master'
docs: Sync CN translation and EN source for i2c.rst

Closes DOC-10375

See merge request espressif/esp-idf!37441
2025-03-10 17:27:49 +08:00
baba98ec32 fix(wifi): Resolved WPS connectivity issue with pre-connected stations
This fixes the issue where station was not able connect using WPS if it was
already in connected state.

wifi_wps_scan_done() issues an esp_wifi_disconnect() before
calling esp_wifi_connect() to associate with the newly discovered AP. This
behavior incorrectly triggered a failure event (WIFI_EVENT_STA_WPS_ER_FAILED)
even though the disconnection was part of the normal WPS flow. This commit
prevents sending the false failure event, ensuring expected WPS behavior.
2025-03-10 14:55:12 +05:30
zwx
a431fd9adc feat(802.15.4): configure tx on delay using phylib impl 2025-03-10 16:13:56 +08:00
19ea12664d feat: added test for ota resumption through ethernet 2025-03-10 13:32:06 +05:30
2fc73a05b3 feat(newlib): removed some unecessary IRAM attributes for newlib functions 2025-03-10 15:31:30 +08:00
f6cc4f6140 docs: Update translation for SPI flash and RAM Usage 2025-03-10 15:20:07 +08:00
bdd9077b6e Merge branch 'bugfix/disable_dbg_hci_cmd_on_esp32' into 'master'
Disable debug vendor hci command on ESP32

See merge request espressif/esp-idf!37600
2025-03-10 15:17:56 +08:00
6866f375b6 refactor(psram): rename .bss .noinit segments to sections
Closes https://github.com/espressif/esp-idf/pull/15513
2025-03-10 14:44:11 +08:00
c9ab9b8bb3 fix(psram): correct heap vaddr calculation
- fixes https://github.com/espressif/esp-idf/issues/15496

Signed-off-by: armando <douyiwen@espressif.com>
2025-03-10 14:44:11 +08:00
c290d9490e docs: Sync CN translation and EN source for i2c.rst 2025-03-10 14:07:41 +08:00
87024c3da1 Merge branch 'bugfix/cleanup_aes_192_references_for_unsupported_chips' into 'master'
fix(esp_rom): Remove AES - 192 references for unsupported chips

See merge request espressif/esp-idf!37506
2025-03-10 14:06:25 +08:00
54cfdce964 Merge branch 'bugfix/bitscrambler_eof_mode' into 'master'
BitScrambler: Fixed the inconsistent EOF mode setting between assembler and driver

See merge request espressif/esp-idf!37499
2025-03-10 13:22:56 +08:00
9ba552786d Merge branch 'bugfix/spp_free_server_slot_err' into 'master'
fix(bt/bluedroid): Fixed freeing spp server memory when disconnected

Closes BTQABR2023-455 and BTQABR2023-453

See merge request espressif/esp-idf!37547
2025-03-10 10:05:07 +08:00
106ded1e8a fix(bt): Update bt lib for ESP32(e250cf1)
- Disable debug vendor hci command
2025-03-09 18:20:14 +08:00
b1effd0cb4 Merge branch 'feature/expose_ble_gap_wl_tx_add' into 'master'
fix(nimble): Exposed the ble_gap_wl_tx_add API to add a device in whitelist

See merge request espressif/esp-idf!34092
2025-03-09 11:24:35 +08:00
4f5bed28e7 Merge branch 'bugfix/provisioning_sec2_aes_iv_usage' into 'master'
fix(provisioning): fix incorrect AES-GCM IV usage in security2 scheme

See merge request espressif/esp-idf!37226
2025-03-08 14:03:53 +08:00
aa2f638e06 Merge branch 'fix/fix_esp32s3_reboot_cache_failure' into 'master'
fix(esp_system): fix esp32s3  possible cache_error triggered by another core accessing flash in esp_restart

See merge request espressif/esp-idf!37554
2025-03-07 20:26:19 +08:00
19bff0e40c Merge branch 'fix/sleep_cpu_mspi_freq_mismatch_issue_p4' into 'master'
mspi: fixed cpu and mspi freq mismatch issue when in dfs/sleep on p4

Closes IDF-12068 and PM-333

See merge request espressif/esp-idf!36499
2025-03-07 20:00:14 +08:00
3758eb8c2e fix(nimble): Exposed the ble_gap_wl_tx_add API to add a device in whitelist 2025-03-07 17:14:37 +05:30
01a20a17b1 Merge branch 'feature/move_tinycrypt_to_bt_common' into 'master'
Feature/move tinycrypt to bt common

Closes BLERP-1619

See merge request espressif/esp-idf!37479
2025-03-07 19:31:04 +08:00
d87eb94604 Merge branch 'fix/parlio_tx_c5_test_failure' into 'master'
fix(parlio): fix non-free running test case

See merge request espressif/esp-idf!37571
2025-03-07 19:08:22 +08:00
2275c15f56 Merge branch 'fix/apptrace_basic_tests' into 'master'
test(apptrace): run tests from custom OpenOCD class

Closes IDF-10992

See merge request espressif/esp-idf!37342
2025-03-07 19:04:40 +08:00
62ce56c542 Merge branch 'fix/fix_kconfig_files' into 'master'
fix(kconfig): Fix issues with Kconfig files

See merge request espressif/esp-idf!36726
2025-03-07 18:24:06 +08:00
7ce80cef7e Merge branch 'fix/linux_std_flags' into 'master'
fix(build): don't call enable_language() before project()

Closes IDFGH-14749

See merge request espressif/esp-idf!37412
2025-03-07 18:10:30 +08:00
2433000d06 Merge branch 'contrib/github_pr_15527' into 'master'
python-pip is also a required package on Arch Linux (GitHub PR)

Closes IDFGH-14789

See merge request espressif/esp-idf!37552
2025-03-07 18:08:30 +08:00
430bb9dc2c Merge branch 'fix/jpeg_driver_handle_invalid_marker' into 'master'
fix(jpeg_decoder): Correctly handle invalid 0xffff JPEG marker

Closes IDF-12204

See merge request espressif/esp-idf!36764
2025-03-07 17:21:54 +08:00
e3f27822ba fix(parlio): fix non-free running test case 2025-03-07 17:14:18 +08:00
6184bdaa7f Merge branch 'fix/fix_cam_iram_safe_compile_error' into 'master'
cam: fix cam iram safe compile error

Closes IDF-12593

See merge request espressif/esp-idf!37557
2025-03-07 17:07:54 +08:00
5417edbe24 fix(efuse): Fix Coverity warning for destroy_block func 2025-03-07 16:44:22 +08:00
c011fc15d6 Merge branch 'feature/update_h21_etm_source' into 'master'
feat(esp32h21): update h21 soc_etm_source

See merge request espressif/esp-idf!37206
2025-03-07 16:28:25 +08:00
1ccbc8d20f docs(provisioning): Sync CN translation and EN source 2025-03-07 13:49:13 +05:30
00e8d1a832 fix(esp_local_ctrl): update for changes in protocomm security2 scheme 2025-03-07 13:49:12 +05:30
ab7d37d014 fix(docs): update for changes in provisioning security2 scheme 2025-03-07 13:49:11 +05:30
3bd5a22f5a fix(provisioning): fix incorrect AES-GCM IV usage in security2 scheme
Using same IV in AES-GCM across multiple invocation of
encryption/decryption operations can pose a security risk. It can help
to reveal co-relation between different plaintexts.

This commit introduces a change to use part of IV as a monotonic
counter, which must be incremented after every AES-GCM invocation
on both the client and the device side.

Concept of patch version for a security scheme has been introduced here
which can help to differentiate a protocol behavior for the provisioning
entity. The security patch version will be available in the JSON
response for `proto-ver` endpoint request with the field
`sec_patch_ver`.

Please refer to documentation for more details on the changes required
on the provisioning entity side (e.g., PhoneApps).
2025-03-07 13:49:10 +05:30
641f461346 fix(protocomm): memory leak issue for session command0 failure case 2025-03-07 13:49:09 +05:30
2fabe6ff9c Merge branch 'bugfix/lp_uart_baudrate_limitation' into 'master'
fix(uart): LP UART does not have the pre-divider for its clock source

Closes IDFGH-14685 and IDF-12524

See merge request espressif/esp-idf!37250
2025-03-07 16:05:54 +08:00
ff38c0c329 test(cam): added cache-safe build test 2025-03-07 15:25:57 +08:00
f0590c860e refactor(cam): rename IRAM-Safe to Cache-Safe 2025-03-07 15:25:57 +08:00
c53fd5d985 fix(cam): fixed cam iram safe build error 2025-03-07 15:25:57 +08:00
96fdcec77b Merge branch 'refactor/spi_remove_unnecessary_dependency' into 'master'
fix(spi): removed PERIPH_CTRL_FUNC_IN_IRAM dependency

See merge request espressif/esp-idf!37556
2025-03-07 15:18:11 +08:00
12e9d6514a fix(console): fixed secondary console not working on all chips without VFS 2025-03-07 14:41:19 +08:00
14db879842 change(esp_hw_support): only do mpll disable in lightsleep process 2025-03-07 12:27:20 +08:00
d64ca3a5d1 fix(mspi): fixed cpu and mspi freq mismatch issue when in dfs/sleep on p4 2025-03-07 12:27:16 +08:00
7f88aa2621 Merge branch 'test/reenable_mcpwm_sync_example_test' into 'master'
test(mcpwm): reenable sync example test

Closes IDF-12541

See merge request espressif/esp-idf!37507
2025-03-07 11:31:49 +08:00
603566edee fix(spi): removed PERIPH_CTRL_FUNC_IN_IRAM dependency 2025-03-07 11:15:32 +08:00
e12db42898 Merge branch 'feat/jpeg_dirver_default_huffman_table' into 'master'
feat(jpeg): Add support for default Huffman tables

See merge request espressif/esp-idf!36986
2025-03-07 02:46:58 +08:00
d418cb4a40 fix(esp_system): fix possible cache_error by another core accessing flash in esp_restart 2025-03-06 21:21:54 +08:00
1b09bb3037 fix(uart): LP UART does not have the pre-divider for its clock source
Closes https://github.com/espressif/esp-idf/issues/15427
2025-03-06 20:35:48 +08:00
4244d8af54 fix(gpio): fix bad bit shift operation and OOB (h2) in io_mux.c 2025-03-06 20:35:48 +08:00
83c9d4347c refactor(uart): increase test app memory leak tolerance 2025-03-06 20:35:48 +08:00
49e1e22f72 fix(esp_rom): Remove AES-192 references for unsupported chips
Cleaned up references to AES-192 in ROM headers for chips that do not support it.
2025-03-06 17:48:17 +05:30
a6979eba9c feat: enabled aes and sha support for esp32h21
This commit enabled AES and SHA support for ESP32H21
2025-03-06 17:44:13 +05:30
f9d55c1fb2 fix(jpeg_decoder): Correctly handle invalid 0xffff JPEG marker 2025-03-06 19:44:52 +08:00
7311e67f4b fix(bt/bluedroid): Fixed freeing spp server memory when disconnected 2025-03-06 19:25:37 +08:00
08b6f6018f docs(esp32): Add python-pip as required package on Arch Linux 2025-03-06 12:15:36 +01:00
4e635009fc Merge branch 'docs/diag_tool' into 'master'
docs: add idf.py diag documentation to api-guides

Closes IDF-11829

See merge request espressif/esp-idf!37205
2025-03-06 19:03:52 +08:00
4a405c7349 feat(esp32h4): update h4 soc_etm_source 2025-03-06 17:52:17 +08:00
2f644d5c23 Merge branch 'docs/update_translation_for_protocols' into 'master'
docs: Update CN translation in protocols

See merge request espressif/esp-idf!37321
2025-03-06 17:32:13 +08:00
ca6211bb46 feat(bt): support hardware ecc acceleration for bt tinycrypt 2025-03-06 16:20:13 +08:00
424d4b8938 change(bt): moved porting/ext/tinycrypt into common 2025-03-06 16:20:12 +08:00
0381f5723a Merge branch 'refactor_panic_test_parametrize' into 'master'
test(panic): refactor test parameters with itertools

See merge request espressif/esp-idf!37516
2025-03-06 16:04:02 +08:00
19a15371e5 docs(adc): correct ADC flush poll description 2025-03-06 15:41:49 +08:00
889d1b8767 docs: Update CN translation in protocols 2025-03-06 15:33:07 +08:00
3eeca52e15 Merge branch 'bugfix/fix_sc_only_pairing' into 'master'
fix(nimble): Fix SC only pairing failure

See merge request espressif/esp-idf!37287
2025-03-06 15:26:07 +08:00
94cfe394fe Merge branch 'fix/null_pointer_was_dereferenced_in_lc_free_state' into 'master'
fix(bt): fixed some issues in bt controller

Closes IDFGH-14338, BT-3939, BT-3801, and BTQABR2023-443

See merge request espressif/esp-idf!37483
2025-03-06 12:04:53 +08:00
df9664d4b0 fix(nimble): Fix SC only pairing failure 2025-03-06 09:20:05 +05:30
05d7a4c2e5 Merge branch 'bugfix/c5_libphy_20250124' into 'master'
change(ble): update c5 beta5 lib phy to phy_version: 1 103, 48ac5755, Feb 22 2025

Closes BLERP-1518, IDFCI-2696, and IDFCI-2691

See merge request espressif/esp-idf!36614
2025-03-06 11:43:11 +08:00
865adce22c Merge branch 'bugfix/fix_some_wifi_bugs_202502' into 'master'
feat(wifi): modify the description of function 'esp_wifi_set_band'

See merge request espressif/esp-idf!37375
2025-03-06 11:37:31 +08:00
a44c127dfa feat(freertos): add list offsets to the openocd_params 2025-03-06 01:32:33 +01:00
bb25c4ea67 test(apptrace): enable esp32c5 and esp32c61 tests 2025-03-06 01:13:50 +01:00
cf90a8c86b test(apptrace): run tests from custom OpenOCD class 2025-03-06 01:13:40 +01:00
4b6c5f34cd fix(esp_http_server): enable doxygen build for websocket API reference
Closes https://github.com/espressif/esp-idf/issues/15523
2025-03-05 20:06:16 +05:30
843729c6f1 Merge branch 'feature/verify_chip_revision_during_ota' into 'master'
feat(esp_https_ota): added check for revision check while performing OTA

See merge request espressif/esp-idf!37270
2025-03-05 22:29:35 +08:00
feb9d8c157 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20250226' into 'master'
feat(tools): update openocd version to v0.12.0-esp32-20250226

See merge request espressif/esp-idf!37462
2025-03-05 22:24:35 +08:00
7317d96bc3 Merge branch 'fix/remove-unnecessary-select' into 'master'
fix(esp_system): Remove unnecessary select from esp_system/Kconfig

Closes IDF-12540

See merge request espressif/esp-idf!37232
2025-03-05 21:47:57 +08:00
11e6aa8f1a test(panic): refactor test parameters with itertools 2025-03-05 14:01:25 +01:00
146c1d72c0 feat(jpeg_decode): Add support for default Huffman tables
- In case of a missing Huffman table, while decoding a JPEG image
    - Define a default Huff table and add it to JPEG image header
2025-03-05 13:03:05 +01:00
88fe04d448 fix(wpa_suppplicant): Add fix for issue in wps reconnection 2025-03-05 16:08:22 +05:30
3c7ca8f2c9 Merge branch 'bugfix/11kv_config_break' into 'master'
fix(esp_wifi): Correctly break 11kv config into wnm and rrm configs

Closes WIFIBUG-1065

See merge request espressif/esp-idf!37451
2025-03-05 18:28:26 +08:00
adf4822a31 test(hmac_soft_jtag): check jtag connection status properly 2025-03-05 10:51:48 +01:00
1153981bc8 feat(tools): update openocd version to v0.12.0-esp32-20250226 2025-03-05 10:36:15 +01:00
7841a55a71 feat(wifi): modify the description of function 'esp_wifi_set_band' 2025-03-05 17:07:36 +08:00
603ebbbc99 test(mcpwm): reenable sync example test 2025-03-05 16:51:34 +08:00
4cdd5087ef Merge branch 'feature/github_pull_15073' into 'master'
feat(wpa_supplicant): Add optimized PSK implementation

See merge request espressif/esp-idf!36229
2025-03-05 16:28:16 +08:00
2c68d2d266 Merge branch 'update/update_certs_bundle' into 'master'
Update esp_crt_bundle certificates

See merge request espressif/esp-idf!37278
2025-03-05 15:47:21 +08:00
3b41e2ce9a Merge branch 'ci/pytest-mark-formatter' into 'master'
Ci/pytest mark formatter

Closes IDFCI-2662 and IDFCI-2651

See merge request espressif/esp-idf!35476
2025-03-05 15:43:48 +08:00
030cdf9807 Merge branch 'feat/added_change_to_ble_spp_client' into 'master'
feat(nimble): Allow BLE SPP Client to subscribe to the server

See merge request espressif/esp-idf!37376
2025-03-05 15:09:29 +08:00
620ab3b913 Merge branch 'fix/secure_boot_verfication_failure_sig_block_key_digest_mismatch_combo' into 'master'
fix(bootloader_support): Fix SB verification failure when application is not signed with the boot loader's first key

Closes IDF-12556

See merge request espressif/esp-idf!37365
2025-03-05 15:08:24 +08:00
c181afcc27 Merge branch 'bugfix/fix_ble_kconfig' into 'master'
fix(ble/controller): Fix BLE Kconfig on ESP32 to avoid unexpected behavior

Closes BLERP-1519

See merge request espressif/esp-idf!37417
2025-03-05 15:07:48 +08:00
bcea8c9881 Merge branch 'feat/support_read_periodic_adv_size' into 'master'
feat(ble/bluedroid): Support read periodic advertiser list size command

Closes IDF-11793

See merge request espressif/esp-idf!36751
2025-03-05 15:07:32 +08:00
3f66b30680 Merge branch 'refactor/parlio_function_placement' into 'master'
refactor(parlio): function placement distinguishes from tx and rx driver

See merge request espressif/esp-idf!37382
2025-03-05 14:58:08 +08:00
1ee5551004 fix(esp_wifi): Prevent flushing of FT data mistakenly 2025-03-05 12:24:18 +05:30
4f127f57e2 fix(esp_wifi): Fix some compilation errors in roaming app 2025-03-05 12:24:15 +05:30
c058048085 fix(esp_wifi): Correctly break 11kv config into wnm and rrm configs 2025-03-05 12:24:11 +05:30
fafdae5cb7 fix(bt): fixed some issues in bt controller
- fixed the issue where the NULL pointer was deferenced in lc_free state
- avoid accessing released ACL resources in SCO logic
2025-03-05 14:46:43 +08:00
ee668ee658 test(BitScrambler): added more basic test cases
e.g. to test different eof mode, prefetch mode
2025-03-05 14:41:49 +08:00
cf169a402b Merge branch 'bugfix/fix_link_estab_compile_failure' into 'master'
fix(nimble): Handle probable release breaking change

See merge request espressif/esp-idf!37433
2025-03-05 13:58:46 +08:00
19716c764d feat(nimble): Allow BLE SPP Client to subscribe to the server 2025-03-05 11:26:16 +05:30
03b4711ed2 test: disable esp32c6 test for examples/peripherals/mcpwm/mcpwm_sync 2025-03-05 12:08:48 +08:00
daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
270cd77abb Merge branch 'feat/h4_introduce_step5' into 'master'
feat(esp32h4): add G0 component support (stage5)

See merge request espressif/esp-idf!37254
2025-03-05 11:08:33 +08:00
a39d8d43ee change(mbedtls/crt_bundle): Update esp_crt_bundle certificates 2025-03-05 10:44:47 +08:00
5787da0aec Merge branch 'feat/ble_read_long_value' into 'master'
feat(ble/bluedroid): Add Read Long Characteristic Values example

Closes FCS-1676

See merge request espressif/esp-idf!37273
2025-03-04 21:13:37 +08:00
cfed129e05 Merge branch 'bugfix/fix_some_bugs_ralated_to_channel_esp32c5' into 'master'
fix(wifi): refactor and fix second channel is always below in ht40 on 5G band

Closes FCW-198

See merge request espressif/esp-idf!35263
2025-03-04 17:43:16 +08:00
2aee9ac12c docs: Add translation for api-guides/tools/diag_tool 2025-03-04 16:44:35 +08:00
30f2578e75 fix(esp32h4): fix g0 component build 2025-03-04 16:17:18 +08:00
717c18a58e test: fix test name conflict 2025-03-04 15:53:33 +08:00
bbcef0570d ci: add test marks linter 2025-03-04 15:53:32 +08:00
47df2ed524 Merge branch 'fix/lp_uart_flush_wait_for_idle' into 'master'
fix(lp_uart): Update the `lp_core_uart_tx_flush()` API to wait for UART Tx idle state

Closes IDFGH-14693

See merge request espressif/esp-idf!37401
2025-03-04 15:50:26 +08:00
dcc26e3e4f feat(ble/bluedroid): Support read periodic advertiser list size command 2025-03-04 15:44:27 +08:00
f7bfa95d81 Merge branch 'fix/jpeg_decode_correctly_set_restart_interval' into 'master'
feat(jpeg_decoder): Correctly set JPEG restart interval

See merge request espressif/esp-idf!37370
2025-03-04 15:44:18 +08:00
b16095cf00 feat(esp32h4): add G0 component support (stage5) 2025-03-04 15:21:58 +08:00
2fa89207f4 ci(owners): update codeowners for testing components 2025-03-04 14:28:01 +08:00
64113b8e86 Merge branch 'bugfix/unit_test_example' into 'master'
fix(linux_target): fixed TEST_COMPONENTS not working on macOS for linux target

Closes IDFGH-14751

See merge request espressif/esp-idf!37429
2025-03-04 13:59:51 +08:00
a6ea9bcd41 fix(secure_boot): Fix SB verification failure when sig block and key digest mismatch
- Secure boot V2 verification failed when multiple keys are used to sign the bootloader
  and the application is signed with a key other than the first key that is used to
  sign the bootloader.
- The issue was introduced as a regression from the commit `ff16ce43`.
- Added a QEMU test for recreating the issue.
- Made SECURE_BOOT_FLASH_BOOTLOADER_DEFAULT independent of SECURE_BOOT_BUILD_SIGNED_BINARIES.
2025-03-04 11:26:51 +05:30
afb2154247 Merge branch 'docs/add_translation_for_bitscrambler' into 'master'
docs: Provide CN translation for bitscrambler

See merge request espressif/esp-idf!36804
2025-03-04 13:40:26 +08:00
f38bb558fc docs: Provide CN translation for bitscrambler 2025-03-04 13:40:26 +08:00
541c21f975 Merge branch 'feat/enable_l2mem_burst_buffer_mode' into 'master'
Enable l2mem burst buffer mode && improve AXI-ICM QoS function

See merge request espressif/esp-idf!37283
2025-03-04 11:14:20 +08:00
ca2e1c71c4 Merge branch 'bugfix/rmt_simple_encoder_example' into 'master'
fix(example): wrong ws2812 reset duration

Closes IDFGH-14759

See merge request espressif/esp-idf!37447
2025-03-04 11:10:14 +08:00
420e61d022 Merge branch 'docs/update_translation_for_nvs_bootloader' into 'master'
docs: Provide CN translation for nvs bootloader and fix broken link

Closes DOC-10278 and DOC-10343

See merge request espressif/esp-idf!37252
2025-03-04 10:05:42 +08:00
b1f63fe9b2 feat(ppp): Improve PPP server + client support
Make it easier to run a PPP server and client on different interfaces by
adding the interface name to logs and expose the PPP passive option.
2025-03-03 16:09:33 +01:00
0151c8db54 feat(ppp): Allow config PPP DNS servers for peer
Make it possible to set the DNS servers to provide to the peer. This is
useful when acting as a PPP server.

If any DNS server is set, don't request a DNS server from the peer.
2025-03-03 16:09:33 +01:00
65044efa22 Merge branch 'bugfix/ppa_srm_scale_frag_yuv420' into 'master'
fix(ppa): fix ppa srm potentially get blocked when scaling to YUV420

Closes IDF-12468

See merge request espressif/esp-idf!37318
2025-03-03 22:41:44 +08:00
1d400fb92e Merge branch 'refactor/gptimer_placement_by_app_trace' into 'master'
refactor(app_trace): don't need to place the whole gptimer driver in the IRAM

Closes IDF-12513

See merge request espressif/esp-idf!37430
2025-03-03 22:14:01 +08:00
70407df8c2 fix(build): don't call enable_language() before project()
For the Linux target, we currently attempt to fallback to older C/CXX
lagnuage standards in the __build_set_lang_version() function. The
language standard support is checked using CMake's language-specific
functions, such as check_c_compiler_flag(). These functions require the
language to be enabled[1] in CMake beforehand, which is done by calling
project() or by enabling the languages later with enable_language(). At
present, we use enable_language() to enable C and CXX languages in
CMake, allowing us to set the standard early, before invoking project().
However, newer CMake versions (>3.29) issue a warning[2] if
enable_language() is called before project(), as noted in CMP0165[3].

It should generally be acceptable to call __build_set_lang_version()
after __project(), but doing so would alter the behavior of the
COMPILE_OPTIONS also for non-Linux targets. Currently, users can
add to COMPILE_OPTIONS even before calling project() in the project's
CMakeLists.txt and the options will be in the desired order. In other
words, appending to COMPILE_OPTIONS can occur either before or after
calling project() in the project's CMakeLists.txt, with the outcome
remaining consistent. This means the user's settings will appear later
and take priority. However, if __build_set_lang_version() is called
after __project(), the user's COMPILE_OPTIONS settings would be
overridden if set before calling project(). Our documentation[4] explicitly
states that COMPILE_OPTIONS and similar properties should be modified
using idf_build_set_property() after calling project() to prevent
default values from overwriting them.

Even with this guidance, some existing components that modify
COMPILE_OPTIONS before invoking project() might be impacted by this
change. Therefore, separate the language standard settings for non-Linux
and Linux targets. For non-Linux targets, these settings are applied in
__build_set_default_build_specifications(), maintaining the current
behavior. For the Linux target, the language standard is set with
__linux_build_set_lang_version() after calling __project(), ensuring the
languages are already enabled in CMake and no warning is issued. Since the Linux
target is still in preview, this approach should be acceptable,
especially with the existing documentation[4].

Closes https://github.com/espressif/esp-idf/issues/15488

[1] https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html#languages
[2] https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9396
[3] https://cmake.org/cmake/help/latest/policy/CMP0165.html#policy:CMP0165
[4] https://docs.espressif.com/projects/esp-idf/en/v5.4/esp32/api-guides/
    build-system.html#overriding-default-build-specifications

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-03-03 14:52:18 +01:00
1c5708b07b fix(wifi): fix some bugs related channel 2025-03-03 20:40:45 +08:00
2ccbb2f91d fix(kconfig): Fix issues with Kconfig files 2025-03-03 13:02:41 +01:00
9715729b27 Merge branch 'fix/common_connect_sema_race' into 'master'
fix(connect): Fix wifi_connect to delete semaphores after waiting on them

See merge request espressif/esp-idf!37164
2025-03-03 20:01:15 +08:00
b815cb18b8 Merge branch 'bugfix/spi_lcd_dc_io_setup' into 'master'
fix(lcd): DC signal shouldn't affect the input path of the GPIO

Closes IDFGH-14740

See merge request espressif/esp-idf!37427
2025-03-03 18:28:09 +08:00
01652f590c Merge branch 'fix/tee_otadata_part_encrypted' into 'master'
fix(esp_tee): TEE otadata partition default encrypted for flash-enc case

See merge request espressif/esp-idf!36720
2025-03-03 17:49:05 +08:00
d96e325388 fix(example): wrong ws2812 reset duration
Closes https://github.com/espressif/esp-idf/issues/15498
2025-03-03 17:19:21 +08:00
a8e5fd4b86 fix(ci): Update UT to verify fast psk calculations
Also update some comments
2025-03-03 14:16:32 +05:30
d46b4fbfcf fix(linux_target): fixed TEST_COMPONENTS not working on macOS for linux target
Closes https://github.com/espressif/esp-idf/issues/15490
2025-03-03 16:42:18 +08:00
700f62e206 feat(wpa_supplicant): Support all targets generically in fastpsk 2025-03-03 14:04:45 +05:30
e02e6fe5ca fix(esp_wifi): Add some comments in github PR 15073
Closes https://github.com/espressif/esp-idf/pull/15073
2025-03-03 14:04:44 +05:30
03311c6867 feat(wpa_supplicant): Add optimized PSK impl
Signed-off-by: Chien Wong <m@xv97.com>
2025-03-03 14:04:44 +05:30
0ef626c3cb fix(esp_system): Remove unnecessary select from esp_system/Kconfig 2025-03-03 09:19:07 +01:00
3821d6cb97 fix(esp_tee): TEE otadata partition default encrypted for flash-enc case 2025-03-03 15:50:47 +08:00
eb5c2485e2 Merge branch 'fix/flash_encryption_verify_write' into 'master'
fix(spi_flash): Fix flash encryption write verify

Closes IDFGH-14629

See merge request espressif/esp-idf!37356
2025-03-03 15:14:09 +08:00
b11fa82eb6 fix(nimble): Handle probable release breaking change
link_estab event may be handled by customers in application and the previous would break it.
Revert few changes so as to not break the customer's code
2025-03-03 12:34:39 +05:30
2cd87223a8 feat(l2mem): enable buffer mode for ahb burst access 2025-03-03 14:38:24 +08:00
099c5a8a69 fix(axi_icm): qos can be applied to read and write independently 2025-03-03 14:38:24 +08:00
5c514e4634 refactor(app_trace): don't need to place the whole gptimer driver in the IRAM 2025-03-03 14:33:35 +08:00
7e00ea43f0 Merge branch 'bugfix/fix_some_ble_bugs_250220_esp32c3' into 'master'
Fixed some BLE bugs 250220 on esp32c3(b34b7d6)

Closes BLERP-1574, BLERP-1579, BLERP-1580, and BLERP-1581

See merge request espressif/esp-idf!37161
2025-03-03 14:31:51 +08:00
8fcac9284e feat(lwip): support cloning pbuf_ref when ipv6 forwarding; add unit tests
[LWIP submodule changes]: git log --oneline 0a44efa1..ebabd6d7

Detailed description of the changes:
  - ip6: add some unit test cases for ip6 forwarding (esp-lwip@ebabd6d7)
  - ip6: clone the buf when forwarding a PBUF_REF packet (esp-lwip@adcd330e)
2025-03-03 14:22:19 +08:00
46c404f4c0 fix(lcd): DC signal shound't affect the input path of the GPIO
With this fix, user can use the same GPIO for both LCD DC output and SPI
MISO input.

Closes https://github.com/espressif/esp-idf/issues/15478
2025-03-03 14:09:43 +08:00
cb9257dae7 Merge branch 'feat/can_bypass_buffer_align_check' into 'master'
feat(gdma): allow bypass the alignment check in the link driver

Closes IDFGH-14453

See merge request espressif/esp-idf!37255
2025-03-03 11:17:07 +08:00
da0ccb65c1 Merge branch 'contrib/github_pr_15431' into 'master'
docs(esp32c6) Fixed typos in Chinese documents (GitHub PR)

Closes IDFGH-14691

See merge request espressif/esp-idf!37177
2025-03-03 11:04:46 +08:00
9496949132 fix(ble/controller): Fix BLE Kconfig on ESP32 to avoid unexpected behavior 2025-03-03 11:02:06 +08:00
15b7f99f1d refactor(parlio): function placement distinguish from tx and rx driver 2025-03-03 11:00:59 +08:00
da69aee8f8 Merge branch 'fix/minimal_build_test_components' into 'master'
fix(build): include test components in the minimal build

Closes IDFGH-14746

See merge request espressif/esp-idf!37403
2025-03-02 15:30:30 +08:00
3bf56f7dd5 Merge branch 'bugfix/set_data_len_post_conn' into 'master'
fix(nimble): update data length after connection for all chips

Closes BLERP-1597

See merge request espressif/esp-idf!37263
2025-03-01 16:21:36 +08:00
df8a16281b feat(storage/fatfs): increase log legibility for fatfs mount 2025-02-28 14:59:48 +01:00
9eb6f68454 fix(build): include test components in the minimal build
When minimal build is enabled, it only includes the main component and
its dependencies. This leads to test components specified through
TEST_COMPONENTS being ignored, meaning no tests are executed. The issue
arises because test components are also checked against the COMPONENTS
variable, and if they aren't listed there, they are disregarded.  To fix
this, explicitly add TEST_COMPONENTS to COMPONENTS when the minimal
build is enabled.

Closes https://github.com/espressif/esp-idf/issues/15485

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-02-28 12:42:14 +01:00
714ebfc0d1 feat(esp_https_ota): added check for revision check while performing OTA
This commit added check to verify revision while performing OTA process.
OTA with version greater than chip revision will be prohibited.
2025-02-28 17:00:47 +05:30
a080ce9fad docs: Provide CN translation for nvs bootloader and fix broken link 2025-02-28 19:09:52 +08:00
648dc329f6 Merge branch 'change/move_deprecated_kconfig_checker' into 'master'
change: move check_deprecated_configs.py logic to esp-idf-kconfig

Closes IDF-9092

See merge request espressif/esp-idf!36588
2025-02-28 19:05:02 +08:00
bf51415d86 Merge branch 'fix/resource_leak_in_httpd_txrx' into 'master'
fix(http_txrx): Resource leak in http_txrx

Closes IDF-12529

See merge request espressif/esp-idf!37223
2025-02-28 17:42:30 +08:00
3420672964 Merge branch 'feat/esp_http_client_requests_logs' into 'master'
feat(esp_http_client): Unable to recognise http requests logs

See merge request espressif/esp-idf!37328
2025-02-28 17:41:19 +08:00
b4f59dae9c fix(lp_uart): Update the lp_core_uart_tx_flush() API to wait for Tx idle
This commit updates the lp_core_uart_tx_flush() API to wait for the Tx line
to become idle, therefore confirming that all bytes are sent out.

Closes https://github.com/espressif/esp-idf/issues/15433
2025-02-28 10:40:38 +01:00
9a917658a6 Merge branch 'fix/i2c_race_condition' into 'master'
fix(i2c_master): Fix i2c master race condition issue

Closes IDFGH-14704

See merge request espressif/esp-idf!37355
2025-02-28 17:38:10 +08:00
b504d61f42 Merge branch 'fix/usb_host_docs_host_num_chan_reference' into 'master'
fix(usb_host): Fixing rererence to OTG_NUM_HOST_CHAN in USB Host docs

See merge request espressif/esp-idf!37163
2025-02-28 16:16:08 +08:00
543b81b37b Merge branch 'docs/update_translation_for_unit_tests' into 'master'
docs: Update CN translation for unit-tests.rst

See merge request espressif/esp-idf!37310
2025-02-28 16:15:15 +08:00
262b9215f7 Merge branch 'feat/enable_pytest_for_async_handler' into 'master'
feat(http_server/async_handler): Http server async pytest was not enabled

Closes IDF-12544

See merge request espressif/esp-idf!37262
2025-02-28 16:06:51 +08:00
add27dfbd3 fix(spi_flash): Fix flash encryption write verify,
Closes https://github.com/espressif/esp-idf/issues/15380
2025-02-28 15:57:24 +08:00
35a6584e92 Merge branch 'docs/update_cn_translation_for_ulp_lp_core' into 'master'
docs: Update CN translation for ulp-lp-core.rst

See merge request espressif/esp-idf!37343
2025-02-28 14:25:12 +08:00
06da436a4c feat(http_server/async_handler): Http server async pytest was not enabled
Pytest for the http_server/async_handler example was not enabled,
this ensures that the pytest is enabled
2025-02-28 11:23:26 +05:30
9aaa7f828e Merge branch 'bugfix/spp_mem_leak' into 'master'
fix(bt/bluedroid): fixed memory leaks in SPP callback mode

Closes CBI-1224

See merge request espressif/esp-idf!37286
2025-02-28 10:40:36 +08:00
44d9cb3ae5 fix(nimble): update data length after connection for all chips 2025-02-27 20:55:00 +05:30
108006419a Merge branch 'bugfix/deprecate_link_estab' into 'master'
fix(nimble): Deprecate link_estab event

See merge request espressif/esp-idf!37029
2025-02-27 23:13:24 +08:00
714e626dc2 Merge branch 'fix/fix_sleep_modes_breaking_change' into 'master'
fix(esp_hw_support): warning instead of error when enabling uart/gpio wakeup in pd_top sleep

See merge request espressif/esp-idf!37293
2025-02-27 22:42:52 +08:00
a6c3a9cbbb Merge branch 'bugfix/adc_work_mode_for_ulp_riscv' into 'master'
fix(ulp-riscv): Fixed ADC oneshot initialization for ULP RISC-V

See merge request espressif/esp-idf!37245
2025-02-27 22:03:12 +08:00
b900a50132 feat(jpeg_decoder): Correctly set JPEG restart interval 2025-02-27 14:47:12 +01:00
8038037b07 fix(ppa): fix ppa srm potentially get blocked when scaling to YUV420
YUV420 requires scale_x_frag, scale_y_frag be even
2025-02-27 21:12:45 +08:00
e791f14bc4 fix(dma2d): dma2d_force_end should not crash when rx channel is idle 2025-02-27 21:12:45 +08:00
d672f909f3 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(b34b7d6)
- Fixed enhanced TX power setting and getting for legacy adv
- Fixed BLE assert lld_con.c 2387
- Fixed compatibility issues during the encryption procedure
- Support BLE vendor hci enable CCA command
2025-02-27 20:52:05 +08:00
83e8f70ee4 Merge branch 'lwip/ip_napt_enable_fix' into 'master'
fix(lwip): Fixed NULL pointer dereference in ip_napt_enable; add unit tests

Closes IDFGH-12823 and IDF-8155

See merge request espressif/esp-idf!36810
2025-02-27 20:09:10 +08:00
9f68b151db Merge branch 'bugfix/bt_ctrl_issues' into 'master'
fix(bt/controller): fixed some controller bugs on ESP32.

Closes IDFGH-14343, IDFGH-14392, and IDFGH-12607

See merge request espressif/esp-idf!37180
2025-02-27 19:39:46 +08:00
891f86d649 fix(nimble): Keep only BLE_GAP_EVENT_CONNECT gap event 2025-02-27 16:21:31 +05:30
de853be81e Merge branch 'feat/h4_introduce_step4_rom_support' into 'master'
feat(esp32h4): add esp_rom and efuse files (stage4)

See merge request espressif/esp-idf!37160
2025-02-27 18:11:44 +08:00
6858b37f51 fix(ulp-riscv): Fixed ADC oneshot initialization for ULP RISC-V
This commit fixes a bug in the ADC oneshot driver initialization for the
ULP RISC-V.
2025-02-27 10:51:16 +01:00
6bd6be3ed8 fix(esp_hw_support): warning instead of error when enabling uart/gpio wakeup in pd_top sleep 2025-02-27 16:15:36 +08:00
2d1c99e74f Merge branch 'fix/fix_bad_dslp_param_after_lightsleep' into 'master'
fix(esp_hw_support): Fixed the issue that light sleep destroyed the parameters of subsequent deep sleep

Closes PM-366 and BLERP-1602

See merge request espressif/esp-idf!37276
2025-02-27 15:51:55 +08:00
90d477c9a6 fix(i2c_master): Fix i2c master race condition issue,
Closes https://github.com/espressif/esp-idf/issues/15444
2025-02-27 15:27:58 +08:00
95fe253065 feat(gdma): allow bypass the alignment check in the link driver
Closes https://github.com/espressif/esp-idf/issues/15228
2025-02-27 15:18:06 +08:00
4f968c3fc5 Merge branch 'contrib/github_pr_15401' into 'master'
Fix idf_as_lib example (GitHub PR)

Closes IDFGH-14655

See merge request espressif/esp-idf!37127
2025-02-27 15:00:12 +08:00
ce3d603e05 Merge branch 'feature/esp32h21_gdma_support' into 'master'
feat(gdma): add GDMA support for ESP32H21

Closes IDF-11603 and IDF-11604

See merge request espressif/esp-idf!37063
2025-02-27 14:07:52 +08:00
f02812544e Merge branch 'fix/fix_parlio_test_case' into 'master'
fix(parlio): increase test case success rate

See merge request espressif/esp-idf!37307
2025-02-27 14:04:38 +08:00
e81a9285fe Merge branch 'bugfix/esp32s2_memprot_clear' into 'master'
fix(esp_hw_support): clear the memory protection interrupt status on boot

Closes IDFGH-5968 and IDFGH-14602

See merge request espressif/esp-idf!36801
2025-02-27 12:54:06 +08:00
a07e67893b fix(parlio): increase test case success ratio 2025-02-27 11:58:52 +08:00
19f148ed9d docs: Update CN translation for ulp-lp-core.rst 2025-02-27 11:36:01 +08:00
dbd2aa8c54 Merge branch 'refactor/optimize_flash_iram_usage' into 'master'
refactor(spi_flash): optimize flash functions to save IRAM memory

See merge request espressif/esp-idf!36902
2025-02-27 11:26:23 +08:00
80bc9d8828 Merge branch 'feat/h2_v1.2_compatibility' into 'master'
doc(compatibility): add compatibility info for h2 v1.2

See merge request espressif/esp-idf!37174
2025-02-27 09:03:07 +08:00
1f08a8c67e Merge branch 'fix/flush_esptool_output' into 'master'
fix(esptool): Fix flush output while flashing

Closes ESPTOOL-1014

See merge request espressif/esp-idf!37243
2025-02-27 06:34:45 +08:00
371c7edb22 Merge branch 'dev/ble_log_spi_output' into 'master'
fix(ble): fix flushout and sync issues

See merge request espressif/esp-idf!37282
2025-02-26 23:00:40 +08:00
8606eb43f7 Merge branch 'feat/optimize_vfs_mountpoint_table' into 'master'
feat(storage/vfs): improve mountpoint table memory usage

Closes IDF-12560

See merge request espressif/esp-idf!36613
2025-02-26 22:08:15 +08:00
fec59ecb42 Merge branch 'docs/fatfs_unlink_discrepancy' into 'master'
docs(storage/fatfs): discrepancies between FATFS and POSIX

Closes IDFGH-14405 and DOC-10313

See merge request espressif/esp-idf!36941
2025-02-26 21:40:29 +08:00
d53b0a9111 Merge branch 'fix/usb-hal-dwc-host-channel-num' into 'master'
fix(usb/hal/dwc): Correct host channel number calculation

See merge request espressif/esp-idf!37173
2025-02-26 21:19:51 +08:00
51fd02dd83 Merge branch 'fix/usb_phy_set_speed' into 'master'
fix(usb/phy): Fixed crash on external PHY init with speed != UNDEFINED

See merge request espressif/esp-idf!37218
2025-02-26 19:50:23 +08:00
9d8805563d feat(esp_http_client): Unable to recognise http requests logs
In the esp_http_client_example, it becomes difficult to
determine which request or request type a log belongs to.
2025-02-26 17:19:48 +05:30
cd8fa5c46f fix(bt/bluedroid): fixed memory leaks in SPP callback mode 2025-02-26 19:12:47 +08:00
8f371a5004 docs(spi_flash): Add docs for spi_flash IRAM usage 2025-02-26 18:29:35 +08:00
b66e140fbc refactor(spi_flash): optimize flash functions to save iram memory 2025-02-26 18:28:49 +08:00
8014ffa225 Merge branch 'fix/esp_tee_aes_sha_prot' into 'master'
fix(esp_tee): Protect the AES/SHA clock registers from REE access

Closes IDF-8954 and IDF-7188

See merge request espressif/esp-idf!36783
2025-02-26 18:06:44 +08:00
656415b8aa Merge branch 'docs/update_cn_translation_for_storage_fatfs' into 'docs/fatfs_unlink_discrepancy'
docs: Update CN translation for fatfs

See merge request espressif/esp-idf!37155
2025-02-26 17:50:42 +08:00
b5c5a69a95 docs: Update CN translation for unit-tests.rst 2025-02-26 17:46:23 +08:00
dfd8098716 fix(usb/hal/dwc): Correct host channel number calculation
The hardware field `ghwcfg2.numhstchnl` is zero-based, meaning the actual
number of available host channels is `numhstchnl + 1`. This off-by-one
error caused the USB Host controller to report N-1 channels instead of N,
leading to premature "No more HCD channels available" errors when
connecting multiple devices.

This issue affects ESP32-S2, ESP32-S3, and ESP32-P4.
2025-02-26 17:29:06 +08:00
64f4956d4f fix(esptool): Fix flush output while flashing
With the new esptool v5.0 the output is not flushed while flashing
the firmware. This commit fixes the issue by using python unbuffered mode.
2025-02-26 10:04:16 +01:00
aa424235e2 Merge branch 'fix/fix_ot_uart_init_bug' into 'master'
fix(openthread): fix a bug of openthread uart init port

Closes TZ-1564

See merge request espressif/esp-idf!37284
2025-02-26 16:46:27 +08:00
309747bf9a fix(bt/controller): fixed some controller bugs on ESP32.
1. added a VSC to control whether to initiate lmp_auto_rate
        - Closes https://github.com/espressif/esp-idf/issues/15133
    2. fixed EA resource cleanup error after SNIFF negotiation failure
        - Closes https://github.com/espressif/esp-idf/issues/13605
    3. removed an assertion in SCO data TX handler after disconnection
        - Closes https://github.com/espressif/esp-idf/issues/15176
2025-02-26 16:31:06 +08:00
70b474a08a Merge branch 'feat/c2_v2.0_compatibility' into 'master'
hw_support: Add compatibility information and Kconfig option for c2 v2.0

See merge request espressif/esp-idf!35831
2025-02-26 16:01:58 +08:00
8778ed2812 Merge branch 'feature/update_ring_buffer_doc' into 'master'
feat(esp_ringbuf): Update ring buffer doc

Closes IDFGH-14536

See merge request espressif/esp-idf!36760
2025-02-26 15:58:36 +08:00
038d99f3c5 feat(efuse): Generate efuse source files for ESP32-H4 2025-02-26 09:50:11 +02:00
6aa557c845 Merge branch 'feat/add_save_debug_context_250226' into 'master'
Feat/add save debug context 250226

Closes BLERP-1561 and BLERP-1604

See merge request espressif/esp-idf!37281
2025-02-26 14:45:33 +08:00
b144337020 fix(ble): fix flushout and sync issues 2025-02-26 12:27:22 +08:00
132444cd08 Merge branch 'feat/support_esp32h21_modem_clock' into 'master'
feat(esp_hw_support): support esp32h21 modem clock

Closes PM-348

See merge request espressif/esp-idf!37082
2025-02-26 12:02:43 +08:00
76c207250d fix(openthread): fix a bug of openthread uart init port 2025-02-26 11:53:55 +08:00
548caad60b Merge branch 'doc/wrong_info_about_psram_support' into 'master'
docs(gpio): fix wrong psram support information

See merge request espressif/esp-idf!37280
2025-02-26 11:48:21 +08:00
zwl
da07b1fabe feat(ble): add a debug way to retain scene on ESP32-C5 2025-02-26 11:02:56 +08:00
zwl
bc299e784c feat(ble): add a debug way to retain scene on ESP32-C6 2025-02-26 11:00:12 +08:00
efdce75bb1 Merge branch 'fix/feed_wdts_during_ble_log_dump_c2' into 'master'
fix(ble): add feed wdts during ble log dump for ESP32-C2

Closes BLERP-1598

See merge request espressif/esp-idf!37265
2025-02-26 10:42:59 +08:00
32e4fb79e8 feat(ble/bluedroid): Add Read Long Characteristic Values example 2025-02-26 10:37:53 +08:00
zwl
5b8ac71ace fix(ble): fixed common kconfig error when controller enable only 2025-02-26 10:37:35 +08:00
3dc8c0f3cb docs(gpio): fix wrong psram support information
PSRAM is NOT supported on esp32c3, but IS supported on esp32c5 and
esp32c61
2025-02-26 10:23:18 +08:00
dd2bde0847 fix(esp_hw_support): fix lightsleep destroys deepsleep rtc parameters 2025-02-26 10:13:07 +08:00
26078bbf9a docs: Update CN translation for fatfs 2025-02-26 10:04:26 +08:00
c264d8c580 fix(lwip): Fixed NULL pointer dereference in ip_napt_enable; add unit tests
[LWIP submodule changes]: git log --oneline fa4dffdf..0a44efa1

Detailed description of the changes:
  - napt: Fixed NULL pointer dereference in ip_napt_enable (espressif/esp-lwip@0a44efa1)
  - napt: Added unit tests for napt (espressif/esp-lwip@865d7d0c)

Closes https://github.com/espressif/esp-lwip/issues/69
2025-02-26 00:24:10 +11:00
0461e2ff88 Merge branch 'feat/add_ble_ctrl_log_module_on_esp32c3' into 'master'
feat(bt): Added BLE log module on ESP32-C3 and ESP32-S3(723439d)

Closes BLERP-1590 and BLERP-1591

See merge request espressif/esp-idf!37220
2025-02-25 20:40:41 +08:00
873409da6b refactor(esp_tee): Simplify service call ASM routine
- Remove `mret` for jumping to the service call dispatcher; instead, enable
  interrupts and execute directly
- Fix potential corruption of the `t3` register when returning from a service
  call
- Simplify the secure service dispatcher function
2025-02-25 17:18:08 +05:30
909d81283d Merge branch 'docs/fix_some_coexist_doc_issue' into 'master'
docs(coex): update rf coexistence documents

See merge request espressif/esp-idf!36974
2025-02-25 19:33:14 +08:00
a74f9cbe63 feat(esp32h4): add esp_rom and efuse files (stage4) 2025-02-25 19:30:03 +08:00
5c4a527750 refactor(esp_tee): Remove explicit setting of the HP_CPU APM/TEE security mode 2025-02-25 16:49:08 +05:30
26fa7109f3 fix(esp_tee): Protect the AES/SHA clock registers from REE access 2025-02-25 16:49:08 +05:30
a99753d293 fix(esp_hw_support): clear the memory protection interrupt status on boot
Fixes https://github.com/espressif/esp-idf/issues/15359
2025-02-25 18:06:38 +08:00
e2e8e7dce1 fix(ble): add feed wdts during ble log dump for ESP32-C2 2025-02-25 17:57:15 +08:00
d7222cc89e Merge branch 'feature/usb_host_ext_hub_error_handle' into 'master'
feat(ext_hub): Added device error handling

Closes IDF-10057

Closes https://github.com/espressif/esp-idf/issues/15437

See merge request espressif/esp-idf!33956
2025-02-25 17:18:46 +08:00
a4a28b57a3 feat(gdma): add GDMA support for ESP32H21 2025-02-25 17:05:48 +08:00
9f0c8e7bfc docs(coex): update rf coexistence documents
- remove BLE connecting state in coexistence scenario
- remove WIFI section in H2 docs
2025-02-25 17:05:34 +08:00
54cb6636ec ci: add idf_as_lib to patterns-build_system rules
The `idf_as_lib` example is used and tested in
`tools/test_build_system/test_cmake.py`. Include `idf_as_lib` in the
build_system rules to ensure the tests are executed whenever there is a
modification in the `idf_as_lib` example.

Expand the `test_build_custom_cmake_project` test to cover all supported
targets, including host build.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-02-25 08:54:02 +01:00
46ce02b8f2 change(ble): update c5 beta5 lib phy to phy_version: 1 103, 48ac5755, Feb 22 2025 2025-02-25 15:29:30 +08:00
d4c15e2cb6 feat(bt): Update bt lib for ESP32-C3 and ESP32-S3(723439d)
- Added BLE controller debug log trace
- Added BLE controller log module
2025-02-25 15:18:58 +08:00
61f992a061 Merge branch 'contrib/github_pr_15291' into 'master'
fix(esp_http_client): Fix invalid content length header (GitHub PR)

Closes IDFGH-14528

See merge request espressif/esp-idf!37036
2025-02-25 13:03:12 +08:00
e7088bbd07 Merge branch 'feat/add_uart_support_on_h21' into 'master'
feat(uart): support uart on esp32h21

Closes IDF-11618, IDF-11620, and IDF-12143

See merge request espressif/esp-idf!37197
2025-02-25 11:26:09 +08:00
d17b0ed4fe Merge branch 'feature/esp32h21_gpio_support' into 'master'
feat(esp32h21): support GPIO on esp32h21

Closes IDF-11611

See merge request espressif/esp-idf!36781
2025-02-25 11:12:54 +08:00
13188dc33b Merge branch 'ci/update_patterns-build_check' into 'master'
ci: add build_system example to patterns-build_check

See merge request espressif/esp-idf!37191
2025-02-25 10:34:39 +08:00
e405583bae Merge branch 'update_usb_jtag_doc' into 'master'
docs(jtag): add esp32p4 usb jtag pin numbers

Closes DOC-10317

See merge request espressif/esp-idf!36698
2025-02-24 21:12:34 +08:00
e964cc3ad5 Merge branch 'refactor/gptimer_isr_logs_opt_int' into 'master'
feat(gptimer): make start and stop function idempotent, also refactored the doc structure

Closes IDFGH-11157, IDFGH-12474, IDF-12513, and IDFCI-2734

See merge request espressif/esp-idf!36983
2025-02-24 20:51:42 +08:00
c7993c2725 change: move check_deprecated_configs.py file to esp-idf-kconfig 2025-02-24 12:52:55 +01:00
e815f68a50 docs(usb_host): Removed the limitation for Low-speed device connected via hub 2025-02-24 19:39:53 +08:00
858947e461 feat(ext_hub): Added support for low-speed devices, connected via hubs 2025-02-24 19:39:53 +08:00
837311c0ff Merge branch 'bugfix/pmkid_password_mismatch' into 'master'
fix(wifi): Fix wrong PMKSA cache entry being used when wifi password is changed

Closes WIFIBUG-622, WIFIBUG-648, and WIFIBUG-702

See merge request espressif/esp-idf!33285
2025-02-24 19:37:49 +08:00
73eb376eb1 Merge branch 'feat/h21_gptimer_support' into 'master'
feat(driver_gptimer): esp32h21 add basic gptimer support

Closes IDF-11594

See merge request espressif/esp-idf!37028
2025-02-24 19:32:11 +08:00
56de1f4ed1 fix(http_txrx): Resource leak in http_txrx
res_buf was not freed for the chunk response type in case of
first_chunk_sent true condition.

This commit ensures that resp_buf is freed and few cosmetic
changes are made
2025-02-24 15:45:58 +05:30
028a16c01c feat(uart): support uart on esp32h21 2025-02-24 17:49:45 +08:00
7e54886a4e feat(esp32h21): move gpio intr source to gpio_ll.h 2025-02-24 17:32:01 +08:00
51ad6cfab0 feat(esp32h21): support RTC_IO and hysteresis on ESP32H21 2025-02-24 17:31:55 +08:00
d3acbe15aa feat(esp32h21): refactor gpio_ll to use io_mux_struct 2025-02-24 17:25:58 +08:00
760f134d84 feat(esp32h21): support GPIO on esp32h21 2025-02-24 17:24:16 +08:00
046279155d Merge branch 'fix/spi_device_dynamic_freq_bug' into 'master'
fix(driver_spi): fixed wrong condition check in master driver device override_freq_hz feature

Closes IDF-12525

See merge request espressif/esp-idf!37222
2025-02-24 16:40:47 +08:00
18c09cfe64 Merge branch 'fix/fix_security_app_readme' into 'master'
fix(security): Fixed README for security features app

See merge request espressif/esp-idf!37140
2025-02-24 16:08:39 +08:00
e2fc36349a Merge branch 'contrib/github_pr_15388' into 'master'
fix(esp_http_client): Fix host header for IPv6 address literal (GitHub PR)

Closes IDFGH-14640

See merge request espressif/esp-idf!37035
2025-02-24 16:02:27 +08:00
c9dff55c9f Merge branch 'bugfix/gpio_standardization_fix' into 'master'
fix(gpio): minor improvement to output/input configuration step

Closes IDF-12240

See merge request espressif/esp-idf!36973
2025-02-24 15:56:59 +08:00
97b7b880c7 Merge branch 'refactor/rng_ll_c61' into 'master'
rng: refactor to use hal/ll apis for esp32c61

Closes IDF-12467

See merge request espressif/esp-idf!37019
2025-02-24 15:47:38 +08:00
33e81e572b Merge branch 'feat/h4_introduce_step2_3' into 'master'
feat(esp32h4): add soc register header files (stage 3/8, part 3/3)

See merge request espressif/esp-idf!37092
2025-02-24 15:39:11 +08:00
5f70a525f0 doc(gptimer): refactor doc structure
Split into two parts: quick start and advanced usage
2025-02-24 15:04:19 +08:00
9822433957 feat(gptimer): make start and stop function idempotent
Closes https://github.com/espressif/esp-idf/issues/12325
Closes https://github.com/espressif/esp-idf/issues/13486
2025-02-24 14:53:34 +08:00
5f2a7f4d29 Merge branch 'feat/add_ble_spi_log' into 'master'
fix(ble/bluedroid): Support SPI log output options for HCI

Closes BLERP-1585 and BLERP-1586

See merge request espressif/esp-idf!37207
2025-02-24 14:37:41 +08:00
37a4de8a71 Merge branch 'fix/incorrect_calculation_of_used_xip_pages' into 'master'
fix(esp_psram): Fix incorrect calculation of used XIP PSRAM pages

See merge request espressif/esp-idf!37069
2025-02-24 13:54:53 +08:00
0d6b29c369 Merge branch 'chor/update_etm_register_esp32c61' into 'master'
change(etm): update soc register files for esp32c61

See merge request espressif/esp-idf!37152
2025-02-24 13:22:23 +08:00
62700fa36f feat(esp32h4): add soc register header files (stage2_3)
add soc headers made by hand
2025-02-24 12:20:27 +08:00
90728ade83 fix(driver_spi): fixed wrong condition check in master driver device override_freq_hz feature 2025-02-24 11:50:42 +08:00
c7ee2d7157 refactor(pmu): replace regi2c registers with LL APIs 2025-02-24 11:16:48 +08:00
d598c9db7c refactor(rng): refactor to use hal/ll apis for c61 2025-02-24 11:16:48 +08:00
877057db3d Merge branch 'fix/fix_timeout_issue_in_https_server' into 'master'
fix(esp-tls): Fixed the server session create API

Closes IDFGH-14201

See merge request espressif/esp-idf!36519
2025-02-23 19:07:00 +08:00
b6903296ad fix(ble/bluedroid): Added SPI output support for Bluedroid host log 2025-02-23 17:23:54 +08:00
e00ba3cbd1 fix(ble/bluedroid): Support SPI log output options for HCI 2025-02-23 11:46:47 +08:00
e66405232c docs: add idf.py diag documentation to api-guides
Add the initial documentation for the idf.py diagnostic tool, detailing
how it can be used to gather information for troubleshooting issues
related to the ESP-IDF project.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-02-22 09:02:20 +01:00
c9183973cc docs: Update CN translation for fatfs 2025-02-21 21:39:44 +08:00
d87a6d4b61 feat(fatfs): Add Kconfig options to set FF_FS_NOFSINFO value
Closes https://github.com/espressif/esp-idf/issues/15241
2025-02-21 21:39:44 +08:00
ca24a117c7 fix(usb/phy): Fixed crash on external PHY init with speed != UNDEFINED
Also deprecated usb_phy_otg_dev_set_speed()
and usb_phy_action() which are no longer used in esp-idf
2025-02-21 14:11:51 +01:00
cfe4bf339f feat(driver_gptimer): esp32h21 add basic gptimer support 2025-02-21 20:22:41 +08:00
93b4ef13ae docs(jtag): add esp32p4 usb jtag pin numbers 2025-02-21 10:32:43 +01:00
26a1b69a2a Merge branch 'feat/add_sdk_config_for_sdp_size_option' into 'master'
feat(bt): Implement SDK Config SDP Size Options

See merge request espressif/esp-idf!36873
2025-02-21 17:03:52 +08:00
a397a44819 feat(esp32h21): update h21 soc_etm_source 2025-02-21 16:59:53 +08:00
1bfc6eddf0 Merge branch 'bugfix/fix_ble_report_len' into 'master'
fix(ble/bluedroid): Fix adv data and scan rsp data not reported together in BLE active scan

Closes BCI-493

See merge request espressif/esp-idf!37132
2025-02-21 15:29:43 +08:00
a1e6387c16 fix(esp_psram): Fix incorrect calculation of used XIP PSRAM pages
The functions mmu_config_psram_text_segment() and mmu_config_psram_rodata_segment()
used to return the value of next start page in *out_page instead of the number
of pages used as mentioned in the documentation
2025-02-21 11:07:39 +05:30
3d5bf355c3 fix(wifi): Fix wrong PMKSA cache entry being used when wifi password is changed 2025-02-21 10:54:57 +05:30
7bc8938469 ci: add build_system example to patterns-build_check 2025-02-21 12:25:45 +08:00
1633c1a2bb Merge branch 'docs/wifi_wpa3_ent_migration_guide_v5.4' into 'master'
docs(wifi): Add migration guide for WPA3-Enterprise authentication modes for v5.4

See merge request espressif/esp-idf!36827
2025-02-21 11:50:53 +08:00
a38893d2d1 Merge branch 'feat/add_ble_log_spi_out_printf' into 'master'
feat(ble): add printf interface for ble log spi out

Closes BLERP-1582

See merge request espressif/esp-idf!37162
2025-02-21 10:47:34 +08:00
a5fe1e2a46 Merge branch 'feature/h21_panic' into 'master'
feat(esph21): bringup and test panic handler

Closes IDF-11546

See merge request espressif/esp-idf!37007
2025-02-21 10:25:03 +08:00
af0f270e17 Merge branch 'bugfix/memprot_s2_intr_peri1' into 'master'
fix(security): ESP32S2 memory protection check for Peri1 RTCSLOW interrupt

See merge request espressif/esp-idf!37105
2025-02-21 01:43:44 +08:00
43a7248501 Merge branch 'contrib/github_pr_14785' into 'master'
Removed dependency on esp32 to use secure element (GitHub PR)

Closes IDFGH-13955 and IDFGH-13922

See merge request espressif/esp-idf!36935
2025-02-21 00:52:38 +08:00
786dcacd8b fix(security): Fixed README for security features app 2025-02-20 22:05:48 +05:30
d6aff6d2a4 Merge branch 'bugfix/fix_cache_count_flash_pages_patchs_return_wrong_value' into 'master'
fix(rom): Fix s2 and s3 Cache_Count_Flash_Pages rom function wrapper

Closes IDFGH-14494

See merge request espressif/esp-idf!36594
2025-02-20 23:47:27 +08:00
1aae76f524 doc(compatibility): add compatibility info for h2 v1.2 2025-02-20 22:10:01 +08:00
7361aca98b doc(compatibility): add compatibility info for c2 v2.0 2025-02-20 21:56:25 +08:00
05ea550597 fix(usb_host): Fixing dererence to OTG_NUM_HOST_CHAN in docs 2025-02-20 14:07:00 +01:00
e57f02e920 Merge branch 'doc/add_wakeup_source_usage_precautions' into 'master'
change(doc): added more usage notes about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP

Closes IDF-12166

See merge request espressif/esp-idf!36879
2025-02-20 21:00:15 +08:00
53d8b70e8b fix(gpio): fix IO output enable control
oen_sel and oen_inv_sel fields from func_out_sel_cfg register
2025-02-20 19:49:28 +08:00
5fb8cc06ab fix(bt/bluedroid): Fixed BLE connection active count getting 2025-02-20 19:42:40 +08:00
bbd9acee93 Merge branch 'test/reenable_perf_benchmark_c61' into 'master'
test: Re-enable perf_benchmark test for C61

Closes IDF-10977

See merge request espressif/esp-idf!37073
2025-02-20 19:35:43 +08:00
57a52f571d change(bt): optimize the macro definition for sdp_max_pad_len 2025-02-20 19:12:40 +08:00
50e3a2bcba Merge branch 'bugfix/fix_cpu_crash_bug_esp32' into 'master'
bugfix/fix_qa_fail_bug_esp32

See merge request espressif/esp-idf!36353
2025-02-20 18:56:01 +08:00
1d6bcb86ba fix(gpio): removed unnecessary step when routing input signal to a pin 2025-02-20 18:54:19 +08:00
a88bd155cd fix(ledc): overflowed integer argument in ledc_hal_clear_left_off_fade_param 2025-02-20 18:54:19 +08:00
76133bc373 Merge branch 'fix/remove_gpio_hal_iomux_func_sel' into 'master'
fix(driver_gpio): remove gpio_hal_iomux_func_sel

See merge request espressif/esp-idf!33928
2025-02-20 18:52:35 +08:00
9ed5ea1acf docs: Add migration guide for WPA3-Enterprise authentication modes for v5.4 2025-02-20 16:18:36 +05:30
dd27588ea7 fix(connect): Fix wifi_connect to delete semaphores after waiting on them
On wifi-disconnect (after all retries), we signal to the IP semaphores
and delete them immediately, while the wait thread might be still
holding on them causing:
```
I (1682) example_connect: Waiting for IP(s)
I (4092) example_connect: Wi-Fi disconnected 201, trying to reconnect...
I (6502) example_connect: WiFi Connect failed 2 times, stop reconnect.

assert failed: spinlock_acquire spinlock.h:142 (lock->count == 0)
```
2025-02-20 11:34:51 +01:00
f77183ceaf Merge branch 'docs/add_translation_for_5.5_protocols' into 'master'
docs: Update CN translation for 5.5/protocol

Closes DOC-10239

See merge request espressif/esp-idf!37124
2025-02-20 17:57:56 +08:00
f390fcbd90 Merge branch 'bugfix/fix_hid_reconnect_issue' into 'master'
feat(bt/bluedroid): Add Kconfig option to keep device bonding info when HID unplugging

See merge request espressif/esp-idf!36975
2025-02-20 17:25:34 +08:00
f8efa4cd80 feat(ble): add printf and write with timestamp interface for ble log spi out 2025-02-20 17:21:52 +08:00
d305628c25 feat(hal): add esp32h21 modem_clock hal layer 2025-02-20 15:18:13 +08:00
88a3a6c58d feat(soc): add esp32h21 modem_clock registers 2025-02-20 15:16:12 +08:00
81e8b752fd Merge branch 'feat/support_esp32h21_pau' into 'master'
feat(esp_hw_support): support esp32h21 PAU

Closes PM-347

See merge request espressif/esp-idf!37065
2025-02-20 15:06:57 +08:00
3a64c44d86 fix(esp32): Fixed qa program may fail issue when cpu 240m 2025-02-20 15:05:12 +08:00
af7b6b71ea fix(rom): Fix s2 and s3 Cache_Count_Flash_Pages rom function wrapper
The rom function on the s2 and s3 only counts one page for any pages
which are mapped to page 0 of flash as the Cache_Flash_To_SPIRAM_Copy
function attempts to map all flash page 0 mapped pages to one PSRAM
page.

As this function can be called for multiple regions, it needs to track
if a page mapped to page 0 has previously been accounted for by a
previous call. It does this using the page0_mapped in-out parameter.
This logic contains an error:

```
if (*page0_mapped == 0) {
    // BUG: If page0_count is 0, 1 is still added
    count = valid_flash_count + 1 - page0_count;
} else {
    count = valid_flash_count - page0_count;
}
*page0_mapped += page0_count;
return count;
```

The current Cache_Count_Flash_Pages wrapper in the idf attempts to
compensate for this bug by checking if the page0_mapped parameter was
changed by a call to the function and reducing the count if it has not.

This, however, will incorrectly over-compensate in situations where the
initial value of page0_mapped was not zero as the code above only
miscounts when it was zero.

This patch addresses the issue in this wrapper function by correctly
compensating for the bug only in cases where the final page0_mapped
value is 0.
2025-02-20 15:04:10 +08:00
90d59288b1 change(etm): update soc register files for esp32c1
removed unavailable fields
2025-02-20 14:20:05 +08:00
79ee0927d1 Merge branch 'fix/fix_s2_s3_rtc_iomux_clock_management' into 'master'
fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management

Closes PM-341, IDFGH-8992, and IDFGH-11560

See merge request espressif/esp-idf!36831
2025-02-20 13:52:45 +08:00
0f3fb0c0fb docs: Update CN translation for 5.5/protocol 2025-02-20 11:59:08 +08:00
4e073fe166 Merge branch 'refactor/change_blink_gpio_on_esp32s3' into 'master'
change(blink): default gpio changed for esp32s3 devkitc v1.1

See merge request espressif/esp-idf!37080
2025-02-20 11:02:20 +08:00
45b1141f8f change(blink): default gpio changed for esp32s3 devkitc v1.1
https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-devkitc-1/user_guide.html

Also related to: https://github.com/espressif/esp-idf/issues/8547
2025-02-20 10:15:48 +08:00
8355b832d3 Merge branch 'ci/add-python-func-and-fix-c-testcase-path-in-junit-report' into 'master'
ci: add python_func attribute and fix C testcase path resolution in JUnit reports

Closes RDT-1013, IDFCI-1990, IDFCI-1964, and IDFCI-1429

See merge request espressif/esp-idf!35058
2025-02-20 10:09:52 +08:00
d675680d5e Fix typos in Chinese documents. 2025-02-20 09:28:30 +08:00
c004b93669 Merge branch 'feature/usb_host_usbh_uid_presence_in_list' into 'master'
feature(usbh): Added uid presence check in USBH device object list

Closes IDF-10022

See merge request espressif/esp-idf!36705
2025-02-19 23:46:43 +08:00
64ae64fb16 fix(security): Fixed ESP32S2 memory protection check for Peri1 RTCSLOW interrupt
- fixes the issue found in https://github.com/espressif/esp-idf/issues/15359
- extends debug printouts in the related tests
2025-02-19 14:14:27 +01:00
0f69fda3d5 change(doc): added more usage notes about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP 2025-02-19 20:54:21 +08:00
7f2cedc048 fix(ble/bluedroid): Fix adv data and scan rsp data not reported together in BLE active scan 2025-02-19 20:18:35 +08:00
6b1d8dbbfb Merge branch 'change/ble_update_lib_20250217' into 'master'
change(ble): [AUTO_MR] 20250217 - Update ESP BLE Controller Lib

Closes BLERP-1562

See merge request espressif/esp-idf!37025
2025-02-19 19:53:24 +08:00
3b28818ba4 fix(examples): idf_as_lib linux build
The Linux build was broken after IDF flash API was updated without updating
the Linux stub library in the example. This commit updates the spi_flash stub
library such that:

- The API now matches same API as IDF's spi_flash component
- Links the stub_esp32 library to pull in basic types and defines
2025-02-19 18:41:05 +08:00
0b6922405d fix(examples): idf_as_lib move flash_ops.c to spi_flash stub library
Example linux build of the example demonstrates "esp32" and "spi_flash" stub
libraries (roughly analogous to "esp_system" and "spi_flash" components).

This commit moves the "flash_ops.c" file to the "spi_flash" stub library as it
is a flash related funciton.

Also renamed the header to "esp_flash.h" (in order to match current header name
in IDF). This is a prerequisite to fixing the linux build of this example.
2025-02-19 18:41:05 +08:00
5301eaf0d8 fix(examples): Fix idf_as_lib for esp32p4
The build-esp32p4.sh and run-esp32p4.sh scripts are not symbolic links to the
base scripts, leading to a "permission denied" error. This commit changes their
types to symbolic links, in line with the other targets.
2025-02-19 18:39:18 +08:00
f31a0f7f61 fix(esp_http_client): Fix host header for IPv6 address literal
An IPv6 IP that occurs in the 'Host:' header of an HTTP request must be enclosed
in square brackets (RFC3986 section 3.2.2).

Searches for ':' in the host string to efficiently determine if the host is an
IPv6 IP address.
2025-02-19 10:41:05 +01:00
486f3cdb7b docs: update document to remove dependency of esp32 on secure element usage 2025-02-19 14:54:24 +05:30
bfa25448b7 change(secure-element): Removed dependency on esp32 to use secure element
Closes https://github.com/espressif/esp-idf/pull/14785
Closes https://github.com/espressif/esp-idf/issues/14761
2025-02-19 14:54:24 +05:30
46952c601d feat(usb_host): Added uid presence check in USBH device object list 2025-02-19 10:23:44 +01:00
8ad16fd58d Merge branch 'feat/support_ble_vendor_hci_event_report' into 'master'
feat(bt/bluedroid): Support BLE vendor hci event reporting

Closes BLERP-1542

See merge request espressif/esp-idf!36800
2025-02-19 17:18:24 +08:00
222b1ddbab fix(driver_gpio): remove gpio_hal_iomux_func_sel 2025-02-19 17:17:51 +08:00
e01877ff2e Merge branch 'bug/xtensa_cpu1_sys_lockup' into 'master'
fix(panic_handler): Updated panic handler to use RTC WDT

Closes IDFGH-14379, IDFGH-14221, IDFGH-8665, and DOC-10263

See merge request espressif/esp-idf!36652
2025-02-19 17:11:10 +08:00
36335e38b6 Merge branch 'feat/h4_introduce_step2_2' into 'master'
feat(esp32h4): add soc register header files (stage 3/8, part 2/3)

See merge request espressif/esp-idf!37030
2025-02-19 16:27:31 +08:00
51205a8fd8 fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management 2025-02-19 16:02:25 +08:00
7e93f4b5ed Merge branch 'fix/memory-utils-ptr-executable' into 'master'
fix(memory-utils): Missing case in esp_ptr_executable logic

Closes IDF-12458

See merge request espressif/esp-idf!36904
2025-02-19 15:27:11 +08:00
738ce191cd Merge branch 'refactor/remove_redundent_suspend_check' into 'master'
refactor(spi_flash): remove redundent flash suspend check

See merge request espressif/esp-idf!37083
2025-02-19 15:16:03 +08:00
96af7b4a11 Merge branch 'docs/update_ble_feature_support_status' into 'master'
Docs: update ble feature support status

See merge request espressif/esp-idf!36452
2025-02-19 14:37:50 +08:00
463af2a065 Merge branch 'ci/update-mr-template-assignee' into 'master'
ci(mr-templates): update MR templates to auto-assign the MR author

See merge request espressif/esp-idf!37075
2025-02-19 14:29:48 +08:00
93cdad7a3b feat(esp_hw_support): support esp32h21 retention link software trigger 2025-02-19 14:21:18 +08:00
d5f2447b88 Merge branch 'feature/c3_libphy_20250120' into 'master'
feat(phy): update esp32c3 libphy for rxdc cal opt

Closes ESPCS-987, ESPCS-988, and WIFIBUG-1005

See merge request espressif/esp-idf!36505
2025-02-19 13:44:01 +08:00
c71d74e2f8 Merge branch 'feat/upload_status_to_s3' into 'master'
ci(all): upload support status when pushed go github

See merge request espressif/esp-idf!37064
2025-02-19 13:35:16 +08:00
bc1965a109 ci(all): upload support status when pushed go github 2025-02-19 13:23:28 +08:00
3df8f30816 change(ble): update esp32c6 lib to 7ead2d29 2025-02-19 12:07:26 +08:00
5c3829cebc change(ble): update esp32c5 lib to 7ead2d29 2025-02-19 12:07:26 +08:00
93fd1d91cb change(ble): update esp32h2 lib to 7ead2d29 2025-02-19 12:07:26 +08:00
zwl
01f9245da1 feat(ble): implement ble capture info user handler on ESP32-C5 2025-02-19 12:07:26 +08:00
zwl
180e67b547 feat(ble): implement ble capture info user handler on ESP32-C6 and ESP32-H2 2025-02-19 12:07:26 +08:00
c2449607dc change(ble): Supported cuttable architecture for ble 2025-02-19 12:07:16 +08:00
472320a7a3 change(ble): [AUTO_MR] Update lib_esp32c6 to 996fb939 2025-02-19 11:49:22 +08:00
f167fa8a6c change(ble): [AUTO_MR] Update lib_esp32c5 to 996fb939 2025-02-19 11:49:22 +08:00
34ae5db60d change(ble): [AUTO_MR] Update lib_esp32h2 to 996fb939 2025-02-19 11:49:22 +08:00
328665135c Merge branch 'fix/i2c_scl_freq_s2' into 'master'
fix(i2c): Fix scl frequency is wrong on esp32s2 in legacy i2c driver

Closes IDFGH-13739 and IDFGH-14539

See merge request espressif/esp-idf!37066
2025-02-19 11:36:27 +08:00
e111d92af6 refactor(spi_flash): remove redundent flash suspend check 2025-02-19 11:35:09 +08:00
deb703cc68 Merge branch 'bugfix/dma_alignment_for_encryption_memory' into 'master'
fix(gdma): relax alignment constraint for internal memory

Closes IDFGH-14453

See merge request espressif/esp-idf!37055
2025-02-19 11:09:06 +08:00
2c0381d23b Merge branch 'feat/improve_bt_log_spi_output_interface' into 'master'
Feat/improve bt log spi output interface

See merge request espressif/esp-idf!36912
2025-02-19 10:55:25 +08:00
0d7b0c885c feat(bt): Implement SDK Config SDP size options
Closes https://github.com/espressif/esp-idf/pull/15321
2025-02-19 10:19:54 +08:00
7a5684d478 Merge branch 'bugfix/espnow_send_issue' into 'master'
fix(esp_wifi): Fix for issue in esp_now_send when wifi tx callback registered

See merge request espressif/esp-idf!36631
2025-02-19 09:56:25 +08:00
7559275fef Merge branch 'bugfix/freertos_wcaps_coproc' into 'master'
fix(freertos): fix a bug in `prvTaskDeleteWithCaps` related to coprocessors

Closes IDF-12202

See merge request espressif/esp-idf!36890
2025-02-19 09:39:05 +08:00
2f59c59350 ci(mr-templates): update MR templates to auto-assign the MR author 2025-02-18 15:54:01 +01:00
b562afa08e fix(panic_handler): Updated panic handler to use RTC WDT
This commit updates the following:
- Updates the panic handler to use only the RTC WDT to reset the system.
- Refactors some of the panic handler code.
- Updates Bluetooth files where in they now feed the WDTs instead of
  reconfiguring them.
- Removes some unnecessary configuration of WDTs from various files.
- Added a unit test to verify that the system does not lock up when the
  panic handler is stuck.
- Updates the memprot unit tests to work with the refactored panic
  handler.

Closes https://github.com/espressif/esp-idf/issues/15166
Closes https://github.com/espressif/esp-idf/issues/15018
Closes https://github.com/espressif/esp-idf/issues/10110
2025-02-18 15:40:54 +01:00
727d0a687f feat(hal): support esp32h21 pau hal layer 2025-02-18 21:06:38 +08:00
c11f49e2cb feat(soc): update esp32h21 pau registers 2025-02-18 21:06:07 +08:00
fcb1e8ad5c test: Re-enable perf_benchmark test for C61 2025-02-18 13:53:56 +01:00
b5aef58afe Merge branch 'bugfix/ci_eth_ip' into 'master'
iperf fix on SH runners

Closes IDFCI-2718

See merge request espressif/esp-idf!36661
2025-02-18 19:51:54 +08:00
83eaa261af Merge branch 'bugfix/sdmmc_reset_pins_slot_width_v2' into 'master'
fix(sdmmc): fix missed deinitialization of CD and WP pins

See merge request espressif/esp-idf!37033
2025-02-18 19:22:25 +08:00
3ad70e9998 Merge branch 'feat/h4_introduce_step2_1' into 'master'
feat(esp32h4): add soc register header files (stage 3/8, part 1/3)

See merge request espressif/esp-idf!36982
2025-02-18 19:10:54 +08:00
dcfbac8c94 fix(i2c): Fix scl frequency is wrong on esp32s2 in legacy i2c driver,
Closes https://github.com/espressif/esp-idf/issues/15301,
Closes https://github.com/espressif/esp-idf/issues/14603
2025-02-18 17:34:35 +08:00
d31654da96 fix(esp-tls): Fixed the server session create API
Added the option to define tls_handshake_timeout value
    for the esp_tls_server_session_create API.
    At the moment, the API gets stuck infinitely if
    the handshake is blocked on recieving more data
    and the peer connection has closed due to some issue.

    Closes https://github.com/espressif/esp-idf/issues/14999
2025-02-18 14:46:33 +05:30
5b7cee8631 fix(esp_wifi): Fix for issue in esp_now_send when wifi tx callback registered 2025-02-18 14:36:19 +05:30
04133e0225 Merge branch 'contrib/github_pr_15057' into 'master'
feat(dhcps): Support for multiple DNS servers (GitHub PR)

Closes IDFGH-14266

See merge request espressif/esp-idf!36256
2025-02-18 17:06:09 +08:00
d68fcf1d7b feat(esp32h4): add soc register header files (stage2_2)
generated soc headers from csv and ro_csv folder(part2)
2025-02-18 16:42:22 +08:00
6a584e9698 Updated BLE feature status 2025-02-18 16:23:35 +08:00
004ff87ea4 feat(phy): update libphy for RXDC cal opt, no antenna current opt, add cca api 2025-02-18 16:03:48 +08:00
5d63f251f9 Merge branch 'feature/bitscrambler_add_c5_insn' into 'master'
BitScrambler: Add support for addcti instruction as found in ESP32-C5

See merge request espressif/esp-idf!36906
2025-02-18 14:39:42 +08:00
e41f619566 feat(ble): support ble log spi out for ESP32-C3 and ESP32-S3 2025-02-18 14:23:17 +08:00
e2fbec5d2e feat(ble): support ble log spi out for ESP32 2025-02-18 14:23:05 +08:00
608ecf63e2 change(ble): update ble log spi out config for ESP32-H2 2025-02-18 14:22:47 +08:00
e61089e7e0 change(ble): update ble log spi out config for ESP32-C6 2025-02-18 14:22:30 +08:00
58dc93bb99 change(ble): update ble log spi out config for ESP32-C5 2025-02-18 14:22:12 +08:00
e4b698fc32 change(ble): update ble log spi out config for ESP32-C2 2025-02-18 14:21:53 +08:00
2221133ba8 feat(ble): improved ble log spi output interface to support multisource log 2025-02-18 14:21:33 +08:00
b3c4c58ee0 Merge branch 'support/ieee802154_get_rssi_comp_from_phy' into 'master'
feat(802.15.4): support ieee802154 get rssi comp from phylib

Closes TZ-1541

See merge request espressif/esp-idf!36475
2025-02-18 14:14:33 +08:00
46d1d7a43f fix(gdma): relax alignment constraint for internal memory
external memory encryption should not affect internal memory alignment

Closes https://github.com/espressif/esp-idf/issues/15228
2025-02-18 13:37:22 +08:00
c95a12658e fix(freertos): fix a bug in prvTaskDeleteWithCaps related to coprocessors
When a coprocessor is used, the stack pointer is altered. It must be restored
before freeing the memory allocated to the task.
2025-02-18 11:59:04 +08:00
1003ced6e9 feat(bt/bluedroid): Support BLE vendor hci event reporting 2025-02-18 11:32:33 +08:00
fd4094e502 feat(bt/bluedroid): Support BLE setting vendor event mask 2025-02-18 11:32:21 +08:00
f2c8b32075 Merge branch 'feat/spi_slave_pm_add_api' into 'master'
feat(spi_slave): add api for pm lock control

See merge request espressif/esp-idf!30766
2025-02-18 11:30:44 +08:00
f8ff9e47ed Merge branch 'fix/esp_mmu_vaddr_to_paddr_cannot_figure_psram_p4' into 'master'
mmu: vaddr to paddr cannot figure psram vaddr on esp32p4

Closes IDF-12483

See merge request espressif/esp-idf!36957
2025-02-18 11:29:47 +08:00
7d751dcc8f Merge branch 'feat/optimize_ble_config_reduce_bin' into 'master'
Feat/optimize bluedroid host config and reduce bin size

Closes BLERP-1520

See merge request espressif/esp-idf!36599
2025-02-18 11:01:24 +08:00
e21e3f417f Merge branch 'fix/adc_func_register_not_reset_issue' into 'master'
adc: func register not reset issue

Closes IDF-12489

See merge request espressif/esp-idf!37001
2025-02-18 10:55:07 +08:00
c1149f24e0 feat(esp32h4): add soc register header files (stage2_1)
generated soc headers from csv folder(part1)
2025-02-18 10:49:15 +08:00
9f489c2ab0 Merge branch 'bugfix/fix_i2s_std_initializer_order_for_cpp_compiler' into 'master'
fix(i2s): fixed i2s_std initializer order for cpp compiler

Closes IDFGH-14660

See merge request espressif/esp-idf!36992
2025-02-18 10:13:49 +08:00
1bd8fabf5e Merge branch 'feature/i2s_support_change_freq_in_runtime' into 'master'
feat(i2s): support tuning rate dynamically

Closes IDF-11679

See merge request espressif/esp-idf!36537
2025-02-18 00:27:50 +08:00
581cbca5ab Merge branch 'feature/support_reconfig_touch_in_runtime' into 'master'
feat(touch): support runtime re-configuration

Closes IDF-11904

See merge request espressif/esp-idf!36797
2025-02-17 23:47:29 +08:00
6f49122b74 fix(sdmmc): fix missed deinitialization of CD and WP pins in f8f40ad
Related to https://github.com/espressif/esp-idf/issues/15330
2025-02-17 16:21:30 +01:00
923255d7a7 feat(spi_slave): add api for pm lock control 2025-02-17 20:33:55 +08:00
zwx
664b0a772e feat(802.15.4): use btbb function to get rssi comp for h2 2025-02-17 19:04:44 +08:00
c03b007644 ci: fix testcase path resolution in JUnit reports. switch to the different unity test report mode. add app_path to target test report 2025-02-17 18:55:53 +08:00
95ce1c08c1 Merge branch 'fix/add_sta_authmode_for_sta_connect' into 'master'
fix(wifi): Add sta authmode for sta connect event

Closes WIFIBUG-996

See merge request espressif/esp-idf!36508
2025-02-17 17:31:44 +08:00
fd2df5e2fc Merge branch 'bugfix/uart_async_rxtxtasks_example_stack_overflow' into 'master'
fix(uart): enlarged task stack size for uart_async_rxtxtasks example

Closes IDFGH-14607, IDF-12230, and IDFGH-12126

See merge request espressif/esp-idf!36903
2025-02-17 17:28:43 +08:00
1160a86ba0 Merge branch 'test/fix_flaky_lp_uart_tests' into 'master'
fix(lp_uart): Fixed flaky LP UART unit tests

Closes IDFCI-2722

See merge request espressif/esp-idf!36943
2025-02-17 17:25:53 +08:00
d2c5724873 feat(i2s): add i2s usb example with tuning feature 2025-02-17 17:11:01 +08:00
3aaaa2203a feat: BitScrambler: Add support for addcti instruction as found in ESP32-C5 2025-02-17 16:36:52 +08:00
78e6ce0d35 fix(adc): fixed adc function register not reset issue 2025-02-17 16:22:13 +08:00
ad623893d4 feat(i2s): support tuning rate dynamically 2025-02-17 16:20:24 +08:00
43121c0d47 test(flash_mmap): added psram enabled test for esp32p4 as mmu is per target 2025-02-17 16:15:09 +08:00
fd09700aab test(mmu): added test for checking esp_mmu_vaddr_to_paddr with psram vaddrs 2025-02-17 16:15:09 +08:00
299d8115ed fix(mmu): fixed esp_mmu_vaddr_to_paddr cannot figure out psram vaddr issue on esp32p4 2025-02-17 16:15:09 +08:00
c465b75ed6 docs(uart): aligned the config order in the programming guide with examples
Closes https://github.com/espressif/esp-idf/issues/13182
2025-02-17 15:28:16 +08:00
f38a2e193d fix(uart): enlarged task stack size for uart_async_rxtxtasks example
Meanwhile, added CI pytest for some UART examples

Closes https://github.com/espressif/esp-idf/issues/15363
2025-02-17 15:28:08 +08:00
aa791ead44 feat(touch): support runtime re-configuration 2025-02-17 15:25:30 +08:00
69acda1785 feat(ble/bluedroid): reduce bluedrois host bin size and disable BLE_HOST_BG_CONNECT_EN 2025-02-17 14:55:55 +08:00
d2d4d1518d feat(ble/bluedroid): disable bluedroid host unused functions 2025-02-17 14:51:58 +08:00
fb08e4eafe feat(bt/bluedroid): optimize bluedroid menuconfig 2025-02-17 14:51:10 +08:00
0902e70e94 Merge branch 'bugfix/fix_delete_queue_error_in_espnow_example' into 'master'
fix(wifi): fix the delete queue error in espnow exapmle

Closes IDFGH-14632

See merge request espressif/esp-idf!36934
2025-02-17 14:50:15 +08:00
7e0cb453e8 fix(i2s): fixed i2s_std initializer order for cpp compiler
Closes https://github.com/espressif/esp-idf/issues/15405
2025-02-17 14:44:48 +08:00
0959beef72 feat(bt/bluedroid): delete unused host congest check 2025-02-17 14:35:46 +08:00
7bf01c9eea Merge branch 'docs/fix_gps_broken_link' into 'master'
docs(examples): fixed broken link in uart example readme

See merge request espressif/esp-idf!36635
2025-02-17 12:13:00 +08:00
540b0131c2 feat(bt/bluedroid): Add Kconfig option to keep device bonding info when HID unplugging 2025-02-17 12:02:48 +08:00
91bff05d9f feat(esph21): bringup and test panic handler 2025-02-17 11:58:55 +08:00
befaa12526 fix(lpwdt): P4 LP-WDT now takes into account the EFUSE_WDT_DELAY forthe timeout 2025-02-17 10:52:06 +08:00
4f2105d03e Merge branch 'feat/support_ble_debug_with_gpio' into 'master'
Support BLE debug with GPIO on ESP32

Closes BLERP-1519

See merge request espressif/esp-idf!36621
2025-02-17 10:29:46 +08:00
b51d4d2aed Merge branch 'feat/support_config_task_size_in_hid_example' into 'master'
Support change HID task size by Kconfig in HID example

Closes IDFGH-14561

See merge request espressif/esp-idf!36796
2025-02-17 10:27:30 +08:00
b3523a6fbe fix(dhcps): Fixed DNS server handling for previous breaking changes 2025-02-17 13:19:28 +11:00
0fd3984c72 feat(dhcps): Support for multiple DNS servers 2025-02-17 13:15:03 +11:00
d65d2fd4d1 Merge branch 'bugfix/handle_slave_extra_disconn' into 'master'
fix(nimble): Handle not sending disconnect event if connect was not sent

See merge request espressif/esp-idf!36835
2025-02-15 22:41:32 +08:00
35bd4605f8 fix(nimble): Handle not sending disconnect event if connect was not sent 2025-02-15 09:21:41 +05:30
9411fd0a76 Merge branch 'feat/long_read_offset' into 'master'
feat(nimble): Add offset in GATT server long read context

See merge request espressif/esp-idf!36798
2025-02-15 11:26:36 +08:00
bf944b7463 Merge branch 'feature/usb_host_enum_testing' into 'master'
feature(usb_host): Added test app for edge cases in stages during enumeration process

See merge request espressif/esp-idf!31421
2025-02-14 20:04:57 +08:00
147ffec4ac fix(wifi): Modify authmode to sta for sta connect event 2025-02-14 16:08:32 +05:30
403cc24a47 Merge branch 'bugfix/skip_memory_reordering_wpa2_semaphr' into 'master'
fix(esp_wifi): fixed stack corruption in WiFi tasks

Closes IDFGH-14617

See merge request espressif/esp-idf!36905
2025-02-14 14:02:12 +08:00
e3e49d7463 Merge branch 'fix/make_scratch_buffer_dynamic' into 'master'
fix(esp_http_server): Make the http server scratch buffer dynamic

Closes IDF-11879

See merge request espressif/esp-idf!36651
2025-02-14 14:00:10 +08:00
5d2000998a feat(nimble): Add offset in GATT server long read context 2025-02-14 11:20:47 +05:30
90bad97f01 Merge branch 'fix/blesync_periodic_adv' into 'master'
fix(nimble): Added sync reattempt for periodic advertisement

Closes BLERP-1521

See merge request espressif/esp-idf!36709
2025-02-14 13:45:35 +08:00
5abfc05909 Merge branch 'change/ble_update_lib_20250212' into 'master'
change(ble): [AUTO_MR] 20250212 - Update ESP BLE Controller Lib

Closes BLERP-1554, BLERP-1555, BLERP-1556, BLERP-1482, BLERP-1465, BLERP-1550, BLERP-1515, BLERP-1529, BLERP-1452, BLERP-1451, BLERP-1504, BLERP-1517, BLERP-1388, BLERP-1530, BLERP-1516, and BLERP-1512

See merge request espressif/esp-idf!36892
2025-02-14 12:14:31 +08:00
472792eb8a Merge branch 'bugfix/sdp_record_check' into 'master'
fix(bt): Fixed SDP record integrity check bug

See merge request espressif/esp-idf!36891
2025-02-14 09:10:39 +08:00
0a7888f839 fix(ble): Update bt lib for ESP32(2a2631f)
- Support ESP32 BLE GPIO DEBUG
2025-02-13 20:54:04 +08:00
daf83d975f fix(nimble): Added sync reattempt for periodic adv 2025-02-13 18:22:59 +05:30
369b09c2db Merge branch 'bugfix/fix_p4_8689_issue' into 'master'
fix(wifi): fix p4 host issue

Closes WIFIBUG-809

See merge request espressif/esp-idf!36608
2025-02-13 20:21:27 +08:00
9846584def feat(esp_http_server): Modified the calculation of buf_len
Modified the calculation of buf_len, so that scratch buffer allocates
the memory according to requirement and not extra (except the last read chunk)
2025-02-13 17:15:07 +05:30
cefefb3df7 Merge branch 'fix/core_err_code_def' into 'master'
fix(nimble): Enhanced error handling by adding to print core error definitions

See merge request espressif/esp-idf!36572
2025-02-13 19:37:43 +08:00
800b5f8072 fix(lp_uart): Fixed flaky LP UART unit tests
This commit fixes some flaky LP UART multi device tests. It also adds
code to put the HP core to light sleep for few tests.
2025-02-13 12:28:26 +01:00
7c118fd072 feat(enum): Added test application to test enum driver with mocked device 2025-02-13 11:58:57 +01:00
zwl
9b00d2835e feat(ble): support enhanced controller log capabilities on ESP32-C5 2025-02-13 18:29:41 +08:00
zwl
bbcb4a2e1f feat(ble): support enhanced controller log capabilities on ESP32-C2 2025-02-13 18:29:41 +08:00
zwl
f598976c6b feat(ble): support enhanced controller log capabilities on ESP32-C6 and ESP32-H2 2025-02-13 18:29:41 +08:00
zwl
6cb617617d feat(ble): add channel assessment and enhanced connect function on ESP32-C5 2025-02-13 18:29:41 +08:00
zwl
0ffac92586 feat(ble): add channel assessment and enhanced connect function on ESP32-H2 2025-02-13 18:29:41 +08:00
zwl
821e587fda feat(ble): add channel assessment and enhanced connect function on ESP32-C6 2025-02-13 18:29:41 +08:00
4579e083ef change(ble): [AUTO_MR] Update lib_esp32c6 to 1d7eebaf 2025-02-13 18:29:41 +08:00
a1ccdb85da change(ble): [AUTO_MR] Update lib_esp32c5 to 1d7eebaf 2025-02-13 18:29:41 +08:00
4f0e0f371a change(ble): [AUTO_MR] Update lib_esp32h2 to 1d7eebaf 2025-02-13 18:29:41 +08:00
5fd4104d12 Merge branch 'fix/esp32p4_lightsleep_fixes' into 'master'
fix(esp_hw_support): some fixes of esp32p4 lightsleep retention & power switch process

Closes PM-291, PM-301, and PM-302

See merge request espressif/esp-idf!35460
2025-02-13 17:20:21 +08:00
09aae72bfa docs(storage/fatfs): discrepancies between FATFS and POSIX
Closes https://github.com/espressif/esp-idf/issues/15187
2025-02-13 10:15:52 +01:00
2e5e9fc4aa Merge branch 'feature/nan_support_c5' into 'master'
Enable Wi-Fi Aware (NAN) on ESP32C5 and ESP32C61

Closes IDF-10599 and IDF-10628

See merge request espressif/esp-idf!30495
2025-02-13 16:52:00 +08:00
c7a0e45489 Merge branch 'feat/spi_master_dynamic_freq' into 'master'
feat(spi_master): add transaction config for device multi freq point

Closes IDFGH-12774

See merge request espressif/esp-idf!28579
2025-02-13 15:58:59 +08:00
d4b3a7e99d feat(ble/bluedroid): Support change HID task size by Kconfig in HID example 2025-02-13 15:55:36 +08:00
ee4cf1be3b Merge branch 'feat/add_ot_br_lib_check_case' into 'master'
feat(openthread): add br library check case

Closes TZ-1536

See merge request espressif/esp-idf!36855
2025-02-13 15:48:38 +08:00
5b5521d45a fix(wifi): fix the delete queue error in espnow exapmle
Closes https://github.com/espressif/esp-idf/issues/15383
2025-02-13 15:48:14 +08:00
0d6b116aad fix(wifi): fix some esp32p4 host issues 2025-02-13 15:08:29 +08:00
92d575379f fix(memory-utils): Missing case in esp_ptr_executable logic
esp_ptr_executable does not consider that the PSRAM and FLASH
memory mapping are not always matching.

Added a "pointer is in PSRAM" specific check in the logic to
fix the issue.
2025-02-13 07:56:58 +01:00
c542692cc2 Merge branch 'docs/fix_i2s_tdm_programming_guide' into 'master'
docs(i2s): fix i2s capability in doc and code

Closes IDF-11854

See merge request espressif/esp-idf!36815
2025-02-13 14:49:59 +08:00
9184f62853 Merge branch 'refactor/rng_ll_h2' into 'master'
rng: refactor to use hal/ll apis for esp32h2

Closes IDF-12462

See merge request espressif/esp-idf!36863
2025-02-13 13:43:16 +08:00
9102f40fcb change(esp_hw_support): wrapper sleep dcdc/ldo ops with ll 2025-02-13 12:17:07 +08:00
c2483bd1f7 fix(nimble): Enhanced error handling by adding to print core error definitions 2025-02-13 08:54:09 +05:30
b70c995be3 Merge branch 'fix/NVS_corruption' into 'master'
fix(nimble): Handle NVS corruption caused by non removal of security records

Closes BLERP-1559

See merge request espressif/esp-idf!36893
2025-02-13 11:18:44 +08:00
e95103aa56 Merge branch 'fix/add_sleep_duration_check_for_timer_wakeup' into 'master'
fix(esp_hw_support): add timer wakeup sleep duration check

Closes IDFGH-14485

See merge request espressif/esp-idf!36793
2025-02-13 10:42:58 +08:00
8902d8608a feat(regi2c): regi2c periph reg enable/disable ll 2025-02-13 09:40:05 +08:00
df202585e6 refactor(rng): refactor to use hal/ll apis for h2 2025-02-13 09:40:05 +08:00
b5eadb56e7 fix(esp_wifi): Fix stack corruption in wpa3 task 2025-02-12 23:14:53 +05:30
534fce5fbf fix(esp_wifi): fixed Stack corruption in DPP task 2025-02-12 21:35:11 +05:30
e48122f4a8 fix(esp_wifi): fixed Stack corruption in WPS processing 2025-02-12 21:34:53 +05:30
4d83458e6b fix(esp_wifi): Fixed memory corruption in wifi enterprise
Closes https://github.com/espressif/esp-idf/issues/15370
2025-02-12 20:37:12 +05:30
39f34a65a9 Merge branch 'bugfix/ethernet_example_netif_glue_assignment' into 'master'
fix(ethernet_basic): Fix second Ethernet device not receiving IP address

Closes IDFGH-14551

See merge request espressif/esp-idf!36778
2025-02-12 22:38:14 +08:00
b433731234 fix(ethernet_basic): Fix second Ethernet device not receiving IP address 2025-02-12 15:10:52 +01:00
39c85269cc feat(spi_master): add transaction config for dynamic clock speed update
Closes https://github.com/espressif/esp-idf/issues/13753
2025-02-12 20:29:34 +08:00
45c186770c Merge branch 'fix/eth_example_stat_ip' into 'master'
fix(esp_eth): fixed Static IP example for Ethernet

Closes IDFCI-2707

See merge request espressif/esp-idf!36821
2025-02-12 20:19:16 +08:00
dc4ef79c32 Merge branch 'docs/update_api_description_esp_wifi_scan_get_ap_records' into 'master'
docs: update the API description for esp-wifi_scan_get_ap_records

See merge request espressif/esp-idf!36510
2025-02-12 19:54:46 +08:00
a31acef0ac docs: update the API description for esp-wifi_scan_get_ap_records 2025-02-12 19:54:46 +08:00
7f1e4ebbaa Merge branch 'bugfix/mem_leak_sae_pk' into 'master'
fix(wifi): Bugfix memory leak due to sae public key

See merge request espressif/esp-idf!36667
2025-02-12 19:51:11 +08:00
0d6099ec53 Merge branch 'fix/fix-test-report-generator' into 'master'
ci: fix tests related to the build report generator

See merge request espressif/esp-idf!36910
2025-02-12 19:22:31 +08:00
897db53113 ci: fix tests build report generator 2025-02-12 19:07:53 +08:00
bbdf1e4a2a Merge branch 'feat/use_diag_module' into 'master'
feat(diag): use the esp-idf-diag module as a backend

See merge request espressif/esp-idf!36872
2025-02-12 18:39:53 +08:00
870a1846b1 Merge branch 'feature/esp_tee_flash_prot_spi1' into 'master'
feat(esp_tee): Add support for flash memory isolation and protection (SPI1)

Closes IDF-10481, IDF-10083, and IDF-8915

See merge request espressif/esp-idf!36454
2025-02-12 18:35:49 +08:00
2038851936 Merge branch 'fix/sha_port_formatting_and_local_val_types' into 'master'
fix(mbedtls/sha): Fix formatting and change local variable's types

Closes IDF-12217 and IDF-12218

See merge request espressif/esp-idf!36792
2025-02-12 17:19:03 +08:00
68b79fc138 Merge branch 'fix/spi_master_halt_using_rc_fast' into 'master'
fix(spi_master): fix spi halt when remove device who using rc_fast

See merge request espressif/esp-idf!31079
2025-02-12 15:18:22 +08:00
fa40d971a5 docs(ble/bluedroid): Optimize doc for implementation of a characteristic with 128 bit UUID 2025-02-12 14:57:15 +08:00
fed1d41aa7 fix(ble/bluedroid): Don't log error on 16/128-bit UUID mixed descriptors 2025-02-12 14:57:15 +08:00
63b2dcc3a7 refactor(ble/bluedroid): Fix typos in gatt_sr.c 2025-02-12 14:57:15 +08:00
9b5a52e2f7 fix(ble/bluedroid): Allow 0 length indications 2025-02-12 14:57:15 +08:00
a8041a9953 refactor(ble/bluedroid): Fix typos in bta_gatts_act.c 2025-02-12 14:57:15 +08:00
37ef076c07 fix(coredump): disable uart txd pullup using gpio hal 2025-02-12 14:57:15 +08:00
21161b2fb3 fix(coredump): fix note section alignments 2025-02-12 14:57:15 +08:00
eaefd0bd25 fix(coredump): only clear high bit in PC when set 2025-02-12 14:57:15 +08:00
724bcc1ff9 fix(nimble): fix NVS corruption 2025-02-12 10:49:14 +05:30
a1154699a3 Merge branch 'bugfix/fix_warn_write_string' into 'master'
fix(nimble): Fixed warnings with COMPILTER_WARN_WRITE_STRINGS set

See merge request espressif/esp-idf!36603
2025-02-12 12:56:06 +08:00
4e072b3f8a Merge branch 'fix/coverity_reports_security' into 'master'
fix(security): Fixed coverity warnings from `nvs_sec_provider` and `esp_tee` components

Closes IDF-12190, IDF-12194, and IDF-12197

See merge request espressif/esp-idf!36721
2025-02-12 12:34:19 +08:00
6847670a72 fix(wifi): Fixed memory leak occurring in SAE PK connection 2025-02-12 12:16:02 +08:00
700e41f734 Merge branch 'feat/hosted_in_iperf' into 'master'
feat(hosted_in_iperf): Adds esp_hosted for P4

See merge request espressif/esp-idf!32459
2025-02-12 11:50:32 +08:00
d59f732718 Merge branch 'refactor/gpio_apis_modification' into 'master'
refactor(gpio): refactor some GPIO APIs

See merge request espressif/esp-idf!36384
2025-02-12 11:33:37 +08:00
254b3210bc Merge branch 'fix/fix_sleep_clock_wait_calculation' into 'master'
fix(esp_hw_support): fix lp/hp hw clock wait time calculation

Closes PM-39

See merge request espressif/esp-idf!34583
2025-02-12 11:30:43 +08:00
c66853b52d Merge branch 'bugfix/check_ssid_before_sa_query' into 'master'
Check SSID from association request before starting SA Query

Closes WIFIBUG-466

See merge request espressif/esp-idf!30659
2025-02-12 11:29:07 +08:00
bc23851be7 fix(bt): Fixed SDP record integrity check bug 2025-02-12 10:55:25 +08:00
194cafd22c Merge branch 'feature/i3c_i2c_hal_support' into 'master'
feat(i3c): i3c-i2c driver hal and soc support

See merge request espressif/esp-idf!36814
2025-02-12 10:50:47 +08:00
67bbe37702 Merge branch 'fix/rgb_lcd_drift_on_esp32s3' into 'master'
fix(rgb_lcd): drift issue caused by restart

Closes IDFGH-14216

See merge request espressif/esp-idf!36864
2025-02-12 10:41:10 +08:00
5a21fd1dcc Merge branch 'feat/add_spi_output' into 'master'
Feat/add spi output

Closes BLERP-1526

See merge request espressif/esp-idf!36612
2025-02-12 10:40:16 +08:00
5fd47af03a Merge branch 'bugfix/fix_disable_external_coex_fail_issue' into 'master'
fix(coex): fix disable external coex fail issue

Closes WIFI-6690

See merge request espressif/esp-idf!35749
2025-02-12 10:39:55 +08:00
584fc500d4 Merge branch 'fix/esp_netif_lost_ip' into 'master'
fix(esp_netif): Fix posting GOT_IP after LOST_IP

See merge request espressif/esp-idf!36717
2025-02-12 00:36:27 +08:00
8e519e0126 Merge branch 'fix/test_nvs_gen_check_read_only_part_support' into 'master'
fix: test_nvs_gen_check.py support for read-only NVS partitions

Closes IDF-12238

See merge request espressif/esp-idf!36829
2025-02-11 23:28:34 +08:00
342202204c fix(esp_eth): init Ethernet after repl init in iperf example 2025-02-11 12:16:31 +01:00
de053738e1 Merge branch 'bugfix/sdmmc_reset_pins_slot_width' into 'master'
fix(sdmmc): fix reset of pins above slot width

Closes IDFGH-14570

See merge request espressif/esp-idf!36725
2025-02-11 19:15:43 +08:00
ffe6f5a84c Merge branch 'bugfix/add_bluedroid_init_migration' into 'master'
docs(bt/bluedroid): Added migration guide for bluedroid init API

Closes IDFGH-14596

See merge request espressif/esp-idf!36794
2025-02-11 19:13:53 +08:00
3bb65eca5a fix(coex): fix disable external coex fail issue 2025-02-11 19:06:34 +08:00
e11a918572 Merge branch 'lwip/enable_netif_api' into 'master'
feat(lwip): Hardcode NETIF_API=1 to support POSIX netif API

See merge request espressif/esp-idf!35841
2025-02-11 19:05:17 +08:00
883c42b1f8 feat(i3c): i3c-i2c driver hal and soc support 2025-02-11 18:57:10 +08:00
bdc94935fa feat(diag): use the esp-idf-diag module as a backend
Replace the original diag implementation in idf.py with the new one in a
separate esp-idf-diag python package. The interface is kept the same as
it was. The simple idf.py diag test is also preserved.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-02-11 11:26:47 +01:00
307f45d512 fix(esp_netif): Fix posting GOT_IP after LOST_IP 2025-02-11 11:20:49 +01:00
9342b3fba1 Merge branch 'feat/h4_introduce_step1_add_target' into 'master'
feat(esp32h4): introduce target esp32h4(stage 1)

See merge request espressif/esp-idf!36780
2025-02-11 18:11:08 +08:00
0290c1f0ed feat(openthread): add br library check case 2025-02-11 17:24:47 +08:00
2c6f22c12b fix(rgb_lcd): drift issue caused by restart
Closes https://github.com/espressif/esp-idf/issues/15013
2025-02-11 16:00:42 +08:00
1f6d450d19 fix(security): Fixed coverity warnings from nvs_sec_provider and esp_tee components 2025-02-11 13:01:13 +05:30
7d49f696c1 ci(esp_tee): Add tests for verifying behaviour for illegal flash accesses (SPI1) 2025-02-11 12:30:06 +05:30
c23714f775 feat(esp_tee): Add support for flash memory isolation and protection (SPI1) 2025-02-11 12:30:05 +05:30
d403005afc change(mbedtls/sha): Change the legacy formatting in the SHA port layers 2025-02-11 11:04:57 +05:30
2717e5b62e fix(mbedtls/sha): Fix some local variable's types to avoid any substraction overflow error
- Though such a case would not occur given the way it is used the driver layer
2025-02-11 10:58:16 +05:30
4f9f6bb4f7 Merge branch 'test/flash_suspend_test_framework' into 'master'
test(spi_flash): Add framework for flash suspend and allow non-necessary iram part move to flash

See merge request espressif/esp-idf!35605
2025-02-11 12:57:06 +08:00
37525c605d refactor(esp_tee): Migrate secure services list from TBL to YAML 2025-02-11 10:15:20 +05:30
8f117c7f4c refactor(esp_tee): Add local components in TEE examples via idf_component.yml 2025-02-11 10:15:19 +05:30
b88f30a099 Merge branch 'bugfix/gpio_rom_patch_fix' into 'master'
fix(gpio): fix esp_rom_gpio_connect_out_signal for gpio num over 31 on esp32/s2

Closes IDFGH-14429

See merge request espressif/esp-idf!36766
2025-02-11 12:32:54 +08:00
97b6043435 feat(esp_http_server): Dynamically allocate http server's scratch buffer
In this commit, esp_http_server's http_parser scratch is made dynamic.
User is asked to give limit size for header and URI, according to which
scratch buufer allocates memory upto limits
2025-02-11 09:41:26 +05:30
9c98c7e040 feat(ble): support esp ble controller spi output interface for ESP32-H2 2025-02-11 12:00:49 +08:00
58b8775f95 feat(ble): support esp ble controller spi output interface for ESP32-C6 2025-02-11 12:00:40 +08:00
7283b16c26 feat(ble): support esp ble controller spi output interface for ESP32-C5 2025-02-11 12:00:27 +08:00
0b57f8ae87 feat(ble): support esp ble controller spi output interface for ESP32-C2 2025-02-11 12:00:17 +08:00
52106c9895 feat(ble): add spi output interface for esp ble controller log 2025-02-11 11:59:59 +08:00
88e3ea2ea5 Merge branch 'bugfix/cache_invalidate_should_respect_size' into 'master'
bugfix(cache): cache invalidate operation should respect the cache line size

See merge request espressif/esp-idf!36805
2025-02-11 11:47:22 +08:00
44a27d3113 Merge branch 'fix/disable_wfe_feature_for_e906_chips' into 'master'
change(esp_hw_support): disable CPU wait-for-event mode on cpu start

See merge request espressif/esp-idf!36388
2025-02-11 11:30:29 +08:00
06aea27e8e Merge branch 'bugfix/idf-11643' into 'master'
fix some issues on esp32c61 eco2

Closes IDF-11643

See merge request espressif/esp-idf!36257
2025-02-11 11:24:57 +08:00
4acf7c2e4d feat(i3c): i3c-i2c driver drv support 2025-02-11 10:37:04 +08:00
6616a759a8 Merge branch 'feat/mmu_find_paddr_caps_by_any_offset' into 'master'
mmu: supported find paddr caps by any paddr offset

Closes IDFGH-14195

See merge request espressif/esp-idf!36812
2025-02-11 09:57:51 +08:00
9dde33e803 Merge branch 'bugfix/sdp_uuid16_match_err' into 'master'
fix(bt): Fix the incorrect record found using uuid16 search

Closes BTQABR2023-192

See merge request espressif/esp-idf!36450
2025-02-11 09:44:45 +08:00
3cca847206 fix(nimble): Fixed warnings with COMPILTER_WARN_WRITE_STRINGS set 2025-02-10 21:46:57 +05:30
6e59664432 Merge branch 'fix/spp_server_readme_change' into 'master'
docs: Updated README.md by removing unclear line

Closes BLERP-1523

See merge request espressif/esp-idf!36722
2025-02-10 23:59:28 +08:00
56fb641d1d Merge branch 'fix/wifi_provisioning_ble' into 'master'
fix(nimble): Handle nested locks when BT_NIMBLE_DEBUG enabled

Closes BLERP-1495, BLERP-1525, and BLERP-1524

See merge request espressif/esp-idf!36496
2025-02-10 23:57:25 +08:00
0c2cbd12f1 fix: test_nvs_gen_check.py support for read-only NVS partitions 2025-02-10 15:45:17 +01:00
f428a1e784 Merge branch 'bugfix/coverity_issues' into 'master'
Fix some coverity reported issues

Closes IDF-12188, IDF-12197, and IDF-12193

See merge request espressif/esp-idf!36719
2025-02-10 22:05:30 +08:00
a6ac2bb322 refactor(gpio): improve gpio_get_io_config API 2025-02-10 21:44:51 +08:00
3a8d065908 refactor(gpio): improve gpio_iomux_in/out API 2025-02-10 21:44:07 +08:00
5286d9408a Merge branch 'feat/wifi_thread_coex_docs' into 'master'
docs(coex): add the supported coexistence scenario for Wi-Fi and 802.15.4

See merge request espressif/esp-idf!36803
2025-02-10 21:35:08 +08:00
f7feecf63b Merge branch 'fix/fix_esp32c5_ulp_examples' into 'master'
fix(examples): fix esp32c5 ulp examples

Closes IDF-12084 and IDF-10034

See merge request espressif/esp-idf!36802
2025-02-10 21:27:16 +08:00
974910d4f8 Merge branch 'bugfix/clear_ledc_gamma_ram' into 'master'
fix(ledc): left-off gamma ram registers should be cleared

Closes IDF-11392 and IDFGH-14293

See merge request espressif/esp-idf!36098
2025-02-10 21:16:43 +08:00
d4481517f7 fix(i2s): fixed the pdm2pcm capability on c5 and c61 2025-02-10 20:33:56 +08:00
cd734e02db docs(coex): add the supported coexistence scenario for Wi-Fi and 802.15.4 2025-02-10 19:56:42 +08:00
3f29f791e9 Merge branch 'feat/add_gpio_cmd_for_cert_test' into 'master'
add gpio cmd for cert test

Closes WIFI-6776

See merge request espressif/esp-idf!36267
2025-02-10 19:49:42 +08:00
f99b96532e Merge branch 'bugfix/ifdef_cplusplus_bracket' into 'master'
bugfix(wifi): Add missing brackets in the C++ guard

Closes IDFGH-14192

See merge request espressif/esp-idf!35498
2025-02-10 19:45:28 +08:00
42d2a131f6 fix(lwip): Remove if_indextoname() impl in favor of LWIP_NETIF_API
ESP-IDF already hardcodes LWIP_NETIF_API=1, so the related netif APIs are
defined unconditionally.
2025-02-10 19:34:57 +08:00
86089be928 feat(lwip): Hardcode NETIF_API=1 to support POSIX netif API 2025-02-10 19:34:57 +08:00
e37523a44b fix(esp_wifi): Check SSID from Assoc Req before starting SA Query 2025-02-10 16:56:46 +05:30
af8ca546f9 feat(phy): add gpio cmd for cert test 2025-02-10 19:04:38 +08:00
f07e88de97 fix(esp_eth): fixed Static IP example for Ethernet
Fixed IP event handler unregistering for Ethernet
2025-02-10 11:08:50 +01:00
e532499e5d bugfix(wifi): Fix header file errors and remove esp_supplicant from check_public_headers_exceptions.txt 2025-02-10 17:56:52 +08:00
d83f210228 bugfix(wifi): Add missing brackets in the C++ guard
Closes https://github.com/espressif/esp-idf/issues/14991
2025-02-10 17:56:52 +08:00
aff82ccc65 fix(esp_hw_support): fix the issue of mmu table content loss due to default sd signal 2025-02-10 17:54:04 +08:00
5558028870 bugfix(cache): cache invalidate operation should respect the cache line size
not only the buffer address but also the buffer size should aligned to
the cache line size
2025-02-10 17:48:46 +08:00
462c9f2510 test(mmu): test can find paddr caps by any paddr offset 2025-02-10 17:12:51 +08:00
ad9c5637ee feat(hosted_in_iperf): Adds esp_hosted for P4
Adds esp_wifi_remote and esp_hosted as managed components to
examples/wifi/iperf for EPS32-P4

Adds sdkconfig.defaults.esp32p4

Added notes in Readme on using iperf with ESP32-P4.

Tested on ESP32-P4 <-> ESP32-C6 Eval board. Works using SDIO by
default.
2025-02-10 17:03:19 +08:00
c2cea8ff26 fix(bt/bluedroid): fixed the format error of passkey printing 2025-02-10 16:46:58 +08:00
aacfce691e fix(bt/bluedroid): Fixed incorrect types of some variables in SDP 2025-02-10 16:46:58 +08:00
a13c76b539 fix(bt): Fix incorrect type returned when searching SAP record 2025-02-10 16:46:58 +08:00
45bfc024dd fix(bt): Fix the incorrect record found using uuid16 search 2025-02-10 16:46:58 +08:00
7bb6c67efe Merge branch 'bugfix/wps_scan_freq' into 'master'
fix(esp_wifi): Reduce scan frequency in WPS

See merge request espressif/esp-idf!35866
2025-02-10 16:46:20 +08:00
7727de5337 docs(i2s): fix some i2s capabilities in programming guide 2025-02-10 15:41:30 +08:00
cdaf777b22 feat(mmu): supported find paddr caps by any paddr offset
Closes https://github.com/espressif/esp-idf/issues/14988
2025-02-10 15:07:47 +08:00
4b89f9934b feat(wifi): Enable Wi-Fi Aware (NAN) for ESP32C5 and ESP32C61 2025-02-10 14:57:53 +08:00
af01dd06bd docs(bt/bluedroid): Added migration guide for bluedroid init API
Closes https://github.com/espressif/esp-idf/issues/15352
2025-02-10 14:38:55 +08:00
3e79641afa test(spi_flash): Add framework to test driver can work under flash auto-suspend 2025-02-10 13:51:11 +08:00
2458734108 feat(i2c): Add config option for i2c isr handler can put in flash 2025-02-10 13:49:21 +08:00
7ff0087d3b Merge branch 'bugfix/fix_blufi_crash_opt' into 'master'
fix(blufi): Enhance security in BLUFI example

Closes BLERP-1401, BLERP-1402, and BLERP-1403

See merge request espressif/esp-idf!36795
2025-02-10 11:44:09 +08:00
c28599dad9 Merge branch 'bugfix/pm-340' into 'master'
revert the fix of idf_size error caused by ldgen

Closes PM-340

See merge request espressif/esp-idf!36763
2025-02-10 10:58:31 +08:00
cc7adfa068 fix(spi_master): fix spi halt when remove device who using rc_fast 2025-02-10 10:51:33 +08:00
fbace9a6c7 Merge branch 'fix/coredump_note_section_alignment' into 'master'
Fix/coredump note section headers and alignments

Closes IDF-9948

See merge request espressif/esp-idf!36490
2025-02-10 04:49:30 +08:00
9a0e0978f2 Merge branch 'bugfix/lcd_driver_with_flash_encryption' into 'master'
fix(dma): also consider buffer alignment when calculating the DMA nodes

Closes IDFGH-14453 and IDF-12101

See merge request espressif/esp-idf!36617
2025-02-09 10:52:34 +08:00
6f83f39dce feat(esp32h4): introduce target esp32h4(stage 1) 2025-02-08 17:07:44 +08:00
c0f98621d7 fix(examples): fix esp32c5 ulp examples 2025-02-08 16:04:49 +08:00
ac680cbf93 Merge branch 'docs/update_cn_translation_for_fatal_errors' into 'master'
docs: Update CN translation for fatal-errors.rst

Closes DOC-10168

See merge request espressif/esp-idf!36772
2025-02-08 15:54:17 +08:00
8e19ee401c Merge branch 'docs/synchronize_cn_heap_debug' into 'master'
docs: Update CN translation for heap_debug.rst

Closes DOC-10169

See merge request espressif/esp-idf!36779
2025-02-08 14:32:02 +08:00
03840f4598 docs: Update CN translation for heap_debug.rst 2025-02-08 12:00:07 +08:00
d972650152 docs: Update CN translation for fatal-errors.rst 2025-02-08 11:50:11 +08:00
c776de6143 Merge branch 'task/freertos_idle_task_name_len' into 'master'
fix(freertos): Backported a change to suppress Coverity warnings

Closes IDF-9856

See merge request espressif/esp-idf!36777
2025-02-07 23:01:01 +08:00
5378b716a0 docs(ledc): add notes for ledc_set_fade_with_time API reference
Closes https://github.com/espressif/esp-idf/issues/15085
2025-02-07 21:28:34 +08:00
a6b47fac12 fix(ledc): left-off gamma ram registers should be cleared
Hardware reads in (range_number+1) fade parameter registers, which could
cause output waveform error.
2025-02-07 20:39:26 +08:00
19fec9f455 fix(ledc): updated docs for esp32h2 eco5 bugfix 2025-02-07 20:39:26 +08:00
4fd2ed4f53 Merge branch 'fix/timer_issue_failure_retry_cnt' into 'master'
fix(wifi): Fix crash when failure_retry_cnt is set in station config (Regression)

Closes WIFIBUG-1043

See merge request espressif/esp-idf!36611
2025-02-07 19:55:32 +08:00
dc93eb533a fix(esp_hw_support): add timer wakeup sleep duration check
Closes https://github.com/espressif/esp-idf/issues/15255
2025-02-07 19:43:54 +08:00
548a0ef90e Merge branch 'feature/add_test_for_wifi_with_external_bss_support_enabled' into 'master'
Add unit test for wifi+external bss support

Closes WIFI-6387

See merge request espressif/esp-idf!30514
2025-02-07 19:36:21 +08:00
3fc6c93936 fix(blufi): Enhance security in BLUFI example 2025-02-07 19:13:05 +08:00
b88b1ceed2 Merge branch 'change/update_cache_header_on_c5' into 'master'
change(cache): sync the cache register info to TRM

See merge request espressif/esp-idf!36646
2025-02-07 19:00:43 +08:00
67638981ec feat(storage/vfs): cleanup path prefix handling 2025-02-07 10:34:24 +01:00
ee18a4d9ab fix(freertos): Backported a change to suppress Coverity warnings
This commit backports the commit# f94bc89108ffca538cf91d5856149960a5d4be81
from the upstream FreeRTOS kernel repository to supress a Coverity
warning. The change was done to avoid using string modification
functions which cause a security violation.
2025-02-07 08:52:51 +01:00
cb7e2f1d62 feat(wpa_supplicant): Add unit test for wifi operations
Add unit test for testing wifi operations when .bss segment is placed in external memory.
2025-02-07 12:54:20 +05:30
aa23c8099d Merge branch 'fix/vfs_compiler_warings' into 'master'
fix(components): Compiler reports some warnings

Closes IDFGH-14289

See merge request espressif/esp-idf!36692
2025-02-07 15:22:25 +08:00
1e8a48db74 Merge branch 'feat/h21_enable_ci_build_test' into 'master'
feat(esp32h21): enable ESP32H21 ci build

Closes IDF-11561

See merge request espressif/esp-idf!36197
2025-02-07 14:10:54 +08:00
cfca6c606e fix(dma): also consider buffer alignment when calculating the DMA nodes
Closes https://github.com/espressif/esp-idf/issues/15228
2025-02-07 12:34:42 +08:00
8155e60edf feat(esp_ringbuf): Update ring buffer doc
Closes https://github.com/espressif/esp-idf/issues/15298
2025-02-06 17:44:14 +02:00
409af75a93 Merge branch 'fix/usb_phy_pull_override' into 'master'
fix(usb_phy): Removed pad pull override config for Full-speed

Closes IDF-12074

See merge request espressif/esp-idf!36660
2025-02-06 17:38:38 +08:00
a23554f175 Merge branch 'feat/test_gdma_psram' into 'master'
test(gdma): can do memory to/from psram correctly

See merge request espressif/esp-idf!36758
2025-02-06 17:14:29 +08:00
9494922397 feat(esp32h21): split newlib ld into multiple files 2025-02-06 15:47:52 +08:00
5ef4f20778 feat(esp32h21): disable unsupported build test 2025-02-06 15:47:51 +08:00
a7b218fdc2 remove(sleep_cpu): removed unnecessary cache sleep region 2025-02-06 14:28:03 +08:00
85ec6a41f9 Merge branch 'feature/build_docs_h21' into 'master'
docs(build): add support for building H21 docs

Closes IDF-12105

See merge request espressif/esp-idf!36632
2025-02-06 11:25:36 +08:00
7c9c2537ed Merge branch 'feat/support_both_aes_and_sha_block_and_dma_modes_during_runtime' into 'master'
feat(mbedtls): Support both SHA block and DMA modes during runtime

Closes IDF-11848

See merge request espressif/esp-idf!36589
2025-02-06 11:19:51 +08:00
5f37de2889 Merge branch 'feat/lp-uart-wakeup-mode3' into 'master'
Added support for UART wakeup modes

Closes IDF-10202

See merge request espressif/esp-idf!31965
2025-02-06 11:15:37 +08:00
f9718eea80 test(gdma): can do memory to/from psram correctly 2025-02-06 11:06:21 +08:00
cbd6898a93 change(cache): sync the cache register info to TRM 2025-02-06 11:05:15 +08:00
f9d580210c Merge branch 'fix/usb_non_periodic' into 'master'
fix(usb/host): Set SCHED_INFO for all channels

Closes IDF-12035

See merge request espressif/esp-idf!36724
2025-02-06 00:20:24 +08:00
287e55a1c6 fix(coredump): disable uart txd pullup using gpio hal 2025-02-05 22:32:19 +08:00
e58763c777 fix(coredump): fix note section alignments 2025-02-05 22:32:19 +08:00
81a5f7dc80 fix(coredump): only clear high bit in PC when set 2025-02-05 22:32:19 +08:00
13a0a584d9 fix(gpio): fix esp_rom_gpio_connect_out_signal for gpio num over 31 on esp32/s2
Closes https://github.com/espressif/esp-idf/issues/15209
2025-02-05 22:19:04 +08:00
0b8ecbb03a fix(cmake): Support CMock subdir option with idf_component_mock
Closes https://github.com/espressif/esp-idf/pull/15308
Closes https://github.com/espressif/esp-idf/issues/13360
2025-02-05 14:07:19 +02:00
65ef909867 Revert "change(soc): fix idf_size error caused by ldgen to run success for ci pipeline"
This reverts commit bd19d4b930.
2025-02-05 19:58:39 +08:00
9c8517045c fix(usb_phy): Removed pull resistors override configuration for Internal FSLS PHY 2025-02-05 12:28:38 +01:00
30589c306c fix(nimble): Handle nested locks when BT_NIMBLE_DEBUG enabled 2025-02-05 14:47:31 +05:30
f1d19bb19f docs: Updated README.md by removing unclear lines 2025-02-05 14:06:02 +05:30
f742a05b28 feat: supports lp uart wakeup 2025-02-05 14:54:48 +08:00
5a0e1615d9 Merge branch 'fix/usb-cdc-non-blocking-read' into 'master'
fix(esp_vfs_console): USB CDC read when non blocking

See merge request espressif/esp-idf!36469
2025-02-05 14:30:15 +08:00
35fd0fe155 Merge branch 'fix/simple_http_server_ctrl_sock_address_len' into 'master'
fix(http_server): Simple http server socket len fix

See merge request espressif/esp-idf!36665
2025-02-05 11:41:03 +08:00
ece4ee30da Merge branch 'fix/p4_lsc_v100_warning' into 'master'
fix(isp_lsc): fixed warning description for p4 v1.0

See merge request espressif/esp-idf!34593
2025-02-05 10:53:06 +08:00
413de50b45 feat(esp32h21): enable ESP32H21 ci build 2025-02-05 10:17:39 +08:00
e80a84c148 fix(usb/host): Set SCHED_INFO for all channels
Although the hardware documentation suggests that SCHED_INFO is only used
for periodic channels, empirical evidence shows that omitting this configuration
on non-periodic channels can cause them to freeze.
Therefore, we set this field for all channels to ensure reliable operation.
2025-02-05 02:35:48 +08:00
df6e92eba2 Merge branch 'fix/eth_w5500_test_event' into 'master'
fix(esp_eth): Fix test code to unregister event correctly

Closes IDFCI-2705 and IDFCI-2706

See merge request espressif/esp-idf!36723
2025-02-04 20:46:45 +08:00
a591e48b97 fix(esp_eth): Fix test code to unregister event correctly 2025-02-04 12:29:43 +01:00
7d8211bf87 feat(mbedtls): Support both SHA block and DMA modes during runtime
Dynamically switch the SHA operation modes based on the buffer operating length
2025-02-04 16:49:30 +05:30
f8f40ad94f fix(sdmmc): fix reset of pins above slot width
Closes https://github.com/espressif/esp-idf/issues/15328
2025-02-04 12:01:04 +01:00
ef9259775e fix(http_server): Simple http server socket len fix
The socket address length is not typecasted properly while
passing to bind and sendto functions. Due to this
http_server/simple was not running with target linux on MacOS
used to give error -

I (132253266) port: Starting scheduler.
I (132253269) esp_netif_loopback: loopback initialization
I (132253269) example: Starting server on port: '8001'
E (132253270) httpd: httpd_server_init: error in creating ctrl socket (22)
I (132253270) example: Error starting server!

With this commit, simple http server runs with target linux
on MacOS for IPV4 configurations
2025-02-04 15:35:26 +05:30
46965784b8 fix(bootloader_support): coverity reported warning 2025-02-04 11:41:17 +05:30
074852664d fix(esp_tee): fix some coverity warnings 2025-02-04 11:40:22 +05:30
2e708d1a7d Merge branch 'fix/coredump_test_uart_data_missing' into 'master'
Fix missing coredump uart data in tests

See merge request espressif/esp-idf!36677
2025-02-03 22:03:38 +08:00
3114ae365e Merge branch 'fix/event_no_isr_post' into 'master'
fix(esp_event): Fix minor no-ISR post regression from 15f6775f5

See merge request espressif/esp-idf!36697
2025-02-03 21:03:07 +08:00
881628c548 fix(esp_event): Fix minor no-ISR post regression
from 15f6775f5d
2025-02-03 12:26:35 +01:00
b0aac120fb Merge branch 'fix/fatfs_diskio_static_func' into 'master'
fix(fatfs): make the diskio functions static

See merge request espressif/esp-idf!36694
2025-02-03 18:27:30 +08:00
50dc84ca6e fix(fatfs): make the diskio functions static
Closes https://github.com/espressif/esp-idf/issues/15248
2025-02-03 09:29:46 +01:00
f6b407d6b9 test(coredump): collect all expected uart data first, then process lazily 2025-02-01 06:12:11 +08:00
4da9b8654c fix(storage/fatfs): Compiler unused warning
esp-idf/components/fatfs/diskio/diskio_rawflash.c warning: unused variable 'part' [-Wunused-variable]
   XX |     const esp_partition_t* part = s_ff_raw_handles[pdrv];
      |                            ^~~~
esp-idf/components/fatfs/vfs/vfs_fat_sdmmc.c warning: unused variable 'found' [-Wunused-variable]
  XXX |     bool found = s_get_context_id_by_card(card, &id);
      |          ^~~~~
2025-01-31 23:26:12 +04:00
cb227eb260 fix(isp_lsc): fixed warning description for p4 v1.0 2025-02-01 00:10:37 +08:00
a45b12a68b feat(storage/vfs): improve mountpoint table memory usage 2025-01-30 09:07:51 +01:00
ae7c8691d9 fix(esp_vfs_console): USB CDC read when non blocking
In non blocking mode, the read function is expected
to return weather data is available for reading or not.

In case data are available but the size does not match
the expected size, the function read should return whatever
data is available.

Previously, the function was returning -1 with errno set
to EWOULDBLOCK even if the size of data in the buffer was
less than the requested size. It would only return the
available data if the size in the buffer was greater or equal
to the requested size.

The implementation of cdcacm_read is modified to return the avilable
data from the buffer even is the size is lesser than the requested
size.
2025-01-30 08:51:54 +01:00
82f558b47a Merge branch 'fix/esp-event-profiling' into 'master'
fix(esp_event): Fix event loop profiling in handler_execute function

Closes IDFGH-14245

See merge request espressif/esp-idf!35735
2025-01-30 15:42:21 +08:00
b5ee028273 Merge branch 'feat/bootloader_nvs_read_encrypted' into 'master'
Support reading encrypted NVS partitions by the bootloader

Closes IDF-11791

See merge request espressif/esp-idf!35466
2025-01-30 12:00:49 +08:00
c399089248 refactor(components/fatfs): replace assert EXPR
assert expressions in the diskio_wl.c file contains a magical calculations.
Replace them with an equality check.
2025-01-29 23:25:27 +04:00
48c400d7e4 Merge branch 'fix/bridge_wifi' into 'master'
fix(network/examples): Fix bridge example with eth-wifi config

See merge request espressif/esp-idf!36628
2025-01-29 23:16:09 +08:00
b1c3b69391 fix(transport_ws): remove unnecessary noise from error message 2025-01-29 15:33:22 +02:00
62df1017ad change(nvs_sec_provider): Change NVS encryption's default efuse HMAC key ID to -1 2025-01-29 18:51:29 +05:30
f205476ffe fix(nvs_flash): Add encrypted-flash as the dependency in nvs_create_partition_image() 2025-01-29 18:51:29 +05:30
c7f86301e6 change(bootloader): Increase the iram_seg size of bootloader to fit NVS encryption 2025-01-29 18:51:29 +05:30
5b17375aca test(nvs_flash): Extend the nvs_flash test app to support encrypted NVS reads 2025-01-29 18:51:29 +05:30
3b7d71eca2 feat(examples): Extend the bootloader_nvs example to support encrypted NVS reads 2025-01-29 18:51:29 +05:30
cadd6b8bcc feat(nvs_flash): Support reading encrypted NVS partitions in the bootloader 2025-01-29 18:51:29 +05:30
37de702e97 feat(nvs_flash): Enable the usage of mbedtls from ROM for bootloader NVS decryption
Bootloader NVS decryption uses hardware ROM APIs to decrypt the NVS contents,
but for targets that do not support AES hardware we could benefit by using the
software mbedtls library that is present in the ROM directly.
2025-01-29 18:51:29 +05:30
7c3832ff2a feat(nvs_flash): Add a minimal XTS-AES layer for the bootloader 2025-01-29 18:51:29 +05:30
4c38499303 fix(esp_partition): Support reading unencrypted partitions by the bootloader
- When flash encryption is enable to support reading a partition that is not
marked as "encrypted", the `esp_partition_read()` API of bootloader build
should be redirected to the `bootloader_flash_read()` API.
2025-01-29 18:51:28 +05:30
eb05db30fc fix(esptool_py): Fix NVS partition being incorrectly marked as encrypted
- The CMake function esptool_py_partition_needs_encryption() in the esptool_py
component used to mark NVS partition as encrypted, instead it should have marked
the NVS keys partition as encrypted.
2025-01-29 18:51:28 +05:30
2ee22f968a fix(nvs_flash): Allow matching with partition when label provided is NULL
- When esp_parition_find_first() is called with the partition label provided
as NULL by the bootloader, allowing matching to the first partition that matches
partition_type and partition_subtype as done in the app variant.
2025-01-29 18:51:28 +05:30
15f6775f5d fix(esp_event): Handler unregistration by itself issue
when esp_event_handler_unregister_with_internal cannot take
the loop mutex (e.g., when the handler unregisters itself),
create an event with a special base identifier and add it to
the queue of the corresponding loop to postpone the removal
of the handler from the list at a time when the loop mutex can be
successfully taken.
2025-01-29 13:37:27 +01:00
b09a515587 Merge branch 'fix/test_app_certificate' into 'master'
Regenerate certificates for testing

See merge request espressif/esp-idf!36664
2025-01-29 20:35:17 +08:00
d8d3c50b3f fix(esp_event): Fix event loop profiling in handler_execute function
handler_execute function is looking to match the handler only in the
list of loop events but does not look in the base event handler list
nor the id event handler list. So unless the event handler is
registered to be triggered for all event bases and all event ids of
an event loop, its profiling fields (invoked and time) are not updated
when it is called.

This commit updates the search for the matching handler to also look
in base event list and ID event list.

Closes https://github.com/espressif/esp-idf/issues/15041
2025-01-29 13:17:00 +01:00
6ac45b2559 Merge branch 'fix/usb_host_enum_unchecked_return_coverity' into 'master'
fix(usb_host): Fixed unchecked return value in enum driver (coverity)

Closes IDF-10068

See merge request espressif/esp-idf!36663
2025-01-29 19:45:48 +08:00
57b2ef83ea Merge branch 'feat/diag_cpuinfo' into 'master'
feat(tools): add basic system information to diag report

Closes IDF-12100

See merge request espressif/esp-idf!36627
2025-01-29 17:46:07 +08:00
9f253c7d7c Merge branch 'fix/fatfs_use_standard_flex_arrays' into 'master'
fix(storage/fatfs): use standard flex-array fields, instead of extension

See merge request espressif/esp-idf!36666
2025-01-29 17:31:56 +08:00
395984e4e8 Merge branch 'feat/diag_purge_file' into 'master'
feat(tools): enable passing the purge file as an argument to diag

Closes IDF-11825

See merge request espressif/esp-idf!36659
2025-01-29 17:31:33 +08:00
a700e7c210 fix(storage/fatfs): use standard flex-array fields, instead of extension 2025-01-29 09:08:44 +01:00
9b876d939a Merge branch 'feat/add_h2_config_and_maxver_for_v1.2' into 'master'
feat(soc): add Kconfig rev min option and increase max ver for H2 v1.2

Closes IDF-11993

See merge request espressif/esp-idf!36415
2025-01-29 14:14:52 +08:00
06166ad3aa feat(soc): add Kconfig rev min option and increase max ver for H2 v1.2 2025-01-29 12:55:15 +08:00
c97b63db32 Merge branch 'fix/rng_register_prefix_discrepency_older_targets' into 'master'
fix(soc): Add the unavailable TRM mentioned RNG_DATA_REG register for C2 and C3

Closes DOC-5138 and DOC-5135

See merge request espressif/esp-idf!36602
2025-01-29 12:51:54 +08:00
45d59f8205 fix(mqtt): Regenerate certificates for testing
- Previous fix ommited one of the client certificates by mistaque.
- This regenerates all certificates to clean that up.
2025-01-28 14:34:29 +01:00
2255cdc462 fix(usb_host): Fixed unchecked return value in enum driver (coverity) 2025-01-28 14:11:55 +01:00
7216d11110 feat(tools): enable passing the purge file as an argument to diag
At present, the diag tool uses its default purge file. However, users
may find it beneficial to specify and reuse their own purge file. A new
command line option, --purge, has been introduced to allow users to
provide their own purge file to diag. When this option is used, the
default purge file is ignored.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-01-28 09:19:36 +01:00
64a7472808 Merge branch 'fix/sdmmc_concurrency_slot_count_doesnt_work' into 'master'
fix(sdmmc): SDMMC concurrency change active slot only after the slot is initialized

Closes IDF-12168

See merge request espressif/esp-idf!36640
2025-01-27 21:56:41 +08:00
350dbaf73c feat(tools): add system.yml recipe to diag
This should enable the collection of more detailed information about the
operating system and basic CPU details.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-01-27 13:34:33 +01:00
f7b754acfa feat(tools): add option to execute steps only on a specific system
At present, the steps are executed unconditionally. With this
modification, we can restrict each step individually to determine if it
should run on a particular system. For instance, we can execute
different commands on different systems. This is achieved by adding a
new key, "system," to the step dictionary, with possible values being
Linux, Windows, and Darwin.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-01-27 13:34:19 +01:00
e188afdacf Merge branch 'docs/eth_memory_consideration' into 'master'
Non-functional Ethernet updates

Closes IDFGH-13346 and IDF-11736

See merge request espressif/esp-idf!36219
2025-01-27 19:24:34 +08:00
8b7204d87a Merge branch 'feature/esp_tee_cfg_srv' into 'master'
feat(esp_tee): Make the attestation service K-configurable

See merge request espressif/esp-idf!36123
2025-01-27 19:20:09 +08:00
c0590f5b50 fix(esp_http_client): Fix invalid content length header
In case a request with no content is sent after one with the content
length header set the header of the previous request is sent with the
subsequent one.
For instance, an empty GET request after a PUT request will still
indicate the non-zero content length of the previous request.

This is fixed by clearing the content length header when it shouldn't be
set.
2025-01-27 12:09:23 +01:00
dfcc0b22c9 Merge branch 'fix/periodic_fs_usb_on_p4' into 'master'
fix(usb/host): Fixed Full Speed periodic transfers on ESP32-P4

Closes IDF-11988

See merge request espressif/esp-idf!36560
2025-01-27 17:28:24 +08:00
7d1d949729 Merge branch 'ci/add-pre-signed-urls-of-built-test-related-apps-to-artifacts' into 'master'
ci: fix the issue with missing presigned URLs for test-related apps

Closes RDT-1120

See merge request espressif/esp-idf!36636
2025-01-27 16:19:42 +08:00
30196f9430 fix(sdmmc): SDMMC concurrency change active slot only after the slot is initialized
Fixes counting of initialized slots
2025-01-27 03:41:01 +01:00
16d9b94c56 refactor(esp_http_server): Improve httpd string value fetching efficiency
- Avoid using `strlcpy()` when source is not null-terminated;
- Avoid duplicate `strlen()` when `strlcpy()` is used.
2025-01-26 15:30:16 -05:00
05bcde060e doc(compatibility): add supported version for C6 v0.2 2025-01-26 16:25:27 +08:00
eb67370462 ci: fix the issue where presigned URLs for test-related applications were not being added to the YAML file 2025-01-26 15:41:06 +08:00
a4a597c8c8 Merge branch 'refactor/gpspi_linker' into 'master'
change(gpspi): control hal function placement in the driver component

See merge request espressif/esp-idf!36610
2025-01-26 11:51:31 +08:00
1e72b10b26 docs(build): add support for building H21 docs 2025-01-26 11:44:28 +08:00
fb72b2cb49 Merge branch 'bugfix/fix_i2s_reconfig_slot_issue' into 'master'
fix(i2s): fixed incorrect logic in slot reconfig

Closes IDFGH-14486

See merge request espressif/esp-idf!36574
2025-01-26 11:27:54 +08:00
fb33d8bd9d docs(examples): fixed broken link in uart example readme 2025-01-26 11:23:09 +08:00
c5865270b5 Merge branch 'feat/async_memcpy_any_alignment' into 'master'
async memcpy destination address doesn't have to be cache aligned

Closes IDFCI-2359 and IDF-11785

See merge request espressif/esp-idf!35849
2025-01-24 23:45:38 +08:00
9aad15daaa fix(network/examples): Fix bridge example eth-wifi config 2025-01-24 16:31:12 +01:00
3a30e43c27 Merge branch 'fix/diag_exec_cmd' into 'master'
fix(tools): allow to save stdout and stderr if the exec command fails

Closes IDF-12099

See merge request espressif/esp-idf!36626
2025-01-24 23:27:45 +08:00
e65c9a52e8 Merge branch 'test/bridge' into 'master'
[network/examples]: Fix build rules to test builds on for all targets

See merge request espressif/esp-idf!36590
2025-01-24 23:25:17 +08:00
88c099d756 fix(tools): allow to save stdout and stderr if the exec command fails
Currently, if a command run by the exec command returns an error
code, its stdout and stderr are not saved. It could be beneficial to
store at least the stderr if requested. Additionally, avoid creating
output files when there is no content and also store the stderr
of the failed command to diag.log.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-01-24 14:41:07 +01:00
125a3f0297 refactor(usb): Include supported PHYs information in SoC 2025-01-24 14:03:04 +01:00
ce59bd4017 fix(usb): Fixed missing GPIO drive capability on ESP32-P4
All USB PHYs that share their IOs with GPIOs must set
the GPIO's drive capability to maximum.
2025-01-24 14:02:52 +01:00
91f0cb493f fix(usb/host): Fixed Full Speed periodic transfers on ESP32-P4
For FS periodic endpoints 'tokens_per_frame' must be set to 8
LL usb_dwc_ll_hctsiz_set_sched_info() function.
2025-01-24 13:43:32 +01:00
4cdebaf6ff docs: update translation for esp_eth.rst 2025-01-24 12:16:47 +01:00
e5ee4207c6 Merge branch 'fix/test_app_certificate' into 'master'
Update test app certificates

Closes IDFCI-2687

See merge request espressif/esp-idf!36540
2025-01-24 18:44:35 +08:00
b708c0195a fix(network/examples): Fix build rules to test builds on for all targets
Uses wifi defines only if wifi is enabled for this target
2025-01-24 10:45:24 +01:00
0407879457 Merge branch 'contrib/github_pr_15273' into 'master'
Fix spelling mistake in all soc/interrupts.h (GitHub PR)

Closes IDFGH-14503 and IDFGH-14502

See merge request espressif/esp-idf!36597
2025-01-24 17:14:42 +08:00
499e04417b Merge branch 'refactor/remove_useless_spi_dma_chan' into 'master'
refactor(spi): Remove useless dma channels

See merge request espressif/esp-idf!36600
2025-01-24 16:55:06 +08:00
11e66825a0 change(gpspi): control hal function placement in the driver component 2025-01-24 16:22:03 +08:00
572eb92871 fix(wifi): Fix crash when failure_retry_cnt is set in station config
Fixes the regression introduced by 21c2bef602
2025-01-24 13:47:13 +05:30
23ce1cc47d Merge branch 'feature/add_ota_resumption_feature_in_advanced_ota_example' into 'master'
feat(app_utils): add ota resumption feature in advanced_ota_example

Closes IDF-2455, IDF-10421, and IDFGH-12065

See merge request espressif/esp-idf!32927
2025-01-24 15:32:40 +08:00
5950be0d6e Merge branch 'bugfix/fix_some_pbap_bugs' into 'master'
fix(bt/bluedroid): Fix some bugs in PBAP client

See merge request espressif/esp-idf!36579
2025-01-24 14:50:08 +08:00
6f0dad2814 Merge branch 'fix/stack_overuse_by_failure_retry_cnt' into 'master'
fix(wifi): Fix stack overflow when failure_retry_cnt is set in station configuration

Closes WIFIBUG-977

See merge request espressif/esp-idf!36582
2025-01-24 14:26:34 +08:00
05af3a87c7 Merge branch 'feature/esp32h2_eco5_ecc' into 'master'
feat(ecc): enable ECC constant time mode for ESP32-H2 ECO5

Closes IDF-11051, IDF-11399, and DOC-10127

See merge request espressif/esp-idf!34364
2025-01-24 14:12:06 +08:00
21c2bef602 fix(wifi): Fix stack overflow when failure_retry_cnt is set
Fix issue of increased stack usage when failure_retry_cnt is set
and wifi driver internally retries connection attempts
2025-01-24 13:49:31 +08:00
21c11caf70 fix(soc): Add the unavailable TRM mentioned RNG_DATA_REG register for C2 and C3 2025-01-24 10:50:05 +05:30
73c46b0bc5 Merge branch 'lwip/dhcp_network_changed_fix' into 'master'
fix(lwip): Fixed compilation issue with LWIP_DHCP_RESTORE_LAST_IP

Closes IDFGH-13710

See merge request espressif/esp-idf!36512
2025-01-24 12:08:51 +08:00
ee5ae9a1a4 refactor(spi): Remove useless dma channels 2025-01-24 12:00:49 +08:00
9643457e5b docs: Update CN translation for size.rst 2025-01-24 11:50:17 +08:00
839c18c762 feat(docs): Update minimizing binary size
The ESP32-H2 software countermeasure may not be necessary
        for ESP32-H2 v1.2 and above, this commit updates
        the relevant documentation
2025-01-24 11:50:17 +08:00
9269b785f8 refactor(ecdsa): rely on efuse to get chip revision 2025-01-24 11:50:17 +08:00
d8d9ba3dc2 fix(soc): Fixed ECDSA register compatibility 2025-01-24 11:50:17 +08:00
bef2a72ecb fix(hal): Make the ECDSA countermeasure dynamically applicable
This commit makes the ECDSA countermeasure dynamically applicable
    across different revisions of the ESP32H2 SoC.
2025-01-24 11:50:17 +08:00
6875cbf022 feat(ecc): enable ECC constant time mode for ESP32-H2 ECO5 2025-01-24 11:50:17 +08:00
0c7fef8ac9 feat(async_memcpy): support rx buffer unaligned to cache line size 2025-01-24 11:46:44 +08:00
8bb6f764e1 refactor(dma): split rx buffer to cache aligned ones 2025-01-24 11:46:16 +08:00
8354773714 Merge branch 'bugfix/touch_pr_on_github' into 'master'
fix(touch): fix unexpected touch start on RTC peripheral init

Closes IDFGH-6021 and IDFGH-9371

See merge request espressif/esp-idf!36507
2025-01-24 11:09:26 +08:00
47cc1b77ea Merge branch 'bugfix/fix_wep_shared_auth_connect_fail_issue' into 'master'
fix(wifi): fix wep shared auth connect fail issue

Closes WIFIBUG-404

See merge request espressif/esp-idf!36578
2025-01-24 10:55:27 +08:00
01abdcbe43 change(soc): Fix spelling mistake in soc/interrupts.h
Merges https://github.com/espressif/esp-idf/pull/15273
Closes https://github.com/espressif/esp-idf/issues/15272
2025-01-24 10:46:47 +08:00
2bb9fb267f fix(i2s): fix uninitialize warning for the default macros
Closes https://github.com/espressif/esp-idf/issues/15271
2025-01-24 10:44:34 +08:00
c0ab63c4c5 fix(i2s): fixed incorrect logic in slot reconfig
Closes https://github.com/espressif/esp-idf/issues/15256
2025-01-24 10:44:28 +08:00
809507903f Merge branch 'feat/support_bitscrambler_esp32c5' into 'master'
feat(bitscrambler): add driver support on esp32c5

Closes IDF-8711

See merge request espressif/esp-idf!36383
2025-01-24 10:04:48 +08:00
bdb1511441 Merge branch 'fix/fix_parlio_tx_rempty_interrupt' into 'master'
fix(parlio_tx): fix rempty interrupt during resetting fifo

See merge request espressif/esp-idf!36111
2025-01-24 09:00:59 +08:00
74d9e08d63 Merge branch 'feature/enable_rsa_support_for_esp32h21' into 'master'
feat: enabled rsa support for esp32h21

Closes IDF-11498

See merge request espressif/esp-idf!36309
2025-01-23 21:41:08 +08:00
c9670ca283 fix(mqtt): Update test app certificates
Certificates expired, so need to update for testing to pass.
2025-01-23 14:40:34 +01:00
c2e906129c Merge branch 'feat/add_callback_for_esp_ot_radio_spinel_init' into 'master'
feat(openthread): add an API to set rcp version string

See merge request espressif/esp-idf!36506
2025-01-23 21:08:26 +08:00
a7a3037e8c feat(openthread): add an API to set rcp version string 2025-01-23 21:08:26 +08:00
50adc8bcb1 docs: add documentation for HTTPS OTA resumption feature 2025-01-23 17:13:48 +05:30
7bce723d82 ci(examples): add tests for OTA resumption feature 2025-01-23 17:13:46 +05:30
89a96905c4 fix(esp_https_ota): handle invalid range condition for OTA resumption case 2025-01-23 17:13:43 +05:30
5c5df89950 feat(esp_https_ota): added ota resumption feature
This commit enabled configurable OTA resumption feature in advanced ota example.
This resumes downloading OTA image from where it left off in case of
an error or reboot.

Closes https://github.com/espressif/esp-idf/issues/13127
2025-01-23 17:13:15 +05:30
9cabe79385 Merge branch 'fix/incorrect_reserved_bits_calculation_in_xts_pseudo_round_conf' into 'master'
fix(soc): Fix incorrect reserved bits calculation in xts_pseudo_round_conf

See merge request espressif/esp-idf!36473
2025-01-23 18:49:03 +08:00
ebef063523 test(lwip): Added LWIP_DHCP_RESTORE_LAST_IP config in lwip test apps
Enabled CONFIG_LWIP_DHCP_RESTORE_LAST_IP configuration to compile and
test the DHCP last IP restore functionality in CI tests.
2025-01-23 21:44:38 +11:00
65706be451 fix(lwip): Fixed compilation issue with LWIP_DHCP_RESTORE_LAST_IP
Closes https://github.com/espressif/esp-idf/issues/14582
2025-01-23 21:44:38 +11:00
969ea94ae5 Merge branch 'docs/minor_coredump_docs_fixes' into 'master'
docs(coredump): Add minor documentation improvements for coredump

Closes DOC-10116

See merge request espressif/esp-idf!36517
2025-01-23 18:10:26 +08:00
4b3a2b2f8b fix(parlio): fix rempty interrupt during resetting fifo
Move the fifo reset to after disabling the tx core clock.
And add external non-free running clock src test.
2025-01-23 17:54:00 +08:00
21a8c222e1 feat(bitscrambler): add driver support on esp32c5 2025-01-23 17:50:10 +08:00
a241768916 feat: enabled rsa support for esp32h21 2025-01-23 17:49:46 +08:00
706b5e44d3 Merge branch 'fix/enable_pseudo_round_func_in_flash_enc_release_mode' into 'master'
fix(bootloader_support): Enable pseudo round function hen flash encryption release mode is enabled for H2-ECO5

See merge request espressif/esp-idf!36523
2025-01-23 17:16:32 +08:00
893e3269d0 Merge branch 'bugfix/remove_unused_sco_state' into 'master'
Bugfix/remove unused sco state

See merge request espressif/esp-idf!36285
2025-01-23 16:40:42 +08:00
895bb2afdc Merge branch 'change/default_value_for_esp_coex_vsc_in_bluedroid' into 'master'
change(bt): Set default value for BT_BLUEDROID_ESP_COEX_VSC conditionally

Closes BT-3947

See merge request espressif/esp-idf!36368
2025-01-23 16:40:05 +08:00
42ddce477f fix(bt/bluedroid): Fix some bugs in PBAP client
- Supported feature not set correctly
- Array access out of bounds issue
- Type conversion warning
2025-01-23 16:28:43 +08:00
9b7a5096c5 fix(wifi): fix wep shared auth connect fail issue 2025-01-23 15:58:26 +08:00
c4eec756f3 refactor(esp_tee): Revised the secure service ID numbering scheme
Also:
- Split the secure service table into two parts: one DRAM-resident and the
  other DROM-resident. The former holds the services invoked when the cache is
  disabled or suspended while the latter holds rest of the services.
2025-01-23 12:39:19 +05:30
a745100bef refactor(esp_tee): Add argument count checks for secure services in the dispatcher
Also:
- Unified the TEE build system-related scripts into a single script
2025-01-23 12:39:18 +05:30
a91f89026c feat(esp_tee): Make the attestation service configurable 2025-01-23 12:39:17 +05:30
4d9358703a refactor(esp_tee): Move the REE address validation check to a separate header 2025-01-23 12:39:16 +05:30
265e73de2d Merge branch 'ci/add_test_disable_softap' into 'master'
ci: add test to check wifi bin size when disable softap

See merge request espressif/esp-idf!36518
2025-01-23 15:03:04 +08:00
0cc16717b6 Merge branch 'fix/build_when_rom_patch_disable' into 'master'
fix(spi_flash): Fix build fail when rom_patch config disabled

Closes IDFGH-14455

See merge request espressif/esp-idf!36521
2025-01-23 14:53:12 +08:00
1d0fa29970 Merge branch 'feat/h21_interrupts' into 'master'
feat(intr): clean up and support interrupts on H21

Closes IDF-11535 and IDF-11537

See merge request espressif/esp-idf!36503
2025-01-23 12:13:34 +08:00
e6fb6612c9 fix(touch): checks if the timer is active before stopping it
Merges https://github.com/espressif/esp-idf/pull/10745
2025-01-23 11:55:40 +08:00
2ec93b3394 fix(touch): fix unexpected touch start on RTC peripheral init
Merges https://github.com/espressif/esp-idf/pull/7707
2025-01-23 11:55:40 +08:00
1f84180a1b Merge branch 'bugfix/fix_ble_aa_check' into 'master'
fix(ble): Update bt lib for ESP32(194dd63)

Closes BLERP-1505 and BLERP-1506

See merge request espressif/esp-idf!36536
2025-01-23 10:31:58 +08:00
5685633f2d Merge branch 'fix/ping_data_race' into 'master'
fix(lwip): Fix potential data-race in ping tcpip callback

See merge request espressif/esp-idf!36532
2025-01-22 23:06:48 +08:00
b46b3d1c1d fix(lwip): Fix potential data-race in ping tcpip callback
Need to use tcpip_api_call() instead of tcpip_callback(), since the
former waits for the tcpip task to complete and thus prevents potential
data races with subsequent TCP/IP tasks.
2025-01-22 21:13:57 +08:00
c640466e32 docs(coredump): Add minor documentation improvements for coredump 2025-01-22 13:44:56 +01:00
d30e4d9960 Merge branch 'feat/eth_gpio' into 'master'
feat(esp_eth): new gpio init strategy

Closes IDF-11128

See merge request espressif/esp-idf!35827
2025-01-22 20:20:07 +08:00
9ede4c277b Merge branch 'fix/fix_max_idle_priod_issue' into 'master'
fix(wifi): fix max idle period 1 issue

Closes WIFIBUG-1022

See merge request espressif/esp-idf!36484
2025-01-22 18:20:12 +08:00
ef74032118 Merge branch 'feat/esp32_set_get_bt_lpclk_src' into 'master'
feat(ble): Added API to get/set low power clock source

Closes BTQABR2023-370

See merge request espressif/esp-idf!34373
2025-01-22 14:59:12 +08:00
b7f3f677c3 Merge branch 'bugfix/fix_blufi_crash' into 'master'
fix(blufi): Fixed crash issue during memcpy in example

Closes BLERP-1401, BLERP-1402, and BLERP-1403

See merge request espressif/esp-idf!35105
2025-01-22 14:57:50 +08:00
3c74432f7e Merge branch 'feature/support_hw_reset_when_handling_rcp_failure' into 'master'
feat(openthread): support hardware reset RCP while processing RCP failure

See merge request espressif/esp-idf!36270
2025-01-22 14:46:29 +08:00
abc18e93eb fix(blufi): Fixed some security issue in blufi example 2025-01-22 14:35:23 +08:00
b4e3c5c1e2 fix(ble): Update bt lib for ESP32(194dd63)
- Fix the issue where disconnection events were not reported as a slave.
- Enhance Access Address validation in compatibility mode.
2025-01-22 13:05:44 +08:00
073bc00739 fix(spi_flash): Fix build fail when rom_patch config disabled,
Closes https://github.com/espressif/esp-idf/issues/15229
2025-01-22 12:01:41 +08:00
e73d78ba10 Merge branch 'enhance/i2c_del_device_bus' into 'master'
fix(i2c_master): Enhance i2c delete device and bus logic

Closes IDFGH-14387

See merge request espressif/esp-idf!36527
2025-01-22 11:50:07 +08:00
b6c94a19d6 Merge branch 'contrib/github_pr_15225' into 'master'
change(rmt): change rx buffer prints from error to debug (GitHub PR)

Closes IDFGH-14449

See merge request espressif/esp-idf!36460
2025-01-22 10:39:17 +08:00
c443f4d018 Merge branch 'dev/update-pre-commit-version' into 'master'
dev: update pre-commit hook idf-build-apps version

Closes RDT-1103

See merge request espressif/esp-idf!36538
2025-01-22 09:48:10 +08:00
bba4231384 fix(wifi): fix max idle period 1 issue 2025-01-21 21:14:19 +08:00
814c5f1cb1 Merge branch 'fix/ldgen_interm_no_secs' into 'master'
fix(ldgen): don't emit intermediate placements without sections

Closes IDF-11972

See merge request espressif/esp-idf!36432
2025-01-21 20:54:27 +08:00
a08995b302 fix(ldgen): don't emit intermediate placements without sections
When a symbol needs to be placed to a different target than the one
designated for the object file, the object file is expanded, which
includes the following steps:

1. Creating a new placement for the symbol's input section with the
   specified target.
2. Excluding the object placement from the orignal target.
3. Creating a new intermediate placement for the object for the original
   target, where its input sections are expanded, excluding the input
   section for the symbol.

Let's illustrate the object expansion process with the following example:

[sections:rodata]
entries:
    .rodata+
    .sdata2+
    .srodata+

[scheme:default]
entries:
    text -> flash_text
    rodata -> flash_rodata

[scheme:noflash]
entries:
    text -> iram0_text
    rodata -> dram0_data

[mapping:soc_pm]
archive: libsoc.a
entries:
    gpio_periph: GPIO_HOLD_MASK (noflash)

gpio_periph section headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        00000000 000034 000000 00  AX  0   0  2
  [ 2] .data             PROGBITS        00000000 000034 000000 00  WA  0   0  1
  [ 3] .bss              NOBITS          00000000 000034 000000 00  WA  0   0  1
  [ 4] .rodata.GPIO_HOLD_MASK PROGBITS        00000000 000034 000058 00   A  0   0  4
  [ 5] .rodata.GPIO_PIN_MUX_REG PROGBITS        00000000 00008c 000058 00   A  0   0  4
  [ 6] .debug_info       PROGBITS        00000000 0000e4 0000d8 00      0   0  1
  [ 7] .rela.debug_info  RELA            00000000 0009d4 000108 0c   I 16   6  4
  [ 8] .debug_abbrev     PROGBITS        00000000 0001bc 000070 00      0   0  1
  [ 9] .debug_aranges    PROGBITS        00000000 00022c 000018 00      0   0  1
  [10] .rela.debug_aranges RELA            00000000 000adc 00000c 0c   I 16   9  4
  [11] .debug_line       PROGBITS        00000000 000244 0001ab 00      0   0  1
  [12] .debug_str        PROGBITS        00000000 0003ef 00022d 01  MS  0   0  1
  [13] .comment          PROGBITS        00000000 00061c 000030 01  MS  0   0  1
  [14] .note.GNU-stack   PROGBITS        00000000 00064c 000000 00      0   0  1
  [15] .riscv.attributes RISCV_ATTRIBUTES 00000000 00064c 000044 00      0   0  1
  [16] .symtab           SYMTAB          00000000 000690 000260 10     17  36  4
  [17] .strtab           STRTAB          00000000 0008f0 0000e1 00      0   0  1
  [18] .shstrtab         STRTAB          00000000 000ae8 0000d1 00      0   0  1

1. Creating a new placement
.dram0.data :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_HOLD_MASK .sdata2.GPIO_HOLD_MASK .srodata.GPIO_HOLD_MASK)
}

2. Excluding the object placement
.flash.rodata :
{
    *(EXCLUDE_FILE(*libsoc.a:gpio_periph.*) .rodata.* ...)
}

3. Creating a new intermediate placement
.flash.rodata :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_PIN_MUX_REG)
}

Now, let's do the same, but also move GPIO_PIN_MUX_REG to noflash with an updated mapping.

[mapping:soc_pm]
archive: libsoc.a
entries:
    gpio_periph: GPIO_HOLD_MASK (noflash)
    gpio_periph: GPIO_PIN_MUX_REG (noflash)

1. Creating a new placement
.dram0.data :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_HOLD_MASK .sdata2.GPIO_HOLD_MASK .srodata.GPIO_HOLD_MASK)
    *libsoc.a:gpio_periph.*(.rodata.GPIO_PIN_MUX_REG .sdata2.GPIO_PIN_MUX_REG
                            .srodata.GPIO_PIN_MUX_REG)
}

2. Excluding the object placement
.flash.rodata :
{
    *(EXCLUDE_FILE(*libsoc.a:gpio_periph.*) .rodata.* ...)
}

3. Creating a new intermediate placement
.flash.rodata :
{
    *libsoc.a:gpio_periph.*
}

The *libsoc.a:gpio_periph.* entity in step 3 no longer has input
sections, as there are no remaining .rodata input sections in the object
file. The linker behavior for this mapping is to include all object
input sections that have not yet been placed as described in
https://sourceware.org/binutils/docs/ld.html#Input-Section-Basics
"If you use a file name without a list of sections, then all sections in
the input file will be included in the output section. This is not
commonly done, but it may by useful on occasion."

The map file for such mapping now contains following input sections

 .flash.rodata   0x3c0a0120    0x19b34
     *libsoc.a:gpio_periph.*()
     .debug_info    0x3c0b95bf       0xd8 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_abbrev  0x3c0b9697       0x70 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_aranges
                    0x3c0b9707       0x18 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_line    0x3c0b971f      0x1ab esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_str     0x3c0b98ca      0x21a esp-idf/soc/libsoc.a(gpio_periph.c.obj)
                                    0x22d (size before relaxing)
     .comment       0x3c0b9ae4       0x30 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .note.GNU-stack
                    0x3c0b9ae4        0x0 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .riscv.attributes
                    0x3c0b9ae4       0x44 esp-idf/soc/libsoc.a(gpio_periph.c.obj)

This is incorrect, and such intermediate placement should not be
generated. This type of placement can be recognized because it is not
explicitly defined in the mapping and lacks input sections. We can
identify this in the significant function and prevent issuing commands
for such placement.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-01-21 20:37:58 +08:00
zwx
b6ffcf88d0 feat(openthread): support hardware reset RCP while processing RCP failure 2025-01-21 19:54:02 +08:00
a22fd222b3 dev: update pre-commit hook idf-build-apps version 2025-01-21 12:50:21 +01:00
bef7edb940 Merge branch 'ci/enhace-dynamic-pipeline-with-bin-size-diff' into 'master'
ci: enhance dynamic pipeline with bin size diff

Closes IDFCI-2213 and IDF-7232

See merge request espressif/esp-idf!35356
2025-01-21 19:31:25 +08:00
aa674c4eab feat(bt): Added API to get/set low power clock source 2025-01-21 17:50:17 +08:00
b42505165f Merge branch 'feat/add_vsc_to_support_test' into 'master'
feat(bt): add vendor hci command and event to support test

See merge request espressif/esp-idf!36515
2025-01-21 17:18:14 +08:00
370e79e15e Merge branch 'feature/clean_up_some_tasks_in_epic' into 'master'
driver: clean up some tasks in epic

Closes IDF-11118, IDF-12003, IDF-10243, IDF-10245, IDF-10246, IDF-10248, IDF-10249, IDF-10252, IDF-10253, IDF-10255, and IDF-10259

See merge request espressif/esp-idf!36377
2025-01-21 16:07:13 +08:00
847780da3e fix(i2c_master): Enhance i2c delete device and bus logic,
Closes https://github.com/espressif/esp-idf/issues/15171
2025-01-21 15:56:25 +08:00
767545693a Merge branch 'bugfix/esp32c5_eco1_wifi_ps' into 'master'
fix some wifi power save issues and optimize phy sleep for esp32c5 eco1 and beta5

Closes PM-306, PM-319, PM-320, PM-296, PM-308, PM-311, PM-310, PM-309, PM-295, PM-274, PM-271, IDFCI-2604, and IDFCI-2605

See merge request espressif/esp-idf!35093
2025-01-21 15:46:04 +08:00
19f019df0e ci: add test to check wifi bin size when disable softap 2025-01-21 15:32:22 +08:00
f6be421a48 fix(bootloader_support): Enable pseudo round function in flash enc release mode for H2-ECO5 2025-01-21 12:21:42 +05:30
d75ca966c3 Merge branch 'fix/revert_and_update_depricated_marked_private_api' into 'master'
fix(esp_http_client): Revert Deprecated Tag on Previously Marked Private API

See merge request espressif/esp-idf!36451
2025-01-21 14:02:19 +08:00
bc63628fe6 Merge branch 'contrib/github_pr_15059' into 'master'
feat(https): Get TLS errors from http client (GitHub PR)

Closes IDFGH-14265

See merge request espressif/esp-idf!35833
2025-01-21 14:01:12 +08:00
783ff22ebf fix(esp_http_client): update code format for API
This commit update code format as per IDF standard for API
esp_http_client_get_and_clear_last_tls_error().
2025-01-21 10:24:33 +05:30
30c2907962 feat(https): Get TLS errors from http client
update PR

update mr

Update components/esp_http_client/esp_http_client.c

Co-authored-by: Nilesh Kale <nilesh.kale@espressif.com>
2025-01-21 10:22:27 +05:30
d93e84b65d Merge branch 'fix/ci_restart_avahi_daemon' into 'master'
fix(ci): restart avahi-daemon

See merge request espressif/esp-idf!36278
2025-01-21 12:35:58 +08:00
zwx
508cb1f97d fix(ci): restart avahi-daemon in otbr service discovery test case 2025-01-21 11:23:34 +08:00
3195bdca8b Merge branch 'fix/move_spi_lcd_cb_fun_to_iram' into 'master'
feat(spi_lcd): move callback function to iram

Closes IDFGH-14372

See merge request espressif/esp-idf!36354
2025-01-21 10:49:23 +08:00
7a94d450e0 Merge branch 'bugfix/analyzer_issues_supplicant' into 'master'
fix(esp_wifi): fix some analyzer issues

Closes IDFGH-14306, IDFGH-14307, and IDFGH-14308

See merge request espressif/esp-idf!36100
2025-01-21 10:47:51 +08:00
e35bb4901d Merge branch 'fix/mqtt5_docs' into 'master'
MQTT5 API header added to documentation

See merge request espressif/esp-idf!35548
2025-01-20 23:27:30 +08:00
ff13eb1791 Merge branch 'contrib/github_pr_15030' into 'master'
feat(app_update): esp_ota_mark_app_invalid_rollback() without reboot (GitHub PR)

Closes IDFGH-14234
Closes https://github.com/espressif/esp-idf/pull/15030

See merge request espressif/esp-idf!35843
2025-01-20 20:59:05 +08:00
b225703712 feat(bt): add vendor hci command and event to support test
- add afh related vendor hci command and event
- add vendor event mask command
2025-01-20 20:21:51 +08:00
84ecd39c81 fix(ci): fix some ci build issues to pass ci pipeline 2025-01-20 17:19:57 +08:00
c13ac70aa7 ci: check register half word 2025-01-20 16:37:18 +08:00
79fd265c20 feat(i2s): append the i2s signals instead of overwrite 2025-01-20 16:37:18 +08:00
0cfa86670a ci(check): update check_soc_struct_headers script 2025-01-20 13:30:03 +05:30
5863b66ba5 fix(soc): Fix incorrect reserved bits calculation in xts_pseudo_round_conf 2025-01-20 13:30:03 +05:30
3dd1ad9fdd Merge branch 'bugfix/can_not_change_sdkconfig_in_defaults' into 'master'
bugfix(example): remove test config in sdkconfig.defaults

See merge request espressif/esp-idf!36494
2025-01-20 15:12:12 +08:00
267a8776a0 feat(intr): clean up and support interrupts on H21 2025-01-20 15:10:30 +08:00
cdb757ba28 bugfix(example): remove test config in sdkconfig.defaults 2025-01-20 14:20:29 +08:00
cc1819200d Merge branch 'feat/ap_quad_psram_ecc_c61_c5' into 'master'
psram: add quad psram error correcting code (ECC) feature on ESP32C61/C5

Closes IDF-12027

See merge request espressif/esp-idf!36465
2025-01-20 14:12:39 +08:00
94effc1c0f Merge branch 'refactor/use_heap_malloc_replacing_dma_malloc' into 'master'
sd: replace esp_dma_malloc with heap_caps_malloc

Closes IDF-10047

See merge request espressif/esp-idf!36406
2025-01-20 14:12:29 +08:00
a5091447e1 Merge branch 'bugfix/clic_register_issues' into 'master'
fix(soc): fix clic register definition and  description

See merge request espressif/esp-idf!35538
2025-01-20 13:59:11 +08:00
7947246c5e Merge branch 'feature/enable_ecc_support_for_esp32h21' into 'master'
feat: enable ecc support for esp32h21

Closes IDF-11502

See merge request espressif/esp-idf!36348
2025-01-20 12:48:19 +08:00
e8ad9b05aa refactor(sd): replace esp_dma_ with heap_caps_ 2025-01-20 10:54:59 +08:00
afc1b31f43 Merge branch 'test/freertos_gptimer_not_supported' into 'master'
test(freertos): allow freertos tests to compile even when gptimer is not supported

Closes IDF-11554

See merge request espressif/esp-idf!36461
2025-01-20 09:56:48 +08:00
8dfcafa1b2 Merge branch 'feat/intr_alloc_force_intrno' into 'master'
feat(esp_hw_support): add the possibility to allocate two sources to the same interrupt line

Closes IDF-9552

See merge request espressif/esp-idf!35473
2025-01-20 09:43:00 +08:00
0672b326e3 Merge branch 'fix/broken_fatfsgen_tests' into 'master'
fix(storage/fatfsgen): broken test_apps scripts for fatfsgen

See merge request espressif/esp-idf!36453
2025-01-18 00:47:16 +08:00
b3aa1d4ffe Merge branch 'docs/minimal_build' into 'master'
docs: improve minimal build documentation

Closes IDF-11778

See merge request espressif/esp-idf!36182
2025-01-17 21:27:16 +08:00
803a288029 ci: enhance the Dynamic pipeline report with binary size information 2025-01-17 18:52:54 +08:00
8c8455ddc2 Merge branch 'docs/update_cn_translation_for_3files' into 'docs/minimal_build'
docs: Update CN translation for minimal build documentation

See merge request espressif/esp-idf!36259
2025-01-17 18:44:51 +08:00
bf874a8208 refactor(esp_phy): refactor phy sleep data initialize, split it to support multiple targets 2025-01-17 17:16:39 +08:00
bd19d4b930 change(soc): fix idf_size error caused by ldgen to run success for ci pipeline 2025-01-17 17:16:39 +08:00
377914d579 change(esp_hw_support): fix wifi mac rx buffer link exception caused by pll clock 2025-01-17 17:16:39 +08:00
2fce894c82 change(esp_phy): fix some wifi power save issues and optimize phy sleep for esp32c5 eco1 and beta5 2025-01-17 17:16:37 +08:00
8a654ffce1 feat(psram): ecc feature on c5 c61 2025-01-17 16:39:59 +08:00
a6fdc2677e docs: Update CN translation for minimal build documentation 2025-01-17 16:10:48 +08:00
e8d96c77a1 Merge branch 'docs/cn_en_roadmap' into 'master'
docs: cn and en roadmap update for 2025

See merge request espressif/esp-idf!34440
2025-01-17 14:48:57 +08:00
e3cf10564d Merge branch 'feat/allow_setting_rmt_group_prescale' into 'master'
refactor(rmt): set group clock prescale dynamically

Closes IDFGH-13921

See merge request espressif/esp-idf!34640
2025-01-17 14:40:28 +08:00
07ce83a375 Merge branch 'change/ble_update_lib_20250114' into 'master'
change(ble): [AUTO_MR] 20250114 - Update ESP BLE Controller Lib

Closes BLERP-1485

See merge request espressif/esp-idf!36364
2025-01-17 14:22:40 +08:00
22869af2c6 Merge branch 'feat/add_inq_page_coex_schm' into 'master'
feat(coex): add coexist scheme for bt inquiry/page coexist with wifi

Closes BT-3933 and BT-3541

See merge request espressif/esp-idf!36142
2025-01-17 13:56:55 +08:00
2ef05f9f9b test(idf_test): add performance target file for H21 2025-01-17 12:27:00 +08:00
638b22ef4e test(freertos): changed freertos tests to compile even if no gptimer 2025-01-17 12:07:07 +08:00
3f51e846fd fix(soc): fix clic register define and add description 2025-01-17 11:40:25 +08:00
bbdef6a11d Merge branch 'feature/malloc_cap_simd_flag' into 'master'
feat(heap): add a MALLOC_CAP_SIMD flag

Closes IDF-11813

See merge request espressif/esp-idf!35471
2025-01-17 11:35:22 +08:00
6505bcd297 refactor(psram): rename quad psram related naming 2025-01-17 11:31:11 +08:00
8ce6c61ca2 docs: updated the roadmap from 2024 to 2025 2025-01-17 10:57:41 +08:00
d8166220fd Merge branch 'feature/vbat_support_on_h2' into 'master'
feat(vbat): Add vbat support on esp32h2

See merge request espressif/esp-idf!36436
2025-01-17 10:46:25 +08:00
374f6f1f2a change(rmt): change rx buffer prints from error to debug 2025-01-16 12:08:33 -05:00
f9d6e356bf fix(storage/fatfsgen): broken test_apps scripts for fatfsgen 2025-01-16 13:41:57 +01:00
4f8bf6b98e Merge branch 'fix/fix_coex_macro_control' into 'master'
fix(openthread): use the correct macros to control code compilation

See merge request espressif/esp-idf!36362
2025-01-16 20:34:20 +08:00
57668738c2 Merge branch 'fix/broken_fatfsgen_tests' into 'master'
fix(storage/fatfsgen): broken test_apps scripts for fatfsgen

Closes IDFCI-2644 and IDFCI-2645

See merge request espressif/esp-idf!36317
2025-01-16 20:12:59 +08:00
d78461eb54 docs(ble): Updated the Bluetooth SIG Qualification information for ESP32C6 2025-01-16 19:55:34 +08:00
f638090179 fix(esp_http_client): Revert Deprecated Tag on Previously Marked Private API
This commit removes depcriacted tag marked on priavte APIs'
http_utils_get_string_between() and http_utils_get_string_after().
As these are not publick API, necessary changes been applied on these
APIs' directly withput adding new similar one and marking them as depricated.
2025-01-16 17:20:27 +05:30
2140c9b688 fix(storage/fatfsgen): broken test_apps scripts for fatfsgen 2025-01-16 12:13:16 +01:00
90ca881dab docs: improve minimal build documentation
Follow-up improvements to the minimal build documentation.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-01-16 18:24:14 +08:00
9c421495cc Merge branch 'bugfix/pm-300' into 'master'
fix some esp32c5 and esp32c61 light sleep wakeup issues

Closes PM-297, PM-300, and PM-212

See merge request espressif/esp-idf!36013
2025-01-16 18:11:37 +08:00
66927480c9 Merge branch 'bugfix/h2_ble_timer_clk_enable_fix' into 'master'
fix: H2 ble timer clk enable issue.

See merge request espressif/esp-idf!36316
2025-01-16 17:20:38 +08:00
24be422240 Merge branch 'bugfix/missing-esp-goto-on-false-debug' into 'master'
fix: Fixed missing macros declarations in esp_check.h

See merge request espressif/esp-idf!36352
2025-01-16 17:06:37 +08:00
70ead76a4d Merge branch 'refactor/usb_merge_p4_phy' into 'master'
refactor(usb/phy): Merge P4 and S2/S3 PHYs into one module

Closes IDF-11902

See merge request espressif/esp-idf!36249
2025-01-16 16:39:21 +08:00
f37de0d8d0 feat(vbat): Add vbat support on esp32h2 2025-01-16 15:45:56 +08:00
3957211c34 Merge branch 'refactor/use_isp_hw_auto_clk_force_en' into 'master'
isp: use isp hw auto clk force en

Closes IDF-10773

See merge request espressif/esp-idf!36423
2025-01-16 15:31:23 +08:00
4beb9b7390 Merge branch 'bugfix/nan_console_restart' into 'master'
fix(examples): Error when NAN Discovery is started more than once (GitHub PR)

See merge request espressif/esp-idf!34751
2025-01-16 14:55:53 +08:00
20eb6ca5e9 feat(heap): add a MALLOC_CAP_SIMD flag
MALLOC_CAP_SIMD can be used to allocate memory to be used for SIMD instructions
2025-01-16 14:39:12 +08:00
1e361f8c6d Merge branch 'fix/coverity_check_in_twai_spi_slave_and_hd' into 'master'
fix(driver_spi): coverity check in twai spi slave and slave_hd

Closes IDF-9561, IDF-9826, IDF-9832, IDF-9834, IDF-9844, IDF-9863, IDF-9864, IDF-11717, and IDF-11765

See merge request espressif/esp-idf!36386
2025-01-16 14:10:36 +08:00
b62c4e07e4 fix(examples): Error when NAN Discovery is started more than once
Merges https://github.com/espressif/esp-idf/pull/14762
2025-01-16 11:26:58 +05:30
c15e6e1fb6 Merge branch 'bugfix/fix_softap_sae_leak' into 'master'
fix(wpa_supplicant): Fix some coverity issues in wpa_supplicant

Closes IDF-11952

See merge request espressif/esp-idf!36068
2025-01-16 13:48:40 +08:00
dcb43e0eff fix(esp_common): move some DEBUG macros to http client component
In commit a0bcffcc, some ESP_RETURN and ESP_GOTO debug macros were
introduced. But this caused a regression with CONFIG_COMPILER_OPTIMIZATION_CHECKS_SILENT
case. Its better to move this macros to HTTP client component itself, as
the debug log is still desired for the specific use-case.
2025-01-16 10:27:54 +05:30
14573ca6ed Merge branch 'bugfix/esp_tee_ss_input_validation' into 'master'
fix(esp_tee): Input validation for secure services

See merge request espressif/esp-idf!36217
2025-01-16 12:18:26 +08:00
aad91f9eb2 Merge branch 'feat/add_config_to_set_addrfamily' into 'master'
feat(tcp_transport): add an api to configure the addr family

See merge request espressif/esp-idf!35788
2025-01-16 11:44:58 +08:00
b982374fa7 fix(openthread): use the correct macros to control code compilation 2025-01-16 11:40:20 +08:00
6285692441 Merge branch 'docs/update_cn_translation_for_ota' into 'master'
docs: Update cn translation about ota

Closes DOC-10028

See merge request espressif/esp-idf!36358
2025-01-16 11:32:11 +08:00
775e4d584c refactor(isp): use hw auto clock control mode for pipelines 2025-01-16 11:20:15 +08:00
ae85fe9b08 feat(isp): allow isp bf to be configured dyncamically 2025-01-16 11:20:15 +08:00
61a8aa80fb Merge branch 'fix/set_154_cca_duration' into 'master'
fix(15.4): set 15.4 energy scan duration before cca

See merge request espressif/esp-idf!36363
2025-01-16 11:19:58 +08:00
555bfd8f5c refactor(rmt): set group clock prescale dynamically
Closes https://github.com/espressif/esp-idf/issues/14760
2025-01-16 11:11:13 +08:00
4be36fdb8b feat(tcp_transport): add an api to configure the addr family 2025-01-16 10:44:33 +08:00
5ad7de7154 Merge branch 'refactor/improve_the_compatible_method_on_h2' into 'master'
refactor(lpperi): improve compatibility solution

See merge request espressif/esp-idf!36408
2025-01-16 00:07:56 +08:00
a45b6e7b72 Merge branch 'feat/support_aes_pseudo_round_func_in_esp32h2_eco5' into 'master'
Support AES and XTS-AES's pseudo round function in ESP32H2-ECO5

Closes IDF-11400 and IDF-11401

See merge request espressif/esp-idf!36041
2025-01-15 23:22:18 +08:00
5429cc1057 ci(esp_eth): added ESP32P4 as target for ETH tests 2025-01-15 22:53:33 +08:00
83fecdd5d3 change(esp_eth): new gpio init strategy 2025-01-15 22:53:33 +08:00
5dda7315f3 Merge branch 'bugfix/fix_compilation_warn' into 'master'
fix(nimble): Address compilation warnings for different flag combination

Closes BLERP-1488

See merge request espressif/esp-idf!36349
2025-01-15 21:31:59 +08:00
5ff8cefb5b feat: enable ecc support for esp32h21
This commmit enabled support for ECC peripheral in ESP32H21.
2025-01-15 17:01:23 +05:30
66cf5184ff Merge branch 'fix/no_inline__atomic_test_and_set' into 'master'
fix(newlib): add missing __atomic_test_and_set for RISCV chips wo 'a' extension

Closes IDFGH-14383

See merge request espressif/esp-idf!36387
2025-01-15 19:29:33 +08:00
9ea01eb7c4 fix(esp_tee): Input validation for secure services 2025-01-15 16:29:38 +05:30
b26109cede feat(hal/spi_flash_encrypted): Support AES pseudo rounds function in ESP32-H2 ECO5 2025-01-15 16:00:44 +05:30
1a7c52a230 feat(hal/aes): Support AES pseudo rounds function in ESP32-H2 ECO5 2025-01-15 16:00:44 +05:30
79b3b30828 feat(spi_lcd): move callback function to iram
Closes https://github.com/espressif/esp-idf/issues/15160
2025-01-15 18:25:37 +08:00
65c2cc095d refactor(usb/phy): Merge P4 and S2/S3 PHYs into one module
P4 had separate PHY implementation for initial bring-up,
now we can merge it with the original PHY driver.
2025-01-15 11:18:10 +01:00
3598909e57 Merge branch 'feat/vbat_bringup_test' into 'master'
feat(vbat): Add support to use vbat as rtc battery

See merge request espressif/esp-idf!36189
2025-01-15 18:15:21 +08:00
692ca37edf refactor(lpperi): improve compatibility solution 2025-01-15 17:12:59 +08:00
8a4f3cec5a fix(driver_twai): fixed coverity check in twai 2025-01-15 16:27:55 +08:00
e575b31acc docs: Update cn translation about ota 2025-01-15 16:15:20 +08:00
5945331268 fix(driver_spi): fixed coverity check in slave and slave_hd 2025-01-15 16:08:15 +08:00
59df7c1b8f feat(vbat): Add support to use vbat as rtc battery 2025-01-15 15:28:09 +08:00
793e394f5a fix(newlib): add missing __atomic_test_and_set for RISCV chips wo 'a' extension
Before the change described in
https://gcc.gnu.org/pipermail/gcc-patches/2023-September/631393.html it
appeared that inlining built-in GCC function __atomic_test_and_set() was
incorrect. It resulted in a non-atomic write.
After the change now present in GCC, the IDF should include the function
__atomic_test_and_set() to successfully link the final binary.

Closes https://github.com/espressif/esp-idf/issues/15167
2025-01-15 13:57:58 +07:00
4d11fe5847 Merge branch 'fix/memory-utils-unused-var' into 'master'
fix(esp_hw_support): Unused variables in memory_utils functions

See merge request espressif/esp-idf!36295
2025-01-15 14:05:01 +08:00
cf278e8060 docs(esp_hw_support): add Chinese translation for the shared interrupts documentation 2025-01-15 13:13:34 +08:00
16b8a2ea3b feat(esp_hw_support): two interrupts sources can now be mapped to the same interrupt line 2025-01-15 13:13:24 +08:00
f3af70530e fix(esp_hw_support): fix a bug in the interrupt allocator related to shared interrupts
On RISC-V targets, when allocating a shared interrupt, the provided level would
override the current level of the allocated interrupt. As such, a medium level
interrupt could become a low level one and vice versa.
2025-01-15 12:03:18 +08:00
e546ce3f15 fix(esp_hw_support): fix the interrupt allocator test app's CMakeLists.txt 2025-01-15 12:03:18 +08:00
349d1dbd33 refactor(bod): Rename kconfig.bod to kconfig.power 2025-01-15 11:41:35 +08:00
121f56ef6d change(esp_hw_support): disable CPU wait-for-event mode on cpu start 2025-01-14 21:34:44 +08:00
2117d959bf Merge branch 'feat/enable_esp_flash_rom_impl_test_c5_c61' into 'master'
test(spi_flash): Enable esp_flash rom impl test on c5 c61

See merge request espressif/esp-idf!33820
2025-01-14 21:02:05 +08:00
60d935f15d fix(wpa_supplicant): Fix some coverity issues in wpa_supplicant
1. Fix leak in SoftAP while sending SAE Confirm
2. Move NULL check before pointer is getting used
3. Remove some dead code
2025-01-14 19:55:02 +08:00
ed14b8d3f8 Merge branch 'fix/lwip_ping_getnetif_threadsafe' into 'master'
fix(lwip): Fix ping session calling thread unsafe API

Closes IDFGH-14183

See merge request espressif/esp-idf!35527
2025-01-14 18:16:51 +08:00
642340616e test(spi_flash): Enable esp_flash rom impl test on c5 c61 2025-01-14 17:18:12 +08:00
fdb1897392 Merge branch 'change/bs_cmake_cleanup' into 'master'
change(bs): some refactor to the bitscrambler component

See merge request espressif/esp-idf!36148
2025-01-14 16:33:25 +08:00
897e487f89 Merge branch 'fix/fix_off_wpa3_build_issue' into 'master'
fix(wifi): fix build issue when disable wpa3 sae

Closes WIFIBUG-1014 and IDFGH-14420

Closes https://github.com/espressif/esp-idf/issues/15200

See merge request espressif/esp-idf!36297
2025-01-14 16:14:53 +08:00
f546446d6d fix(wifi): fix build issue when disable wpa3 sae 2025-01-14 15:02:05 +08:00
a95406ad90 fix(esp_wifi): Add review comments and some cleanup 2025-01-14 14:35:00 +08:00
22897aaf5b fix(esp_wifi): fix some analyzer issues
Closes https://github.com/espressif/esp-idf/issues/15097
Closes https://github.com/espressif/esp-idf/issues/15098
Closes https://github.com/espressif/esp-idf/issues/15099
2025-01-14 14:35:00 +08:00
f0bf1e6bf8 change(bt): Set default value for BT_BLUEDROID_ESP_COEX_VSC conditionally
- Set default value of BT_BLUEDROID_ESP_COEX_VSC to n if software coexistence is not required,
in host-controller combined Bluetooth stack configuration.
2025-01-14 14:30:58 +08:00
e5feba6ed3 change(ble): update esp32c2 rom ld file 2025-01-14 14:22:24 +08:00
c263c75897 change(ble): [AUTO_MR] Update lib_esp32c2 to 7b7ee440 2025-01-14 14:14:05 +08:00
06a6b311a8 change(ble): [AUTO_MR] Update lib_esp32c6 to bbc1903d 2025-01-14 14:14:05 +08:00
bd2ca2a402 change(ble): [AUTO_MR] Update lib_esp32c5 to bbc1903d 2025-01-14 14:14:05 +08:00
4f5f0b0954 change(ble): [AUTO_MR] Update lib_esp32h2 to bbc1903d 2025-01-14 14:14:05 +08:00
4bbc3044d6 fix(15.4): set 15.4 energy scan duration before cca 2025-01-14 12:23:28 +08:00
8563c2fc46 Merge branch 'change/ble_update_lib_20250103' into 'master'
change(ble): [AUTO_MR] 20250103 - Update ESP BLE Controller Lib

Closes BLERP-1449, BLERP-1450, BLERP-1448, BLERP-1460, BLERP-1461, BLERP-1462, BLERP-1421, BLERP-1407, BLERP-1075, BLERP-1463, BLERP-1412, BLERP-1422, BLERP-1454, and BLERP-1466

See merge request espressif/esp-idf!36145
2025-01-14 12:20:23 +08:00
7d75dea34a Merge branch 'feat/https_examples_pytest_with_esp32c2_rom_mbedtls' into 'master'
ci(https/examples): Enabled https examples pytest with config esp32c2_rom_mbedtls

See merge request espressif/esp-idf!33910
2025-01-14 12:17:10 +08:00
f39d1215b5 change(bt): Remove unused state variable for (e)SCO disconnect reason in Bluedroid 2025-01-14 12:08:53 +08:00
ac8204c4ba fix(esp32h2): H2 ble timer clk enable issue 2025-01-14 11:27:51 +08:00
0f0068fff3 Merge branch 'fix/fix_branch_predictor_access_flash_after_cache_diabled' into 'master'
fix(esp_hw_support): fix branch predictor access flash after cache disabled

Closes PM-329

See merge request espressif/esp-idf!36281
2025-01-14 10:56:17 +08:00
dc3f31adac refactor(bitscrambler): to use GDMA link API 2025-01-13 22:58:27 +08:00
8de8558841 fix(bitscrambler): example timeout in the bsasm
also added example pytest
2025-01-13 22:58:27 +08:00
97d09e6427 feat(gdma): added API to count the size of rx buffer until eof 2025-01-13 22:58:27 +08:00
5238519048 Merge branch 'bugfix/enable_simple_http_server_on_linux' into 'master'
fix(examples): simple http_server example build for Linux target

See merge request espressif/esp-idf!36277
2025-01-13 19:44:45 +08:00
52b558d218 Merge branch 'feature/enable_fp_backtracing' into 'master'
feat(riscv): implement frame pointer option for backtracing

See merge request espressif/esp-idf!32342
2025-01-13 18:11:49 +08:00
8a25cd1503 fix(mqtt): MQTT5 API header added to documentation
MQTT5 API headers were missing.
2025-01-13 17:27:37 +08:00
f2c3fc2129 Merge branch 'ci/check_copyright_bsasm' into 'master'
CI: Check copyright for BSASM files

Closes IDFGH-14382

See merge request espressif/esp-idf!36255
2025-01-13 17:24:45 +08:00
0da23b800d Merge branch 'revert/i2s_apll_pm_type' into 'master'
fix(i2s): lock APB when using apll with DFS feature

Closes IDFGH-13860

See merge request espressif/esp-idf!36096
2025-01-13 16:52:04 +08:00
65aaf217d8 fix(nimble): Fix compilation issues for different flag combinations 2025-01-13 13:49:49 +05:30
5c5e80ca24 Merge branch 'feat/remove_pre_encrypted_ota_example_support' into 'master'
feat(ota): Remove the pre_encrypted_ota example from eps-idf

See merge request espressif/esp-idf!35891
2025-01-13 16:06:35 +08:00
b20a7f1d2d Merge branch 'bugfix/memory_leak_in_http_digest_authentication' into 'master'
fix(esp_http_client): fixed memory leak issue while preparing HTTP digest authentication

Closes IDFGH-14071

See merge request espressif/esp-idf!36066
2025-01-13 15:59:03 +08:00
6a7e34997e Merge branch 'fix/remove_duplicates_from_sdkconfig_renames' into 'master'
fix: remove duplicit lines from sdkconfig.rename files

Closes IDF-9604

See merge request espressif/esp-idf!35219
2025-01-13 15:53:41 +08:00
ef5dad5bf4 Merge branch 'bugfix/ledc_include_gpio' into 'master'
fix(ledc): fixed depending on gpio header but don't depends on it

Closes IDFGH-14390

See merge request espressif/esp-idf!36280
2025-01-13 15:25:21 +08:00
93aea4f664 Merge branch 'feat/increase_c2_supported_ver' into 'master'
feat(soc): increase c2 max supported version

See merge request espressif/esp-idf!35969
2025-01-13 14:54:53 +08:00
8ea58f3d36 feat(ota): Remove the pre_encrypted_ota example from eps-idf
1. Remove the pre_encrypted_ota example from the esp-idf as we have
moved this example idf-extra-components repository under esp_encrypted_img
component
2. Added the migration guide for 5.5 release
2025-01-13 11:33:14 +05:30
a77c4e7eef Merge branch 'bugfix/fix_few_nimble_issues' into 'master'
fix(nimble): Fix few nimble issues 11012025

Closes BLERP-1469 and BLERP-1477

See merge request espressif/esp-idf!36252
2025-01-13 13:19:34 +08:00
db07b97ae2 Merge branch 'contrib/github_pr_15144' into 'master'
fix(twai): TWAI_GENERAL_CONFIG_DEFAULT_V2 initialize general_flags (GitHub PR)

Closes IDFGH-14354

See merge request espressif/esp-idf!36159
2025-01-13 12:26:13 +08:00
25fe9e50eb fix(ci): use component dependency pattern in build yml 2025-01-13 09:10:04 +05:30
4c5e1a0341 Merge branch 'refactor/update_lpperi_regs_for_h2_eco5' into 'master'
refactor(lpperi): compatible refactor for H2 ECO5

See merge request espressif/esp-idf!36235
2025-01-13 10:34:53 +08:00
7a4cc8ed35 fix(esp_hw_support): fix branch predictor access flash after cache disabled 2025-01-13 10:28:09 +08:00
57a893d269 Merge branch 'feature/touch_driver_ng_on_32' into 'master'
feat(touch): support touch v1 in new touch driver

Closes IDF-10183 and IDF-11423

See merge request espressif/esp-idf!34781
2025-01-13 10:23:25 +08:00
d78f270b04 Merge branch 'feat/spi_std_timing_and_bit_trans' into 'master'
feat(driver_spi): support adjust master rx to standard timing

Closes IDF-11396

See merge request espressif/esp-idf!36058
2025-01-13 10:07:28 +08:00
937fe2a6e3 fix(ble): fixed ld file for c2eco0 and c2eco4 2025-01-10 20:44:27 +08:00
zwl
4dfe8db6a6 fix(ble): fixed esp_ble_tx_power_set api issue on ESP32-C5 2025-01-10 20:44:27 +08:00
zwl
d2b62f2130 fix(ble): fixed esp_ble_tx_power_set api issue on ESP32-H2 2025-01-10 20:44:27 +08:00
zwl
8d6ec12838 fix(ble): fixed esp_ble_tx_power_set api issue on ESP32-C6 2025-01-10 20:44:27 +08:00
zwl
6a752eeb89 fix(ble): fixed esp_ble_tx_power_set api issue on ESP32-C2 2025-01-10 20:44:27 +08:00
zwl
8f7f0f0d69 feat(ble): support for putting ble code into flash on ESP32-C5 2025-01-10 20:44:27 +08:00
zwl
5a9acdc379 feat(ble): support for putting ble code into flash on ESP32-H2 2025-01-10 20:44:27 +08:00
zwl
02d6d6fd73 feat(ble): support for putting ble code into flash on ESP32-C6 2025-01-10 20:44:27 +08:00
acf5823a0d change(ble): Update esp_bt.h controller config for C5 and rom.ble-eco4.ld for C2ECO4 2025-01-10 20:44:27 +08:00
7cd3fe6953 change(ble): Update lib_esp32c2 to 2a00fb0b 2025-01-10 20:44:27 +08:00
4fc95fa91f change(ble): Update lib_esp32c6 to 3422b706 2025-01-10 20:44:27 +08:00
3a2ad98b0d change(ble): Update lib_esp32c5 to 3422b706 2025-01-10 20:44:27 +08:00
fe5a12e7e7 change(ble): Update lib_esp32h2 to 3422b706 2025-01-10 20:44:27 +08:00
b35cdaf818 docs(i2s): add application notes to es7210 example 2025-01-10 20:28:36 +08:00
805d6e4e73 fix(i2s): lock APB when using apll with DFS feature
Closes https://github.com/espressif/esp-idf/issues/14707

Append to the commit ad9021a844.
2025-01-10 20:28:36 +08:00
49132a5943 feat(nimble): Additional changes in PAWR IDF Examples/support for ESP IP 2025-01-10 17:03:51 +05:30
4ca02a41ff fix(nimble): Fixed a typo in Kconfig file 2025-01-10 17:03:51 +05:30
858c6af65b fix(nimble): Added HCI_Read_Remote_Version_Information command 2025-01-10 17:03:51 +05:30
922cae93ad fix(nimble): Clear our and peer security records during unpair 2025-01-10 17:03:51 +05:30
aa40af2510 test(twai): add cxx build test 2025-01-10 18:54:12 +08:00
a3f17742be fix(twai): TWAI_GENERAL_CONFIG_DEFAULT_V2 initialize general_flags
Closes https://github.com/espressif/esp-idf/pull/15144
2025-01-10 18:54:12 +08:00
aac16530a0 refactor(lpperi): compatible refactor for H2 ECO5 2025-01-10 18:47:43 +08:00
e2b7cce13c fix(esp_hw_support): Unused variables in memory_utils functions 2025-01-10 11:05:50 +01:00
805d2ffb34 docs(touch): update touch sensor docs for the new driver 2025-01-10 16:42:36 +08:00
09b15b479a refactor(touch): update touch related examples to use new API 2025-01-10 16:42:36 +08:00
32d23f9761 feat(touch): support touch v1 test cases 2025-01-10 16:42:36 +08:00
fd7b80833c feat(touch): support touch v1 in new touch driver 2025-01-10 16:42:22 +08:00
c3a4c86970 docs(esp_eth): added EMAC Memory Considerations section 2025-01-10 09:28:32 +01:00
2096a99deb feat(coex): add coexist scheme for bt inquiry/page coexist with wifi 2025-01-10 15:54:13 +08:00
057bae82e1 Merge branch 'refactor/security_docs_re-org' into 'master'
refactor(docs): re-organize security docs for better navigation

See merge request espressif/esp-idf!36260
2025-01-10 15:40:18 +08:00
4762db2dd8 Merge branch 'ci/iperf_esp32p4' into 'master'
ci(esp_eth): added ESP32P4 to iperf CI test

See merge request espressif/esp-idf!35540
2025-01-10 15:33:29 +08:00
486c95557a Merge branch 'bugfix/gpio_8_16_bit_access' into 'master'
feat(gpio): add gpio_config_as_analog() API

Closes IDF-10247 and IDFGH-12754

See merge request espressif/esp-idf!35856
2025-01-10 15:14:19 +08:00
5b5e6f6a1a Merge branch 'feat/plugins_trim_build' into 'master'
feat(examples): trim down the plugins example build

Closes IDF-11779

See merge request espressif/esp-idf!36185
2025-01-10 15:07:31 +08:00
f2ae68138e Merge branch 'bugfix/fix_the_wpa3_connect_error_in_mesh' into 'master'
fix(wifi/mesh): fixed the mesh connection failure in WPA3 mode after erasing flash

Closes IDFGH-13154

See merge request espressif/esp-idf!36037
2025-01-10 14:48:22 +08:00
3701a04980 docs: Update CN translation for ota.rst 2025-01-10 14:18:45 +08:00
90fbd41701 Merge branch 'docs/add_note_about_h2_rtc_gpio' into 'master'
docs: Update note about h2 rtc gpio

See merge request espressif/esp-idf!36049
2025-01-10 14:13:53 +08:00
6502148fdc fix(examples): simple http_server example build for Linux target
Static task creation on Linux target had issues with insufficient stack
memory allocation. Type of `StackType_t` is `unsigned long` and hence
it must be considered during stack memory allocation.

Fix ensures proper working of simple HTTP server example.
2025-01-10 09:50:18 +05:30
51a7f4547b Merge branch 'ci/re_enable_i2s_pytest_exceptions' into 'master'
ci(i2s): re-enable example pytest exceptions

Closes IDF-10007

See merge request espressif/esp-idf!36271
2025-01-10 11:44:22 +08:00
4393a0d072 Merge branch 'bugfix/reset_axi_gdma_gracefully' into 'master'
fix(gdma): stop the axi gdma gracefully on CPU SW reset

See merge request espressif/esp-idf!36137
2025-01-10 10:11:37 +08:00
e9914423c0 Merge branch 'fix/update_srp_zero_subtype' into 'master'
fix(openthread): update SRP server to support zero subtype

See merge request espressif/esp-idf!36269
2025-01-09 23:06:18 +08:00
fc6272e9b0 ci(tools): Check copyright for BSASM files 2025-01-09 15:16:56 +01:00
d594067acf fix(ledc): fixed depending on gpio header but don't depends on it
Closes https://github.com/espressif/esp-idf/issues/15174
2025-01-09 21:40:48 +08:00
ef1ee48773 feat(app_update): esp_ota_mark_app_invalid_rollback() without reboot 2025-01-09 15:04:01 +05:30
364371ac97 ci(i2s): re-enable example pytest exceptions 2025-01-09 17:23:36 +08:00
fbcbefe9f0 fix(dma): abort the axi dma gracefully on CPU SW reset 2025-01-09 17:12:43 +08:00
717efebdfb fix(openthread): update SRP server to support zero subtype
* esp-openthread: 278d4fc29
* openthread: 005c5cefc
* esp-idf: a150b999b
2025-01-09 15:49:29 +08:00
e44c525da2 Merge branch 'docs/update_cn_spi_flash_override_driver' into 'master'
docs: Update the CN translation for spi_flash_override_driver.rst

Closes DOC-9720

See merge request espressif/esp-idf!35631
2025-01-09 15:00:40 +08:00
3a94fed34f Merge branch 'ci/fix_example_network_build_rules' into 'master'
ci: fix network examples build test rules

Closes IDFCI-2595

See merge request espressif/esp-idf!36181
2025-01-09 14:43:06 +08:00
ec990f4a52 Merge branch 'feature/logv2_2' into 'master'
feat(log): Log v2

Closes IDF-245, IDFGH-3855, IDF-2956, IDF-7883, and IDFGH-13066

See merge request espressif/esp-idf!31128
2025-01-09 13:55:06 +08:00
4a071793a5 Merge branch 'bugfix/reset_global_values' into 'master'
fix(nimble): Reset data length global variables

See merge request espressif/esp-idf!36218
2025-01-09 13:26:35 +08:00
fcb69ae5cd fix(wifi/mesh): fixed the mesh connection failure in WPA3 mode after erasing flash
Closes https://github.com/espressif/esp-idf/issues/14095
2025-01-09 12:06:14 +08:00
e1a737e401 refactor(docs): re-organize security docs for better navigation 2025-01-09 09:35:12 +05:30
d6cd339e46 fix: take into account MR comments 2025-01-09 11:57:02 +08:00
ead2c8655e feat(esp_system): TaskWDT can now use frame pointer to print the backtrace 2025-01-09 11:57:02 +08:00
1e0cdcbd13 feat(heap): enable heap tracing for the RISC-V targets
When the frame pointer is enabled, it is possible for RISC-V targets to now
possible to enable and generate heap call traces.
2025-01-09 11:57:02 +08:00
980cf269c7 feat(riscv): implement frame pointer option for backtracing 2025-01-09 11:57:02 +08:00
64c44dd39b feat(soc): increase c2 max supported version 2025-01-09 11:41:06 +08:00
50cd05c4ac Merge branch 'refactor/move_bod_to_hw_support' into 'master'
refactor(bod): Move brownout handling file from esp_system to esp_hw_support

See merge request espressif/esp-idf!36191
2025-01-09 11:08:05 +08:00
e73f27fbea Merge branch 'bugfix/wpa3_enterprise_mode_detection' into 'master'
fix(wifi): Fix bug in authmode detection for wpa2/wpa3 enterprise

Closes WIFIBUG-948

See merge request espressif/esp-idf!36190
2025-01-09 10:41:47 +08:00
c4a4de0bb1 Merge branch 'feat/usb_host_external_power_switch_ci' into 'master'
Feat/usb host external power switch for esp32s2(s3) CI target runners

Closes IEC-238

See merge request espressif/esp-idf!35247
2025-01-09 01:16:20 +08:00
c1db0a05bb fix(nimble): Reset data length global variables 2025-01-08 21:38:51 +05:30
cc9fb5bd5e Merge branch 'change/update_gdma_register_esp32c61' into 'master'
change(dma): update gdma register of esp32c61

See merge request espressif/esp-idf!36028
2025-01-08 23:55:13 +08:00
5700288433 Merge branch 'contrib/github_pr_14954' into 'master'
fix(esp_ulp): Add support for multiple ULP program embedding without name collision (GitHub PR)

Closes IDFGH-14152 and DOC-9881

See merge request espressif/esp-idf!35483
2025-01-08 22:14:27 +08:00
52c0278361 feat(gpio): add gpio_config_as_analog API 2025-01-08 21:58:12 +08:00
bca1e958ea Merge branch 'test/new_mosquitto' into 'master'
fix(mqtt): Fix mqtt tests with local mosquitto

See merge request espressif/esp-idf!35859
2025-01-08 18:19:24 +08:00
460380bb25 feat(driver_spi): support using SPI_DEVICE_STD_TIMING to adjust master rx in standard timing 2025-01-08 17:17:06 +08:00
5b75572f23 fix(gpio): fix 8/16-bit gpio, rtc/lp_io register access 2025-01-08 16:49:34 +08:00
3fde2017cd refactor(rtcio): update comments for rtc_io header file
Closes https://github.com/espressif/esp-idf/issues/13735
2025-01-08 16:49:34 +08:00
1c16b62954 Merge branch 'feature/esp_tee_examples_and_docs' into 'master'
docs(esp_tee): Added documentation for ESP-TEE

Closes IDF-10483

See merge request espressif/esp-idf!34852
2025-01-08 16:40:56 +08:00
3aba0ff704 Merge branch 'refactor/mspi_ll' into 'master'
mspi: rename mspi_timing_tuning_ll.h to mspi_ll.h

Closes IDF-11918

See merge request espressif/esp-idf!36039
2025-01-08 16:29:28 +08:00
b92e993d56 Merge branch 'refactor/cleanup_usb_phy' into 'master'
Cleanup USB PHY

See merge request espressif/esp-idf!35783
2025-01-08 16:11:54 +08:00
a150b999bb Merge branch 'feature/efuse_update_for_esp32h2_eco5' into 'master'
feat(efuse): Adds efuses for esp32h2 eco5

Closes IDF-11405

See merge request espressif/esp-idf!35896
2025-01-08 15:53:17 +08:00
c9fb7769af fix(wifi): Fix bug in authmode detection for wpa2/wpa3 enterprise
WPA3-Enterprise mandates the use of AKM suite selector
00:0F:AC:5 (IEEE80211 802.1X with SHA-256)
2025-01-08 12:44:05 +05:30
7e44f8d38a Merge branch 'bugfix/adc_oneshot_error_after_continuous' into 'master'
fix(adc): fix adc oneshot error after continuous

Closes IDFGH-13620

See merge request espressif/esp-idf!36077
2025-01-08 15:00:02 +08:00
38f2d9275a docs: Update CN translation for ulp 2025-01-08 14:55:58 +08:00
24d44e1696 fix(ulp): Added unit tests for ulp binary embed with prefix and misc fixes
This commit:
- Removes the link time symbol name clash detection.
- Extracts symbols of type NOTYPE for global identifiers defined in
  assembly files.
- Makes the prefix argument optional for ulp_add_build_binary_targets().
- Adds a unit test for the ulp binary embed with a prefix feature.
2025-01-08 14:55:58 +08:00
e29bccbf6a docs(ulp): Improve documentation for ulp_embed_binary changes 2025-01-08 14:55:58 +08:00
5dea6adbef fix(ulp): Add support for multiple ULP program embedding without name collision
Merges: https://github.com/espressif/esp-idf/pull/14954
2025-01-08 14:55:58 +08:00
33c340a328 Merge branch 'docs/correct_ulp_idf_monitor_command' into 'master'
docs(ulp): Fix esp_idf_monitor command for ulp monitoring

See merge request espressif/esp-idf!36205
2025-01-08 14:55:42 +08:00
0e5a11c051 docs: Update translation 2025-01-08 14:46:53 +08:00
dbfb2489b4 fix(docs): Fixes log doc after review 2025-01-08 14:46:53 +08:00
6c1152b9ac docs: Update translation for log.rst 2025-01-08 14:46:53 +08:00
b37218ce1a feat(docs): Updates the log doc adding log v2 2025-01-08 14:46:53 +08:00
b994f33f51 feat(log): Updates timestamp APIs 2025-01-08 14:46:53 +08:00
bc46512ad5 feat(log): Make the buffer log API available to bootloader 2025-01-08 14:46:53 +08:00
a5bc08fb55 feat(log): Use esp_log func in all LOG macros 2025-01-08 14:46:53 +08:00
5e4fd8ee52 refactor(bod): Move brownout handling file from esp_system to esp_hw_support 2025-01-08 14:41:37 +08:00
a29589e266 Merge branch 'feature/154_api_enhancement_for_mp' into 'master'
feat(802.15.4): support register isr callback

See merge request espressif/esp-idf!31347
2025-01-08 14:38:58 +08:00
21e07da102 Merge branch 'bugfix/sync_buf_crash' into 'master'
fix(bt/controller): fixed missing critical protections on linked-list structure of (e)SCO buffers

Closes BT-3932 and COEXQABR24-85

See merge request espressif/esp-idf!36097
2025-01-08 14:10:35 +08:00
cb84119600 docs(esp_tee): Added documentation for the ESP-TEE framework
- Co-authored-by: Shen Meng Jing <shenmengjing@espressif.com>
2025-01-08 11:37:42 +05:30
bbb8b849e2 Merge branch 'fix/return_esp_err_t_for_httpd_req_get_url_query_str' into 'master'
feat(https_server): Added checks to verify if uri is empty

Closes IDFGH-10685

See merge request espressif/esp-idf!36157
2025-01-08 13:35:49 +08:00
876a747048 change(dma): update gdma register of esp32c61 2025-01-08 13:26:06 +08:00
4f416abfe2 Merge branch 'feature/esp_tee_flash_prot' into 'master'
feat(esp_tee): Support for flash memory isolation and protection (SPI0)

See merge request espressif/esp-idf!35486
2025-01-08 12:46:17 +08:00
c931de207f Merge branch 'test/enhance_i2c_tests' into 'master'
test(i2c): Enhance i2c test stability

See merge request espressif/esp-idf!36074
2025-01-08 10:53:43 +08:00
65577b9caf Merge branch 'fix/fix_tsens_power_after_modem_wakeup' into 'master'
fix(esp_hw_support): fix tsensor power enable failed after modem state wakeup

See merge request espressif/esp-idf!35886
2025-01-08 10:38:52 +08:00
690ad97c55 Merge branch 'docs/remove_coex_doxy' into 'master'
docs(doxygen): removed coex header from doxyfile

See merge request espressif/esp-idf!36221
2025-01-08 10:13:42 +08:00
80b28a9816 Merge branch 'bugfix/fix_ble_conn_fail_in_ci' into 'master'
fix(ble/bluedroid): Optimize CI configuration for Bluedroid example

Closes IDFCI-2628

See merge request espressif/esp-idf!36138
2025-01-08 10:05:41 +08:00
e9ee7fdfff docs(doxygen): removed coex header from doxyfile
Failing to build due to missing comments, but the header was
never included in the docs anyway, so might as well remove it.
2025-01-08 09:27:35 +08:00
5918368831 feat(usb_host): Enable DRVVBUS to control VBUS during test run
- DRVVBUS control GPIO selectable in menuconfig
    - enabled for esp32s2 and esp32s3
2025-01-07 17:41:33 +01:00
5c9da4a13b fix(esp_eth): removed deadcode from emac 2025-01-07 17:01:36 +01:00
b07db010ac ci(esp_eth): added ESP32P4 to iperf CI test
Updated (increased) ETH_THROUGHPUT_SPI_ETH limits.
Improved iperf optimization description
2025-01-07 12:41:54 +01:00
eb68ef4cc1 fix(bt/controller): fixed missing critical protections on linked-list structure of (e)SCO buffers 2025-01-07 18:56:23 +08:00
76f99b2fc8 docs(ulp): Fix esp_idf_monitor command for ulp monitoring
The commit fixes the esp_idf_monitor command for monitoring ulp serial
output as mentioned in the docs.
2025-01-07 10:02:54 +01:00
c97b2e6cc8 refactor(usb/phy): Start using values from usb_dwc_info in PHY driver
Add tests for PHY sanity checks
2025-01-07 10:00:48 +01:00
84b8df8f3f feat(https_server): Added checks to verify if uri is empty
Added the checks if the URI is empty for the funtions httpd_req_get_url_query_len
and httpd_req_get_url_query_str in httpd_parser.c
2025-01-07 16:58:54 +08:00
4c869d1f23 feat(mspi): mspi axi disable feature 2025-01-07 16:16:06 +08:00
14b5db0e87 refactor(mspi): rename to mspi_ll.h 2025-01-07 16:16:06 +08:00
a66cecd250 refactor(usb/phy): Do not use deprecated variables in usb_phy 2025-01-07 09:10:23 +01:00
3132ffbcd7 feat(hal/usb): Explicitly enable clock and reset USB WRAP on init 2025-01-07 09:10:23 +01:00
7fa64f64d6 fix(mqtt): Fix test with local mosquitto increasing stack size
4kB stack size for mosquitto runner task wasn't enough and with
recent updates of sock_utils it caused stack overflows
2025-01-07 09:00:23 +01:00
zwx
1c9696006d feat(802.15.4): introduced a feature for registering 802.15.4 ISR callbacks 2025-01-07 15:17:28 +08:00
78af773348 test(i2c): Enhance i2c test stability 2025-01-07 14:43:05 +08:00
3f6d1f6496 Merge branch 'bugfix/fix_some_ble_bugs_241224_esp32c3' into 'master'
Fixed some BLE bugs 241224 on ESP32C3(fd62b31)

Closes BLERP-1430, BLERP-1431, BLERP-1432, BLERP-1433, BLERP-1434, BLERP-1444, IDFCI-2533, BLERP-1445, BLERP-1446, and BLERP-1447

See merge request espressif/esp-idf!35995
2025-01-07 12:12:10 +08:00
0a88b0720b fix(adc): fix adc oneshot apb cnts incosistency
closes https://github.com/espressif/esp-idf/issues/14502
2025-01-07 12:02:23 +08:00
84df38aab9 fix(adc): fix adc oneshot error after continuous
closes https://github.com/espressif/esp-idf/issues/14506
2025-01-07 12:02:23 +08:00
28054277c7 ci: fix network examples build test rules 2025-01-07 11:13:04 +08:00
0e25572b4b feat(ble): Add CI testing for NimBLE host in Blufi and HID examples 2025-01-07 10:42:57 +08:00
0974d66680 Merge branch 'feature/esp32c5_p4_adc_calibration' into 'master'
Feature/esp32 p4 adc calibration

Closes IDF-7467, IDF-9573, and IDFGH-13617

See merge request espressif/esp-idf!35060
2025-01-07 10:18:11 +08:00
724663ee2b Merge branch 'bugfix/fix_csfc_write_nvs' into 'master'
fix(nimble): Corrected storing method of csfc to nvs

Closes BLERP-1382 and BLERP-1469

See merge request espressif/esp-idf!36150
2025-01-07 08:39:30 +08:00
c368f15328 feat(examples): trim down the plugins example build
Set the COMPONENTS project variable to streamline the build process.
Although the minimal build feature could be used to specify plugin
components in the main component dependencies, it's more convenient to
set the plugin components at the project level. This approach also
allows for quick selection of which plugins to include in the
application.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-01-06 19:23:42 +01:00
2c4588bbe6 Merge branch 'fix/freertos_coverity_oob_idle_task_name' into 'master'
fix(freertos): Limit idle task name length for copy operation

See merge request espressif/esp-idf!35872
2025-01-06 23:03:16 +08:00
915762c5f1 Merge branch 'feature/support_esp32h2eco5_phylib' into 'master'
feat(esp_phy): support esp32h2eco5 phylib

See merge request espressif/esp-idf!35951
2025-01-06 19:06:14 +08:00
92abdb88c8 fix: remove duplicit lines from sdkconfig.rename files 2025-01-06 10:17:09 +01:00
596b741311 fix(nimble): Corrected storing method of csfc to nvs 2025-01-06 10:56:08 +05:30
e66e8a7a28 Merge branch 'docs/add_link_test_projects' into 'master'
docs(tests): add paragraph linking to gh-esp-test-template project

See merge request espressif/esp-idf!36102
2025-01-06 12:58:55 +08:00
6f8c76df98 Merge branch 'feat/support_setting_event_for_154_txrx' into 'master'
feat(15.4): support setting 15.4 txrx pti when coex is enabled

See merge request espressif/esp-idf!35207
2025-01-06 12:53:19 +08:00
d0ffd254e0 Merge branch 'bugfix/coverity_fixes' into 'master'
fix(nimble): Address fixes for coverity reported issues

Closes IDF-11795

See merge request espressif/esp-idf!35329
2025-01-06 12:43:52 +08:00
248b61ef51 fix(uart): fix esp32c61 light sleep uart wakeup failed 2025-01-06 11:58:37 +08:00
0f20fcb8f2 fix(esp_hw_support): fix esp32c5 and esp32c61 wakeup failed when TOP rejects PD 2025-01-06 11:58:17 +08:00
a245a316a5 Merge branch 'feat/customize_i2c_operation_transaction' into 'master'
feat(i2c): Add api for customize i2c transaction interface for un-standard i2c device

See merge request espressif/esp-idf!35926
2025-01-06 11:32:09 +08:00
25648c6890 docs(adc): add ADC calibration docs on ESP32P4 2025-01-06 11:19:50 +08:00
39c08d74fd docs(tests): add paragraph linking to gh-esp-test-template project 2025-01-06 11:17:49 +08:00
1b49a1674e feat(adc): support ADC calibration on ESP32P4 2025-01-06 11:04:29 +08:00
950da105b3 Merge branch 'bugfix/roaming_related_changes' into 'master'
Adding some roaming related fixes

Closes WIFIBUG-747, WIFIBUG-899, WIFIBUG-898, WIFIBUG-796, and IDFGH-14049

See merge request espressif/esp-idf!33855
2025-01-06 11:02:56 +08:00
bd2480ba07 feat(15.4): support setting 15.4 txrx pti when coex is enabled 2025-01-06 10:20:58 +08:00
52d05f113e fix(esp_hw_support): fix lp/hp clock wait time calculation 2025-01-06 10:18:44 +08:00
c80c8354db change(esp_hw_support): switch to sleep_flags earlier to identify sleep state 2025-01-06 10:18:43 +08:00
9732af87f1 change(esp_hw_support): wait pll calibration done in regdma link instead of wait fixed value 2025-01-06 10:18:43 +08:00
0a49654a7b feat(esp_phy): support esp32h2eco5 phylib 2025-01-03 20:46:46 +08:00
80132653c7 fix(esp_wifi): Address some review comments 2025-01-03 16:47:00 +05:30
2ecc3c3bc7 fix(wpa_supplicant): Remove the btm_rrm task from supplicant
This commit removes btm_rrm_t task and CONFIG_SUPPLICANT_TASK from
wpa_supplicant and make the functions work in wifi task's context.
2025-01-03 16:46:25 +05:30
5948413c0e fix(wpa_supplicant): Fix for sending alternate ft-auth in roaming 2025-01-03 16:44:50 +05:30
a1631199dc fix(wpa_supplicant): Add two separate flags for RRM and WNM
Added two separate flags CONFIG_RRM(80211k) and CONFIG_WNM(80211v)
    flags under IEEE80211KV support flag.
2025-01-03 16:44:49 +05:30
bf991b5911 fix(wpa_supplicant): Add some minor fixes in roaming
1) Add a fix in roaming example for 11kvr
    2) Removed length constraint for neighbor report received.
2025-01-03 16:44:49 +05:30
6c2bbadeaf fix(esp_wifi): Add fix for error handling for FT-Auth 2025-01-03 16:44:49 +05:30
65dba9f930 fix(freertos): Limit idle task name length for copy operation
This commit:
- Updates the FreeRTOS kernel prvCreateIdleTasks() function to
limit the length of the IDLE task name before copying it to avoid memory
out-of-bounds warnings.
- Fixes a bug where in the IDLE task name string could be a non
  null-terminated string in SMP configuration.
2025-01-03 18:06:47 +08:00
326f391f9c fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(fd62b31)
- Fixed periodic adv enable params checking
- Fixed BLE assert lld_scan.c 1728 when receiving directed adv
- Support resolving RPA to identity address when creating connection
- Fixed BLE assert rwble.c 505 param 00400010
- Fixed peer address type error in HCI LE meta event
- Fixed setting random address failed when extended adv is enabled
2025-01-03 16:52:42 +08:00
88d42e8b6a Merge branch 'adc/fix_doc_header_issue' into 'master'
adc: added docs to adc enums that don't have brief

Closes DOC-9896

See merge request espressif/esp-idf!36129
2025-01-03 16:22:46 +08:00
c8d4e1b094 Merge branch 'feature/bitscrambler_support' into 'master'
feature(driver): BitScrambler loopback support

See merge request espressif/esp-idf!31236
2025-01-03 16:08:52 +08:00
6201afb206 Merge branch 'fix/fix_flash_leakage_workaroud_config_dependcy' into 'master'
fix(esp_hw_support): fix FLASH leakage workaround kconfig dependcy

See merge request espressif/esp-idf!35974
2025-01-03 15:15:16 +08:00
aa2f136e16 fix(ble/bluedroid): Optimize CI configuration for Bluedroid example 2025-01-03 14:35:07 +08:00
2e301113a6 Merge branch 'feature/ieee802154_txpower_table' into 'master'
Feature/ieee802154 txpower table

See merge request espressif/esp-idf!36027
2025-01-03 14:16:29 +08:00
86125aeb98 ci(esp_tee): Add tests for verifying behaviour for illegal flash accesses (SPI0) 2025-01-03 11:44:27 +05:30
1499c65754 feat(esp_tee): Add support for flash memory isolation and protection (SPI0) 2025-01-03 11:44:01 +05:30
ebf591a9eb fix(nimble): Address few coverity reported issues
1. Structurally dead code: Removed dead code
2. Resource leak: Added a free for allocated memory, in case of failure
3. too_few_printf_args: Corrected print statement to pass arguments
4. Fixed nesting levels
5. Fixed unused value warnings
6. Illegal memory access fix
2025-01-03 11:35:10 +05:30
429d9982de Merge branch 'bugfix/ieee802154_ble_coex' into 'master'
fix(nimble): Save the gatt context in case of preemption

Closes BT-3877

See merge request espressif/esp-idf!31891
2025-01-03 13:50:56 +08:00
5063de64db refactor(esp_tee): Disable the cache and interrupts in the TEE panic handler 2025-01-03 10:41:16 +05:30
fbe9fcd7bf Merge branch 'bugfix/roaming_app_issues' into 'master'
fix(wifi): Fix some issues observed in roaming app

Closes WIFIBUG-904, WIFIBUG-881, and WIFIBUG-905

See merge request espressif/esp-idf!34519
2025-01-03 12:47:18 +08:00
zwx
9c0acac2c9 fix(802.15.4): fix a typo for 15.4 Kconfig 2025-01-03 12:18:25 +08:00
zwx
9de75a5fd9 feat(802.15.4): introduce a series of APIs related power table 2025-01-03 12:18:19 +08:00
zwx
091b563001 feat(openthread): support preferred channel mask 2025-01-03 11:54:19 +08:00
cf8521abbb Merge branch 'feat/ldo_can_output_3v3' into 'master'
feat(ldo): support output rail voltage (3.3V)

See merge request espressif/esp-idf!36031
2025-01-03 10:57:32 +08:00
47c64a939e change(adc): added docs to adc enums 2025-01-03 10:46:01 +08:00
b07761825e Merge branch 'feature/dcache_write_flash_panic' into 'master'
feat(panic): panic immediately on an attempt to write to flash via dcache

See merge request espressif/esp-idf!34190
2025-01-03 10:12:30 +08:00
771aa5be45 Merge branch 'bugfix/fix_esp32c61_eco2_ble_light_sleep_issue' into 'master'
fix(ble): fix rtc freq div error on esp32c61

See merge request espressif/esp-idf!36083
2025-01-02 21:14:04 +08:00
c07555437e Merge branch 'bugfix/enable_eap_workarounds' into 'master'
fix(esp_wifi): Enable EAP workarounds by default

See merge request espressif/esp-idf!35860
2025-01-02 20:27:15 +08:00
0830add62d Merge branch 'update/update_certs_bundle' into 'master'
Update esp_crt_bundle certificates

See merge request espressif/esp-idf!36099
2025-01-02 19:44:21 +08:00
afeefc9e1e Merge branch 'bugfix/coverity_issue_supplicant' into 'master'
esp_wifi: Fix coverity issues

Closes IDF-11716 and IDF-11751

See merge request espressif/esp-idf!35865
2025-01-02 18:03:34 +08:00
f029ad207f Merge branch 'fix/usb_ctrl_nyet' into 'master'
fix(usb/host): Fix reaction on High-Speed NYET packet

See merge request espressif/esp-idf!35737
2025-01-02 17:25:35 +08:00
85f8f25b30 feat(ldo): support output rail voltage (3.3V) 2025-01-02 17:13:31 +08:00
9b1ccb589e docs: Update note about h2 rtc gpio 2025-01-02 15:31:42 +08:00
b3b1c19ed3 fix(esp_wifi): Enable EAP workarounds by default
Enabling this will make sure our behavior is same as upstream
wpa_supplicant.
2025-01-02 15:05:12 +08:00
cfe7021801 Merge branch 'bugfix/h2_wifi_intr' into 'master'
fix(interrupt): fixed wrongly reserved interrupt for wifi on H2

See merge request espressif/esp-idf!36073
2025-01-02 15:01:44 +08:00
09200d7df4 Merge branch 'bugfix/earse_flash_after_pairing_successfully' into 'master'
bugfix(example): earse-nvs before ble example pytest test

Closes IDFCI-2617 and IDFCI-2626

See merge request espressif/esp-idf!36030
2025-01-02 14:32:09 +08:00
5633f2f169 fix(esp_wifi): Removed unnecessary handlers to cleanup 2025-01-02 11:52:15 +05:30
de28ee09d6 fix(esp_wifi): Roaming app, sync api naming 2025-01-02 11:47:18 +05:30
2577769813 fix(esp_wifi): Some more cleanup for roaming app 2025-01-02 11:47:18 +05:30
7028b8f573 fix(esp_wifi): moving around roaming app code a bit 2025-01-02 11:47:18 +05:30
f61847b4b4 fix(roaming_app): Add get set config params for the app 2025-01-02 11:47:18 +05:30
e028cc6952 fix(wifi): Provide a config option to skip IP renew during roam 2025-01-02 11:47:18 +05:30
d2fde65545 fix(esp_wifi): Set minimum scan time to 30ms in roaming app 2025-01-02 11:47:18 +05:30
6693354474 fix(wifi): Fix some issues observed in roaming app 2025-01-02 11:47:18 +05:30
587351ec3d Merge branch 'contrib/github_pr_15119' into 'master'
refactor(soft_spi_master_main.c): remove dead c (GitHub PR)

See merge request espressif/esp-idf!36101
2025-01-02 13:38:02 +08:00
fa66ebec27 Merge branch 'feat/c5_ocode_support' into 'master'
ocode: c5 support

See merge request espressif/esp-idf!36004
2025-01-02 12:29:53 +08:00
6cc06c6c1f Merge branch 'feat/add_config_for_ble_vs_qa_cmd' into 'master'
fixed interrupt WDT when shutdown bt controller on ESP32(ba6739f)

Closes BLERP-1207, BLERP-1208, BLERP-1425, BLERP-1426, BLERP-1427, and BT-3575

See merge request espressif/esp-idf!34713
2025-01-02 10:53:35 +08:00
d00ad48d9a Merge branch 'chip/add_wifi_support_for_esp32c61_eco2_rebase_master' into 'master'
feat(wifi): add wifi support for esp32c61 eco2

See merge request espressif/esp-idf!35890
2025-01-02 10:34:08 +08:00
784e87a9b2 feat(ocode): supported ocode on esp32c5 2025-01-02 10:12:47 +08:00
7eaf7f9ebe Update soft_spi_master_main.c 2025-01-01 18:37:18 +01:00
7c45809b39 change(mbedtls/crt_bundle): Update esp_crt_bundle certificates 2025-01-01 10:00:39 +08:00
d065cc5ce4 fix(esp_http_client): fixed memory leak issue while preparing HTTP digest authentication
This commit avoid memory leak while preparing basic HTTP digest
authentication.
Closes https://github.com/espressif/esp-idf/issues/14885
2024-12-31 15:03:06 +05:30
776049660a Merge branch 'bugfix/esp32p4_linker_script' into 'master'
fix(esp_system): add missing `array` attribute in the ESP32-P4 linker script

Closes IDF-11936

See merge request espressif/esp-idf!36067
2024-12-31 16:19:13 +08:00
bff368e521 Merge branch 'fix/fix_openthread_radio_spinel_deinit' into 'master'
fix(openthread): fix openthread radio spinel deinit

See merge request espressif/esp-idf!36057
2024-12-31 16:01:07 +08:00
c7454b7e1c Merge branch 'fix/twai_timing_macro_init' into 'master'
fix(driver_twai): fixed timing config macro initialiser

Closes IDFGH-14311

See merge request espressif/esp-idf!36050
2024-12-31 14:52:11 +08:00
b7571dd711 fix(ble): fix rtc freq div error on esp32c61 2024-12-31 14:06:08 +08:00
217069210e Merge branch 'feature/use_fixed_dut_in_ot_ci_cases' into 'master'
feat(openthread): use fixed port in ot ci cases

See merge request espressif/esp-idf!35704
2024-12-31 11:59:32 +08:00
cfa487b4e0 ci(adc): enable P4 ADC test and correct ADC performance thresh 2024-12-31 11:28:29 +08:00
0c82649db0 fix(adc): fix P4 adc continuous mode stop early 2024-12-31 11:28:29 +08:00
d7f7f0ad24 fix(adc): fix adc1 error after bootloader random 2024-12-31 11:28:28 +08:00
9d1a4ebac4 Merge branch 'feat/set_get_ack_timeout' into 'master'
feat(802.15.4): add api for set/get ack timeout

Closes TZ-1352 and IDFGH-13994

See merge request espressif/esp-idf!35531
2024-12-31 10:57:43 +08:00
7898908c9d feat(802.15.4): add api for set/get ack timeout 2024-12-31 10:57:43 +08:00
54f501a2fc Merge branch 'feat/h21_introduce_step8' into 'master'
feat(esp32h21): introduce hello world to ESP32H21 (stage8)

See merge request espressif/esp-idf!35874
2024-12-31 10:39:21 +08:00
820a73f4cc feat(espefuse): Adds efuses for esp32h2 eco5
- Support efuses that are not present in the main efuse table
2024-12-30 15:56:48 +02:00
25731d0c1e feat(esp32h21): finnal introduce hello world support 2024-12-30 20:14:40 +08:00
bc48e5189a fix(nimble): Save the gatt context in case of preemption 2024-12-30 19:57:31 +08:00
e2882a1148 Merge branch 'bugfix/fix_ext_reconn_compilation' into 'master'
fix(nimble): Fix compilation issue for combination of Ext Adv and Reattempt conn flag

See merge request espressif/esp-idf!35629
2024-12-30 19:46:12 +08:00
c9c0d3f7b1 fix(openthread): fix openthread radio spinel deinit 2024-12-30 18:47:24 +08:00
414c7056a2 fix(esp_system): add missing aaray attribute in the ESP32-P4 linker script 2024-12-30 18:36:58 +08:00
a7c03a73db fix(interrupt): fixed wrongly reserved interrupt for wifi on H2 2024-12-30 17:40:18 +08:00
16ba8b7e4a Merge branch 'feature/add_utf_8_decoding' into 'master'
feat(tools): Enforced utf-8 encoding with Python open() functions

Closes IDF-10654

See merge request espressif/esp-idf!32303
2024-12-30 16:07:29 +08:00
955f7a3053 Merge branch 'feat/xmc_32d_support' into 'master'
feat(spi_flash): support 120M on xmc25q32d flash

See merge request espressif/esp-idf!36056
2024-12-30 15:59:23 +08:00
5989756113 docs(i2c): Add document for customize i2c transaction interface for un-standard i2c device 2024-12-30 15:20:03 +08:00
1987948650 test(i2c): Add test for customize i2c transaction interface for un-standard i2c device 2024-12-30 15:18:24 +08:00
ecc6d380ce feat(i2c): Add api for customize i2c transaction interface for un-standard i2c device 2024-12-30 15:17:25 +08:00
95f24325e9 feat(spi_flash): support 120M on xmc25q32d flash 2024-12-30 14:11:18 +08:00
85cc1ac74b fix(nimble): Fix compilation issue for combination of Ext Adv and Reattempt conn flag 2024-12-30 10:14:07 +05:30
2e6a6c0dd5 Merge branch 'refactor/rtc_time_header' into 'master'
refactor(hw_support): combine esp_hw_support rtc header to a single file

Closes IDF-11950

See merge request espressif/esp-idf!36029
2024-12-30 12:05:52 +08:00
0770266222 fix(driver_twai): fixed timing config macro initialiser
Closes https://github.com/espressif/esp-idf/issues/15102
2024-12-30 11:45:19 +08:00
c39b8729cc Merge branch 'feature/support_rtc_power_done_for_touch_wakeup' into 'master'
feat(touch): support rtc power done for touch wakeup

Closes IDF-11754, IDF-11713, IDF-5241, and IDF-11912

See merge request espressif/esp-idf!35463
2024-12-30 11:24:18 +08:00
f5b4187e50 feat(wifi): add wifi support for esp32c61 eco2 2024-12-30 10:40:58 +08:00
34c7d62855 refactor(hw_support): combine esp_hw_support rtc header to a single file 2024-12-30 10:09:34 +08:00
a88e719e33 feat(driver): BitScrambler support
This adds an assembler for the BitScrambler assembly language,
plus unit tests for it. It also adds the loopback driver,
which can do BitScrambler operations on memory-to-memory
transfers. Documentation is also included.
2024-12-30 09:39:23 +08:00
cc8bef395e Merge branch 'feature/softap_fixes_for_ceritification' into 'master'
WiFi: fixes for issues discovered during SoftAP ceritification

Closes WIFIBUG-778

See merge request espressif/esp-idf!33426
2024-12-28 13:52:25 +08:00
9da2e3ad4c Merge branch 'feat/idf_diag' into 'master'
feat: add idf_diag.py reporting tool

Closes IDF-11329

See merge request espressif/esp-idf!34978
2024-12-27 22:00:12 +08:00
7f80baa1f6 Merge branch 'feature/esp32c5-esp32c61_enable-panic-tests' into 'master'
feat(panic): support HWSG for esp32c5, esp32c61 and enable testing

Closes IDF-8662 and IDF-9269

See merge request espressif/esp-idf!35816
2024-12-27 19:34:25 +08:00
949f6cb9f7 feat(tools): add idf.py diag reporting tool
The initial implementation of a diagnostic tool that collects valuable
information about esp-idf and failed build to assist in investigating
reported issues.

The gathered information includes environmental variables, details about
the python virtual environment, installed tools, platform information,
project_description.json, sdkconfig, build logs, map file, linker
scripts, and others.

usage:

1) create the default report

   # allow diag to create the report directory name
   $ idf.py diag
   # explicitly specify the report directory
   $ idf.py diag --output <report directory>

2) examine the contents of the generated <report directory> for
   sensitive information and add additional content to the
   <report directory>

3) create report archive zip file that can be shared or attached to
   the reported issue

   $ idf.py diag --zip <report directory>

The tool collects information as described in what are known as recipe
files. A recipe file is a YAML file, similar to an Ansible playbook or a
GitHub action, but much more simplified. Each recipe outlines how to
gather a set of related information. For instance, the manager.yml
recipe gathers data related to the component manager. Each recipe
includes metadata such as its description, tags, and steps. Tags are
used to determine which recipes to use; by default, all built-in recipes
located in tools/idf_py_actions/diag/recipes are used. Steps consist of
a list of commands to be executed. Currently, there are four commands:
file, exec, env, and glob. For more detailed information about recipes,
their format, and commands, please refer to
tools/idf_py_actions/diag/recipes/README.md.

Recipe example for component manager:

description: IDF Component Manager information
tags: [manager, base, project]
output: manager
steps:
  - name: 'IDF Component Manager'
    cmds:
      - exec:
        cmd: 'python -m idf_component_manager version'
        output: manager.ver
      - file:
        path: '${PROJECT_DIR}/dependencies.lock'
      - glob:
        # Gather all idf_component.yml files from the project directory and
        # save them in directories relative to the project directory within
        # the idf_component directory.
        pattern: 'idf_component.yml'
        recursive: true
        relative: true
        path: '${PROJECT_DIR}'
        output: 'idf_component/'

Create report for manager

1) all recipes with manager tag

   $ idf.py diag --tag manager

2) use only the manager recipe explicitly; built-in recipes can be
   referenced simply by their name, but all recipes can be referenced
   by their path

   $ idf.py diag --recipe manager
   or
   $ idf.py diag --recipe <full path>

To display available recipes, use

   $ idf.py diag --list

and to verify recipes, use

   $ idf.py diag --check

Both --list and --check honers the --tag and --recipe options.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-27 12:08:59 +01:00
642855c952 feat(tools): add command arguments in the logs produced by RunTool
Currrently, all logs generated by RunTool are stored in files named
idf_py_(stdout|stderr)_output_$$, making it difficult to identify which
log corresponds to which command. To simplify this for idf-diag, include
the command arguments at the beginning of the log. This will allow
idf-diag to use regex to differentiate logs for build, monitor, flash,
and other commands and targets.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-27 12:02:23 +01:00
8af5db0575 feat(openthread): use fixed port in ot ci cases 2024-12-27 18:57:23 +08:00
81940d44bc fix(wifi): Resolve comments for softap fixes 2024-12-27 16:21:52 +05:30
d0631ec21d fix(wifi): Resolve comments on feature/softap_fixes_for_ceritification 2024-12-27 15:58:47 +05:30
d6054570e9 fix(wifi): Make sure auth is sent after sae process 2024-12-27 15:58:47 +05:30
484736976c feat(wifi): Add support for transition_disable for softAP
Bugfix rsnxe len for assoc req
2024-12-27 15:58:47 +05:30
10b0d1fa1b Merge branch 'bugfix/add_one_empty_line_to_fix_alignment' into 'master'
bugfix: Add one empty line in esp_sleep.h

Closes DOC-9873

See merge request espressif/esp-idf!35878
2024-12-27 18:27:52 +08:00
096cb409d9 feat(panic): panic immediatly if trying to write to flash through cache on ESP32-S3
Updated S3 to use PMS protection for writing to flash through cache. This means we get
a panic quicker for this illegal behavior than we did before, making the source of the error
easier to track down.
2024-12-27 17:58:33 +08:00
2c814ef2fa feat(tools): Enforce utf-8 encoding with open() function 2024-12-27 17:12:21 +08:00
305f1c1e5b Merge branch 'feature/ble_mesh_multi_adv_instance_support' into 'master'
Feature/ble mesh multi adv instance support

Closes BLERP-1282

See merge request espressif/esp-idf!35208
2024-12-27 16:42:53 +08:00
4e2dad62ae Merge branch 'bugfix/channel_resolution_calculation' into 'master'
fix(rmt): channel resolution divider rounding issue

Closes IDFGH-14301

See merge request espressif/esp-idf!35989
2024-12-27 16:40:56 +08:00
060521bab4 bugfix(example): earse-nvs before flash 2024-12-27 16:29:05 +08:00
01b1191e8f Merge branch 'fix/fix_p4_usb_phy_bad_suspend_on_lslp' into 'master'
fix(esp_hw_support): fix p4 OTG phy bad suspend cause high power consumption on sleep

Closes PM-136

See merge request espressif/esp-idf!35727
2024-12-27 15:35:44 +08:00
689b10e7ac feat(ble_mesh): multi adv instance support 2024-12-27 10:41:18 +08:00
30b257c61b feat(ble_mesh): ble mesh queue support 2024-12-27 10:41:18 +08:00
678ddba550 feat(touch): allow RTC power down during the deep sleep 2024-12-26 19:14:12 +08:00
ea8aa4437c bugfix: Add one empty line in esp_sleep.h 2024-12-26 18:47:27 +08:00
30c34271bb Merge branch 'bugfix/fix_double_wifi_active_time' into 'master'
fix(wifi): fix double max active time

Closes WIFI-6770

See merge request espressif/esp-idf!35786
2024-12-26 17:36:31 +08:00
9e40885210 docs: Update the CN translation for spi_flash_override_driver.rst 2024-12-26 17:33:11 +08:00
35cdecb121 Merge branch 'fix/fix_pm_trace_rtc_domain_keeping' into 'master'
fix(esp_pm): enable RTC_PERIPH domain once in esp_pm_trace_init

See merge request espressif/esp-idf!35979
2024-12-26 16:58:41 +08:00
612236bfd9 fix(touch): fix the coverity issues 2024-12-26 16:37:46 +08:00
9b3ea0cebd fix(rmt): channel resolution divider rounding issue
Closes https://github.com/espressif/esp-idf/issues/15092
2024-12-26 16:28:16 +08:00
55955a5cd6 Merge branch 'feat/bootloader_multiboot' into 'master'
feat(bootloader): add an example that implements multiboot

Closes IDF-9409

See merge request espressif/esp-idf!35606
2024-12-26 16:26:26 +08:00
6540208f5a Merge branch 'fix/panic_arch_size' into 'master'
fix(esp_system): fix cache error size message

Closes IDF-11769

See merge request espressif/esp-idf!35112
2024-12-26 14:58:22 +08:00
ec16bd7132 fix(esp_hw_support): fix p4 OTG phy bad suspend cause high power consumption on sleep 2024-12-26 14:44:22 +08:00
12bb853c64 Merge branch 'feat/wait_pll_stable_after_sleep_wakeup' into 'master'
feat(esp_hw_support): wait pll stable after sleep wakeup

Closes PM-280

See merge request espressif/esp-idf!34313
2024-12-26 14:27:07 +08:00
80ff7d8615 Merge branch 'enable_esp32c5_ci_test' into 'master'
fix(ci): enable esp32c5 eco1 ci test

See merge request espressif/esp-idf!34898
2024-12-26 14:04:02 +08:00
b58c9a4219 feat(panic): support HWSG for esp32c5, esp32c61 and enable testing 2024-12-26 12:45:17 +07:00
4c8056882b fix(esp_system): fix cache error size message 2024-12-26 10:45:42 +08:00
a48dfae871 fix(esp_pm): enable RTC_PERIPH domain once in esp_pm_trace_init 2024-12-26 10:41:49 +08:00
d8de8c6e40 Merge branch 'bugfix/enable_additional_lp_io_wakeup' into 'master'
fix(lp_io): enable setting edge type wakeup sources for targets that support this

See merge request espressif/esp-idf!35122
2024-12-26 10:41:23 +08:00
fc45b4ffbe Merge branch 'feat/32mbit_address_flash_on_c5' into 'master'
feat(spi_flash): Add 32M flash support on esp32c5

See merge request espressif/esp-idf!35665
2024-12-26 10:28:34 +08:00
5a261da880 Merge branch 'fix/openthread_dns_hook' into 'master'
fix(openthread): Fix external DNS resolve hook for DNS64 client

Closes IDFGH-14276

See merge request espressif/esp-idf!35666
2024-12-26 09:50:21 +08:00
40ba408dc3 fix(esp_hw_support): fix FLASH leakage workaround kconfig dependcy 2024-12-25 22:02:31 +08:00
51ccce212e Merge branch 'feature/example_config_test_in_ci' into 'master'
feat(example): add pytest for ble example config test

Closes BLERP-1190 and BLERP-1224

See merge request espressif/esp-idf!34668
2024-12-25 18:42:47 +08:00
a4ff6ba643 feat(example): add pytest for ble example config test 2024-12-25 18:42:47 +08:00
5b15320600 Merge branch 'bugfix/storage_generic_pytests' into 'master'
fix(ci): Removed storage related entries in known generate test child pipeline warnings

See merge request espressif/esp-idf!35738
2024-12-25 18:37:14 +08:00
32a5b6e40e Merge branch 'bugfix/force_att_tx_q_cleanup' into 'master'
fix(nimble): Add ATT Tx queue cleanup during link disconnection

Closes BT-3927

See merge request espressif/esp-idf!35947
2024-12-25 18:20:17 +08:00
d448c4ed05 feat(spi_flash): Add 32M flash support on esp32c5 2024-12-25 16:06:43 +08:00
d695060742 Merge branch 'refactor/compatibility_refactor_to_parlio_reg_on_h2' into 'master'
refactor(parlio): refactor for the H2 ECO5 compatibility

See merge request espressif/esp-idf!35936
2024-12-25 13:48:29 +08:00
840eef31ce feat(bootloader): add an example that implements multiboot
Add a new example for the bootloader that shows how to override it to implement multiboot.
2024-12-25 12:41:15 +08:00
28f1b18675 fix(bootloader): add a new property that contains the default linker scripts 2024-12-25 12:41:15 +08:00
6178401bd1 fix(openthread): Fix external DNS resolve hook for DNS64 client 2024-12-25 12:02:47 +08:00
ad3554fbed fix(bt): Update bt lib for ESP32(ba6739f)
- Fixed assert in lld_evt.c at line 2353
- Fixed interrupt WDT when shutdown bt controller
- Added config for BLE vendor HCI QA command
- Added config for BLE channel assessment and ping procedure
2024-12-25 11:36:29 +08:00
f58311cce9 fix(ci): enable esp32c5 eco1 ci test 2024-12-25 11:21:48 +08:00
e02cde89dc Merge branch 'fix/fix_psram_mode_reg_wrong_timing' into 'master'
psram: fixed mode reg read bad timing on octal and hex psrams

Closes IDF-11925

See merge request espressif/esp-idf!35914
2024-12-25 10:52:41 +08:00
1a9a5f4734 Merge branch 'feat/h21_introduce_step7' into 'master'
feat(esp32h21): ci enable public header check (stage7)

See merge request espressif/esp-idf!35858
2024-12-25 09:36:32 +08:00
4babb3c380 fix(nimble): Add ATT Tx queue cleanup during link disconnection 2024-12-24 21:08:18 +05:30
f0cee06dab Merge branch 'fix/fix_parlio_tx_example_line_address' into 'master'
fix(parlio_tx): fix line address in simple_rgb_martix example

See merge request espressif/esp-idf!35930
2024-12-24 19:18:47 +08:00
1efea28c69 feat(interrupt): rename interrupt martix reg base 2024-12-24 19:13:32 +08:00
ab2055cd70 refactor(parlio): refactor for the H2 ECO5 compatibility 2024-12-24 18:52:45 +08:00
4088e20b51 Merge branch 'docs/update_pcnt_pm_lock_docs' into 'master'
docs(pcnt): update pcnt pm lock docs

Closes IDFGH-14231

See merge request espressif/esp-idf!35756
2024-12-24 18:25:45 +08:00
ed024151bb Merge branch 'change/twai_unused_variable' into 'master'
change(twai): don't panic if twai hal init fail

See merge request espressif/esp-idf!35884
2024-12-24 18:15:22 +08:00
45df38a012 Merge branch 'refactor/mipi_lcd_iram_safe' into 'master'
test(rmt): the IO level can keep at low level after channel delete

Closes IDFGH-14255

See merge request espressif/esp-idf!34186
2024-12-24 17:15:04 +08:00
3e30d2e928 feat(esp32h21): ci enable public header check (stage7) 2024-12-24 16:44:08 +08:00
0c909888f9 Merge branch 'feat/rgb_lcd_increase_pclk' into 'master'
feat(lcd): increase the upper limit of pclk frequency for RGB LCD

See merge request espressif/esp-idf!35845
2024-12-24 16:23:05 +08:00
ea1c806f21 fix(parlio_tx): fix line address in simple_rgb_martix example 2024-12-24 16:23:04 +08:00
54a9386b2e fix(psram): fixed mode reg read bad timing on octal and hex psrams 2024-12-24 16:04:47 +08:00
ba475781b1 Merge branch 'fix/fix_esp32c2_eco4_rx_csa_ld' into 'master'
fix(wifi): fix esp32c2eco4 sta_rx_csa ld

See merge request espressif/esp-idf!35806
2024-12-24 16:02:25 +08:00
bba3063b52 Merge branch 'fix/fix_p4_deepsleep_io_leakage' into 'master'
fix(esp_hw_support): fix esp32p4 JTAG pad deepsleep current leakage

Closes PM-204

See merge request espressif/esp-idf!35633
2024-12-24 15:36:09 +08:00
d24e09393d Merge branch 'feature/esp_tee_examples' into 'master'
feat(esp_tee): Added examples demonstrating the ESP-TEE framework

See merge request espressif/esp-idf!35834
2024-12-24 15:03:49 +08:00
595c9f32f4 fix(wifi): fix double max active time, fix coex pwr period cant been updated by ps type set 2024-12-24 14:36:28 +08:00
43ee4e059c feat(coex): update coexist debug default event 2024-12-24 14:27:43 +08:00
ebdb804d63 Merge branch 'bugfix/dvp_isp_yuv_submodule_workaround' into 'master'
fix(isp): fix some submodule dependence for specific isp output format

See merge request espressif/esp-idf!35532
2024-12-24 12:25:11 +08:00
60fea22224 Merge branch 'bugfix/fixed_ble_issues_241220' into 'master'
Bugfix/fixed ble issues 241220

Closes BLERP-1391, BLERP-1410, BLERP-1409, and BLERP-1397

See merge request espressif/esp-idf!35846
2024-12-24 11:37:12 +08:00
8583c1f270 Merge branch 'bugfix/add_check_for_i2s_tdm_frame_bits' into 'master'
fix(i2s): add check for the tdm frame bits num

Closes IDF-11923

See merge request espressif/esp-idf!35881
2024-12-24 11:05:04 +08:00
0765659d2d Merge branch 'feat/rmt_return_real_channel_resolution' into 'master'
feat(rmt): add API to return the real clock resolution of a channel

Closes IDFGH-14281

See merge request espressif/esp-idf!35883
2024-12-24 10:56:55 +08:00
0c0d8cb8e4 fix(esp_hw_support): fix modem power enable failed after modem state wakeup 2024-12-24 10:37:46 +08:00
d39388fe4f feat(lcd): increase the upper limit of pclk frequency for RGB LCD 2024-12-23 22:01:34 +08:00
c05603d4a0 fix(isp): isp_dvp raw->rgb needs a workaround 2024-12-23 21:43:43 +08:00
1363754c19 fix(isp): isp demosaic module should never be disabled for non-raw8 output format 2024-12-23 21:43:43 +08:00
338b0c707d Revert "change(isp): enable yuv submodules"
This reverts commit e4a4497094.
2024-12-23 21:43:43 +08:00
58786528fd fix(esp_hw_support): fix esp32p4 JTAG pad deepsleep current leakage 2024-12-23 21:17:31 +08:00
b07ffe1e1c Merge branch 'fix/add_macros_for_otbr' into 'master'
fix(openthread): add macros for ot_br

See merge request espressif/esp-idf!35773
2024-12-23 20:58:22 +08:00
642ffec9ed ci: Enabled https_request example pytest with config esp32c2_rom_mbedtls 2024-12-23 17:30:06 +08:00
89045a1ff2 Merge branch 'feat/bump_esp_littlefs_1_16_0' into 'master'
feat(storage/examples): bump littlefs version to 1.16.0

Closes IDF-11691

See merge request espressif/esp-idf!35823
2024-12-23 17:04:52 +08:00
95891227a5 Merge branch 'fix/ota_update_invalidate_ota_data_slot_of_last_boot_app' into 'master'
fix(app_update): Invalidate ota data slot of last boot app in esp_ota_begin

Closes IDFGH-13982

See merge request espressif/esp-idf!35850
2024-12-23 16:57:05 +08:00
706a445782 Merge branch 'bugfix/update_macro_defination_for_mem_check' into 'master'
fix(esp_http_client): Enhance MEM_CHECK Macro to Include Memory Allocation Failure Logs and Safe Handling

See merge request espressif/esp-idf!33453
2024-12-23 16:08:57 +08:00
4e0a45b9d8 Merge branch 'contrib/github_pr_15023' into 'master'
fix(html): Fix upload_script to actually use max size variables (GitHub PR)

Closes IDFGH-14227

See merge request espressif/esp-idf!35803
2024-12-23 15:57:37 +08:00
632650825e change(twai): don't panic if twai hal init fail
Related to https://github.com/espressif/esp-idf/pull/15068
2024-12-23 15:24:27 +08:00
047ff0cb4b feat(rmt): add API to return the real clock resolution of a channel
Closes https://github.com/espressif/esp-idf/pull/15074
2024-12-23 15:08:50 +08:00
7086f4ca6d fix(i2s): add check for the tdm frame bits num 2024-12-23 14:39:07 +08:00
7c6f50b744 fix(i2s): fixed some missing content and updates 2024-12-23 14:39:07 +08:00
19b5381c99 Merge branch 'refactor/optimize_ble_gatt_api_doc' into 'master'
refactor(bt/bluedroid): Optimize BLE GATT related APIs reference

See merge request espressif/esp-idf!34650
2024-12-23 14:34:34 +08:00
dbbf154551 refactor(bt/bluedroid): Optimize BLE GATT related APIs reference 2024-12-23 14:34:33 +08:00
172bebe4b3 Merge branch 'bugfix/fix_compile_issue' into 'master'
fix(nimble): Fix compilation issues when BLE_MAX_STORE_BOND is set to 0

See merge request espressif/esp-idf!34182
2024-12-23 12:31:38 +08:00
8905189743 Merge branch 'feat/h21_introduce_step5' into 'master'
feat(esp32h21): support esp_system, esp_timer and freertos(stage5)

See merge request espressif/esp-idf!35635
2024-12-23 11:40:11 +08:00
79e78a8fd5 Merge branch 'docs/update_cn_secure_boot_v2' into 'master'
docs: Update CN translation for secure-boot-v2.rst

Closes DOC-9811

See merge request espressif/esp-idf!35758
2024-12-23 10:57:39 +08:00
6109542fb5 Merge branch 'feature/support_get_play_status_in_avrcp' into 'master'
feat(bt/bluedroid): Support get play status in AVRCP CT

See merge request espressif/esp-idf!35674
2024-12-23 09:39:28 +08:00
f8ccb29d12 fix(nimble): Fix compilation issues when BLE_MAX_STORE_BOND is set to 0 2024-12-22 15:18:32 +05:30
2100a5a0c4 Merge branch 'fix/added_change_for_invalid_offset' into 'master'
fix(nimble): Added a check for invalid offset

Closes BLERP-1398

See merge request espressif/esp-idf!35731
2024-12-22 17:44:37 +08:00
18fc8924ae fix(nimble): Added a check for invalid offset 2024-12-22 11:56:11 +05:30
27a48c0309 Merge branch 'fix/update_peer_ota_addr_type' into 'master'
fix(nimble):Updated peer OTA address type

Closes BLERP-1183

See merge request espressif/esp-idf!34533
2024-12-22 14:22:38 +08:00
fb84cb1142 fix(nimble): Updated peer OTA address type 2024-12-21 21:16:35 +05:30
9ee2f9e116 Merge branch 'bugfix/blufi_deinit_memory_leak' into 'master'
fix(blufi): Fix memory leak issue in Blufi example

Closes BLERP-1349

See merge request espressif/esp-idf!35002
2024-12-21 23:43:05 +08:00
15870abd87 feat(app_update): Adds test for invalidating OTA data slot of last boot app 2024-12-21 13:08:00 +02:00
15631363c6 fix(nimble): fix memory leak issue in Blufi example 2024-12-21 16:29:57 +05:30
a6b1b33c3d Merge branch 'fix/hci_err_code_description' into 'master'
fix(nimble): Added a function for printing HCI error definition

Closes BLERP-1301

See merge request espressif/esp-idf!35676
2024-12-21 18:52:33 +08:00
856bba66bc Merge branch 'fix/ringbuf_receives_after_aq_wraparound' into 'master'
fix(esp_ringbuf): Fixed no-split ringbuf issue where acquire pointer  wraps around

Closes IDFGH-14146

See merge request espressif/esp-idf!35452
2024-12-21 14:26:57 +08:00
b72d39ab3e fix(esp_wifi): Fix coverity issue CID: 470126 2024-12-21 12:22:11 +08:00
63e6ed35cb fix(esp_wifi): Fix coverity issue (CID:470090) 2024-12-21 12:22:11 +08:00
472bf888e6 fix(esp_wifi): Reduce scan frequency in WPS 2024-12-21 09:39:08 +05:30
28e222fec3 fix(nimble): Updated function to print HCI opcode with error definition 2024-12-21 09:24:07 +05:30
fae82cfaa0 Merge branch 'feature/softap_detect_wrong_password_attempt' into 'master'
esp_wifi: softAP: detect external station attempting to connect with wrong password

Closes IDFGH-13377

See merge request espressif/esp-idf!24586
2024-12-21 11:51:03 +08:00
c3381e74d3 Merge branch 'bugfix/solve_memory_prints' into 'master'
fix(nimble): Changing esp_rom_printf to ESP_LOGI when memory allocation fails

See merge request espressif/esp-idf!35513
2024-12-21 11:47:31 +08:00
00db325091 Merge branch 'ci/add_build_test_eco_versions' into 'master'
ci: add build test for eco versions

See merge request espressif/esp-idf!35787
2024-12-21 11:39:49 +08:00
91b231adf6 fix(storage/nvs): Fixed failing test cases in example folder 2024-12-20 19:41:01 +01:00
1c03391414 fix(storage/vfs): Fixed failing test cases in test_apps 2024-12-20 19:41:01 +01:00
df31bc6fdd fix(ci): Removed storage related ignore warnings 2024-12-20 19:40:33 +01:00
d1d3c6ae38 fix(nimble): Changing esp_rom_printf to ESP_LOGI when memory allocation fails 2024-12-20 21:43:29 +05:30
4885e24ebd Merge branch 'bugfix/fix_link_estab_param' into 'master'
fix(nimble): Corrected link_estab event handling parameters

See merge request espressif/esp-idf!35780
2024-12-21 00:04:49 +08:00
8b2470a4ab feat(lp_timer): add soc caps that lp timer and brownout share intr source 2024-12-20 22:43:11 +08:00
b240defc75 feat(esp32h21): support esp_system, esp_timer and freertos (stage5) 2024-12-20 22:43:10 +08:00
c9ea30e6c0 fix(app_update): Invalidate ota data slot of last boot app in esp_ota_begin
Closes https://github.com/espressif/esp-idf/issues/14808
2024-12-20 14:55:48 +02:00
zwl
c089a01263 feat(ble): add dtm configuration command in hci example 2024-12-20 20:19:37 +08:00
zwl
2cb7d2437b feat(ble): Support get ble controller free heap size on ESP32-C2 2024-12-20 20:19:37 +08:00
zwl
12f226be7d feat(ble): Support get ble controller free heap size on ESP32-H2 2024-12-20 20:19:37 +08:00
zwl
aa7feb9449 feat(ble): Support get ble controller free heap size on ESP32-C6 2024-12-20 20:19:32 +08:00
5603258961 Merge branch 'fix/missing_header_hint' into 'master'
fix(hints): improve suggestion for missing header file

Closes IDF-11895

See merge request espressif/esp-idf!35728
2024-12-20 19:39:54 +08:00
a16f35903c Merge branch 'fix/export_fish_esp_python' into 'master'
fix(tools): Use ESP_PYTHON with activate.py in export.fish

Closes IDFGH-14264

See merge request espressif/esp-idf!35824
2024-12-20 18:56:13 +08:00
zwl
5f9a3cdd1a feat(ble): fixed some ble issues on ESP32-C2 2024-12-20 18:51:28 +08:00
zwl
446239251c feat(ble): adjust bt default scheme position 2024-12-20 18:51:24 +08:00
05f3a6be80 Merge branch 'bugfix/fix_efuse_block_numbers_in_hal_crypto_testapps' into 'master'
fix(hal/test_apps): update efuse block numbers for ECDSA key burning

Closes IDF-11445

See merge request espressif/esp-idf!35457
2024-12-20 18:46:12 +08:00
b11535c32d Merge branch 'feat/h21_introduce_step4' into 'master'
feat(esp32h21): add G0 component support (stage4)

See merge request espressif/esp-idf!35494
2024-12-20 17:26:00 +08:00
ce131ee448 Merge branch 'feat/i2c_change_addr' into 'master'
feat(i2c_master): Add a new api for adjusting address dynamically

Closes IDFGH-14214

See merge request espressif/esp-idf!35725
2024-12-20 17:16:22 +08:00
1f015c0509 change(rmt): rename isr iram safe to cache safe 2024-12-20 17:06:51 +08:00
c4173b298d test(rmt): the way to keep io level after channel delete
Closes https://github.com/espressif/esp-idf/issues/15049
2024-12-20 17:06:51 +08:00
ad74c1c3c2 feat(esp_tee): Added examples demonstrating the ESP-TEE framework 2024-12-20 14:34:14 +05:30
909fd60d33 fix(esp_tee): Include required headers explicitly across the esp_tee component 2024-12-20 14:34:14 +05:30
bd5945d1cc Merge branch 'feat/auto_suspend_waiti' into 'master'
feat(spi_flash): Add config for adding auto check status after suspend to improve performance

See merge request espressif/esp-idf!35628
2024-12-20 16:35:21 +08:00
4a9a6b1832 feat(bt/bluedroid): Support get play status in AVRCP CT 2024-12-20 15:40:01 +08:00
d679115379 change(bt/bluedroid): Some minor changes in bluedroid
- Increase the number of BTM security records for services
- Fix a coding style issue in OBEX and GOEP
2024-12-20 15:39:02 +08:00
c5955f8cf6 fix(lwip): Fix ping session calling thread unsafe API
Closes https://github.com/espressif/esp-idf/issues/14982
2024-12-20 08:09:22 +01:00
4ba375351a feat(esp32h21): add G0 component support (stage4) 2024-12-20 14:15:12 +08:00
fce82302cd Merge branch 'fix/parlio_add_gdma_fifo_reset' into 'master'
fix(parlio_tx): add clock and fifo reset in disable function

See merge request espressif/esp-idf!35657
2024-12-20 14:06:37 +08:00
89ba620cfd feat(i2c_master): Add a new api for adjusting address dynamically,
Closes https://github.com/espressif/esp-idf/issues/15011
2024-12-20 13:54:32 +08:00
29a7146b12 docs: Update CN translation for secure-boot-v2.rst 2024-12-20 11:24:49 +08:00
90f638e56e Merge branch 'feat/c5_adc_calibration' into 'master'
adc: calibration support on esp32c5

Closes IDF-8702

See merge request espressif/esp-idf!35712
2024-12-20 10:31:42 +08:00
ca927b87d9 Merge branch 'ci/known-failure-fast-link' into 'master'
ci: added known failure cases fast link to report

Closes RDT-1026

See merge request espressif/esp-idf!35566
2024-12-20 09:56:42 +08:00
b5ac4fbdf9 Merge branch 'fix/esp_vfs_register_fd_range_warning_message' into 'master'
fix(storage/vfs): incorrect log level in esp_vfs_register_fd_range

Closes IDFGH-13421

See merge request espressif/esp-idf!35682
2024-12-19 22:22:31 +08:00
bfaceabefb fix(tools): Use ESP_PYTHON with activate.py in export.fish
Closes https://github.com/espressif/esp-idf/issues/15058
2024-12-19 15:05:45 +01:00
757d74abae Merge branch 'fix/failing_create_readonly_test_on_win' into 'master'
fix(tools): fixed failing Win CI (tests read_only, cli)

Closes IDF-11782

See merge request espressif/esp-idf!35549
2024-12-19 21:41:50 +08:00
66abd6871b Merge branch 'change/bump_up_kconfig_precommit' into 'master'
ci(pre-commit): bump kconfig checker pre-commit version to 2.4.1

Closes IDF-11801

See merge request espressif/esp-idf!35398
2024-12-19 21:41:15 +08:00
0fe0637cfe feat(storage/examples): bump littlefs version to 1.16.0 2024-12-19 14:11:15 +01:00
4535c27224 Merge branch 'contrib/github_pr_14923' into 'master'
GPIO: Add gpio_get_io_config(). (GitHub PR)

Closes IDFGH-14117 and IDFGH-14127

See merge request espressif/esp-idf!35266
2024-12-19 21:02:50 +08:00
8c49748b46 ci: add build test for eco versions 2024-12-19 20:54:16 +08:00
5374a9904b Merge branch 'fix/fix_a_naming_error_in_ot_kconfig' into 'master'
fix(openthread): fix a naming error of kconfig

See merge request espressif/esp-idf!35664
2024-12-19 19:11:16 +08:00
475e4b1dc5 Merge branch 'fix/failing_export_sh_dockerfile' into 'master'
fix(tools): Enable force using IDF_PATH with export.sh

Closes IDF-11810

See merge request espressif/esp-idf!35528
2024-12-19 18:47:19 +08:00
f667ba7394 Merge branch 'feature/add-xesppie-support-for-gdbstub' into 'master'
feat(gdbstub): add riscv xesppie extension support

Closes IDF-8606

See merge request espressif/esp-idf!35414
2024-12-19 18:38:15 +08:00
2c6e82c644 ci: added known failure cases fast link to report 2024-12-19 18:29:17 +08:00
7e2464720e Merge branch 'feat/lwip_extern_decl_sockutls' into 'master'
feat(lwip): Declare additional POSIX API if available

Closes IDFGH-14028 and IDFGH-12794

See merge request espressif/esp-idf!35683
2024-12-19 18:14:17 +08:00
0c2c142134 fix(parlio_tx): add clock and fifo reset in disable function 2024-12-19 17:40:07 +08:00
d4ace98731 fix(wifi): fix esp32c2eco4 sta_rx_csa ld 2024-12-19 17:28:30 +08:00
648a3001ae Merge branch 'fix/esp32p4_unexpected_reset' into 'master'
fix(system): avoid unexcpected hp_sys_wdt reset

See merge request espressif/esp-idf!35584
2024-12-19 16:53:00 +08:00
cf7e720443 Merge branch 'bugfix/remove_dst_root_ca' into 'master'
fix(esp_crt_bundle): remove expired DST Root CA X3 from bundle

See merge request espressif/esp-idf!35750
2024-12-19 15:51:49 +08:00
36e65097cd feat(gdbstub): add riscv xesppie extension support 2024-12-19 14:07:04 +07:00
b48aa9823b Merge branch 'fix/blufi_example_mem_access' into 'master'
fix(ble/blufi): Fixed blufi example security issue

Closes BLERP-1399

See merge request espressif/esp-idf!35736
2024-12-19 15:06:52 +08:00
cdda76d5fa Merge branch 'bugfix/fix_ble_feature_config' into 'master'
fix(ble/bluedroid): Fixed BLE feature selection configuration

Closes BLERP-1404

See merge request espressif/esp-idf!35760
2024-12-19 15:06:30 +08:00
f93e720c36 Merge branch 'fix/flash_noos_issues' into 'master'
flash: fixed some no_os API issues

Closes IDF-11851 and IDF-11852

See merge request espressif/esp-idf!35572
2024-12-19 14:59:23 +08:00
30f7fa5e0e fix(nimble): Corrected link_estab event handling parameters 2024-12-19 12:27:09 +05:30
813b98ca8f Merge branch 'docs/add_html_download_link' into 'master'
feat(docs): Replace PDF download link with HTML zip download link

Closes IDFCI-2216 and DOC-9689

See merge request espressif/esp-idf!35705
2024-12-19 14:54:21 +08:00
da5b859886 test(adc): supported adc c5 calibration tests 2024-12-19 12:12:30 +08:00
b963c0f013 feat(adc): supported adc calibration on esp32c5 2024-12-19 12:12:30 +08:00
0140c6fb78 feat(docs): Replace PDF download link with HTML zip download link
PDF build would randomly fail after S3 docs grew to a certain size.

At 3k+ pages PDF is not very usable anyways.
For offline use an HTML archive makes more sense.
2024-12-19 11:42:20 +08:00
c9cdf51b05 docs(ble/bluedroid): Added BLE log when bond info was deleted 2024-12-19 11:27:49 +08:00
3bdab3a191 Merge branch 'feat/c5_twaifd_lowlevel_support' into 'master'
feat(twai): c5 twaifd basic low level support

See merge request espressif/esp-idf!34081
2024-12-19 11:27:29 +08:00
849ce255aa fix(esp_crt_bundle): remove expired DST Root CA X3 from bundle 2024-12-19 08:40:16 +05:30
45513f302b Merge branch 'feat/cache_ll_invalidate_all' into 'master'
cache: cache ll to invalidate all

Closes IDF-11897

See merge request espressif/esp-idf!35743
2024-12-19 09:57:12 +08:00
a57e4d7bdd Merge branch 'feat/dfu_p4' into 'master'
feat(dfu): Enable DFU on ESP32-P4

Closes IDF-7757

See merge request espressif/esp-idf!35539
2024-12-18 23:57:23 +08:00
c5ea3e6cf6 docs: Update CN translation for dfu 2024-12-18 16:10:43 +01:00
c749ec66f6 fix(gpio): fix pu, pd, drv value incorrect from gpio_dump_io_configuration on esp32
Closes https://github.com/espressif/esp-idf/issues/14931
2024-12-18 22:38:25 +08:00
4d9d164541 feat(gpio): Add gpio_get_io_config()
Signed-off-by: IhorNehrutsa <Ihor.Nehrutsa@gmail.com>
2024-12-18 22:38:25 +08:00
57269c3af6 Merge branch 'bugfix/update_api_to_get_url_correctly' into 'master'
fix(esp_http_client): updated API esp_http_client_get_url() to get URL in correct format

See merge request espressif/esp-idf!35732
2024-12-18 21:14:55 +08:00
dd31a41303 fix(tools): Enable to use IDF_PATH with export.sh 2024-12-18 13:38:47 +01:00
40d450dd58 Merge branch 'update/update_cmn_crt_authorities_csv' into 'master'
Update common cert authorities csv

See merge request espressif/esp-idf!35141
2024-12-18 20:15:26 +08:00
82c26fd62e Merge branch 'fix/tools_pip_upgrade' into 'master'
fix(idf_tools.py): Upgrade pip and setuptools separately

Closes RDT-1054

See merge request espressif/esp-idf!35767
2024-12-18 20:10:18 +08:00
fe48cbc3c0 feat(twai): c5 twaifd low level support and deprecate old types header 2024-12-18 19:23:25 +08:00
0d8a644739 Merge branch 'feat/h21_introduce_step3_1' into 'master'
feat(esp32h21):  add efuse and rom support (stage 3/8)

See merge request espressif/esp-idf!35493
2024-12-18 19:22:39 +08:00
8276e56f99 fix(openthread): add macros for ot_br 2024-12-18 19:09:48 +08:00
a69220b32d fix(idf_tools.py): Upgrade pip and setuptools separately
This way the setuptools version dependency resolution will be done by
the upgraded pip.
2024-12-18 11:30:54 +01:00
25de0937bb Merge branch 'bugfix/fix_i2s_24b_buf_size_calc' into 'master'
fix(i2s): fixed some issues in I2S driver

Closes IDF-11890

See merge request espressif/esp-idf!35626
2024-12-18 18:30:35 +08:00
43c6f59ded Merge branch 'feature/change_ot_ci_cases_wlan_to_ethernet' into 'master'
feat(openthread): change wlan to ethernet

See merge request espressif/esp-idf!35724
2024-12-18 17:59:05 +08:00
24be50e71d change(mbedtls/crt_bundle): Update esp_cmn_crt_bundle certificates 2024-12-18 14:52:09 +05:30
117aa74705 fix(ble/bluedroid): Fixed BLE feature selection configuration 2024-12-18 17:07:22 +08:00
63ea6113ba fix(cache): fixed cache hal ctx not initialised in app issue 2024-12-18 16:41:35 +08:00
a3f70ef45b fix(spi_flash): fixed no_os flash API not consider branch predictor on c5/c61 2024-12-18 16:41:35 +08:00
d04af97ae3 fix(spi_flash): fixed no_os flash API not consider cache states issue on h2/p4/c6/c5/c61 2024-12-18 16:41:35 +08:00
1b71db8da3 Merge branch 'fix/coredump_checksum_error' into 'master'
Fix/coredump checksum error

Closes IDFGH-12659

See merge request espressif/esp-idf!35726
2024-12-18 16:38:18 +08:00
0b809a1bc5 docs(example): added troubleshooting for i2s_es8311 example
Closes https://github.com/espressif/esp-idf/issues/15047
2024-12-18 16:23:29 +08:00
74427172e1 fix(i2s): fixed i2s coverity issue 2024-12-18 16:23:29 +08:00
6cc2c717a9 fix(i2s): return error when mclk_div is smaller than 2 2024-12-18 16:23:29 +08:00
b02eb01619 fix(i2s): fixed incorrect buf size calculation 2024-12-18 16:23:29 +08:00
368dbed43f Merge branch 'ci/make-app-path-in-log-min-free-heap-size-as-relative' into 'master'
ci: make app path relative to IDF_PATH in log_minimum_free_heap_size fixture

See merge request espressif/esp-idf!35648
2024-12-18 16:10:54 +08:00
9bdbd45ee6 Merge branch 'fix/i2c_10address_esp32' into 'master'
fix(i2c_slave): Support 10-bit address on esp32

Closes IDF-11892

See merge request espressif/esp-idf!35695
2024-12-18 15:29:05 +08:00
1456fec98c change(coredump): include coredump own stack into coredump file 2024-12-18 10:19:39 +03:00
7da66fb098 change(coredump): make sure consistency with written data and calculated checksum 2024-12-18 10:19:39 +03:00
426ed4d95c Merge branch 'update/update_certs_bundle' into 'master'
Update esp_crt_bundle certificates

See merge request espressif/esp-idf!35222
2024-12-18 15:01:36 +08:00
81426057b5 feat(spi_flash): Add config for adding auto check status after suspend to improve performance 2024-12-18 14:55:25 +08:00
08a54bba6c docs(pcnt): remove pm_lock content in glitch_filter
Closes https://github.com/espressif/esp-idf/issues/15027
2024-12-18 14:39:22 +08:00
92027a9039 fix(esp_http_client): updated API esp_http_client_get_url to get URL in correct format
This commit updates the API to include the port number in the URL,
which was previously missing.
2024-12-18 12:00:55 +05:30
3f05b4d25b docs(pcnt): update pcnt power down description 2024-12-18 14:19:34 +08:00
1176038776 feat(esp32h21): add H21 esp_rom files (stage3) 2024-12-18 11:58:34 +08:00
7dabe54814 feat(esp32h21): add H21 efuse files (stage3) 2024-12-18 11:46:21 +08:00
d84ccadf90 docs(ble/bluedroid): Optimize doc for registering BLE callback functions 2024-12-18 11:42:17 +08:00
3cb2d9c3c6 fix(ble/blufi): Fixed blufi example security issue 2024-12-18 11:33:43 +08:00
f1b0c5dcb4 feat(cache): added cache invalidate all ll apis 2024-12-18 11:33:28 +08:00
5bbc767f2e ci: make app path relative to IDF_PATH minimum free heap size log 2024-12-18 09:22:45 +08:00
276087c4d3 feat(openthread): change wlan to ethernet 2024-12-18 09:17:28 +08:00
3fd2f53c68 fix(usb/host): Fix reaction on High-Speed NYET packet
In Scatter-Gather DMA mode, the USB-DWC will automatically enable
PING protocol if an OUT packet is NACKed by the High-Speed device.
The PING bit must be manually reset.
2024-12-17 17:45:54 +01:00
88b137c121 fix(system): avoid unexcpected hp_sys_wdt reset 2024-12-17 18:29:45 +03:00
13e8541007 Merge branch 'feat/usb_host_cmock_add_device' into 'master'
feature(usb_host): cmock add device

See merge request espressif/esp-idf!34932
2024-12-17 22:01:22 +08:00
04e06f87d0 ci(pre-commit): bump kconfig checker pre-commit version to 2.4.1 2024-12-17 14:28:06 +01:00
3140ce06e8 fix(i2c_slave): Support 10-bit address on esp32 2024-12-17 19:14:32 +08:00
54b0d8774e Merge branch 'fix/ot_trel_build' into 'master'
fix(openthread): Fix CI failure of ot_trel example build

Closes IDFCI-2589

See merge request espressif/esp-idf!35687
2024-12-17 18:34:59 +08:00
d66b6e2749 feat(hints): Add hints on using external sock utilities 2024-12-17 11:18:46 +01:00
4772f51437 feat(lwip): Declare additional POSIX API if available
Add support for socketpair() directly from lwip sockets (if sock-utils included)
Add support for gai_strerror() directly from lwip netdb.h (if sock-utils included)

Closes https://github.com/espressif/esp-idf/issues/13772
Closes https://github.com/espressif/esp-idf/issues/14849

fix(lwip): prevent socket.h to spellcheck
2024-12-17 11:18:42 +01:00
0c2843a071 fix(hints): improve suggestion for missing header file
Currently, we are only suggesting that the header file is likely not
part of the component's INCLUDE_DIRS. However, the header file may be
missing also because of the configuration settings. For instance, the
component might be disabled in sdkconfig, or the feature that supplies
the header might not be enabled. Enhance the hint message to address
this scenario as well.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-17 10:56:26 +01:00
90a396b44a Merge branch 'contrib/github_pr_15031' into 'master'
docs: Fix `gpio_dump_io_configuration` typo in docs (GitHub PR)

Closes IDFGH-14235

See merge request espressif/esp-idf!35673
2024-12-17 17:55:41 +08:00
b16abb49ab feat(openthread): update build test rules 2024-12-17 16:32:54 +08:00
04429da460 Merge branch 'bugfix/sniff_req_unhandle' into 'master'
fix(bt): fix epr not being initiated after authentication is completed

Closes COEXQABR24-41

See merge request espressif/esp-idf!35448
2024-12-17 16:04:25 +08:00
c9a5909588 Merge branch 'fix/fix_adc_cali_check_scheme_api_issue' into 'master'
adc: fixed adc_cali_check_scheme wrong return on c2/h2/c6

Closes IDF-11889

See merge request espressif/esp-idf!35699
2024-12-17 15:12:05 +08:00
fa41fafd27 Merge branch 'docs/add_ble_qualification_table' into 'master'
docs(ble): Added BLE Qualification Information to API Guides

See merge request espressif/esp-idf!35565
2024-12-17 12:03:43 +08:00
d9f0e1201c docs(ble): Added BLE Qualification Information to API Guides 2024-12-17 12:03:43 +08:00
611e3fcb79 fix(adc): fixed adc_cali_check_scheme wrong return on c2/h2/c6 2024-12-17 11:35:42 +08:00
5cc3c09a15 fix(openthread): Fix CI failure of ot_trel example build 2024-12-17 10:26:47 +08:00
e24950264b Merge branch 'ci/docs_master_build' into 'master'
ci(docs): revert d98e77a4a7 to simplify CI

See merge request espressif/esp-idf!35580
2024-12-17 10:07:50 +08:00
c35f188efb fix(lp_io): allow edge wakeup types for LP-IO on chips which support it 2024-12-17 10:00:48 +08:00
d308198f29 Merge branch 'docs/update_cn_translation_for_heap_debug' into 'master'
docs: Update CN translation for heap debug

Closes DOC-9613

See merge request espressif/esp-idf!35293
2024-12-17 09:57:55 +08:00
d75fdc74e8 ci(docs): revert d98e77a4a7 to simplify CI 2024-12-17 09:39:46 +08:00
3cef3baeba feat(usb_host): Mock USB device open/close
- CMock callbacks for USB device opening and closing
2024-12-16 16:55:37 +01:00
5e53f2975e fix(storage/vfs): incorrect log level in esp_vfs_register_fd_range
Closes https://github.com/espressif/esp-idf/issues/14327
2024-12-16 15:12:11 +01:00
5930a422d7 fix(tools): Fixed timeout and path bug for test_cli_installer_win 2024-12-16 14:55:16 +01:00
0b78083595 fix(tools): fixed test_create_project_with_idf_readonly on Win 2024-12-16 14:55:15 +01:00
cd225d0788 Merge branch 'fix/fix_flash_clock_changed_after_sleep' into 'master'
fix(esp_hw_support): fix mspi clock freq changed after lightsleep

Closes PM-231 and PM-299

See merge request espressif/esp-idf!34982
2024-12-16 21:34:38 +08:00
8e8e577d2c fix(bt): Fixed some controller bugs
- Fix epr not being initiated after authentication is completed
- Fixed the issue HCI_READ_CLOCK returned parameter in slot
- Fixed the missmatching of CLKN and FCNT after clock update
2024-12-16 19:15:18 +08:00
2c31596a3b Merge branch 'fix/update_csfc_max_size' into 'master'
fix(nimble): Update CSFC max size to fix invalid NVS overflow event

Closes BLERP-1382

See merge request espressif/esp-idf!35514
2024-12-16 19:03:39 +08:00
7d46a4a0b0 Merge branch 'example_connect/thread' into 'master'
feat(protocol_examples_common): Add Thread connect to support Thread for the protocol examples

See merge request espressif/esp-idf!34892
2024-12-16 17:56:46 +08:00
ad42627d1a Merge branch 'bugfix/btqabr2023-413' into 'master'
fix(ble): Fixed that the resolvable private address does not change when light sleep is enabled

Closes BTQABR2023-413

See merge request espressif/esp-idf!35611
2024-12-16 17:23:26 +08:00
f8648f2ee6 fix(openthread): fix a naming error of kconfig 2024-12-16 16:42:39 +08:00
a5fbd96f2d Merge branch 'feature/add_support_for_http_1.0_requests' into 'master'
feat(esp_http_server): add support to handle HTTP 1.0 requests

Closes IDF-11832

See merge request espressif/esp-idf!35579
2024-12-16 15:39:02 +08:00
3b4f2a9a86 Merge branch 'fix/p4_spi_slave_example_not_work' into 'master'
fix(driver_spi): fixed slave (and slave_hd) driver and example error with alignment check

See merge request espressif/esp-idf!35248
2024-12-16 14:29:02 +08:00
a1c89bb7df fix(ble): fixed that the resolvable private address does not change when light sleep is enabled 2024-12-16 11:11:55 +08:00
8458cfffba Merge branch 'feat/support_some_vendor_hci_for_qa' into 'master'
fix(ble): fixed the connect issue when rx error aa on ESP32-C2

Closes BLERP-1299, BLERP-1298, BLERP-1287, BLERP-1281, BLERP-1328, BLERP-1340, BLERP-1341, BLERP-1343, BLERP-1344, BLERP-1361, and BLERP-1308

See merge request espressif/esp-idf!35447
2024-12-16 10:55:44 +08:00
a03527e99b Merge branch 'fix/ble_mesh_enable_high_duty_itvl_on_nimble' into 'master'
feat(ble_mesh): select BT_NIMBLE_HIGH_DUTY_ADV_ITVL when using random adv itvl

Closes BLERP-1360

See merge request espressif/esp-idf!35591
2024-12-16 10:35:45 +08:00
f6dde85e45 docs: Update CN translation for heap debug 2024-12-16 10:15:49 +08:00
30a050e9ae docs: Fix gpio_dump_io_configuration typo in docs
The mentioned `gpio_dump_all_io_configuration` function doesn't exist,
the correct function is `gpio_dump_io_configuration`.
2024-12-14 13:05:24 -07:00
6fd082f8ac feat(wpa_supplicant): Add WIFI_EVENT_AP_WRONG_PASSWORD in SoftAP
This event is triggered when external station tries connecting to softAP
with wrong password.

Currently supported softAP AUTH modes: WPA-PSK, WPA2-PSK and WPA3-PSK (SAE-auth)
2024-12-14 18:17:53 +05:30
7ff0a07d3d Merge branch 'feat/h21_introduce_step2_3' into 'master'
feat(esp32h21): add soc register header files (stage 2/8, part 3/3)

See merge request espressif/esp-idf!35492
2024-12-14 18:58:14 +08:00
d798f6f1a7 feat(esp32h21): update pmu reg and struct files (stage 2-3) 2024-12-14 17:08:51 +08:00
07862cf93e feat(esp32h21): fix soc file and add soc files from verification branch (stage 2-3) 2024-12-14 17:08:19 +08:00
e06c234625 Merge branch 'bugfix/opencores_emac_macaddr' into 'master'
fixes for MAC address setting in openeth driver

See merge request espressif/esp-idf!35512
2024-12-13 20:17:56 +08:00
b87ba0381b Merge branch 'feat/add_get_started_example_on_bluedroid' into 'master'
feat(bt/bluedroid): Added BLE get started examples for Bluedroid

Closes BLERP-1180

See merge request espressif/esp-idf!34623
2024-12-13 19:23:07 +08:00
397fb43d2d Merge branch 'bugfix/fix_ble_aa_zero_c3_s3' into 'master'
fix(bt/ble): Update esp32c3/s3 libbtdm_app.a (555b0a2)

Closes BLERP-1284 and IDFCI-2490

See merge request espressif/esp-idf!35220
2024-12-13 19:22:38 +08:00
571d572483 Merge branch 'docs/update_cn_libs_frameworks' into 'master'
docs: Update CN translation for libs-frameworks.rst

Closes DOC-9662

See merge request espressif/esp-idf!35614
2024-12-13 18:09:31 +08:00
f8701f1c92 Merge branch 'feat/vfs_ops_make_all_op_pointers_const' into 'master'
feat(storage/vfs): make all member pointer of vfs_ops struct const

See merge request espressif/esp-idf!35287
2024-12-13 18:01:53 +08:00
8d11345a01 Merge branch 'ci/add-app-path-to-log-min-free-heap-size' into 'master'
ci: add app_path to log_minimum_free_heap_size to allow better identification of apps

See merge request espressif/esp-idf!35627
2024-12-13 17:44:40 +08:00
33b6da9d5a docs: Update CN translation for libs-frameworks.rst 2024-12-13 16:49:06 +08:00
0610fa3460 fix(driver_spi): fixed slave example error on esp32p4 2024-12-13 16:15:47 +08:00
fcdc5d02d4 fix(driver_spi): fixed slave_hd driver transaction alignment check 2024-12-13 16:15:43 +08:00
7d0d95b7d8 fix(esp_hw_support): fix mspi clock freq changed after lightsleep 2024-12-13 15:47:49 +08:00
0b32899559 Merge branch 'fix/fix_esp32c2_ld_issue' into 'master'
fix(wifi): fix esp32c2 ld issue

See merge request espressif/esp-idf!35608
2024-12-13 15:43:34 +08:00
zwl
6b01a56e09 fix(ble): fixed the connect issue when rx error aa on ESP32-C2 2024-12-13 15:34:21 +08:00
zwl
15203f9f35 feat(ble): support some vendor hci commands on ESP32-H2 2024-12-13 15:28:57 +08:00
zwl
5bd66eaa57 feat(ble): support some vendor hci commands on ESP32-C6 2024-12-13 15:28:57 +08:00
d051a2a39d feat(bt/bluedroid): Added BLE get started examples for Bluedroid 2024-12-13 15:09:03 +08:00
001247a29a change(mbedtls/crt_bundle): Update esp_crt_bundle certificates 2024-12-13 14:29:37 +08:00
9940dbdaf4 Merge branch 'bugfix/periph_clk_init_p4_addon' into 'master'
fix(esp_system): still gate hp periph clk on core/system reset for power saving

See merge request espressif/esp-idf!35625
2024-12-13 13:48:17 +08:00
0a8f808cd2 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(555b0a2)
- Check Access Address when receive connection request PDU
- Fix issue with BLE5.0 duplicate scan for chained packets
2024-12-13 13:40:26 +08:00
c81c6cfb3a Fix upload_script to actually use max size variables 2024-12-13 10:09:47 +05:30
819703c442 ci: add app_path to log_minimum_free_heap_size to allow better identification of the app based on its path 2024-12-13 11:22:53 +08:00
b2dce4a170 Merge branch 'feature/support_ana_cmpr_on_c5' into 'master'
feat(ana_cmpr): support ana cmpr on c5

Closes IDF-11081

See merge request espressif/esp-idf!35530
2024-12-13 11:03:17 +08:00
93a604df88 Merge branch 'fix/honor_idf_python_env_path' into 'master'
fix(tools): honor IDF_PYTHON_ENV_PATH value

Closes IDFGH-14208

See merge request espressif/esp-idf!35534
2024-12-13 00:51:16 +08:00
18cbc8d86c Merge branch 'ci/autocomplete_arg_test' into 'master'
ci(autocomplete): add test for file autocompletion

Closes IDF-11707 and IDF-11839

See merge request espressif/esp-idf!35488
2024-12-12 21:32:01 +08:00
c0954cf0b2 fix(tools): honor IDF_PYTHON_ENV_PATH value
The active.py script is currently clearing the IDF_PYTHON_ENV_PATH,
preventing it from being set to a custom location for the python virtual
environment directory. Although the install script checks to ensure that
an existing python virtual environment is not overwritten with one for a
different ESP-IDF version than it was originally created for, we should
still permit setting a custom path for the python virtual environment.

Closes https://github.com/espressif/esp-idf/issues/15006

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-12 14:29:25 +01:00
c5ab71e3db fix(esp_system): still gate hp periph clk on core/system reset for power saving
Leaving only hp periph clk source should not be gated on core/system reset
2024-12-12 20:45:06 +08:00
e75c170cfe Merge branch 'bugfix/fix_blufi_connect_wpa_ap_fail_issue' into 'master'
fix(wifi): fixed blufi connect wep or wpa ap fail issue

Closes WIFI-6765

See merge request espressif/esp-idf!35541
2024-12-12 20:23:06 +08:00
7443dded8a Merge branch 'bugfix/fix_calibration_warning_info_inaccurate_issue' into 'master'
fix(phy): fixed calibration warning infomation inaccurate issue

Closes IDFGH-14161

See merge request espressif/esp-idf!35536
2024-12-12 20:22:43 +08:00
86e5039fc9 feat(storage/vfs): make all member pointer of vfs_ops struct const 2024-12-12 13:03:30 +01:00
41b083d2bc Merge branch 'feature/add_rx_buff_statistic' into 'master'
feat(802.15.4): IEEE802.15.4 add rx buffer statistic

See merge request espressif/esp-idf!28996
2024-12-12 19:55:07 +08:00
c80ba4023d Merge branch 'fix/heap-allocate-in-rtc-iram' into 'master'
fix(heap): MALLOC_CAP_EXEC does not allocate in RTC IRAM

Closes IDFGH-14012

See merge request espressif/esp-idf!34750
2024-12-12 18:51:52 +08:00
9d45beda54 Merge branch 'bugfix/add_cve_2024_53845_to_list' into 'master'
fix(wifi): Added CVE-2024-53845 to vulnerabilities list

See merge request espressif/esp-idf!35581
2024-12-12 18:21:08 +08:00
1b633068fd Merge branch 'fix/fix_wrong_emmc_test_config' into 'master'
sdmmc: fixed wrong emmc test (should be sdmmc)

See merge request espressif/esp-idf!35612
2024-12-12 16:39:21 +08:00
d2b87ace4b Merge branch 'feat/support_step_notify_on_h2eco5' into 'master'
feat(pcnt): support step_notify on esp32h2 eco5

Closes IDF-11394

See merge request espressif/esp-idf!35516
2024-12-12 16:23:44 +08:00
ef5c697a62 Merge branch 'docs/update_cn_translation_for_picolibc' into 'master'
docs: Review the CN translation for Picolibc

Closes DOC-9657

See merge request espressif/esp-idf!35432
2024-12-12 15:56:10 +08:00
5e8c07a702 fix(sdmmc): fixed wrong emmc test (should be sdmmc) 2024-12-12 15:51:14 +08:00
1937ef2b13 Merge branch 'fix/fix_coverity_issues' into 'master'
fix(system): Fixes some false-positive coverity issues

Closes IDF-11768, IDF-11760, and IDF-11740

See merge request espressif/esp-idf!35288
2024-12-12 15:47:40 +08:00
5bfdfb8999 Merge branch 'fix/adc_monitor_wrap_test' into 'master'
fix(esp_adc): wrap monitor test cases

See merge request espressif/esp-idf!35582
2024-12-12 15:22:48 +08:00
b85e54a884 fix(wifi): fix esp32c2 ld issue 2024-12-12 14:49:24 +08:00
4784b5aad8 fix(wifi): Added CVE-2024-53845 to vulnerabilities list 2024-12-12 14:07:20 +08:00
79aae54fb2 Merge branch 'feat/support_bleqabr24_1539' into 'master'
feat(bt/bluedroid): Added config for saving BLE bonding keys to NVS

Closes BLERP-1202

See merge request espressif/esp-idf!34700
2024-12-12 12:06:58 +08:00
12fb443e4d Merge branch 'bugfix/not_use_evn_variable_in_example' into 'master'
refactor(i2s): refactor i2s examples common dependencies

Closes IDFGH-13912

See merge request espressif/esp-idf!35535
2024-12-12 11:08:01 +08:00
a7622efd0c feat(ble_mesh): select BT_NIMBLE_HIGH_DUTY_ADV_ITVL
(cherry picked from commit 6faf0a59fdcf063d40fc1000a209341318131185)

Co-authored-by: luoxu <luoxu@espressif.com>
2024-12-12 10:59:28 +08:00
1f54b6e2ff Merge branch 'fix/ble_mesh_ble_50_bug' into 'master'
fix(ble_mesh): compile bug fixed for ble mesh on ble 5.0

Closes BLERP-1359

See merge request espressif/esp-idf!35554
2024-12-12 10:53:39 +08:00
f731a53694 refactor(ana_cmpr): use enum types in ll 2024-12-12 10:46:54 +08:00
d26cc38588 feat(esp_hw_support): add branch prediction config retention 2024-12-12 10:37:13 +08:00
b48b43880a feat(ana_cmpr): support analog comparator on C5 2024-12-12 10:27:05 +08:00
14b290a83a Merge branch 'refactor/mspi_clk_src_refactor' into 'master'
mspi: clk src refactor

Closes IDF-10464

See merge request espressif/esp-idf!35365
2024-12-12 10:10:36 +08:00
c896eb611e refactor(i2s): refactor i2s examples common dependencies
Closes https://github.com/espressif/esp-idf/issues/14751

Make the common I2S dependencies as an example common component,
so that to avoid slash & backslash issue on windows
when use absolute include path.
2024-12-11 22:03:30 +08:00
2973d974ed fix(esp_hw_support): fix DCDC switch bad software powerdown 2024-12-11 21:27:15 +08:00
5549ae0a2d change(esp_hw_support): not use ROM Cache invalidate in sleep process to avoid dirtying the L1 Cache 2024-12-11 21:27:15 +08:00
b29dc559e8 feat(esp_hw_support): do mstatus restore on each core 2024-12-11 21:27:15 +08:00
b8db4b1c52 feat(esp_hw_support): do esp32p4 l1 cache invalidate by regdma 2024-12-11 21:27:14 +08:00
a8de16b13d fix(autocomplete): handle @-argument autocompletion in bash
Enable @-argument completion only if '@' is not present in
COMP_WORDBREAKS. When '@' is included, the @-argument is not considered
part of the completion word, causing @-argument completion to function
unreliably in bash.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-11 14:05:42 +01:00
96e627d9a1 ci(autocomplete): add test for file autocompletion
Merge Request !31081 introduced support for file autocompletion. This
adds a basic test for README files autocompletion in the root directory
of the esp-idf repository.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-12-11 14:05:42 +01:00
3d0688942c feat(protocol_examples_common): Add Thread connect to support Thread for the protocol examples 2024-12-11 19:13:20 +08:00
c711541e2b feat(802.15.4): add some documentation for txrx statistics and debug record 2024-12-11 19:07:34 +08:00
54ea9e40ca fix(esp_adc): wrap monitor test cases 2024-12-11 19:04:31 +08:00
d5ccc60eb0 feat(esp_http_server): add support to handle HTTP 1.0 requests
This commit adds support to handle HTTP/1.0 requests alongside HTTP/1.1 for
legacy compliance purposes.
2024-12-11 15:32:32 +05:30
1f4ea21092 Merge branch 'fix/lwip_autoip_next_addr_after_rate_limit' into 'master'
fix(lwip): Fix AUTOIP new address after rate limit

Closes IDF-11285

See merge request espressif/esp-idf!35279
2024-12-11 17:06:50 +08:00
dd07504ea5 feat(pcnt): support step_notify on esp32h2 eco5 2024-12-11 16:57:09 +08:00
a8691924a4 Merge branch 'bugfix/fix_vulnerability' into 'master'
fix(nimble): Fixes for security vulnerabilities reported in NimBLE

See merge request espressif/esp-idf!35472
2024-12-11 16:42:55 +08:00
e12d49a2d2 Merge branch 'change/lp_i2s_coverity' into 'master'
lp_i2s: coverity: remove not necessary null pointer check

Closes IDF-10713

See merge request espressif/esp-idf!35556
2024-12-11 16:39:20 +08:00
d518d110c0 docs: Review the CN translation for Picolibc 2024-12-11 16:24:17 +08:00
bf86ab3926 feat(dfu): Enable DFU on ESP32-P4 2024-12-11 09:23:32 +01:00
6528ab5971 refactor(mspi): refactor mspi clock src settings 2024-12-11 14:46:07 +08:00
23455ea9c2 fix(bt/bluedroid): Fixed failure to get host status when host is not enabled 2024-12-11 14:39:56 +08:00
6d1160b2e6 feat(bt/bluedroid): Added config for saving BLE bonding keys to NVS 2024-12-11 14:38:59 +08:00
aae5321c4a Merge branch 'bugfix/ledc_get_freq_calc' into 'master'
fix(ledc): fix ledc_get_freq calculation err due to overflow

Closes IDF-11714, IDF-11762, IDFGH-14067, and IDFGH-14070

See merge request espressif/esp-idf!35451
2024-12-11 11:59:15 +08:00
2b2d56306b change(lp_i2s): coverity: remove not necessary null pointer check 2024-12-11 11:42:42 +08:00
56696866ba Merge branch 'bugfix/fix_blufi_prepare_write' into 'master'
fix(blufi): Fixed crash issue in Blufi example during prepare write operation

Closes BLERP-1348

See merge request espressif/esp-idf!35506
2024-12-11 11:31:32 +08:00
72f46b82a1 fix(ble_mesh): compile bug fixed for ble mesh on ble 5.0 2024-12-11 11:29:05 +08:00
9bafc54490 Merge branch 'fix/disable_border_agent_default' into 'master'
fix(openthread): Disable Border Agent features by default

See merge request espressif/esp-idf!35529
2024-12-11 10:44:13 +08:00
6d06f5fe44 fix(esp_eth): fix openeth driver to consider MAC address set in QEMU
Openeth driver did not consider the possibility that the MAC address
was specified when launching QEMU, and would always overwrite that
address with the address obtained from esp_read_mac.
When running QEMU, setting the MAC address via QEMU arguments is more
convenient than crafting an eFuse file with the correct MAC address.
This change modifies openeth driver to first check if an address has
been set in QEMU and uses it if so. Otherwise it falls back to the
address obtained from esp_read_mac.

As part of this change, also removed the unnecessary variable
emac_opencores_t::addr, the address is only kept in the registers of
the emulated peripheral now.

For full effect this also requires changes in QEMU, see
https://github.com/espressif/qemu/issues/107 for background. Without
changes in QEMU, this commit keeps the same behavior.
2024-12-10 12:29:10 +01:00
9c228007d7 fix(wifi): fixed blufi connect wep or wpa ap fail issue 2024-12-10 19:27:14 +08:00
c80fa61c1f Merge branch 'feat/allow_to_skip_legacy_driver_conflict_check' into 'master'
feat(legacy_driver): add kconfig to skip legacy confilct check

Closes IDFGH-12987

See merge request espressif/esp-idf!35458
2024-12-10 19:03:37 +08:00
1ddf0052ce Merge branch 'fix/fix_init_stuck_under_flash_qio_xip_psram_condition' into 'master'
mspi: fix init stuck when flash qio and xip_psram condition

Closes IDFGH-14180

See merge request espressif/esp-idf!35533
2024-12-10 18:46:16 +08:00
a0bcffcce9 fix(esp_http_client): updated defination for macro mem_check
This commit replace macro MEM_CHECK with return on failure and
updated usage of reespctive APIs' in IDF.
This also update th prototype of API esp_http_client_add_auth().

Closes https://github.com/espressif/esp-idf/issues/14463
2024-12-10 15:41:36 +05:30
f2eca886d0 fix(phy): fixed calibration warning infomation inaccurate issue
Closes https://github.com/espressif/esp-idf/issues/14963
2024-12-10 16:22:57 +08:00
5c32d4c22a fix(mspi): fix init stuck when flash qio and xip_psram condition
Closes https://github.com/espressif/esp-idf/issues/14979
2024-12-10 15:30:10 +08:00
3646021d5b fix(openthread): Disable Border Agent features by default 2024-12-10 12:04:27 +08:00
ea55be3d8a Merge branch 'bugfix/fix_bit_width_of_channel_in_rxctrl' into 'master'
fix(wifi): expend bit width of channel in rxctrl

See merge request espressif/esp-idf!35484
2024-12-10 11:40:23 +08:00
8d8bef4573 Merge branch 'fix/spi_types-deprecation-warnings' into 'master'
fix(spi): fix deprecation warnings

See merge request espressif/esp-idf!35504
2024-12-10 00:10:28 +08:00
966f61ef6e fix(spi): fix deprecation warnings 2024-12-09 20:56:54 +07:00
bfe065003d Merge branch 'fix/monitor_no_elf' into 'master'
fix(tools): fix running monitor without elf file

Closes IDF-11821

See merge request espressif/esp-idf!35479
2024-12-09 21:40:53 +08:00
a7d5fb698f Merge branch 'fix/coredump-gcc-analyzer-warnings' into 'master'
fix(system): fix GCC-14 analyzer warnings for coredump

Closes GCC-14

See merge request espressif/esp-idf!34809
2024-12-09 21:35:44 +08:00
f6c776d6c6 feat(legacy_driver): add kconfig to skip legacy confilct check 2024-12-09 21:24:04 +08:00
8077b5c7e2 Merge branch 'feature/support_ana_cmpr_on_c61' into 'master'
feat(ana_cmpr): support analog comparator on C61

Closes IDF-11082

See merge request espressif/esp-idf!35480
2024-12-09 20:22:19 +08:00
58c1d39720 fix(wifi): expend bit width of channel in rxctrl 2024-12-09 19:52:36 +08:00
512d08a1d9 Merge branch 'feat/h21_introduce_step2_2' into 'master'
feat(esp32h21): add soc register header files (stage 2/8, part 2/3)

See merge request espressif/esp-idf!35320
2024-12-09 18:46:15 +08:00
d681fb8949 fix(nimble): update csfc max size to max_bonds to fix invalid nvs overflow event 2024-12-09 16:00:16 +05:30
58f2dd5a66 fix(protocol_examples_common): don't override MAC address for openeth
The intention of the code block was to set MAC address for SPI
Ethernet modules, however !CONFIG_EXAMPLE_USE_INTERNAL_ETHERNET also
affected the case of CONFIG_EXAMPLE_USE_OPENETH.
This commit corrects the code to match the original intention.

Related to https://github.com/espressif/qemu/issues/107
2024-12-09 10:51:19 +01:00
2cddacd0ac Merge branch 'docs/fix_ringbuf_doc_xringbuffersendcomplete' into 'master'
docs(esp_ringbuf): Fixed incorrect documentation for xRingBufferSendComplete()

Closes IDFGH-14191

See merge request espressif/esp-idf!35497
2024-12-09 17:05:39 +08:00
5acb9c9b5f fix(blufi): Fixed crash issue in Blufi example during prepare write operation 2024-12-09 17:04:05 +08:00
a995a5339b fix(heap): MALLOC_CAP_EXEC does not allocate in RTC IRAM
This commit fixes the issue when trying to allocate memory
with the MALLOC_CAP_EXEC in RTC memory. Prior to the fix,
the heap allocator was returning an address in RTC DRAM.

To fix this issue:
- modified memory_layout.c of the concerned targets to fill the iram_address
field in the rtc entry of the soc_memory_region array properly.
- modified heap component  related functions to return IRAM address when
an allocation in RTC memory with MALLOC_CAP_EXEC is requested.

Closes https://github.com/espressif/esp-idf/issues/14835
2024-12-09 09:34:56 +01:00
7064ad8abb docs(esp_ringbuf): Fixed incorrect documentation for xRingBufferSendComplete()
Closes https://github.com/espressif/esp-idf/issues/14990
2024-12-09 09:32:47 +05:30
d30af2fbdc Merge branch 'feat/docs_esp_extconn_on_wifiless_chips' into 'master'
Feat/docs esp extconn on wifiless chips

Closes IDF-7763 and IDF-11328

See merge request espressif/esp-idf!32456
2024-12-09 11:40:40 +08:00
cb3ac7429c Merge branch 'feature/support_bt_pba_client' into 'master'
feature(bt/bluedroid): Support bt pba client

Closes BT-3326 and IDFGH-10260

See merge request espressif/esp-idf!34260
2024-12-09 11:26:01 +08:00
0d68aa8585 Merge branch 'feature/isp_dvp_example' into 'master'
feat(dvp_isp_dsi_example): add new option to connect a DVP camera sensor (ov2640) through ISP_DVP

Closes IDF-10032

See merge request espressif/esp-idf!31796
2024-12-09 11:20:28 +08:00
874ce4ed00 Merge branch 'contrib/github_pr_14879' into 'master'
[I2S] removes code forcing two slots in PCM Short Slot (GitHub PR)

Closes IDFGH-14064

See merge request espressif/esp-idf!35227
2024-12-09 10:51:39 +08:00
0cae6d526c feat(ana_cmpr): support analog comparator on C61 2024-12-09 10:33:21 +08:00
9fcc1c35da feat(esp32h21): add soc register header files (stage2, 2/3) 2024-12-08 16:37:38 +08:00
251dbf4447 fix(nimble): Fixes for security vulnerabilities reported in NimBLE 2024-12-07 08:05:11 +05:30
7993018962 Merge branch 'fix/hci_err_code_def' into 'master'
fix/nimble: Added a function for printing HCI error definition

Closes BLERP-1301

See merge request espressif/esp-idf!34524
2024-12-06 23:49:25 +08:00
646985255b Merge branch 'fix/execute-gdb-without-built-app' into 'master'
tools: fix idf.py gdb execution in case app was not built

See merge request espressif/esp-idf!35485
2024-12-06 22:17:22 +08:00
e0bb3a25e4 fix(tools): fix idf.py gdb execution in case app was not built 2024-12-06 19:15:56 +07:00
05db66bf78 Merge branch 'docs/update_cn_translation' into 'master'
docs: Sync CN and EN docs

Closes DOC-9614

See merge request espressif/esp-idf!35256
2024-12-06 19:21:09 +08:00
b79c7f0f53 Merge branch 'feat/add_pcnt_gpio_input_config' into 'master'
docs(pcnt): add gpio input mode documentation

Closes IDFGH-13364

See merge request espressif/esp-idf!33182
2024-12-06 18:47:18 +08:00
54d3c090be fix(tools): fix running monitor without elf file 2024-12-06 09:48:48 +01:00
8eff8b088e docs: Sync CN and EN docs 2024-12-06 16:27:23 +08:00
2c74d625a8 Merge branch 'bug/overflowed_constant_in_app_update' into 'master'
fix(esp_https_ota): Changed the type of erase size

Closes IDF-11745

See merge request espressif/esp-idf!35336
2024-12-06 15:52:23 +08:00
d90bd6a179 Merge branch 'feature/add_sse_demo_in_https_server_example' into 'master'
feat(http_server): Added Server Sent Events demo

Closes IDFGH-12605

See merge request espressif/esp-idf!33939
2024-12-06 15:44:01 +08:00
7723a91285 Merge branch 'ci/pre-commit-idf-build-apps-version' into 'master'
ci: update idf-build-apps version in pre-commit

See merge request espressif/esp-idf!35464
2024-12-06 15:40:30 +08:00
125b303720 feat(bt/bluedroid): Add PBAP client sample code in hfp_hf example 2024-12-06 15:33:17 +08:00
42c0f17b7d feat(bt/bluedroid): Support PBAP client role
Closes https://github.com/espressif/esp-idf/issues/11522
2024-12-06 15:31:57 +08:00
cfcff3f34d ci: update idf-build-apps version in pre-commit 2024-12-06 11:30:03 +08:00
a6d6f64c2c Merge branch 'fix/add_delay_before_command_in_ot_ci_case' into 'master'
feat(openthread): add delay before execute wifi command in openthread ci cases

Closes TZ-1353

See merge request espressif/esp-idf!35373
2024-12-06 11:15:19 +08:00
bf949c8762 fix(i2s): fixed the issue in PR 14879
Closes https://github.com/espressif/esp-idf/pull/14879

[Kevin: Update to only remove the limitation for PCM short format]
2024-12-06 11:02:50 +08:00
f5048d2814 change(esp32): undo forcing two slots in I2S 2024-12-06 11:02:50 +08:00
9cd94cfe15 Merge branch 'mqtt_test_adjust' into 'master'
Improve mqtt publish connect tests

See merge request espressif/esp-idf!34889
2024-12-05 22:06:02 +08:00
589c800634 change: Makes topic in mqtt publish test unique for case
- Makes each case to subscribe/publish to unique topics
- Makes test to wait for the successful subscription on the runner
2024-12-05 13:58:40 +01:00
28f056f8c8 fix(hal/test_apps): update efuse blcck numbers for ECDSA
This commit updates the efuse block numbers to be burnt for
hal/cryptp/test_apps
2024-12-05 17:14:25 +05:30
1cd5736e75 refactor(ledc): deprecate ledc_timer_set API
Closes https://github.com/espressif/esp-idf/issues/14884
2024-12-05 19:02:33 +08:00
a2f420a36e Merge branch 'fix/test_idf_gdb' into 'master'
test(system): mark gdb test runners properly

See merge request espressif/esp-idf!35413
2024-12-05 17:39:54 +08:00
e4a4497094 change(isp): enable yuv submodules 2024-12-05 17:21:05 +08:00
314f4c0f63 feat(dvp_isp_dsi_example): add an example shows DVP-ISP-DSI combination 2024-12-05 17:20:58 +08:00
daa980ffab Merge branch 'fix/esp_netif_ppp_nullptr_check' into 'master'
fix(esp_netif): Prevent null deref when checking netif type

See merge request espressif/esp-idf!34911
2024-12-05 17:16:04 +08:00
94d4b6c44b Merge branch 'bugfix/ws_head_buf_size' into 'master'
fix(tcp_transport): Fix websocket header read to handle overflow

See merge request espressif/esp-idf!35139
2024-12-05 16:22:56 +08:00
2cbb9f2306 Merge branch 'feature/wifi_support_80211tx_use_11ax_and_ac_rate' into 'master'
feat(wifi): 80211 tx support use 11ax and 11ac rate to send

See merge request espressif/esp-idf!35306
2024-12-05 15:49:00 +08:00
b690497d44 Merge branch 'bugfix/fix_sniffer_fail_on_ci' into 'master'
fix(ci): Enlarge the pcap memory size in sniffer example

Closes IDFCI-2448

See merge request espressif/esp-idf!35412
2024-12-05 15:46:05 +08:00
c8b9ea3b13 Merge branch 'bugfix/access_null_in_hf_cb' into 'master'
fix(bt/bluedroid): fixed access NULL in HFP callback handler

Closes BTQABR2023-410 and BTQABR2023-411

See merge request espressif/esp-idf!35405
2024-12-05 15:44:01 +08:00
e81925a681 fix(esp_ringbuf): Fixed no-split ringbuf issue where acquire pointer wraps around
This commit fixes an issue with no-split ring buffers where in the the
buffer did not receive items correctly if the acquire pointer wraps
around before items are sent to it.
2024-12-05 13:06:00 +05:30
ab1d025abb Merge branch 'feat/h21_introduce_step2_soc' into 'master'
feat(esp32h21): add soc register header files (stage 2/8, part 1/3)

See merge request espressif/esp-idf!34602
2024-12-05 15:34:23 +08:00
ad38ba16dd fix(bootloader_support): Fix overflowed constant in process_segment 2024-12-05 15:10:27 +08:00
5a245a389b fix(bootloader_support): Fix overflowed constant in bootloader_sha256_flash_contents 2024-12-05 15:10:27 +08:00
9d41a098d7 fix(esp_system): Fix structurally dead code in esp_ipc.c ipc_task 2024-12-05 15:10:27 +08:00
3029a4b97b Merge branch 'feature/handle_ota_image_not_modified_case' into 'master'
feat(esp_htttps_ota): handle case if server retured 304 not_modified during ota

Closes IDFGH-14016

See merge request espressif/esp-idf!34808
2024-12-05 13:50:22 +08:00
185b4d9d44 fix(bt/bluedroid): fixed access NULL in HFP callback handler 2024-12-05 13:19:18 +08:00
2cab55ba0f Merge branch 'fix/ble_mesh_bugs_fixed' into 'master'
fix(ble_mesh): Miscellaneous update

Closes BLERP-1315

See merge request espressif/esp-idf!35416
2024-12-05 12:30:18 +08:00
83c244ecad fix(ledc): fix ledc_get_freq calculation err due to overflow
Closes https://github.com/espressif/esp-idf/pull/14882
2024-12-05 11:51:50 +08:00
1e3dbeb6a8 fix(ledc): fix ledc driver coverity issues 2024-12-05 11:39:44 +08:00
99013d25a4 Merge branch 'contrib/github_pr_14315' into 'master'
feat(example): Add a I2C Simple example (GitHub PR)

Closes IDFGH-13408 and IDFGH-14090

See merge request espressif/esp-idf!35273
2024-12-05 11:34:05 +08:00
0d7e589a71 Merge branch 'change/deprecate_gpspi_old_name' into 'master'
spi: don't use sdkconfig.h in hal driver

See merge request espressif/esp-idf!35361
2024-12-05 11:31:47 +08:00
96323188cf Merge branch 'feat/support_i80_lcd_via_parlio' into 'master'
feat(lcd): support  lcd  interface with parlio backend

Closes IDF-6939

See merge request espressif/esp-idf!33333
2024-12-05 10:44:01 +08:00
2f5fcf276c feat(example): Add a I2C Simple example
Merges https://github.com/espressif/esp-idf/pull/14315
Closes https://github.com/espressif/esp-idf/issues/14902
2024-12-05 10:32:42 +08:00
2b8c581e30 Merge branch 'bugfix/fix_btqabr2023330' into 'master'
fix(bt): Fix error code returned by create_conn_cancel_cmd at different status

Closes BTQABR2023-330 and IDFGH-6082

See merge request espressif/esp-idf!35169
2024-12-05 10:08:14 +08:00
d195bc67cf change(cmake): use board configuration file for ftdi interface 2024-12-04 22:10:25 +01:00
d3ffbcb8a5 test(system): mark gdb test runners properly 2024-12-04 22:10:25 +01:00
eea2fdf9a9 ci(target-test): support timeout 4h markers 2024-12-04 15:51:11 +01:00
72fbf37648 change: Improve mqtt publish connect tests
- Add random client id on each iteration
- Make timeout configuration dependent on more scenario parameters
2024-12-04 15:50:58 +01:00
881bd1bf66 fix(mqtt): Corrects mqtt test apps dependencies
Test app build rules were missing the mqtt component as a dependency.
2024-12-04 15:46:05 +01:00
e7d1cf1111 Merge branch 'bug/overflowed_constant_in_protocomm_and_common_post_handler' into 'master'
fix(protocomm): Added check for cur_cookie_session_id

Closes IDF-11752

See merge request espressif/esp-idf!35332
2024-12-04 22:04:21 +08:00
690de1bbcb feat(esp_hw_support): do esp32p4 l1&l2 cache regs retention by regdma 2024-12-04 22:00:36 +08:00
11902d1a6f Merge branch 'feat/mqtt_test_local_broker' into 'master'
feat(mqtt): Add publish stress test with local broker

See merge request espressif/esp-idf!33535
2024-12-04 21:47:11 +08:00
1316d7b741 refactor(spi): hal driver doesn't depend on sdkconfig.h 2024-12-04 19:10:57 +08:00
36ee603be9 fix(espcoredump): prevent null pointer dereference in panic reason handling 2024-12-04 18:43:30 +08:00
62d59751c0 change(tools): enhance expect_reg_dump to support any or specific core values 2024-12-04 18:43:30 +08:00
dc3c5956b1 fix(espcoredump): fix incorrect pointer usage in checksum update call 2024-12-04 18:43:30 +08:00
10115792ac fix(espcoredump): fix GCC-14 analyzer warnings for coredump 2024-12-04 18:43:30 +08:00
7eb99d7bd6 fix(tools): update pre-commit default stage 2024-12-04 18:21:50 +08:00
fcd706066a Merge branch 'bugfix/http_client_select_read_error' into 'master'
fix(tcp_tranport): Fix handling of select() return value

Closes IDFGH-13821

See merge request espressif/esp-idf!33985
2024-12-04 18:21:34 +08:00
37652904b4 Merge branch 'feature/std_filesystem_supported' into 'master'
storage: make std::filesystem supported

Closes IDFGH-13239, IDFGH-13431, and IDFGH-12755

See merge request espressif/esp-idf!33826
2024-12-04 18:18:54 +08:00
597643e5ab Merge branch 'docs/update_cn_trans_for_2_system_docs' into 'master'
docs: Update CN translation for 2 system docs

Closes DOC-9410

See merge request espressif/esp-idf!34845
2024-12-04 18:08:11 +08:00
2b1c27feb4 Merge branch 'feat/custom_flash_component' into 'master'
feature(spi_flash): New customized flash drivers framework, including bootloader📡

Closes IDFGH-8624

See merge request espressif/esp-idf!32774
2024-12-04 18:05:58 +08:00
6a4a124d65 Merge branch 'feature/enable_rsa_based_secure_boot_for_c5_eco1' into 'master'
feat(bootloader_support): enabled RSA based secure boot scheme for ESP32C5 ECO1

Closes IDF-10453 and IDF-11441

See merge request espressif/esp-idf!35104
2024-12-04 18:00:34 +08:00
dd178016b2 feat(mqtt): Add publish stress test with local broker 2024-12-04 17:57:20 +08:00
f7c34ce120 feat(openthread): add delay before execute wifi command in openthread ci cases 2024-12-04 16:56:26 +08:00
696b32c942 feat(https_server): Added Server Sent Events demo
This commit adds the demo of Server Sent Events
functionality in the https_server/simple example
Closes https://github.com/espressif/esp-idf/issues/13603

Co-authored-by: default avatarAditya Patwardhan <aditya.patwardhan@espressif.com>
2024-12-04 14:26:21 +05:30
d5d1bcb9f0 fix(docs): remove wifi related docs from docs_not_updated for esp32p4 2024-12-04 16:32:14 +08:00
37a7528af4 feat(wifi): Add exp-extconn to document WiFi expansion on wifi-less chips 2024-12-04 16:31:56 +08:00
c2c0742844 fix(ci): Enlarge the pcap memory size in sniffer example 2024-12-04 16:24:08 +08:00
242dd354e8 Merge branch 'fix/i2c_slave_lock' into 'master'
fix(i2c_slave): Fix the wrong semaphore take in isr

See merge request espressif/esp-idf!35417
2024-12-04 16:23:19 +08:00
2a040cade1 feat(parlio_tx): add check of fifo empty event 2024-12-04 14:50:16 +08:00
0f4605e991 refactor(i80_lcd): adapt example to lvgl9 2024-12-04 14:50:16 +08:00
3c6a94cd3f feat(lcd): add parlio lcd example 2024-12-04 14:50:16 +08:00
e890b4bd7e feat(lcd): support parlio lcd interface 2024-12-04 14:50:16 +08:00
b6b0758e42 Merge branch 'bugfix/fix_ble_create_conn_params_copy' into 'master'
fix(bt/bluedroid): Fixed connection params copying when creating LE connection

Closes BLERP-1305, BLERP-1304, BLERP-1306, BLERP-1303, and BLERP-1313

See merge request espressif/esp-idf!35376
2024-12-04 14:49:46 +08:00
6731d75174 feat(esp32h21): add soc register header files (stage2, 1/3) 2024-12-04 14:36:16 +08:00
53e65c845b feat(wifi): wifi support 80211tx using 11ax and 11ac rate 2024-12-04 14:24:19 +08:00
58f1ebe66a Merge branch 'bugfix/update_wifi_mesh_example' into 'master'
fix(wifi/mesh): Modify examples/mesh/internal_communication

Closes IDFGH-13472

See merge request espressif/esp-idf!35036
2024-12-04 14:02:30 +08:00
30dbc69428 Merge branch 'feat/enable_pseudo_rounds_function_in_aes' into 'master'
Enable pseudo rounds function in AES and XTS-AES peripherals

Closes IDF-11305

See merge request espressif/esp-idf!33970
2024-12-04 13:48:09 +08:00
55579a2a4b docs(spi_flash): update programming guide for customize flash 2024-12-04 11:42:27 +08:00
34e48d8517 fix(i2c_slave): Fix the wrong semaphore take in isr 2024-12-04 11:36:49 +08:00
0c011032aa Merge branch 'change/mspi_timing_tuning_dir' into 'master'
mspi: added mspi_timing_tuning directory

Closes IDF-11702

See merge request espressif/esp-idf!35299
2024-12-04 11:33:28 +08:00
589ebfc1d6 fix(ble_mesh): Miscellaneous update 2024-12-04 11:08:42 +08:00
33c2637126 Merge branch 'fix/fix_esp32_pico_v3_psram_not_ignored_issue' into 'master'
psram: fixed esp32p pico-v3 psram init not ignored issue

Closes IDFGH-14168

See merge request espressif/esp-idf!35375
2024-12-04 10:44:05 +08:00
3b30a63e69 Merge branch 'examples/dns_over_https' into 'master'
feat(example): Added DNS over HTTPS (DoH) example

Closes IDF-8932

See merge request espressif/esp-idf!33935
2024-12-04 10:12:35 +08:00
339c24ca47 refactor(mspi): added mspi_timing_tuning dir 2024-12-04 09:45:03 +08:00
0ea15dcdd2 Merge branch 'feature/logv2_preliminary' into 'master'
feat(log): Some simple changes in log to prepare it for log v2

See merge request espressif/esp-idf!35289
2024-12-04 00:06:41 +08:00
b2137e5e70 docs(cxx): add a section about std::filesystem limitations
Co-authored-by: Shen Meng Jing <shenmengjing@espressif.com>
2024-12-03 15:32:58 +01:00
2ca6d2d4b4 feat(storage): add a test app for std::filesystem features 2024-12-03 15:32:58 +01:00
a1042c0cc2 feat(fatfs): add support for a few fcntl commands 2024-12-03 15:32:58 +01:00
684d3e6d01 feat(newlib): add dummy implementations of pathconf, chmod, dirfd
Closes https://github.com/espressif/esp-idf/issues/14174
2024-12-03 15:32:57 +01:00
5f405375f9 docs(cxx): mark std::filesystem as generally supported (#5003)
Closes https://github.com/espressif/esp-idf/pull/13736
2024-12-03 15:30:20 +01:00
486fd18d16 Merge branch 'refactor/cp_dma_use_gdma_link' into 'master'
refactor(cp_dma): to use gdma_link driver for descriptor config

See merge request espressif/esp-idf!35348
2024-12-03 21:36:25 +08:00
e41746ebc9 Merge branch 'docs/update_cn_vfs' into 'master'
docs: Update CN translation for vfs.rst

Closes DOC-9550

See merge request espressif/esp-idf!35265
2024-12-03 21:13:20 +08:00
556d7e3386 fix: Added a function for printing HCI error definition 2024-12-03 17:58:02 +05:30
967603b5aa feat(example): Added DNS over HTTPS (DoH) example 2024-12-03 22:52:25 +11:00
1e11340061 feat(bootloader_support): enabled RSA based secure boot scheme for ESP32C5 ECO1
This commit enabled RSA based secure boot scheme for ESP32C5 ECO1 module.
This update also adds a check to ensure the selected secure boot scheme is
valid for ECO0 modules.
2024-12-03 16:48:56 +05:30
d9265a3f88 feat(log): Update esp_log_buffer 2024-12-03 18:03:06 +08:00
9f2b892512 feat(log): Move LOG_FORMAT macros out of esp_log.h 2024-12-03 18:03:06 +08:00
fa3b26bbc3 feat(log): Use ESP_LOG_LEVEL_LEN in cache tag_log_level 2024-12-03 18:03:06 +08:00
21f7309a52 feat(esp_rom): Adds esp_rom_cvt func for logging and rom_vprintf 2024-12-03 18:03:06 +08:00
b445e38bf5 feat(log): Move esp_log_write APIs out of esp_log.h 2024-12-03 18:03:06 +08:00
5462240135 Merge branch 'fix/mfg_gen_encrypted_keys_prefix' into 'master'
feat(mfg_gen): provision for specifying prefix counter for encrypted key files

See merge request espressif/esp-idf!35124
2024-12-03 17:39:21 +08:00
3ca973d30a docs: Update CN translation for vfs.rst 2024-12-03 17:25:53 +08:00
e9844bd613 fix(protocomm): Added check for cur_cookie_session_id
Added check to check whether the value of cur_cookie_session_id
is -1 or not, if yes the return with error log message
2024-12-03 14:48:46 +05:30
b77ecce06b Merge branch 'contrib/github_pr_14878' into 'master'
fix(modbus): Fix the mode setup  in modbus slave (GitHub PR)

Closes IDFGH-14059

See merge request espressif/esp-idf!35237
2024-12-03 17:18:07 +08:00
23ed275eff fix(bt/bluedroid): Allow adding empty header in OBEX and GOEP 2024-12-03 17:02:39 +08:00
88913c8ba5 change(bt/bluedroid): Remove a duplicate macro in OBEX 2024-12-03 17:02:39 +08:00
c28703c919 feat(bt/bluedroid): Allow using bitwise OR on GOEP return value 2024-12-03 17:02:39 +08:00
b2856253e8 feat(bt/bluedroid): Support OBEX over RFCOMM feature 2024-12-03 17:02:39 +08:00
0784ee0102 fix(bt/bluedroid): Fix memory leak in AVRCP cover art get image 2024-12-03 17:02:39 +08:00
219cd0341a fix(bt/bluedroid): Fix l2cap psm not dereister when obex disconnect 2024-12-03 17:02:39 +08:00
8d651e5e99 fix(esp_https_ota): Changed the type of erase size
Changed the type of erase size(esp_https_ota.c) from int to uint_32 type,
so that it do not overflow.
2024-12-03 13:27:45 +05:30
547fa88a44 Merge branch 'bugfix/periph_clk_init_p4' into 'master'
fix(esp_system): hp periph clk should not be gated on core/system reset

Closes FCS-1638

See merge request espressif/esp-idf!35317
2024-12-03 15:45:28 +08:00
b626089340 fix(psram): fixed esp32p pico-v3 psram init not ignored issue
Closes https://github.com/espressif/esp-idf/issues/14970
2024-12-03 15:09:34 +08:00
602b3e59f6 fix(bt/bluedroid): Fixed connection params copying when creating LE connection 2024-12-03 15:06:06 +08:00
2817d39814 fix(bt): Fix error code returned by create_conn_cancel_cmd at different status
- Closes https://github.com/espressif/esp-idf/issues/7763
2024-12-03 15:04:00 +08:00
fb1105f449 docs: Update CN trans for security docs 2024-12-03 11:17:55 +05:30
f02dc64ce6 feat(bootloader_support): Permanently enable pseudo rounds function for XTS-AES during start-up 2024-12-03 11:17:54 +05:30
fba8ab89da feat(hal/spi_flash_encrypted): Enable pseudo rounds function during XTS-AES operations 2024-12-03 11:17:54 +05:30
a2d6be9976 feat(hal/crypto): Add XTS-AES peripheral verification tests in the crypto test app 2024-12-03 11:17:54 +05:30
c6ea979efa feat(hal/aes): Enable pseudo rounds function during AES operations 2024-12-03 11:17:54 +05:30
bcd80c92f3 Merge branch 'fix/reduce_rtc_text_size' into 'master'
fix(system): linker script: free unused .rtc.text memory for esp32c3, esp32s2

See merge request espressif/esp-idf!33972
2024-12-03 13:22:45 +08:00
f297a9d487 Merge branch 'feature/add-picolibc-support' into 'master'
Add picolibc support

Closes IDF-11319

See merge request espressif/esp-idf!33601
2024-12-03 13:12:41 +08:00
a8c822f37e Merge branch 'docs/refactor_ceva_bt_controller_api' into 'master'
docs(ble): Refactored the API reference for esp32/c3/s3 BT controller

See merge request espressif/esp-idf!35319
2024-12-03 11:37:18 +08:00
6f390af3cc docs(ble): Refactored the API reference for esp32/c3/s3 BT controller 2024-12-03 11:37:18 +08:00
b66b601f44 Merge branch 'fix/fix_hostap_recv_noassoc_pspoll' into 'master'
fix(wifi): fix hostap recv unassoc pspoll send deauth issue

Closes WIFIBUG-963

See merge request espressif/esp-idf!35125
2024-12-03 11:27:52 +08:00
817de14860 Merge branch 'bugfix/fix_hid_crash' into 'master'
fix(ble): Fix crash issue during logging

Closes BCI-473

See merge request espressif/esp-idf!35334
2024-12-03 11:11:22 +08:00
6faa3d6605 Merge branch 'bugfix/gdma_burst_config_esp32c5' into 'master'
fix(gdma): burst size should be configurable on esp32c5

See merge request espressif/esp-idf!35322
2024-12-03 11:11:02 +08:00
bed72dcdc4 Merge branch 'fix/fix_esp32c2eco4_wifi_deinit_crash_issue' into 'master'
fix(wifi): fix esp32c2eco4 wifi deinit crash issue

See merge request espressif/esp-idf!35272
2024-12-03 10:53:13 +08:00
e61653e68e Merge branch 'contrib/github_pr_14966' into 'master'
Tools: Fix a typo in the QEMU documentation (GitHub PR)

Closes IDFGH-14164

See merge request espressif/esp-idf!35355
2024-12-03 02:18:48 +08:00
5282a99436 fix(examples): increased BtAppTask task's stack size to avoid overflow 2024-12-02 21:36:00 +07:00
244c369cd8 fix(xtensa): fix confusing backtrace when PC is invalid
Before this change _invalid_pc_placeholder pointed to address of _init
function from crti.o
This made GDB input a bit confusing:

  0x40080400 in _init ()
  (gdb) bt
  #0  0x40080400 in _init ()
  #1  0x400e519a in test_instr_fetch_prohibited () at /home/alex/git/esp-idf/tools/test_apps/system/panic/main/test_panic.c:271
  #2  0x400d89a7 in app_main () at /home/alex/git/esp-idf/tools/test_apps/system/panic/main/test_app_main.c:116
  #3  0x400e5f22 in main_task (args=0x0) at /home/alex/git/esp-idf/components/freertos/app_startup.c:208
  #4  0x400895a8 in vPortTaskWrapper (pxCode=0x400e5eb0 <main_task>, pvParameters=0x0) at /home/alex/git/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:139

After the change GDB prints output that contains a hint:

  _invalid_pc_placeholder () at /home/alex/git/esp-idf/components/xtensa/xtensa_vectors.S:2235
  2235	    UNREACHABLE_INSTRUCTION_CHECK_PREVIOUS_FRAMES
  (gdb) bt
  #0  _invalid_pc_placeholder () at /home/alex/git/esp-idf/components/xtensa/xtensa_vectors.S:2235
  #1  0x400e519e in test_instr_fetch_prohibited () at /home/alex/git/esp-idf/tools/test_apps/system/panic/main/test_panic.c:271
  #2  0x400d89ab in app_main () at /home/alex/git/esp-idf/tools/test_apps/system/panic/main/test_app_main.c:116
  #3  0x400e5f26 in main_task (args=0x0) at /home/alex/git/esp-idf/components/freertos/app_startup.c:208
  #4  0x400895a8 in vPortTaskWrapper (pxCode=0x400e5eb4 <main_task>, pvParameters=0x0) at /home/alex/git/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:139
2024-12-02 21:36:00 +07:00
6d945bf0f6 fix(ldgen): extend section name regex to include '_' (e.g.: used by picolibc) 2024-12-02 21:36:00 +07:00
888b5f7e8d feat(newlib): add picolibc support 2024-12-02 21:35:56 +07:00
22a38779fb fix(wpa_supplicant): remove duplicated code (endian.h) that exists in newlib component 2024-12-02 20:26:26 +07:00
bfe3511493 fix(panic): fix HWSG testcase to avoid freertos watchpoint trap 2024-12-02 20:26:26 +07:00
8454aefc25 fix(esp_system): avoid placing sections between ASSERT_SECTIONS_GAP checks 2024-12-02 20:26:26 +07:00
1596369b44 fix(tools): fix ld_non_contiguous_memory test includes 2024-12-02 20:26:26 +07:00
f6c48e2245 fix(ulp): rename putc -> putc_fn in structure to avoid applying "putc" macro 2024-12-02 20:26:26 +07:00
e9c884cace fix(esp_driver_sdspi): fix test includes 2024-12-02 20:26:26 +07:00
d0f05cd690 fix(esp_system): fix binary generation error when no eh_frame but TLS
ERROR:
A fatal error occurred: Segment loaded at 0x3c01d150 lands in same 64KB flash
mapping as segment loaded at 0x3c018020. Can't generate binary. Suggest
changing linker script or ELF to merge sections.

Seems binary generator does not handle well empty sections that contains
aligning only. I did not investigate much but this change helped.
2024-12-02 20:26:26 +07:00
1232759fb7 fix(vfs): fix gcc 14 analyzer warning 2024-12-02 20:26:26 +07:00
030c9957db Merge branch 'contrib/github_pr_14493' into 'master'
Make esp_mbedtls_server_session_create async compatible (GitHub PR)

Closes IDFGH-13606

See merge request espressif/esp-idf!34237
2024-12-02 21:25:22 +08:00
a0c3a7231f fix(modbus): Fix the mode setup in modbus slave
https://github.com/espressif/esp-idf/pull/14878
2024-12-02 14:23:34 +01:00
9ee8daf336 Merge branch 'feature/esp_tee' into 'master'
feat(security): Support for ESP-TEE

Closes IDF-6902, IDF-8268, IDF-9389, IDF-10479, IDF-10480, IDF-10482, IDF-10755, and IDF-11438

See merge request espressif/esp-idf!32050
2024-12-02 21:18:06 +08:00
5d250a23ad Merge branch 'bugfix/fix_esp_hid_host_compilation' into 'master'
fix(nimble): Fix compilation issue in esp_hid_host example

Closes BLERP-1293

See merge request espressif/esp-idf!35305
2024-12-02 20:16:44 +08:00
0b67e76715 docs(tools): Fix a typo in the QEMU documentation 2024-12-02 21:48:19 +11:00
c593cfaa69 Merge branch 'docs/update_cn_peripheral_docs' into 'master'
docs: Update CN translation for three docs in peripherals

Closes DOC-9610

See merge request espressif/esp-idf!35243
2024-12-02 18:22:09 +08:00
2d1a2a7a7e Merge branch 'bugfix/change_hci_cb_logging' into 'master'
fix(nimble): Replace ESP_LOG* with esp_rom_printf in controller context callback

Closes BLERP-1203 and BLERP-1250

See merge request espressif/esp-idf!34701
2024-12-02 18:22:01 +08:00
f47cb027df fix(gdma): burst size should be configurable on esp32c5 2024-12-02 18:04:41 +08:00
190732c461 feat(spi_flash): refactor customize spi flash example for overriding more contents 2024-12-02 17:49:54 +08:00
af31ec11f1 feat(spi_flash): New customise flash drivers framework, including bootloader 2024-12-02 17:48:40 +08:00
364bbbde68 refactor(cp_dma): to use gdma_link driver for descriptor config 2024-12-02 17:40:13 +08:00
0733de565f feat(esp_htttps_ota): handle case if server retured 304 not_modified during ota
This commit handles case for response code 304 (NOT_MODIFIED) during ota.

Closes https://github.com/espressif/esp-idf/issues/14839
2024-12-02 17:23:30 +08:00
843290fffd docs: Update CN translation for three docs in peripherals 2024-12-02 17:02:42 +08:00
1b44d4df3b Merge branch 'fix/fix_tg_retention_failure' into 'master'
fix(esp_driver_gptimer): do gptimer retention by timer unit rather than timer group

Closes PM-233 and IDFCI-2427

See merge request espressif/esp-idf!35284
2024-12-02 16:44:05 +08:00
1b7bdcbd6d Merge branch 'docs/update_translation_for_network' into 'master'
docs: Update CN translation for 2 files in IDF network

Closes DOC-9275

See merge request espressif/esp-idf!34794
2024-12-02 15:40:02 +08:00
795b2995b3 Merge branch 'chip/add_phy_support_for_esp32c5_beta5' into 'master'
feat(wifi): add phy support for esp32c5 beta5

See merge request espressif/esp-idf!35223
2024-12-02 15:33:16 +08:00
ab1e3c1ffd fix(ble): Fixed crash in BLE HID host example during logging 2024-12-02 15:31:54 +08:00
0de04dbaa6 Merge branch 'feature/uart_sleep_retention_support_c5_c61' into 'master'
feat(uart): support uart sleep retention on C5/C61

Closes IDF-10384, IDF-10411, and IDF-11370

See merge request espressif/esp-idf!34883
2024-12-02 15:11:11 +08:00
373930655a feat(esp_tee): Support for ESP-TEE - the main component 2024-12-02 12:20:05 +05:30
420810ee77 feat(esp_tee): Support for ESP-TEE - tools directory 2024-12-02 12:20:05 +05:30
e51d2c1da3 feat(esp_tee): Support for ESP-TEE - riscv component 2024-12-02 12:20:04 +05:30
733741bbac feat(esp_tee): Support for ESP-TEE - esp_system component 2024-12-02 12:20:04 +05:30
54c3f1bae4 feat(esp_tee): Support for ESP-TEE - bootloader_support component 2024-12-02 12:20:03 +05:30
f254f93594 feat(esp_tee): Support for ESP-TEE - esp_hw_support component 2024-12-02 12:20:03 +05:30
05e31e5148 feat(esp_tee): Support for ESP-TEE - mbedtls component 2024-12-02 12:20:02 +05:30
ba2af7f611 feat(esp_tee): Support for ESP-TEE - hal, soc and freertos components 2024-12-02 12:19:46 +05:30
0163cb8ed0 Merge branch 'fix/optimize_ble_example_ci_build_rule' into 'master'
fix(ble): Optimizied the bluetooth build test rules

See merge request espressif/esp-idf!35259
2024-12-02 14:18:12 +08:00
f47baa086e fix(ble): Optimizied the bluetooth build test rules 2024-12-02 14:18:11 +08:00
2dee5791a6 feat(esp_tee): Support for ESP-TEE - esptool_py, esp_rom & other components 2024-12-02 11:27:58 +05:30
66f880fc1c feat(esp_tee): Support for ESP-TEE - bootloader component 2024-12-02 10:09:53 +05:30
604ccb8f8e Merge branch 'feat/ble_mesh_rpr_opt' into 'master'
Feat/ble mesh rpr opt

Closes BLERP-961, BLERP-962, BLERP-960, BLERP-963, and BLERP-895

See merge request espressif/esp-idf!33082
2024-12-02 10:22:07 +08:00
116ab95a55 Merge branch 'feat/lint_kconfig_in_hal' into 'master'
feat(ci): add ast-grep rules to lint kconfig in the hal

Closes IDF-8791

See merge request espressif/esp-idf!35180
2024-12-01 23:30:30 +08:00
e517761187 Merge branch 'feat/pts_changes' into 'master'
feat(nimble): BLE 5.4 PTS Related Features and Fixes

Closes BLERP-1288, BLERP-1289, BLERP-1290, and BLERP-1291

See merge request espressif/esp-idf!34448
2024-11-30 19:16:48 +08:00
a8f6776b0f change(hal): remove unused sdkconfig.h 2024-11-29 22:41:12 +08:00
09ca9dfd2c feat(ci): add ast-grep rules to lint kconfig in the hal 2024-11-29 22:41:12 +08:00
7b852faf66 fix(esp_system): hp periph clk should not be gated on core/system reset 2024-11-29 21:42:06 +08:00
2deeaece7d Merge branch 'feature/expose_setsockopt_in_transport' into 'master'
feat: Create interface to get underlying socket from transport

Closes IDFGH-13350 and IDFGH-13509

See merge request espressif/esp-idf!32961
2024-11-29 21:36:47 +08:00
872ae5211f feat: Expose the function to get socket descriptor from the transport
Closes https://github.com/espressif/esp-protocols/issues/636
Closes https://github.com/espressif/esp-mqtt/issues/282
2024-11-29 12:43:47 +01:00
f9d64d4db8 feat(esp-tls): Update support for asynchronous server session create
Closes https://github.com/espressif/esp-idf/pull/14493
2024-11-29 17:04:31 +05:30
d97e435af9 fix: make esp_tls_server_session_create async compatible 2024-11-29 17:04:31 +05:30
e3ebb84ede feat(ble_mesh): Remote Provisioning Server UUID Matchs Supported 2024-11-29 19:32:40 +08:00
a68768e139 fix(ble_mesh): Remote Provisioning Client/Server bugs fixed 2024-11-29 19:32:40 +08:00
1c13798cd4 Merge branch 'fix/lwip_dhcp_timeout_u32' into 'master'
fix(lwip): Fix DHCP lease overlow using u32 type

Closes WIFIBUG-908

See merge request espressif/esp-idf!35280
2024-11-29 18:26:27 +08:00
308bad9bf4 Merge branch 'bug/wifi_provisioning_failure_even_after_connecting' into 'master'
fix(esp_wifi_prov): Provisioning App failure on first failed attempt

Closes IDF-11451

See merge request espressif/esp-idf!34411
2024-11-29 17:46:26 +08:00
b3f7873021 fix(nimble): Fix compilation issue in esp_hid_host example 2024-11-29 15:02:40 +05:30
9103f3fee5 Merge branch 'fix/gdbinit-rom-path-for-windows' into 'master'
fix(esp_rom): windows: use posix-path generation for gdbinit files

See merge request espressif/esp-idf!35290
2024-11-29 17:28:19 +08:00
3ae1929e58 fix(esp_driver_gptimer): do gptimer retention by timer unit rather than timer group 2024-11-29 16:25:26 +08:00
6e509d8ac9 fix(wifi): fix hostap recv unassoc pspoll send deauth issue 2024-11-29 16:10:31 +08:00
7515df3ee2 feat(802.15.4): IEEE802.15.4 add documentation and refactor component structure 2024-11-29 15:54:53 +08:00
dbe299fe15 Merge branch 'bugfix/solve_partial_ota_speed_regression_issue' into 'master'
feat: enabled configurable session resumption support in advanced_ota example

Closes IDF-11290 and IDFGH-13949

See merge request espressif/esp-idf!34710
2024-11-29 14:03:08 +08:00
2166722fee Merge branch 'fix/ble_i2c' into 'master'
fix(i2c): Fix i2c read from fifo issue when enabling bt/wifi/uart, etc...

Closes IDFGH-11762

See merge request espressif/esp-idf!31917
2024-11-29 13:48:29 +08:00
184a8aa627 Merge branch 'bugfix/esp_ringbuf_static_analyzer' into 'master'
fix(ringbuf): fixed logic errors when compiling with CONFIG_COMPILER_STATIC_ANALYZER

Closes IDFGH-14094

See merge request espressif/esp-idf!35011
2024-11-29 12:55:17 +08:00
4cb18200d5 Merge branch 'feat/120m_flash_p4' into 'master'
flash: 120MHz timing tuning support on ESP32P4 (no merge now)

Closes IDF-11678

See merge request espressif/esp-idf!34995
2024-11-29 11:40:29 +08:00
04ef100e71 docs: Update CN translation for 2 files in IDF network 2024-11-29 11:27:08 +08:00
7470116371 fix(i2c): Fix lose byte during data reading in i2c master on esp32,
Closes https://github.com/espressif/esp-idf/issues/12860
2024-11-29 11:25:53 +08:00
1e82951bc9 docs: Update CN translation for 2 system docs 2024-11-29 11:17:09 +08:00
2b6894eb26 Merge branch 'bugfix/chip823_pll_bug' into 'master'
fix(H2):fix pll low temp bug

See merge request espressif/esp-idf!35238
2024-11-29 10:47:33 +08:00
85dd8c05a8 Merge branch 'fix/incorrect_console_open_and_close_behaviour' into 'master'
fix(storage/vfs_console): stop new console opens from overwriting existing fds

Closes IDFGH-13502

See merge request espressif/esp-idf!32934
2024-11-29 10:31:59 +08:00
5de734ad69 Merge branch 'bugfix/esp32c5_fix_schan_and_nchan_not_take_effect' into 'master'
fix(wifi): fix esp32c5 schan and nchan not take effect on 2.4G

See merge request espressif/esp-idf!35277
2024-11-29 10:00:19 +08:00
79bfde31ec fix(esp_rom): windows: use posix-path generation for gdbinit files 2024-11-29 07:53:24 +07:00
59174716e5 Merge branch 'refactor/fine_tune_dphy_pll' into 'master'
feat(mipi): fine tune DPHY PLL clock

See merge request espressif/esp-idf!35162
2024-11-28 22:09:47 +08:00
d5d295cf7a fix(storage/console): fix test configuration 2024-11-28 13:34:25 +01:00
6fe443a6d5 fix(lwip): Fix DHCP lease overlow using u32 type 2024-11-28 13:17:21 +01:00
f59362266a fix(storage/vfs_console): stop new console opens from overwriting existing fds 2024-11-28 13:12:22 +01:00
cdcf2973f7 feat(802.15.4): IEEE802.15.4 add some minor edits for readability 2024-11-28 20:09:07 +08:00
be6c49f79a fix(lwip): Fix AUTOIP new address after rate limit 2024-11-28 12:58:49 +01:00
33ba39a100 fix(esp_hw_support): remove p4 wdt retention on entry2 2024-11-28 19:20:56 +08:00
7a8a4741c8 fix(wifi): fix esp32c5 schan and nchan not take effect on 2.4G 2024-11-28 19:10:59 +08:00
6590cf9560 fix(esp_wifi_prov): Send failure msg on first fail
Added new sta state WIFI_PROV_ATTEMPT_FAILED, which is
returned on first failure with attemps_remaining field.
2024-11-28 15:00:54 +05:30
80087d8a81 fix(esp_wifi_prov): Moved the registering of wifi event handler
Moved the registering of of wifi event handler if under the condition
if device is already provisioned
2024-11-28 15:00:54 +05:30
af7e05b6f7 fix(esp_hw_support): fix retention link dump helper functions 2024-11-28 16:29:13 +08:00
fb6af9e6bc Merge branch 'fix/fix_can_receive_data_from_self' into 'master'
fix(wifi): fix esp32c6 can receive data frames where the SA (Source Address)...

See merge request espressif/esp-idf!35113
2024-11-28 16:22:29 +08:00
d287bea81a Merge branch 'docs/update_vscode_extension_link' into 'master'
docs: Update vscode extension link in get started

Closes DOC-9604

See merge request espressif/esp-idf!35262
2024-11-28 16:13:13 +08:00
e0cec24957 fix(wifi): fix esp32c2eco4 wifi deinit crash issue 2024-11-28 16:05:51 +08:00
b4e28be7d2 Merge branch 'bugfix/fix_pm-215_pm-25' into 'master'
fix esp32c5 and esp32c61 use io (ext1 mode) wakeup fail issue

Closes PM-215 and PM-259

See merge request espressif/esp-idf!35099
2024-11-28 15:56:56 +08:00
2f7feb4249 feat(nimble): Added PAwR support for nimble with IDF examples 2024-11-28 12:34:56 +05:30
6595118960 fix(nimble): Added
1. Option to disable automatic discovery when receiving out-of-sync
2. Fixed bugs related to robust caching
2024-11-28 12:33:30 +05:30
a1b8657c07 feat(nimble): Added ways to enable/disable some menuconfig options at runtime 2024-11-28 12:33:30 +05:30
c581c77b94 feat(nimble): Added option to disable automatically sending extra credits to peer 2024-11-28 12:33:30 +05:30
ff7a122537 feat(nimble): Added support for persisting csf characteristic for bonded devices 2024-11-28 12:33:30 +05:30
5a6e2f58ea feat(nimble): Added option in menuconfig to enable Secure Connections Only mode 2024-11-28 12:33:30 +05:30
badd84d3c5 fix(nimble): fix and enable connection subrating 2024-11-28 12:33:30 +05:30
87e882e81d fix(nimble): Added option to enable code under Enhanced COC 2024-11-28 12:33:30 +05:30
45a1bb1384 fix(nimble): Fixed Device Information and Scan Parameters service 2024-11-28 12:33:30 +05:30
e1bde9e1fc fix(nimble): Fixed encrypted advertisement data example 2024-11-28 12:33:30 +05:30
f1f8b040c1 feat(nimble): Added LE GATT Security Levels Characteristic 2024-11-28 12:33:30 +05:30
24372fda60 feat(nimble): Added support for EATT Credit Based Flow Control Mode 2024-11-28 12:33:30 +05:30
3abfd17004 feat(uart): support uart sleep retention on C5/C61 2024-11-28 14:59:05 +08:00
8771607562 Merge branch 'bugfix/warn_rc32k_use_in_kconfig' into 'master'
fix(clk): add an inevitable kconfig option to be selected to use rc32k

See merge request espressif/esp-idf!34417
2024-11-28 14:58:16 +08:00
35a74630dc change(flash): add fdummy rin update 2024-11-28 14:53:20 +08:00
5237876213 flash: fix qio 2nd bootloader cannot boot issue 2024-11-28 14:53:20 +08:00
4c2b9909c4 ci(flash): added 120M supported runner 2024-11-28 14:53:19 +08:00
4b966ef78d test(mspi): test 120m sdr flash 200m ddr psram on esp32p4 2024-11-28 14:53:19 +08:00
1eef2e8c19 feat(mspi): supported flash 120MHz SDR timing tuning on ESP32P4 2024-11-28 14:53:19 +08:00
8eeb3e2055 Merge branch 'bugfix/resolve_watchdog_crash' into 'master'
fix(nimble): Resolved watchdog due to memory exceed prints

Closes IDFCI-2545

See merge request espressif/esp-idf!35129
2024-11-28 14:39:04 +08:00
35951e3f7b feat(wifi): add phy support for esp32c5 beta5 2024-11-28 14:26:01 +08:00
e5b3a752be docs: Update vscode extension link in get started 2024-11-28 14:07:37 +08:00
f461033cb1 Merge branch 'fix/bigum_alt_coverity_report' into 'master'
Fixed overflowed constant in esp_mpi_exp_mpi_mod_hw_op()

Closes IDF-11748

See merge request espressif/esp-idf!35228
2024-11-28 12:44:06 +08:00
df69b78a55 Merge branch 'fix/duplicated_enc_restart_request_when_change_key_type' into 'master'
fix(bt): fix duplicated encryption restart request when change key type

Closes BTQABR2023-222

See merge request espressif/esp-idf!35230
2024-11-28 11:33:29 +08:00
2bf02443f1 feat(mipi): fine tune DPHY PLL clock 2024-11-28 11:20:45 +08:00
e0af9f104a Merge branch 'bugfix/fix_hci_uart_build_fail' into 'master'
fix(bt/controller): Fixed hci uart example compile error on ESP32C3

See merge request espressif/esp-idf!35236
2024-11-28 10:42:33 +08:00
3bab2010ee feat(mfg_gen): provision for specifying prefix counter for encrypted key files 2024-11-27 18:02:02 +05:30
zlq
225c0513f5 fix(H2):fix pll low temp bug 2024-11-27 17:52:34 +08:00
4cb0c09a38 Merge branch 'feat/mcpwm_sleep_retention_support_p4' into 'master'
feat(mcpwm): support mcpwm sleep retention on p4

Closes IDF-9928

See merge request espressif/esp-idf!35059
2024-11-27 17:15:28 +08:00
44ec704cdd Merge branch 'fix/enhance_wifi_connection_check_in_ot_ci_case' into 'master'
feat(openthread): enhance wifi connection check in openthread ci cases

Closes TZ-1310 and IDFCI-2428

See merge request espressif/esp-idf!35159
2024-11-27 17:02:09 +08:00
2d96d67b7a fix(bt/controller): Fixed hci uart example compile error on ESP32C3 2024-11-27 16:58:53 +08:00
ea6e6cfcbd feat: enabled configurable session resumption support in ota examples
This commit added config option to enable session ticket support
while performing ota. This helps in optimizing latency while
downloading ota over multiple HTTP requests.

closes https://github.com/espressif/esp-idf/issues/14783
2024-11-27 14:20:47 +05:30
929f82427b fix(nimble): Resolved watchdog due to memory exceed prints 2024-11-27 13:55:07 +05:30
5db0c49b8c fix(tcp_tranport): Fix handling of select() return value
When both readset/writeset and errset are set for a single socket,
the HTTP client incorrectly handled the condition, causing premature termination.
Added a check to ensure readset/writeset is prioritized before errset.

Closes https://github.com/espressif/esp-idf/issues/14673
2024-11-27 13:19:13 +05:30
3075efd80c Merge branch 'bugfix/add_aa_check_on_esp32c2_and_esp32c6' into 'master'
Bugfix/add aa check on esp32c2 and esp32c6

Closes BLERP-1280, BLERP-1279, BLERP-1268, BLERP-1275, BLERP-1262, BLERP-1258, BLERP-1257, BLERP-1209, BLERP-1198, BLERP-1186, BLERP-1188, BLERP-1184, BLERP-1170, BLERP-1274, BLERP-1246, BLERP-1173, BLERP-1225, BLERP-1267, BLERP-1260, BLERP-1226, BLERP-1216, BLERP-1205, BLERP-1159, BLERP-1134, BLERP-1133, BLERP-1059, BLERP-1050, BLERP-1068, BLERP-1135, BLERP-1145, BLERP-1081, BLERP-1123, BLERP-1223, BLERP-1264, BLERP-1265, BLERP-1272, BLERP-1271, BLERP-1169, BLERP-1201, BLERP-1215, BLERP-1200, BLERP-1082, BLERP-1210, BLERP-1144, BLERP-1142, BLERP-1143, and BLERP-1140

See merge request espressif/esp-idf!35212
2024-11-27 15:45:37 +08:00
e530da777b fix(bt): fixed some issues in esp32 bt controller
1: fix duplicated lc_enc_restart_req when new lk type is semi-permanent
       key
2: reset PreventEncEvt flag at the end of restart encryption procedure
2024-11-27 15:10:38 +08:00
e27990f427 Merge branch 'bugfix/hal_coverity_fix' into 'master'
fix(hal): integer overflow found by coverity

Closes IDF-11747, IDF-11746, IDF-11733, IDF-11744, IDF-11721, IDF-11715, IDF-11731, IDF-11737, IDF-9831, IDF-9830, IDF-9424, and IDF-10650

See merge request espressif/esp-idf!35183
2024-11-27 14:57:11 +08:00
e4102c5443 Merge branch 'bugfix/ctrl_bugs_on_esp32' into 'master'
fix(bt/controller): Fixed some bugs on esp32 controller

Closes COEXQABR24-34, CBI-1084, and BT-3900

See merge request espressif/esp-idf!35142
2024-11-27 14:38:03 +08:00
2560484e4a fix(mbedtls/port): Fixed overflowed constant in esp_mpi_exp_mpi_mod_hw_op() 2024-11-27 11:39:42 +05:30
bcfe64694d Merge branch 'bugfix/fix_ble_ke_mem_267_assert' into 'master'
fix(bt/controller): Fixed BLE assert ke_mem.c line 267

Closes BLERP-1273

See merge request espressif/esp-idf!35153
2024-11-27 14:02:14 +08:00
1fa268c7ef Merge branch 'feat/usb-cdc-select' into 'master'
feat(usb_cdc): Add select functionality to the driver

Closes IDF-10281

See merge request espressif/esp-idf!31686
2024-11-27 13:37:37 +08:00
0fcbf42a27 feat(openthread): enhance wifi connection check in openthread ci cases 2024-11-27 11:22:37 +08:00
93257ed744 Merge branch 'refactor/refactor_ble_create_connection' into 'master'
fix(ble/bluedroid): Optimize BLE API esp_ble_gattc_enh_open

Closes BLERP-639 and BLERP-1266

See merge request espressif/esp-idf!35033
2024-11-27 10:32:35 +08:00
zwl
093b65e27c fix(ble): fixed the connect issue when rx error aa on ESP32-H2 2024-11-27 10:22:26 +08:00
zwl
69b535d422 fix(ble): fixed the connect issue when rx error aa on ESP32-C6 2024-11-27 10:22:26 +08:00
32b5359693 Merge branch 'refactor/sync_lp_ana_peri_csv_update_on_c5' into 'master'
change(soc): update lp_ana_peri soc header on C5

See merge request espressif/esp-idf!35168
2024-11-27 10:02:54 +08:00
13d0e83cd6 fix(driver): issues reported by coverity 2024-11-27 09:57:37 +08:00
5cae5090c2 fix(hal): integer overflow found by coverity
actually these "bugs" are harmless from the perspective of the hardware
2024-11-27 09:57:37 +08:00
64960f0751 Merge branch 'fix/coverity_wl_overflow_constant' into 'master'
fix(wear_levelling): Fix coverity issue overflowed constant in WL_Flash.cpp

See merge request espressif/esp-idf!35204
2024-11-27 03:21:26 +08:00
31b7ac775f Merge branch 'fix/env_var_idf_path_old_not_set_in_ps1' into 'master'
fix(tools): IDF_PATH_OLD not found in PowerShell

See merge request espressif/esp-idf!35214
2024-11-26 22:42:42 +08:00
8ace223e77 Merge branch 'feat/sbom_action_localdb' into 'master'
feat(ci): pass SBOM_CHECK_LOCAL_DB to esp-idf-sbom-action

See merge request espressif/esp-idf!35221
2024-11-26 22:40:56 +08:00
e9cfa83983 feat(ci): pass SBOM_CHECK_LOCAL_DB to esp-idf-sbom-action
esp-idf-sbom offers two ways to perform vulnerability scanning. The
primary method, which is the default, uses the NVD REST API. The
alternative method uses the esp-nvd-mirror repository. If there are
issues with accessing the NVD REST API, it can be useful to switch to
the esp-nvd-mirror easily. Allow to set the SBOM_CHECK_LOCAL_DB github
repository variable to switch to esp-nvd-mirror.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-26 14:37:23 +01:00
aa35807198 fix(clk): add an inevitable kconfig option to be selected to use rc32k 2024-11-26 21:20:32 +08:00
d7d1cc7c23 fix(tools): IDF_PATH_OLD not found in PowerShell 2024-11-26 12:40:46 +01:00
874ce4d1d8 Merge branch 'bugfix/test_esp_flash_write' into 'master'
fix(spi_flash): Fix Test esp_flash_write

Closes IDFCI-2416

See merge request espressif/esp-idf!35181
2024-11-26 19:22:36 +08:00
5e0a73bc56 fix(bt/controller): Fixed some bugs on esp32 controller
- Added VSC to update local Bluetooth clock
    - Added critical protection for the free method for sync buffers
    - Fixed zero attempt value set by role switch
2024-11-26 18:03:11 +08:00
8214dc4efd Merge branch 'change/use_uart0_for_ram_app_c5' into 'master'
ci(ram_app): use uart0 config

Closes IDFCI-2552 and IDFCI-2389

See merge request espressif/esp-idf!35190
2024-11-26 17:21:30 +08:00
51f2719dfc fix(wear_levelling): Fix coverity issue overflowed constant in WL_Flash.cpp 2024-11-26 09:50:22 +01:00
e4501b375a Merge branch 'fix/memprot-config-used-in-memory-layouts' into 'master'
fix(heap): Fix wrong config to enable MALLOC_CAP_EXEC in memory_layout.c

Closes IDFGH-14013

See merge request espressif/esp-idf!35098
2024-11-26 16:05:10 +08:00
06e8ee2893 Merge branch 'change/sysview_test_config' into 'master'
change(sysview): run heap_log tracing tests on existing cores

Closes IDFGH-9080 and IDF-6744

See merge request espressif/esp-idf!35005
2024-11-26 15:47:21 +08:00
79dca6c58c Merge branch 'feat/remove_unused_sdkconfig_in_ble_examples' into 'master'
fix(ble/example): Removed unused sdkconfig files

See merge request espressif/esp-idf!33077
2024-11-26 15:45:50 +08:00
ff12ccfd10 Merge branch 'fix/ulp_riscv_interrupt_bug' into 'master'
fix(ulp): fix ULP RISC-V interrupt handler corrupting the stack

Closes IDFGH-14126

See merge request espressif/esp-idf!35154
2024-11-26 15:40:38 +08:00
ac35595746 Merge branch 'contrib/github_pr_14834' into 'master'
[Examples] [Async Handlers] simplify code by splitting long_async_handler into two functions (GitHub PR)

Closes IDFGH-14011

See merge request espressif/esp-idf!34694
2024-11-26 15:07:29 +08:00
b0be36de1d Merge branch 'feat/spi_slave_sleep_retention' into 'master'
feat(driver_spi): spi slave driver sleep retention

Closes IDF-9746 and IDF-8467

See merge request espressif/esp-idf!33858
2024-11-26 14:44:54 +08:00
b46ef18683 Merge branch 'change/p4_sd_runner_no_use_usj' into 'master'
ci(sd): use uart0 as usj always serial noise on ci on p4

Closes IDFCI-2371, IDFCI-2345, IDFCI-2549, and IDFCI-2550

See merge request espressif/esp-idf!35110
2024-11-26 14:43:59 +08:00
9eeee92d6b Merge branch 'fix/esp-log-put-function-in-iram' into 'master'
fix(log): Modified linker script to move functions from flash to iram

Closes IDFGH-13682 and IDFGH-13838

See merge request espressif/esp-idf!34038
2024-11-26 14:29:43 +08:00
af6e15cca3 ci(ram_app): use uart0 config 2024-11-26 14:19:50 +08:00
0b7a19c211 fix(wifi): fix esp32c6 can receive data frames where the SA (Source Address) matches its own address 2024-11-26 14:10:43 +08:00
df1a7d5b60 Merge branch 'feature/flash_software_resume' into 'master'
feature(spi_flash): Support software resume after suspend in order promote isr efficiency (stage 1 -- unicore)

See merge request espressif/esp-idf!32842
2024-11-26 13:51:32 +08:00
181c903b0b feat(usb_cdc): Add select functionality 2024-11-26 06:12:37 +01:00
e5789a8ca1 feat(ble/bluedroid): Support setting connection params when creating connection 2024-11-26 12:10:27 +08:00
7e536a7ba1 fix(ble/bluedroid): Optimize BLE API "esp_ble_gattc_enh_open" 2024-11-26 12:10:27 +08:00
13f7b55ae5 change(soc): update lp_ana_peri soc header on C5 2024-11-26 11:14:57 +08:00
57b98f4e1e feat(ble/example): Removed unused sdkconfig files 2024-11-26 10:31:31 +08:00
7e7c8932b5 test(emmc): disabled emmc tests on p4 2024-11-26 09:52:49 +08:00
5c93ad2b7c ci(sd): use uart0 as usj always serial noise on ci on p4 2024-11-26 09:52:49 +08:00
072bf3a8ee test(sd): no uhs1 runner 2024-11-26 09:52:49 +08:00
4ace94342a Merge branch 'ci/fix_pytest_otatool' into 'master'
fix(examples): Fix closing port in pytest_otatool

Closes IDFCI-2540

See merge request espressif/esp-idf!35117
2024-11-26 08:50:22 +08:00
864d9ed46c fix(spi_flash): Fix Test esp_flash_write 2024-11-25 17:12:25 +02:00
1d70b84173 Merge branch 'docs/updating_configs_of_esp_https_server_cn' into 'master'
docs: Update CN translation for esp_https_server.rst

Closes DOC-9491

See merge request espressif/esp-idf!34986
2024-11-25 18:56:59 +08:00
793382107f fix(heap): Fix wrong config to enable MALLOC_CAP_EXEC in memory_layout.c
In esp32c2 and esp32c61 memory_layout.c files, the config used to allow
MALLOC_CAP_EXEC was CONFIG_ESP_SYSTEM_MEMPROT_FEATURE when
CONFIG_ESP_SYSTEM_PMP_IDRAM_SPLIT should be used.

Closes https://github.com/espressif/esp-idf/issues/14836
2024-11-25 11:46:02 +01:00
d73ed3f1d8 fix(log): fix file name for esp_log_level_get_timeout 2024-11-25 11:39:38 +01:00
fe64cf3982 fix(log): Modified linker script to move functions from flash to iram 2024-11-25 11:39:38 +01:00
e6aeb3d36d Merge branch 'fix/fix_an_ot_macro_dependency_issue' into 'master'
fix(openthread): fix an openthread macro dependency issue

Closes TZ-1319

See merge request espressif/esp-idf!35132
2024-11-25 17:39:46 +08:00
a2c399c098 Merge branch 'feat/add_idf_path_setting_info' into 'master'
feat(tools): Add info message to install/export scripts about IDF_PATH being set/change.

Closes IDF-9355

See merge request espressif/esp-idf!34748
2024-11-25 17:20:55 +08:00
4110d14825 Merge branch 'feat/document_idf_version_txt_file' into 'master'
docs(tools): Mention idf_version.txt in documentation

Closes IDF-11630

See merge request espressif/esp-idf!34717
2024-11-25 17:19:10 +08:00
67ac862edd fix(bt/controller): Fixed BLE assert ke_mem.c line 267 on ESP32-C3 and ESP32-S3 2024-11-25 16:38:30 +08:00
9e2671dc52 Merge branch 'netif_set_prio' into 'master'
feat(esp_netif): Allows user to set route priority after netif creation

See merge request espressif/esp-idf!34323
2024-11-25 16:33:27 +08:00
ebde9ce715 feat(esp_netif): Allows user to set route priority after netif creation 2024-11-25 16:33:27 +08:00
46e37515b8 Merge branch 'feat/examples_minimal_build' into 'master'
switch examples to build just with required components

Closes IDF-11308, IDF-7940, and IDF-11289

See merge request espressif/esp-idf!33825
2024-11-25 16:27:29 +08:00
5182c8031e docs: Update CN translation for idf-tools.rst 2024-11-25 15:56:16 +08:00
cad15b50c4 feat(tools): Inform user about IDF_PATH set/change in install/export scripts 2024-11-25 15:56:16 +08:00
ab3d179f53 Merge branch 'feat/sort-heaps-by-size' into 'master'
feat(heap): Sort list of registered heap by increasing size

Closes IDFGH-12587

See merge request espressif/esp-idf!33572
2024-11-25 14:44:19 +08:00
51594856ee feat(openthread): adjusted the default macro configurations of openthread 2024-11-25 14:29:23 +08:00
8e96c13306 fix(Power Management): fix_esp32c5_and_esp32c61_ext1_wakeup_failed_after_changing_io 2024-11-25 14:15:20 +08:00
46959b28d3 fix(ulp): fix ULP RISC-V interrupt handler corrupting the stack
* Closes https://github.com/espressif/esp-idf/issues/14930
2024-11-25 12:16:53 +08:00
56a55c0935 Merge branch 'bugfix/disconn_sdp_upon_wrong_data' into 'master'
fix(bt/bluedroid): disconnect SDP connection on receiving incorrect response

Closes BTQABR2023-170

See merge request espressif/esp-idf!34920
2024-11-25 08:15:39 +08:00
4097a27c20 Merge branch 'bugfix/sdp_get_uuid_error' into 'master'
fix(bt/bluedroid): fixed issues introduced by byte alignment

Closes BTQABR2023-402

See merge request espressif/esp-idf!34983
2024-11-25 08:13:00 +08:00
6c62e08bd9 Merge branch 'feat/add_profile_state_event' into 'master'
Feat/add profile state event

Closes BTQABR2023-268

See merge request espressif/esp-idf!30257
2024-11-25 07:24:39 +08:00
91858ef3e4 Merge branch 'feature/update-toolchain-to-esp-14.2.0_20241119' into 'master'
feat(tools): update toolchain version to esp-14.2.0_20241119

Closes GCC-384

See merge request espressif/esp-idf!35051
2024-11-23 15:33:16 +08:00
0957626e26 fix(tcp_transport): Fix websocket header read to handle overflow 2024-11-22 14:14:53 +01:00
b7d412ce87 Merge branch 'fix/lwip_remove_unused_flags' into 'master'
fix(lwip): Remove unused LWIP flags from test configs

See merge request espressif/esp-idf!34056
2024-11-22 19:42:54 +08:00
7d046cf4b5 Merge branch 'change/format_soc_component' into 'master'
refactor(soc): reformat code with astyle

See merge request espressif/esp-idf!35111
2024-11-22 18:33:42 +08:00
4b9d9a19b9 Merge branch 'contrib/github_pr_14767' into 'master'
fix(gptimer): race on FSM state in gptimer_start() (GitHub PR)

Closes IDFGH-13929

See merge request espressif/esp-idf!34410
2024-11-22 18:21:30 +08:00
e2ae81a101 Merge branch 'examples/getaddrinfo_af_unspec' into 'master'
feat(examples): Added wrapper for getaddrinfo to handle AF_UNSPEC

Closes IDFGH-12201

See merge request espressif/esp-idf!33234
2024-11-22 17:58:08 +08:00
fdcf89ae6b feat(bt/bluedroid): added events to indicate the profile states of HFP 2024-11-22 17:14:16 +08:00
408ae4c560 Merge branch 'feature/switch_to_new_vfs_api' into 'master'
feat(storage): switch to new VFS API

Closes IDF-11473

See merge request espressif/esp-idf!32029
2024-11-22 16:51:46 +08:00
ff78ea91cd feat(driver_spi): slave hd driver sleep retention support 2024-11-22 16:41:48 +08:00
3100fb6f1b fix(driver_spi): fixed slave hd append mode potential data loss working over weeks 2024-11-22 16:41:34 +08:00
9b7bbb1f0c feat(driver_spi): slave driver support sleep retention 2024-11-22 16:41:30 +08:00
d54390ec97 Merge branch 'bugfix/fix_bleqabr24_1646' into 'master'
Fixed BLE creating connection when the connection already exists on ESP32

Closes BLERP-1244 and BLERP-1253

See merge request espressif/esp-idf!34943
2024-11-22 14:29:27 +08:00
c9d481c6d2 feat(spi_flash): support software resume after suspend in unicore 2024-11-22 13:48:45 +08:00
724ed52209 fix(examples): Fix closing port in pytest_otatool 2024-11-22 07:32:25 +02:00
6b735e01fa Merge branch 'fix/enhance_i2c_slave_test_stability' into 'master'
fix(i2c): Fixed I2C return without release the lock  & enhance lp i2c lock souce selection

See merge request espressif/esp-idf!35025
2024-11-22 12:13:01 +08:00
d1c0d6e55e Merge branch 'fix/fix_jpeg_decode_info' into 'master'
fix(jpeg_decoder): Fix jpeg decoder get picture information

See merge request espressif/esp-idf!35026
2024-11-22 12:08:27 +08:00
24272610b2 refactor(soc): reformat code with astyle 2024-11-22 11:09:38 +08:00
32905aa39e Merge branch 'fix/remove_vad_png' into 'master'
doc(vad): remove vad png

See merge request espressif/esp-idf!35097
2024-11-22 10:45:17 +08:00
19bf3ece26 fix(bt/bluedroid): fixed issues introduced by byte alignment
- esp_bt_uuid_t is byte aligned, tBT_UUID is 4-byte aligned.
2024-11-22 10:37:14 +08:00
8da529e5eb Merge branch 'refactor/i2c_ll_trm_sync' into 'master'
refactor(i2c): rename some LL functions according to TRM descriptions

See merge request espressif/esp-idf!35049
2024-11-22 10:13:29 +08:00
d846929dc3 feat(lwip): Added wrapper for getaddrinfo to handle AF_UNSPEC 2024-11-22 13:06:34 +11:00
64bcffd313 fix(sysview): add prefix to the module desc to avoid stuck in Segger SystemView app
Closes https://github.com/espressif/esp-idf/issues/10483
2024-11-21 20:30:26 +01:00
e12138a149 change(sysview): support single/dual core targets in heap_trace_log test 2024-11-21 18:36:33 +01:00
36d5d8c31c Merge branch 'feat/esp_tls_add_psk' into 'master'
feat(esp_tls): Add support for PSK authentication on server side

Closes IDFGH-14083

See merge request espressif/esp-idf!34996
2024-11-22 00:10:42 +08:00
56349e6d65 Merge branch 'feature/support_i2s_pdm_data_format_option' into 'master'
feat(i2s): support to select PDM data format

Closes IDF-10511

See merge request espressif/esp-idf!28602
2024-11-21 21:58:00 +08:00
39eb6732b2 Merge branch 'feat/support_bt_hci_debug_tool' into 'master'
feat(bt): Add support for converting BT HCI logs to btsnoop format

Closes BLERP-1261

See merge request espressif/esp-idf!35048
2024-11-21 19:45:13 +08:00
4f226b4e95 Merge branch 'bugfix/fix_c2_light_sleep_coex' into 'master'
fix(ble): fix ble light sleep error on esp32c2

Closes BT-3902 and WIFIBUG-672

See merge request espressif/esp-idf!35020
2024-11-21 19:16:18 +08:00
9b779d8b3c feat(i2s): support to select PDM data format 2024-11-21 19:04:55 +08:00
7801d118d4 fix(esp_tls): PSK available in headers only if enabled in Kconfig 2024-11-21 11:36:16 +01:00
0ec5462293 doc(vad): remove vad png 2024-11-21 18:27:11 +08:00
2a9a41886c feat(heap): Sort list of registered heap by increasing size
For a given group of heaps sharing the same capabilities, it is
best to use smaller heaps first when performing "small" allocations
to keep the bigger heaps untouched. This prevents the scenario where
a series of small allocations would crowd the bigger heaps making
any bigger allocation fail for lack of space.

Closes https://github.com/espressif/esp-idf/issues/13588
2024-11-21 11:02:19 +01:00
decb24f940 feat(bt): Add support for converting BT HCI logs to btsnoop format 2024-11-21 17:21:13 +08:00
cef2624e59 Merge branch 'feature/idf_py_at_file_autocomplete' into 'master'
feat(tools): autocomplete @-arguments of idf.py with file names

See merge request espressif/esp-idf!31081
2024-11-21 17:11:58 +08:00
b9183aafee fix(i2c): Enhance lp clock source and avoid deadlock,
Closes https://github.com/espressif/esp-idf/issues/14908,
Closes https://github.com/espressif/esp-idf/issues/14906
2024-11-21 14:51:20 +08:00
a677e41392 test(i2c): Enhance the stability for i2c tests 2024-11-21 14:51:20 +08:00
65575bfe4d feat(storage/vfs): move semihost to new vfs API 2024-11-21 07:41:43 +01:00
9b4d11fb3c feat(storage/vfs): move l2tap to new vfs API 2024-11-21 07:41:43 +01:00
aae0825587 feat(storage/esp_vfs_console): move console to new vfs API 2024-11-21 07:41:42 +01:00
fbb5d9063e feat(storage/vfs): move jtag driver to new vfs API 2024-11-21 07:41:42 +01:00
2821ad7920 feat(storage/vfs): move uart driver to new vfs API 2024-11-21 07:41:42 +01:00
19eb0d6d02 feat(storage/vfs): move nullfs to new API 2024-11-21 07:41:42 +01:00
3d079312b1 feat(storage/vfs): make part of nullfs API private 2024-11-21 07:41:41 +01:00
10e74d3abb feat(storage/esp_vfs_console): move cdcacm driver to new vfs API 2024-11-21 07:41:41 +01:00
ae1e8a2ea3 feat(storage/vfs): update docs to new version of API 2024-11-21 07:41:41 +01:00
d7c487178c feat(storage/spiffs): move spiffs to new VFS API 2024-11-21 07:41:41 +01:00
fdffba6f4c feat(storage/fatfs): move fatfs to new VFS API 2024-11-21 07:41:40 +01:00
5109f08dfa feat(storage/vfs): make subcomponent pointers const 2024-11-21 07:41:40 +01:00
038a666710 Merge branch 'doc/vad_programming_guide' into 'master'
doc: lp_i2s and vad programming guide

Closes IDF-11382

See merge request espressif/esp-idf!34763
2024-11-21 14:38:08 +08:00
fc682fc7fb Merge branch 'fix/wifi_docs_remove_nonexistent_lwip_opt' into 'master'
fix(wifi): Remove non-existent LWIP option from docs

See merge request espressif/esp-idf!34055
2024-11-21 14:24:12 +08:00
e85bcbb245 docs: Update CN translation for esp_https_server.rst 2024-11-21 14:19:58 +08:00
390745c999 Merge branch 'docs/update_cn_translation' into 'master'
docs: Update CN translation for docs in jtag-degugging

Closes DOC-9515

See merge request espressif/esp-idf!35042
2024-11-21 14:11:14 +08:00
fe0b401d1e Merge branch 'fix/add_sbom_exception' into 'master'
fix(wpa_supplicant): Add an exception in wpa_supplicant sbom.yml

See merge request espressif/esp-idf!34820
2024-11-21 13:01:09 +08:00
f052dbc522 feat(tools): update toolchain version to esp-14.2.0_20241119 2024-11-21 11:45:22 +07:00
ed66c1fb7d fix(tools): fix adding tar.gz archive to tools.json if tar.xz is present 2024-11-21 11:45:22 +07:00
1810e7bbe3 fix(wpa_supplicant): Add an exception in wpa_supplicant sbom.yml 2024-11-21 12:12:17 +08:00
ab5bf7291e docs: Update CN translation for docs in jtag-degugging 2024-11-21 12:11:11 +08:00
a1b42191c2 feat(mcpwm): support mcpwm sleep retention on p4 2024-11-21 11:55:58 +08:00
f0a4d35e01 change(lp_i2d): use atomic fsm check 2024-11-21 11:08:11 +08:00
5618f3eb16 change(vad): wakeup driver maitain necessary power domain 2024-11-21 11:08:11 +08:00
0cbcd652a3 doc(lp_vad): lp vad programming guide 2024-11-21 11:08:11 +08:00
ed61b22e6a Merge branch 'bugfix/fix_ble_init_fail' into 'master'
fix(blufi): Fixed blufi init fail after deinit

Closes IDFGH-14085

See merge request espressif/esp-idf!35034
2024-11-21 11:04:53 +08:00
fd2636012b doc(lp_i2s): lp i2s programming guide 2024-11-21 10:54:19 +08:00
255f0005f0 fix(lp_i2s): added cbs iram check 2024-11-21 10:53:34 +08:00
85fe2454ce Merge branch 'ci/twai_network' into 'master'
ci(twai): disable twai_network test

See merge request espressif/esp-idf!35037
2024-11-21 10:32:50 +08:00
da1a99d5ed change(conf): add MINIMAL_BUILD note to menuconfig and sdkconfig
With MINIMAL_BUILD enabled, menuconfig will only display configuration
options for components included in the build through main component
dependencies. This means that configuration options for excluded
components will not appear in menuconfig. This might be confusing, as
most examples currently do not use a trimmed build, and all components
detected by the build system are available in menuconfig, even if their
configuration has no effect because the components may not be linked or
used. Adding a note in the components menu of menuconfig could help
users realize they need to add a component to the main component
requirements to see its configuration options. Unfortunately, Kconfig
does not support multiline comments, so there are three separate
comments intended to adequately describe the potentially missing
component configurations.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
2cc4310243 docs: Update CN translation for docs in api-guides 2024-11-20 20:14:40 +01:00
e0113d81d2 docs(build_system): describe MINIMAL_BUILD build property
Include a description of the MINIMAL_BUILD property, which serves as a
shortcut for set(COMPONENTS main). Additionally, add a note to the
relevant components indicating that they must be included in the build
to allow for their configuration.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
c28b7dc9ac change(ci): disable MINIMAL_BUILD for test_build_cmake_library_psram_workaround
The test_build_cmake_library_psram_workaround verifies that the
mfix-esp32-psram-cache-issue flag is applied to all compile commands in
compile_commands.json when CONFIG_SPIRAM_CACHE_WORKAROUND=y. Although
the import_lib does not need the esp_psram component, this test does. To
avoid adding the esp_psram dependency to the import_lib, disable
MINIMAL_BUILD for this test by explicitly setting the COMPONENTS
variable.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
8d248d8903 change(ci): disable MINIMAL_BUILD for check_public_headers.py
The check_public_headers.py script does not function well with
MINIMAL_BUILD enabled, as some headers from excluded components may be
missing. While it might be possible to address this issue with
exclusions, it is likely more effective and provides more coverage to
include all components, not just those required by the blink example.
Therefore, MINIMAL_BUILD has been disabled for this test, ensuring that
all registered components are included in the build. If defined, the
COMPONENTS variable takes precedence over the MINIMAL_BUILD property, so
setting "-DCOMPONENTS=" overrides the MINIMAL_BUILD property.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
1c92945f59 change(examples): switch examples to use a minimal build
Currently, several example dependencies rely on the fact that all
registered components are added to the build, along with components
specified in common requirements. This results in longer build times
because even unused components must be built. Switch all examples to use
idf_minimal_build to compile only the components actually required by
the example.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
f6591ab8a4 Merge branch 'fix/aes_cache_failure_when_l2_cache_line_size_greater_than_l1_cache' into 'master'
Fix memory corruption caused due to unaligned external memory buffers sync in AES

Closes IDF-11052

See merge request espressif/esp-idf!34371
2024-11-20 23:10:07 +08:00
862815f362 fix(wifi): Remove non-existent LWIP option from docs 2024-11-20 15:34:18 +01:00
f6fcfbb9e6 feat(cmake): introduce MINIMAL_BUILD build property
Introduce a MINIMAL_BUILD property to streamline the build process by
including only the main component and its direct and indirect
dependencies. This serves as a convenient shortcut for using
set(COMPONENTS main). The MINIMAL_BUILD build property is ignored if the
COMPONENTS variable is defined, as COMPONENTS takes precedence.

To enable a minimal build, add "idf_build_set_property(MINIMAL_BUILD ON)"
to the project's CMake configuration.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 14:11:24 +01:00
ad15109daa change(examples): explicitly specify component dependencies for examples
Currently, several examples do not explicitly state their component
dependencies, relying instead on the default behavior that includes all
registered components and commonly required ones in the build.
Explicitly adding component dependencies can reduce build time when
set(COMPONENTS main) is used.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 14:11:24 +01:00
3fb7461eb0 refactor(i2c): rename some LL functions according to TRM descriptions 2024-11-20 19:16:23 +08:00
5c9e7670f2 Merge branch 'fix/fix_a_naming_error_of_esp_radio_spinel' into 'master'
fix(openthread): fix a naming error of esp radio spinel

See merge request espressif/esp-idf!35039
2024-11-20 19:11:13 +08:00
496e9cdff8 fix(hints): handle multiple missing headers in the output
The object files are compiled simultaneously, which can result in
several error messages about missing headers. The current regex used to
find missing headers in the compiler's output employs a greedy search,
potentially capturing multiple error messages from different compilation
units. This can cause bug reports where the original component cannot be
identified. Strengthen the regex to ensure it only processes the first
reported error.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 18:41:55 +08:00
0564e9d488 Merge branch 'docs/update-heap-corruption-section' into 'master'
docs(heap_debug): Add missing information

See merge request espressif/esp-idf!32972
2024-11-20 17:25:39 +08:00
7addb57ccd fix(blufi): Fixed blufi init fail after deinit 2024-11-20 16:36:09 +08:00
b2ac38c4ce fix(openthread): fix a naming error of esp radio spinel 2024-11-20 15:36:28 +08:00
e3ceabfa1b Merge branch 'feat/uart_line_ending' into 'master'
feat(console): change line endings on standard input and output

Closes IDF-11467

See merge request espressif/esp-idf!34459
2024-11-20 15:36:01 +08:00
45bd677caa Merge branch 'bugfix/esp_bt_wifi_bt_power_api' into 'master'
fix(bt): Move esp_wifi_bt_power_domain_on/off to esp_phy_init.h

See merge request espressif/esp-idf!31578
2024-11-20 15:01:49 +08:00
1f947551c0 Merge branch 'feat/sleep_retention_expand_module_bitmap' into 'master'
expand the number of sleep retention modules supported on different chips

Closes PM-230

See merge request espressif/esp-idf!33755
2024-11-20 14:50:35 +08:00
2c1d52b5b9 ci(twai): disable twai_network test 2024-11-20 14:31:21 +08:00
2a6e08431b Merge branch 'feature/move-gdb-options-to_project_description_json' into 'master'
feat(debugging): move gdbinit generation to CMake

Closes IDF-11489

See merge request espressif/esp-idf!34779
2024-11-20 14:30:40 +08:00
09635fddab Merge branch 'feature/avoid_compiling_wifi_components_when_wifi_is_unsupported' into 'master'
feat(wifi): avoid compiling components related to wifi when wifi is not supported

Closes WIFI-5796

See merge request espressif/esp-idf!34613
2024-11-20 14:18:06 +08:00
f5ae64bf2c Merge branch 'fix/fix_modem_module_clock_missing_after_ota' into 'master'
fix(esp_system): deselect all modem modules lp clock source selection before clk initialization

See merge request espressif/esp-idf!34922
2024-11-20 10:55:27 +08:00
79f26ad603 Merge branch 'bugfix/fix_set_perfer_ext_conn_param' into 'master'
fix(bt/bluedroid): Fixed setting perfer conn params complete event report

Closes BLERP-1185

See merge request espressif/esp-idf!34648
2024-11-20 10:30:45 +08:00
21acfc2855 Merge branch 'bugfix/fix_bleqabr24_1635' into 'master'
fix(bt/bluedroid): Fixed LE channel selection algorithm event reporting

Closes BLERP-1230

See merge request espressif/esp-idf!34850
2024-11-20 10:30:40 +08:00
d7dc6e7f2a Merge branch 'fix/add_network_reconnectin_in_ot_ci_case' into 'master'
feat(openthread): flush ipv6 addr in openthread ci cases

Closes TZ-1260 and IDFCI-2537

See merge request espressif/esp-idf!34666
2024-11-20 10:14:11 +08:00
2b334d1dfa fix(bt/bluedroid): disconnect SDP connection on receiving incorrect response 2024-11-20 08:20:40 +08:00
a4d515b1c4 Merge branch 'ci/clang_qemu_tests' into 'master'
change(ci): Add qemu host tests builds with Clang

See merge request espressif/esp-idf!33630
2024-11-20 01:43:38 +08:00
4bbff34ac2 fix(esp-tls): Remove useless const from size paramter 2024-11-19 18:21:18 +01:00
941a7ee17f change(ci): Add qemu host tests for esp32c3 builds with Clang 2024-11-19 17:33:51 +03:00
f25d50b2f4 fix(nimble): Replace ESP_LOG* with esp_rom_printf in controller context callback 2024-11-19 17:38:24 +05:30
3c5d24e607 fix(system): linker script: free unused .rtc.text memory for esp32c3/esp32s2/esp32s3 2024-11-19 19:46:15 +08:00
cd38c01f57 fix(wifi/mesh): Modify examples/mesh/internal_communication
Delete the secondary judgment of whether it is the root node in the sending task

Closes https://github.com/espressif/esp-idf/pull/14373

Signed-off-by: zhangyanjiao <zhangyanjiao@espressif.com>
2024-11-19 19:17:37 +08:00
f3790a01cc Merge branch 'sysview_update_356' into 'master'
feat(sysview): update to version 3.56

Closes IDF-8232 and IDF-11088

See merge request espressif/esp-idf!33236
2024-11-19 18:34:27 +08:00
4ace614ef3 docs(pcnt): add pullup and pulldown documentation
Closes https://github.com/espressif/esp-idf/issues/14277
2024-11-19 17:45:11 +08:00
48a49c8154 feat(debugging): move gdbinit generation to CMake
This feature is useful for 3rd-party software to run GDB with predefined
options that described in project_description.json file

allow to pass custom options to "idf.py gdb":

  --gdb-commands: command line arguments for gdb. (without changes)
  -ex: pass command to gdb.
  -x: pass gdbinit file to gdb. Alias for old --gdbinit command
2024-11-19 16:41:38 +07:00
cada39c3b5 fix(bt): Update bt lib for ESP32(c3082c4)
- Fixed BLE creating connection when the connection already exists
2024-11-19 17:39:00 +08:00
8e06c4ca6a docs(heap_debug): Add missing information
- Place the section on alloc failed hook at a better place
- Add reference to the different poisoning configs at the beginning
  of the heap corruption detectino section
- Update the information concerning heap tracing
- Update the heap tracing log examples
- Fix heap tracing standalone code:
  - Update the logging format in heap_trace_dump_base
  - Add freed field in trace stucture to keep this info even
    when no call stack is available
2024-11-19 10:25:40 +01:00
6495a8318d Merge branch 'monitor_multi_elf' into 'master'
feat(monitor): Add support for decoding output based on multiple ELF files

Closes IDF-11026

See merge request espressif/esp-idf!34858
2024-11-19 17:18:35 +08:00
749cfa1c22 Merge branch 'bugfix/memory_issue' into 'master'
fix(nimble): Nimble Error logs in case of memory overflow/failure

Closes BLERP-839

See merge request espressif/esp-idf!31665
2024-11-19 17:03:29 +08:00
eeebba3326 feat(openthread): flush ipv6 addr in openthread ci cases 2024-11-19 15:29:23 +08:00
43b0d1053c Merge branch 'fix/update_ping_cmd_version' into 'master'
update: Update ping-cmd component to v1.0.0

See merge request espressif/esp-idf!34985
2024-11-19 14:58:59 +08:00
dd499d7b2e fix(ble): change ld for ble scan coex issue 2024-11-19 14:50:48 +08:00
23f7e33a97 fix(ble): fix ble light sleep error on esp32c2 2024-11-19 14:19:23 +08:00
9ecec78861 Merge branch 'test/parlio_psram_data_error' into 'master'
test(parlio): dma can transmit PSRAM buffer

See merge request espressif/esp-idf!34509
2024-11-19 12:28:43 +08:00
f420609c33 Merge branch 'bugfix/fix_ble_creat_conn_fail_enh' into 'master'
fix(ble/bluedroid): Fixed BLE create connection fail because of invalid own address type

Closes BLERP-639

See merge request espressif/esp-idf!34895
2024-11-19 12:06:26 +08:00
0125e70797 fix(jpeg_decoder): Fix jpeg decoder get picture information 2024-11-19 11:46:55 +08:00
088c742764 fix(ringbuf): fixed logic errors when compiling with CONFIG_COMPILER_STATIC_ANALYZER
ESP_STATIC_ANALYZER_CHECK was added to remove some static analyzer warning about
null pointer dereferences that should never happen, but the logic was wrong.

We return pdFALSE if prvReceiveGeneric was called with any of the input pointers
as NULL, but pvItem2 and xItemSize2 will only be non-null for split buffers.

Closes https://github.com/espressif/esp-idf/issues/14905
2024-11-19 11:12:39 +08:00
f40c2cbc72 feat(wifi): avoid compiling components related to wifi when wifi is not supported 2024-11-19 11:02:09 +08:00
383bc035ce fix(bt): Move esp_wifi_bt_power_domain_on/off to esp_phy_init.h 2024-11-19 10:12:37 +08:00
5910fc8270 Merge branch 'feat/optimize_cble50y24_110' into 'master'
feat(bt/bluedroid): Added BLE 5.0 throughput examples

Closes BLERP-992

See merge request espressif/esp-idf!34316
2024-11-19 08:55:18 +08:00
4449c8bfa2 fix(lwip): Remove unused LWIP flags from test configs 2024-11-18 23:06:17 +08:00
691a0ee1fd Merge branch 'feature/usb_ctrl_hint' into 'master'
feat(hints/usb): Add a hint about too small control transfer size

See merge request espressif/esp-idf!34936
2024-11-18 21:03:30 +08:00
66596b7f59 feat(hints/usb): Add a hint about too small control transfer size 2024-11-18 21:03:30 +08:00
7ef2379549 feat(esp_tls): Add support for PSK authentication on server side 2024-11-18 13:47:29 +01:00
9c91d08c78 Merge branch 'ci/git-diff-output-optimization' into 'master'
ci: optimize `git diff` handling to address "Argument list too long" error

See merge request espressif/esp-idf!34960
2024-11-18 19:44:10 +08:00
28dcb9a889 feat(monitor): Add support for decoding output based on multiple ELF files 2024-11-18 12:35:45 +01:00
f3c95b632e Merge branch 'ci/fix_i2s_multi_dev_test_potential_overflow' into 'master'
ci(i2s): fix the potential overflow in multi_dev test

Closes IDFCI-2486 and IDFCI-2487

See merge request espressif/esp-idf!34681
2024-11-18 19:29:16 +08:00
0f8e6f68c3 fix(gptimer): race condition between start and stop
Merges https://github.com/espressif/esp-idf/pull/14767
2024-11-18 19:10:46 +08:00
978896a09d docs(i2s): update i2s cap overview 2024-11-18 18:38:30 +08:00
b65f8a98bd fix(ble/bluedroid): Fixed BLE create connection fail because of invalid own address type 2024-11-18 17:48:42 +08:00
f48e57a00d fix(nimble): Nimble Error logs in case of memory overflow/failure 2024-11-18 17:39:20 +08:00
0045550de5 ci: optimize git diff handling to address "Argument list too long" error 2024-11-18 17:08:28 +08:00
393b7410a6 Merge branch 'feature/remove_min_max_def' into 'master'
fix(nimble): Removed min/max macro definition from os.h

Closes IDFGH-14017

See merge request espressif/esp-idf!34745
2024-11-18 17:05:42 +08:00
03b6436745 Merge branch 'bugfix/rx_invalid_cmd_err_code' into 'master'
fix(bt/bluedroid): Fixed the incorrect error code returned when receiving an invalid command

Closes BT-3899

See merge request espressif/esp-idf!34872
2024-11-18 16:43:54 +08:00
08dd3adeec change(esp_hw_support): fix some sleep retention build error 2024-11-18 15:46:11 +08:00
e16f711a99 change(newlib): use a general console name in the new line conversion options
Currently, the new line ending conversion options for stdin and stdout
are specifically described for UART, which is inaccurate since the
console could be connected to USB serial/CDC or have secondary output.
Use a generic console term instead of UART.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-18 15:42:29 +08:00
cf3802a0ac fix(test_apps): do not check line endings in dut.expect
The default newlib read/write syscalls automatically convert newline
endings from LF to CRLF on stdout. Therefore, the test should not
specifically check for LF in the expected output, as the standard
conversion for stdout is CRLF. While it is possible to change the
expected line ending in the test from LF to CRLF, it seems more
dependable to just avoid verifying line endings entirely.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-18 15:42:29 +08:00
2c3c0653d2 change(newlib): support line endings modification only with VFS
The configuration of newline endings for stdout and stdin is supported
only by the VFS drivers. The write and read syscalls in newlib
automatically convert LF to CRLF for stdout and CR to LF for stdin,
ignoring the configured newline settings. Therefore, make the options
for newline endings visible only when VFS is enabled.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-18 15:42:29 +08:00
5351a83128 feat(newlib): change line endings on standard input and output
Currently, the newline conversions for the NEWLIB_STDOUT_LINE_ENDING and
NEWLIB_STDIN_LINE_ENDING options are only applied by VFS drivers.
Without VFS, newline conversion does not occur. Introduce the default
conversion of LF to CRLF on stdout and CF to LF on stdin for the default
read and write syscalls in newlib.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-18 15:42:29 +08:00
44693774e1 change(soc): define sleep retention module total number to 64 for esp32p4 2024-11-18 15:40:47 +08:00
641be3ad1f change(esp_hw_support): update power domain pd allowed check logic 2024-11-18 15:40:47 +08:00
8eea8a8ef3 change(esp_hw_support): update some modules sleep retention init dependency bitmap 2024-11-18 15:40:47 +08:00
1857bededb change(soc): add sleep retention module total number definition 2024-11-18 15:40:42 +08:00
8368564717 feat(esp_hw_support): extend sleep retention module bitmap bit width 2024-11-18 15:38:30 +08:00
6d3a82eecf feat(bt/bluedroid): Added BLE 5.0 throughput examples 2024-11-18 15:30:21 +08:00
d70a6861bb change: Update ping-cmd component to v1.0.0 2024-11-18 15:29:17 +08:00
b9a8180b17 test(parlio): dma can transmit PSRAM buffer 2024-11-18 14:37:00 +08:00
b9253b4e66 Merge branch 'bugfix/wps_ie_reset' into 'master'
fix(wifi): Remove WPS IEs once WPS succeeds

See merge request espressif/esp-idf!34777
2024-11-18 14:08:50 +08:00
e8800ac785 Merge branch 'feat/add_alpn_for_esp_http_client' into 'master'
feat(esp_http_client): Added alpn feature in esp_http_client

Closes IDF-10729

See merge request espressif/esp-idf!34708
2024-11-18 13:14:24 +08:00
88c4086db9 Merge branch 'feat/mipi_dsi_underrun_error' into 'master'
feat(mipi_dsi): enable underrun error interrupt

See merge request espressif/esp-idf!31704
2024-11-18 11:32:23 +08:00
42cbc7aada Merge branch 'feature/support_custom_ot_header_file' into 'master'
feat(openthread): support using custom header file

See merge request espressif/esp-idf!30838
2024-11-18 10:45:33 +08:00
9382c9a400 Merge branch 'fix/fix_tsens_retention_p4' into 'master'
fix(temperature_sensor): Fix temperature sensor sleep retention on p4

Closes IDFCI-2491, IDFCI-2483, and IDFCI-2484

See merge request espressif/esp-idf!34902
2024-11-18 10:33:25 +08:00
4c9154bad1 Merge branch 'doc/isp_lsc_doc' into 'master'
isp: isp lsc programming guide

See merge request espressif/esp-idf!34818
2024-11-18 10:17:38 +08:00
16469297b4 Merge branch 'feature/update-gdb-to-15.2_20241112' into 'master'
feat(tools): update gdb version to 15.2_20241112

Closes IDF-11325

See merge request espressif/esp-idf!34859
2024-11-15 22:17:20 +08:00
5009857d7d Merge branch 'fix/i2c_oled_example_crash_on_esp32' into 'master'
fix(i2c_oled): fix buffer allocation

See merge request espressif/esp-idf!34968
2024-11-15 20:26:09 +08:00
401fa7b0f3 Merge branch 'feat/updating_configs_of_esp_https_server' into 'master'
feat(esp_https_server): Updated the ESP_TLS_SERVER_CERT_SELECT_HOOK config

Closes IDF-8418

See merge request espressif/esp-idf!33966
2024-11-15 18:35:00 +08:00
53d2d67226 ci(i2s): fix the potential overflow in multi_dev test 2024-11-15 18:11:39 +08:00
a3922cd1a7 Merge branch 'bugfix/fix_ble_disconn_error_on_c61' into 'master'
fix(ble): fix btbb retention register size on esp32c61

Closes BLERP-1239 and PHY-206

See merge request espressif/esp-idf!34908
2024-11-15 17:33:34 +08:00
29b017b785 fix(i2c_oled): fix buffer allocation 2024-11-15 17:31:15 +08:00
5aaa47834a feat(esp_http_client): Added ALPN feature in esp_http_client
Added the alpn field in esp_http_clinet_config_t struct. So
that user can modify from the esp_http_clinet component.
2024-11-15 14:37:28 +05:30
c5ada2e82f Merge branch 'fix/fix_deadlock_in_pm_mode_switching' into 'master'
fix(esp_pm): fix deadlock in pm_mode switching

Closes PM-144

See merge request espressif/esp-idf!34723
2024-11-15 16:55:07 +08:00
9f47024e78 Merge branch 'fix/ble_mesh_heartbeat_bug' into 'master'
fix(ble_mesh): fixed heartbeat issue

Closes BLERP-1241

See merge request espressif/esp-idf!34912
2024-11-15 16:23:20 +08:00
6e05a9e65b feat(openthread): support using custom header file 2024-11-15 15:37:54 +08:00
7c384facd7 change(sdmmc): simplify cmd11 enable code 2024-11-15 15:22:02 +08:00
092bbdbc9c doc(isp): isp lsc programming guide 2024-11-15 15:22:02 +08:00
c014ced2f8 Merge branch 'bugfix/fix_classic_bt_build_fail' into 'master'
fix(bt/bluedroid): Fixed classic bt build fail when enable dynamic memory and disable BLE

Closes BT-3862

See merge request espressif/esp-idf!34921
2024-11-15 11:16:34 +08:00
872a3a2d71 fix(temperature_sensor): Fix temperature sensor sleep retention on p4 2024-11-15 11:04:23 +08:00
e84b59cf92 Merge branch 'feat/official_winbond_chip' into 'master'
feat(spi_flash): Add support for winbond flash chip

See merge request espressif/esp-idf!34039
2024-11-15 11:01:11 +08:00
c067e406ce fix(esp_system): deselect all modem modules clk source selection before clk init 2024-11-15 11:00:16 +08:00
a1ec278291 Merge branch 'bugfix/2015_enhack' into 'master'
fix(802.15.4): handle 2015 frame enh-ack

See merge request espressif/esp-idf!34904
2024-11-15 10:14:35 +08:00
9dc4a27d9c Merge branch 'fix/thread_resolve_invalid_host' into 'master'
fix(openthread): Fix invalid host resolving for Thread end devices

See merge request espressif/esp-idf!34913
2024-11-15 10:13:41 +08:00
d74bf059c8 Merge branch 'feat/ble_mesh_proxy_client_server_coexists_support' into 'master'
feat(ble_mesh): Proxy Client/Server Coexists Support

Closes BLERP-1129

See merge request espressif/esp-idf!34141
2024-11-15 10:05:12 +08:00
3c8a32ff0d Merge branch 'feat/vectorize_bitscrambler_register' into 'master'
bitscrambler hal driver support

See merge request espressif/esp-idf!34885
2024-11-15 09:53:54 +08:00
8255ba29a6 Merge branch 'feature/storage_nvs_bootloader' into 'master'
feat(storage/nvs): NVS bootloader support

See merge request espressif/esp-idf!31753
2024-11-15 00:12:18 +08:00
4b79cb964f Merge branch 'fix/tusb_midi_task_stack_overflow' into 'master'
fix(examples): tusb_midi task stack overflow fix

Closes IDFGH-14002

See merge request espressif/esp-idf!34914
2024-11-14 23:38:30 +08:00
4d75d2d487 Merge branch 'bugfix/protocols_examples_common_driver_dep' into 'master'
remove leftover dependencies on `driver` component

See merge request espressif/esp-idf!33548
2024-11-14 22:21:57 +08:00
59d20e80d3 fix(bt/bluedroid): Fixed classic bt build fail when enable dynamic memory and disable BLE 2024-11-14 21:17:13 +08:00
890106fb23 Merge branch 'fix/lwip_tcp_pcb_recycle' into 'master'
fix(lwip): Limit active TCP PCBs and recycle them faster

Closes IDFGH-8173, IDF-8914, and IDF-10021

See merge request espressif/esp-idf!34879
2024-11-14 21:07:10 +08:00
7e9782b67e fix(examples): tusb_midi task stack overflow fix 2024-11-14 13:03:27 +01:00
1a028bdfdc fix(openthread): Fix invalid host resolving for Thread end devices 2024-11-14 19:42:26 +08:00
167cd4762b fix(ble_mesh): fixed heartbeat issue 2024-11-14 19:38:20 +08:00
4e088964ef fix(esp_netif): Prevent null deref when checking netif type
Most esp_netif public API check for invalid arguments, but when enabling
PPP the macros to check netif type could potentially dereference
esp_netif without any null-check.

Releted to https://github.com/espressif/esp-idf/issues/14816
2024-11-14 12:37:48 +01:00
74c847210d feat(ble_mesh): Proxy Client/Server Coexists Support 2024-11-14 19:22:59 +08:00
6002db2fb9 fix(nimble): Removed min/max macro defination from os.h
Closes https://github.com/espressif/esp-idf/issues/14840
2024-11-14 19:06:14 +08:00
c86a301736 feat(mipi_dsi): enable underrun error interrupt 2024-11-14 19:05:43 +08:00
ce85e113a9 fix(ble): fix btbb retention register size on esp32c61 2024-11-14 19:04:23 +08:00
c445ec134b feat(nvs_flash): Implemented basic nvs_flash support for bootloader 2024-11-14 11:56:45 +01:00
1e11d42aa1 feat(spi_flash): Add support for winbond flash chip 2024-11-14 18:32:40 +08:00
38b737511c Merge branch 'feat/tsens_support_c61' into 'master'
feat(temperature_sensor): Add temperature sensor support on esp32c61

Closes IDF-9322

See merge request espressif/esp-idf!34326
2024-11-14 17:51:36 +08:00
f62bb46b48 fix(mbedtls/aes): Fix external memory corruption caused due to unaligned length cache sync
Fixes the memory corruption issue that arises due to external memory cache sync of unaligned
length bytes when L2 cache line size is greater than the L1 cache line size
2024-11-14 15:03:19 +05:30
7fcbdb9c2e Merge branch 'docs/sbom_tool' into 'master'
docs(sbom): add basic description about SBOM for ESP-IDF projects

Closes IDF-11485

See merge request espressif/esp-idf!34853
2024-11-14 17:28:11 +08:00
83c9cffd2b change(soc): vectorize bitscrambler regsiter layout 2024-11-14 17:26:57 +08:00
ab75a94877 feat(bitscrambler): add hal driver support 2024-11-14 17:26:57 +08:00
ace6a490bc feat(esp_https_server): Updated the ESP_TLS_SERVER_CERT_SELECT_HOOK config
Update the ESP_TLS_SERVER_CERT_SELECT_HOOK config to ESP_HTTPS_SERVER_CERT_SELECT_HOOK
And made it depend on  ESP_TLS_SERVER_CERT_SELECT_HOOK
2024-11-14 14:48:50 +05:30
7ff774905a Merge branch 'fix/usb_device_msc_storage_example' into 'master'
fix(tusb_msc): Added SD power supply configuration for p4

See merge request espressif/esp-idf!33455
2024-11-14 17:18:39 +08:00
e4b8712bbc docs: Update CN translation for idf-tools.rst 2024-11-14 16:09:24 +08:00
705e2695ee fix(802.15.4): add case for 2015 frame enh-ack 2024-11-14 15:56:21 +08:00
0b1170af8f Merge branch 'docs/update_i2c_slave_v2' into 'master'
feat(i2c_slave): Update I2C programming guide according to new changes

See merge request espressif/esp-idf!34806
2024-11-14 14:41:19 +08:00
78a690517f Merge branch 'bugfix/uart_single_wire_mode' into 'master'
fix(uart): allow same pin for tx and rx in uart_set_pin; UART_SELECT_READ_NOTIF race conditon fix

Closes IDFGH-13954, IDF-10721, IDF-11127, and IDF-9108

See merge request espressif/esp-idf!34737
2024-11-14 14:18:47 +08:00
074b74c701 Merge branch 'docs/translate_file_system_consideration' into 'master'
docs: Provide CN translation for file system considerations in IDF

Closes DOC-8963

See merge request espressif/esp-idf!33782
2024-11-14 14:02:49 +08:00
d5f244c5f7 Merge branch 'feat/psram_qemu_16_32_mb_qpi' into 'master'
feat(esp_psram): add support for QEMU 16MB and 32MB QPI PSRAM

See merge request espressif/esp-idf!34832
2024-11-14 12:04:22 +08:00
1de992adef Merge branch 'fix/find_and_close_service_in_ot_ci_case' into 'master'
fix(ci): optimize an openthread ci case

Closes IDFCI-2430

See merge request espressif/esp-idf!34106
2024-11-14 11:58:23 +08:00
6a9e7f61e8 docs(i2c_slave): Update i2c slave programming guide for new changes 2024-11-14 11:40:44 +08:00
bbcfb35d67 Merge branch 'feat/h21_introduce_step1_target' into 'master'
feat(esp32h21): introduce target esp32h21 (stage 1/8) 😐

See merge request espressif/esp-idf!34542
2024-11-14 10:46:44 +08:00
9039ffeb62 feat(802.15.4): IEEE802.15.4 add rx buffer statistic 2024-11-14 10:35:29 +08:00
fe93c990e6 feat(esp_psram): add support for QEMU 16MB and 32MB QPI PSRAM 2024-11-14 10:24:43 +08:00
4b4a9a2174 fix(bt/bluedroid): Fixed the incorrect error code returned
when receiving an invalid command
2024-11-14 10:20:53 +08:00
d7bc953d66 docs: Provide CN translation for file system considerations in IDF 2024-11-14 10:09:56 +08:00
ea31e155e8 Merge branch 'feature/support_moving_code_to_flash' into 'master'
feat(ble): Support for putting code in flash on ESP32-C2

See merge request espressif/esp-idf!34774
2024-11-14 10:09:17 +08:00
32f60da330 fix(tusb_msc): Fixed sdmmc init on ESP32P4 2024-11-13 16:34:54 +01:00
4e9362a1cb docs(sbom): add basic description about SBOM for ESP-IDF projects
Add a basic description and usage overview of the esp-idf-sbom tool. A
more detailed description is already available on the GitHub pages,
which this documentation refers to.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-13 15:45:19 +01:00
7a305c0284 Merge branch 'bugfix/crash_deauth_fix' into 'master'
fix(esp_wifi): Fix for crash while receiving deauth in esp32c2 ECO4

Closes WIFIBUG-825 and WIFIBUG-840

See merge request espressif/esp-idf!34682
2024-11-13 21:19:01 +08:00
8d2a172064 Update slave.c to fix the mode
There is an issue in the lines that I have changed. I think it was copied over from the enum by mistake.
2024-11-13 18:28:47 +05:30
9ec62baa94 fix(esp_rom): Comment out unused function pointers in esp32c2 eco4 linker file 2024-11-13 20:01:26 +08:00
862f3bd7bf fix(esp_wifi): Fix for crash while receiving deauth in esp32c2 ECO4 2024-11-13 20:01:26 +08:00
e613fcde6e Merge branch 'contrib/github_pr_14738' into 'master'
fix(docs): code comment spelling error  (GitHub PR)

Closes IDFGH-13896

See merge request espressif/esp-idf!34863
2024-11-13 19:23:47 +08:00
c7f32f80f4 feat(tools): autocomplete @-arguments of idf.py with file names 2024-11-13 11:50:48 +01:00
d37e1cccb6 Merge branch 'feature/adds_pthread_funcs' into 'master'
feat(pthread): Adds set/get sched param funcs

Closes IDFGH-13997 and IDFGH-6976

See merge request espressif/esp-idf!34787
2024-11-13 17:27:20 +08:00
582c99041c Merge branch 'bugfix/uart_8_16_bit_access' into 'master'
fix(uart): fix 8/16-bit uart register access

Closes IDF-10256

See merge request espressif/esp-idf!34846
2024-11-13 17:17:26 +08:00
5532fa8e26 Merge branch 'contrib/github_pr_14858' into 'master'
fix(examples/usb_host_lib): correct typo in comments (GitHub PR)

Closes IDFGH-14038

See merge request espressif/esp-idf!34861
2024-11-13 15:58:10 +08:00
0d99214012 fix(lwip): Limit active TCP PCBs and recycle them faster
* Update submodule: git log --oneline c816f0ee..a587d929
Detailed description of the changes:
  - test: Add tcp-pcb recycle test (espressif/esp-lwip@a587d929)
  - tcp: Apply faster PCB recycling in FIN_WAIT_1 or FIN_WAIT_2 state (espressif/esp-lwip@3bfc85d2)
  - test: Add tcp alloc limitation test (espressif/esp-lwip@0c9c39a9)
  - memp: Employ TCP-PCB allocation limit if libc malloc used (espressif/esp-lwip@9cb96ac1)

Closes https://github.com/espressif/esp-idf/issues/9670
Closes https://github.com/espressif/esp-lwip/pull/63
2024-11-13 08:53:51 +01:00
1e7098fe97 Merge branch 'contrib/github_pr_14859' into 'master'
fix(usb_host): return ESP_ERR_NO_MEM on failed alloc in client register (GitHub PR)

Closes IDFGH-14037

See merge request espressif/esp-idf!34862
2024-11-13 15:33:11 +08:00
1a25f6887d Merge branch 'fix/adc_monitor_not_work' into 'master'
fix(esp_adc): fixed adc continue monitor don't work issue

Closes IDFGH-13931 and IDFGH-13988

See merge request espressif/esp-idf!34436
2024-11-13 15:23:28 +08:00
cbbb85fecd Merge branch 'fix/ws_transport_head_fragments' into 'master'
fix(ws_transport): Fix reading WS header in fragments

Closes IDFGH-13951, IDFGH-13857, and IDFGH-13859

See merge request espressif/esp-idf!34517
2024-11-13 15:07:42 +08:00
97b65d7350 Merge branch 'change/disable_stub_bins' into 'master'
change(esp_system): do not include openocd stub bins by default

See merge request espressif/esp-idf!34755
2024-11-13 14:30:43 +08:00
b6be76f53b Merge branch 'fix/typo-esp-rom' into 'master'
fix(esp_rom): Fix comment typos

Closes IDFGH-13635

See merge request espressif/esp-idf!34849
2024-11-13 13:42:03 +08:00
df52e1aa71 fix(esp_pm): fix deadlock in pm_mode switching 2024-11-13 12:12:23 +08:00
b4bd3d98bd fix(esp_pm): fix missed ccompare update when another core is already in do_switch 2024-11-13 12:11:47 +08:00
908e62f5e4 Merge branch 'fix/fix_cache_error_in_sar_disable' into 'master'
fix(esp_hw_support): fix sar disable access flash in IRAM_OPT sleep

Closes IDFCI-2509

See merge request espressif/esp-idf!34833
2024-11-13 11:28:40 +08:00
ed8ec9de0b Merge branch 'feat/sdmmc_uhs_tuning' into 'master'
sdmmc: UHS-I support for SDR50 (100MHz, 50MB/s), DDR50 (50MHz, 50MB/s)

Closes IDF-10294, IDF-11447, and IDF-8886

See merge request espressif/esp-idf!34441
2024-11-13 11:05:10 +08:00
bff20b5397 feat(temperature_sensor): Add temperature sensor support on esp32c61 2024-11-13 10:52:47 +08:00
f8ddcee8cd Merge branch 'refactor/cache_err_panic' into 'master'
refactor(panic): refactor and unify cache panic errors

See merge request espressif/esp-idf!34382
2024-11-13 10:19:38 +08:00
5bff669f2f fix(i2s): fixed i2s example build warning 2024-11-13 09:47:45 +08:00
727825663b doc(sdmmc): aadd UHS1 support for DDR50 / SDR50 2024-11-13 09:47:45 +08:00
cb41623b2e example(sdmmc): support hs and uhs1 sdr50/ddr50 2024-11-13 09:47:45 +08:00
9e3b7e4558 feat(sdmmc): supported UHS-I SDR50 (100Mhz) and DDR50 mode 2024-11-13 09:47:45 +08:00
cf44fc6a1f Merge branch 'fix/sdmmc_test_acmd22_esp32p4_fix' into 'master'
fix(sdmmc): Fix ACMD22 DMA buffer problem for ESP32-P4

Closes IDFCI-2499

See merge request espressif/esp-idf!34826
2024-11-13 06:53:49 +08:00
30b13b132d Merge branch 'update/deprecate_python38' into 'master'
feat: Drop Python 3.8 support

Closes IDF-7579

See merge request espressif/esp-idf!34419
2024-11-13 01:40:58 +08:00
d8949fe50f fix(ws_transport): Unit test on reading WS data byte by byte
Closes https://github.com/espressif/esp-idf/issues/14704
Closes https://github.com/espressif/esp-protocols/issues/679
2024-11-12 17:07:15 +01:00
5bae0b92ec Merge branch 'fix/import_error_msg' into 'master'
fix(tools): re-raise ImportError without module name

Closes IDF-11648

See merge request espressif/esp-idf!34780
2024-11-13 00:07:05 +08:00
7f54410256 fix(ws_transport): Fix reading WS header bytes
Correct split header bytes

When the underlying transport returns header,
length, or mask bytes early, again call the
underlying transport.

This solves the WS parser getting offset when
the server sends a burst of frames where the
last WS header is split across packet boundaries,
so fewer than the needed bytes may be available.

Merges https://github.com/espressif/esp-idf/pull/14706
2024-11-12 17:06:31 +01:00
ce72392e2f Merge branch 'feature/adds_recovery_bootloader_subtype' into 'master'
feat(partition_table): Support recovery bootloader subtype

See merge request espressif/esp-idf!34757
2024-11-12 22:54:39 +08:00
542a5d280c Merge branch 'contrib/github_pr_14733' into 'master'
fix(cmake): Prevent overwriting of component properties in output file (GitHub PR)

Closes IDFGH-13891

See merge request espressif/esp-idf!34807
2024-11-12 22:48:54 +08:00
05beacad73 Merge branch 'change/esp_ldo_reserve_for_spi_flash' into 'master'
LDO calibration on ESP32-P4

Closes IDF-10754

See merge request espressif/esp-idf!32347
2024-11-12 22:44:12 +08:00
33149921aa fix(gdbstub): remove QThreadEvents+ from qSupported 2024-11-12 21:18:51 +07:00
dca5d193fc feat(tools): update gdb version to 15.2_20241112 2024-11-12 14:07:16 +00:00
b0ffe15514 fix(sdmmc): Fix ACMD22 DMA buffer problem for ESP32-P4 2024-11-12 14:55:19 +01:00
b4f366f56f change(esp_system): do not include openocd stub bins by default 2024-11-12 14:04:17 +01:00
32040c7f98 fix(uart): fix race condition with the use of UART_SELECT_READ_NOTIF
UART_SELECT_READ_NOTIF needs to be sent after received data got processed
to avoid the potential race condition
2024-11-12 20:08:38 +08:00
e8f0299557 fix(uart): allow same pin for tx and rx in uart_set_pin
Also add IO reserve to uart driver

Closes https://github.com/espressif/esp-idf/issues/14787
2024-11-12 20:08:38 +08:00
ef4679d8c4 fix(bt/bluedroid): Fixed LE channel selection algorithm event reporting 2024-11-12 19:34:37 +08:00
de077c77b4 fix(esp-rom): Fix comment typos in cache.h
Fix typo in parameter names in cache_flash_mmu_set
amd cache_sram_mmu_set functions.
2024-11-12 12:05:03 +01:00
ccc2411191 feat(ble): Support for putting code in flash on ESP32-C2 2024-11-12 18:08:50 +08:00
bb9a2658a9 Merge branch 'docs/translate_partition_tables' into 'master'
docs: Provide CN translation for partition tables

Closes DOC-9274

See merge request espressif/esp-idf!34647
2024-11-12 17:23:40 +08:00
3318e0accd feat(pthread): Adds set/get sched param funcs
Closes https://github.com/espressif/esp-idf/issues/14821
Closes https://github.com/espressif/esp-idf/issues/8594
2024-11-12 17:23:03 +08:00
52f14f344d feat(partition_table): Support recovery bootloader subtype 2024-11-12 17:22:53 +08:00
a4acbd2758 feat: Drop Python 3.8 support
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-12 17:02:26 +08:00
e8fda6f776 fix(tools): re-raise ImportError without module name
The ImportError or ModuleNotFoundError might be raised without
specifying a module name. In this not so common situation, re-raise the
exception to print all the information that could assist in identifying
the problem.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-12 17:01:46 +08:00
e6ef4d1791 fix(uart): fix 8/16-bit uart register access 2024-11-12 16:52:10 +08:00
16eef27492 feat(ldo): load calibration parameters from efuse 2024-11-12 15:52:05 +08:00
d0e6e825d9 fix(esp_adc): fixed adc continue monitor don't work issue
Closes https://github.com/espressif/esp-idf/issues/14769
Closes https://github.com/espressif/esp-idf/issues/14814
2024-11-12 15:42:50 +08:00
64bbb53b8f feat(esp32h21): introduce target esp32h21(stage 1) 2024-11-12 15:42:27 +08:00
c9bf5d9698 feat(sdmmc): support for voltage switching in protocol layer 2024-11-12 15:39:42 +08:00
c41cead036 change(sdmmc): enable UHS-1 support in test_app, swap slots on P4 EV board 2024-11-12 15:39:42 +08:00
f5f46ab74c change(sdmmc): adapt host state machine for CMD11, commit reg/struct files 2024-11-12 15:39:42 +08:00
98f1dd969a change(sdmmc): disable the logic related to D3 line, it needs to be connected for CMD11 to work 2024-11-12 15:39:41 +08:00
2b29de78bb change(sdmmc): allow speciying pins for IOMUX slots as well 2024-11-12 15:39:41 +08:00
3107f0abe7 change(sdmmc): make sdmmc_host_clock_update_command compatible with CMD11 2024-11-12 15:39:41 +08:00
1689c7e14f Merge branch 'fix/nvs_generator_test_fail_due_to_safer_write_namespace_function' into 'master'
fix(nvs): Fix the NVS generator test (write_namespace safer behavior change)

Closes IDF-11674

See merge request espressif/esp-idf!34828
2024-11-12 15:38:22 +08:00
e7ab36ebbf docs: Provide CN translation for partition tables 2024-11-12 14:29:30 +08:00
afb4a02fe4 Merge branch 'fix/lwip_ping_ipv6only' into 'master'
fix(lwip): Fix IP6 raw socket checksum in IPv6-only configuration

Closes IDF-9670

See merge request espressif/esp-idf!33936
2024-11-12 13:36:12 +08:00
cf087cb8e5 Merge branch 'feat/size_unify_sections' into 'master'
feat(tools): unify sections in idf.py size reports for NG version

Closes IDF-11649

See merge request espressif/esp-idf!34788
2024-11-12 13:31:10 +08:00
2899c1e39f fix(esp_hw_support): fix sar disable access flash in IRAM_OPT sleep 2024-11-12 12:01:52 +08:00
ba2bf2f512 fix(nvs): Fix the nvs generator test (write_namespace safer behavior change) 2024-11-11 22:38:47 +01:00
d7d8828824 docs(tools): Mention idf_version.txt and ESP_IDF_VERSION in documentation 2024-11-11 16:08:47 +01:00
3f46b378bb Merge branch 'feat/esp32p4_unicore_stop_other_core' into 'master'
feat(esp_system): stop other core for unicore esp32p4

See merge request espressif/esp-idf!34753
2024-11-11 17:58:01 +08:00
ea902d6ed7 Merge branch 'bugfix/esp32c3_eco7_usj_console' into 'master'
fix(esp_rom): fix esp32c3 eco7 console rom function address

See merge request espressif/esp-idf!34671
2024-11-11 17:52:48 +08:00
dccbd16750 Merge branch 'docs/usb_host_ext_port_driver' into 'master'
docs(ext_port): Maintainers Notes for the External Port Driver

Closes IDF-11106

See merge request espressif/esp-idf!33350
2024-11-11 17:34:00 +08:00
06508329c8 Merge branch 'docs/edit_kconfig_docs' into 'master'
docs(kconfiglib): Make a detailed docs section about Kconfig

See merge request espressif/esp-idf!32995
2024-11-11 16:06:40 +08:00
7bc8b998a7 Merge branch 'bugfix/lmp_trans_collision' into 'master'
fix(bt/controller): Fixed some controller bugs on ESP32

Closes BTQABR2023-363 and BT-3577

See merge request espressif/esp-idf!34577
2024-11-11 15:19:27 +08:00
08ef00d82d Merge branch 'change/adc_conti_read_api_doc_update' into 'master'
adc: updated continuous mode read API doc about block timeout description

Closes IDFGH-14033

See merge request espressif/esp-idf!34796
2024-11-11 14:30:54 +08:00
87e4f63c77 Merge branch 'feature/ble_mesh_50_api_minimal' into 'master'
Feature/ble mesh 50 api minimal

Closes BLERP-1211 and BLERP-1212

See merge request espressif/esp-idf!31510
2024-11-11 14:22:31 +08:00
56db9a2841 Merge branch 'fix/fix_cache_stuck_in_esp_restart' into 'master'
fix(esp_system): fix P4 possible crash on esp_restart if PSRAM is used

Closes PM-291

See merge request espressif/esp-idf!34778
2024-11-11 14:00:58 +08:00
4df585e1a8 doc(adc): updated continuous mode read API block timeout description
Closes https://github.com/espressif/esp-idf/issues/14854
2024-11-11 12:09:04 +08:00
3ec05583b2 Merge branch 'contrib/github_pr_14771' into 'master'
fix(example/system/console): Add 'info' to log_level command description (GitHub PR)

Closes IDFGH-13933

See merge request espressif/esp-idf!34413
2024-11-11 10:56:56 +08:00
2414b285c0 Merge branch 'fix/move_softap_csa_and_dtim_to_nvs' into 'master'
change(wifi): move softap dtim and csa to nvs

Closes WIFIBUG-666

See merge request espressif/esp-idf!34489
2024-11-11 10:42:40 +08:00
611e163024 Merge branch 'feat/esp32c61_adc_support' into 'master'
ADC: support ADC oneshot and continuous mode on ESP32C61

Closes IDF-9302 and IDF-9304

See merge request espressif/esp-idf!32907
2024-11-11 10:22:47 +08:00
7962d54c4c fix(usb_host): return ESP_ERR_NO_MEM on failed alloc in client register
Fixes issue where ESP_ERR_NO_MEM was being silently discarded after
cleaning up after a failed malloc in usb_host_client_register.

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2024-11-10 19:55:18 -05:00
4e3e73f353 fix(examples/usb_host_lib): correct typo in comments
Fixes a small typo in comments

Signed-off-by: Daniel Mangum <georgedanielmangum@gmail.com>
2024-11-10 19:39:53 -05:00
d74e99c08a Merge branch 'feat/i2c_slave_v2' into 'master'
feat(i2c_slave): Add new i2c slave driver --version two with great stretch handling. 🏂

See merge request espressif/esp-idf!33802
2024-11-09 18:43:41 +08:00
110bfc1f45 Merge branch 'feature/adds_bootloader_rollback_configs' into 'master'
feat(bootloader): Adds bootloader anti rollback configs

See merge request espressif/esp-idf!34759
2024-11-09 01:41:50 +08:00
f817b85fc3 Merge branch 'feature/ota_update_for_partitions' into 'master'
feat(ota): Supports OTA update for any partitions (bootloader, partition_table, nvs, etc.)

Closes IDFGH-13262, IDF-7781, and IDFGH-12860

See merge request espressif/esp-idf!32866
2024-11-09 00:53:45 +08:00
d03ead4cf8 Merge branch 'ci/improve_overall_logging' into 'master'
ci: target-test job skip installing toolchain, only install python env

See merge request espressif/esp-idf!34232
2024-11-08 23:27:04 +08:00
b3bae69c5c Merge branch 'fix/mfg_gen_csv_and_bin_prefix' into 'master'
feat(mfg_gen): Added file name serial count prefix for intermediate csv and bin...

See merge request espressif/esp-idf!34251
2024-11-08 23:22:58 +08:00
798d35b2e1 feat(tools): unify sections in idf.py size reports for NG version
By default, esp-idf-size.ng displays all sections individually. This can
be confusing, especially if CONFIG_SOC_MEM_NON_CONTIGUOUS_SRAM is
enabled, resulting in sections like .dram0.data and .dram1.data being
abbreviated as two .data sections in the size report. To avoid confusion
for idf.py and cmake users, pass the --unify option to the underlying
esp_idf_size.ng by default.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-08 15:44:19 +01:00
99f1455199 feat(mfg_gen): provision for specifying prefix counter for csv/bin files 2024-11-08 18:52:00 +05:30
816a0da0fd feat(bootloader): Adds bootloader anti rollback configs 2024-11-08 13:53:24 +02:00
8f777699ff Merge branch 'ci/fix_macos_ccache' into 'master'
CI: Fix failing ccache and show ccache statistics for macOS tests (master)

See merge request espressif/esp-idf!33846
2024-11-08 19:44:23 +08:00
8b191dd7a1 fix(lwip): Fix ping_v6 receiving to accept only echo replies
This fixes a bug where we ping our own IP and the request itself
bounces back to the raw receive function and is incorrectly treated as
reply. (this bug was discovered when fixing ICMPv6 pings with incorrect
checksums, while the ping request was dropped in icmpv6.c due to wrong
checksum, but was also fed to raw layers where it was treated as
"correct" response, so the PINGv6 to ourselves still worked)
2024-11-08 12:21:35 +01:00
c7e2a9ea0d fix(common_connect): Fix example's stdin/out to setup UART interrupt once
Function example_configure_stdin_stdout() was used for simple UART I/O
operation in CI to enter test env configuration (wifi ssid, IPs, etc).
It could be called multiple times, but didn't handle the situation where
we install UART interrupt from multiple source (e.g. in ICMP tests,
where we first need to enter wifi credentials of test AP and then we
start ping-cmd console to handle ping commands)
2024-11-08 12:21:35 +01:00
f269835865 fix(lwip): Fix IP6 raw socket checksum in IPv6-only configuration 2024-11-08 12:21:35 +01:00
9a41a61dd5 fix(esp_system): writeback L1 Dcache before disable L2 if PSRAM used 2024-11-08 18:44:14 +08:00
197128b162 fix(wifi): Remove WPS IEs once WPS succeeds 2024-11-08 15:59:58 +05:30
2a5743c0c5 ci: target-test job skip installing toolchain, only install python env
also run with collapsed time section to better track run time
2024-11-08 11:17:57 +01:00
83306b79ef ci: ignore test-specific 3rd-party libs while building clang projects 2024-11-08 11:15:17 +01:00
3e2b56d114 feat: idf_tools.py export support env var "IDF_SKIP_TOOLS_CHECK" 2024-11-08 11:13:44 +01:00
5a3f53a2b5 ci: print esp-coredump output when failed in panic tests 2024-11-08 11:13:43 +01:00
92cd70acc9 ci: remove gcc dependency in target test 2024-11-08 11:13:43 +01:00
f84f883ab4 ci: change logging level from debug to info for build jobs 2024-11-08 11:13:43 +01:00
d137deed2a ci: add timeout for build jobs 2024-11-08 11:13:43 +01:00
dcb4bf4600 ci: stop print presigned url, since the credential is masked 2024-11-08 11:13:39 +01:00
fc81b6878e feat(i2c_slave): Add new example for making i2c slave as a network sensor 2024-11-08 18:04:29 +08:00
63e74e6b68 test(i2c_slave): Add some new tests for i2c slave version 2 2024-11-08 18:04:29 +08:00
941d0e0779 feat(i2c_slave): refactor i2c slave api to version 2 inorder to solve some existing problem 2024-11-08 18:04:29 +08:00
f15c1b4c4f Merge branch 'feature/efuse_s3_adds_psram_cap_bit' into 'master'
feat(efuse): Adds 3 bit for PSRAM_CAP efuse field

Closes IDF-11477

See merge request espressif/esp-idf!34644
2024-11-08 17:43:29 +08:00
8576f40ced Merge branch 'fix/fix_154_ext_coex' into 'master'
fix(coex): fix 802.15.4 external coexistence

Closes TZ-1182

See merge request espressif/esp-idf!33879
2024-11-08 17:24:05 +08:00
efd04b7709 feat(adc): support ADC oneshot and continuous on C61 2024-11-08 17:13:26 +08:00
d2c74a6b1e Merge branch 'change/btl_fetch_app_desc' into 'master'
change(bootloader): Map only the necessary length when fetching the app description struct

See merge request espressif/esp-idf!34752
2024-11-08 17:03:53 +08:00
0bda2f8990 fix(esp_rom): fix esp32c3 eco7 console rom function address 2024-11-08 16:32:47 +08:00
3730567940 Merge branch 'feat/update_openthread_submodule_and_br_lib' into 'master'
feat(openthread): update openthread submodule and border router lib

See merge request espressif/esp-idf!34547
2024-11-08 15:55:04 +08:00
6b54dfc636 Merge branch 'feat/mcpwm_sleep_rentention' into 'master'
feat(mcpwm): support sleep retention

Closes IDF-9752 and IDF-8473

See merge request espressif/esp-idf!33839
2024-11-08 15:39:58 +08:00
7f07c9de44 Merge branch 'feature/ptp' into 'master'
Feature/ptp

Closes IDFGH-12397

See merge request espressif/esp-idf!33058
2024-11-08 15:10:07 +08:00
1a30fd0c39 Merge branch 'fix/c61_gpio_num_hardware_update' into 'master'
fix(esp_driver_gpio): esp32c61 gpio number update 22 -> 25

See merge request espressif/esp-idf!34747
2024-11-08 14:21:09 +08:00
a86bb375f7 feat(ble_mesh): Support BLE 5.0 for BLE Mesh 2024-11-08 14:17:52 +08:00
cfdefd3e03 fix(bt/controller): Fixed some controller bugs on ESP32
- Fixed wrong logic in handling sniff transaction collision at slave
      side
    - Fixed the issue ACL is stopped too early before eSCO
2024-11-08 12:53:56 +08:00
c79eb0d5bf fix(bt/bluedroid): AG should send OK or other error codes to HF client
when it is driven by HF to initiate a call.
2024-11-08 12:51:00 +08:00
01cd5cf4fe Merge branch 'bugfix/gpio_set_level_atomic' into 'master'
fix(gpio): improve set level performance

See merge request espressif/esp-idf!34744
2024-11-08 11:43:16 +08:00
f0ab551348 Merge branch 'bugfix/fix_avrc_absolute_volume_compatibility' into 'master'
bugfix/fix_avrc_absolute_volume_compatibility

Closes FCS-1619

See merge request espressif/esp-idf!34563
2024-11-08 11:07:46 +08:00
a50c095df1 fix(esp_driver_gpio): esp32c61 gpio number update 22 -> 25 2024-11-08 10:36:20 +08:00
ad476afb5c Merge branch 'feat/mipi_dsi_yuv_converter' into 'master'
feat(lcd): support YUV422 input color format

See merge request espressif/esp-idf!34530
2024-11-08 10:35:32 +08:00
a843827c8e feat(sysview): update to version 3.56 2024-11-07 21:58:30 +01:00
bb329c4e53 feat(bootloader): Move rollback configs into a separate menu 2024-11-07 19:25:58 +02:00
457f65195e Merge branch 'fix/example_sta2eth_more_docs' into 'master'
fix(sta2eth): Document security consideration in sta2eth example

Closes IDFGH-13990

See merge request espressif/esp-idf!34518
2024-11-08 00:57:00 +08:00
cce9a80aee fix(sta2eth): Check for null netif before starting/stopping DHCP server
Fixes a potential null pointer dereference in `esp_netif` when PPP mode is enabled.
In the Ethernet event handler, `esp_netif_dhcps_start()` and `esp_netif_dhcps_stop()`
are now only called if `netif` is non-null (in provisioning mode when
the actual TCP/IP stack from IDF is used, in work mode the `netif` is
null, since the trafic is simply forwarded between wireless and wired
networks without TCP/IP stack involved)

Closes https://github.com/espressif/esp-idf/issues/14816
2024-11-07 17:48:59 +01:00
94536cb512 fix(sta2eth): Make some Ethernet options configurable 2024-11-07 17:48:53 +01:00
4fa6e03879 fix(macos): ccache: re-enable, show stats, set CCACHE_DIR, limit CCACHE_MAXSIZE 2024-11-07 22:22:28 +08:00
d2fe62f682 feat(esp_system): stop other core for unicore esp32p4 2024-11-07 14:00:55 +01:00
19ab0213d9 change(bootloader): Map only the necessary length when fetching the app description struct 2024-11-07 18:13:53 +05:30
f41b43dc43 feat(openthread): update openthread submodule and border router lib 2024-11-07 20:22:48 +08:00
68e9bcbf1e fix(build): clean up dependencies on driver component 2024-11-07 13:09:23 +01:00
97d150d69a feat(app_update): OTA update bootloader, partition_table and other partitions
Passive app partition can be used as the staging partition where a new image is loaded.
Then copy it to the final partition.

Closes: https://github.com/espressif/esp-idf/issues/14195
Closes: https://github.com/espressif/esp-idf/issues/13824
2024-11-07 13:48:51 +02:00
ac630e4417 fix(sta2eth): Document security considerations in sta2eth example 2024-11-07 10:24:54 +01:00
0ed4c19c5e feat(lcd): support color conversion for mipi dsi driver 2024-11-07 17:02:54 +08:00
712e6ad927 fix(gpio): improve set level performance
by avoid "read-modify-write" operation. The registers designed to be
write only.

Related to https://github.com/espressif/esp-idf/issues/14674
2024-11-07 16:29:28 +08:00
5e056de1e7 Merge branch 'fix/lwip_docs_thread_safe_socks' into 'master'
fix(lwip): Document that not all sock operations are thread safe

See merge request espressif/esp-idf!34333
2024-11-07 15:41:12 +08:00
db579962b6 change(wifi): change softap default dtim period to 1 2024-11-07 15:33:11 +08:00
8aa56d805a Merge branch 'docs/add_header_files_http_server_code_example' into 'master'
docs: add a note on required header files for the esp_http_server example

See merge request espressif/esp-idf!34389
2024-11-07 15:03:57 +08:00
d2b1202d5a feat(esp_eth): added HW Time Stamping support for ESP32P4
Added mechanism to L2 TAP to retreive time stamp

Added PTP time synchronization example
2024-11-07 15:01:24 +08:00
269322191a Merge branch 'fix/i2c_bus_handle_check' into 'master'
fix(i2c): Add bus handle check so that it will not be panic when there is no free bus

Closes IDFGH-13993 and IDFGH-13963

See merge request espressif/esp-idf!34695
2024-11-07 12:21:33 +08:00
8e4ff8bcba feat(mcpwm): support sleep retention 2024-11-07 12:06:31 +08:00
d1e7939940 fix(coex): fix 802.15.4 external coexistence 2024-11-07 11:54:51 +08:00
9c5dde5536 refactor(panic): refactor and unify cache panic errors 2024-11-07 11:39:40 +08:00
ef437b7b0d Merge branch 'feat/update_lvgl_in_parlio_tx_example' into 'master'
feat(parlio): adapt rgb_matrix example to lvgl9

See merge request espressif/esp-idf!34612
2024-11-07 11:26:28 +08:00
6fdd380812 Merge branch 'bugfix/fix_tbtt_interval_update_fail' into 'master'
fix(wifi/pm): Fixed the STA tbtt interval update error when AP's beacon interval changed

Closes IDFGH-13875

See merge request espressif/esp-idf!34672
2024-11-07 09:05:04 +08:00
4a444c80ae Merge branch 'fix/littlefs_image_creation_windows' into 'master'
fix(littlefs): Allow LittleFS image generation on Windows + version bump

Closes IDFGH-11805

See merge request espressif/esp-idf!34686
2024-11-07 01:13:40 +08:00
dbc6be3138 fix(docs): Fix links pointing to esp-idf-kconfig Documentation 2024-11-06 15:51:13 +01:00
97e669214c fix(littlefs): Allow LittleFS image generation on Windows + version bump
Closes https://github.com/espressif/esp-idf/issues/12900
2024-11-06 14:08:44 +01:00
8bd4071f92 Merge branch 'fix/linker_script_check_missing_function' into 'master'
fix(802.15.4): add no inline to some static function

Closes TZ-1266

See merge request espressif/esp-idf!34702
2024-11-06 20:13:32 +08:00
280b3d9e62 fix(i2c): Fix some issue in programming guide,
Closes https://github.com/espressif/esp-idf/issues/14794
2024-11-06 18:48:11 +08:00
0a098f49d4 fix(i2c): Add bus handle check so that it will not be panic when there is no free bus,
Closes https://github.com/espressif/esp-idf/issues/14819
2024-11-06 18:48:11 +08:00
87f2080705 feat(parlio): adapt rgb_matrix example to lvgl9 2024-11-06 17:43:05 +08:00
0eeb544bd2 fix(mcpwm): fix mcpwm register offset on p4 2024-11-06 17:29:58 +08:00
4c6cda734d Merge branch 'feature/mmu_page_size_from_app_bin' into 'master'
feat(bootloader): add support to use MMU page size from app binary

Closes IDF-8209

See merge request espressif/esp-idf!33989
2024-11-06 17:14:31 +08:00
670d34e363 fix(wifi/pm): Fixed the tbtt interval update error when AP's beacon interval changed
Closes https://github.com/espressif/esp-idf/issues/14720
2024-11-06 16:55:06 +08:00
b7aecdbbaf Merge branch 'fix/zigbee_gateway_readme_link' into 'master'
fix(zigbee_example): Fix the link in zigbee gateway readme file

See merge request espressif/esp-idf!34698
2024-11-06 16:28:39 +08:00
df120ac962 Merge branch 'contrib/github_pr_14734' into 'master'
docs: fix all references to HTTPD_{GET,POST,PUT} (GitHub PR)

Closes IDFGH-13892

See merge request espressif/esp-idf!34418
2024-11-06 16:12:20 +08:00
e8c5992a57 fix(lwip): Document that not all sock operations are thread safe 2024-11-06 08:24:45 +01:00
1f49c9a845 Merge branch 'bugfix/fixed_h2_assert_master_1031' into 'master'
Bugfix/fixed h2 assert master 1031

Closes BLERP-1172

See merge request espressif/esp-idf!34537
2024-11-06 15:06:41 +08:00
zwx
068790baa9 fix(802.15.4): add no inline to some static function 2024-11-06 14:52:46 +08:00
9d4a897d47 fix(zigbee_example): Fix the link in zigbee gateway readme file 2024-11-06 14:40:09 +08:00
c8b67235e6 Merge branch 'feature/support_to_query_phy_rf_used_time' into 'master'
feat(phy): support to query phy used time

See merge request espressif/esp-idf!29234
2024-11-06 12:11:22 +08:00
402fecee17 Merge branch 'feature/lp_spi_example' into 'master'
feat(lp_core): added lp-spi example for lp core

Closes IDF-10287

See merge request espressif/esp-idf!34521
2024-11-06 10:58:19 +08:00
50ac90b489 Merge branch 'fix/nmi_not_triggering_on_s3' into 'master'
fix(examples): fix NMI interrupt example to work on ESP32-S3

Closes IDFCI-2475

See merge request espressif/esp-idf!34267
2024-11-06 10:09:57 +08:00
a89a954a85 [Examples] [Async Handlers] simplify code 2024-11-05 14:22:24 -08:00
b2e0bd9200 Merge branch 'fix/sdmmc_send_acmd22_after_multiple_write_cmd' into 'master'
fix(sdmmc): Send ACMD22 if CMD25 fails

Closes IDF-9630

See merge request espressif/esp-idf!34376
2024-11-06 04:34:06 +08:00
765fe330ea test: add configurable mmu page size test app
Test app to ensure that bootloader and application built with
different flash MMU page size are compatible. This is for the
SoCs that support configurable flash MMU page size.
2024-11-05 20:37:31 +05:30
afa46c06a8 feat(bootloader): add support to use MMU page size from app binary
For the SoCs that support configurable MMU page size, it is possible
that the bootloader and application are built with different MMU page
size configuration. This mismatch is not supported at the moment and
application verification fails (at bootup or during OTA update).

Configuring MMU page size helps to optimize the flash space by having
smaller alignment and padding (secure) requirements. Please note that
the MMU page size is tied with the flash size configuration at the
moment (`ESPTOOLPY_FLASHSIZE_XMB`).

This MR ensures that application verification happens using the MMU page
size configured in its binary header. Thus, bootloader and application
can now have different MMU page sizes and different combinations shall
be supported.
2024-11-05 20:37:18 +05:30
72308ca089 Merge branch 'feat/add_activate_debug_information' into 'master'
feat(tools): Imporve activate.py debug information

Closes IDF-11378

See merge request espressif/esp-idf!34534
2024-11-05 21:13:20 +08:00
26002e13fc feat(tools): Imporve activate.py debug information 2024-11-05 13:53:00 +01:00
405327d22a Merge branch 'fix/c61_h2_pmu_icg_csv_update' into 'master'
fix(pmu): c61 and h2 update pmu_icg_mapping.h

See merge request espressif/esp-idf!34370
2024-11-05 20:18:04 +08:00
67169f8efd Merge branch 'docs/update_cn_translation' into 'master'
docs: Sync CN and EN files

Closes DOC-9182

See merge request espressif/esp-idf!34249
2024-11-05 19:18:36 +08:00
0c07ee6baf Merge branch 'feature/twt_add_parameter_to_enable_keep_alive' into 'master'
feat(twt): twt add parameter to enable keep alive

Closes WIFIBUG-927

See merge request espressif/esp-idf!34532
2024-11-05 19:04:55 +08:00
d46b23d44b Merge branch 'docs/fix_section_visibility_esp32p4' into 'master'
Fix typo to make a section visible for non-esp32 SPIRAM supported targets

See merge request espressif/esp-idf!34482
2024-11-05 18:37:35 +08:00
6f86f70f0a docs: Sync CN and EN files 2024-11-05 18:03:42 +08:00
3e4955345a fix(ci): optimize an openthread ci case 2024-11-05 17:26:03 +08:00
f0701b265d feat(phy): support to query phy used time 2024-11-05 17:18:35 +08:00
7aaab5a3ff Merge branch 'fix/esp_prov_ipv6_resolve' into 'master'
fix(tools): Fix hostname resolving for IPv6-only host

See merge request espressif/esp-idf!34452
2024-11-05 17:15:16 +08:00
9677a4929f Merge branch 'feat/add_temperature_calib' into 'master'
feat(temperature_sensor): Add temperature sensor calibration support

Closes IDF-5236

See merge request espressif/esp-idf!34634
2024-11-05 16:28:58 +08:00
682a66d164 fix(tools/esp_prov): Fix hostname resolving for IPv6-only host 2024-11-05 15:24:23 +08:00
7e90a41bc9 Merge branch 'refactor/regi2c_mst_clock_enable' into 'master'
refactor(regi2c): analog i2c mst clock should be enabled/disabled per usage

Closes IDF-10492 and IDF-10693

See merge request espressif/esp-idf!32682
2024-11-05 15:15:26 +08:00
0546805fc5 Merge branch 'fix/bod_p4eco2_fix' into 'master'
fix(bod): Remove config for bod on p4 eco1

See merge request espressif/esp-idf!34589
2024-11-05 14:42:15 +08:00
34ba72a431 feat(twt): twt add parameter to enable keep alive 2024-11-05 14:12:02 +08:00
e1a3ff1529 Merge branch 'bugfix/wrong_return_type' into 'master'
fix(i2c_lcd): wrong return type for esp_lcd_new_panel_io_i2c

See merge request espressif/esp-idf!34643
2024-11-05 13:44:39 +08:00
7786cbe2c8 docs(mem_alloc): Fix typo to make a section visible for non-esp32 spiram targets 2024-11-05 10:56:20 +05:30
ae51dcc227 Merge branch 'ci/nightly_run_crt_bundle_stress_test' into 'master'
Run https x509 bundle default crt bundle stress test using QEMU

See merge request espressif/esp-idf!34508
2024-11-05 13:19:51 +08:00
47c8ca5556 Merge branch 'feature/updated-zigbee-examples' into 'master'
feat(zigbee): Upgrade zigbee examples

See merge request espressif/esp-idf!33223
2024-11-05 12:11:26 +08:00
4b352d1c4f fix(bt/bluedroid): Fixed setting perfer conn params complete event report 2024-11-05 10:51:58 +08:00
5c3cb06d18 Merge branch 'bugfix/modify_bandwidth_in_ap_records' into 'master'
fix(wifi): modify bandwidth in wifi_ap_record_t

Closes WIFIBUG-910

See merge request espressif/esp-idf!34455
2024-11-05 10:47:11 +08:00
75aea08703 fix(bod): Remove config for bod on p4 v0.x 2024-11-05 10:39:28 +08:00
6bf2d91c4d test(sdmmc): Add test_apps test for sdmmc component 2024-11-05 02:36:43 +01:00
9386b58e17 fix(sdmmc): Generalize waiting for card idle to a function 2024-11-05 02:36:42 +01:00
cfe6c45122 feat(lp_core): added lp-spi example for lp core
Added an example of using lp-spi from lp-core to read sensor data
from a BME280 sensor.
2024-11-05 08:18:09 +08:00
08f1c3681a Merge branch 'bugfix/fix_ble_build_fail' into 'master'
fix(ble/bluedroid): Fixed BLE build fail when enable dynamic memory and BLE5.0

Closes BT-3862

See merge request espressif/esp-idf!34581
2024-11-05 06:15:38 +08:00
676f5194d5 Merge branch 'fix/sdio_slave_add_pm_lock' into 'master'
fix(sdio_slave): fix issue that auto light sleep can happen SDIO slave enabled

Closes IDF-8476

See merge request espressif/esp-idf!33579
2024-11-05 03:19:33 +08:00
5cc9931dc7 ci(examples/protocols): Run the https x509 bundle default crt bundle stress test using QEMU 2024-11-04 22:42:37 +05:30
70b652052e feat(efuse): Adds 3 bit for PSRAM_CAP efuse field 2024-11-04 17:27:53 +02:00
2d8053aabf fix(i2c_lcd): wrong return type for esp_lcd_new_panel_io_i2c
when build for C++ project
2024-11-04 21:29:14 +08:00
403d44ae68 docs(wifi): add migration guide for types change in wifi 2024-11-04 21:17:37 +08:00
e6a97d2c56 Merge branch 'fix/fix_esp32c61_can_not_tx_under_ht40_above' into 'master'
fix(wifi): fix can not tx frame under ht40 above

See merge request espressif/esp-idf!34175
2024-11-04 20:48:38 +08:00
1f47975472 Merge branch 'bugfix/idf-11064' into 'master'
fix some issues on esp32c5 eco1

Closes IDF-11064 and IDF-11066

See merge request espressif/esp-idf!34350
2024-11-04 20:46:01 +08:00
93e77a4df6 fix(wifi): modify bandwidth in wifi_ap_record_t 2024-11-04 20:32:34 +08:00
c0f3ac4295 Merge branch 'fix/fix_writeback_psram_after_vo2_powerdown' into 'master'
fix(esp_hw_support): fix writeback cache to psram after vo2 powerdown

Closes PM-286

See merge request espressif/esp-idf!34578
2024-11-04 20:03:06 +08:00
e1abef5e9b feat(temperature_sensor): Add temperature sensor calibration support 2024-11-04 18:42:00 +08:00
94d1a4f1c0 fix(ble/bluedroid): Fixed BLE build fail when enable dynamic memory and BLE5.0 2024-11-04 17:41:34 +08:00
3cc9d42695 Merge branch 'fix/jpeg_com_marker' into 'master'
fix(jpeg): Fix the length of com marker

See merge request espressif/esp-idf!34549
2024-11-04 17:03:46 +08:00
3357fe8b95 Merge branch 'docs/update_uart_events_description' into 'master'
docs: update descriptions for UART events

See merge request espressif/esp-idf!34049
2024-11-04 16:30:20 +08:00
5504a596e2 Merge branch 'fix/fetch_image_hdr' into 'master'
fix(esp_system): Correct address used to fetch application image header

See merge request espressif/esp-idf!34375
2024-11-04 16:26:53 +08:00
6b3ae2822d docs: fix all references to HTTPD_{GET,POST,PUT} 2024-11-04 16:13:07 +08:00
ed21c54a64 fix(bt/bluedroid): Fixed AVRCP compatibility issue on absolute volume synchronization 2024-11-04 16:10:30 +08:00
c4bde5dfae Merge branch 'bugfix/fix_crash_issue_in_mesh_tx_task' into 'master'
fix(wifi/mesh): Enlarge the mesh TX task stack

Closes WIFIBUG-906

See merge request espressif/esp-idf!34617
2024-11-04 15:55:34 +08:00
375156918e fix(wifi): fix esp32c61 can not tx frame under ht40 above 2024-11-04 14:23:11 +08:00
a41c2d498e feat(zigbee): Upgrade the Zigbee lib to v1.6 for Zigbee examples
- Optimize the Zigbee light, switch and gateway examples
- Remove the esp_zigbee_rcp example
2024-11-04 14:21:42 +08:00
2cb35a2955 refactor(regi2c): ana i2c master clock is enabled per request 2024-11-04 12:37:17 +08:00
92ed77933b refactor(clk): deprecate SOC_RTC_FAST_CLK_SRC_XTAL_DIV 2024-11-04 12:37:17 +08:00
5976e391ea fix(esp_system): Correct address used to fetch application image header 2024-11-04 09:58:37 +05:30
45ea08b955 fix(esp_hw_support): fix the issue of wifi rx packet loss when switchng soc root clock source 2024-11-04 11:19:29 +08:00
f46b9ed5a6 fix(esp_hw_support): fix the issue of mmu table content loss due to default sd signal 2024-11-04 11:11:36 +08:00
02f6738d22 fix(wifi/mesh): Enlarge the mesh TX task stack 2024-11-04 11:08:56 +08:00
ce6085349f Merge branch 'feature/adds_efuse_adc_calib_data' into 'master'
feat(efuse): Adds efuse ADC calib data for P4 C5 C61

See merge request espressif/esp-idf!33934
2024-11-02 05:56:30 +08:00
c2acddda7b Merge branch 'fix/sysview_stack_overflow' into 'master'
fix(sysview): reduce isr stack usage to avoid stack guard exception

Closes IDF-11338

See merge request espressif/esp-idf!34604
2024-11-02 01:56:05 +08:00
37b600124f feat(efuse): Adds efuse ADC calib data for ESP32-C61 2024-11-01 23:08:53 +08:00
7397c159cb feat(efuse): Adds efuse ADC calib data for ESP32-C5 2024-11-01 23:08:53 +08:00
5b1891c2fa feat(efuse): Adds efuse ADC calib data for ESP32-P4 2024-11-01 23:08:53 +08:00
a71eb45ca1 Merge branch 'bugfix/set_iv_to_random_for_esptouch_v2' into 'master'
fix(wifi): Support random AES IV in esptouch_v2

Closes WIFI-6688

See merge request espressif/esp-idf!34084
2024-11-01 18:51:18 +08:00
5e8443a2f6 Merge branch 'bugfix/osi_replace_free' into 'master'
fix(bt/bluedroid): Replace free/malloc with osi_free/malloc

See merge request espressif/esp-idf!34507
2024-11-01 17:40:21 +08:00
d1e5fd08ff fix(sysview): reduce isr stack usage to avoid stack guard exception 2024-11-01 10:16:06 +01:00
569222488e Merge branch 'feature/bootloader_extra_dir' into 'master'
feat(bootloader): add the possibility to specify extra components directories

See merge request espressif/esp-idf!33433
2024-11-01 16:58:01 +08:00
63fdde6cd4 Merge branch 'bugfix/chip823_pll_low_temp_bug' into 'master'
[H2]Fix cpu switch fail for bbpll cali fail bug in low temp

See merge request espressif/esp-idf!31374
2024-11-01 16:45:57 +08:00
48ebf7c715 fix(esp_hw_support): only support power down flash after revison v1.0 on esp32p4 2024-11-01 16:26:12 +08:00
8fb28dcedc fix(wifi): Support AES IV with random value in esptouch v2 2024-11-01 16:23:37 +08:00
e27889a146 Merge branch 'ci/run_gdma_after_reset' into 'master'
fix(gdma): run test cases after reset

See merge request espressif/esp-idf!34572
2024-11-01 16:23:23 +08:00
90abcdebf2 Merge branch 'fix/windows_escape_seq' into 'master'
fix: recommend using Windows Terminal in case of issues with escape sequences

Closes IDFGH-13646

See merge request espressif/esp-idf!34516
2024-11-01 16:01:25 +08:00
d1991b5b46 Merge branch 'docs/translate_isp' into 'master'
Docs/Provide CN translation for isp.rst

Closes DOC-8335

See merge request espressif/esp-idf!32051
2024-11-01 15:36:55 +08:00
1a419e594b Merge branch 'feature/support_primary_subtypes' into 'master'
feat(partition_table): Support primary subtypes partitions

Closes IDF-11330

See merge request espressif/esp-idf!34194
2024-11-01 15:13:31 +08:00
7bc9393301 Merge branch 'fix/energy_scan_api_para_mismatch' into 'master'
fix(openthread): set channel for energy scan

See merge request espressif/esp-idf!34515
2024-11-01 15:12:41 +08:00
feafc84ece fix(esp_hw_support): fix writeback cache to psram after vo2 powerdown 2024-11-01 14:11:40 +08:00
729c55b790 docs: changed bootloader extra component to a property in build-system.rst 2024-11-01 13:52:01 +08:00
a49454e352 docs: Update CN translation according to review 2024-11-01 13:52:01 +08:00
e33bcaa6d3 feat(bootloader): use idf property to specify extra components directories 2024-11-01 13:52:01 +08:00
a1df6b8185 docs: Update CN translation for api-guides/build-system.rst 2024-11-01 13:52:01 +08:00
775c65a6b7 feat(bootloader): add the possibility to specify extra components directories 2024-11-01 13:52:01 +08:00
a2f3585030 Merge branch 'feat/openthread_dataset_changed_event' into 'master'
feat(openthread): Add dataset changed event and post it in state change callback

See merge request espressif/esp-idf!34543
2024-11-01 10:56:03 +08:00
90e71bfa48 Merge branch 'fix/twai_io_init_glitch' into 'master'
fix(driver_twai): fixed bus-off when twai_init due to wrong gpio config

Closes IDFGH-13672, IDF-11129, and IDF-9113

See merge request espressif/esp-idf!33929
2024-11-01 10:26:43 +08:00
566721629f Merge branch 'bugfix/fix_association_failed_in_internal_reconnection' into 'master'
fix(wifi): clear pmk in internal reconnection

Closes WIFIBUG-869, WIFIBUG-894, and PM-264

See merge request espressif/esp-idf!34181
2024-11-01 10:17:34 +08:00
f6d154e761 fix(examples): fix NMI interrupt example to work on ESP32-S3 2024-11-01 10:17:09 +08:00
24056620ef Merge branch 'ci/fix_build_rules_system' into 'master'
ci(system): fixed build-test-rules which used ARCH config

See merge request espressif/esp-idf!34585
2024-11-01 10:16:41 +08:00
0e8a933488 ci(system): fixed build-test-rules which used ARCH config
These variables are not availble when evaluating the rules, resulting
in that the tests were never run.
2024-11-01 09:23:47 +08:00
50aeec2f97 Merge branch 'bugfix/uart_vfs_read_behavior' into 'master'
fix(uart_vfs): read() now aligned to POSIX defined behavior

Closes IDF-10424 and IDFGH-13218

See merge request espressif/esp-idf!33435
2024-10-31 23:14:07 +08:00
8ac260a9d7 Merge branch 'feature/alloc_nat64_session_from_psram' into 'master'
feat(openthread): support alloc nat64 session from psram

See merge request espressif/esp-idf!33410
2024-10-31 21:39:08 +08:00
2c1bec2c70 fix(sdmmc): Send ACMD22 if CMD25 fails
Send the number of the written write blocks (ACMD22) after
write multiple blocks fails (CMD25)
2024-10-31 14:30:51 +01:00
ed31c19933 fix(sdio_slave): prevents peripheral power domain being powered off when SDIO slave in use 2024-10-31 21:25:40 +08:00
df2d09e3e0 feat(sleep_retention): allow drivers taking TOP power lock
Also add a dump function
2024-10-31 21:25:37 +08:00
116c3d6ddb Merge branch 'ci/fix_diff_manifest_sha' into 'master'
ci: use different base commit for merge result pipelines

Closes RDT-989

See merge request espressif/esp-idf!34571
2024-10-31 20:29:56 +08:00
f4a6f1cc96 fix(esp_hw_support): fix hp clock wait time calculation after wait pll ready 2024-10-31 20:28:29 +08:00
58b1838946 feat(esp_hw_support): wait pll stable after sleep wakeup 2024-10-31 20:28:28 +08:00
8318adb448 fix: recommend using Windows Terminal in case of issues with escape sequences
Closes https://github.com/espressif/esp-idf-monitor/issues/17
2024-10-31 12:56:05 +01:00
203e5432a9 Merge branch 'fix/set_local_device_name_during_lm_initializaiton' into 'master'
fix(bt): fixed some issues in bt controller on ESP32

Closes BT-3871 and CBI-864

See merge request espressif/esp-idf!34066
2024-10-31 19:39:05 +08:00
a4ef854a2d ci: use different base commit for merge result pipelines 2024-10-31 12:37:01 +01:00
8c4f576f99 feat(partition_table): Support primary subtypes partitions 2024-10-31 13:16:01 +02:00
f9d6c4df20 Merge branch 'feat/pcnt_sleep_retention' into 'master'
feat(pcnt): add sleep retention init to avoid light sleep when pcnt is working

See merge request espressif/esp-idf!33691
2024-10-31 19:12:49 +08:00
7e5741953d fix(wifi): fix some wifi issues 241031
1. fix cant sleep if reconnect to connected ap
    2. clear pmk in internal reconnection
    3. update connect status for init-->auth
    4. add protection for probe request when wifi band is 5g
2024-10-31 19:03:01 +08:00
77656e2046 feat(openthread): Add dataset changed event and post it in state change callback 2024-10-31 19:00:48 +08:00
8cd4091114 fix(gdma): run test cases after reset 2024-10-31 18:32:37 +08:00
92b4c62d06 fix(uart_vfs): read() now aligned to POSIX defined behavior
- For blocking mode, block until data available
- Return with the bytes available in the file at the time,
  it should not block until reaching the requested size

And read() should not realy return on the newline character
Closes https://github.com/espressif/esp-idf/issues/14155
2024-10-31 17:57:04 +08:00
7d179ccd3e Merge branch 'pr_14676' into 'master'
feat(openthread): enable openthread coap client for mtd

See merge request espressif/esp-idf!34143
2024-10-31 17:43:12 +08:00
bb5a53c66c Merge branch 'bugfix/fix_memory_leak_in_sco' into 'master'
fix(bt/bluedroid): Fix memory leak in sco when bluedroid disable

Closes BT-3884

See merge request espressif/esp-idf!34523
2024-10-31 17:40:33 +08:00
66f6364bb1 Merge branch 'staging/esp32c61_bootloader_support' into 'master'
fix(bootloader_support): remove temporary notice in build test rule for ESP32-C61

Closes IDF-9260

See merge request espressif/esp-idf!33781
2024-10-31 17:38:58 +08:00
zwx
7a044c0f81 feat(openthread): support alloc nat64 session from psram 2024-10-31 17:38:34 +08:00
35ef6f5140 fix(bt/bluedroid): Replace free/malloc with osi_free/malloc 2024-10-31 17:14:25 +08:00
00dcf1a0c0 Merge branch 'docs/usb_host_examples_readme' into 'master'
docs(usb_host): Update usb_host example READMEs for P4

Closes IDFGH-13706 and IDFGH-10950

See merge request espressif/esp-idf!34510
2024-10-31 17:08:10 +08:00
7cea2a78cc docs: Update CN translation for build-system.rst and freertos.rst 2024-10-31 16:03:19 +08:00
f7da0175b0 docs(usb_host): Update usb_host example READMEs for P4
Closes https://github.com/espressif/esp-idf/issues/14578
Closes https://github.com/espressif/esp-idf/issues/12142
2024-10-31 09:00:59 +01:00
dee6ad56c9 Merge branch 'fix/p4_spi_no_dma_polling_cache_fail' into 'master'
fix(driver_spi): fixed p4 no dma polling trans cache sync fail

Closes IDFCI-2455

See merge request espressif/esp-idf!34409
2024-10-31 15:33:59 +08:00
f54ec30f6a fix(jpeg): Fix the length of com marker 2024-10-31 15:16:44 +08:00
92e4b80a65 Merge branch 'feat/support_controller_run_in_flash_only' into 'master'
Feat/support controller run in flash only

Closes BLERP-1164, BLERP-1165, and BLERP-1174

See merge request espressif/esp-idf!33290
2024-10-31 15:15:01 +08:00
b64e2ebfc9 feat(twai): support gpio reserve check 2024-10-31 15:07:42 +08:00
460233ee3b fix(driver_twai): fixed bus-off when twai_init due to wrong gpio config
Closes https://github.com/espressif/esp-idf/issues/14548
2024-10-31 15:07:42 +08:00
034a35a66f fix(bt): fix some issues in bt controller
1: Store local device name into NVDS when handling hci_wr_local_name_cmd.
2: Set default device name during link manager initialization.
3: Set the QoS value to the minimum value if the calculated QoS is less
   than the minumum.
2024-10-31 14:50:09 +08:00
1acc70f476 Merge branch 'bugfix/fix_ble_aa_zero' into 'master'
fix(bt/ble): Update esp32 libbtdm_app.a (17db8bd)

Closes BLERP-1138

See merge request espressif/esp-idf!34511
2024-10-31 14:15:23 +08:00
8f1fa6164a fix(pmu): c61 and h2 update pmu_icg_mapping.h 2024-10-31 13:54:20 +08:00
zwx
61a7ecd145 fix(openthread): set channel for energy scan 2024-10-31 11:57:31 +08:00
358e140705 Merge branch 'fix/fix_spiram_ignore_issue' into 'master'
fix(wifi): fix spiram ignore issue

Closes IDFCI-2461

See merge request espressif/esp-idf!34496
2024-10-31 11:26:24 +08:00
zwl
dbad6a0ca5 fix(ble): fixed occasional crash issue in low memory scenarios on ESP32-H2 2024-10-31 11:16:17 +08:00
zwl
dabd66e16f fix(ble): fixed occasional crash issue in low memory scenarios on ESP32-C6 2024-10-31 11:14:13 +08:00
57eddeb36a Merge branch 'feat/mcpwm_dead_time_add_warning' into 'master'
fix(mcpwm): add warning about generator deadtime

Closes IDFGH-13935

See merge request espressif/esp-idf!34425
2024-10-31 10:13:00 +08:00
908e1e670a test(bootloader_support): enable analog super wdt reset for the ESP32-C61 2024-10-31 10:11:44 +08:00
3b36050e5e Merge branch 'fix/sysview_uart_clock_source' into 'master'
fix(sysview): fix lp uart clock source

See merge request espressif/esp-idf!33973
2024-10-30 23:31:37 +08:00
a2be2ffe5a fix(driver_spi): fixed p4 no dma polling trans cache sync fail 2024-10-30 20:52:29 +08:00
d622011a2b Merge branch 'ci/fix_i2s_failed_case_on_c61' into 'master'
ci(i2s): fix i2s failed case on c61

Closes IDFCI-2463, IDFCI-2464, and IDFCI-2465

See merge request espressif/esp-idf!34529
2024-10-30 20:01:24 +08:00
dd8c545423 fix(mcpwm): add warning about generator deadtime
Closes https://github.com/espressif/esp-idf/issues/14773
2024-10-30 19:35:04 +08:00
ddf6fea6a2 feat(pcnt): add sleep retention init
Currently, due to the lack of sleep callback feature. We only init
sleep module but don't allocate it. Thus the power domain will be
kept during the light sleep. And temporarily disable pcnt sleep
retention support on P4 due to the lack of retention module ID.
2024-10-30 19:34:33 +08:00
4685405a3f docs(ext_port): Added maintainers notes for External Port Driver 2024-10-30 18:41:56 +08:00
1805efb0b2 Merge branch 'feat/dynamic_usb_hal' into 'master'
feat(hal/usb): Make USB-DWC HAL&LL configuration independent

Closes IDF-11437

See merge request espressif/esp-idf!34045
2024-10-30 18:32:32 +08:00
5ee42e0239 fix(i2s): suplimemt of c61 i2s ll 2024-10-30 18:13:30 +08:00
059de88f23 feat(i2s): support i2s retention on C61 2024-10-30 18:13:30 +08:00
9b270c4c7d Merge branch 'docs/add_adc_zero_crossing_detection_description_code' into 'master'
docs: Add description and code example for ADC zero-crossing detection

See merge request espressif/esp-idf!34475
2024-10-30 16:40:45 +08:00
65deae1404 Merge branch 'fix/suspend_ci' into 'master'
test(spi_flash): Fix some failure test cases related to spi flash

Closes IDFCI-1955, IDFCI-2023, and IDFCI-2217

See merge request espressif/esp-idf!34498
2024-10-30 16:13:44 +08:00
e2e4a36577 Merge branch 'docs/update_cn_lf_pt' into 'master'
docs: Update CN translation for libs-framework.rst and partition-table.rst

Closes DOC-9097 and DOC-9116

See merge request espressif/esp-idf!34091
2024-10-30 15:20:05 +08:00
1de0358249 Merge branch 'ci/fix_pytest_otatool_for_c2' into 'master'
fix(examples): Fix pytest_otatool for C2

See merge request espressif/esp-idf!34499
2024-10-30 15:13:02 +08:00
ecefb3c7e5 fix(bt/bluedroid): Fix memory leak in sco when bluedroid disable 2024-10-30 15:08:18 +08:00
06da32f9f2 Merge branch 'ci/fix_i2s_multi_dev_failed_case' into 'master'
ci(i2s): fix i2s_multi_dev failed case

Closes IDFCI-1523 and IDFCI-2010

See merge request espressif/esp-idf!34495
2024-10-30 14:39:42 +08:00
cb4442d948 Merge branch 'feature/touch_driver_ng_on_s2_s3' into 'master'
feat(touch): touch driver-NG on S2 & S3

Closes IDF-10182

See merge request espressif/esp-idf!34051
2024-10-30 14:28:01 +08:00
ae4c4464b3 Merge branch 'fix/bypass_some_restore_process_if_sleep_rejected' into 'master'
fix(esp_hw_support): skip some wakeup steps if sleep is rejected

See merge request espressif/esp-idf!34138
2024-10-30 14:07:31 +08:00
4464673ab9 ci(i2s): fix i2s_multi_dev failed case 2024-10-30 13:26:34 +08:00
29513cfe09 docs: Add description and code example for ADC zero-crossing detection 2024-10-30 11:33:47 +08:00
af75da0eee Merge branch 'docs/disable_jtag_usb' into 'master'
docs(size): mention disabling console output to reduce binary size

See merge request espressif/esp-idf!34240
2024-10-30 11:16:43 +08:00
d74b584427 fix(wifi): fix spiram ignore issue 2024-10-30 10:58:28 +08:00
a98ff3aea6 docs: Update CN translation for libs-framework.rst and partition-table.rst 2024-10-30 10:49:00 +08:00
653ce935f9 Merge branch 'chip/esp32c5_eco1_support_wifi' into 'master'
feat(wifi): add wifi support for esp32c5 eco1

See merge request espressif/esp-idf!34328
2024-10-30 10:41:47 +08:00
81f43866cd Merge branch 'disable_esp32c5_adc_ci_test' into 'master'
fix(ci): disable esp32c5 adc ci test

See merge request espressif/esp-idf!34491
2024-10-30 10:21:00 +08:00
4b767d03fe feat(bt/controller): Support controller code run in flash only 2024-10-30 10:05:39 +08:00
c007ec5f17 feat(touch): update doc and example for touch version 2 2024-10-30 10:02:49 +08:00
1ccb534dc7 feat(touch): support s2 & s3 in touch driver-ng 2024-10-30 10:02:49 +08:00
6856aec19e refactor(touch): refactor the legacy s2 & s3 touch driver 2024-10-30 10:02:49 +08:00
1cd9dd5001 refactor(touch): refactor touch low-level for s2 & s3 2024-10-30 10:02:49 +08:00
10e6101061 docs: update descriptions for UART events 2024-10-30 08:26:23 +08:00
e4c92855ee Merge branch 'lwip/dns_clear_cache_fix' into 'master'
fix(lwip):  Fixed active DNS entries before clearing cache

Closes IDFGH-13375

See merge request espressif/esp-idf!33906
2024-10-29 22:36:11 +08:00
cceadc4ce8 Merge branch 'fix/fix_ota_slowclock_switching' into 'master'
fix(esp_hw_support): fix rtc slow clock missing after the OTA app changes the slow clock source

Closes IDF-11424

See merge request espressif/esp-idf!34416
2024-10-29 21:49:03 +08:00
8f7672e117 fix(bt/ble): Update esp32 libbtdm_app.a (17db8bd)
- Added a verification step for the Access Address within the CONNECT_IND PDU
2024-10-29 19:25:34 +08:00
949fc7f2c9 fix(examples): Fix pytest_otatool for C2
Test for C2 has to be run with flash_4mb
2024-10-29 11:59:52 +02:00
e8f01afef7 test(spi_flash): Fix some failing test related to spi flash 2024-10-29 17:47:07 +08:00
1fcf006ec6 docs(kconfiglib): Add Project and Component configuration guide
* Project Configuration Guide: how to configure the project, purpose of
  sdkconfig.defaults, where is the configuration stored...
* Component configuration: how to write Kconfig files, how to ensure
  backward compatibility...

Also, general information about Kconfig and its files was added. Other parts of the
documentation (e.g. build-system) now point to these new guides in order
to provide more info.
2024-10-29 10:31:03 +01:00
c466082ea6 Merge branch 'feature/add_ledc_output_in_sleep_test' into 'master'
feat(ledc): added a multi device test for testing ledc output in sleep

See merge request espressif/esp-idf!34415
2024-10-29 17:29:01 +08:00
cd21bdeb15 Merge branch 'bugfix/fix_mem_debug_on_bluedroid' into 'master'
fix(bt/bluedroid): Fixed error when memory debug enabled

Closes BLERP-1158

See merge request espressif/esp-idf!34351
2024-10-29 15:40:33 +08:00
31b665c628 docs: Provide CN translation for isp.rst 2024-10-29 14:41:35 +08:00
c0e1ecd310 docs(size): mention disabling console output to reduce binary size 2024-10-29 12:07:12 +08:00
901812c589 fix(ci): disable esp32c5 adc ci test 2024-10-29 12:00:39 +08:00
fc5b392c30 Merge branch 'feat/support_lcd_on_c61' into 'master'
feat(i2c_oled): adapt to LVGL v9

Closes IDFGH-13245

See merge request espressif/esp-idf!33508
2024-10-29 11:49:54 +08:00
1d89e14433 Merge branch 'version/v5.5.0' into 'master'
Update version to v5.5-dev

See merge request espressif/esp-idf!34479
2024-10-28 23:57:02 +08:00
21b38e8b97 feat(i2c_oled): adapt i2c_oled example to LVGL v9
This commit simplified the example and removed esp_lvgl_port component.
And adapted example to LVGL v9.

Closes https://github.com/espressif/esp-idf/issues/14179
2024-10-28 19:35:40 +08:00
d092c1ba55 feat(wifi): add wifi support for esp32c5 eco1 2024-10-28 19:19:18 +08:00
33d3c60b26 fix(esp_hw_support): skip some wakeup steps if sleep is rejected
1. Skip esp_timer time compensation to avoid introducing errors into rtc_timer
    2. Ignore sleep_time_overhead_out measurements when sleep is rejected
2024-10-28 19:16:32 +08:00
52496491f8 change(ci): update LATEST_GIT_TAG to v5.5-dev 2024-10-28 10:34:21 +01:00
7df8467be5 feat(ledc): added a multi device test for testing ledc output in sleep 2024-10-28 16:40:13 +08:00
7fdfa6c227 fix(esp_hw_support): disable unused clock sources after rtc clock switching complete 2024-10-28 15:57:26 +08:00
4a22f982f3 enable openthread coap client for mtd 2024-10-28 10:46:59 +08:00
000270a4f6 fix(sysview): fix lp uart clock source 2024-10-24 23:49:19 +02:00
d837cae2b0 feat(hal/usb): Make USB-DWC HAL&LL configuration independent
Previously, we included symbols from soc/usb_dwc_cfg.h and configured
the HAL and LL according to it. Now we get the configuration in runtime
from USB-DWC registers.

Added missing definition for USB FS peripheral on ESP32-P4.
2024-10-24 16:54:20 +02:00
3881d4031d fix(esp_hw_support): enable all supported slow clock at pmu_init 2024-10-24 14:22:51 +08:00
675653af89 fix(example/system/console): Add 'info' to log_level command description
Closes https://github.com/espressif/esp-idf/pull/14771
2024-10-24 02:39:48 +00:00
cd8eb11ee7 docs: add a note on required header files for the esp_http_server example 2024-10-23 14:59:05 +08:00
0abdd20240 fix(bt/bluedroid): Fixed error when memory debug enabled 2024-10-22 11:49:58 +08:00
7bfee98996 Update hid_host_example.c
Distinguish was spelled incorrectly
2024-10-16 13:54:43 -07:00
bdf0821f97 fix(cmake): Prevent overwriting of component properties in output file
While 'component_properties_text'
correctly accumulated properties from all processed components, each
iteration of the loop was overwriting the entire file content.

Move the file(WRITE ...) call outside the loop to ensure all accumulated
component properties are written once, preserving information for all
components.
2024-10-16 14:11:23 +08:00
ff25e646fb fix(lwip): Fixed active DNS entries before clearing cache 2024-10-08 22:03:39 +11:00
f3087c8fb0 fix: fix pll low temp bug 2024-07-08 14:40:51 +08:00
7313 changed files with 725564 additions and 366599 deletions

View File

@ -1,4 +1,4 @@
[codespell]
skip = build,*.yuv,components/fatfs/src/*,alice.txt,*.rgb,components/wpa_supplicant/*,components/esp_wifi/*,*.pem
ignore-words-list = ser,dout,rsource,fram,inout,shs,ans,aci,unstall,unstalling,hart,wheight,wel,ot,fane,assertIn,registr,oen
skip = build,*.yuv,components/fatfs/src/*,alice.txt,*.rgb,components/wpa_supplicant/*,components/esp_wifi/*,*.pem,components/newlib/COPYING.*,docs/sphinx-known-warnings.txt
ignore-words-list = ser,dout,rsource,fram,inout,shs,ans,aci,unstall,unstalling,hart,wheight,wel,ot,fane,assertIn,registr,oen,parms
write-changes = true

165
.flake8
View File

@ -1,165 +0,0 @@
[flake8]
select =
# Full lists are given in order to suppress all errors from other plugins
# Full list of pyflakes error codes:
F401, # module imported but unused
F402, # import module from line N shadowed by loop variable
F403, # 'from module import *' used; unable to detect undefined names
F404, # future import(s) name after other statements
F405, # name may be undefined, or defined from star imports: module
F406, # 'from module import *' only allowed at module level
F407, # an undefined __future__ feature name was imported
F601, # dictionary key name repeated with different values
F602, # dictionary key variable name repeated with different values
F621, # too many expressions in an assignment with star-unpacking
F622, # two or more starred expressions in an assignment (a, *b, *c = d)
F631, # assertion test is a tuple, which are always True
F701, # a break statement outside of a while or for loop
F702, # a continue statement outside of a while or for loop
F703, # a continue statement in a finally block in a loop
F704, # a yield or yield from statement outside of a function
F705, # a return statement with arguments inside a generator
F706, # a return statement outside of a function/method
F707, # an except: block as not the last exception handler
F721, F722, # doctest syntax error syntax error in forward type annotation
F811, # redefinition of unused name from line N
F812, # list comprehension redefines name from line N
F821, # undefined name name
F822, # undefined name name in __all__
F823, # local variable name referenced before assignment
F831, # duplicate argument name in function definition
F841, # local variable name is assigned to but never used
F901, # raise NotImplemented should be raise NotImplementedError
# Full list of pycodestyle violations:
E101, # indentation contains mixed spaces and tabs
E111, # indentation is not a multiple of four
E112, # expected an indented block
E113, # unexpected indentation
E114, # indentation is not a multiple of four (comment)
E115, # expected an indented block (comment)
E116, # unexpected indentation (comment)
E121, # continuation line under-indented for hanging indent
E122, # continuation line missing indentation or outdented
E123, # closing bracket does not match indentation of opening bracket's line
E124, # closing bracket does not match visual indentation
E125, # continuation line with same indent as next logical line
E126, # continuation line over-indented for hanging indent
E127, # continuation line over-indented for visual indent
E128, # continuation line under-indented for visual indent
E129, # visually indented line with same indent as next logical line
E131, # continuation line unaligned for hanging indent
E133, # closing bracket is missing indentation
E201, # whitespace after '('
E202, # whitespace before ')'
E203, # whitespace before ':'
E211, # whitespace before '('
E221, # multiple spaces before operator
E222, # multiple spaces after operator
E223, # tab before operator
E224, # tab after operator
E225, # missing whitespace around operator
E226, # missing whitespace around arithmetic operator
E227, # missing whitespace around bitwise or shift operator
E228, # missing whitespace around modulo operator
E231, # missing whitespace after ',', ';', or ':'
E241, # multiple spaces after ','
E242, # tab after ','
E251, # unexpected spaces around keyword / parameter equals
E261, # at least two spaces before inline comment
E262, # inline comment should start with '# '
E265, # block comment should start with '# '
E266, # too many leading '#' for block comment
E271, # multiple spaces after keyword
E272, # multiple spaces before keyword
E273, # tab after keyword
E274, # tab before keyword
E275, # missing whitespace after keyword
E301, # expected 1 blank line, found 0
E302, # expected 2 blank lines, found 0
E303, # too many blank lines
E304, # blank lines found after function decorator
E305, # expected 2 blank lines after end of function or class
E306, # expected 1 blank line before a nested definition
E401, # multiple imports on one line
E402, # module level import not at top of file
E501, # line too long (82 > 79 characters)
E502, # the backslash is redundant between brackets
E701, # multiple statements on one line (colon)
E702, # multiple statements on one line (semicolon)
E703, # statement ends with a semicolon
E704, # multiple statements on one line (def)
E711, # comparison to None should be 'if cond is None:'
E712, # comparison to True should be 'if cond is True:' or 'if cond:'
E713, # test for membership should be 'not in'
E714, # test for object identity should be 'is not'
E721, # do not compare types, use 'isinstance()'
E722, # do not use bare except, specify exception instead
E731, # do not assign a lambda expression, use a def
E741, # do not use variables named 'l', 'O', or 'I'
E742, # do not define classes named 'l', 'O', or 'I'
E743, # do not define functions named 'l', 'O', or 'I'
E901, # SyntaxError or IndentationError
E902, # IOError
W191, # indentation contains tabs
W291, # trailing whitespace
W292, # no newline at end of file
W293, # blank line contains whitespace
W391, # blank line at end of file
W503, # line break before binary operator
W504, # line break after binary operator
W505, # doc line too long (82 > 79 characters)
W601, # .has_key() is deprecated, use 'in'
W602, # deprecated form of raising exception
W603, # '<>' is deprecated, use '!='
W604, # backticks are deprecated, use 'repr()'
W605, # invalid escape sequence 'x'
W606, # 'async' and 'await' are reserved keywords starting with Python 3.7
# Full list of flake8 violations
E999, # failed to compile a file into an Abstract Syntax Tree for the plugins that require it
# Full list of mccabe violations
C901 # complexity value provided by the user
ignore =
E221, # multiple spaces before operator
E231, # missing whitespace after ',', ';', or ':'
E241, # multiple spaces after ','
W503, # line break before binary operator
W504 # line break after binary operator
max-line-length = 160
show_source = True
statistics = True
exclude =
.git,
__pycache__,
# submodules
components/bootloader/subproject/components/micro-ecc/micro-ecc,
components/bt/host/nimble/nimble,
components/cmock/CMock,
components/json/cJSON,
components/mbedtls/mbedtls,
components/openthread/openthread,
components/unity/unity,
components/spiffs/spiffs,
# autogenerated scripts
components/protocomm/python/constants_pb2.py,
components/protocomm/python/sec0_pb2.py,
components/protocomm/python/sec1_pb2.py,
components/protocomm/python/sec2_pb2.py,
components/protocomm/python/session_pb2.py,
components/wifi_provisioning/python/wifi_ctrl_pb2.py,
components/wifi_provisioning/python/wifi_scan_pb2.py,
components/wifi_provisioning/python/wifi_config_pb2.py,
components/wifi_provisioning/python/wifi_constants_pb2.py,
components/esp_local_ctrl/python/esp_local_ctrl_pb2.py,
per-file-ignores =
# Sphinx conf.py files use star imports to setup config variables
docs/conf_common.py: F405

View File

@ -95,6 +95,26 @@ body:
render: plain
validations:
required: false
- type: textarea
id: diag
attributes:
label: Diagnostic report archive.
description: |
Diagnostic report for ESP-IDF created using [idf.py diag](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-diag.html) or [esp-idf-diag](https://github.com/espressif/esp-idf-diag). The `idf.py diag` command is available beginning with ESP-IDF version 5.5. For older versions, you may want to consider using the `esp-idf-diag` command.
In your project directory, execute the following command:
Using `idf.py diag`
1. idf.py diag
Using `esp-idf-diag`
1. pip install esp-idf-diag
2. esp-idf-diag create
Once the report is generated, the tool will guide you with the next steps.
placeholder: Please attach the diagnostic report zip file here.
validations:
required: false
- type: textarea
id: more-info
attributes:

View File

@ -123,6 +123,26 @@ body:
render: plain
validations:
required: false
- type: textarea
id: diag
attributes:
label: Diagnostic report archive.
description: |
Diagnostic report for ESP-IDF created using [idf.py diag](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-diag.html) or [esp-idf-diag](https://github.com/espressif/esp-idf-diag). The `idf.py diag` command is available beginning with ESP-IDF version 5.5. For older versions, you may want to consider using the `esp-idf-diag` command.
In your project directory, execute the following command:
Using `idf.py diag`
1. idf.py diag
Using `esp-idf-diag`
1. pip install esp-idf-diag
2. esp-idf-diag create
Once the report is generated, the tool will guide you with the next steps.
placeholder: Please attach the diagnostic report zip file here.
validations:
required: false
- type: textarea
id: more-info
attributes:

View File

@ -27,6 +27,7 @@ jobs:
- name: Vulnerability scan
env:
SBOM_CHECK_LOCAL_DB: ${{ vars.SBOM_CHECK_LOCAL_DB }}
SBOM_MATTERMOST_WEBHOOK: ${{ secrets.SBOM_MATTERMOST_WEBHOOK }}
NVDAPIKEY: ${{ secrets.NVDAPIKEY }}
uses: espressif/esp-idf-sbom-action@master

View File

@ -66,6 +66,7 @@
/export.* @esp-idf-codeowners/tools
/install.* @esp-idf-codeowners/tools
/pytest.ini @esp-idf-codeowners/ci
/ruff.toml @esp-idf-codeowners/tools
/sdkconfig.rename @esp-idf-codeowners/build-config
/sonar-project.properties @esp-idf-codeowners/ci
@ -106,11 +107,13 @@
/components/esp_partition/ @esp-idf-codeowners/storage
/components/esp_phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/components/esp_pm/ @esp-idf-codeowners/power-management @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/system
/components/esp_psram/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/esp_psram/ @esp-idf-codeowners/peripherals
/components/esp_psram/system_layer/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/esp_ringbuf/ @esp-idf-codeowners/system
/components/esp_rom/ @esp-idf-codeowners/system @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi
/components/esp_security/ @esp-idf-codeowners/security
/components/esp_system/ @esp-idf-codeowners/system
/components/esp_tee/ @esp-idf-codeowners/security
/components/esp_timer/ @esp-idf-codeowners/system
/components/esp-tls/ @esp-idf-codeowners/app-utilities
/components/esp_vfs_*/ @esp-idf-codeowners/storage
@ -124,7 +127,7 @@
/components/hal/test_apps/crypto/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/security
/components/heap/ @esp-idf-codeowners/system
/components/http_parser/ @esp-idf-codeowners/app-utilities
/components/idf_test/ @esp-idf-codeowners/ci
/components/idf_test/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/ieee802154/ @esp-idf-codeowners/ieee802154
/components/json/ @esp-idf-codeowners/app-utilities
/components/linux/ @esp-idf-codeowners/system
@ -150,7 +153,7 @@
/components/tcp_transport/ @esp-idf-codeowners/network
/components/touch_element/ @esp-idf-codeowners/peripherals
/components/ulp/ @esp-idf-codeowners/system
/components/unity/ @esp-idf-codeowners/ci
/components/unity/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/usb/ @esp-idf-codeowners/peripherals/usb
/components/vfs/ @esp-idf-codeowners/storage
/components/wear_levelling/ @esp-idf-codeowners/storage
@ -188,6 +191,7 @@
/examples/ethernet/ @esp-idf-codeowners/network
/examples/get-started/ @esp-idf-codeowners/system
/examples/ieee802154/ @esp-idf-codeowners/ieee802154
/examples/lowpower/ @esp-idf-codeowners/power-management @esp-idf-codeowners/system
/examples/mesh/ @esp-idf-codeowners/wifi
/examples/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi
/examples/openthread/ @esp-idf-codeowners/ieee802154
@ -205,6 +209,7 @@
/tools/ @esp-idf-codeowners/tools
/tools/ble/ @esp-idf-codeowners/app-utilities
/tools/bt/ @esp-idf-codeowners/bluetooth
/tools/catch/ @esp-idf-codeowners/ci
/tools/ci/ @esp-idf-codeowners/ci
/tools/cmake/ @esp-idf-codeowners/build-config

View File

@ -145,11 +145,11 @@ check if there's a suitable `.if-<if-anchor-you-need>` anchor
1. if there is, create a rule following [`rules` Template Naming Rules](#rules-template-naming-rules).For detail information, please refer to [GitLab Documentation `rules-if`](https://docs.gitlab.com/ee/ci/yaml/README.html#rulesif). Here's an example.
```yaml
.rules:patterns:python-files:
.rules:patterns:clang_tidy:
rules:
- <<: *if-protected
- <<: *if-dev-push
changes: *patterns-python-files
changes: *patterns-c-files
```
2. if there isn't

View File

@ -1,7 +1,7 @@
.build_template:
stage: build
extends:
- .after_script:build:ccache:upload-when-fail
- .after_script:build:ccache-show-stats:upload-failed-job-logs
image: $ESP_ENV_IMAGE
tags:
- build
@ -12,11 +12,11 @@
IDF_CCACHE_ENABLE: "1"
dependencies: []
.build_cmake_template:
.build_cmake_clang_template:
extends:
- .build_template
- .before_script:build
- .after_script:build:ccache
- .after_script:build:ccache-show-stats
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
@ -34,29 +34,11 @@
- "**/build*/size.json"
expire_in: 1 week
when: always
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
--copy-sdkconfig
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--extra-preserve-dirs
examples/bluetooth/esp_ble_mesh/ble_mesh_console
examples/bluetooth/hci/controller_hci_uart_esp32
examples/wifi/iperf
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
# for detailed documents, please refer to .gitlab/ci/README.md#uploaddownload-artifacts-to-internal-minio-server
- python tools/ci/artifacts_handler.py upload
.build_cmake_clang_template:
extends:
- .build_cmake_template
variables:
IDF_TOOLCHAIN: clang
TEST_BUILD_OPTS_EXTRA: ""
TEST_DIR: tools/test_apps/system/clang_build_test
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
@ -126,7 +108,7 @@ gcc_static_analyzer:
ANALYZING_APP: "examples/get-started/hello_world"
script:
- echo "CONFIG_COMPILER_STATIC_ANALYZER=y" >> ${ANALYZING_APP}/sdkconfig.defaults
- python -m idf_build_apps build -vv -p ${ANALYZING_APP} -t all
- python -m idf_build_apps build -v -p ${ANALYZING_APP} -t all
########################################
# Clang Build Apps Without Tests Cases #
@ -246,15 +228,16 @@ pytest_build_system_macos:
extends:
- .test_build_system_template
- .before_script:build:macos
- .after_script:build:macos:upload-when-fail
- .after_script:build:macos:upload-failed-job-logs:ccache-show-stats
- .rules:build:macos
tags:
- macos_shell
parallel: 3
variables:
PYENV_VERSION: "3.8"
CI_CCACHE_DISABLE: "1" # ccache: error: Read-only file system
PYENV_VERSION: "3.9"
# CCACHE_DIR: "/cache/idf_ccache". On macOS, you cannot write to this folder due to insufficient permissions.
CCACHE_DIR: "" # ccache will use "$HOME/Library/Caches/ccache".
CCACHE_MAXSIZE: "5G" # To preserve the limited Macbook storage. CCACHE automatically prunes old caches to fit the set limit.
build_docker:
extends:
- .before_script:minimal

View File

@ -6,9 +6,9 @@ stages:
- pre_check
- build
- assign_test
- build_doc
- target_test
- host_test
- build_doc
- test_deploy
- deploy
- post_deploy
@ -40,7 +40,7 @@ variables:
GIT_FETCH_EXTRA_FLAGS: "--no-recurse-submodules --prune --prune-tags"
# we're using .cache folder for caches
GIT_CLEAN_FLAGS: -ffdx -e .cache/
LATEST_GIT_TAG: v5.4-dev
LATEST_GIT_TAG: v5.5-dev
SUBMODULE_FETCH_TOOL: "tools/ci/ci_fetch_submodule.py"
# by default we will fetch all submodules
@ -55,9 +55,9 @@ variables:
CHECKOUT_REF_SCRIPT: "$CI_PROJECT_DIR/tools/ci/checkout_project_ref.py"
# Docker images
ESP_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-env-v5.5:1"
ESP_IDF_DOC_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-doc-env-v5.5:1-1"
TARGET_TEST_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/target-test-env-v5.5:1"
ESP_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-env-v6.0:1"
ESP_IDF_DOC_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-doc-env-v6.0:1-1"
TARGET_TEST_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/target-test-env-v6.0:1"
SONARQUBE_SCANNER_IMAGE: "${CI_DOCKER_REGISTRY}/sonarqube-scanner:5"
PRE_COMMIT_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-pre-commit:1"
@ -70,7 +70,7 @@ variables:
CI_PYTHON_CONSTRAINT_BRANCH: ""
# Update the filename for a specific ESP-IDF release. It is used only with CI_PYTHON_CONSTRAINT_BRANCH.
CI_PYTHON_CONSTRAINT_FILE: "espidf.constraints.v5.5.txt"
CI_PYTHON_CONSTRAINT_FILE: "espidf.constraints.v6.0.txt"
# Set this variable to repository name of a Python tool you wish to install and test in the context of ESP-IDF CI.
# Keep the variable empty when not used.
@ -141,40 +141,48 @@ variables:
export IDF_MIRROR_PREFIX_MAP=
fi
# install latest python packages
# target test jobs
if [[ "${CI_JOB_STAGE}" == "target_test" ]]; then
run_cmd bash install.sh --enable-ci --enable-pytest --enable-test-specific
elif [[ "${CI_JOB_STAGE}" == "build_doc" ]]; then
run_cmd bash install.sh --enable-ci --enable-docs
elif [[ "${CI_JOB_STAGE}" == "build" ]]; then
run_cmd bash install.sh --enable-ci
else
if ! echo "${CI_JOB_NAME}" | egrep ".*pytest.*"; then
if [[ "${CI_JOB_STAGE}" != "target_test" ]]; then
section_start "running_install_sh" "Running install.sh"
if [[ "${CI_JOB_STAGE}" == "build_doc" ]]; then
run_cmd bash install.sh --enable-ci --enable-docs
elif [[ "${CI_JOB_STAGE}" == "build" ]]; then
run_cmd bash install.sh --enable-ci
else
run_cmd bash install.sh --enable-ci --enable-pytest --enable-test-specific
if ! echo "${CI_JOB_NAME}" | egrep ".*pytest.*"; then
run_cmd bash install.sh --enable-ci
else
run_cmd bash install.sh --enable-ci --enable-pytest --enable-test-specific
fi
fi
section_end "running_install_sh"
else
section_start "install_python_env" "Install Python environment"
run_cmd python tools/idf_tools.py install-python-env --features ci,pytest,test-specific
section_end "install_python_env"
fi
# Install esp-clang if necessary
if [[ ! -z "$INSTALL_EXTRA_TOOLS" ]]; then
section_start "installing_optional_tools" "Install optional tools ${INSTALL_EXTRA_TOOLS}"
$IDF_PATH/tools/idf_tools.py --non-interactive install $INSTALL_EXTRA_TOOLS
section_end "installing_optional_tools"
fi
# Install esp-clang if necessary (esp-clang is separately installed)
if [[ "$IDF_TOOLCHAIN" == "clang" && -z "$CI_CLANG_DISTRO_URL" ]]; then
$IDF_PATH/tools/idf_tools.py --non-interactive install esp-clang
fi
# Install QEMU if necessary
if [[ ! -z "$INSTALL_QEMU" ]]; then
$IDF_PATH/tools/idf_tools.py --non-interactive install qemu-xtensa qemu-riscv32
if [[ "${CI_JOB_STAGE}" == "target_test" ]]; then
section_start "IDF_SKIP_TOOLS_CHECK" "Skip required tools check"
export IDF_SKIP_TOOLS_CHECK=1
section_end "IDF_SKIP_TOOLS_CHECK"
fi
# Since the version 3.21 CMake passes source files and include dirs to ninja using absolute paths.
# Needed for pytest junit reports.
$IDF_PATH/tools/idf_tools.py --non-interactive install cmake
section_start "source_export" "Source export.sh"
source ./export.sh
section_end "source_export"
# Custom clang toolchain
if [[ ! -z "$CI_CLANG_DISTRO_URL" ]]; then
if [[ "$IDF_TOOLCHAIN" == "clang" && ! -z "$CI_CLANG_DISTRO_URL" ]]; then
echo "Using custom clang from ${CI_CLANG_DISTRO_URL}"
wget $CI_CLANG_DISTRO_URL
ARCH_NAME=$(basename $CI_CLANG_DISTRO_URL)
@ -198,6 +206,8 @@ variables:
rm -rf ${CI_PYTHON_TOOL_REPO}
fi
info "setup tools and python venv done"
.show_ccache_statistics: &show_ccache_statistics |
# Show ccache statistics if enabled globally
test "$CI_CCACHE_STATS" == 1 && test -n "$(which ccache)" && ccache --show-stats -vv || true
@ -222,18 +232,20 @@ variables:
- export IDF_TOOLS_PATH="${HOME}/.espressif_runner_${CI_RUNNER_ID}_${CI_CONCURRENT_ID}"
# remove idf-env.json, since it may contains enabled "features"
- rm -f $IDF_TOOLS_PATH/idf-env.json
- $IDF_PATH/tools/idf_tools.py --non-interactive install cmake ninja
# This adds tools (compilers) and the version-specific Python environment to PATH
- *setup_tools_and_idf_python_venv
- fetch_submodules
variables:
INSTALL_EXTRA_TOOLS: cmake ninja
.after_script:build:macos:upload-when-fail:
.after_script:build:macos:upload-failed-job-logs:ccache-show-stats:
after_script:
# macos is running shell executor, which means it would use
# the system installed /usr/local/bin/python3 by default.
# Ensure pyenv and PYENV_VERSION installed
- eval "$(pyenv init -)"
- *upload_failed_job_log_artifacts
- *show_ccache_statistics
.before_script:build:
before_script:
@ -244,11 +256,11 @@ variables:
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS}
.after_script:build:ccache:
.after_script:build:ccache-show-stats:
after_script:
- *show_ccache_statistics
.after_script:build:ccache:upload-when-fail:
.after_script:build:ccache-show-stats:upload-failed-job-logs:
after_script:
- *show_ccache_statistics
- *upload_failed_job_log_artifacts
@ -307,26 +319,32 @@ variables:
- *git_init
- *git_fetch_from_mirror_url_if_exists
- |
# Store the diff output in a temporary file
TEMP_FILE=$(mktemp)
# merged results pipelines, by default
if [[ -n $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA ]]; then
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA)
git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_MERGE_REQUEST_SOURCE_BRANCH_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
# merge request pipelines, when the mr got conflicts
elif [[ -n $CI_MERGE_REQUEST_DIFF_BASE_SHA ]]; then
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_COMMIT_SHA)
git diff --name-only $CI_MERGE_REQUEST_DIFF_BASE_SHA $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
# other pipelines, like the protected branches pipelines
elif [[ "$CI_COMMIT_BEFORE_SHA" != "0000000000000000000000000000000000000000" ]]; then
git fetch origin $CI_COMMIT_BEFORE_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
git fetch origin $CI_COMMIT_SHA --depth=1 ${GIT_FETCH_EXTRA_FLAGS}
export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA)
git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
else
# pipeline source could be web, scheduler, etc.
git fetch origin $CI_COMMIT_SHA --depth=2 ${GIT_FETCH_EXTRA_FLAGS}
export GIT_DIFF_OUTPUT=$(git diff --name-only $CI_COMMIT_SHA~1 $CI_COMMIT_SHA)
git diff --name-only $CI_COMMIT_SHA~1 $CI_COMMIT_SHA > "$TEMP_FILE"
GIT_DIFF_OUTPUT=$(cat "$TEMP_FILE")
fi
- *git_checkout_ci_commit_sha
- *common-before_scripts

View File

@ -9,8 +9,13 @@
extra_default_build_targets:
- esp32c5
- esp32c61
- esp32h21
- esp32h4
bypass_check_test_targets:
- esp32h21
- esp32h4
- esp32c5
#
# These lines would

View File

@ -90,3 +90,5 @@
- windows
specific_rules:
- if-schedule-test-build-system-windows
patterns:
- build_system

View File

@ -37,25 +37,16 @@
.if-dev-push: &if-dev-push
if: '$CI_COMMIT_REF_NAME != "master" && $CI_COMMIT_BRANCH !~ /^release\/v/ && $CI_COMMIT_TAG !~ /^v\d+\.\d+(\.\d+)?($|-)/ && $CI_COMMIT_TAG !~ /^qa-test/ && ($CI_PIPELINE_SOURCE == "push" || $CI_PIPELINE_SOURCE == "merge_request_event")'
.if-schedule: &if-schedule
if: '$CI_PIPELINE_SOURCE == "schedule"'
.doc-rules:build:docs-full:
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-schedule
- <<: *if-protected
- <<: *if-label-build_docs
- <<: *if-label-docs_full
- <<: *if-dev-push
changes: *patterns-docs-full
.doc-rules:build:docs-full-prod:
rules:
- <<: *if-qa-test-tag
when: never
- <<: *if-protected-no_label
.doc-rules:build:docs-partial:
rules:
- <<: *if-qa-test-tag
@ -92,17 +83,20 @@ check_docs_lang_sync:
stage: build_doc
tags:
- build_docs
needs:
- job: fast_template_app
artifacts: false
optional: true
script:
- if [ -n "${BREATHE_ALT_INSTALL_URL}" ]; then pip uninstall -y breathe && pip install -U ${BREATHE_ALT_INSTALL_URL}; fi
- if [ -n "${BREATHE_ALT_INSTALL_URL_PY39}" ]; then
pip uninstall -y breathe && pip install -U ${BREATHE_ALT_INSTALL_URL_PY39};
fi
- cd docs
- build-docs -t $DOCTGT -bs $DOC_BUILDERS -l $DOCLANG build
artifacts:
expire_in: 4 days
when: always
parallel:
matrix:
- DOCLANG: ["en", "zh_CN"]
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32c61", "esp32c5","esp32h2", "esp32p4"]
DOCTGT: ["esp32", "esp32s2", "esp32s3", "esp32c3", "esp32c2", "esp32c6", "esp32c61", "esp32c5","esp32h2", "esp32h21", "esp32p4"]
check_docs_gh_links:
image: $ESP_IDF_DOC_ENV_IMAGE
@ -119,26 +113,12 @@ build_docs_html_full:
extends:
- .build_docs_template
- .doc-rules:build:docs-full
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/html/*
variables:
DOC_BUILDERS: "html"
build_docs_html_full_prod:
extends:
- .build_docs_template
- .doc-rules:build:docs-full-prod
dependencies: [] # Stop build_docs jobs from downloading all previous job's artifacts
artifacts:
when: always
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/html/*
expire_in: 4 days
variables:
DOC_BUILDERS: "html"
@ -146,14 +126,12 @@ build_docs_html_partial:
extends:
- .build_docs_template
- .doc-rules:build:docs-partial
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
when: always
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/html/*
expire_in: 4 days
variables:
DOC_BUILDERS: "html"
parallel:
@ -163,43 +141,21 @@ build_docs_html_partial:
- DOCLANG: "zh_CN"
DOCTGT: "esp32p4"
build_docs_pdf:
extends:
- .build_docs_template
- .doc-rules:build:docs-full
needs:
- job: fast_template_app
artifacts: false
optional: true
allow_failure: true # TODO IDFCI-2216
artifacts:
paths:
- docs/_build/*/*/latex/*
variables:
DOC_BUILDERS: "latex"
build_docs_pdf_prod:
extends:
- .build_docs_template
- .doc-rules:build:docs-full-prod
dependencies: [] # Stop build_docs jobs from downloading all previous job's artifacts
allow_failure: true # TODO IDFCI-2216
artifacts:
paths:
- docs/_build/*/*/latex/*
variables:
DOC_BUILDERS: "latex"
.deploy_docs_template:
image: $ESP_IDF_DOC_ENV_IMAGE
variables:
DOCS_BUILD_DIR: "${IDF_PATH}/docs/_build/"
PYTHONUNBUFFERED: 1
# ensure all tags are fetched, need to know the latest/stable tag for the docs
GIT_STRATEGY: clone
GIT_DEPTH: 0
stage: test_deploy
tags:
- deploy
- shiny
script:
# ensure all tags are fetched, need to know the latest/stable tag for the docs
- git fetch --tags --prune
- add_doc_server_ssh_keys $DOCS_DEPLOY_PRIVATEKEY $DOCS_DEPLOY_SERVER $DOCS_DEPLOY_SERVER_USER
- export GIT_VER=$(git describe --always ${PIPELINE_COMMIT_SHA} --)
- deploy-docs
@ -218,8 +174,6 @@ deploy_docs_preview:
optional: true
- job: build_docs_html_full
optional: true
- job: build_docs_pdf
optional: true
variables:
TYPE: "preview"
# older branches use DOCS_DEPLOY_KEY, DOCS_SERVER, DOCS_SERVER_USER, DOCS_PATH for preview server so we keep these names for 'preview'
@ -234,12 +188,12 @@ deploy_docs_production:
# The DOCS_PROD_* variables used by this job are "Protected" so these branches must all be marked "Protected" in Gitlab settings
extends:
- .deploy_docs_template
- .doc-rules:build:docs-full-prod
rules:
- <<: *if-protected-no_label
stage: post_deploy
dependencies: # set dependencies to null to avoid missing artifacts issue
needs: # ensure runs after push_to_github succeeded
- build_docs_html_full_prod
- build_docs_pdf_prod
- build_docs_html_full
- job: push_to_github
artifacts: false
variables:
@ -254,16 +208,19 @@ deploy_docs_production:
check_doc_links:
extends:
- .build_docs_template
- .doc-rules:build:docs-full-prod
rules:
- <<: *if-protected-no_label
stage: post_deploy
needs:
- job: deploy_docs_production
artifacts: false
tags: ["build", "amd64", "internet"]
artifacts:
when: always
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/linkcheck/*.txt
expire_in: 1 week
allow_failure: true
script:
- cd docs

View File

@ -33,6 +33,8 @@ check_public_headers:
- IDF_TARGET=esp32h2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32p4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c61 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h21 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
test_nvs_coverage:
extends:
@ -195,7 +197,7 @@ test_tools:
junit: ${IDF_PATH}/XUNIT_*.xml
variables:
LC_ALL: C.UTF-8
INSTALL_QEMU: 1 # for test_idf_qemu.py
INSTALL_EXTRA_TOOLS: "qemu-xtensa qemu-riscv32" # for test_idf_qemu.py
script:
- stat=0
- cd ${IDF_PATH}/tools/ci/test_autocomplete
@ -204,10 +206,14 @@ test_tools:
- pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml || stat=1
- pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml || stat=1
- pytest --noconftest test_idf_qemu.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY_QEMU.xml || stat=1
- cd ${IDF_PATH}/tools/test_bsasm
- pytest --noconftest test_bsasm.py --junitxml=${IDF_PATH}/XUNIT_BSASM.xml || stat=1
- cd ${IDF_PATH}/tools/test_mkdfu
- pytest --noconftest test_mkdfu.py --junitxml=${IDF_PATH}/XUNIT_MKDFU.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_size
- pytest --noconftest test_idf_size.py --junitxml=${IDF_PATH}/XUNIT_IDF_SIZE.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_diag
- pytest --noconftest test_idf_diag.py --junitxml=${IDF_PATH}/XUNIT_IDF_DIAG.xml || stat=1
- cd ${IDF_PATH}
- shellcheck -s sh tools/detect_python.sh || stat=1
- shellcheck -s bash tools/detect_python.sh || stat=1
@ -233,6 +239,7 @@ test_mqtt_on_host:
test_transport_on_host:
extends: .host_test_template
allow_failure: true # IDFCI-2781 [v5.5, v5.4] test_transport_on_host fails on ubuntu 24.04
script:
- cd ${IDF_PATH}/components/tcp_transport/host_test
- idf.py build
@ -282,9 +289,13 @@ test_pytest_qemu:
junit: XUNIT_RESULT.xml
parallel:
matrix:
- IDF_TARGET: [esp32, esp32c3]
variables:
INSTALL_QEMU: 1
- IDF_TARGET: "esp32"
INSTALL_EXTRA_TOOLS: "qemu-xtensa"
# Skip Clang + Xtensa tests due to bootloader size issue
IDF_TOOLCHAIN: [gcc]
- IDF_TARGET: "esp32c3"
INSTALL_EXTRA_TOOLS: "qemu-riscv32"
IDF_TOOLCHAIN: [gcc, clang]
script:
- run_cmd python tools/ci/ci_build_apps.py . -v
--target $IDF_TARGET
@ -346,9 +357,10 @@ test_pytest_macos:
reports:
junit: XUNIT_RESULT.xml
variables:
PYENV_VERSION: "3.9"
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
script:
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -vv
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -v
--target linux
--pytest-apps
-m \"host_test and macos_shell\"
@ -397,6 +409,17 @@ test_nvs_gen_check:
- cd ${IDF_PATH}/components/nvs_flash/nvs_partition_tool
- pytest --noconftest test_nvs_gen_check.py --junitxml=XUNIT_RESULT.xml
test_esp_rom:
extends: .host_test_template
artifacts:
paths:
- XUNIT_RESULT.xml
reports:
junit: XUNIT_RESULT.xml
script:
- cd ${IDF_PATH}/components/esp_rom/
- pytest --noconftest test_esp_rom.py --junitxml=XUNIT_RESULT.xml
make_sure_soc_caps_compatible_in_idf_build_apps:
extends:
- .host_test_template

View File

@ -11,3 +11,14 @@ generate_failed_jobs_report:
- job_report.html
script:
- python tools/ci/dynamic_pipelines/scripts/generate_report.py --report-type job
sync_support_status:
stage: post_deploy
extends:
- .rules:sync_support_status
needs:
- push_to_github
image: $ESP_ENV_IMAGE
tags: [ brew, github_sync ]
script:
- curl --fail --request POST --form token="$IDF_STATUS_TRIG_TOKEN" --form ref="$IDF_STATUS_BRANCH" --form "variables[UPLOAD_TO_S3]=true" "$IDF_STATUS_TRIG_URL"

View File

@ -72,7 +72,7 @@ check_chip_support_components:
expire_in: 1 week
script:
- python tools/ci/check_soc_headers_leak.py
- find ${IDF_PATH}/components/soc/**/include/soc/ -name "*_struct.h" -print0 | xargs -0 -n1 ./tools/ci/check_soc_struct_headers.py
- find ${IDF_PATH}/components/soc/**/include/soc/ ${IDF_PATH}/components/soc/**/register/soc/ -name "*_struct.h" -print0 | xargs -0 -n1 ./tools/ci/check_soc_struct_headers.py
- tools/ci/check_esp_memory_utils_headers.sh
check_esp_err_to_name:
@ -183,12 +183,24 @@ baseline_manifest_sha:
tags: [fast_run, shiny]
script:
- |
if [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
# merged results pipelines, by default
# diff between target-branch-head and merged-result-head
if [ -n "$CI_MERGE_REQUEST_TARGET_BRANCH_SHA" ]; then
git fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_SHA --depth=1
git checkout FETCH_HEAD
idf-build-apps dump-manifest-sha \
--manifest-files $(find . -name ".build-test-rules.yml" | xargs) \
--output .manifest_sha
# merge request pipelines, when the mr got conflicts
# diff between diff-base-sha and merge-request-head
elif [ -n "$CI_MERGE_REQUEST_DIFF_BASE_SHA" ]; then
git fetch origin $CI_MERGE_REQUEST_DIFF_BASE_SHA --depth=1
git checkout FETCH_HEAD
idf-build-apps dump-manifest-sha \
--manifest-files $(find . -name ".build-test-rules.yml" | xargs) \
--output .manifest_sha
# other pipelines, like the protected branches pipelines
# not triggered in this job
fi
artifacts:
paths:

View File

@ -35,6 +35,7 @@
# Add folders excluded by "???[!t]" and "??[!s]?"
# pre-commit: tools/ci/check_rules_components_patterns.py
- "components/bt/host/**/*"
- "components/esp_psram/system_layer/*"
.patterns-downloadable-tools: &patterns-downloadable-tools
- "tools/idf_tools.py"
@ -68,6 +69,7 @@
- "tools/ci/check_public_headers.py"
- "tools/ci/check_register_rw_half_word.cmake"
- "tools/ci/check_register_rw_half_word.py"
- "examples/build_system/**/*"
.patterns-host_test: &patterns-host_test
- ".gitlab/ci/host-test.yml"
@ -92,6 +94,8 @@
- "tools/idf_size.py"
- "tools/test_idf_size/**/*"
- "tools/test_idf_diag/**/*"
- "tools/tools.json"
- "tools/tools_schema.json"
- "tools/idf_tools.py"
@ -124,6 +128,9 @@
- "tools/check_python_dependencies.py"
- "tools/bsasm.py"
- "tools/test_bsasm/**/*"
.patterns-docker: &patterns-docker
- "tools/docker/**/*"
@ -163,6 +170,9 @@
.if-ref-master: &if-ref-master
if: '$CI_COMMIT_REF_NAME == "master"'
.if-ref-master-no_label: &if-ref-master-no_label
if: '$CI_COMMIT_REF_NAME == "master" && $BOT_TRIGGER_WITH_LABEL == null'
.if-tag-release: &if-tag-release
if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/'
@ -214,6 +224,11 @@
when: never
- <<: *if-protected-no_label
# Not uploading on release branches
.rules:sync_support_status:
rules:
- <<: *if-ref-master-no_label
.rules:protected-no_label-always:
rules:
- <<: *if-qa-test-tag
@ -255,11 +270,6 @@
- <<: *if-dev-push
changes: *patterns-c-files
.rules:patterns:python-files:
rules:
- <<: *if-protected
- <<: *if-dev-push
changes: *patterns-python-files
#.rules:patterns:static-code-analysis-preview:
# rules:
@ -398,6 +408,8 @@
when: never
- <<: *if-schedule-test-build-system-windows
- <<: *if-label-windows
- <<: *if-dev-push
changes: *patterns-build_system
.rules:test:host_test:
rules:

View File

@ -16,28 +16,6 @@ clang_tidy_check:
--limit-file tools/ci/static-analysis-rules.yml
--xtensa-include-dir
check_pylint:
extends:
- .pre_check_template
- .rules:patterns:python-files
needs:
- pipeline_variables
artifacts:
reports:
codequality: pylint.json
paths:
- pylint.json
expire_in: 1 week
when: always
script:
- |
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
export files=$(echo "$GIT_DIFF_OUTPUT" | grep ".py$" | xargs);
else
export files=$(git ls-files "*.py" | xargs);
fi
- if [ -z "$files" ]; then echo "No python files found"; exit 0; fi
- run_cmd pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-codeclimate:pylint.json $files
#
## build stage
## Sonarqube related jobs put here for this reason:

View File

@ -29,6 +29,7 @@ test_cli_installer_win:
expire_in: 1 week
variables:
IDF_PATH: "$CI_PROJECT_DIR"
timeout: 3h
script:
# Tools must be downloaded for testing
- python ${IDF_PATH}\tools\idf_tools.py download required qemu-riscv32 qemu-xtensa cmake

View File

@ -27,3 +27,6 @@ Test Case Filters:
# This example will include all tests containing 'test_hello_world' in the name,
# and include all tests containing 'test_sdm' but not 'sdmmc' in the name.
``` --><!-- Optional -->
<!-- Don't remove the next line - assigns the MR author as the assignee -->
/assign me

View File

@ -60,3 +60,6 @@ _If there are any breaking changes, please mention it here. Talking about (1) wh
_Please strictly follow the breaking change restriction, which means, if there is a breaking change but you are merging to non-major versions, you have to separate the breaking part out to another MR for a major version. The breaking change subsection is only accepted in MRs merging to major versions._
* [VFS/UART] Now vfs_uart_set_rts_cts accept one more instance argument, to support configuration to different ports.
<!-- Don't remove the next line - assigns the MR author as the assignee -->
/assign me

View File

@ -1,9 +1,35 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_stages: [commit]
default_stages: [pre-commit]
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.9.7"
hooks:
- id: ruff-format
- id: ruff
args: [ "--fix" ]
- repo: local
hooks:
- id: pytest-linter
name: Pytest Linter Check
entry: tools/ci/check_test_files.py
language: python
files: 'pytest_.*\.py$'
require_serial: true
additional_dependencies:
- pytest-embedded-idf[serial]~=1.16
- pytest-embedded-jtag~=1.16
- pytest-embedded-qemu~=1.16
- pytest-ignore-test-results~=0.3
- pytest-rerunfailures
- pytest-timeout
- idf-build-apps~=2.8
- python-gitlab
- minio
- click
- esp-idf-monitor
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
@ -14,6 +40,7 @@ repos:
# 2 - any file matching *test*/*expected* (for host tests, if possible use this naming pattern always)
# 3 - any directory named 'testdata'
# 4 - protobuf auto-generated files
# 5 - COPYING files
exclude: &whitespace_excludes |
(?x)^(
.+\.(md|rst|map|bin)|
@ -23,7 +50,9 @@ repos:
.*.pb-c.h|
.*.pb-c.c|
.*.yuv|
.*.rgb
.*.rgb|
.*COPYING.*|
docs/sphinx-known-warnings\.txt
)$
- id: end-of-file-fixer
exclude: *whitespace_excludes
@ -37,21 +66,6 @@ repos:
- id: no-commit-to-branch
name: Do not use uppercase letters in the branch name
args: ['--pattern', '^[^A-Z]*[A-Z]']
- repo: https://github.com/PyCQA/flake8
rev: 5.0.4
hooks:
- id: flake8
args: ['--config=.flake8', '--tee', '--benchmark']
- repo: https://github.com/asottile/reorder-python-imports
rev: v3.12.0
hooks:
- id: reorder-python-imports
name: Reorder Python imports
args: [--py38-plus]
exclude: >
(?x)^(
.*_pb2.py
)$
- repo: https://github.com/codespell-project/codespell
rev: v2.3.0
hooks:
@ -70,11 +84,6 @@ repos:
language: python
pass_filenames: false
always_run: true
- id: check-deprecated-kconfigs-options
name: Check if any Kconfig Options Deprecated
entry: tools/ci/check_deprecated_kconfigs.py
language: python
files: 'sdkconfig\.ci$|sdkconfig\.rename$|sdkconfig.*$'
- id: cmake-lint
name: Check CMake Files Format
entry: cmakelint --linelength=120 --spaces=4 --filter=-whitespace/indent
@ -154,7 +163,7 @@ repos:
require_serial: true
additional_dependencies:
- PyYAML == 5.3.1
- idf-build-apps~=2.0
- idf-build-apps>=2.8,<3
- id: sort-yaml-files
name: sort yaml files
entry: tools/ci/sort_yaml.py
@ -198,7 +207,7 @@ repos:
- id: file-contents-sorter
files: 'tools\/ci\/(executable-list\.txt|mypy_ignore_list\.txt|check_copyright_ignore\.txt)'
- repo: https://github.com/espressif/check-copyright/
rev: v1.0.3
rev: v1.1.1
hooks:
- id: check-copyright
args: ['--ignore', 'tools/ci/check_copyright_ignore.txt', '--config', 'tools/ci/check_copyright_config.yaml']
@ -241,6 +250,7 @@ repos:
name: Lint rST files in docs folder using Sphinx Lint
files: ^(docs/en|docs/zh_CN)/.*\.(rst|inc)$
- repo: https://github.com/espressif/esp-idf-kconfig.git
rev: v2.3.0
rev: v2.5.0
hooks:
- id: check-kconfig-files
- id: check-deprecated-kconfig-options

641
.pylintrc
View File

@ -1,641 +0,0 @@
[MAIN]
# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no
# Clear in-memory caches upon conclusion of linting. Useful if running pylint
# in a server-like mode.
clear-cache-post-run=no
# Load and enable all available extensions. Use --list-extensions to see a list
# all available extensions.
#enable-all-extensions=
# In error mode, messages with a category besides ERROR or FATAL are
# suppressed, and no reports are done by default. Error mode is compatible with
# disabling specific errors.
#errors-only=
# Always return a 0 (non-error) status code, even if lint errors are found.
# This is primarily useful in continuous integration scripts.
#exit-zero=
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code.
extension-pkg-allow-list=
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code. (This is an alternative name to extension-pkg-allow-list
# for backward compatibility.)
extension-pkg-whitelist=
# Return non-zero exit code if any of these messages/categories are detected,
# even if score is above --fail-under value. Syntax same as enable. Messages
# specified are enabled, while categories only check already-enabled messages.
fail-on=
# Specify a score threshold under which the program will exit with error.
fail-under=10
# Interpret the stdin as a python script, whose filename needs to be passed as
# the module_or_package argument.
#from-stdin=
# Files or directories to be skipped. They should be base names, not paths.
ignore=CVS
# Add files or directories matching the regular expressions patterns to the
# ignore-list. The regex matches against paths and can be in Posix or Windows
# format. Because '\\' represents the directory delimiter on Windows systems,
# it can't be used as an escape character.
ignore-paths=
# Files or directories matching the regular expression patterns are skipped.
# The regex matches against base names, not paths. The default value ignores
# Emacs file locks
ignore-patterns=^\.#
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis). It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use, and will cap the count on Windows to
# avoid hangs.
jobs=1
# Control the amount of potential inferred values when inferring a single
# object. This can help the performance when dealing with large functions or
# complex, nested conditions.
limit-inference-results=100
# List of plugins (as comma separated values of python module names) to load,
# usually to register additional checkers.
load-plugins=
# Pickle collected data for later comparisons.
persistent=yes
# Minimum Python version to use for version dependent checks. Will default to
# the version used to run pylint.
py-version=3.8
# Discover python modules and packages in the file system subtree.
recursive=no
# Add paths to the list of the source roots. Supports globbing patterns. The
# source root is an absolute path or a path relative to the current working
# directory used to determine a package namespace for modules located under the
# source root.
source-roots=
# When enabled, pylint would attempt to guess common misconfiguration and emit
# user-friendly hints instead of false-positive error messages.
suggestion-mode=yes
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
# In verbose mode, extra non-checker-related info will be displayed.
#verbose=
[BASIC]
# Naming style matching correct argument names.
argument-naming-style=snake_case
# Regular expression matching correct argument names. Overrides argument-
# naming-style. If left empty, argument names will be checked with the set
# naming style.
#argument-rgx=
# Naming style matching correct attribute names.
attr-naming-style=snake_case
# Regular expression matching correct attribute names. Overrides attr-naming-
# style. If left empty, attribute names will be checked with the set naming
# style.
#attr-rgx=
# Bad variable names which should always be refused, separated by a comma.
bad-names=foo,
bar,
baz,
toto,
tutu,
tata
# Bad variable names regexes, separated by a comma. If names match any regex,
# they will always be refused
bad-names-rgxs=
# Naming style matching correct class attribute names.
class-attribute-naming-style=any
# Regular expression matching correct class attribute names. Overrides class-
# attribute-naming-style. If left empty, class attribute names will be checked
# with the set naming style.
#class-attribute-rgx=
# Naming style matching correct class constant names.
class-const-naming-style=UPPER_CASE
# Regular expression matching correct class constant names. Overrides class-
# const-naming-style. If left empty, class constant names will be checked with
# the set naming style.
#class-const-rgx=
# Naming style matching correct class names.
class-naming-style=PascalCase
# Regular expression matching correct class names. Overrides class-naming-
# style. If left empty, class names will be checked with the set naming style.
#class-rgx=
# Naming style matching correct constant names.
const-naming-style=UPPER_CASE
# Regular expression matching correct constant names. Overrides const-naming-
# style. If left empty, constant names will be checked with the set naming
# style.
#const-rgx=
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=-1
# Naming style matching correct function names.
function-naming-style=snake_case
# Regular expression matching correct function names. Overrides function-
# naming-style. If left empty, function names will be checked with the set
# naming style.
#function-rgx=
# Good variable names which should always be accepted, separated by a comma.
good-names=i,
j,
k,
ex,
Run,
_
# Good variable names regexes, separated by a comma. If names match any regex,
# they will always be accepted
good-names-rgxs=
# Include a hint for the correct naming format with invalid-name.
include-naming-hint=no
# Naming style matching correct inline iteration names.
inlinevar-naming-style=any
# Regular expression matching correct inline iteration names. Overrides
# inlinevar-naming-style. If left empty, inline iteration names will be checked
# with the set naming style.
#inlinevar-rgx=
# Naming style matching correct method names.
method-naming-style=snake_case
# Regular expression matching correct method names. Overrides method-naming-
# style. If left empty, method names will be checked with the set naming style.
#method-rgx=
# Naming style matching correct module names.
module-naming-style=snake_case
# Regular expression matching correct module names. Overrides module-naming-
# style. If left empty, module names will be checked with the set naming style.
#module-rgx=
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
# These decorators are taken in consideration only for invalid-name.
property-classes=abc.abstractproperty
# Regular expression matching correct type alias names. If left empty, type
# alias names will be checked with the set naming style.
#typealias-rgx=
# Regular expression matching correct type variable names. If left empty, type
# variable names will be checked with the set naming style.
#typevar-rgx=
# Naming style matching correct variable names.
variable-naming-style=snake_case
# Regular expression matching correct variable names. Overrides variable-
# naming-style. If left empty, variable names will be checked with the set
# naming style.
#variable-rgx=
[CLASSES]
# Warn about protected attribute access inside special methods
check-protected-access-in-special-methods=no
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,
__new__,
setUp,
asyncSetUp,
__post_init__
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,_fields,_replace,_source,_make,os._exit
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=mcs
[DESIGN]
# List of regular expressions of class ancestor names to ignore when counting
# public methods (see R0903)
exclude-too-few-public-methods=
# List of qualified class names to ignore when counting class parents (see
# R0901)
ignored-parents=
# Maximum number of arguments for function / method.
max-args=5
# Maximum number of attributes for a class (see R0902).
max-attributes=7
# Maximum number of boolean expressions in an if statement (see R0916).
max-bool-expr=5
# Maximum number of branch for function / method body.
max-branches=12
# Maximum number of locals for function / method body.
max-locals=15
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of public methods for a class (see R0904).
max-public-methods=20
# Maximum number of return / yield for function / method body.
max-returns=6
# Maximum number of statements in function / method body.
max-statements=50
# Minimum number of public methods for a class (see R0903).
min-public-methods=2
[EXCEPTIONS]
# Exceptions that will emit a warning when caught.
overgeneral-exceptions=builtins.BaseException,builtins.Exception
[FORMAT]
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Maximum number of characters on a single line.
max-line-length=160
# Maximum number of lines in a module.
max-module-lines=1000
# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.
single-line-class-stmt=no
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
[IMPORTS]
# List of modules that can be imported at any level, not just the top level
# one.
allow-any-import-level=
# Allow explicit reexports by alias from a package __init__.
allow-reexport-from-package=no
# Allow wildcard imports from modules that define __all__.
allow-wildcard-with-all=no
# Deprecated modules which should not be used, separated by a comma.
deprecated-modules=
# Output a graph (.gv or any supported image format) of external dependencies
# to the given file (report RP0402 must not be disabled).
ext-import-graph=
# Output a graph (.gv or any supported image format) of all (i.e. internal and
# external) dependencies to the given file (report RP0402 must not be
# disabled).
import-graph=
# Output a graph (.gv or any supported image format) of internal dependencies
# to the given file (report RP0402 must not be disabled).
int-import-graph=
# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=
# Force import order to recognize a module as part of a third party library.
known-third-party=enchant
# Couples of modules and preferred modules, separated by a comma.
preferred-modules=
[LOGGING]
# The type of string formatting that logging methods do. `old` means using %
# formatting, `new` is for `{}` formatting.
logging-format-style=old
# Logging modules to check that the string format arguments are in logging
# function parameter format.
logging-modules=logging
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, CONTROL_FLOW, INFERENCE, INFERENCE_FAILURE,
# UNDEFINED.
confidence=HIGH,
CONTROL_FLOW,
INFERENCE,
INFERENCE_FAILURE,
UNDEFINED
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once). You can also use "--disable=all" to
# disable everything first and then re-enable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use "--disable=all --enable=classes
# --disable=W".
disable=raw-checker-failed,
bad-inline-option,
locally-disabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead,
missing-function-docstring, # Modified since here, include this line
missing-class-docstring,
missing-module-docstring,
wrong-import-order,
invalid-name,
too-few-public-methods,
too-many-locals,
ungrouped-imports, # since we have isort in pre-commit
no-name-in-module, # since we have flake8 to check this
too-many-instance-attributes,
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=c-extension-no-member
[METHOD_ARGS]
# List of qualified names (i.e., library.method) which require a timeout
# parameter e.g. 'requests.api.get,requests.api.post'
timeout-methods=requests.api.delete,requests.api.get,requests.api.head,requests.api.options,requests.api.patch,requests.api.post,requests.api.put,requests.api.request
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,
XXX,
TODO
# Regular expression of note tags to take in consideration.
notes-rgx=
[REFACTORING]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
# Complete name of functions that never returns. When checking for
# inconsistent-return-statements if a never returning function is called then
# it will be considered as an explicit return statement and no message will be
# printed.
never-returning-functions=sys.exit,argparse.parse_error
[REPORTS]
# Python expression which should return a score less than or equal to 10. You
# have access to the variables 'fatal', 'error', 'warning', 'refactor',
# 'convention', and 'info' which contain the number of messages in each
# category, as well as 'statement' which is the total number of statements
# analyzed. This score is used by the global evaluation report (RP0004).
evaluation=max(0, 0 if fatal else 10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10))
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
msg-template=
# Set the output format. Available formats are text, parseable, colorized, json
# and msvs (visual studio). You can also give a reporter class, e.g.
# mypackage.mymodule.MyReporterClass.
#output-format=
# Tells whether to display a full report or only the messages.
reports=no
# Activate the evaluation score.
score=yes
[SIMILARITIES]
# Comments are removed from the similarity computation
ignore-comments=yes
# Docstrings are removed from the similarity computation
ignore-docstrings=yes
# Imports are removed from the similarity computation
ignore-imports=yes
# Signatures are removed from the similarity computation
ignore-signatures=yes
# Minimum lines number of a similarity.
min-similarity-lines=4
[SPELLING]
# Limits count of emitted suggestions for spelling mistakes.
max-spelling-suggestions=4
# Spelling dictionary name. No available dictionaries : You need to install
# both the python package and the system dependency for enchant to work..
spelling-dict=
# List of comma separated words that should be considered directives if they
# appear at the beginning of a comment and should not be checked.
spelling-ignore-comment-directives=fmt: on,fmt: off,noqa:,noqa,nosec,isort:skip,mypy:
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains the private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to the private dictionary (see the
# --spelling-private-dict-file option) instead of raising a message.
spelling-store-unknown-words=no
[STRING]
# This flag controls whether inconsistent-quotes generates a warning when the
# character used as a quote delimiter is used inconsistently within a module.
check-quote-consistency=no
# This flag controls whether the implicit-str-concat should generate a warning
# on implicit string concatenation in sequences defined over several lines.
check-str-concat-over-line-jumps=no
[TYPECHECK]
# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=
# Tells whether to warn about missing members when the owner of the attribute
# is inferred to be None.
ignore-none=yes
# This flag controls whether pylint should warn about no-member and similar
# checks whenever an opaque object is returned when inferring. The inference
# can return multiple potential results while evaluating a Python object, but
# some branches might not be evaluated, which results in partial inference. In
# that case, it might be useful to still emit no-member and other checks for
# the rest of the inferred objects.
ignore-on-opaque-inference=yes
# List of symbolic message names to ignore for Mixin members.
ignored-checks-for-mixins=no-member,
not-async-context-manager,
not-context-manager,
attribute-defined-outside-init
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace
# Show a hint with possible names when a member name was not found. The aspect
# of finding the hint is based on edit distance.
missing-member-hint=yes
# The minimum edit distance a name should have in order to be considered a
# similar match for a missing member name.
missing-member-hint-distance=1
# The total number of similar names that should be taken in consideration when
# showing a hint for a missing member.
missing-member-max-choices=1
# Regex pattern to define which classes are considered mixins.
mixin-class-rgx=.*[Mm]ixin
# List of decorators that change the signature of a decorated function.
signature-mutators=
[VARIABLES]
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid defining new builtins when possible.
additional-builtins=
# Tells whether unused global variables should be treated as a violation.
allow-global-unused-variables=yes
# List of names allowed to shadow builtins
allowed-redefined-builtins=
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,
_cb
# A regular expression matching the name of dummy variables (i.e. expected to
# not be used).
dummy-variables-rgx=_+$|(_[a-zA-Z0-9_]*[a-zA-Z0-9]+?$)|dummy|^ignored_|^unused_
# Argument names that match this expression will be ignored.
ignored-argument-names=_.*|^ignored_|^unused_
# Tells whether we should check for unused import in __init__ files.
init-import=no
# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,past.builtins,future.builtins,builtins,io

View File

@ -15,7 +15,7 @@ python:
install:
- requirements: docs/requirements.txt
# We need to list all the submodules included in documenation build by Doxygen
# We need to list all the submodules included in documentation build by Doxygen
submodules:
include:
- components/mqtt/esp-mqtt

View File

@ -13,29 +13,7 @@ endif()
# Add the following build specifications here, since these seem to be dependent
# on config values on the root Kconfig.
if(NOT BOOTLOADER_BUILD)
if(CONFIG_COMPILER_OPTIMIZATION_SIZE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-freorder-blocks")
endif()
elseif(CONFIG_COMPILER_OPTIMIZATION_DEBUG)
list(APPEND compile_options "-Og")
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND NOT CONFIG_IDF_TARGET_LINUX)
list(APPEND compile_options "-fno-shrink-wrap") # Disable shrink-wrapping to reduce binary size
endif()
elseif(CONFIG_COMPILER_OPTIMIZATION_NONE)
list(APPEND compile_options "-O0")
elseif(CONFIG_COMPILER_OPTIMIZATION_PERF)
list(APPEND compile_options "-O2")
endif()
else() # BOOTLOADER_BUILD
if(BOOTLOADER_BUILD)
if(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
@ -57,6 +35,37 @@ else() # BOOTLOADER_BUILD
list(APPEND compile_options "-O2")
endif()
elseif(ESP_TEE_BUILD)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
list(APPEND compile_options "-freorder-blocks")
endif()
else()
if(CONFIG_COMPILER_OPTIMIZATION_SIZE)
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Oz")
else()
list(APPEND compile_options "-Os")
endif()
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-freorder-blocks")
endif()
elseif(CONFIG_COMPILER_OPTIMIZATION_DEBUG)
list(APPEND compile_options "-Og")
if(CMAKE_C_COMPILER_ID MATCHES "GNU" AND NOT CONFIG_IDF_TARGET_LINUX)
list(APPEND compile_options "-fno-shrink-wrap") # Disable shrink-wrapping to reduce binary size
endif()
elseif(CONFIG_COMPILER_OPTIMIZATION_NONE)
list(APPEND compile_options "-O0")
elseif(CONFIG_COMPILER_OPTIMIZATION_PERF)
list(APPEND compile_options "-O2")
endif()
endif()
if(CONFIG_COMPILER_CXX_EXCEPTIONS)
@ -198,6 +207,13 @@ if(CONFIG_ESP_SYSTEM_USE_EH_FRAME)
list(APPEND link_options "-Wl,--eh-frame-hdr")
endif()
if(CONFIG_ESP_SYSTEM_USE_FRAME_POINTER)
list(APPEND compile_options "-fno-omit-frame-pointer")
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
list(APPEND compile_options "-mno-omit-leaf-frame-pointer")
endif()
endif()
list(APPEND link_options "-fno-lto")
if(CONFIG_IDF_TARGET_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")

View File

@ -97,18 +97,49 @@ Supported since ESP-IDF v5.0.
| release/v5.2 | v5.2.2+ | v5.2 |
| release/v5.3 and above | v5.3+ | v5.3 |
#### v2.0
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.8+ | v5.0.8 |
| release/v5.1 | v5.1.5+ | v5.1.5* |
| release/v5.2 | v5.2.4+ | v5.2.4 |
| release/v5.3 | v5.3.2+ | v5.3.2* |
| release/v5.4 and above | v5.4+ | v5.4 |
Note: IDF v5.1.5 and v5.3.2 are compatible with C2 v2.0. However the chip revision check hasn't been updated on these releases. Enable `ESP32C2_REV2_DEVELOPMENT` config to bypass the outdated check.
### ESP32-C6
#### v0.0, v0.1
Supported since ESP-IDF v5.1.
#### v0.2
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.5+ | v5.1 |
| release/v5.2 | v5.2.4+ | v5.2 |
| release/v5.3 | v5.3.2+ | v5.3 |
| release/v5.4 and above | v5.4+ | v5.4 |
### ESP32-H2
#### v0.1, v0.2
Supported since ESP-IDF v5.1.
#### v1.2
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.6+ | v5.1.6 |
| release/v5.2 | v5.2.5+ | v5.2.5 |
| release/v5.3 | v5.3.3+ | v5.3.3 |
| release/v5.4 | v5.4.1+ | v5.4.1 |
| release/v5.5 and above | v5.5+ | v5.5 |
## What If the ESP-IDF Version Is Lower than the `Required` Version?
Latest ESP-IDF versions can prevent from downloading to, or even execute binaries on unsupported chips. ESP-IDF of versions v4.4.5+, v5.0.1+, v5.1 and above have both esptool download check and bootloader loading check against the chip revision. While ESP-IDF v4.3.5 has only esptool downloading check.

View File

@ -97,18 +97,49 @@
| release/v5.2 | v5.2.2+ | v5.1 |
| release/v5.3 及以上 | v5.3+ | v5.3 |
#### v2.0
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.8+ | v5.0.8 |
| release/v5.1 | v5.1.5+ | v5.1.5* |
| release/v5.2 | v5.2.4+ | v5.2.4 |
| release/v5.3 | v5.3.2+ | v5.3.2* |
| release/v5.4 及以上 | v5.4+ | v5.4 |
提示: IDF v5.1.5 及 v5.3.2 与 C2 v2.0 兼容,但芯片版本检查尚未在这些发布版本更新。使能 `ESP32C2_REV2_DEVELOPMENT` 选项来跳过这些过时的检查。
### ESP32-C6
#### v0.0, v0.1
从 ESP-IDF v5.1 开始支持。
#### v0.2
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.5+ | v5.1 |
| release/v5.2 | v5.2.4+ | v5.2 |
| release/v5.3 | v5.3.2+ | v5.3 |
| release/v5.4 及以上 | v5.4+ | v5.4 |
### ESP32-H2
#### v0.1, v0.2
从 ESP-IDF v5.1 开始支持。
#### v1.2
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.1 | v5.1.6+ | v5.1.6 |
| release/v5.2 | v5.2.5+ | v5.2.5 |
| release/v5.3 | v5.3.3+ | v5.3.3 |
| release/v5.4 | v5.4.1+ | v5.4.1 |
| release/v5.5 及以上 | v5.5+ | v5.5 |
## 如果 ESP-IDF 版本低于 `需求版本` 会出现什么情况?

29
Kconfig
View File

@ -118,6 +118,8 @@ mainmenu "Espressif IoT Development Framework Configuration"
default "y" if IDF_TARGET="esp32c5"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
# TODO: [ESPTOOL-1044] remove when stub supported
select IDF_ENV_BRINGUP
config IDF_TARGET_ESP32P4
bool
@ -136,6 +138,22 @@ mainmenu "Espressif IoT Development Framework Configuration"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32H21
bool
default "y" if IDF_TARGET="esp32h21"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_FPGA
select IDF_ENV_BRINGUP
config IDF_TARGET_ESP32H4
bool
default "y" if IDF_TARGET="esp32h4"
select FREERTOS_UNICORE # TODO: [ESP32H4] IDF-12319, need remove
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_FPGA
select IDF_ENV_BRINGUP
config IDF_TARGET_LINUX
bool
default "y" if IDF_TARGET="linux"
@ -152,6 +170,8 @@ mainmenu "Espressif IoT Development Framework Configuration"
default 0x0012 if IDF_TARGET_ESP32P4
default 0x0017 if IDF_TARGET_ESP32C5
default 0x0014 if IDF_TARGET_ESP32C61
default 0x0019 if IDF_TARGET_ESP32H21
default 0x001C if IDF_TARGET_ESP32H4
default 0xFFFF
@ -659,6 +679,13 @@ mainmenu "Espressif IoT Development Framework Configuration"
endmenu # Compiler Options
menu "Component config"
comment "!!! MINIMAL_BUILD is enabled !!!"
depends on "${IDF_MINIMAL_BUILD}"
comment "Only common components and those transitively required by the main component are listed"
depends on "${IDF_MINIMAL_BUILD}"
comment "If a component configuration is missing, please add it to the main component's requirements"
depends on "${IDF_MINIMAL_BUILD}"
source "$COMPONENT_KCONFIGS_SOURCE_FILE"
endmenu
@ -678,5 +705,5 @@ mainmenu "Espressif IoT Development Framework Configuration"
- CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH
- CONFIG_ESP_WIFI_EAP_TLS1_3
- CONFIG_ESP_WIFI_ENABLE_ROAMING_APP
- CONFIG_USB_HOST_EXT_PORT_SUPPORT_LS
- CONFIG_USB_HOST_EXT_PORT_RESET_ATTEMPTS
- CONFIG_LIBC_PICOLIBC

View File

@ -1,4 +1,6 @@
# ESP-IDF Project Roadmap2024
# ESP-IDF Project Roadmap2025
* [中文版](./ROADMAP_CN.md)
This document outlines the goals of ESP-IDF project and is shared for the convenience of our customers. It is important to clarify that this document is not a binding commitment to our customers. Instead, its primary purpose is to offer a clear roadmap and direction for the project's development. By openly sharing this information, we aim to enhance our customers' understanding, promote transparency and ensure alignment with the overarching objectives of the ESP-IDF project.
@ -10,32 +12,28 @@ In both minor and major releases, we integrate new chip support to enhance our p
Furthermore, we prioritize bugfix releases for active branches, focusing on improving the stability and performance of products already in production. By addressing bugs promptly, we aim to enhance the overall user experience and provide tangible benefits to customers relying on our solutions. This proactive maintenance strategy reflects our commitment to delivering reliable, high-quality products to our valued customer base.
Below are the main objectives that ESP-IDF project/teams would like to implement in 2024.
Below are the main objectives that ESP-IDF project/teams would like to implement in 2025.
- New Chip Support
- Add support for ESP32-P4
- Add support for ESP32-C5
- Add support for ESP32-C61
- More Minor Releases
- More Minor/Major Releases
- Release IDF v5.3 in 2024
- Release IDF v5.4 at the start of 2025
- Release IDF v5.5 in the middle of 2025
- Release IDF v6.0 at the end of 2025
- More Bugfix Releases
- Release v4.4.8 for IDF v4.4 before ESP-IDF v4.4 goes End of Life in July 2024
- Do more bugfix releases for IDF v5.1 before release/5.1 enters maintenance period in June 2024
- Do more bug fixes releases for release/5.2 and release/5.3, and push the two releases to be more stable and production-ready
- Release v5.0.8 and v5.0.9 before ESP-IDF v5.0 goes End of Life in May 2025
- Release v5.1.6 and v5.1.7 before ESP-IDF v5.1 goes End of Life in December 2025
- Do more bugfix releases for IDF v5.2 and IDF v5.3 before release/5.2 and release/5.3 enter maintenance period
- Do more bug fixes releases for release/5.4 and release/5.5, and push the two releases to be more stable and production-ready
- Updates of Libraries
- Major Changes
- Update GDB to 14.2
- Update LLVM to 18.1.2
- Update MbedTLS to 3.6 (LTS)
- Update LWIP to 2.2.0
- Change minimal Python requirement to 3.9
- We plan to upgrade MbedTLS to v4.x series in IDF v6.0. In addition, we will also be migrating to newer PSA crypto API as part of this upgrade. Please note that this may involve some breaking changes on the application side for the crypto API usage.
Please note that support status of previous silicones could be found on [ESP-IDF Release and SoC Compatibility](https://github.com/espressif/esp-idf#esp-idf-release-and-soc-compatibility).
@ -49,75 +47,84 @@ Below are the main roadmap details for functional areas inside ESP-IDF.
- New Chip Support
- Add full support for ESP32-P4 in ESP-IDF v5.3, refer to [ESP32-P4 Support Status](https://github.com/espressif/esp-idf/issues/12996)
- Add preview support for ESP32-C5 in ESP-IDF v5.3 and full support for ESP32-C5 in ESP-IDF v5.4, refer to [ESP32-C5 Support Status](https://github.com/espressif/esp-idf/issues/14021)
- Add preview support for the early samples of ESP32-C61 in ESP-IDF v5.4 and full support for mass production version in ESP-IDF v5.4.x. Refer to [ESP32-C61 Support Status](https://developer.espressif.com/pages/chip-support-status/esp32c61/#esp-idf)
- Add the initial support for the mass production version of ESP32-C5 in ESP-IDF v5.5, refer to [ESP32-C5 Support Status](https://github.com/espressif/esp-idf/issues/14021)
- Add the initial support for the mass production version of ESP32-C61 in ESP-IDF v5.5, refer to [ESP32-C61 Support Status](https://developer.espressif.com/pages/chip-support-status/esp32c61/#esp-idf)
- Bugfix releases
- Do bugfix release IDF v4.4.8 and stop maintaining ESP-IDF v4.4 in July 2024
- Release bugfix IDF v5.0.6 and IDF v5.0.7 in 2024 (maintenance period)
- Release bugfix IDF v5.1.3 and IDF v5.1.4 in H1 of 2024, and release IDF v5.1.5 in H2 of 2024
- Push release/5.1 to maintenance period from June 2024
- Do more bug fixes releases for release/5.2 (IDF v5.2.1, IDF v5.2.2, IDF v5.2.3) and release/5.3 (IDF v5.3.1, IDF v5.3.2), and push releases to be more stable and more production-ready
- Do bugfix releases v5.0.8 and v5.0.9 and stop maintaining ESP-IDF v5.0 in May 2025
- Do bugfix releases v5.1.6 and v5.1.7 and stop maintaining ESP-IDF v5.1 in December 2025
- Release bugfix IDF v5.2.4, IDF v5.2.5 and IDF v5.2.6 in 2025, and push release/5.2 to maintenance period from February 2025
- Release bugfix IDF v5.3.3 and IDF v5.3.4 in 2025, and push release/5.3 to maintenance period from July 2025
- Do more bug fixes releases for release/5.4 (IDF v5.4.1, IDF v5.4.2, IDF v5.4.3) and release/5.5 (IDF v5.5.1, IDF v5.5.2), and push releases to be more stable and more production-ready
## ESP-IDF Planning information
For the full list of ESP-IDF releases, please visit https://github.com/espressif/esp-idf/releases
All the information provided here is subject to change without notice, due to business reasons and other factors.
### ESP-IDF Major Releases
No Major Releases planned
```mermaid
timeline
title ESP-IDF Major Releases
section 2025 Q1 <br> Major Release Planning
No version planned : N/A
section 2025 Q2 <br> Major Release Planning
No version planned : N/A
section 2025 Q3 <br> Major Release Planning
No version planned : N/A
section 2025 Q4 <br> Major Release Planning
v6.0-beta1 : 2025/11/13
v6.0-beta2 : 2025/12/05
v6.0-RC1 : 2026/01/14
v6.0-RC2 : 2026/02/06
v6.0 : 2026/02/13
```
### ESP-IDF Minor Releases
#### Quarter One
```mermaid
timeline
- v5.2-RC1, estimate release date: 2024/02/02
- v5.2 final release, estimate release date: 2024/02/08
#### Quarter Two
- v5.3-beta1, estimate release date:: 2024/05/13
- v5.3-beta2, estimate release date:: 2024/05/31
- v5.3-RC1, estimate release date:: 2024/07/08
#### Quarter Three
- v5.3-RC2, estimate release date:: 2024/07/26
- v5.3 final release, estimate release date:: 2024/08/02
#### Quarter Four
- v5.4-beta1, estimate release date:: 2024/11/08
- v5.4-beta2, estimate release date:: 2024/11/29
- v5.4-RC1, estimate release date:: 2025/01/09
- v5.4-RC2, estimate release date:: 2025/01/29
- v5.4 final release, estimate release date: 2025/02/05
title ESP-IDF Minor Releases
section 2025 Q1 <br> Minor Release Planning
No version planned : N/A
section 2025 Q2 <br> Minor Release Planning
v5.5-beta1 : 2025/05/14
v5.5-beta2 : 2025/06/04
section 2025 Q3 <br> Minor Release Planning
v5.5-RC1 : 2025/07/07
v5.5-RC2 : 2025/07/28
v5.5 : 2025/08/04
section 2025 Q4 <br> Minor Release Planning
No version planned : N/A
```
### ESP-IDF Bugfix Releases
#### Quarter One
```mermaid
timeline
- v5.1.3, estimate release date: 2024/02/08
- v5.0.6, estimate release date: 2024/02/18
- v4.4.7, estimate release date:: 2024/03/19
- v5.2.1, estimate release date:: 2024/03/31
#### Quarter Two
- v5.1.4, estimate release date:: 2024/05/06
- v5.2.2, estimate release date:: 2024/06/17
- v4.4.8, estimate release date:: 2024/07/19
#### Quarter Three
- v5.0.7, estimate release date: 2024/08/22
- v5.3.1, estimate release date: 2024/09/16
- v5.2.3, estimate release date: 2024/10/10
#### Quarter Four
- v5.1.5, estimate release date: 2024/11/04 (Maintenance period since June 2024)
- v5.3.2, estimate release date: 2024/12/31
- v5.2.4, estimate release date: 2025/02/20 (Service period ends Feb. 2025)
title ESP-IDF Bugfix Releases
section 2025 Q1 <br> Bugfix Release Planning
v5.0.8 : 2025/01/14
v5.1.6 : 2025/02/18
v5.2.4 : 2025/02/23
v5.2.5 : 2025/02/28
v5.4.1 : 2025/03/27
v5.3.3 : 2025/04/04
section 2025 Q2 <br> Bugfix Release Planning
v5.0.9 : 2025/05/16
v5.4.2 : 2025/06/30
section 2025 Q3 <br> Bugfix Release Planning
v5.3.4 : 2025/08/03
v5.2.6 : 2025/09/04
v5.5.1 : 2025/09/11
v5.4.3 : 2025/10/08
section 2025 Q4 <br> Bugfix Release Planning
v5.5.2 : 2025/11/12
v5.1.7 : 2026/01/06
```

View File

@ -1,4 +1,6 @@
# ESP-IDF 项目路线图 2024 (v1.0)
# ESP-IDF 项目路线图 2025
* [English Version](./ROADMAP.md)
本文档概述了 ESP-IDF 项目的年度计划,方便客户据此规划自己的项目周期。需要说明的是该文档并不是我们对客户的约束性承诺。相反,其主要目的是为客户提供 ESP-IDF 项目开发的路线图和方向。通过公开这些信息,我们希望增进客户对 ESP-IDF 项目的理解,提高透明度,并确保与 ESP-IDF 项目的总体目标保持一致。
@ -10,32 +12,28 @@
此外ESP-IDF 各活跃分支的 Bugfix 版本发布也是我们项目的重中之重,着力提升已量产产品的稳定性和性能。通过及时解决问题,我们期待提升用户的整体体验,切实惠及使用乐鑫解决方案的客户。通过积极维护 ESP-IDF 的各活跃分支,我们践行了对宝贵的客户群提供可靠、高质量产品的承诺。
以下是 ESP-IDF 项目在 2024 年计划实现的主要目标。
以下是 ESP-IDF 项目在 2025 年计划实现的主要目标。
* 新芯片支持
* 增加对 ESP32-P4 芯片的支持
* 增加对 ESP32-C5 芯片的支持
* 增加对 ESP32-C61 芯片的支持
* 发布更多的次要版本
* 发布更多的次要和主要版本
* 在 2024 年发布 IDF v5.3
* 在 2025 年发布 IDF v5.4
* 在 2025发布 IDF v5.5
* 在 2025 年发布 IDF v6.0
* 发布更多 Bugfix 版本
* 发布更多 bugfix 版本
* 在 20247 月底 IDF v4.4 停止维护之前,发布 IDF v4.4.8
* 在 20246 月底release/5.1 分支进入维护周期之前,发布更多 Bugfix 版本
* release/5.2 分支和 release/5.3 分支发布更多 Bugfix 版本,使这两个分支更加稳定和产品化
* 在 20255 月底 IDF v5.0 停止维护之前,发布 IDF v5.0.8 和 IDF v5.0.9
* 在 202512 月底 IDF v5.1 停止维护之前,发布 IDF v5.1.6 和 IDF v5.1.7
* release/5.2 分支和 release/5.3 分支进入维护周期之前,发布更多 bugfix 版本
* release/5.4 分支和 release/5.5 分支发布更多 bugfix 版本,使这两个分支更加稳定和产品化
* 上游库与工具链的更新
* 重大变更
* 将 GDB 升级至 14.2
* 将 LLVM 升级至 18.1.2
* 更新 MbedTLS 至 3.6LTS
* 更新 LWIP 至 2.2.0
* 将最低 Python 要求更改为 3.9
* 我们计划在 IDF v6.0 中将 MbedTLS 版本升级到 v4.x。另外我们还会在升级中迁移到更新版的 PSA 加密 API但请注意这可能会导致应用程序端在使用加密 API 时出现一些非兼容性更新。
请注意,获取之前芯片的支持状态,请参阅 [ESP-IDF 发布和 SoC 兼容性](https://github.com/espressif/esp-idf/blob/master/README_CN.md#esp-idf-与乐鑫芯片)。
@ -49,75 +47,84 @@ ESP-IDF 项目重视持续维护和更新,确保我们的客户始终处于技
* 新芯片支持
* 在 ESP-IDF v5.3 中为 ESP32-P4 提供完整支持,参考 [ESP32-P4 支持状态](https://github.com/espressif/esp-idf/issues/12996)
* 在 ESP-IDF v5.3 ESP32-C5 提供预览支持,并在 ESP-IDF v5.4 ESP32-C5 提供完整支持,参考 [ESP32-C5 支持状态](https://github.com/espressif/esp-idf/issues/14021)
* 在 ESP-IDF v5.4 中增加对 ESP32-C61 早期样品的预览支持,并在 IDF v5.4.x 中增加对 ESP32-C61 量产版本的完整支持,参考 [ESP32-C61 支持状态](https://developer.espressif.com/pages/chip-support-status/esp32c61/#esp-idf)
* 在 ESP-IDF v5.4 中为 ESP32-C5 提供预览支持,并在 ESP-IDF v5.5 中为 ESP32-C5 提供完整支持,参考 [ESP32-C5 支持状态](https://github.com/espressif/esp-idf/issues/14021)
* 在 ESP-IDF v5.4增加对 ESP32-C61 早期样品的预览支持,并在 IDF v5.5增加对 ESP32-C61 量产版本的完整支持,参考 [ESP32-C61 支持状态](https://developer.espressif.com/pages/chip-support-status/esp32c61/#esp-idf)
* Bugfix 版本发布
* 发布 Bugfix 版本 IDF v4.4.8,并在 20247 月底停止维护 ESP-IDF v4.4
* 2024 年release/5.0 分支已处于维护周期,发布 IDF v5.0.6 和 IDF v5.0.7
* 2024 年上半年发布 Bugfix 版本 IDF v5.1.3 和 IDF v5.1.4,并在 2024下半年发布 IDF v5.1.5
* 自 2024 年 6 月起release/5.1 分支进入维护周期
* release/5.2 分支发布更多 Bugfix 版本,包括 IDF v5.2.1、IDF v5.2.2、IDF v5.2.3release/5.3 分支发布更多 Bugfix 版本,包括 IDF v5.3.1、IDF v5.3.2。通过发布这些 Bugfix 版本,使 release/5.2 分支和 release/5.3 分支更加稳定和产品化。
* 发布 Bugfix 版本 IDF v5.0.8 和 IDF v5.0.9,并在 20255 月底停止维护 ESP-IDF v5.0
* 发布 Bugfix 版本 IDF v5.1.6 和 IDF v5.1.7,并在 2025 年 12 月底停止维护 ESP-IDF v5.1
* 发布 Bugfix 版本 IDF v5.2.4IDF v5.2.5 和 IDF v5.2.6release/5.2 分支自 2025 2 月进入维护周期
* 发布 Bugfix 版本 IDF v5.3.3 和 IDF v5.3.4release/5.3 分支自 2025 年 7 月进入维护周期
* release/5.4 分支发布更多 bugfix 版本,包括 IDF v5.4.1、IDF v5.4.2、IDF v5.4.3release/5.5 分支发布更多 bugfix 版本,包括 IDF v5.5.1、IDF v5.5.2。通过发布这些 Bugfix 版本,使 release/5.4 分支和 release/5.5 分支更加稳定和产品化。
## ESP-IDF 发布计划
获取 ESP-IDF 的完整发布列表,请访问 https://github.com/espressif/esp-idf/releases
此处提供的所有信息均可因业务原因及其他因素而在没有通知的情况下进行更改。
### ESP-IDF 主要版本发布
2024 年,无主要版本发布计划
```mermaid
timeline
title ESP-IDF Major Releases
section 2025 Q1 <br> Major Release Planning
No version planned : N/A
section 2025 Q2 <br> Major Release Planning
No version planned : N/A
section 2025 Q3 <br> Major Release Planning
No version planned : N/A
section 2025 Q4 <br> Major Release Planning
v6.0-beta1 : 2025/11/13
v6.0-beta2 : 2025/12/05
v6.0-RC1 : 2026/01/14
v6.0-RC2 : 2026/02/06
v6.0 : 2026/02/13
```
### ESP-IDF 次要版本发布
#### 第一季度
```mermaid
timeline
* v5.2-RC1预计发布日期2024/02/02
* v5.2 正式发布预计发布日期2024/02/08
#### 第二季度
* v5.3-beta1预计发布日期2024/05/13
* v5.3-beta2预计发布日期2024/05/31
* v5.3-RC1,预计发布日期:2024/07/08
#### 第三季度
* v5.3-RC2预计发布日期2024/07/26
* v5.3 正式发布预计发布日期2024/08/02
#### 第四季度
* v5.4-beta1预计发布日期2024/11/08
* v5.4-beta2预计发布日期2024/11/29
* v5.4-RC1预计发布日期2025/01/09
* v5.4-RC2预计发布日期2025/01/29
* v5.4 正式发布预计发布日期2025/02/05
title ESP-IDF Minor Releases
section 2025 Q1 <br> Minor Release Planning
No version planned : N/A
section 2025 Q2 <br> Minor Release Planning
v5.5-beta1 : 2025/05/14
v5.5-beta2 : 2025/06/04
section 2025 Q3 <br> Minor Release Planning
v5.5-RC1 : 2025/07/07
v5.5-RC2 : 2025/07/28
v5.5 : 2025/08/04
section 2025 Q4 <br> Minor Release Planning
No version planned : N/A
```
### ESP-IDF Bugfix 版本发布
#### 第一季度
```mermaid
timeline
* v5.1.3预计发布日期2024/02/08
* v5.0.6预计发布日期2024/02/18
* v4.4.7,预计发布日期:2024/03/19
* v5.2.1,预计发布日期:2024/03/31
#### 第二季度
* v5.1.4,预计发布日期:2024/05/06
* v5.2.2预计发布日期2024/06/17
* v4.4.8,预计发布日期:2024/07/19
#### 第三季度
* v5.0.7,预计发布日期:2024/08/22
* v5.3.1,预计发布日期:2024/09/16
* v5.2.3,预计发布日期:2024/10/10
#### 第四季度
* v5.1.5预计发布日期2024/11/04自 2024 年 6 月进入维护周期)
* v5.3.2预计发布日期2024/12/31
* v5.2.4预计发布日期2025/02/20服务周期截止至 2025 年 2 月)
title ESP-IDF Bugfix Releases
section 2025 Q1 <br> Bugfix Release Planning
v5.0.8 : 2025/01/14
v5.1.6 : 2025/02/18
v5.2.4 : 2025/02/23
v5.2.5 : 2025/02/28
v5.4.1 : 2025/03/27
v5.3.3 : 2025/04/04
section 2025 Q2 <br> Bugfix Release Planning
v5.0.9 : 2025/05/16
v5.4.2 : 2025/06/30
section 2025 Q3 <br> Bugfix Release Planning
v5.3.4 : 2025/08/03
v5.2.6 : 2025/09/04
v5.5.1 : 2025/09/11
v5.4.3 : 2025/10/08
section 2025 Q4 <br> Bugfix Release Planning
v5.5.2 : 2025/11/12
v5.1.7 : 2026/01/06
```

View File

@ -60,9 +60,9 @@ endif()
if(CONFIG_HEAP_TRACING_TOHOST)
list(APPEND srcs "heap_trace_tohost.c")
set_source_files_properties(heap_trace_tohost.c
PROPERTIES COMPILE_FLAGS
-Wno-frame-address)
if(CONFIG_IDF_TARGET_ARCH_XTENSA)
set_source_files_properties(heap_trace_tohost.c PROPERTIES COMPILE_FLAGS -Wno-frame-address)
endif()
endif()
idf_component_register(SRCS "${srcs}"
@ -121,16 +121,3 @@ if(CONFIG_APPTRACE_GCOV_ENABLE)
else()
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${app_trace}> c)
endif()
# This function adds a dependency on the given component if the component is included into the build.
function(maybe_add_component component_name)
idf_build_get_property(components BUILD_COMPONENTS)
if(${component_name} IN_LIST components)
idf_component_get_property(lib_name ${component_name} COMPONENT_LIB)
target_link_libraries(${COMPONENT_LIB} PUBLIC ${lib_name})
endif()
endfunction()
if(CONFIG_APPTRACE_DEST_UART0 OR CONFIG_APPTRACE_DEST_UART1 OR CONFIG_APPTRACE_DEST_UART2)
maybe_add_component(driver)
endif()

View File

@ -207,7 +207,7 @@ menu "Application Level Tracing"
depends on APPTRACE_ENABLE
default n
help
Enables supporrt for SEGGER SystemView tracing functionality.
Enables support for SEGGER SystemView tracing functionality.
choice APPTRACE_SV_DEST
prompt "SystemView destination"

View File

@ -1,13 +1,11 @@
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <sdkconfig.h>
#include "sdkconfig.h"
#define HEAP_TRACE_SRCFILE /* don't warn on inclusion here */
#include "esp_heap_trace.h"
#undef HEAP_TRACE_SRCFILE
#include "esp_heap_caps.h"
#if CONFIG_APPTRACE_SV_ENABLE
#include "esp_app_trace.h"
@ -16,7 +14,7 @@
#define STACK_DEPTH CONFIG_HEAP_TRACING_STACK_DEPTH
#ifdef CONFIG_HEAP_TRACING_TOHOST
#if CONFIG_HEAP_TRACING_TOHOST
#if !CONFIG_APPTRACE_SV_ENABLE
#error None of the heap tracing backends is enabled! You must enable SystemView compatible tracing to use this feature.

View File

@ -18,6 +18,6 @@ entries:
archive: libesp_driver_gptimer.a
entries:
if APPTRACE_SV_TS_SOURCE_GPTIMER = y:
gptimer (noflash)
gptimer: gptimer_get_raw_count (noflash)
else:
* (default)

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -218,6 +218,13 @@ static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data)
hw_data->message_buff_overflow = false;
hw_data->circular_buff_overflow = false;
assert((hw_data->port_num <= SOC_UART_NUM) && "Not possible to configure UART. Please check selected UART port");
int source_clk = UART_SCLK_DEFAULT;
#if SOC_UART_LP_NUM > 0
if (hw_data->port_num >= SOC_UART_HP_NUM)
source_clk = LP_UART_SCLK_DEFAULT;
#endif
const uart_config_t uart_config = {
.baud_rate = CONFIG_APPTRACE_UART_BAUDRATE,
@ -225,7 +232,7 @@ static esp_err_t esp_apptrace_uart_init(esp_apptrace_uart_data_t *hw_data)
.parity = UART_PARITY_DISABLE,
.stop_bits = UART_STOP_BITS_1,
.flow_ctrl = UART_HW_FLOWCTRL_DISABLE,
.source_clk = UART_SCLK_DEFAULT,
.source_clk = source_clk,
};
ESP_LOGI(TAG, "UART baud rate: %i", CONFIG_APPTRACE_UART_BAUDRATE);
// We won't use a buffer for sending data.

View File

@ -10,7 +10,7 @@
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@ -49,7 +49,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: 3.56 *
* *
**********************************************************************
----------------------------------------------------------------------

View File

@ -8,7 +8,7 @@
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@ -47,7 +47,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: 3.56 *
* *
**********************************************************************
---------------------------END-OF-HEADER------------------------------
@ -100,6 +100,10 @@ Revision: $Rev: 25842 $
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined(__ARM_ARCH_8_1M_MAIN__)) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#else
#define _CORE_HAS_RTT_ASM_SUPPORT 0
#endif
@ -130,6 +134,10 @@ Revision: $Rev: 25842 $
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8_1M_MAIN__) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif ((defined __ARM_ARCH_7A__) || (defined __ARM_ARCH_7R__)) // Cortex-A/R 32-bit ARMv7-A/R
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
@ -156,6 +164,10 @@ Revision: $Rev: 25842 $
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif (defined __ARM_ARCH_8_1M_MAIN__) // Cortex-M85
#define _CORE_HAS_RTT_ASM_SUPPORT 1
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
#elif ((defined __ARM_ARCH_7A__) || (defined __ARM_ARCH_7R__)) // Cortex-A/R 32-bit ARMv7-A/R
#define _CORE_NEEDS_DMB 1
#define RTT__DMB() __asm volatile ("dmb\n" : : :);
@ -271,6 +283,7 @@ Revision: $Rev: 25842 $
#ifndef SEGGER_RTT_ASM // defined when SEGGER_RTT.h is included from assembly file
#include <stdlib.h>
#include <stdarg.h>
#include <stdint.h>
/*********************************************************************
*
@ -412,7 +425,7 @@ unsigned SEGGER_RTT_ReadUpBufferNoLock (unsigned BufferIndex, void* pDa
unsigned SEGGER_RTT_WriteDownBuffer (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
unsigned SEGGER_RTT_WriteDownBufferNoLock (unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
#define SEGGER_RTT_HASDATA_UP(n) (((SEGGER_RTT_BUFFER_UP*)((char*)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->WrOff - ((SEGGER_RTT_BUFFER_UP*)((char*)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->RdOff) // Access uncached to make sure we see changes made by the J-Link side and all of our changes go into HW directly
#define SEGGER_RTT_HASDATA_UP(n) (((SEGGER_RTT_BUFFER_UP*)((uintptr_t)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->WrOff - ((SEGGER_RTT_BUFFER_UP*)((uintptr_t)&_SEGGER_RTT.aUp[n] + SEGGER_RTT_UNCACHED_OFF))->RdOff) // Access uncached to make sure we see changes made by the J-Link side and all of our changes go into HW directly
/*********************************************************************
*

View File

@ -3,14 +3,14 @@
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@ -49,14 +49,14 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: 3.56 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW.c
Purpose : System visualization API implementation.
Revision: $Rev: 28341 $
Revision: $Rev: 29105 $
Additional information:
Packet format:
@ -66,10 +66,10 @@ Additional information:
Packets with IDs 24..31 are standard packets with extendible
structure and contain a length field.
<ID><Lenght><Data><TimeStampDelta>
<ID><Length><Data><TimeStampDelta>
Packet ID 31 is used for SystemView extended events.
<ID><Lenght><ID_EX><Data><TimeStampDelta>
<ID><Length><ID_EX><Data><TimeStampDelta>
Packets with IDs >= 32 always contain a length field.
<ID><Length><Data><TimeStampDelta>
@ -150,6 +150,7 @@ Additional information:
#include <string.h>
#include <stdlib.h>
#include <stdarg.h>
#include <assert.h>
#include "SEGGER_SYSVIEW_Int.h"
#include "SEGGER_RTT.h"
@ -188,7 +189,7 @@ Additional information:
// Timestamps may be less than full 32-bits, in which case we need to zero
// the unused bits to properly handle overflows.
// Note that this is a quite common scenario, as a 32-bit time such as
// SysTick might be scaled down to reduce bandwith
// SysTick might be scaled down to reduce bandwidth
// or a 16-bit hardware time might be used.
#if SEGGER_SYSVIEW_TIMESTAMP_BITS < 32 // Eliminate unused bits in case hardware timestamps are less than 32 bits
#define MAKE_DELTA_32BIT(Delta) Delta <<= 32 - SEGGER_SYSVIEW_TIMESTAMP_BITS; \
@ -388,8 +389,6 @@ static U8 _NumModules;
pDest = pSysviewPointer; \
};
#if (SEGGER_SYSVIEW_USE_STATIC_BUFFER == 1)
static U8 _aPacket[SEGGER_SYSVIEW_MAX_PACKET_SIZE];
@ -432,6 +431,9 @@ static U8 _aPacket[SEGGER_SYSVIEW_MAX_PACKET_SIZE];
static U8* _EncodeData(U8* pPayload, const char* pSrc, unsigned int NumBytes) {
unsigned int n;
const U8* p;
// Espressif doesn't support larger packages yet. Encode data length must be less than 255.
assert(NumBytes < 255);
//
n = 0;
p = (const U8*)pSrc;
@ -442,8 +444,8 @@ static U8* _EncodeData(U8* pPayload, const char* pSrc, unsigned int NumBytes) {
*pPayload++ = (U8)NumBytes;
} else {
*pPayload++ = 255;
*pPayload++ = (NumBytes & 255);
*pPayload++ = ((NumBytes >> 8) & 255);
*pPayload++ = (NumBytes & 255);
}
while (n < NumBytes) {
*pPayload++ = *p++;
@ -452,6 +454,38 @@ static U8* _EncodeData(U8* pPayload, const char* pSrc, unsigned int NumBytes) {
return pPayload;
}
/*********************************************************************
*
* _EncodeFloat()
*
* Function description
* Encode a float value in variable-length format.
*
* Parameters
* pPayload - Pointer to where value will be encoded.
* Value - Value to be encoded.
*
* Return value
* Pointer to the byte following the value, i.e. the first free
* byte in the payload and the next position to store payload
* content.
*/
static U8* _EncodeFloat(U8* pPayload, float Value) {
float Val = Value;
U8* pSysviewPointer;
U32* SysViewData;
pSysviewPointer = pPayload;
SysViewData = (U32*)&Val;
while((*SysViewData) > 0x7F) {
*pSysviewPointer++ = (U8)((*SysViewData) | 0x80);
(*SysViewData) >>= 7;
};
*pSysviewPointer++ = (U8)(*SysViewData);
pPayload = pSysviewPointer;
return pPayload;
}
/*********************************************************************
*
* _EncodeStr()
@ -475,38 +509,42 @@ static U8* _EncodeData(U8* pPayload, const char* pSrc, unsigned int NumBytes) {
* No more than 1 + Limit bytes will be encoded to the payload.
*/
static U8 *_EncodeStr(U8 *pPayload, const char *pText, unsigned int Limit) {
unsigned int n;
unsigned int Len;
//
// Compute string len
//
Len = 0;
if (pText != NULL) {
while(*(pText + Len) != 0) {
Len++;
}
if (Len > Limit) {
Len = Limit;
}
}
//
// Write Len
//
if (Len < 255) {
*pPayload++ = (U8)Len;
U8* pLen;
const char* sStart;
if (pText == NULL) {
*pPayload++ = (U8)0;
} else {
*pPayload++ = 255;
*pPayload++ = (Len & 255);
*pPayload++ = ((Len >> 8) & 255);
sStart = pText; // Remember start of string.
//
// Save space to store count byte(s).
//
pLen = pPayload++;
#if (SEGGER_SYSVIEW_MAX_STRING_LEN >= 255) // Length always encodes in 3 bytes
pPayload += 2;
#endif
//
// Limit string to maximum length and copy into payload buffer.
//
if (Limit > SEGGER_SYSVIEW_MAX_STRING_LEN) {
Limit = SEGGER_SYSVIEW_MAX_STRING_LEN;
}
while ((Limit-- > 0) && (*pText != '\0')) {
*pPayload++ = *pText++;
}
//
// Save string length to buffer.
//
#if (SEGGER_SYSVIEW_MAX_STRING_LEN >= 255) // Length always encodes in 3 bytes
Limit = (unsigned int)(pText - sStart);
*pLen++ = (U8)255;
*pLen++ = (U8)((Limit >> 8) & 255);
*pLen++ = (U8)(Limit & 255);
#else // Length always encodes in 1 byte
*pLen = (U8)(pText - sStart);
#endif
}
//
// copy string
//
n = 0;
while (n < Len) {
*pPayload++ = *pText++;
n++;
}
return pPayload;
}
@ -693,7 +731,6 @@ static void _SendSyncInfo(void) {
for (n = 0; n < _NumModules; n++) {
SEGGER_SYSVIEW_SendModule(n);
}
SEGGER_SYSVIEW_SendModuleDescription();
}
}
#endif // (SEGGER_SYSVIEW_POST_MORTEM_MODE == 1)
@ -1218,6 +1255,7 @@ static void _VPrintTarget(const char* sFormat, U32 Options, va_list* pParamList)
unsigned int FormatFlags;
unsigned int FieldWidth;
U8* pPayloadStart;
const char* s;
#if SEGGER_SYSVIEW_USE_STATIC_BUFFER == 0
RECORD_START(SEGGER_SYSVIEW_INFO_SIZE + SEGGER_SYSVIEW_MAX_STRING_LEN + 1 + 2 * SEGGER_SYSVIEW_QUANTA_U32);
SEGGER_SYSVIEW_LOCK();
@ -1322,6 +1360,20 @@ static void _VPrintTarget(const char* sFormat, U32 Options, va_list* pParamList)
v = va_arg(*pParamList, int);
_PrintUnsigned(&BufferDesc, (unsigned int)v, 16u, NumDigits, FieldWidth, FormatFlags);
break;
case 's':
s = va_arg(*pParamList, const char*);
if (s == NULL) {
s = "(null)";
}
do {
c = *s;
s++;
if (c == '\0') {
break;
}
_StoreChar(&BufferDesc, c);
} while (BufferDesc.Cnt < SEGGER_SYSVIEW_MAX_STRING_LEN);
break;
case 'p':
v = va_arg(*pParamList, int);
_PrintUnsigned(&BufferDesc, (unsigned int)v, 16u, 8u, 8u, 0u);
@ -1954,11 +2006,61 @@ void SEGGER_SYSVIEW_SendTaskInfo(const SEGGER_SYSVIEW_TASKINFO *pInfo) {
ENCODE_U32(pPayload, SHRINK_ID(pInfo->TaskID));
ENCODE_U32(pPayload, pInfo->StackBase);
ENCODE_U32(pPayload, pInfo->StackSize);
ENCODE_U32(pPayload, 0); // Stack End, future use
ENCODE_U32(pPayload, pInfo->StackUsage);
_SendPacket(pPayloadStart, pPayload, SYSVIEW_EVTID_STACK_INFO);
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_SendStackInfo()
*
* Function description
* Send a Stack Info Packet, containing TaskId for identification,
* stack base, stack size and stack usage.
*
*
* Parameters
* pInfo - Pointer to stack information to send.
*/
void SEGGER_SYSVIEW_SendStackInfo(const SEGGER_SYSVIEW_STACKINFO *pInfo) {
U8* pPayload;
U8* pPayloadStart;
RECORD_START(SEGGER_SYSVIEW_INFO_SIZE + 4 * SEGGER_SYSVIEW_QUANTA_U32);
//
pPayload = pPayloadStart;
ENCODE_U32(pPayload, SHRINK_ID(pInfo->TaskID));
ENCODE_U32(pPayload, pInfo->StackBase);
ENCODE_U32(pPayload, pInfo->StackSize);
ENCODE_U32(pPayload, pInfo->StackUsage);
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_SampleData()
*
* Function description
* Send a Data Sample Packet, containing the data Id and the value.
*
*
* Parameters
* pInfo - Pointer to data sample struct to send.
*/
void SEGGER_SYSVIEW_SampleData(const SEGGER_SYSVIEW_DATA_SAMPLE *pInfo) {
U8* pPayload;
U8* pPayloadStart;
RECORD_START(SEGGER_SYSVIEW_INFO_SIZE + 2 * SEGGER_SYSVIEW_QUANTA_U32);
//
pPayload = pPayloadStart;
ENCODE_U32(pPayload, pInfo->ID);
pPayload = _EncodeFloat(pPayload, *(pInfo->pFloat_Value));
_SendPacket(pPayloadStart, pPayload, SYSVIEW_EVTID_DATA_SAMPLE);
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_SendTaskList()
@ -2448,6 +2550,63 @@ void SEGGER_SYSVIEW_NameResource(U32 ResourceId, const char* sName) {
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_RegisterData()
*
* Function description
* Register data to sample the values via SystemView.
*
* Register functions are usually set in the system description
* callback, to ensure it is only sent when the SystemView Application
* is connected.
*
* Parameters
* pInfo - Struct containing all possible properties that can be sent via this registration event.
*/
void SEGGER_SYSVIEW_RegisterData(SEGGER_SYSVIEW_DATA_REGISTER* pInfo) {
U8* pPayload;
U8* pPayloadStart;
RECORD_START(SEGGER_SYSVIEW_INFO_SIZE + 8 * SEGGER_SYSVIEW_QUANTA_U32 + 1 + SEGGER_SYSVIEW_MAX_STRING_LEN);
//
pPayload = pPayloadStart;
ENCODE_U32(pPayload, SYSVIEW_EVTID_EX_REGISTER_DATA);
ENCODE_U32(pPayload, pInfo->ID);
pPayload = _EncodeStr(pPayload, pInfo->sName, SEGGER_SYSVIEW_MAX_STRING_LEN);
if (pInfo->sName != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
ENCODE_U32(pPayload, pInfo->RangeMin);
ENCODE_U32(pPayload, pInfo->RangeMax);
pPayload = _EncodeFloat(pPayload, pInfo->ScalingFactor);
pPayload = _EncodeStr(pPayload, pInfo->sUnit, SEGGER_SYSVIEW_MAX_STRING_LEN);
} else if (pInfo->ScalingFactor != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
ENCODE_U32(pPayload, pInfo->RangeMin);
ENCODE_U32(pPayload, pInfo->RangeMax);
pPayload = _EncodeFloat(pPayload, pInfo->ScalingFactor);
} else if (pInfo->RangeMax != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
ENCODE_U32(pPayload, pInfo->RangeMin);
ENCODE_U32(pPayload, pInfo->RangeMax);
} else if (pInfo->RangeMin != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
ENCODE_U32(pPayload, pInfo->RangeMin);
} else if (pInfo->Offset != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
ENCODE_U32(pPayload, pInfo->Offset);
} else if (pInfo->DataType != 0) {
ENCODE_U32(pPayload, pInfo->DataType);
}
_SendPacket(pPayloadStart, pPayload, SYSVIEW_EVTID_EX);
RECORD_END();
}
/*********************************************************************
*
* SEGGER_SYSVIEW_HeapDefine()
@ -2820,9 +2979,6 @@ void SEGGER_SYSVIEW_RegisterModule(SEGGER_SYSVIEW_MODULE* pModule) {
_NumModules++;
}
SEGGER_SYSVIEW_SendModule(0);
if (pModule->pfSendModuleDesc) {
pModule->pfSendModuleDesc();
}
SEGGER_SYSVIEW_UNLOCK();
}
@ -2906,6 +3062,9 @@ void SEGGER_SYSVIEW_SendModule(U8 ModuleId) {
_SendPacket(pPayloadStart, pPayload, SYSVIEW_EVTID_MODULEDESC);
RECORD_END();
}
if (pModule && pModule->pfSendModuleDesc) {
pModule->pfSendModuleDesc();
}
}
}
@ -2986,6 +3145,39 @@ void SEGGER_SYSVIEW_PrintfHostEx(const char* s, U32 Options, ...) {
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VPrintfHostEx()
*
* Function description
* Print a string which is formatted on the host by the SystemView Application
* with Additional information.
*
* Parameters
* s - String to be formatted.
* Options - Options for the string. i.e. Log level.
* pParamList - Pointer to the list of arguments for the format string
*
* Additional information
* All format arguments are treated as 32-bit scalar values.
*/
void SEGGER_SYSVIEW_VPrintfHostEx(const char* s, U32 Options, va_list *pParamList) {
#if SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
int r;
va_list ParamListCopy;
va_copy(ParamListCopy, *pParamList);
r = _VPrintHost(s, Options, pParamList);
if (r == -1) {
_VPrintTarget(s, Options, &ParamListCopy);
}
va_end(ParamListCopy);
#else
_VPrintHost(s, Options, pParamList);
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_PrintfHost()
@ -3020,6 +3212,37 @@ void SEGGER_SYSVIEW_PrintfHost(const char* s, ...) {
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VPrintfHost()
*
* Function description
* Print a string which is formatted on the host by the SystemView Application.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*
* Additional information
* All format arguments are treated as 32-bit scalar values.
*/
void SEGGER_SYSVIEW_VPrintfHost(const char* s, va_list *pParamList) {
#if SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
int r;
va_list ParamListCopy;
va_copy(ParamListCopy, *pParamList);
r = _VPrintHost(s, SEGGER_SYSVIEW_LOG, pParamList);
if (r == -1) {
_VPrintTarget(s, SEGGER_SYSVIEW_LOG, &ParamListCopy);
}
va_end(ParamListCopy);
#else
_VPrintHost(s, SEGGER_SYSVIEW_LOG, pParamList);
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_WarnfHost()
@ -3055,6 +3278,38 @@ void SEGGER_SYSVIEW_WarnfHost(const char* s, ...) {
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VWarnfHost()
*
* Function description
* Print a warning string which is formatted on the host by
* the SystemView Application.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*
* Additional information
* All format arguments are treated as 32-bit scalar values.
*/
void SEGGER_SYSVIEW_VWarnfHost(const char* s, va_list *pParamList) {
#if SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
int r;
va_list ParamListCopy;
va_copy(ParamListCopy, *pParamList);
r = _VPrintHost(s, SEGGER_SYSVIEW_WARNING, pParamList);
if (r == -1) {
_VPrintTarget(s, SEGGER_SYSVIEW_WARNING, &ParamListCopy);
}
va_end(ParamListCopy);
#else
_VPrintHost(s, SEGGER_SYSVIEW_WARNING, pParamList);
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_ErrorfHost()
@ -3090,6 +3345,38 @@ void SEGGER_SYSVIEW_ErrorfHost(const char* s, ...) {
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VErrorfHost()
*
* Function description
* Print a warning string which is formatted on the host by
* the SystemView Application.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*
* Additional information
* All format arguments are treated as 32-bit scalar values.
*/
void SEGGER_SYSVIEW_VErrorfHost(const char* s, va_list *pParamList) {
#if SEGGER_SYSVIEW_PRINTF_IMPLICIT_FORMAT
int r;
va_list ParamListCopy;
va_copy(ParamListCopy, *pParamList);
r = _VPrintHost(s, SEGGER_SYSVIEW_ERROR, pParamList);
if (r == -1) {
_VPrintTarget(s, SEGGER_SYSVIEW_ERROR, &ParamListCopy);
}
va_end(ParamListCopy);
#else
_VPrintHost(s, SEGGER_SYSVIEW_ERROR, pParamList);
#endif
}
/*********************************************************************
*
* SEGGER_SYSVIEW_PrintfTargetEx()
@ -3110,6 +3397,23 @@ void SEGGER_SYSVIEW_PrintfTargetEx(const char* s, U32 Options, ...) {
va_end(ParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VPrintfTargetEx()
*
* Function description
* Print a string which is formatted on the target before sent to
* the host with Additional information.
*
* Parameters
* s - String to be formatted.
* Options - Options for the string. i.e. Log level.
* pParamList - Pointer to the list of arguments for the format string
*/
void SEGGER_SYSVIEW_VPrintfTargetEx(const char* s, U32 Options, va_list *pParamList) {
_VPrintTarget(s, Options, pParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_PrintfTarget()
@ -3129,6 +3433,22 @@ void SEGGER_SYSVIEW_PrintfTarget(const char* s, ...) {
va_end(ParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VPrintfTarget()
*
* Function description
* Print a string which is formatted on the target before sent to
* the host.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*/
void SEGGER_SYSVIEW_VPrintfTarget(const char* s, va_list* pParamList) {
_VPrintTarget(s, SEGGER_SYSVIEW_LOG, pParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_WarnfTarget()
@ -3148,6 +3468,22 @@ void SEGGER_SYSVIEW_WarnfTarget(const char* s, ...) {
va_end(ParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VWarnfTarget()
*
* Function description
* Print a warning string which is formatted on the target before
* sent to the host.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*/
void SEGGER_SYSVIEW_VWarnfTarget(const char* s, va_list* pParamList) {
_VPrintTarget(s, SEGGER_SYSVIEW_WARNING, pParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_ErrorfTarget()
@ -3166,6 +3502,22 @@ void SEGGER_SYSVIEW_ErrorfTarget(const char* s, ...) {
_VPrintTarget(s, SEGGER_SYSVIEW_ERROR, &ParamList);
va_end(ParamList);
}
/*********************************************************************
*
* SEGGER_SYSVIEW_VErrorfTarget()
*
* Function description
* Print an error string which is formatted on the target before
* sent to the host.
*
* Parameters
* s - String to be formatted.
* pParamList - Pointer to the list of arguments for the format string
*/
void SEGGER_SYSVIEW_VErrorfTarget(const char* s, va_list* pParamList) {
_VPrintTarget(s, SEGGER_SYSVIEW_ERROR, pParamList);
}
#endif // SEGGER_SYSVIEW_EXCLUDE_PRINTF
/*********************************************************************

View File

@ -3,14 +3,14 @@
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@ -49,13 +49,13 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: 3.56 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW.h
Purpose : System visualization API.
Revision: $Rev: 28237 $
Revision: $Rev: 28768 $
*/
#ifndef SEGGER_SYSVIEW_H
@ -123,7 +123,7 @@ extern "C" {
#define SYSVIEW_EVTID_TIMER_EXIT 20
#define SYSVIEW_EVTID_STACK_INFO 21
#define SYSVIEW_EVTID_MODULEDESC 22
#define SYSVIEW_EVTID_DATA_SAMPLE 23
#define SYSVIEW_EVTID_INIT 24
#define SYSVIEW_EVTID_NAME_RESOURCE 25
#define SYSVIEW_EVTID_PRINT_FORMATTED 26
@ -135,12 +135,13 @@ extern "C" {
//
// SystemView extended events. Sent with ID 31.
//
#define SYSVIEW_EVTID_EX_MARK 0
#define SYSVIEW_EVTID_EX_NAME_MARKER 1
#define SYSVIEW_EVTID_EX_HEAP_DEFINE 2
#define SYSVIEW_EVTID_EX_HEAP_ALLOC 3
#define SYSVIEW_EVTID_EX_HEAP_ALLOC_EX 4
#define SYSVIEW_EVTID_EX_HEAP_FREE 5
#define SYSVIEW_EVTID_EX_MARK 0
#define SYSVIEW_EVTID_EX_NAME_MARKER 1
#define SYSVIEW_EVTID_EX_HEAP_DEFINE 2
#define SYSVIEW_EVTID_EX_HEAP_ALLOC 3
#define SYSVIEW_EVTID_EX_HEAP_ALLOC_EX 4
#define SYSVIEW_EVTID_EX_HEAP_FREE 5
#define SYSVIEW_EVTID_EX_REGISTER_DATA 6
//
// Event masks to disable/enable events
//
@ -167,7 +168,7 @@ extern "C" {
#define SYSVIEW_EVTMASK_TIMER_EXIT (1 << SYSVIEW_EVTID_TIMER_EXIT)
#define SYSVIEW_EVTMASK_STACK_INFO (1 << SYSVIEW_EVTID_STACK_INFO)
#define SYSVIEW_EVTMASK_MODULEDESC (1 << SYSVIEW_EVTID_MODULEDESC)
#define SYSVIEW_EVTMASK_DATA_SAMPLE (1 << SYSVIEW_EVTID_DATA_SAMPLE)
#define SYSVIEW_EVTMASK_INIT (1 << SYSVIEW_EVTID_INIT)
#define SYSVIEW_EVTMASK_NAME_RESOURCE (1 << SYSVIEW_EVTID_NAME_RESOURCE)
#define SYSVIEW_EVTMASK_PRINT_FORMATTED (1 << SYSVIEW_EVTID_PRINT_FORMATTED)
@ -202,8 +203,42 @@ typedef struct {
U32 Prio;
U32 StackBase;
U32 StackSize;
U32 StackUsage;
} SEGGER_SYSVIEW_TASKINFO;
typedef struct {
U32 TaskID;
U32 StackBase;
U32 StackSize;
U32 StackUsage;
} SEGGER_SYSVIEW_STACKINFO;
typedef struct {
U32 ID;
union {
U32* pU32_Value;
I32* pI32_Value;
float* pFloat_Value;
};
} SEGGER_SYSVIEW_DATA_SAMPLE;
typedef enum {
SEGGER_SYSVIEW_TYPE_U32 = 0,
SEGGER_SYSVIEW_TYPE_I32 = 1,
SEGGER_SYSVIEW_TYPE_FLOAT = 2
} SEGGER_SYSVIEW_DATA_TYPE;
typedef struct {
U32 ID;
SEGGER_SYSVIEW_DATA_TYPE DataType;
I32 Offset;
I32 RangeMin;
I32 RangeMax;
float ScalingFactor;
const char* sName;
const char* sUnit;
} SEGGER_SYSVIEW_DATA_REGISTER;
typedef struct SEGGER_SYSVIEW_MODULE_STRUCT SEGGER_SYSVIEW_MODULE;
struct SEGGER_SYSVIEW_MODULE_STRUCT {
@ -247,8 +282,8 @@ EXTERN unsigned int SEGGER_SYSVIEW_InterruptId;
*/
typedef struct {
U64 (*pfGetTime) (void);
void (*pfSendTaskList) (void);
U64 (*pfGetTime) (void);
void (*pfSendTaskList) (void);
} SEGGER_SYSVIEW_OS_API;
/*********************************************************************
@ -262,9 +297,13 @@ void SEGGER_SYSVIEW_Stop (void);
void SEGGER_SYSVIEW_GetSysDesc (void);
void SEGGER_SYSVIEW_SendTaskList (void);
void SEGGER_SYSVIEW_SendTaskInfo (const SEGGER_SYSVIEW_TASKINFO* pInfo);
void SEGGER_SYSVIEW_SendStackInfo (const SEGGER_SYSVIEW_STACKINFO* pInfo);
void SEGGER_SYSVIEW_SendSysDesc (const char* sSysDesc);
int SEGGER_SYSVIEW_IsStarted (void);
int SEGGER_SYSVIEW_GetChannelID (void);
void SEGGER_SYSVIEW_SampleData (const SEGGER_SYSVIEW_DATA_SAMPLE *pInfo);
// Checks whether tracing has been started
U8 SEGGER_SYSVIEW_Started(void);
@ -311,6 +350,7 @@ void SEGGER_SYSVIEW_HeapAllocEx (void* pHeap, void* pUserData,
void SEGGER_SYSVIEW_HeapFree (void* pHeap, void* pUserData);
void SEGGER_SYSVIEW_NameResource (U32 ResourceId, const char* sName);
void SEGGER_SYSVIEW_RegisterData ( SEGGER_SYSVIEW_DATA_REGISTER* pInfo);
int SEGGER_SYSVIEW_SendPacket (U8* pPacket, U8* pPayloadEnd, unsigned int EventId);
@ -341,13 +381,21 @@ void SEGGER_SYSVIEW_SendNumModules (void);
*/
#ifndef SEGGER_SYSVIEW_EXCLUDE_PRINTF // Define in project to avoid warnings about variable parameter list
void SEGGER_SYSVIEW_PrintfHostEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_VPrintfHostEx (const char* s, U32 Options, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfTargetEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_VPrintfTargetEx (const char* s, U32 Options, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfHost (const char* s, ...);
void SEGGER_SYSVIEW_VPrintfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_PrintfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VPrintfTarget (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_WarnfHost (const char* s, ...);
void SEGGER_SYSVIEW_VWarnfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_WarnfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VWarnfTarget (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_ErrorfHost (const char* s, ...);
void SEGGER_SYSVIEW_VErrorfHost (const char* s, va_list* pParamList);
void SEGGER_SYSVIEW_ErrorfTarget (const char* s, ...);
void SEGGER_SYSVIEW_VErrorfTarget (const char* s, va_list* pParamList);
#endif
void SEGGER_SYSVIEW_Print (const char* s);

View File

@ -3,14 +3,14 @@
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@ -49,7 +49,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: 3.56 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
@ -72,6 +72,8 @@ Revision: $Rev: 26230 $
#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_RTT_Conf.h"
#include "esp_assert.h"
#ifdef __cplusplus
extern "C" {
#endif
@ -370,12 +372,14 @@ extern "C" {
#define SEGGER_SYSVIEW_MAX_STRING_LEN 128
#endif
ESP_STATIC_ASSERT(SEGGER_SYSVIEW_MAX_STRING_LEN < 255, "SEGGER Sysview string length must be less than 255.");
/*********************************************************************
*
* Define: SEGGER_SYSVIEW_SUPPORT_LONG_ID
*
* Description
* It set, support enconding Evend Ids longer than 14 bit.
* It set, support encoding Evend Ids longer than 14 bit.
* Default
* 1
*/
@ -388,7 +392,7 @@ extern "C" {
* Define: SEGGER_SYSVIEW_SUPPORT_LONG_DATA
*
* Description
* It set, support enconding event data longer than 14 bit.
* It set, support encoding event data longer than 14 bit.
* Default
* 0
*/
@ -517,7 +521,7 @@ extern "C" {
* Define: SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT
*
* Description
* Configure how frequently syncronization is sent in post-mortem
* Configure how frequently synchronization is sent in post-mortem
* mode.
* Default
* 8: (1 << 8) = Every 256 Events.

View File

@ -8,7 +8,7 @@
* The Embedded Experts *
**********************************************************************
* *
* (c) 1995 - 2021 SEGGER Microcontroller GmbH *
* (c) 1995 - 2024 SEGGER Microcontroller GmbH *
* *
* www.segger.com Support: support@segger.com *
* *
@ -47,7 +47,7 @@
* *
**********************************************************************
* *
* SystemView version: 3.42 *
* SystemView version: 3.56 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------

View File

@ -1,5 +1,5 @@
name: 'SystemView'
version: '3.42'
version: '3.56'
cpe: cpe:2.3:a:segger:systemview:{}:*:*:*:*:*:*:*
supplier: 'Organization: Espressif Systems (Shanghai) CO LTD'
originator: 'Organization: SEGGER Microcontroller GmbH'

View File

@ -3,7 +3,7 @@
*
* SPDX-License-Identifier: BSD-1-Clause
*
* SPDX-FileContributor: 2017-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2017-2024 Espressif Systems (Shanghai) CO LTD
*/
/*********************************************************************
* SEGGER Microcontroller GmbH *
@ -58,6 +58,7 @@ File : SEGGER_SYSVIEW_Config_FreeRTOS.c
Purpose : Sample setup configuration of SystemView with FreeRTOS.
Revision: $Rev: 7745 $
*/
#include <string.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "SEGGER_SYSVIEW.h"
@ -156,15 +157,16 @@ static esp_apptrace_lock_t s_sys_view_lock = {.mux = portMUX_INITIALIZER_UNLOCKE
* Sends SystemView description strings.
*/
static void _cbSendSystemDesc(void) {
char irq_str[32];
char irq_str[32] = "I#";
SEGGER_SYSVIEW_SendSysDesc("N="SYSVIEW_APP_NAME",D="SYSVIEW_DEVICE_NAME",C="SYSVIEW_CORE_NAME",O=FreeRTOS");
snprintf(irq_str, sizeof(irq_str), "I#%d=SysTick", SYSTICK_INTR_ID);
strcat(itoa(SYSTICK_INTR_ID, irq_str + 2, 10), "=SysTick");
SEGGER_SYSVIEW_SendSysDesc(irq_str);
size_t isr_count = sizeof(esp_isr_names)/sizeof(esp_isr_names[0]);
for (size_t i = 0; i < isr_count; ++i) {
if (esp_isr_names[i] == NULL || (ETS_INTERNAL_INTR_SOURCE_OFF + i) == SYSTICK_INTR_ID)
continue;
snprintf(irq_str, sizeof(irq_str), "I#%d=%s", ETS_INTERNAL_INTR_SOURCE_OFF + i, esp_isr_names[i]);
strcat(itoa(ETS_INTERNAL_INTR_SOURCE_OFF + i, irq_str + 2, 10), "=");
strncat(irq_str, esp_isr_names[i], sizeof(irq_str) - strlen(irq_str) - 1);
SEGGER_SYSVIEW_SendSysDesc(irq_str);
}
}

View File

@ -21,7 +21,7 @@ const static char *TAG = "sysview_heap_trace";
#endif
static SEGGER_SYSVIEW_MODULE s_esp_sysview_heap_module = {
.sModule = "ESP32 SystemView Heap Tracing Module",
.sModule = "M=ESP32 SystemView Heap Tracing Module",
.NumEvents = 2,
};

View File

@ -8,6 +8,6 @@ components/app_trace/test_apps:
- driver
- esp_hw_support
disable:
- if: IDF_TARGET in ["esp32c5", "esp32c61"]
- if: IDF_TARGET in ["esp32c5", "esp32c61", "esp32h21", "esp32h4"]
temporary: true
reason: not support yet # TODO: [ESP32C5] IDF-8705, [ESP32C61] IDF-9306
reason: not support yet # TODO: [ESP32C5] IDF-8705, [ESP32C61] IDF-9306, [ESP32H21] IDF-11539 [ESP32H4] IDF-12325

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -31,16 +31,23 @@
#include "esp_attr.h"
#include "esp_bootloader_desc.h"
#include "esp_flash.h"
#include "esp_flash_internal.h"
#define SUB_TYPE_ID(i) (i & 0x0F)
#define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
/* Partial_data is word aligned so no reallocation is necessary for encrypted flash write */
typedef struct ota_ops_entry_ {
uint32_t handle;
const esp_partition_t *part;
struct {
const esp_partition_t *staging; /*!< New image will be downloaded in this staging partition. */
const esp_partition_t *final; /*!< Final destination partition which is intended to be updated. Its type/subtype shall be used for verification. */
bool finalize_with_copy; /*!< Flag to copy the image from staging partition to the final partition at the end of OTA update */
} partition;
bool need_erase;
uint32_t wrote_size;
uint8_t partial_bytes;
bool ota_resumption;
WORD_ALIGNED_ATTR uint8_t partial_data[16];
LIST_ENTRY(ota_ops_entry_) entries;
} ota_ops_entry_t;
@ -52,6 +59,8 @@ static uint32_t s_ota_ops_last_handle = 0;
const static char *TAG = "esp_ota_ops";
static ota_ops_entry_t *get_ota_ops_entry(esp_ota_handle_t handle);
/* Return true if this is an OTA app partition */
static bool is_ota_partition(const esp_partition_t *p)
{
@ -111,11 +120,27 @@ static esp_ota_img_states_t set_new_state_otadata(void)
#endif
}
static ota_ops_entry_t* esp_ota_init_entry(const esp_partition_t *partition)
{
ota_ops_entry_t *new_entry = (ota_ops_entry_t *) calloc(1, sizeof(ota_ops_entry_t));
if (new_entry == NULL) {
return NULL;
}
LIST_INSERT_HEAD(&s_ota_ops_entries_head, new_entry, entries);
new_entry->partition.staging = partition;
new_entry->partition.final = partition;
new_entry->partition.finalize_with_copy = false;
new_entry->handle = ++s_ota_ops_last_handle;
return new_entry;
}
esp_err_t esp_ota_begin(const esp_partition_t *partition, size_t image_size, esp_ota_handle_t *out_handle)
{
ota_ops_entry_t *new_entry;
esp_err_t ret = ESP_OK;
if ((partition == NULL) || (out_handle == NULL)) {
return ESP_ERR_INVALID_ARG;
}
@ -125,52 +150,148 @@ esp_err_t esp_ota_begin(const esp_partition_t *partition, size_t image_size, esp
return ESP_ERR_NOT_FOUND;
}
if (!is_ota_partition(partition)) {
if (partition->type == ESP_PARTITION_TYPE_APP) {
// The staging partition cannot be of type Factory, but the final partition can be.
if (!is_ota_partition(partition)) {
return ESP_ERR_INVALID_ARG;
}
const esp_partition_t* running_partition = esp_ota_get_running_partition();
if (partition == running_partition) {
return ESP_ERR_OTA_PARTITION_CONFLICT;
}
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
esp_ota_img_states_t ota_state_running_part;
if (esp_ota_get_state_partition(running_partition, &ota_state_running_part) == ESP_OK) {
if (ota_state_running_part == ESP_OTA_IMG_PENDING_VERIFY) {
ESP_LOGE(TAG, "Running app has not confirmed state (ESP_OTA_IMG_PENDING_VERIFY)");
return ESP_ERR_OTA_ROLLBACK_INVALID_STATE;
}
}
#endif
}
new_entry = esp_ota_init_entry(partition);
if (new_entry == NULL) {
return ESP_ERR_NO_MEM;
}
new_entry->need_erase = (image_size == OTA_WITH_SEQUENTIAL_WRITES);
*out_handle = new_entry->handle;
if (partition->type == ESP_PARTITION_TYPE_BOOTLOADER) {
esp_image_bootloader_offset_set(partition->address);
}
if (partition->type == ESP_PARTITION_TYPE_BOOTLOADER || partition->type == ESP_PARTITION_TYPE_PARTITION_TABLE) {
esp_flash_set_dangerous_write_protection(esp_flash_default_chip, false);
}
if (image_size != OTA_WITH_SEQUENTIAL_WRITES) {
// If input image size is 0 or OTA_SIZE_UNKNOWN, erase entire partition
size_t erase_size;
if ((image_size == 0) || (image_size == OTA_SIZE_UNKNOWN)) {
erase_size = partition->size;
} else {
erase_size = ALIGN_UP(image_size, partition->erase_size);
}
esp_err_t err = esp_partition_erase_range(partition, 0, erase_size);
if (err != ESP_OK) {
return err;
}
}
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
if (is_ota_partition(partition)) {
esp_ota_invalidate_inactive_ota_data_slot();
}
#endif
return ESP_OK;
}
esp_err_t esp_ota_resume(const esp_partition_t *partition, const size_t erase_size, const size_t image_offset, esp_ota_handle_t *out_handle)
{
ota_ops_entry_t *new_entry;
if ((partition == NULL) || (out_handle == NULL)) {
return ESP_ERR_INVALID_ARG;
}
if (image_offset > partition->size) {
return ESP_ERR_INVALID_ARG;
}
partition = esp_partition_verify(partition);
if (partition == NULL) {
return ESP_ERR_NOT_FOUND;
}
if (partition->type == ESP_PARTITION_TYPE_APP) {
// The staging partition cannot be of type Factory, but the final partition can be.
if (!is_ota_partition(partition)) {
return ESP_ERR_INVALID_ARG;
}
}
const esp_partition_t* running_partition = esp_ota_get_running_partition();
if (partition == running_partition) {
return ESP_ERR_OTA_PARTITION_CONFLICT;
}
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
esp_ota_img_states_t ota_state_running_part;
if (esp_ota_get_state_partition(running_partition, &ota_state_running_part) == ESP_OK) {
if (ota_state_running_part == ESP_OTA_IMG_PENDING_VERIFY) {
ESP_LOGE(TAG, "Running app has not confirmed state (ESP_OTA_IMG_PENDING_VERIFY)");
return ESP_ERR_OTA_ROLLBACK_INVALID_STATE;
}
}
#endif
if (image_size != OTA_WITH_SEQUENTIAL_WRITES) {
// If input image size is 0 or OTA_SIZE_UNKNOWN, erase entire partition
if ((image_size == 0) || (image_size == OTA_SIZE_UNKNOWN)) {
ret = esp_partition_erase_range(partition, 0, partition->size);
} else {
const int aligned_erase_size = (image_size + partition->erase_size - 1) & ~(partition->erase_size - 1);
ret = esp_partition_erase_range(partition, 0, aligned_erase_size);
}
if (ret != ESP_OK) {
return ret;
}
}
new_entry = (ota_ops_entry_t *) calloc(1, sizeof(ota_ops_entry_t));
new_entry = esp_ota_init_entry(partition);
if (new_entry == NULL) {
return ESP_ERR_NO_MEM;
}
LIST_INSERT_HEAD(&s_ota_ops_entries_head, new_entry, entries);
if (partition->type == ESP_PARTITION_TYPE_BOOTLOADER) {
esp_image_bootloader_offset_set(partition->address);
}
if (partition->type == ESP_PARTITION_TYPE_BOOTLOADER || partition->type == ESP_PARTITION_TYPE_PARTITION_TABLE) {
esp_flash_set_dangerous_write_protection(esp_flash_default_chip, false);
}
new_entry->part = partition;
new_entry->handle = ++s_ota_ops_last_handle;
new_entry->need_erase = (image_size == OTA_WITH_SEQUENTIAL_WRITES);
new_entry->ota_resumption = true;
new_entry->wrote_size = image_offset;
new_entry->need_erase = (erase_size == OTA_WITH_SEQUENTIAL_WRITES);
*out_handle = new_entry->handle;
return ESP_OK;
}
esp_err_t esp_ota_set_final_partition(esp_ota_handle_t handle, const esp_partition_t *final, bool finalize_with_copy)
{
ota_ops_entry_t *it = get_ota_ops_entry(handle);
if (final == NULL) {
return ESP_ERR_INVALID_ARG;
}
if (it == NULL) {
return ESP_ERR_NOT_FOUND;
}
// If OTA resumption is enabled, it->wrote_size may already contain the size of previously written data.
// Ensure that wrote_size is zero only when OTA resumption is disabled, as any non-zero value in this case
// indicates an invalid state.
if (!it->ota_resumption && it->wrote_size != 0) {
return ESP_ERR_INVALID_STATE;
}
if (it->partition.staging != final) {
const esp_partition_t* final_partition = esp_partition_verify(final);
if (final_partition == NULL) {
return ESP_ERR_NOT_FOUND;
}
ESP_LOGI(TAG,"Staging partition - <%s>. Final partition - <%s>.", it->partition.staging->label, final_partition->label);
it->partition.final = final_partition;
it->partition.finalize_with_copy = finalize_with_copy;
if (final_partition->type == ESP_PARTITION_TYPE_BOOTLOADER) {
esp_image_bootloader_offset_set(it->partition.staging->address);
}
if (final_partition->type == ESP_PARTITION_TYPE_BOOTLOADER || final_partition->type == ESP_PARTITION_TYPE_PARTITION_TABLE) {
esp_flash_set_dangerous_write_protection(esp_flash_default_chip, false);
}
}
return ESP_OK;
}
esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
{
const uint8_t *data_bytes = (const uint8_t *)data;
@ -192,23 +313,33 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
if (it->handle == handle) {
if (it->need_erase) {
// must erase the partition before writing to it
uint32_t first_sector = it->wrote_size / it->part->erase_size; // first affected sector
uint32_t last_sector = (it->wrote_size + size - 1) / it->part->erase_size; // last affected sector
uint32_t first_sector = it->wrote_size / it->partition.staging->erase_size; // first affected sector
uint32_t last_sector = (it->wrote_size + size - 1) / it->partition.staging->erase_size; // last affected sector
ret = ESP_OK;
if ((it->wrote_size % it->part->erase_size) == 0) {
ret = esp_partition_erase_range(it->part, it->wrote_size, ((last_sector - first_sector) + 1) * it->part->erase_size);
if ((it->wrote_size % it->partition.staging->erase_size) == 0) {
ret = esp_partition_erase_range(it->partition.staging, it->wrote_size, ((last_sector - first_sector) + 1) * it->partition.staging->erase_size);
} else if (first_sector != last_sector) {
ret = esp_partition_erase_range(it->part, (first_sector + 1) * it->part->erase_size, (last_sector - first_sector) * it->part->erase_size);
ret = esp_partition_erase_range(it->partition.staging, (first_sector + 1) * it->partition.staging->erase_size, (last_sector - first_sector) * it->partition.staging->erase_size);
}
if (ret != ESP_OK) {
return ret;
}
}
if (it->wrote_size == 0 && it->partial_bytes == 0 && size > 0 && data_bytes[0] != ESP_IMAGE_HEADER_MAGIC) {
ESP_LOGE(TAG, "OTA image has invalid magic byte (expected 0xE9, saw 0x%02x)", data_bytes[0]);
return ESP_ERR_OTA_VALIDATE_FAILED;
if (it->wrote_size == 0 && it->partial_bytes == 0 && size > 0) {
if (it->partition.final->type == ESP_PARTITION_TYPE_APP || it->partition.final->type == ESP_PARTITION_TYPE_BOOTLOADER) {
if (data_bytes[0] != ESP_IMAGE_HEADER_MAGIC) {
ESP_LOGE(TAG, "OTA image has invalid magic byte (expected 0xE9, saw 0x%02x)", data_bytes[0]);
return ESP_ERR_OTA_VALIDATE_FAILED;
}
} else if (it->partition.final->type == ESP_PARTITION_TYPE_PARTITION_TABLE) {
if (*(uint16_t*)data_bytes != (uint16_t)ESP_PARTITION_MAGIC) {
ESP_LOGE(TAG, "Partition table image has invalid magic word (expected 0x50AA, saw 0x%04x)", *(uint16_t*)data_bytes);
return ESP_ERR_OTA_VALIDATE_FAILED;
}
}
}
if (esp_flash_encryption_enabled()) {
@ -224,7 +355,7 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
return ESP_OK; /* nothing to write yet, just filling buffer */
}
/* write 16 byte to partition */
ret = esp_partition_write(it->part, it->wrote_size, it->partial_data, 16);
ret = esp_partition_write(it->partition.staging, it->wrote_size, it->partial_data, 16);
if (ret != ESP_OK) {
return ret;
}
@ -243,7 +374,7 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
}
}
ret = esp_partition_write(it->part, it->wrote_size, data_bytes, size);
ret = esp_partition_write(it->partition.staging, it->wrote_size, data_bytes, size);
if(ret == ESP_OK){
it->wrote_size += size;
}
@ -280,7 +411,7 @@ esp_err_t esp_ota_write_with_offset(esp_ota_handle_t handle, const void *data, s
ESP_LOGE(TAG, "Size should be 16byte aligned for flash encryption case");
return ESP_ERR_INVALID_ARG;
}
ret = esp_partition_write(it->part, offset, data_bytes, size);
ret = esp_partition_write(it->partition.staging, offset, data_bytes, size);
if (ret == ESP_OK) {
it->wrote_size += size;
}
@ -316,6 +447,34 @@ esp_err_t esp_ota_abort(esp_ota_handle_t handle)
return ESP_OK;
}
static esp_err_t ota_verify_partition(ota_ops_entry_t *ota_ops)
{
esp_err_t ret = ESP_OK;
if (ota_ops->partition.final->type == ESP_PARTITION_TYPE_APP || ota_ops->partition.final->type == ESP_PARTITION_TYPE_BOOTLOADER) {
esp_image_metadata_t data;
const esp_partition_pos_t part_pos = {
.offset = ota_ops->partition.staging->address,
.size = ota_ops->partition.staging->size,
};
if (esp_image_verify(ESP_IMAGE_VERIFY, &part_pos, &data) != ESP_OK) {
return ESP_ERR_OTA_VALIDATE_FAILED;
}
} else if (ota_ops->partition.final->type == ESP_PARTITION_TYPE_PARTITION_TABLE) {
const esp_partition_info_t *partition_table = NULL;
esp_partition_mmap_handle_t partition_table_map;
ret = esp_partition_mmap(ota_ops->partition.staging, 0, ESP_PARTITION_TABLE_MAX_LEN, ESP_PARTITION_MMAP_DATA, (const void**)&partition_table, &partition_table_map);
if (ret == ESP_OK) {
int num_partitions;
if (esp_partition_table_verify(partition_table, true, &num_partitions) != ESP_OK) {
esp_partition_munmap(partition_table_map);
return ESP_ERR_OTA_VALIDATE_FAILED;
}
esp_partition_munmap(partition_table_map);
}
}
return ret;
}
esp_err_t esp_ota_end(esp_ota_handle_t handle)
{
ota_ops_entry_t *it = get_ota_ops_entry(handle);
@ -335,7 +494,7 @@ esp_err_t esp_ota_end(esp_ota_handle_t handle)
if (it->partial_bytes > 0) {
/* Write out last 16 bytes, if necessary */
ret = esp_partition_write(it->part, it->wrote_size, it->partial_data, 16);
ret = esp_partition_write(it->partition.staging, it->wrote_size, it->partial_data, 16);
if (ret != ESP_OK) {
ret = ESP_ERR_INVALID_STATE;
goto cleanup;
@ -344,18 +503,21 @@ esp_err_t esp_ota_end(esp_ota_handle_t handle)
it->partial_bytes = 0;
}
esp_image_metadata_t data;
const esp_partition_pos_t part_pos = {
.offset = it->part->address,
.size = it->part->size,
};
if (esp_image_verify(ESP_IMAGE_VERIFY, &part_pos, &data) != ESP_OK) {
ret = ESP_ERR_OTA_VALIDATE_FAILED;
goto cleanup;
ret = ota_verify_partition(it);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "New image failed verification");
} else {
if (it->partition.finalize_with_copy) {
ESP_LOGI(TAG, "Copy from <%s> staging partition to <%s>...", it->partition.staging->label, it->partition.final->label);
ret = esp_partition_copy(it->partition.final, 0, it->partition.staging, 0, it->partition.final->size);
}
}
cleanup:
if (it->partition.final->type == ESP_PARTITION_TYPE_BOOTLOADER) {
// In esp_ota_begin, bootloader offset was updated, here we return it to default.
esp_image_bootloader_offset_set(ESP_PRIMARY_BOOTLOADER_OFFSET);
}
LIST_REMOVE(it, entries);
free(it);
return ret;
@ -770,8 +932,7 @@ static esp_err_t esp_ota_current_ota_is_workable(bool valid)
if (err != ESP_OK) {
return err;
}
ESP_LOGI(TAG, "Rollback to previously worked partition. Restart.");
esp_restart();
ESP_LOGI(TAG, "Rollback to previously worked partition.");
}
} else {
ESP_LOGE(TAG, "Running firmware is factory");
@ -785,11 +946,20 @@ esp_err_t esp_ota_mark_app_valid_cancel_rollback(void)
return esp_ota_current_ota_is_workable(true);
}
esp_err_t esp_ota_mark_app_invalid_rollback_and_reboot(void)
esp_err_t esp_ota_mark_app_invalid_rollback(void)
{
return esp_ota_current_ota_is_workable(false);
}
esp_err_t esp_ota_mark_app_invalid_rollback_and_reboot(void)
{
esp_err_t ret = esp_ota_mark_app_invalid_rollback();
if (ret == ESP_OK) {
esp_restart();
}
return ret;
}
static bool check_invalid_otadata (const esp_ota_select_entry_t *s) {
return s->ota_seq != UINT32_MAX &&
s->crc == bootloader_common_ota_select_crc(s) &&
@ -868,7 +1038,7 @@ esp_err_t esp_ota_get_state_partition(const esp_partition_t *partition, esp_ota_
return ESP_OK;
}
esp_err_t esp_ota_erase_last_boot_app_partition(void)
static esp_err_t erase_last_boot_app_partition(bool skip_app_part_erase)
{
esp_ota_select_entry_t otadata[2];
const esp_partition_t* ota_data_partition = read_otadata(otadata);
@ -900,13 +1070,15 @@ esp_err_t esp_ota_erase_last_boot_app_partition(void)
return ESP_FAIL;
}
esp_err_t err = esp_partition_erase_range(last_boot_app_partition_from_otadata, 0, last_boot_app_partition_from_otadata->size);
if (err != ESP_OK) {
return err;
if (!skip_app_part_erase) {
esp_err_t err = esp_partition_erase_range(last_boot_app_partition_from_otadata, 0, last_boot_app_partition_from_otadata->size);
if (err != ESP_OK) {
return err;
}
}
int sec_id = inactive_otadata;
err = esp_partition_erase_range(ota_data_partition, sec_id * ota_data_partition->erase_size, ota_data_partition->erase_size);
esp_err_t err = esp_partition_erase_range(ota_data_partition, sec_id * ota_data_partition->erase_size, ota_data_partition->erase_size);
if (err != ESP_OK) {
return err;
}
@ -914,6 +1086,16 @@ esp_err_t esp_ota_erase_last_boot_app_partition(void)
return ESP_OK;
}
esp_err_t esp_ota_erase_last_boot_app_partition(void)
{
return erase_last_boot_app_partition(false);
}
esp_err_t esp_ota_invalidate_inactive_ota_data_slot(void)
{
return erase_last_boot_app_partition(true);
}
#if SOC_SUPPORT_SECURE_BOOT_REVOKE_KEY && CONFIG_SECURE_BOOT_V2_ENABLED
// Validates the image at "app_pos" with the secure boot digests other than "revoked_key_index"

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -82,7 +82,12 @@ int esp_ota_get_app_elf_sha256(char* dst, size_t size) __attribute__((deprecated
* it will lead to the ESP_ERR_OTA_ROLLBACK_INVALID_STATE error. Confirm the running app before to run download a new app,
* use esp_ota_mark_app_valid_cancel_rollback() function for it (this should be done as early as possible when you first download a new application).
*
* @param partition Pointer to info for partition which will receive the OTA update. Required.
* Note: Rollback is applicable only for app type partitions.
* Note: For Rollback - The OTA data slot corresponding to the last boot application partition will be invalidated.
*
* @param partition Pointer to info for partition which will receive the OTA update. Required.
* This is considered as the staging partition (where OTA is downloaded), be default this also considered as the final partition which supposed to be updated.
* The final partition can be overwritten using esp_ota_set_final_partition() after calling esp_ota_begin() to relocate contents to the final destination partition.
* @param image_size Size of new OTA app image. Partition will be erased in order to receive this size of image. If 0 or OTA_SIZE_UNKNOWN, the entire partition is erased.
* @param out_handle On success, returns a handle which should be used for subsequent esp_ota_write() and esp_ota_end() calls.
@ -99,6 +104,57 @@ int esp_ota_get_app_elf_sha256(char* dst, size_t size) __attribute__((deprecated
*/
esp_err_t esp_ota_begin(const esp_partition_t* partition, size_t image_size, esp_ota_handle_t* out_handle);
/**
* @brief Resume an interrupted OTA update by continuing to write to the specified partition.
*
* This function is used when an OTA update was previously started and needs to be resumed after an interruption.
* It continues the OTA process from the specified offset within the partition.
*
* Unlike esp_ota_begin(), this function does not erase the partition which receives the OTA update, but rather expects that part of the image
* has already been written correctly, and it resumes writing from the given offset.
*
* @param partition Pointer to info for the partition which is receiving the OTA update. Required.
* @param erase_size Specifies how much flash memory to erase before resuming OTA, depending on whether a sequential write or a bulk erase is being used.
* @param image_offset Offset from where to resume the OTA process. Should be set to the number of bytes already written.
* @param out_handle On success, returns a handle that should be used for subsequent esp_ota_write() and esp_ota_end() calls.
*
* @return
* - ESP_OK: OTA operation resumed successfully.
* - ESP_ERR_INVALID_ARG: partition, out_handle were NULL or image_offset arguments is negative, or partition doesn't point to an OTA app partition.
* - ESP_ERR_NO_MEM: Cannot allocate memory for OTA operation.
* - ESP_ERR_OTA_PARTITION_CONFLICT: Partition holds the currently running firmware, cannot update in place.
* - ESP_ERR_NOT_FOUND: Partition argument not found in partition table.
* - ESP_ERR_OTA_SELECT_INFO_INVALID: The OTA data partition contains invalid data.
* - ESP_ERR_INVALID_SIZE: Partition doesn't fit in configured flash size.
* - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed.
*/
esp_err_t esp_ota_resume(const esp_partition_t *partition, const size_t erase_size, const size_t image_offset, esp_ota_handle_t *out_handle);
/**
* @brief Set the final destination partition for OTA update
*
* This function configures the specified final partition as the destination for the OTA update.
* It also allows setting a flag to indicate if the image should be copied from the staging
* partition to the final partition after the OTA update completes. Otherwise, copying will need
* to be handled by custom code using esp_partition_copy().
*
* @note This can be called after esp_ota_begin() and before the OTA update has started (before esp_ota_write()).
*
* @param handle OTA update handle obtained from esp_ota_begin().
* @param final Pointer to the final destination partition where the new image will be verified and potentially finalized.
* This partition must not be NULL.
* @param finalize_with_copy Boolean flag indicating if the downloaded image should be copied
* from the staging partition to the final partition upon completion.
* Set to False if you intend to perform the final copy process manually later.
*
* @return
* - ESP_OK: final destination partition set successfully.
* - ESP_ERR_INVALID_STATE: Once the OTA update has started, changing the final destination partition is prohibited.
* - ESP_ERR_INVALID_ARG: Invalid arguments were passed (e.g., final partition is NULL).
* - ESP_ERR_NOT_FOUND: OTA handle not found or final partition verification failed.
*/
esp_err_t esp_ota_set_final_partition(esp_ota_handle_t handle, const esp_partition_t *final, bool finalize_with_copy);
/**
* @brief Write OTA update data to partition
*
@ -113,9 +169,8 @@ esp_err_t esp_ota_begin(const esp_partition_t* partition, size_t image_size, esp
* @return
* - ESP_OK: Data was written to flash successfully, or size = 0
* - ESP_ERR_INVALID_ARG: handle is invalid.
* - ESP_ERR_OTA_VALIDATE_FAILED: First byte of image contains invalid app image magic byte.
* - ESP_ERR_OTA_VALIDATE_FAILED: First byte of image contains invalid image magic byte.
* - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed.
* - ESP_ERR_OTA_SELECT_INFO_INVALID: OTA data partition has invalid contents
* - ESP_ERR_INVALID_SIZE: if write would go out of bounds of the partition
* - or one of error codes from lower-level flash driver.
*/
@ -138,9 +193,7 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void* data, size_t size);
* @return
* - ESP_OK: Data was written to flash successfully.
* - ESP_ERR_INVALID_ARG: handle is invalid.
* - ESP_ERR_OTA_VALIDATE_FAILED: First byte of image contains invalid app image magic byte.
* - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed.
* - ESP_ERR_OTA_SELECT_INFO_INVALID: OTA data partition has invalid contents
*/
esp_err_t esp_ota_write_with_offset(esp_ota_handle_t handle, const void *data, size_t size, uint32_t offset);
@ -150,6 +203,11 @@ esp_err_t esp_ota_write_with_offset(esp_ota_handle_t handle, const void *data, s
* @param handle Handle obtained from esp_ota_begin().
*
* @note After calling esp_ota_end(), the handle is no longer valid and any memory associated with it is freed (regardless of result).
* @note If either the final or staging partitions were for the bootloader, then at the end of this function,
* the bootloader is reset to its default offset: esp_image_bootloader_offset_set(ESP_PRIMARY_BOOTLOADER_OFFSET)
*
* If the finalize_with_copy option is set, the staging partition will be copied to the final partition at the end of this function.
* Otherwise, copying will need to be handled by custom code using esp_partition_copy().
*
* @return
* - ESP_OK: Newly written OTA app image is valid.
@ -258,7 +316,7 @@ esp_err_t esp_ota_get_partition_description(const esp_partition_t *partition, es
* @brief Returns the description structure of the bootloader.
*
* @param[in] bootloader_partition Pointer to bootloader partition.
* If NULL, then the current bootloader is used (the default location).
* If NULL, then the PRIMARY bootloader is used (the default location).
* offset = CONFIG_BOOTLOADER_OFFSET_IN_FLASH,
* size = CONFIG_PARTITION_TABLE_OFFSET - CONFIG_BOOTLOADER_OFFSET_IN_FLASH,
* @param[out] desc Structure of info about bootloader.
@ -271,6 +329,20 @@ esp_err_t esp_ota_get_partition_description(const esp_partition_t *partition, es
*/
esp_err_t esp_ota_get_bootloader_description(const esp_partition_t *bootloader_partition, esp_bootloader_desc_t *desc);
/**
* @brief Invalidate the OTA data slot associated with the last boot application partition.
*
* This function erases the OTA data slot corresponding to the last boot application partition,
* making the partition invalid for booting in future. The application partition itself
* is not erased, preserving its contents.
*
* @return
* - ESP_OK: Successfully invalidated the OTA data slot.
* - ESP_FAIL: Failed to invalidate the OTA data slot (e.g., invalid parameters, no OTA data partition, or other errors).
* - Other error codes from `esp_partition_erase_range`.
*/
esp_err_t esp_ota_invalidate_inactive_ota_data_slot(void);
/**
* @brief Returns number of ota partitions provided in partition table.
*
@ -288,12 +360,24 @@ uint8_t esp_ota_get_app_partition_count(void);
esp_err_t esp_ota_mark_app_valid_cancel_rollback(void);
/**
* @brief This function is called to roll back to the previously workable app with reboot.
* @brief This function is called to roll back to the previously workable app without reboot.
*
* If rollback is successful then device will reset else API will return with error code.
* Checks applications on a flash drive that can be booted in case of rollback.
* If the flash does not have at least one app (except the running app) then rollback is not possible.
* @return
* - ESP_OK: if successful.
* - ESP_FAIL: if not successful.
* - ESP_ERR_OTA_ROLLBACK_FAILED: The rollback is not possible because the available OTA partitions
* on the flash do not contain a valid application.
*/
esp_err_t esp_ota_mark_app_invalid_rollback(void);
/**
* @brief This function is called to roll back to the previously workable app with reboot.
*
* Equivalent to calling esp_ota_mark_app_invalid_rollback(), and, if successful, followed by esp_restart().
*
* @return
* - ESP_FAIL: if not successful.
* - ESP_ERR_OTA_ROLLBACK_FAILED: The rollback is not possible due to flash does not have any apps.
*/

View File

@ -2,11 +2,15 @@
components/app_update/test_apps:
enable:
- if: CONFIG_NAME == "defaults" and IDF_TARGET != "linux"
- if: CONFIG_NAME == "xip_psram" and IDF_TARGET in ["esp32s2", "esp32s3", "esp32p4"]
- if: CONFIG_NAME == "defaults" and IDF_TARGET in ["esp32", "esp32c2", "esp32c3", "esp32c5", "esp32c6", "esp32c61", "esp32h2", "esp32p4", "esp32s2", "esp32s3"]
- if: CONFIG_NAME == "rollback" and IDF_TARGET in ["esp32", "esp32c3", "esp32s3", "esp32p4"]
- if: CONFIG_NAME == "xip_psram" and SOC_SPIRAM_XIP_SUPPORTED == 1
# S2 doesn't have ROM for flash
- if: CONFIG_NAME == "xip_psram_with_rom_impl" and IDF_TARGET in ["esp32s3", "esp32p4"]
- if: CONFIG_NAME == "xip_psram_with_rom_impl" and (SOC_SPIRAM_XIP_SUPPORTED == 1 and IDF_TARGET != "esp32s2")
disable:
- if: IDF_TARGET in ["esp32c61"]
- if: IDF_TARGET in ["esp32h21", "esp32h4"]
temporary: true
reason: target esp32c61 is not supported yet # TODO: [ESP32C61] IDF-9245
reason: not supported yet # TODO: [ESP32H21] IDF-11515, [ESP32H4] IDF-12279
- if: IDF_TARGET == "esp32c61" and CONFIG_NAME == "xip_psram_with_rom_impl"
temporary: true
reason: not supported yet # TODO: [ESP32C61] IDF-12784

View File

@ -0,0 +1,256 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "esp_ota_ops.h"
#include "esp_partition.h"
#include "esp_flash_partitions.h"
#include "esp_flash_internal.h"
#include "spi_flash_mmap.h"
#include "esp_image_format.h"
#include "esp_system.h"
#include "esp_log.h"
#include "unity.h"
#include "nvs_flash.h"
#include "sdkconfig.h"
static const char *TAG = "test";
static uint8_t buffer[SPI_FLASH_SEC_SIZE];
// Find the unused offset after the last partition, checking that it is of the required size
static uint32_t find_unused_space(size_t required_size)
{
esp_partition_iterator_t it = esp_partition_find(ESP_PARTITION_TYPE_ANY, ESP_PARTITION_SUBTYPE_ANY, NULL);
TEST_ASSERT_NOT_NULL(it);
const esp_partition_t* latest_partition = esp_partition_get(it);
for (; it != NULL; it = esp_partition_next(it)) {
const esp_partition_t *p = esp_partition_get(it);
if (p->address > latest_partition->address) {
latest_partition = p;
}
}
esp_partition_iterator_release(it);
TEST_ASSERT_NOT_NULL(latest_partition);
#if CONFIG_IDF_TARGET_LINUX
uint32_t flash_chip_size;
esp_flash_get_size(NULL, &flash_chip_size);
#else
uint32_t flash_chip_size = esp_flash_default_chip->size;
#endif // CONFIG_IDF_TARGET_LINUX
uint32_t unused_offset = latest_partition->address + latest_partition->size;
TEST_ASSERT_GREATER_OR_EQUAL_UINT32(required_size, flash_chip_size - unused_offset);
return unused_offset;
}
static void check_after_reboot(void)
{
ESP_LOGI(TAG, "App runs");
}
static void download_new_image_from_partition(esp_ota_handle_t update_handle, const esp_partition_t *copy_from_part)
{
uint32_t offset = 0;
ESP_LOGI(TAG, "Downloading image...");
do {
TEST_ESP_OK(esp_partition_read(copy_from_part, offset, buffer, sizeof(buffer)));
TEST_ESP_OK(esp_ota_write(update_handle, buffer, sizeof(buffer)));
offset += sizeof(buffer);
} while (offset < copy_from_part->size);
}
static void start_bootloader_ota_update_via_ota_bootloader_part(void)
{
const esp_partition_t *primary_bootloader;
TEST_ESP_OK(esp_partition_register_external(NULL, ESP_PRIMARY_BOOTLOADER_OFFSET, ESP_BOOTLOADER_SIZE, "PrimaryBTLDR", ESP_PARTITION_TYPE_BOOTLOADER, ESP_PARTITION_SUBTYPE_BOOTLOADER_PRIMARY, &primary_bootloader));
const esp_partition_t *ota_bootloader;
const uint32_t ota_bootloader_offset = find_unused_space(ESP_BOOTLOADER_SIZE);
TEST_ESP_OK(esp_partition_register_external(NULL, ota_bootloader_offset, ESP_BOOTLOADER_SIZE, "OtaBTLDR", ESP_PARTITION_TYPE_BOOTLOADER, ESP_PARTITION_SUBTYPE_BOOTLOADER_OTA, &ota_bootloader));
esp_ota_handle_t update_handle;
TEST_ESP_OK(esp_ota_begin(ota_bootloader, OTA_WITH_SEQUENTIAL_WRITES, &update_handle));
TEST_ESP_OK(esp_ota_set_final_partition(update_handle, primary_bootloader, true));
download_new_image_from_partition(update_handle, primary_bootloader);
TEST_ESP_OK(esp_ota_end(update_handle));
TEST_ESP_OK(esp_partition_deregister_external(primary_bootloader));
TEST_ESP_OK(esp_partition_deregister_external(ota_bootloader));
esp_restart();
}
TEST_CASE_MULTIPLE_STAGES("OTA update of bootloader via temp partition", "[bootloader_ota][reset=SW_CPU_RESET]", start_bootloader_ota_update_via_ota_bootloader_part, check_after_reboot);
static void start_bootloader_ota_update_via_primary_bootloader_part(void)
{
const esp_partition_t *primary_bootloader;
TEST_ESP_OK(esp_partition_register_external(NULL, ESP_PRIMARY_BOOTLOADER_OFFSET, ESP_BOOTLOADER_SIZE, "PrimaryBTLDR", ESP_PARTITION_TYPE_BOOTLOADER, ESP_PARTITION_SUBTYPE_BOOTLOADER_PRIMARY, &primary_bootloader));
esp_ota_handle_t update_handle;
TEST_ESP_OK(esp_ota_begin(primary_bootloader, OTA_WITH_SEQUENTIAL_WRITES, &update_handle));
download_new_image_from_partition(update_handle, primary_bootloader);
TEST_ESP_OK(esp_ota_end(update_handle));
TEST_ESP_OK(esp_partition_deregister_external(primary_bootloader));
esp_restart();
}
TEST_CASE_MULTIPLE_STAGES("OTA update of bootloader via primary partition", "[bootloader_ota][reset=SW_CPU_RESET]", start_bootloader_ota_update_via_primary_bootloader_part, check_after_reboot);
static void start_partition_table_ota_update_via_ota_part_table(void)
{
const esp_partition_t *primary_partition_table;
const esp_partition_t *ota_partition_table;
TEST_ESP_OK(esp_partition_register_external(NULL, ESP_PRIMARY_PARTITION_TABLE_OFFSET, ESP_PARTITION_TABLE_SIZE, "PrimaryPrtTable", ESP_PARTITION_TYPE_PARTITION_TABLE, ESP_PARTITION_SUBTYPE_PARTITION_TABLE_PRIMARY, &primary_partition_table));
uint32_t ota_partition_table_offset = find_unused_space(ESP_PARTITION_TABLE_SIZE);
TEST_ESP_OK(esp_partition_register_external(NULL, ota_partition_table_offset, ESP_PARTITION_TABLE_SIZE, "OtaPrtTable", ESP_PARTITION_TYPE_PARTITION_TABLE, ESP_PARTITION_SUBTYPE_PARTITION_TABLE_OTA, &ota_partition_table));
esp_ota_handle_t update_handle;
TEST_ESP_OK(esp_ota_begin(ota_partition_table, OTA_WITH_SEQUENTIAL_WRITES, &update_handle));
TEST_ESP_OK(esp_ota_set_final_partition(update_handle, primary_partition_table, true));
download_new_image_from_partition(update_handle, primary_partition_table);
TEST_ESP_OK(esp_ota_end(update_handle));
TEST_ESP_OK(esp_partition_deregister_external(primary_partition_table));
TEST_ESP_OK(esp_partition_deregister_external(ota_partition_table));
esp_restart();
}
TEST_CASE_MULTIPLE_STAGES("OTA update of partition_table via temp partition", "[partition_table_ota][reset=SW_CPU_RESET]", start_partition_table_ota_update_via_ota_part_table, check_after_reboot);
static void start_partition_table_ota_update_via_primary_part_table(void)
{
const esp_partition_t *primary_partition_table;
TEST_ESP_OK(esp_partition_register_external(NULL, ESP_PRIMARY_PARTITION_TABLE_OFFSET, ESP_PARTITION_TABLE_SIZE, "PrimaryPrtTable", ESP_PARTITION_TYPE_PARTITION_TABLE, ESP_PARTITION_SUBTYPE_PARTITION_TABLE_PRIMARY, &primary_partition_table));
esp_ota_handle_t update_handle;
TEST_ESP_OK(esp_ota_begin(primary_partition_table, OTA_WITH_SEQUENTIAL_WRITES, &update_handle));
download_new_image_from_partition(update_handle, primary_partition_table);
TEST_ESP_OK(esp_ota_end(update_handle));
TEST_ESP_OK(esp_partition_deregister_external(primary_partition_table));
esp_restart();
}
TEST_CASE_MULTIPLE_STAGES("OTA update of partition_table via primary partition", "[partition_table_ota][reset=SW_CPU_RESET]", start_partition_table_ota_update_via_primary_part_table, check_after_reboot);
TEST_CASE("OTA update of NVS partition", "[nvs_ota]")
{
// intilaize "nvs" partition and define a var (magic_value).
TEST_ESP_OK(nvs_flash_erase());
TEST_ESP_OK(nvs_flash_init());
nvs_handle_t my_handle;
TEST_ESP_OK(nvs_open("namespace", NVS_READWRITE, &my_handle));
uint32_t magic_value = 0x0729FEED;
TEST_ESP_OK(nvs_set_u32(my_handle, "magic_value", magic_value));
TEST_ESP_OK(nvs_commit(my_handle));
magic_value = 0;
TEST_ESP_OK(nvs_get_u32(my_handle, "magic_value", &magic_value));
TEST_ASSERT_EQUAL_HEX(0x0729FEED, magic_value);
nvs_close(my_handle);
TEST_ESP_OK(nvs_flash_deinit());
// register a new "nvs2" partition
const esp_partition_t *nvs_part = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_NVS, "nvs");
const esp_partition_t *nvs2_part;
TEST_ESP_OK(esp_partition_register_external(NULL, find_unused_space(nvs_part->size), nvs_part->size, "nvs2", ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_NVS, &nvs2_part));
ESP_LOGI(TAG, "Use %s partition (0x%08" PRIx32 ") to load a new image", nvs2_part->label, nvs2_part->address);
TEST_ESP_OK(nvs_flash_erase_partition("nvs2"));
// OTA update of the new "nvs2" partition, taking "nvs" partition as source.
esp_ota_handle_t update_handle;
TEST_ESP_OK(esp_ota_begin(nvs2_part, OTA_WITH_SEQUENTIAL_WRITES, &update_handle));
download_new_image_from_partition(update_handle, nvs_part);
TEST_ESP_OK(esp_ota_end(update_handle));
// init "nvs2" partition and check if the magic_value == 0x0729FEED
TEST_ESP_OK(nvs_flash_init_partition("nvs2"));
nvs_handle_t my_handle2;
TEST_ESP_OK(nvs_open_from_partition("nvs2", "namespace", NVS_READWRITE, &my_handle2));
magic_value = 0;
TEST_ESP_OK(nvs_get_u32(my_handle2, "magic_value", &magic_value));
TEST_ASSERT_EQUAL_HEX(0x0729FEED, magic_value);
nvs_close(my_handle2);
TEST_ESP_OK(nvs_flash_deinit_partition("nvs2"));
// deregister "nvs2"
TEST_ESP_OK(esp_partition_deregister_external(nvs2_part));
TEST_ESP_OK(nvs_flash_erase());
}
static void start_bootloader_ota_update_via_app_part(void)
{
const esp_partition_t *primary_bootloader;
TEST_ESP_OK(esp_partition_register_external(NULL, ESP_PRIMARY_BOOTLOADER_OFFSET, ESP_BOOTLOADER_SIZE, "PrimaryBTLDR", ESP_PARTITION_TYPE_BOOTLOADER, ESP_PARTITION_SUBTYPE_BOOTLOADER_PRIMARY, &primary_bootloader));
const esp_partition_t *free_app_ota_partition = esp_ota_get_next_update_partition(NULL);
esp_ota_handle_t update_handle;
TEST_ESP_OK(esp_ota_begin(free_app_ota_partition, OTA_WITH_SEQUENTIAL_WRITES, &update_handle));
TEST_ESP_OK(esp_ota_set_final_partition(update_handle, primary_bootloader, true));
download_new_image_from_partition(update_handle, primary_bootloader);
TEST_ESP_OK(esp_ota_end(update_handle));
TEST_ESP_OK(esp_partition_deregister_external(primary_bootloader));
esp_restart();
}
TEST_CASE_MULTIPLE_STAGES("OTA update of bootloader via a free ota partition", "[bootloader_ota][reset=SW_CPU_RESET]", start_bootloader_ota_update_via_app_part, check_after_reboot);
static void start_partition_table_ota_update_via_app_part(void)
{
const esp_partition_t *primary_partition_table;
TEST_ESP_OK(esp_partition_register_external(NULL, ESP_PRIMARY_PARTITION_TABLE_OFFSET, ESP_PARTITION_TABLE_SIZE, "PrimaryPrtTable", ESP_PARTITION_TYPE_PARTITION_TABLE, ESP_PARTITION_SUBTYPE_PARTITION_TABLE_PRIMARY, &primary_partition_table));
const esp_partition_t *free_app_ota_partition = esp_ota_get_next_update_partition(NULL);
esp_ota_handle_t update_handle;
TEST_ESP_OK(esp_ota_begin(free_app_ota_partition, OTA_WITH_SEQUENTIAL_WRITES, &update_handle));
TEST_ESP_OK(esp_ota_set_final_partition(update_handle, primary_partition_table, true));
download_new_image_from_partition(update_handle, primary_partition_table);
TEST_ESP_OK(esp_ota_end(update_handle));
TEST_ESP_OK(esp_partition_deregister_external(primary_partition_table));
esp_restart();
}
TEST_CASE_MULTIPLE_STAGES("OTA update of partition_table via a free ota partition", "[partition_table_ota][reset=SW_CPU_RESET]", start_partition_table_ota_update_via_app_part, check_after_reboot);
TEST_CASE("OTA update of NVS partition via a free ota partition", "[nvs_ota]")
{
// intilaize "nvs" partition and define a var (magic_value).
const esp_partition_t *nvs_part = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_NVS, "nvs");
TEST_ESP_OK(nvs_flash_erase());
TEST_ESP_OK(nvs_flash_init());
nvs_handle_t my_handle;
TEST_ESP_OK(nvs_open("namespace", NVS_READWRITE, &my_handle));
uint32_t magic_value = 0x0729FEED;
TEST_ESP_OK(nvs_set_u32(my_handle, "magic_value", magic_value));
TEST_ESP_OK(nvs_commit(my_handle));
magic_value = 0;
TEST_ESP_OK(nvs_get_u32(my_handle, "magic_value", &magic_value));
TEST_ASSERT_EQUAL_HEX(0x0729FEED, magic_value);
nvs_close(my_handle);
TEST_ESP_OK(nvs_flash_deinit());
// 1. OTA update nvs partition into free_app_ota_partition
// 2. copy free_app_ota_partition into the original nvs partition (which was erased before coping)
const esp_partition_t *free_app_ota_partition = esp_ota_get_next_update_partition(NULL);
esp_ota_handle_t update_handle;
TEST_ESP_OK(esp_ota_begin(free_app_ota_partition, OTA_WITH_SEQUENTIAL_WRITES, &update_handle));
TEST_ESP_OK(esp_ota_set_final_partition(update_handle, nvs_part, true));
download_new_image_from_partition(update_handle, nvs_part);
TEST_ESP_OK(esp_ota_end(update_handle));
// Check if the magic_value == 0x0729FEED
TEST_ESP_OK(nvs_flash_init());
TEST_ESP_OK(nvs_open("namespace", NVS_READONLY, &my_handle));
magic_value = 0;
TEST_ESP_OK(nvs_get_u32(my_handle, "magic_value", &magic_value));
TEST_ASSERT_EQUAL_HEX(0x0729FEED, magic_value);
nvs_close(my_handle);
TEST_ESP_OK(nvs_flash_deinit());
TEST_ESP_OK(nvs_flash_erase());
}

View File

@ -43,7 +43,12 @@ static const char *TAG = "ota_test";
static void set_boot_count_in_nvs(uint8_t boot_count)
{
nvs_handle_t boot_count_handle;
TEST_ESP_OK(nvs_open(BOOT_COUNT_NAMESPACE, NVS_READWRITE, &boot_count_handle));
esp_err_t err = nvs_open(BOOT_COUNT_NAMESPACE, NVS_READWRITE, &boot_count_handle);
if (err != ESP_OK) {
TEST_ESP_OK(nvs_flash_erase());
TEST_ESP_OK(nvs_flash_init());
TEST_ESP_OK(nvs_open(BOOT_COUNT_NAMESPACE, NVS_READWRITE, &boot_count_handle));
}
TEST_ESP_OK(nvs_set_u8(boot_count_handle, "boot_count", boot_count));
TEST_ESP_OK(nvs_commit(boot_count_handle));
nvs_close(boot_count_handle);
@ -844,3 +849,84 @@ TEST_CASE("Test bootloader_common_get_sha256_of_partition returns ESP_ERR_IMAGE_
TEST_ESP_ERR(ESP_ERR_IMAGE_INVALID, bootloader_common_get_sha256_of_partition(other_app->address, other_app->size, other_app->type, sha_256_other_app));
TEST_ASSERT_EQUAL_MEMORY_MESSAGE(sha_256_cur_app, sha_256_other_app, sizeof(sha_256_cur_app), "must be the same");
}
static void test_rollback3(void)
{
uint8_t boot_count = get_boot_count_from_nvs();
boot_count++;
set_boot_count_in_nvs(boot_count);
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
const esp_partition_t* update_partition = NULL;
switch (boot_count) {
case 2:
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
update_partition = app_update();
reboot_as_deep_sleep();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
TEST_ESP_OK(esp_ota_mark_app_valid_cancel_rollback());
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
update_partition = app_update();
reboot_as_deep_sleep();
break;
case 4:
ESP_LOGI(TAG, "OTA1");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_1, cur_app->subtype);
TEST_ESP_OK(esp_ota_mark_app_valid_cancel_rollback());
update_partition = esp_ota_get_next_update_partition(NULL);
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
// two partitions are valid
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
esp_ota_img_states_t ota_state;
TEST_ESP_OK(esp_ota_get_state_partition(update_partition, &ota_state));
TEST_ASSERT_EQUAL(ESP_OTA_IMG_VALID, ota_state);
#endif
esp_ota_handle_t update_handle = 0;
TEST_ESP_OK(esp_ota_begin(update_partition, OTA_SIZE_UNKNOWN, &update_handle));
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
// After esp_ota_begin, the only one partition is valid
// ota data slots do not have an entry about the update_partition.
TEST_ESP_ERR(ESP_ERR_NOT_FOUND, esp_ota_get_state_partition(update_partition, &ota_state));
#endif
copy_app_partition(update_handle, get_running_firmware());
TEST_ESP_OK(esp_ota_end(update_handle));
// esp_ota_set_boot_partition is not called, so the running app will not be changed after reboot
reboot_as_deep_sleep();
break;
default:
erase_ota_data();
TEST_FAIL_MESSAGE("Unexpected stage");
break;
}
}
static void test_rollback3_1(void)
{
set_boot_count_in_nvs(5);
uint8_t boot_count = get_boot_count_from_nvs();
esp_ota_img_states_t ota_state = 0x5555AAAA;
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
ESP_LOGI(TAG, "OTA1");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_1, cur_app->subtype);
TEST_ESP_OK(esp_ota_get_state_partition(cur_app, &ota_state));
TEST_ASSERT_EQUAL(ESP_OTA_IMG_VALID, ota_state);
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
const esp_partition_t* next_update_partition = esp_ota_get_next_update_partition(NULL);
TEST_ASSERT_NOT_NULL(next_update_partition);
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
// ota data slots do not have an entry about the next_update_partition.
TEST_ESP_ERR(ESP_ERR_NOT_FOUND, esp_ota_get_state_partition(next_update_partition, &ota_state));
#endif
erase_ota_data();
}
TEST_CASE_MULTIPLE_STAGES("Test rollback. Updated partition invalidated after esp_ota_begin", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET, SW_CPU_RESET]", start_test, test_rollback3, test_rollback3, test_rollback3, test_rollback3_1);

View File

@ -1,16 +1,15 @@
# SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Unlicense OR CC0-1.0
import re
import pytest
from pytest_embedded import Dut
from pytest_embedded_idf.utils import idf_parametrize
DEFAULT_TIMEOUT = 20
TEST_SUBMENU_PATTERN_PYTEST = re.compile(rb'\s+\((\d+)\)\s+"([^"]+)"\r?\n')
@pytest.mark.supported_targets
@pytest.mark.temp_skip_ci(targets=['esp32c5'], reason='C5 has not supported deep sleep') # TODO: [ESP32C5] IDF-8640, IDF-10317
@pytest.mark.generic
@pytest.mark.parametrize(
'config',
@ -19,13 +18,11 @@ TEST_SUBMENU_PATTERN_PYTEST = re.compile(rb'\s+\((\d+)\)\s+"([^"]+)"\r?\n')
],
indirect=True,
)
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
def test_app_update(dut: Dut) -> None:
dut.run_all_single_board_cases(timeout=90)
@pytest.mark.supported_targets
# TODO: [ESP32C61] IDF-9245, IDF-10983
@pytest.mark.temp_skip_ci(targets=['esp32c61'], reason='C61 has not supported deep sleep')
@pytest.mark.generic
@pytest.mark.parametrize(
'config',
@ -34,12 +31,11 @@ def test_app_update(dut: Dut) -> None:
],
indirect=True,
)
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
def test_app_update_xip_psram(dut: Dut) -> None:
dut.run_all_single_board_cases(timeout=90)
@pytest.mark.supported_targets
@pytest.mark.temp_skip_ci(targets=['esp32c5'], reason='C5 has not supported deep sleep') # TODO: [ESP32C5] IDF-8640, IDF-10317
@pytest.mark.generic
@pytest.mark.parametrize(
'config',
@ -48,5 +44,19 @@ def test_app_update_xip_psram(dut: Dut) -> None:
],
indirect=True,
)
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
def test_app_update_xip_psram_rom_impl(dut: Dut) -> None:
dut.run_all_single_board_cases(timeout=90)
@pytest.mark.generic
@pytest.mark.parametrize(
'config',
[
'rollback',
],
indirect=True,
)
@idf_parametrize('target', ['esp32', 'esp32c3', 'esp32s3', 'esp32p4'], indirect=['target'])
def test_app_update_with_rollback(dut: Dut) -> None:
dut.run_all_single_board_cases(timeout=90)

View File

@ -0,0 +1 @@
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y

View File

@ -0,0 +1,3 @@
CONFIG_IDF_TARGET="esp32c5"
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=18
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4

View File

@ -1,4 +1,5 @@
idf_build_get_property(target IDF_TARGET)
idf_build_get_property(esp_tee_build ESP_TEE_BUILD)
if(${target} STREQUAL "linux")
return() # This component is not supported by the POSIX/Linux simulator
@ -7,7 +8,9 @@ endif()
idf_component_register(PRIV_REQUIRES partition_table esptool_py)
# Do not generate flash file when building bootloader or is in early expansion of the build
if(BOOTLOADER_BUILD OR NOT CONFIG_APP_BUILD_BOOTLOADER)
# This also applies to the ESP-TEE build, as the esp_tee component only requires the
# Kconfig options from the bootloader
if(BOOTLOADER_BUILD OR esp_tee_build OR NOT CONFIG_APP_BUILD_BOOTLOADER)
return()
endif()

View File

@ -0,0 +1,68 @@
menu "Application Rollback"
config BOOTLOADER_APP_ROLLBACK_ENABLE
bool "Enable app rollback support"
default n
help
After updating the app, the bootloader runs a new app with the "ESP_OTA_IMG_PENDING_VERIFY" state set.
This state prevents the re-run of this app. After the first boot of the new app in the user code, the
function should be called to confirm the operability of the app or vice versa about its non-operability.
If the app is working, then it is marked as valid. Otherwise, it is marked as not valid and rolls back to
the previous working app. A reboot is performed, and the app is booted before the software update.
Note: If during the first boot a new app the power goes out or the WDT works, then roll back will happen.
Rollback is possible only between the apps with the same security versions.
config BOOTLOADER_APP_ANTI_ROLLBACK
bool "Enable app anti-rollback support"
depends on BOOTLOADER_APP_ROLLBACK_ENABLE
default n
help
This option prevents rollback to previous firmware/application image with lower security version.
config BOOTLOADER_APP_SECURE_VERSION
int "eFuse secure version of app"
depends on BOOTLOADER_APP_ANTI_ROLLBACK
default 0
help
The secure version is the sequence number stored in the header of each firmware.
The security version is set in the bootloader, version is recorded in the eFuse field
as the number of set ones. The allocated number of bits in the efuse field
for storing the security version is limited (see BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD option).
Bootloader: When bootloader selects an app to boot, an app is selected that has
a security version greater or equal that recorded in eFuse field.
The app is booted with a higher (or equal) secure version.
The security version is worth increasing if in previous versions there is
a significant vulnerability and their use is not acceptable.
Your partition table should has a scheme with ota_0 + ota_1 (without factory).
config BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD
int "Size of the efuse secure version field"
depends on BOOTLOADER_APP_ANTI_ROLLBACK
range 1 32 if IDF_TARGET_ESP32
default 32 if IDF_TARGET_ESP32
range 1 4 if IDF_TARGET_ESP32C2
default 4 if IDF_TARGET_ESP32C2
range 1 16
default 16
help
The size of the efuse secure version field.
Its length is limited to 32 bits for ESP32 and 16 bits for ESP32-S2.
This determines how many times the security version can be increased.
config BOOTLOADER_EFUSE_SECURE_VERSION_EMULATE
bool "Emulate operations with efuse secure version(only test)"
default n
depends on BOOTLOADER_APP_ANTI_ROLLBACK
select EFUSE_VIRTUAL
select EFUSE_VIRTUAL_KEEP_IN_FLASH
help
This option allows to emulate read/write operations with all eFuses and efuse secure version.
It allows to test anti-rollback implementation without permanent write eFuse bits.
There should be an entry in partition table with following details: `emul_efuse, data, efuse, , 0x2000`.
This option enables: EFUSE_VIRTUAL and EFUSE_VIRTUAL_KEEP_IN_FLASH.
endmenu

View File

@ -0,0 +1,25 @@
menu "Bootloader Rollback"
config BOOTLOADER_ANTI_ROLLBACK_ENABLE
bool "Enable bootloader rollback support"
depends on SOC_RECOVERY_BOOTLOADER_SUPPORTED
default n
help
This option prevents rollback to previous bootloader image with lower security version.
config BOOTLOADER_SECURE_VERSION
int "Secure version of bootloader"
depends on BOOTLOADER_ANTI_ROLLBACK_ENABLE
default 0
range 0 4
help
The secure version is the sequence number stored in the header of each bootloader.
The ROM Bootloader which runs the 2nd stage bootloader (PRIMARY or RECOVERY) checks that
the security version is greater or equal that recorded in the eFuse field.
Bootloaders that have a secure version in the image < secure version in efuse will not boot.
The security version is worth increasing if in previous versions there is
a significant vulnerability and their use is not acceptable.
endmenu

View File

@ -1,5 +1,26 @@
menu "Log"
choice BOOTLOADER_LOG_VERSION
prompt "Log version"
help
Select the log version to be used by the ESP log component.
The app log version (CONFIG_LOG_VERSION) controls the version used in the bootloader,
preventing the selection of different versions.
For description of V1 and V2 see CONFIG_LOG_VERSION.
config BOOTLOADER_LOG_VERSION_1
bool "V1" if LOG_VERSION_1
config BOOTLOADER_LOG_VERSION_2
bool "V2" if LOG_VERSION_2
endchoice
config BOOTLOADER_LOG_VERSION
int
default 1 if BOOTLOADER_LOG_VERSION_1
default 2 if BOOTLOADER_LOG_VERSION_2
help
This configuration sets the log version number based on the chosen log version.
choice BOOTLOADER_LOG_LEVEL
bool "Bootloader log verbosity"
default BOOTLOADER_LOG_LEVEL_INFO
@ -29,6 +50,8 @@ menu "Log"
default 4 if BOOTLOADER_LOG_LEVEL_DEBUG
default 5 if BOOTLOADER_LOG_LEVEL_VERBOSE
orsource "Kconfig.log.format"
rsource "Kconfig.log.format"
rsource "Kconfig.log.settings"
endmenu

View File

@ -3,11 +3,23 @@ menu "Format"
config BOOTLOADER_LOG_COLORS
bool "Color"
default n
select BOOTLOADER_LOG_COLORS_SUPPORT if BOOTLOADER_LOG_VERSION_2
help
Use ANSI terminal colors in log output
Enable ANSI terminal color codes.
Enable ANSI terminal color codes. Logs (info, errors, warnings) will contain color codes.
In order to view these, your terminal program must support ANSI color codes.
config BOOTLOADER_LOG_COLORS_SUPPORT
bool "Allow enabling color output at run time"
depends on BOOTLOADER_LOG_VERSION_2
default n
help
Enables support for color codes in the esp_log() function. If CONFIG_LOG_COLORS is enabled, this option
is always active. If CONFIG_LOG_COLORS is disabled, this option allows you to still handle color codes
in specific files by defining ESP_LOG_COLOR_DISABLED as 0 before including esp_log.h.
Note that enabling this option may slightly increase RAM/FLASH usage due to additional color handling
functionality. It provides flexibility to manage color output even when CONFIG_LOG_COLORS is turned off.
choice BOOTLOADER_LOG_TIMESTAMP_SOURCE
prompt "Timestamp"
default BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS
@ -28,11 +40,25 @@ menu "Format"
config BOOTLOADER_LOG_TIMESTAMP_SOURCE_NONE
bool "None"
depends on NO_SYMBOL # hide it now, turn it on final MR
depends on BOOTLOADER_LOG_VERSION_2
config BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS
bool "Milliseconds Since Boot"
select BOOTLOADER_LOG_TIMESTAMP_SUPPORT if BOOTLOADER_LOG_VERSION_2
endchoice # BOOTLOADER_LOG_TIMESTAMP_SOURCE
config BOOTLOADER_LOG_TIMESTAMP_SUPPORT
bool "Allow enabling timestamp output at run time"
depends on BOOTLOADER_LOG_VERSION_2
default y
help
Enables support for timestamp in the esp_log() function.
If CONFIG_LOG_TIMESTAMP_SOURCE_NONE, this option allows you to still handle timestamp
in specific files by defining ESP_LOG_TIMESTAMP_DISABLED as 0 before including esp_log.h.
Note that enabling this option may slightly increase RAM/FLASH usage due to additional timestamp handling
functionality. It provides flexibility to manage timestamp output even when
CONFIG_LOG_TIMESTAMP_SOURCE_NONE.
endmenu

View File

@ -0,0 +1,39 @@
menu "Settings"
config BOOTLOADER_LOG_MODE_TEXT_EN
bool
config BOOTLOADER_LOG_MODE_BINARY_EN
bool
choice BOOTLOADER_LOG_MODE
prompt "Log Mode"
default BOOTLOADER_LOG_MODE_TEXT
config BOOTLOADER_LOG_MODE_TEXT
bool "Text Log Mode"
select BOOTLOADER_LOG_MODE_TEXT_EN
help
Enables text-based logging, where log messages are stored in a human-readable format.
This mode is useful for development and debugging, as it allows logs to be easily
read and interpreted without additional processing.
config BOOTLOADER_LOG_MODE_BINARY
bool "Binary Log Mode"
select BOOTLOADER_LOG_MODE_BINARY_EN
help
Enables binary logging with host-side format string expansion. In this mode, the
format argument of ESP_LOGx, ESP_EARLY_LOG, and ESP_DRAM_LOG macros is stored in a
NOLOAD section, not included in the final binary file. This reduces flash usage by
approximately 10% - 35%. The esp_log() function uses the binary log handler to output
messages. Instead of sending the full log string, the chip transmits only the
addresses of these strings (if present in the ELF file). If the format string
cannot be found in the ELF file, the chip sends the entire string. The host-side
monitor tool, which has access to the ELF file, reconstructs the log message using
the format string.
This reduces firmware size by eliminating format strings from
flash memory and removing the usage of printf-like functions, potentially freeing up
a few kilobytes of space. To further reduce firmware size, wrap string data with ESP_LOG_ATTR_STR.
endchoice
endmenu

View File

@ -1,12 +1,14 @@
menu "Bootloader config"
orsource "../esp_bootloader_format/Kconfig.bootloader"
orsource "Kconfig.app_rollback"
orsource "Kconfig.bootloader_rollback"
config BOOTLOADER_OFFSET_IN_FLASH
hex
default 0x1000 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2
# the first 2 sectors are reserved for the key manager with AES-XTS (flash encryption) purpose
default 0x2000 if IDF_TARGET_ESP32P4 || IDF_TARGET_ESP32C5
default 0x2000 if IDF_TARGET_ESP32P4 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32H4
default 0x0
help
Offset address that 2nd bootloader will be flashed to.
@ -312,71 +314,6 @@ menu "Bootloader config"
- these options can increase the execution time.
Note: RTC_WDT will reset while encryption operations will be performed.
config BOOTLOADER_APP_ROLLBACK_ENABLE
bool "Enable app rollback support"
default n
help
After updating the app, the bootloader runs a new app with the "ESP_OTA_IMG_PENDING_VERIFY" state set.
This state prevents the re-run of this app. After the first boot of the new app in the user code, the
function should be called to confirm the operability of the app or vice versa about its non-operability.
If the app is working, then it is marked as valid. Otherwise, it is marked as not valid and rolls back to
the previous working app. A reboot is performed, and the app is booted before the software update.
Note: If during the first boot a new app the power goes out or the WDT works, then roll back will happen.
Rollback is possible only between the apps with the same security versions.
config BOOTLOADER_APP_ANTI_ROLLBACK
bool "Enable app anti-rollback support"
depends on BOOTLOADER_APP_ROLLBACK_ENABLE
default n
help
This option prevents rollback to previous firmware/application image with lower security version.
config BOOTLOADER_APP_SECURE_VERSION
int "eFuse secure version of app"
depends on BOOTLOADER_APP_ANTI_ROLLBACK
default 0
help
The secure version is the sequence number stored in the header of each firmware.
The security version is set in the bootloader, version is recorded in the eFuse field
as the number of set ones. The allocated number of bits in the efuse field
for storing the security version is limited (see BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD option).
Bootloader: When bootloader selects an app to boot, an app is selected that has
a security version greater or equal that recorded in eFuse field.
The app is booted with a higher (or equal) secure version.
The security version is worth increasing if in previous versions there is
a significant vulnerability and their use is not acceptable.
Your partition table should has a scheme with ota_0 + ota_1 (without factory).
config BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD
int "Size of the efuse secure version field"
depends on BOOTLOADER_APP_ANTI_ROLLBACK
range 1 32 if IDF_TARGET_ESP32
default 32 if IDF_TARGET_ESP32
range 1 4 if IDF_TARGET_ESP32C2
default 4 if IDF_TARGET_ESP32C2
range 1 16
default 16
help
The size of the efuse secure version field.
Its length is limited to 32 bits for ESP32 and 16 bits for ESP32-S2.
This determines how many times the security version can be increased.
config BOOTLOADER_EFUSE_SECURE_VERSION_EMULATE
bool "Emulate operations with efuse secure version(only test)"
default n
depends on BOOTLOADER_APP_ANTI_ROLLBACK
select EFUSE_VIRTUAL
select EFUSE_VIRTUAL_KEEP_IN_FLASH
help
This option allows to emulate read/write operations with all eFuses and efuse secure version.
It allows to test anti-rollback implementation without permanent write eFuse bits.
There should be an entry in partition table with following details: `emul_efuse, data, efuse, , 0x2000`.
This option enables: EFUSE_VIRTUAL and EFUSE_VIRTUAL_KEEP_IN_FLASH.
config BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP
bool "Skip image validation when exiting deep sleep"
# note: dependencies for this config item are different to other "skip image validation"
@ -597,6 +534,7 @@ menu "Security features"
config SECURE_SIGNED_APPS_RSA_SCHEME
bool "RSA"
depends on SECURE_BOOT_V2_RSA_SUPPORTED && (SECURE_SIGNED_APPS_NO_SECURE_BOOT || SECURE_BOOT_V2_ENABLED)
depends on !(IDF_TARGET_ESP32C5 && ESP32C5_REV_MIN_FULL < 1)
help
Appends the RSA-3072 based Signature block to the application.
Refer to <Secure Boot Version 2 documentation link> before enabling.
@ -826,7 +764,7 @@ menu "Security features"
config SECURE_BOOT_FLASH_BOOTLOADER_DEFAULT
bool "Flash bootloader along with other artifacts when using the default flash command"
depends on SECURE_BOOT_V2_ENABLED && SECURE_BOOT_BUILD_SIGNED_BINARIES
depends on SECURE_BOOT_V2_ENABLED
default n
help
When Secure Boot V2 is enabled, by default the bootloader is not flashed along with other artifacts
@ -1094,8 +1032,9 @@ menu "Security features"
DIS_USB_SERIAL_JTAG, DIS_FORCE_DOWNLOAD, DIS_TWAI, JTAG_SEL_ENABLE,
DIS_PAD_JTAG, DIS_DOWNLOAD_MANUAL_ENCRYPT.
ESP32-H2: DIS_ICACHE, DIS_USB_JTAG, POWERGLITCH_EN, DIS_FORCE_DOWNLOAD, SPI_DOWNLOAD_MSPI_DIS,
DIS_TWAI, JTAG_SEL_ENABLE, DIS_PAD_JTAG, DIS_DOWNLOAD_MANUAL_ENCRYPT.
ESP32-H2 & ESP32H21: DIS_ICACHE, DIS_ICACHE, DIS_USB_JTAG, POWERGLITCH_EN, DIS_FORCE_DOWNLOAD,
SPI_DOWNLOAD_MSPI_DIS, DIS_TWAI, JTAG_SEL_ENABLE, DIS_PAD_JTAG, DIS_DOWNLOAD_MANUAL_ENCRYPT,
DIS_USB_SERIAL_JTAG
ESP32-S2: DIS_ICACHE, DIS_DCACHE, DIS_DOWNLOAD_ICACHE, DIS_DOWNLOAD_DCACHE,
DIS_FORCE_DOWNLOAD, DIS_USB, DIS_TWAI, DIS_BOOT_REMAP, SOFT_DIS_JTAG,
@ -1134,6 +1073,44 @@ menu "Security features"
If not set, the app does not care if the flash encryption eFuse bit is set or not.
config SECURE_FLASH_PSEUDO_ROUND_FUNC
bool "Permanently enable XTS-AES's pseudo rounds function"
default y
depends on SECURE_FLASH_ENCRYPTION_MODE_RELEASE && SOC_FLASH_ENCRYPTION_XTS_AES_SUPPORT_PSEUDO_ROUND
help
If set (default), the bootloader will permanently enable the XTS-AES peripheral's pseudo rounds function.
Note: Enabling this config would burn an efuse.
choice SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH
prompt "Strength of the pseudo rounds function"
depends on SECURE_FLASH_PSEUDO_ROUND_FUNC
default SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_LOW
help
The strength of the pseudo rounds functions can be configured to low, medium and high,
each denoting the values that would be stored in the efuses field.
By default the value to set to low.
You can configure the strength of the pseudo rounds functions according to your use cases,
for example, increasing the strength would provide higher security but would slow down the
flash encryption/decryption operations.
For more info regarding the performance impact, please checkout the pseudo round function section of the
security guide documentation.
config SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_LOW
bool "Low"
config SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_MEDIUM
bool "Medium"
config SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_HIGH
bool "High"
endchoice
config SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH
int
default 1 if SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_LOW
default 2 if SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_MEDIUM
default 3 if SECURE_FLASH_PSEUDO_ROUND_FUNC_STRENGTH_HIGH
config SECURE_ROM_DL_MODE_ENABLED
bool
default y if SOC_SUPPORTS_SECURE_DL_MODE && !SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT

View File

@ -1,7 +1,9 @@
idf_build_get_property(esp_tee_build ESP_TEE_BUILD)
set(BOOTLOADER_OFFSET ${CONFIG_BOOTLOADER_OFFSET_IN_FLASH})
# Do not generate flash file when building bootloader
if(BOOTLOADER_BUILD OR NOT CONFIG_APP_BUILD_BOOTLOADER)
if(BOOTLOADER_BUILD OR esp_tee_build OR NOT CONFIG_APP_BUILD_BOOTLOADER)
return()
endif()
@ -116,8 +118,13 @@ idf_build_get_property(sdkconfig SDKCONFIG)
idf_build_get_property(python PYTHON)
idf_build_get_property(extra_cmake_args EXTRA_CMAKE_ARGS)
# We cannot pass lists are a parameter to the external project without modifying the ';' separator
# BOOTLOADER_EXTRA_COMPONENT_DIRS may have been set by the `main` component, do not overwrite it
idf_build_get_property(bootloader_extra_component_dirs BOOTLOADER_EXTRA_COMPONENT_DIRS)
list(APPEND bootloader_extra_component_dirs "${CMAKE_CURRENT_LIST_DIR}")
# We cannot pass lists as a parameter to the external project without modifying the ';' separator
string(REPLACE ";" "|" BOOTLOADER_IGNORE_EXTRA_COMPONENT "${BOOTLOADER_IGNORE_EXTRA_COMPONENT}")
string(REPLACE ";" "|" bootloader_extra_component_dirs "${bootloader_extra_component_dirs}")
externalproject_add(bootloader
SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/subproject"
@ -127,7 +134,7 @@ externalproject_add(bootloader
LIST_SEPARATOR |
CMAKE_ARGS -DSDKCONFIG=${sdkconfig} -DIDF_PATH=${idf_path} -DIDF_TARGET=${idf_target}
-DPYTHON_DEPS_CHECKED=1 -DPYTHON=${python}
-DEXTRA_COMPONENT_DIRS=${CMAKE_CURRENT_LIST_DIR}
-DEXTRA_COMPONENT_DIRS=${bootloader_extra_component_dirs}
-DPROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}
-DIGNORE_EXTRA_COMPONENT=${BOOTLOADER_IGNORE_EXTRA_COMPONENT}
${sign_key_arg} ${ver_key_arg}

View File

@ -32,10 +32,11 @@ set(COMPONENTS
main
efuse
esp_system
newlib)
newlib
esp_tee)
# Make EXTRA_COMPONENT_DIRS variable to point to the bootloader_components directory
# of the project being compiled
# EXTRA_COMPONENT_DIRS can be populated with directories containing one or several components.
# Make sure this variable contains `bootloader_components` directory of the project being compiled.
set(PROJECT_EXTRA_COMPONENTS "${PROJECT_SOURCE_DIR}/bootloader_components")
if(EXISTS ${PROJECT_EXTRA_COMPONENTS})
list(APPEND EXTRA_COMPONENT_DIRS "${PROJECT_EXTRA_COMPONENTS}")
@ -64,6 +65,10 @@ set(common_req log esp_rom esp_common esp_hw_support newlib)
idf_build_set_property(EXTRA_COMPONENT_EXCLUDE_DIRS "${EXTRA_COMPONENT_EXCLUDE_DIRS}")
idf_build_set_property(__COMPONENT_REQUIRES_COMMON "${common_req}")
idf_build_set_property(__OUTPUT_SDKCONFIG 0)
# Define a property for the default linker script
set(LD_DEFAULT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/main/ld/${IDF_TARGET}")
idf_build_set_property(BOOTLOADER_LINKER_SCRIPT "${LD_DEFAULT_PATH}/bootloader.ld" APPEND)
idf_build_set_property(BOOTLOADER_LINKER_SCRIPT "${LD_DEFAULT_PATH}/bootloader.rom.ld" APPEND)
project(bootloader)
idf_build_set_property(COMPILE_DEFINITIONS "BOOTLOADER_BUILD=1" APPEND)

View File

@ -1,12 +1,7 @@
idf_component_register(SRCS "bootloader_start.c"
REQUIRES bootloader bootloader_support)
set(target_folder "${target}")
idf_build_get_property(target IDF_TARGET)
set(scripts "ld/${target_folder}/bootloader.ld")
list(APPEND scripts "ld/${target_folder}/bootloader.rom.ld")
idf_build_get_property(scripts BOOTLOADER_LINKER_SCRIPT)
target_linker_script(${COMPONENT_LIB} INTERFACE "${scripts}")
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u bootloader_hooks_include")

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -53,6 +53,11 @@ void __attribute__((noreturn)) call_start_cpu0(void)
bootloader_reset();
}
// 2.1 Load the TEE image
#if CONFIG_SECURE_ENABLE_TEE
bootloader_utility_load_tee_image(&bs);
#endif
// 3. Load the app image for booting
bootloader_utility_load_boot_image(&bs, boot_index);
}
@ -129,8 +134,10 @@ static int selected_boot_partition(const bootloader_state_t *bs)
return boot_index;
}
#if CONFIG_LIBC_NEWLIB
// Return global reent struct if any newlib functions are linked to bootloader
struct _reent *__getreent(void)
{
return _GLOBAL_REENT;
}
#endif

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -261,4 +261,15 @@ SECTIONS
.comment 0 : { *(.comment) }
.note.GNU-stack 0: { *(.note.GNU-stack) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -27,7 +27,7 @@ bootloader_usable_dram_end = 0x3fcdcb70;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2000;
bootloader_iram_seg_len = 0x2800;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
@ -94,6 +94,7 @@ SECTIONS
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
@ -271,6 +272,17 @@ SECTIONS
* And so forth...
*/
/DISCARD/ : { *(.rela.*) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}
/**

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -27,7 +27,7 @@ bootloader_usable_dram_end = 0x3fcdc710;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2000;
bootloader_iram_seg_len = 0x2800;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
@ -94,6 +94,7 @@ SECTIONS
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
@ -272,6 +273,16 @@ SECTIONS
*/
/DISCARD/ : { *(.rela.*) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -7,24 +7,24 @@
* Make sure the bootloader can load into main memory without overwriting itself.
*
* ESP32-C5 ROM static data usage is as follows:
* - 0x4084e9a0 - 0x4085c9a0: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4085c9a0 - 0x4085e9a0: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4085e9a0 - 0x40860000: ROM .bss and .data (not easily reclaimable)
* - 0x4084e5a0 - 0x4085c5a0: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4085c5a0 - 0x4085e5a0: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4085e5a0 - 0x40860000: ROM .bss and .data (not easily reclaimable)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x4085c9a0).
* buffers area (0x4085c5a0).
*/
/* We consider 0x4085c9a0 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
/* We consider 0x4085c5a0 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
* and work out iram_seg and iram_loader_seg addresses from there, backwards.
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x4085c9a0;
bootloader_usable_dram_end = 0x4085c5a0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2200;
bootloader_iram_seg_len = 0x2A00;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
@ -45,7 +45,7 @@ MEMORY
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32c5/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4084E9A0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
ASSERT(bootloader_iram_loader_seg_start == 0x4084e5a0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
@ -92,6 +92,7 @@ SECTIONS
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
@ -270,38 +271,48 @@ SECTIONS
*/
/DISCARD/ : { *(.rela.*) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x4084e9a0 ------------------> _dram0_0_start
* 0x4084e5a0 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4085c9a0 ------------------> __stack_sentry
* 0x4085c5a0 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4085e9a0 ------------------> __stack (pro cpu)
* 0x4085e5a0 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4085f500 ------------------> _dram0_rtos_reserved_start
* 0x4085f4f8 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4085fc5c ------------------> _dram0_rtos_reserved_end
* 0x4085fbb4 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4085fc70 ------------------> _data_start_interface
* 0x4085fc60 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -24,7 +24,7 @@ bootloader_usable_dram_end = 0x4087c610;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2500;
bootloader_iram_seg_len = 0x2D00;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
@ -71,6 +71,7 @@ SECTIONS
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility_tee.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_panic.*(.literal .text .literal.* .text.*)
@ -92,6 +93,7 @@ SECTIONS
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
@ -270,6 +272,16 @@ SECTIONS
*/
/DISCARD/ : { *(.rela.*) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -24,7 +24,7 @@ bootloader_usable_dram_end = 0x4084ca70;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2500;
bootloader_iram_seg_len = 0x2D00;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
@ -92,6 +92,7 @@ SECTIONS
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
@ -270,6 +271,16 @@ SECTIONS
*/
/DISCARD/ : { *(.rela.*) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -25,7 +25,7 @@ bootloader_usable_dram_end = 0x4084cfd0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2500;
bootloader_iram_seg_len = 0x2D00;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
@ -92,6 +92,7 @@ SECTIONS
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
@ -270,6 +271,16 @@ SECTIONS
*/
/DISCARD/ : { *(.rela.*) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}
/**

View File

@ -0,0 +1,319 @@
/*
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/** Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
*
* ESP32-H21 ROM static data usage is as follows:
* - 0x4083ba78 - 0x4084d380: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4084d380 - 0x4084f380: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4084f380 - 0x4084fee0: ROM .bss and .data used in startup code or nonos/early boot (can be freed when IDF runs)
* - 0x4084fee0 - 0x40850000: ROM .bss and .data used in startup code and when IDF runs (cannot be freed)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x4084d380).
*/
/* We consider 0x3fcdc710 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
* and work out iram_seg and iram_loader_seg addresses from there, backwards.
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x40849a78;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2D00;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
bootloader_dram_seg_start = bootloader_dram_seg_end - bootloader_dram_seg_len;
bootloader_iram_loader_seg_start = bootloader_dram_seg_start - bootloader_iram_loader_seg_len;
bootloader_iram_seg_start = bootloader_iram_loader_seg_start - bootloader_iram_seg_len;
MEMORY
{
iram_seg (RWX) : org = bootloader_iram_seg_start, len = bootloader_iram_seg_len
iram_loader_seg (RWX) : org = bootloader_iram_loader_seg_start, len = bootloader_iram_loader_seg_len
dram_seg (RW) : org = bootloader_dram_seg_start, len = bootloader_dram_seg_len
}
/* The app may use RAM for static allocations up to the start of iram_loader_seg.
* If you have changed something above and this assert fails:
* 1. Check what the new value of bootloader_iram_loader_seg start is.
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32h21/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4083ba78, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
SECTIONS
{
.iram_loader.text :
{
. = ALIGN (16);
_loader_text_start = ABSOLUTE(.);
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram1 .iram1.*) /* catch stray IRAM_ATTR */
*liblog.a:(.literal .text .literal.* .text.*)
/* we use either libgcc or compiler-rt, so put similar entries for them here */
*libgcc.a:(.literal .text .literal.* .text.*)
*libclang_rt.builtins.a:(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_clock_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_common_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_flash.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_panic.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_soc.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:esp_image_format.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encrypt.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encryption_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_partitions.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_signatures_bootloader.*(.literal .text .literal.* .text.*)
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
*libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
_loader_text_end = ABSOLUTE(.);
} > iram_loader_seg
.iram.text :
{
. = ALIGN (16);
*(.entry.text)
*(.init.literal)
*(.init)
} > iram_seg
/* Shared RAM */
.dram0.bss (NOLOAD) :
{
. = ALIGN (8);
_dram_start = ABSOLUTE(.);
_bss_start = ABSOLUTE(.);
*(.dynsbss)
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
*(.scommon)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
. = ALIGN (8);
_bss_end = ABSOLUTE(.);
} > dram_seg
.dram0.bootdesc : ALIGN(0x10)
{
_data_start = ABSOLUTE(.);
*(.data_bootloader_desc .data_bootloader_desc.*) /* Should be the first. Bootloader version info. DO NOT PUT ANYTHING BEFORE IT! */
} > dram_seg
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
*(.data1)
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
*(.gnu.linkonce.s2.*)
*(.jcr)
_data_end = ABSOLUTE(.);
} > dram_seg
.dram0.rodata :
{
_rodata_start = ABSOLUTE(.);
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
*(.rodata1)
*(.sdata2 .sdata2.* .srodata .srodata.*)
__XT_EXCEPTION_TABLE_ = ABSOLUTE(.);
*(.xt_except_table)
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
__init_array_start = ABSOLUTE(.);
KEEP (*crtbegin.*(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__init_array_end = ABSOLUTE(.);
KEEP (*crtbegin.*(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
/* C++ exception handlers table: */
__XT_EXCEPTION_DESCS_ = ABSOLUTE(.);
*(.xt_except_desc)
*(.gnu.linkonce.h.*)
__XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
*(.xt_except_desc_end)
*(.dynamic)
*(.gnu.version_d)
_rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */
_lit4_start = ABSOLUTE(.);
*(*.lit4)
*(.lit4.*)
*(.gnu.linkonce.lit4.*)
_lit4_end = ABSOLUTE(.);
. = ALIGN(4);
_dram_end = ABSOLUTE(.);
} > dram_seg
.iram.text :
{
_stext = .;
_text_start = ABSOLUTE(.);
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram .iram.*) /* catch stray IRAM_ATTR */
*(.fini.literal)
*(.fini)
*(.gnu.version)
/** CPU will try to prefetch up to 16 bytes of
* of instructions. This means that any configuration (e.g. MMU, PMS) must allow
* safe access to up to 16 bytes after the last real instruction, add
* dummy bytes to ensure this
*/
. += 16;
_text_end = ABSOLUTE(.);
_etext = .;
} > iram_seg
.riscv.attributes 0: { *(.riscv.attributes) }
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
.debug_pubtypes 0 : { *(.debug_pubtypes) }
/* DWARF 3 */
.debug_ranges 0 : { *(.debug_ranges) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/* GNU DWARF 2 extensions */
.debug_gnu_pubnames 0 : { *(.debug_gnu_pubnames) }
.debug_gnu_pubtypes 0 : { *(.debug_gnu_pubtypes) }
/* DWARF 4 */
.debug_types 0 : { *(.debug_types) }
/* DWARF 5 */
.debug_addr 0 : { *(.debug_addr) }
.debug_line_str 0 : { *(.debug_line_str) }
.debug_loclists 0 : { *(.debug_loclists) }
.debug_macro 0 : { *(.debug_macro) }
.debug_names 0 : { *(.debug_names) }
.debug_rnglists 0 : { *(.debug_rnglists) }
.debug_str_offsets 0 : { *(.debug_str_offsets) }
.comment 0 : { *(.comment) }
.note.GNU-stack 0: { *(.note.GNU-stack) }
/**
* Discarding .rela.* sections results in the following mapping:
* .rela.text.* -> .text.*
* .rela.data.* -> .data.*
* And so forth...
*/
/DISCARD/ : { *(.rela.*) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x4083ba78 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4084d380 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4084f380 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4084fee0 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4084ffc0 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4084ffc8 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x40850000 ------------------> _data_end_interface
*/

View File

@ -0,0 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* No definition for ESP32-H21 target */

View File

@ -0,0 +1,307 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/** Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
*
* ESP32-H4 ROM static data usage is as follows:
* - 0x4084d350 - 0x4085b350: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4085b350 - 0x4085d350: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4085d350 - 0x40860000: ROM .bss and .data (not easily reclaimable)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x4085b350).
*/
/* We consider 0x4085b350 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
* and work out iram_seg and iram_loader_seg addresses from there, backwards.
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x4085d350;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2200;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
bootloader_dram_seg_start = bootloader_dram_seg_end - bootloader_dram_seg_len;
bootloader_iram_loader_seg_start = bootloader_dram_seg_start - bootloader_iram_loader_seg_len;
bootloader_iram_seg_start = bootloader_iram_loader_seg_start - bootloader_iram_seg_len;
MEMORY
{
iram_seg (RWX) : org = bootloader_iram_seg_start, len = bootloader_iram_seg_len
iram_loader_seg (RWX) : org = bootloader_iram_loader_seg_start, len = bootloader_iram_loader_seg_len
dram_seg (RW) : org = bootloader_dram_seg_start, len = bootloader_dram_seg_len
}
/* The app may use RAM for static allocations up to the start of iram_loader_seg.
* If you have changed something above and this assert fails:
* 1. Check what the new value of bootloader_iram_loader_seg start is.
* 2. Update the value in this assert.
* 3. Update SRAM_SEG_END in components/esp_system/ld/esp32h4/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4084f350, "bootloader_iram_loader_seg_start inconsistent with SRAM_SEG_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
SECTIONS
{
.iram_loader.text :
{
. = ALIGN (16);
_loader_text_start = ABSOLUTE(.);
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram1 .iram1.*) /* catch stray IRAM_ATTR */
*liblog.a:(.literal .text .literal.* .text.*)
/* we use either libgcc or compiler-rt, so put similar entries for them here */
*libgcc.a:(.literal .text .literal.* .text.*)
*libclang_rt.builtins.a:(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_clock_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_common_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_flash.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_panic.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_soc.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:esp_image_format.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encrypt.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encryption_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_partitions.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_signatures_bootloader.*(.literal .text .literal.* .text.*)
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
*libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
_loader_text_end = ABSOLUTE(.);
} > iram_loader_seg
.iram.text :
{
. = ALIGN (16);
*(.entry.text)
*(.init.literal)
*(.init)
} > iram_seg
/* Shared RAM */
.dram0.bss (NOLOAD) :
{
. = ALIGN (8);
_dram_start = ABSOLUTE(.);
_bss_start = ABSOLUTE(.);
*(.dynsbss)
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
*(.scommon)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
. = ALIGN (8);
_bss_end = ABSOLUTE(.);
} > dram_seg
.dram0.bootdesc : ALIGN(0x10)
{
_data_start = ABSOLUTE(.);
*(.data_bootloader_desc .data_bootloader_desc.*) /* Should be the first. Bootloader version info. DO NOT PUT ANYTHING BEFORE IT! */
} > dram_seg
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
*(.data1)
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
*(.gnu.linkonce.s2.*)
*(.jcr)
_data_end = ABSOLUTE(.);
} > dram_seg
.dram0.rodata :
{
_rodata_start = ABSOLUTE(.);
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
*(.rodata1)
*(.sdata2 .sdata2.* .srodata .srodata.*)
__XT_EXCEPTION_TABLE_ = ABSOLUTE(.);
*(.xt_except_table)
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
__init_array_start = ABSOLUTE(.);
KEEP (*crtbegin.*(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__init_array_end = ABSOLUTE(.);
KEEP (*crtbegin.*(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
/* C++ exception handlers table: */
__XT_EXCEPTION_DESCS_ = ABSOLUTE(.);
*(.xt_except_desc)
*(.gnu.linkonce.h.*)
__XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
*(.xt_except_desc_end)
*(.dynamic)
*(.gnu.version_d)
_rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */
_lit4_start = ABSOLUTE(.);
*(*.lit4)
*(.lit4.*)
*(.gnu.linkonce.lit4.*)
_lit4_end = ABSOLUTE(.);
. = ALIGN(4);
_dram_end = ABSOLUTE(.);
} > dram_seg
.iram.text :
{
_stext = .;
_text_start = ABSOLUTE(.);
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram .iram.*) /* catch stray IRAM_ATTR */
*(.fini.literal)
*(.fini)
*(.gnu.version)
/** CPU will try to prefetch up to 16 bytes of
* of instructions. This means that any configuration (e.g. MMU, PMS) must allow
* safe access to up to 16 bytes after the last real instruction, add
* dummy bytes to ensure this
*/
. += 16;
_text_end = ABSOLUTE(.);
_etext = .;
} > iram_seg
.riscv.attributes 0: { *(.riscv.attributes) }
/* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
/* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
/* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line) }
.debug_frame 0 : { *(.debug_frame) }
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
.debug_pubtypes 0 : { *(.debug_pubtypes) }
/* DWARF 3 */
.debug_ranges 0 : { *(.debug_ranges) }
/* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
/* GNU DWARF 2 extensions */
.debug_gnu_pubnames 0 : { *(.debug_gnu_pubnames) }
.debug_gnu_pubtypes 0 : { *(.debug_gnu_pubtypes) }
/* DWARF 4 */
.debug_types 0 : { *(.debug_types) }
/* DWARF 5 */
.debug_addr 0 : { *(.debug_addr) }
.debug_line_str 0 : { *(.debug_line_str) }
.debug_loclists 0 : { *(.debug_loclists) }
.debug_macro 0 : { *(.debug_macro) }
.debug_names 0 : { *(.debug_names) }
.debug_rnglists 0 : { *(.debug_rnglists) }
.debug_str_offsets 0 : { *(.debug_str_offsets) }
.comment 0 : { *(.comment) }
.note.GNU-stack 0: { *(.note.GNU-stack) }
/**
* Discarding .rela.* sections results in the following mapping:
* .rela.text.* -> .text.*
* .rela.data.* -> .data.*
* And so forth...
*/
/DISCARD/ : { *(.rela.*) }
}
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x4084d350 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4085b350 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4085d350 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4085fea8 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4085ffb4 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4085ffc4 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x40860000 ------------------> _data_end_interface
*/

View File

@ -0,0 +1,6 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* No definition for ESP32-H4 target */

View File

@ -1,10 +1,9 @@
/*
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/**
* TODO: IDF-8002
* Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
*
@ -26,7 +25,7 @@ bootloader_usable_dram_end = 0x4ff3abd0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2000;
bootloader_iram_seg_len = 0x2D00;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
@ -93,6 +92,7 @@ SECTIONS
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*libriscv.a:rv_utils.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
@ -271,6 +271,16 @@ SECTIONS
*/
/DISCARD/ : { *(.rela.*) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -251,4 +251,14 @@ SECTIONS
.comment 0 : { *(.comment) }
.note.GNU-stack 0: { *(.note.GNU-stack) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -285,6 +285,16 @@ SECTIONS
.comment 0 : { *(.comment) }
.note.GNU-stack 0: { *(.note.GNU-stack) }
/**
* This section is not included in the binary image; it is only present in the ELF file.
* It is used to keep certain symbols in the ELF file.
*/
.noload 0 (INFO) :
{
_noload_keep_in_elf_start = ABSOLUTE(.);
KEEP(*(.noload_keep_in_elf .noload_keep_in_elf.*))
_noload_keep_in_elf_end = ABSOLUTE(.);
}
}
/**

View File

@ -1,9 +1,37 @@
idf_build_get_property(target IDF_TARGET)
idf_build_get_property(esp_tee_build ESP_TEE_BUILD)
if(${target} STREQUAL "linux")
return() # This component is not supported by the POSIX/Linux simulator
endif()
if(esp_tee_build)
set(tee_inc_dirs "include"
"private_include"
"bootloader_flash/include")
set(tee_srcs "src/flash_partitions.c"
"src/bootloader_sha.c"
"src/bootloader_common_loader.c"
"src/esp_image_format.c"
"src/bootloader_utility.c"
"src/bootloader_utility_tee.c"
"bootloader_flash/src/bootloader_flash.c")
if(CONFIG_SECURE_BOOT_V2_ENABLED)
if(CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME OR CONFIG_SECURE_SIGNED_APPS_ECDSA_V2_SCHEME)
list(APPEND tee_srcs "src/secure_boot_v2/secure_boot_signatures_bootloader.c"
"src/secure_boot_v2/secure_boot.c"
"src/${IDF_TARGET}/secure_boot_secure_features.c")
endif()
endif()
idf_component_register(SRCS ${tee_srcs}
INCLUDE_DIRS ${tee_inc_dirs}
PRIV_REQUIRES efuse esp_app_format)
return()
endif()
set(srcs
"src/bootloader_common.c"
"src/bootloader_common_loader.c"
@ -36,6 +64,11 @@ if(CONFIG_APP_BUILD_TYPE_APP_2NDBOOT)
)
endif()
list(APPEND srcs "src/bootloader_sha.c")
if(CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE)
list(APPEND srcs "src/${IDF_TARGET}/bootloader_ecdsa.c")
endif()
if(BOOTLOADER_BUILD OR CONFIG_APP_BUILD_TYPE_RAM)
set(include_dirs "include" "bootloader_flash/include"
"private_include")
@ -45,18 +78,14 @@ if(BOOTLOADER_BUILD OR CONFIG_APP_BUILD_TYPE_RAM)
"src/bootloader_clock_loader.c"
"src/bootloader_console.c"
"src/bootloader_console_loader.c"
"src/${IDF_TARGET}/bootloader_sha.c"
"src/${IDF_TARGET}/bootloader_soc.c"
"src/${IDF_TARGET}/bootloader_${IDF_TARGET}.c"
)
list(APPEND priv_requires hal)
if(CONFIG_ESP_ROM_REV0_HAS_NO_ECDSA_INTERFACE)
list(APPEND srcs
"src/${IDF_TARGET}/bootloader_ecdsa.c")
if(CONFIG_SECURE_ENABLE_TEE)
list(APPEND srcs "src/bootloader_utility_tee.c")
endif()
list(APPEND priv_requires hal)
else()
list(APPEND srcs
"src/idf/bootloader_sha.c")
set(include_dirs "include" "bootloader_flash/include")
set(priv_include_dirs "private_include")
# heap is required for `heap_memory_layout.h` header

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -28,7 +28,7 @@ uint32_t bootloader_read_flash_id(void);
/**
* @brief Startup flow recommended by XMC. Call at startup before any erase/write operation.
*
* @return ESP_OK When startup successfully, otherwise ESP_FAIL (indiciating you should reboot before erase/write).
* @return ESP_OK When startup successfully, otherwise ESP_FAIL (indicating you should reboot before erase/write).
*/
esp_err_t bootloader_flash_xmc_startup(void);
@ -36,9 +36,16 @@ esp_err_t bootloader_flash_xmc_startup(void);
* @brief Unlock Flash write protect.
* Please do not call this function in SDK.
*
* @note This can be overridden because it's attribute weak.
* @note This can be overridden because it's attribute weak, when there is a same name symbol.
*/
esp_err_t __attribute__((weak)) bootloader_flash_unlock(void);
esp_err_t bootloader_flash_unlock(void);
/**
* @brief Unlock Flash write protect.
* This is alias to `bootloader_flash_unlock`.
* Please do not call this function in SDK.
*/
esp_err_t bootloader_flash_unlock_default(void);
/**
* @brief Reset the flash chip (66H + 99H).

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -99,15 +99,20 @@ void bootloader_write_status_8b_xmc25qu64a(unsigned new_status);
Searching of this table stops when the first match is found.
*/
extern const bootloader_qio_info_t __attribute__((weak)) bootloader_flash_qe_support_list[];
extern const bootloader_qio_info_t* bootloader_flash_qe_support_list;
/**
* @brief The bootloader flash qe list count number.
*/
extern uint8_t bootloader_flash_qe_list_count;
/**
* @brief Unlock Flash write protect.
* Please do not call this function in SDK.
*
* @note This can be overridden because it's attribute weak.
* @note This can be overridden because it's attribute weak, when there is a same name symbol.
*/
esp_err_t __attribute__((weak)) bootloader_flash_unlock(void);
esp_err_t bootloader_flash_unlock(void);
#if CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH || CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_FLASH
/**
@ -115,7 +120,7 @@ esp_err_t __attribute__((weak)) bootloader_flash_unlock(void);
*
* @param flash_mode SPI flash working mode.
*
* @note This can be overridden because it's attribute weak.
* @note This can be overridden because it's attribute weak, when there is a same name symbol.
*/
void __attribute__((weak)) bootloader_flash_32bits_address_map_enable(esp_rom_spiflash_read_mode_t flash_mode);
#endif

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -13,6 +13,7 @@
#include <spi_flash_mmap.h> /* including in bootloader for error values */
#include "sdkconfig.h"
#include "bootloader_flash.h"
#include "soc/ext_mem_defs.h"
#ifdef __cplusplus
extern "C" {
@ -20,8 +21,11 @@ extern "C" {
#define FLASH_SECTOR_SIZE 0x1000
#define FLASH_BLOCK_SIZE 0x10000
#define MMAP_ALIGNED_MASK (SPI_FLASH_MMU_PAGE_SIZE - 1)
#define MMU_FLASH_MASK (~(SPI_FLASH_MMU_PAGE_SIZE - 1))
#define MMU_FLASH_MASK_FROM_VAL(PAGE_SZ) (~((PAGE_SZ) - 1))
#define MMU_DROM_END_ENTRY_VADDR_FROM_VAL(PAGE_SZ) (SOC_DRAM_FLASH_ADDRESS_HIGH - (PAGE_SZ))
/**
* MMU mapping must always be in the unit of a SPI_FLASH_MMU_PAGE_SIZE
@ -89,7 +93,7 @@ uint32_t bootloader_mmap_get_free_pages(void);
* @param length - Length of data to map.
*
* @return Pointer to mapped data memory (at src_addr), or NULL
* if an allocation error occured.
* if an allocation error occurred.
*/
const void *bootloader_mmap(uint32_t src_addr, uint32_t size);
@ -124,7 +128,10 @@ esp_err_t bootloader_flash_read(size_t src_addr, void *dest, size_t size, bool a
*
* @note All of dest_addr, src and size have to be 4-byte aligned. If write_encrypted is set, dest_addr and size must be 32-byte aligned.
*
* Note: In bootloader, when write_encrypted == true, the src buffer is encrypted in place.
* @note In bootloader, when write_encrypted == true, the src buffer is encrypted in place.
*
* @note [ESP-TEE] Using this API from the TEE will return an error if the dest_addr lies
* within the active TEE partition range.
*
* @param dest_addr Destination address to write in Flash.
* @param src Pointer to the data to write to flash
@ -148,6 +155,9 @@ esp_err_t bootloader_flash_erase_sector(size_t sector);
/**
* @brief Erase the Flash range.
*
* @note [ESP-TEE] Using this API from the TEE will return an error if the start_addr lies
* within the active TEE partition range.
*
* @param start_addr start address of flash offset
* @param size sector aligned size to be erased
*

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -13,11 +13,12 @@
#include "hal/efuse_ll.h"
#include "hal/efuse_hal.h"
#ifndef BOOTLOADER_BUILD
#if !NON_OS_BUILD
#include "spi_flash_mmap.h"
#endif
#include "hal/spi_flash_ll.h"
#include "rom/spi_flash.h"
#include "esp_private/cache_utils.h"
#if !CONFIG_IDF_TARGET_ESP32
#include "hal/spimem_flash_ll.h"
#endif
@ -44,7 +45,7 @@
#define ESP_BOOTLOADER_SPIFLASH_QE_GD_SR2 BIT1 // QE position when you write 8 bits(for SR2) at one time.
#define ESP_BOOTLOADER_SPIFLASH_QE_SR1_2BYTE BIT9 // QE position when you write 16 bits at one time.
#ifndef BOOTLOADER_BUILD
#if !NON_OS_BUILD
/* Normal app version maps to spi_flash_mmap.h operations...
*/
static const char *TAG = "bootloader_mmap";
@ -111,7 +112,7 @@ esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
return esp_flash_erase_region(NULL, start_addr, size);
}
#else //BOOTLOADER_BUILD
#else // NON_OS_BUILD
/* Bootloader version, uses ROM functions only */
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/cache.h"
@ -127,16 +128,53 @@ esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
#include "esp32s3/rom/opi_flash.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/opi_flash.h"
#elif CONFIG_IDF_TARGET_ESP32C5
#include "esp32c5/rom/opi_flash.h"
#endif
#include "spi_flash/spi_flash_defs.h"
#if ESP_TEE_BUILD
#include "esp_fault.h"
#include "esp_flash_partitions.h"
#include "esp32c6/rom/spi_flash.h"
extern bool esp_tee_flash_check_paddr_in_active_tee_part(size_t paddr);
#endif
static const char *TAG = "bootloader_flash";
/*
* NOTE: Memory mapping strategy
*
* Bootloader:
* - Uses the first N-1 MMU entries for general memory mapping.
* - Reserves the Nth (last) MMU entry for flash read through the cache
* (auto-decryption).
* - This strategy is viable because the bootloader runs exclusively
* on the device from the internal SRAM.
*
* ESP-TEE (Trusted Execution Environment)
* - Cannot adopt the strategy used by the bootloader as the TEE app operates
* in parallel to the REE.
* - The few initial MMU entries have already been taken by the TEE and REE
* application flash IDROM segments.
* - The REE could have also mapped some custom flash partitions it requires.
* - Therefore, the TEE uses MMU entries from the end of the range, with the number
* of entries corresponding to the size of its IDROM segment sizes.
* - The final MMU entry in this range is reserved for flash reads through the
* cache (auto-decryption).
* - The pages used by TEE are protected by PMP (Physical Memory Protection).
* While REE attempts to mmap this protected area would trigger a load access
* fault, this is unlikely since the MMU can address up to 16MB at once.
*/
#if CONFIG_IDF_TARGET_ESP32
/* Use first 50 blocks in MMU for bootloader_mmap,
50th block for bootloader_flash_read
*/
#define MMU_BLOCK0_VADDR SOC_DROM_LOW
#define MMAP_MMU_SIZE (0x320000)
#define MMU_BLOCK50_VADDR (MMU_BLOCK0_VADDR + MMAP_MMU_SIZE)
#define MMU_TOTAL_SIZE (0x320000)
#define MMU_BLOCK50_VADDR (MMU_BLOCK0_VADDR + MMU_TOTAL_SIZE)
#define FLASH_READ_VADDR MMU_BLOCK50_VADDR
#else // !CONFIG_IDF_TARGET_ESP32
@ -150,21 +188,89 @@ static const char *TAG = "bootloader_flash";
* On ESP32S2 we use `(SOC_DRAM0_CACHE_ADDRESS_HIGH - SOC_DRAM0_CACHE_ADDRESS_LOW)`.
* As this code is in bootloader, we keep this on ESP32S2
*/
#define MMAP_MMU_SIZE (SOC_DRAM0_CACHE_ADDRESS_HIGH - SOC_DRAM0_CACHE_ADDRESS_LOW) // This mmu size means that the mmu size to be mapped
#define MMU_TOTAL_SIZE (SOC_DRAM0_CACHE_ADDRESS_HIGH - SOC_DRAM0_CACHE_ADDRESS_LOW) // This mmu size means that the mmu size to be mapped
#else
#define MMAP_MMU_SIZE (SOC_DRAM_FLASH_ADDRESS_HIGH - SOC_DRAM_FLASH_ADDRESS_LOW) // This mmu size means that the mmu size to be mapped
#define MMU_TOTAL_SIZE (SOC_DRAM_FLASH_ADDRESS_HIGH - SOC_DRAM_FLASH_ADDRESS_LOW) // This mmu size means that the mmu size to be mapped
#endif
#define MMU_BLOCK63_VADDR (MMU_BLOCK0_VADDR + MMAP_MMU_SIZE - SPI_FLASH_MMU_PAGE_SIZE)
#define FLASH_READ_VADDR MMU_BLOCK63_VADDR
#define MMU_END_VADDR (MMU_BLOCK0_VADDR + MMU_TOTAL_SIZE)
#define MMU_BLOCKL_VADDR (MMU_END_VADDR - 1 * CONFIG_MMU_PAGE_SIZE)
#define FLASH_READ_VADDR MMU_BLOCKL_VADDR
#endif
#if !ESP_TEE_BUILD
#define MMAP_MMU_SIZE (MMU_TOTAL_SIZE)
// Represents the MMU pages available for mmapping by the bootloader
#define MMU_FREE_PAGES (MMAP_MMU_SIZE / CONFIG_MMU_PAGE_SIZE)
#define FLASH_MMAP_VADDR (MMU_BLOCK0_VADDR)
#else /* ESP_TEE_BUILD */
#define MMAP_MMU_SIZE (CONFIG_SECURE_TEE_IROM_SIZE + CONFIG_SECURE_TEE_DROM_SIZE)
// Represents the MMU pages available for mmapping by the TEE
#define MMU_FREE_PAGES (MMAP_MMU_SIZE / CONFIG_MMU_PAGE_SIZE)
#define FLASH_MMAP_VADDR (MMU_END_VADDR - (MMU_FREE_PAGES + 1) * CONFIG_MMU_PAGE_SIZE)
#endif /* !ESP_TEE_BUILD */
static bool mapped;
// Required for bootloader_flash_munmap() for ESP-TEE
static uint32_t current_mapped_size;
// Current bootloader mapping (ab)used for bootloader_read()
static uint32_t current_read_mapping = UINT32_MAX;
#if ESP_TEE_BUILD && CONFIG_IDF_TARGET_ESP32C6
extern void spi_common_set_dummy_output(esp_rom_spiflash_read_mode_t mode);
extern void spi_dummy_len_fix(uint8_t spi, uint8_t freqdiv);
/* TODO: [ESP-TEE] Workarounds for the ROM read API
*
* The esp_rom_spiflash_read API requires two workarounds on ESP32-C6 ECO0:
*
* 1. [IDF-7199] Call esp_rom_spiflash_write API once before reading.
* Without this, reads return corrupted data.
*
* 2. Configure ROM flash parameters before each read using the function below.
* Without this, the first byte read is corrupted.
*
* Note: These workarounds are not needed for ESP32-C6 ECO1 and later versions.
*/
static void rom_read_api_workaround(void)
{
static bool is_first_call = true;
if (is_first_call) {
uint32_t dummy_val = UINT32_MAX;
uint32_t dest_addr = ESP_PARTITION_TABLE_OFFSET + ESP_PARTITION_TABLE_MAX_LEN;
esp_rom_spiflash_write(dest_addr, &dummy_val, sizeof(dummy_val));
is_first_call = false;
}
uint32_t freqdiv = 0;
#if CONFIG_ESPTOOLPY_FLASHFREQ_80M
freqdiv = 1;
#elif CONFIG_ESPTOOLPY_FLASHFREQ_40M
freqdiv = 2;
#elif CONFIG_ESPTOOLPY_FLASHFREQ_20M
freqdiv = 4;
#endif
esp_rom_spiflash_read_mode_t read_mode;
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO
read_mode = ESP_ROM_SPIFLASH_QIO_MODE;
#elif CONFIG_ESPTOOLPY_FLASHMODE_QOUT
read_mode = ESP_ROM_SPIFLASH_QOUT_MODE;
#elif CONFIG_ESPTOOLPY_FLASHMODE_DIO
read_mode = ESP_ROM_SPIFLASH_DIO_MODE;
#elif CONFIG_ESPTOOLPY_FLASHMODE_DOUT
read_mode = ESP_ROM_SPIFLASH_DOUT_MODE;
#endif
esp_rom_spiflash_config_clk(freqdiv, 1);
spi_dummy_len_fix(1, freqdiv);
esp_rom_spiflash_config_readmode(read_mode);
spi_common_set_dummy_output(read_mode);
}
#endif
uint32_t bootloader_mmap_get_free_pages(void)
{
/**
@ -188,13 +294,15 @@ const void *bootloader_mmap(uint32_t src_paddr, uint32_t size)
uint32_t src_paddr_aligned = src_paddr & MMU_FLASH_MASK;
//The addr is aligned, so we add the mask off length to the size, to make sure the corresponding buses are enabled.
uint32_t size_after_paddr_aligned = (src_paddr - src_paddr_aligned) + size;
uint32_t actual_mapped_len = 0;
/**
* @note 1
* Will add here a check to make sure the vaddr is on read-only and executable buses, since we use others for psram
* Now simply check if it's valid vaddr, didn't check if it's readable, writable or executable.
* TODO: IDF-4710
*/
if (mmu_ll_check_valid_ext_vaddr_region(0, MMU_BLOCK0_VADDR, size_after_paddr_aligned, MMU_VADDR_DATA | MMU_VADDR_INSTRUCTION) == 0) {
if (mmu_ll_check_valid_ext_vaddr_region(0, FLASH_MMAP_VADDR, size_after_paddr_aligned, MMU_VADDR_DATA | MMU_VADDR_INSTRUCTION) == 0) {
ESP_EARLY_LOGE(TAG, "vaddr not valid");
return NULL;
}
@ -204,15 +312,25 @@ const void *bootloader_mmap(uint32_t src_paddr, uint32_t size)
Cache_Read_Disable(0);
Cache_Flush(0);
#else
/* NOTE: [ESP-TEE] Cache suspension vs disabling
*
* For ESP-TEE , we use suspend the cache instead of disabling it to avoid flushing the entire cache.
* This prevents performance hits when returning to the REE app due to cache misses.
* This is not applicable to the bootloader as it runs exclusively on the device from the internal SRAM.
*/
#if !ESP_TEE_BUILD
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#else
cache_hal_suspend(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#endif
#endif
//---------------Do mapping------------------------
ESP_EARLY_LOGD(TAG, "rodata starts from paddr=0x%08" PRIx32 ", size=0x%" PRIx32 ", will be mapped to vaddr=0x%08" PRIx32, src_paddr, size, (uint32_t)MMU_BLOCK0_VADDR);
ESP_EARLY_LOGD(TAG, "rodata starts from paddr=0x%08" PRIx32 ", size=0x%" PRIx32 ", will be mapped to vaddr=0x%08" PRIx32, src_paddr, size, (uint32_t)FLASH_MMAP_VADDR);
#if CONFIG_IDF_TARGET_ESP32
uint32_t count = GET_REQUIRED_MMU_PAGES(size, src_paddr);
int e = cache_flash_mmu_set(0, 0, MMU_BLOCK0_VADDR, src_paddr_aligned, 64, count);
ESP_EARLY_LOGV(TAG, "after mapping, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", src_paddr_aligned, (uint32_t)MMU_BLOCK0_VADDR, count * SPI_FLASH_MMU_PAGE_SIZE);
int e = cache_flash_mmu_set(0, 0, FLASH_MMAP_VADDR, src_paddr_aligned, 64, count);
ESP_EARLY_LOGV(TAG, "after mapping, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", src_paddr_aligned, (uint32_t)FLASH_MMAP_VADDR, count * SPI_FLASH_MMU_PAGE_SIZE);
if (e != 0) {
ESP_EARLY_LOGE(TAG, "cache_flash_mmu_set failed: %d", e);
Cache_Read_Enable(0);
@ -223,9 +341,8 @@ const void *bootloader_mmap(uint32_t src_paddr, uint32_t size)
* This hal won't return error, it assumes the inputs are valid. The related check should be done in `bootloader_mmap()`.
* See above comments (note 1) about IDF-4710
*/
uint32_t actual_mapped_len = 0;
mmu_hal_map_region(0, MMU_TARGET_FLASH0, MMU_BLOCK0_VADDR, src_paddr_aligned, size_after_paddr_aligned, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", src_paddr_aligned, (uint32_t)MMU_BLOCK0_VADDR, actual_mapped_len);
mmu_hal_map_region(0, MMU_TARGET_FLASH0, FLASH_MMAP_VADDR, src_paddr_aligned, size_after_paddr_aligned, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", src_paddr_aligned, (uint32_t)FLASH_MMAP_VADDR, actual_mapped_len);
#endif
/**
@ -238,14 +355,19 @@ const void *bootloader_mmap(uint32_t src_paddr, uint32_t size)
Cache_Read_Enable(0);
#else
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
cache_ll_invalidate_addr(CACHE_LL_LEVEL_ALL, CACHE_TYPE_ALL, CACHE_LL_ID_ALL, MMU_BLOCK0_VADDR, actual_mapped_len);
cache_ll_invalidate_addr(CACHE_LL_LEVEL_ALL, CACHE_TYPE_ALL, CACHE_LL_ID_ALL, FLASH_MMAP_VADDR, actual_mapped_len);
#endif
#if !ESP_TEE_BUILD
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#else
cache_hal_resume(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#endif
#endif
mapped = true;
current_mapped_size = actual_mapped_len;
return (void *)(MMU_BLOCK0_VADDR + (src_paddr - src_paddr_aligned));
return (void *)(FLASH_MMAP_VADDR + (src_paddr - src_paddr_aligned));
}
void bootloader_munmap(const void *mapping)
@ -257,11 +379,18 @@ void bootloader_munmap(const void *mapping)
Cache_Flush(0);
mmu_init(0);
#else
#if !ESP_TEE_BUILD
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
mmu_hal_unmap_all();
#else
cache_hal_suspend(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
mmu_hal_unmap_region(0, FLASH_MMAP_VADDR, current_mapped_size);
cache_hal_invalidate_addr(FLASH_MMAP_VADDR, current_mapped_size);
cache_hal_resume(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#endif
#endif
mapped = false;
current_read_mapping = UINT32_MAX;
current_mapped_size = 0;
}
}
@ -285,7 +414,11 @@ static esp_err_t bootloader_flash_read_no_decrypt(size_t src_addr, void *dest, s
Cache_Read_Disable(0);
Cache_Flush(0);
#else
#if !ESP_TEE_BUILD
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#elif CONFIG_ESP32C6_REV_MIN_0
rom_read_api_workaround();
#endif
#endif
esp_rom_spiflash_result_t r = esp_rom_spiflash_read(src_addr, dest, size);
@ -293,7 +426,9 @@ static esp_err_t bootloader_flash_read_no_decrypt(size_t src_addr, void *dest, s
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Enable(0);
#else
#if !ESP_TEE_BUILD
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#endif
#endif
return spi_to_esp_err(r);
@ -316,7 +451,13 @@ static esp_err_t bootloader_flash_read_allow_decrypt(size_t src_addr, void *dest
Cache_Read_Disable(0);
Cache_Flush(0);
#else
#if !ESP_TEE_BUILD
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#else
cache_hal_suspend(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//---------------Invalidating entries at to-be-mapped v_addr------------------------
cache_hal_invalidate_addr(FLASH_READ_VADDR, SPI_FLASH_MMU_PAGE_SIZE);
#endif
#endif
//---------------Do mapping------------------------
@ -337,13 +478,18 @@ static esp_err_t bootloader_flash_read_allow_decrypt(size_t src_addr, void *dest
Cache_Read_Enable(0);
#else
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
cache_ll_invalidate_addr(CACHE_LL_LEVEL_ALL, CACHE_TYPE_ALL, CACHE_LL_ID_ALL, MMU_BLOCK0_VADDR, actual_mapped_len);
cache_ll_invalidate_addr(CACHE_LL_LEVEL_ALL, CACHE_TYPE_ALL, CACHE_LL_ID_ALL, FLASH_MMAP_VADDR, actual_mapped_len);
#endif
#if !ESP_TEE_BUILD
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#else
cache_hal_resume(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
#endif
#endif
}
map_ptr = (uint32_t *)(FLASH_READ_VADDR + (word_src - map_at));
dest_words[word] = *map_ptr;
current_read_mapping = UINT32_MAX;
}
return ESP_OK;
}
@ -372,7 +518,19 @@ esp_err_t bootloader_flash_read(size_t src_addr, void *dest, size_t size, bool a
esp_err_t bootloader_flash_write(size_t dest_addr, void *src, size_t size, bool write_encrypted)
{
esp_err_t err;
/* NOTE: [ESP-TEE] Flash operation address validation with anti-FI check
*
* Ensure that flash operations cannot be executed within forbidden memory ranges
* by validating the address before proceeding.
*/
#if ESP_TEE_BUILD
bool addr_chk = esp_tee_flash_check_paddr_in_active_tee_part(dest_addr);
if (addr_chk) {
ESP_EARLY_LOGE(TAG, "bootloader_flash_write invalid dest_addr");
return ESP_FAIL;
}
ESP_FAULT_ASSERT(!addr_chk);
#endif
size_t alignment = write_encrypted ? 32 : 4;
if ((dest_addr % alignment) != 0) {
ESP_EARLY_LOGE(TAG, "bootloader_flash_write dest_addr 0x%x not %d-byte aligned", dest_addr, alignment);
@ -387,16 +545,29 @@ esp_err_t bootloader_flash_write(size_t dest_addr, void *src, size_t size, bool
return ESP_FAIL;
}
err = bootloader_flash_unlock();
esp_err_t err = bootloader_flash_unlock();
if (err != ESP_OK) {
return err;
}
esp_rom_spiflash_result_t rc = ESP_ROM_SPIFLASH_RESULT_OK;
if (write_encrypted && !ENCRYPTION_IS_VIRTUAL) {
return spi_to_esp_err(esp_rom_spiflash_write_encrypted(dest_addr, src, size));
rc = esp_rom_spiflash_write_encrypted(dest_addr, src, size);
} else {
return spi_to_esp_err(esp_rom_spiflash_write(dest_addr, src, size));
rc = esp_rom_spiflash_write(dest_addr, src, size);
}
/* NOTE: [ESP-TEE] Cache flushing after flash writes/erases
*
* After writing or erasing the flash, we need to flush the cache at locations
* corresponding to the destination write/erase address. This prevents stale data
* from being read from already memory-mapped addresses that were modified.
*/
#if ESP_TEE_BUILD
spi_flash_check_and_flush_cache(dest_addr, size);
#endif
return spi_to_esp_err(rc);
}
esp_err_t bootloader_flash_erase_sector(size_t sector)
@ -406,6 +577,13 @@ esp_err_t bootloader_flash_erase_sector(size_t sector)
esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
{
#if ESP_TEE_BUILD
bool addr_chk = esp_tee_flash_check_paddr_in_active_tee_part(start_addr);
if (addr_chk) {
return ESP_ERR_INVALID_ARG;
}
ESP_FAULT_ASSERT(!addr_chk);
#endif
if (start_addr % FLASH_SECTOR_SIZE != 0) {
return ESP_ERR_INVALID_ARG;
}
@ -426,6 +604,10 @@ esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
++sector;
}
}
#if ESP_TEE_BUILD
spi_flash_check_and_flush_cache(start_addr, size);
#endif
return spi_to_esp_err(rc);
}
@ -436,37 +618,37 @@ void bootloader_flash_32bits_address_map_enable(esp_rom_spiflash_read_mode_t fla
switch (flash_mode) {
case ESP_ROM_SPIFLASH_DOUT_MODE:
cache_rd.addr_bit_len = 32;
cache_rd.dummy_bit_len = 8;
cache_rd.dummy_bit_len = SPI_FLASH_DOUT_DUMMY_BITLEN;
cache_rd.cmd = CMD_FASTRD_DUAL_4B;
cache_rd.cmd_bit_len = 8;
break;
case ESP_ROM_SPIFLASH_DIO_MODE:
cache_rd.addr_bit_len = 32;
cache_rd.dummy_bit_len = 4;
cache_rd.dummy_bit_len = SPI_FLASH_DIO_DUMMY_BITLEN;
cache_rd.cmd = CMD_FASTRD_DIO_4B;
cache_rd.cmd_bit_len = 8;
break;
case ESP_ROM_SPIFLASH_QOUT_MODE:
cache_rd.addr_bit_len = 32;
cache_rd.dummy_bit_len = 8;
cache_rd.dummy_bit_len = SPI_FLASH_QOUT_DUMMY_BITLEN;
cache_rd.cmd = CMD_FASTRD_QUAD_4B;
cache_rd.cmd_bit_len = 8;
break;
case ESP_ROM_SPIFLASH_QIO_MODE:
cache_rd.addr_bit_len = 32;
cache_rd.dummy_bit_len = 6;
cache_rd.dummy_bit_len = SPI_FLASH_QIO_DUMMY_BITLEN;
cache_rd.cmd = CMD_FASTRD_QIO_4B;
cache_rd.cmd_bit_len = 8;
break;
case ESP_ROM_SPIFLASH_FASTRD_MODE:
cache_rd.addr_bit_len = 32;
cache_rd.dummy_bit_len = 8;
cache_rd.dummy_bit_len = SPI_FLASH_FASTRD_DUMMY_BITLEN;
cache_rd.cmd = CMD_FASTRD_4B;
cache_rd.cmd_bit_len = 8;
break;
case ESP_ROM_SPIFLASH_SLOWRD_MODE:
cache_rd.addr_bit_len = 32;
cache_rd.dummy_bit_len = 0;
cache_rd.dummy_bit_len = SPI_FLASH_SLOWRD_DUMMY_BITLEN;
cache_rd.cmd = CMD_SLOWRD_4B;
cache_rd.cmd_bit_len = 8;
break;
@ -480,7 +662,7 @@ void bootloader_flash_32bits_address_map_enable(esp_rom_spiflash_read_mode_t fla
}
#endif
#endif // BOOTLOADER_BUILD
#endif // NON_OS_BUILD
FORCE_INLINE_ATTR bool is_issi_chip(const esp_rom_spiflash_chip_t* chip)
@ -499,7 +681,7 @@ FORCE_INLINE_ATTR bool is_mxic_chip(const esp_rom_spiflash_chip_t* chip)
return BYTESHIFT(chip->device_id, 2) == MXIC_ID;
}
esp_err_t IRAM_ATTR __attribute__((weak)) bootloader_flash_unlock(void)
esp_err_t IRAM_ATTR bootloader_flash_unlock_default(void)
{
// At the beginning status == new_status == status_sr2 == new_status_sr2 == 0.
// If the register doesn't need to be updated, keep them the same (0), so that no command will be actually sent.
@ -568,6 +750,17 @@ esp_err_t IRAM_ATTR __attribute__((weak)) bootloader_flash_unlock(void)
return err;
}
esp_err_t __attribute__((weak, alias("bootloader_flash_unlock_default"))) bootloader_flash_unlock(void);
#if CONFIG_SECURE_TEE_EXT_FLASH_MEMPROT_SPI1 && !NON_OS_BUILD
extern uint32_t bootloader_flash_execute_command_common(
uint8_t command,
uint32_t addr_len, uint32_t address,
uint8_t dummy_len,
uint8_t mosi_len, uint32_t mosi_data,
uint8_t miso_len);
#else
IRAM_ATTR uint32_t bootloader_flash_execute_command_common(
uint8_t command,
uint32_t addr_len, uint32_t address,
@ -620,6 +813,7 @@ IRAM_ATTR uint32_t bootloader_flash_execute_command_common(
}
return ret;
}
#endif
uint32_t IRAM_ATTR bootloader_execute_flash_command(uint8_t command, uint32_t mosi_data, uint8_t mosi_len, uint8_t miso_len)
{
@ -671,7 +865,7 @@ void bootloader_spi_flash_reset(void)
#define XMC_SUPPORT CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT
#define XMC_VENDOR_ID_1 0x20
#if BOOTLOADER_BUILD
#if NON_OS_BUILD
#define BOOTLOADER_FLASH_LOG(level, ...) ESP_EARLY_LOG##level(TAG, ##__VA_ARGS__)
#else
static DRAM_ATTR char bootloader_flash_tag[] = "bootloader_flash";
@ -787,7 +981,7 @@ esp_err_t IRAM_ATTR bootloader_flash_reset_chip(void)
bool IRAM_ATTR bootloader_flash_is_octal_mode_enabled(void)
{
#if SOC_SPI_MEM_SUPPORT_OPI_MODE
#if SOC_SPI_MEM_SUPPORT_FLASH_OPI_MODE
return efuse_ll_get_flash_type();
#else
return false;

View File

@ -93,7 +93,7 @@ void IRAM_ATTR bootloader_flash_gpio_config(const esp_image_header_t* pfhdr)
pkg_ver == EFUSE_RD_CHIP_VER_PKG_ESP32PICOV302) {
// For ESP32D2WD or ESP32-PICO series,the SPI pins are already configured
// flash clock signal should come from IO MUX.
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_CLK_U, FUNC_SD_CLK_SPICLK);
gpio_ll_func_sel(&GPIO, FLASH_CLK_IO, MSPI_FUNC_NUM);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SD_CLK_U, FUN_DRV, drv, FUN_DRV_S);
} else {
const uint32_t spiconfig = esp_rom_efuse_get_flash_gpio_info();
@ -108,14 +108,14 @@ void IRAM_ATTR bootloader_flash_gpio_config(const esp_image_header_t* pfhdr)
esp_rom_gpio_connect_out_signal(FLASH_SPIHD_IO, SPIHD_OUT_IDX, 0, 0);
esp_rom_gpio_connect_in_signal(FLASH_SPIHD_IO, SPIHD_IN_IDX, 0);
//select pin function gpio
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_DATA0_U, PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_DATA1_U, PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_DATA2_U, PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_DATA3_U, PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_CMD_U, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_SPIQ_IO, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_SPID_IO, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_SPIHD_IO, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_SPIWP_IO, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_CS_IO, PIN_FUNC_GPIO);
// flash clock signal should come from IO MUX.
gpio_ll_func_sel(&GPIO, FLASH_CLK_IO, MSPI_FUNC_NUM);
// set drive ability for clock
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_CLK_U, FUNC_SD_CLK_SPICLK);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SD_CLK_U, FUN_DRV, drv, FUN_DRV_S);
uint32_t flash_id = g_rom_flashchip.device_id;
@ -190,7 +190,7 @@ int bootloader_flash_get_wp_pin(void)
case EFUSE_RD_CHIP_VER_PKG_ESP32PICOV302:
return ESP32_PICO_V3_GPIO;
default:
return MSPI_IOMUX_PIN_NUM_WP;
return FLASH_SPIWP_IO;
}
#endif
}
@ -207,7 +207,7 @@ void bootloader_configure_spi_pins(int drv)
pkg_ver == EFUSE_RD_CHIP_VER_PKG_ESP32PICOV302) {
// For ESP32D2WD or ESP32-PICO series,the SPI pins are already configured
// flash clock signal should come from IO MUX.
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_CLK_U, FUNC_SD_CLK_SPICLK);
gpio_ll_func_sel(&GPIO, FLASH_CLK_IO, MSPI_FUNC_NUM);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SD_CLK_U, FUN_DRV, drv, FUN_DRV_S);
} else {
const uint32_t spiconfig = esp_rom_efuse_get_flash_gpio_info();
@ -222,14 +222,14 @@ void bootloader_configure_spi_pins(int drv)
esp_rom_gpio_connect_out_signal(FLASH_SPIHD_IO, SPIHD_OUT_IDX, 0, 0);
esp_rom_gpio_connect_in_signal(FLASH_SPIHD_IO, SPIHD_IN_IDX, 0);
//select pin function gpio
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_DATA0_U, PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_DATA1_U, PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_DATA2_U, PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_DATA3_U, PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_CMD_U, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_SPIQ_IO, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_SPID_IO, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_SPIHD_IO, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_SPIWP_IO, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, FLASH_CS_IO, PIN_FUNC_GPIO);
// flash clock signal should come from IO MUX.
gpio_ll_func_sel(&GPIO, FLASH_CLK_IO, MSPI_FUNC_NUM);
// set drive ability for clock
gpio_hal_iomux_func_sel(PERIPHS_IO_MUX_SD_CLK_U, FUNC_SD_CLK_SPICLK);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SD_CLK_U, FUN_DRV, drv, FUN_DRV_S);
#if CONFIG_SPIRAM_TYPE_ESPPSRAM32 || CONFIG_SPIRAM_TYPE_ESPPSRAM64
@ -371,6 +371,10 @@ esp_err_t bootloader_init_spi_flash(void)
}
#endif
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -238,6 +238,9 @@ esp_err_t bootloader_init_spi_flash(void)
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -247,6 +247,9 @@ esp_err_t bootloader_init_spi_flash(void)
#endif
bootloader_spi_flash_resume();
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -28,7 +28,8 @@
#include "hal/mmu_ll.h"
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
#include "hal/mspi_timing_tuning_ll.h"
#include "hal/mspi_ll.h"
#include "bootloader_flash_override.h"
void bootloader_flash_update_id()
{
@ -53,7 +54,7 @@ void IRAM_ATTR bootloader_init_mspi_clock(void)
// Set source mspi pll clock as 80M in bootloader stage.
// SPLL clock on C5 is 480MHz , and mspi_pll needs 80MHz
// in this stage, set divider as 6
mspi_ll_clock_src_sel(MSPI_CLK_SRC_SPLL);
_mspi_timing_ll_set_flash_clk_src(0, FLASH_CLK_SRC_SPLL);
mspi_ll_fast_set_hs_divider(6);
}
@ -117,6 +118,9 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
case ESP_IMAGE_FLASH_SIZE_16MB:
size = 16;
break;
case ESP_IMAGE_FLASH_SIZE_32MB:
size = 32;
break;
default:
size = 2;
}
@ -193,6 +197,9 @@ static void print_flash_info(const esp_image_header_t *bootloader_hdr)
case ESP_IMAGE_FLASH_SIZE_16MB:
str = "16MB";
break;
case ESP_IMAGE_FLASH_SIZE_32MB:
str = "32MB";
break;
default:
str = "2MB";
break;
@ -218,12 +225,19 @@ esp_err_t bootloader_init_spi_flash(void)
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT
bootloader_enable_qio_mode();
#endif
#if CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH
bootloader_flash_32bits_address_map_enable(bootloader_flash_get_spi_mode());
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
@ -292,6 +306,10 @@ void bootloader_flash_hardware_init(void)
bootloader_spi_flash_resume();
bootloader_flash_unlock();
#if CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH
bootloader_flash_32bits_address_map_enable(bootloader_flash_get_spi_mode());
#endif
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);

View File

@ -201,6 +201,9 @@ esp_err_t bootloader_init_spi_flash(void)
{
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -24,7 +24,7 @@
#include "hal/mmu_ll.h"
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
#include "hal/mspi_timing_tuning_ll.h"
#include "hal/mspi_ll.h"
static const char *TAG __attribute__((unused)) = "boot.esp32c61";
@ -51,7 +51,7 @@ void IRAM_ATTR bootloader_init_mspi_clock(void)
// Set source mspi pll clock as 80M in bootloader stage.
// SPLL clock on C61 is 480MHz , and mspi_pll needs 80MHz
// in this stage, set divider as 6
mspi_ll_clock_src_sel(MSPI_CLK_SRC_SPLL);
_mspi_timing_ll_set_flash_clk_src(0, FLASH_CLK_SRC_DEFAULT);
mspi_ll_fast_set_hs_divider(6);
}
@ -212,6 +212,9 @@ esp_err_t bootloader_init_spi_flash(void)
bootloader_init_mspi_clock();
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -24,6 +24,7 @@
#include "hal/mmu_ll.h"
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
#include "hal/mspi_ll.h"
#include "soc/pcr_reg.h"
void bootloader_flash_update_id()
@ -87,7 +88,7 @@ void IRAM_ATTR bootloader_configure_spi_pins(int drv)
static void IRAM_ATTR bootloader_flash_clock_init(void)
{
// At this moment, BBPLL should be enabled, safe to switch MSPI clock source to PLL_F64M (default clock src) to raise speed
REG_SET_FIELD(PCR_MSPI_CONF_REG, PCR_MSPI_CLK_SEL, 2);
_mspi_timing_ll_set_flash_clk_src(0, FLASH_CLK_SRC_PLL_F64M);
}
static void update_flash_config(const esp_image_header_t *bootloader_hdr)
@ -209,6 +210,9 @@ esp_err_t bootloader_init_spi_flash(void)
{
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -0,0 +1,287 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
#include <assert.h>
#include "string.h"
#include "sdkconfig.h"
#include "esp_err.h"
#include "esp_log.h"
#include "esp_rom_gpio.h"
#include "flash_qio_mode.h"
#include "bootloader_flash_config.h"
#include "bootloader_flash_priv.h"
#include "bootloader_init.h"
#include "hal/mmu_hal.h"
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
#include "hal/mspi_ll.h"
#include "soc/pcr_reg.h"
static const char *TAG = "boot.esp32h21";
void bootloader_flash_update_id()
{
esp_rom_spiflash_chip_t *chip = &rom_spiflash_legacy_data->chip;
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_HOLD_TIME_V, 0, SPI_MEM_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_SETUP_TIME_V, 0, SPI_MEM_CS_SETUP_TIME_S);
}
void IRAM_ATTR bootloader_flash_clock_config(const esp_image_header_t *pfhdr)
{
uint32_t spi_clk_div = 0;
switch (pfhdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_DIV_1:
spi_clk_div = 1;
break;
case ESP_IMAGE_SPI_SPEED_DIV_2:
spi_clk_div = 2;
break;
case ESP_IMAGE_SPI_SPEED_DIV_3:
spi_clk_div = 3;
break;
case ESP_IMAGE_SPI_SPEED_DIV_4:
spi_clk_div = 4;
break;
default:
break;
}
esp_rom_spiflash_config_clk(spi_clk_div, 0);
}
void IRAM_ATTR bootloader_configure_spi_pins(int drv)
{
uint8_t clk_gpio_num = MSPI_IOMUX_PIN_NUM_CLK;
uint8_t q_gpio_num = MSPI_IOMUX_PIN_NUM_MISO;
uint8_t d_gpio_num = MSPI_IOMUX_PIN_NUM_MOSI;
uint8_t cs0_gpio_num = MSPI_IOMUX_PIN_NUM_CS0;
uint8_t hd_gpio_num = MSPI_IOMUX_PIN_NUM_HD;
uint8_t wp_gpio_num = MSPI_IOMUX_PIN_NUM_WP;
esp_rom_gpio_pad_set_drv(clk_gpio_num, drv);
esp_rom_gpio_pad_set_drv(q_gpio_num, drv);
esp_rom_gpio_pad_set_drv(d_gpio_num, drv);
esp_rom_gpio_pad_set_drv(cs0_gpio_num, drv);
esp_rom_gpio_pad_set_drv(hd_gpio_num, drv);
esp_rom_gpio_pad_set_drv(wp_gpio_num, drv);
}
static void IRAM_ATTR bootloader_flash_clock_init(void)
{
// At this moment, BBPLL should be enabled, safe to switch MSPI clock source to PLL_F64M (default clock src) to raise speed
_mspi_timing_ll_set_flash_clk_src(0, FLASH_CLK_SRC_PLL_F64M);
}
static void update_flash_config(const esp_image_header_t *bootloader_hdr)
{
uint32_t size;
switch (bootloader_hdr->spi_size) {
case ESP_IMAGE_FLASH_SIZE_1MB:
size = 1;
break;
case ESP_IMAGE_FLASH_SIZE_2MB:
size = 2;
break;
case ESP_IMAGE_FLASH_SIZE_4MB:
size = 4;
break;
case ESP_IMAGE_FLASH_SIZE_8MB:
size = 8;
break;
case ESP_IMAGE_FLASH_SIZE_16MB:
size = 16;
break;
default:
size = 2;
}
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: set mode
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
{
ESP_EARLY_LOGD(TAG, "magic %02x", bootloader_hdr->magic);
ESP_EARLY_LOGD(TAG, "segments %02x", bootloader_hdr->segment_count);
ESP_EARLY_LOGD(TAG, "spi_mode %02x", bootloader_hdr->spi_mode);
ESP_EARLY_LOGD(TAG, "spi_speed %02x", bootloader_hdr->spi_speed);
ESP_EARLY_LOGD(TAG, "spi_size %02x", bootloader_hdr->spi_size);
const char *str;
switch (bootloader_hdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_DIV_2:
str = "32MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_3:
str = "21.3MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_4:
str = "16MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_1:
str = "64MHz";
break;
default:
str = "16MHz";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Speed : %s", str);
/* SPI mode could have been set to QIO during boot already,
so test the SPI registers not the flash header */
esp_rom_spiflash_read_mode_t spi_mode = bootloader_flash_get_spi_mode();
switch (spi_mode) {
case ESP_ROM_SPIFLASH_QIO_MODE:
str = "QIO";
break;
case ESP_ROM_SPIFLASH_QOUT_MODE:
str = "QOUT";
break;
case ESP_ROM_SPIFLASH_DIO_MODE:
str = "DIO";
break;
case ESP_ROM_SPIFLASH_DOUT_MODE:
str = "DOUT";
break;
case ESP_ROM_SPIFLASH_FASTRD_MODE:
str = "FAST READ";
break;
default:
str = "SLOW READ";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Mode : %s", str);
switch (bootloader_hdr->spi_size) {
case ESP_IMAGE_FLASH_SIZE_1MB:
str = "1MB";
break;
case ESP_IMAGE_FLASH_SIZE_2MB:
str = "2MB";
break;
case ESP_IMAGE_FLASH_SIZE_4MB:
str = "4MB";
break;
case ESP_IMAGE_FLASH_SIZE_8MB:
str = "8MB";
break;
case ESP_IMAGE_FLASH_SIZE_16MB:
str = "16MB";
break;
default:
str = "2MB";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Flash Size : %s", str);
}
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_flash_clock_init();
bootloader_configure_spi_pins(1);
bootloader_flash_cs_timing_config();
}
static void bootloader_spi_flash_resume(void)
{
bootloader_execute_flash_command(CMD_RESUME, 0, 0, 0);
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
}
esp_err_t bootloader_init_spi_flash(void)
{
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT
bootloader_enable_qio_mode();
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(0, false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_clock_init();
bootloader_flash_cs_timing_config();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@ -0,0 +1,282 @@
/*
* SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
#include <assert.h>
#include "string.h"
#include "sdkconfig.h"
#include "esp_err.h"
#include "esp_log.h"
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "rom/spi_flash.h"
#include "rom/efuse.h"
#include "soc/efuse_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/soc_caps.h"
#include "flash_qio_mode.h"
#include "bootloader_flash_config.h"
#include "bootloader_common.h"
#include "bootloader_flash_priv.h"
#include "bootloader_init.h"
#include "hal/mmu_hal.h"
#include "hal/mmu_ll.h"
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
static const char *TAG = "boot.esp32h4";
void bootloader_flash_update_id()
{
esp_rom_spiflash_chip_t *chip = &rom_spiflash_legacy_data->chip;
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_HOLD_TIME_V, 0, SPI_MEM_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_SETUP_TIME_V, 0, SPI_MEM_CS_SETUP_TIME_S);
}
void IRAM_ATTR bootloader_flash_clock_config(const esp_image_header_t *pfhdr)
{
uint32_t spi_clk_div = 0;
switch (pfhdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_DIV_1:
spi_clk_div = 1;
break;
case ESP_IMAGE_SPI_SPEED_DIV_2:
spi_clk_div = 2;
break;
case ESP_IMAGE_SPI_SPEED_DIV_3:
spi_clk_div = 3;
break;
case ESP_IMAGE_SPI_SPEED_DIV_4:
spi_clk_div = 4;
break;
default:
break;
}
esp_rom_spiflash_config_clk(spi_clk_div, 0);
}
void IRAM_ATTR bootloader_configure_spi_pins(int drv)
{
uint8_t clk_gpio_num = MSPI_IOMUX_PIN_NUM_CLK;
uint8_t q_gpio_num = MSPI_IOMUX_PIN_NUM_MISO;
uint8_t d_gpio_num = MSPI_IOMUX_PIN_NUM_MOSI;
uint8_t cs0_gpio_num = MSPI_IOMUX_PIN_NUM_CS0;
uint8_t hd_gpio_num = MSPI_IOMUX_PIN_NUM_HD;
uint8_t wp_gpio_num = MSPI_IOMUX_PIN_NUM_WP;
esp_rom_gpio_pad_set_drv(clk_gpio_num, drv);
esp_rom_gpio_pad_set_drv(q_gpio_num, drv);
esp_rom_gpio_pad_set_drv(d_gpio_num, drv);
esp_rom_gpio_pad_set_drv(cs0_gpio_num, drv);
esp_rom_gpio_pad_set_drv(hd_gpio_num, drv);
esp_rom_gpio_pad_set_drv(wp_gpio_num, drv);
}
static void update_flash_config(const esp_image_header_t *bootloader_hdr)
{
uint32_t size;
switch (bootloader_hdr->spi_size) {
case ESP_IMAGE_FLASH_SIZE_1MB:
size = 1;
break;
case ESP_IMAGE_FLASH_SIZE_2MB:
size = 2;
break;
case ESP_IMAGE_FLASH_SIZE_4MB:
size = 4;
break;
case ESP_IMAGE_FLASH_SIZE_8MB:
size = 8;
break;
case ESP_IMAGE_FLASH_SIZE_16MB:
size = 16;
break;
default:
size = 2;
}
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: [ESP32H4] IDF-12290 set mode
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
{
ESP_EARLY_LOGD(TAG, "magic %02x", bootloader_hdr->magic);
ESP_EARLY_LOGD(TAG, "segments %02x", bootloader_hdr->segment_count);
ESP_EARLY_LOGD(TAG, "spi_mode %02x", bootloader_hdr->spi_mode);
ESP_EARLY_LOGD(TAG, "spi_speed %02x", bootloader_hdr->spi_speed);
ESP_EARLY_LOGD(TAG, "spi_size %02x", bootloader_hdr->spi_size);
const char *str;
switch (bootloader_hdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_DIV_2:
str = "32MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_4:
str = "16MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_1:
str = "64MHz";
break;
default:
str = "16MHz";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Speed : %s", str);
/* SPI mode could have been set to QIO during boot already,
so test the SPI registers not the flash header */
esp_rom_spiflash_read_mode_t spi_mode = bootloader_flash_get_spi_mode();
switch (spi_mode) {
case ESP_ROM_SPIFLASH_QIO_MODE:
str = "QIO";
break;
case ESP_ROM_SPIFLASH_QOUT_MODE:
str = "QOUT";
break;
case ESP_ROM_SPIFLASH_DIO_MODE:
str = "DIO";
break;
case ESP_ROM_SPIFLASH_DOUT_MODE:
str = "DOUT";
break;
case ESP_ROM_SPIFLASH_FASTRD_MODE:
str = "FAST READ";
break;
default:
str = "SLOW READ";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Mode : %s", str);
switch (bootloader_hdr->spi_size) {
case ESP_IMAGE_FLASH_SIZE_1MB:
str = "1MB";
break;
case ESP_IMAGE_FLASH_SIZE_2MB:
str = "2MB";
break;
case ESP_IMAGE_FLASH_SIZE_4MB:
str = "4MB";
break;
case ESP_IMAGE_FLASH_SIZE_8MB:
str = "8MB";
break;
case ESP_IMAGE_FLASH_SIZE_16MB:
str = "16MB";
break;
default:
str = "2MB";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Flash Size : %s", str);
}
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_configure_spi_pins(1);
bootloader_flash_cs_timing_config();
}
static void bootloader_spi_flash_resume(void)
{
bootloader_execute_flash_command(CMD_RESUME, 0, 0, 0);
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
}
esp_err_t bootloader_init_spi_flash(void)
{
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT
bootloader_enable_qio_mode();
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(0, false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_cs_timing_config();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@ -19,7 +19,7 @@
#include "bootloader_init.h"
#include "hal/mmu_hal.h"
#include "hal/mmu_ll.h"
#include "hal/spimem_flash_ll.h"
#include "hal/mspi_ll.h"
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
#include "esp_private/bootloader_flash_internal.h"
@ -44,8 +44,8 @@ void IRAM_ATTR bootloader_flash_cs_timing_config(void)
void IRAM_ATTR bootloader_init_mspi_clock(void)
{
_spimem_flash_ll_select_clk_source(0, FLASH_CLK_SRC_SPLL);
_spimem_ctrlr_ll_set_core_clock(0, 6);
_mspi_timing_ll_set_flash_clk_src(0, FLASH_CLK_SRC_SPLL);
_mspi_timing_ll_set_flash_core_clock(0, 80);
}
void IRAM_ATTR bootloader_flash_clock_config(const esp_image_header_t *pfhdr)
@ -225,7 +225,16 @@ static void bootloader_spi_flash_resume(void)
esp_err_t bootloader_init_spi_flash(void)
{
bootloader_init_flash_configure();
#if CONFIG_BOOTLOADER_FLASH_DC_AWARE
// Reset flash, clear volatile bits DC[0:1]. Make it work under default mode to boot.
bootloader_spi_flash_reset();
#endif
bootloader_spi_flash_resume();
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -262,6 +262,10 @@ esp_err_t bootloader_init_spi_flash(void)
}
#endif
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -286,6 +286,9 @@ esp_err_t bootloader_init_spi_flash(void)
#endif
bootloader_spi_flash_resume();
if ((void*)bootloader_flash_unlock != (void*)bootloader_flash_unlock_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_unlock");
}
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -18,6 +18,7 @@
#include "soc/efuse_periph.h"
#include "soc/io_mux_reg.h"
#include "esp_private/spi_flash_os.h"
#include "bootloader_flash_override.h"
static const char *TAG = "qio_mode";
@ -34,7 +35,7 @@ static const char *TAG = "qio_mode";
Searching of this table stops when the first match is found.
*/
const bootloader_qio_info_t __attribute__((weak)) bootloader_flash_qe_support_list[] = {
const DRAM_ATTR bootloader_qio_info_t __attribute__((weak)) bootloader_flash_qe_support_list_default[] = {
/* Manufacturer, mfg_id, flash_id, id mask, Read Status, Write Status, QIE Bit */
{ "MXIC", 0xC2, 0x2000, 0xFF00, bootloader_read_status_8b_rdsr, bootloader_write_status_8b_wrsr, 6 },
{ "ISSI", 0x9D, 0x4000, 0xCF00, bootloader_read_status_8b_rdsr, bootloader_write_status_8b_wrsr, 6 }, /* IDs 0x40xx, 0x70xx */
@ -53,7 +54,9 @@ const bootloader_qio_info_t __attribute__((weak)) bootloader_flash_qe_support_li
{ NULL, 0xFF, 0xFFFF, 0xFFFF, bootloader_read_status_8b_rdsr2, bootloader_write_status_8b_wrsr2, 1 },
};
#define NUM_CHIPS (sizeof(bootloader_flash_qe_support_list) / sizeof(bootloader_qio_info_t))
const DRAM_ATTR bootloader_qio_info_t* bootloader_flash_qe_support_list __attribute__((weak)) = bootloader_flash_qe_support_list_default;
uint8_t DRAM_ATTR __attribute__((weak)) bootloader_flash_qe_list_count = (sizeof(bootloader_flash_qe_support_list_default) / sizeof(bootloader_qio_info_t));
static esp_err_t enable_qio_mode(bootloader_flash_read_status_fn_t read_status_fn,
bootloader_flash_write_status_fn_t write_status_fn,
@ -82,7 +85,11 @@ void bootloader_enable_qio_mode(void)
flash_id = raw_flash_id & 0xFFFF;
ESP_LOGD(TAG, "Manufacturer ID 0x%02x chip ID 0x%04x", mfg_id, flash_id);
for (i = 0; i < NUM_CHIPS - 1; i++) {
if ((intptr_t)bootloader_flash_qe_support_list != (intptr_t)bootloader_flash_qe_support_list_default) {
ESP_EARLY_LOGD(TAG, "Using overridden bootloader_flash_qio, the list number is %d", bootloader_flash_qe_list_count);
}
for (i = 0; i < bootloader_flash_qe_list_count - 1; i++) {
const bootloader_qio_info_t *chip = &bootloader_flash_qe_support_list[i];
if (mfg_id == chip->mfg_id && (flash_id & chip->id_mask) == (chip->flash_id & chip->id_mask)) {
ESP_LOGI(TAG, "Enabling QIO for flash chip %s", bootloader_flash_qe_support_list[i].manufacturer);
@ -90,7 +97,7 @@ void bootloader_enable_qio_mode(void)
}
}
if (i == NUM_CHIPS - 1) {
if (i == bootloader_flash_qe_list_count - 1) {
ESP_LOGI(TAG, "Enabling default flash chip QIO");
}
enable_qio_mode(bootloader_flash_qe_support_list[i].read_status_fn,

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2018-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2018-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -24,6 +24,19 @@ typedef enum {
ESP_IMAGE_APPLICATION
} esp_image_type;
/**
* @brief Check if the chip revision meets the image requirements.
*
* This function verifies whether the actual chip revision satisfies the minimum
* and optionally the maximum chip revision requirements specified in the image.
*
* @param image_header Pointer to the image header containing revision details.
* @param check_max_revision If true, also checks the maximum chip revision requirements.
*
* @return true if the chip revision meets the requirements, false otherwise.
*/
bool bootloader_common_check_chip_revision_validity(const esp_image_header_t *image_header, bool check_max_revision);
/**
* @brief Read ota_info partition and fill array from two otadata structures.
*

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2010-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2010-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -28,7 +28,21 @@ extern "C" {
*/
__attribute__((always_inline))
inline static bool esp_dram_match_iram(void) {
return (SOC_DRAM_LOW == SOC_IRAM_LOW && SOC_DRAM_HIGH == SOC_IRAM_HIGH);
return ((SOC_DRAM_LOW == SOC_IRAM_LOW) && (SOC_DRAM_HIGH == SOC_IRAM_HIGH));
}
/**
* @brief Check if the RTC IRAM and RTC DRAM are separate or using the same memory space
*
* @return true if the RTC DRAM and RTC IRAM are sharing the same memory space, false otherwise
*/
__attribute__((always_inline))
inline static bool esp_rtc_dram_match_rtc_iram(void) {
#if SOC_RTC_FAST_MEM_SUPPORTED
return ((SOC_RTC_IRAM_LOW == SOC_RTC_DRAM_LOW) && (SOC_RTC_IRAM_HIGH == SOC_RTC_DRAM_HIGH));
#else
return false;
#endif
}
/**
@ -82,6 +96,7 @@ __attribute__((always_inline))
inline static bool esp_ptr_in_diram_iram(const void *p) {
// TODO: IDF-5980 esp32c6 D/I RAM share the same address
#if SOC_DIRAM_IRAM_LOW == SOC_DIRAM_DRAM_LOW
(void)p;
return false;
#else
return ((intptr_t)p >= SOC_DIRAM_IRAM_LOW && (intptr_t)p < SOC_DIRAM_IRAM_HIGH);
@ -100,6 +115,7 @@ inline static bool esp_ptr_in_rtc_iram_fast(const void *p) {
#if SOC_RTC_FAST_MEM_SUPPORTED
return ((intptr_t)p >= SOC_RTC_IRAM_LOW && (intptr_t)p < SOC_RTC_IRAM_HIGH);
#else
(void)p;
return false;
#endif
}
@ -116,6 +132,7 @@ inline static bool esp_ptr_in_rtc_dram_fast(const void *p) {
#if SOC_RTC_FAST_MEM_SUPPORTED
return ((intptr_t)p >= SOC_RTC_DRAM_LOW && (intptr_t)p < SOC_RTC_DRAM_HIGH);
#else
(void)p;
return false;
#endif
}
@ -151,6 +168,21 @@ inline static void * esp_ptr_diram_dram_to_iram(const void *p) {
#endif
}
/* Convert a RTC DRAM pointer to equivalent word address in RTC IRAM
- Address must be word aligned
- Address must pass esp_ptr_in_rtc_dram_fast() test, or result will be invalid pointer
*/
__attribute__((always_inline))
inline static void * esp_ptr_rtc_dram_to_iram(const void *p) {
intptr_t ptr = (intptr_t)p;
#if SOC_RTC_FAST_MEM_SUPPORTED && (SOC_RTC_IRAM_LOW != SOC_RTC_DRAM_LOW)
return (void *) ( SOC_RTC_IRAM_LOW + (ptr - SOC_RTC_DRAM_LOW) );
#else
return (void *) ptr;
#endif
}
/* Convert a D/IRAM IRAM pointer to equivalent word address in DRAM
- Address must be word aligned

View File

@ -0,0 +1,53 @@
/*
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
#include "esp_flash_partitions.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Fetch the currently running TEE partition
*
* @param[in] tee_ota_info TEE OTA data partition
*
* @return Subtype of the running TEE partition, or -1 if an error occurred
*/
int bootloader_utility_tee_get_boot_partition(const esp_partition_pos_t *tee_ota_info);
/**
* @brief Set a new TEE boot partition in the TEE OTA data
*
* @param[in] tee_ota_info TEE OTA data partition
* @param[in] tee_try_part Partition table entry for the new boot partition
*
* @return ESP_OK on success, or an error code otherwise
*/
esp_err_t bootloader_utility_tee_set_boot_partition(const esp_partition_pos_t *tee_ota_info, const esp_partition_info_t *tee_try_part);
/**
* @brief Fetch the next TEE partition for update
*
* @param[in] tee_ota_info TEE OTA data partition
*
* @return Subtype of the next TEE partition for update, or -1 if an error occurred
*/
int bootloader_utility_tee_get_next_update_partition(const esp_partition_pos_t *tee_ota_info);
/**
* @brief Mark the current TEE app as valid and cancel update rollback
*
* @param[in] tee_ota_info TEE OTA data partition
*
* @return ESP_OK on success, or an error code otherwise
*/
esp_err_t bootloader_utility_tee_mark_app_valid_and_cancel_rollback(const esp_partition_pos_t *tee_ota_info);
#ifdef __cplusplus
}
#endif

View File

@ -26,6 +26,9 @@ typedef enum {
ESP_CHIP_ID_ESP32H2 = 0x0010, /*!< chip ID: ESP32-H2 */
ESP_CHIP_ID_ESP32P4 = 0x0012, /*!< chip ID: ESP32-P4 */
ESP_CHIP_ID_ESP32C5 = 0x0017, /*!< chip ID: ESP32-C5 */
ESP_CHIP_ID_ESP32C61= 0x0014, /*!< chip ID: ESP32-C61 */
ESP_CHIP_ID_ESP32H21= 0x0019, /*!< chip ID: ESP32-H21 */
ESP_CHIP_ID_ESP32H4 = 0x001C, /*!< chip ID: ESP32-H4 */
ESP_CHIP_ID_INVALID = 0xFFFF /*!< Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size) */
} __attribute__((packed)) esp_chip_id_t;

View File

@ -21,6 +21,8 @@ extern "C" {
#define PART_SUBTYPE_OTA_FLAG 0x10
#define PART_SUBTYPE_OTA_MASK 0x0f
#define PART_SUBTYPE_TEST 0x20
#define PART_SUBTYPE_TEE_0 0x30
#define PART_SUBTYPE_TEE_1 0x31
#define PART_TYPE_DATA 0x01
#define PART_SUBTYPE_DATA_OTA 0x00
@ -32,11 +34,14 @@ extern "C" {
#define PART_TYPE_BOOTLOADER 0x02
#define PART_SUBTYPE_BOOTLOADER_PRIMARY 0x00
#define PART_SUBTYPE_BOOTLOADER_OTA 0x01
#define PART_SUBTYPE_BOOTLOADER_RECOVERY 0x02
#define PART_TYPE_PARTITION_TABLE 0x03
#define PART_SUBTYPE_PARTITION_TABLE_PRIMARY 0x00
#define PART_SUBTYPE_PARTITION_TABLE_OTA 0x01
#define PART_SUBTYPE_DATA_TEE_OTA 0x90
#define PART_TYPE_END 0xff
#define PART_SUBTYPE_END 0xff

Some files were not shown because too many files have changed in this diff Show More