Porównaj commity

...

826 Commity

Autor SHA1 Wiadomość Data
morris 8760e6d2a7 Merge branch 'refactor/i2s_dma_buffer_allocation' into 'master'
refactor(i2s): clean up DMA buffer allocation

Closes IDF-9636

See merge request espressif/esp-idf!31282
2024-06-03 21:26:04 +08:00
Roland Dobai ba60c2dbc9 Merge branch 'fix/install_on_nixos' into 'master'
fix(tools): Add suggestion how to install ESP-IDF on NixOS

Closes IDFGH-12839

See merge request espressif/esp-idf!31147
2024-06-03 20:09:35 +08:00
Song Ruo Jing 2d8c719fbb Merge branch 'feature/support_uart_sleep_retention' into 'master'
feat(uart): support uart module sleep retention

Closes IDF-8457

See merge request espressif/esp-idf!26729
2024-06-03 20:05:54 +08:00
Roman Leonov 8d3f4cad1e Merge branch 'refactor/usb_host_enum_as_driver' into 'master'
refactor(hub): ENUM Driver

Closes IDF-9523

See merge request espressif/esp-idf!29892
2024-06-03 19:59:50 +08:00
Armando (Dou Yiwen) 137a9a0479 Merge branch 'bugfix/fix_wrong_soc_af_window_macro_usage' into 'master'
isp: fixed wrong isp af window soc macro usage

See merge request espressif/esp-idf!31273
2024-06-03 18:55:32 +08:00
Wang Meng Yang bf821f347d Merge branch 'fix/assert_in_bt_controller' into 'master'
fix(bt): fix the assert triggered during APB TX

Closes BTQABR2023-301

See merge request espressif/esp-idf!31069
2024-06-03 17:41:15 +08:00
Kevin (Lao Kaiyao) d8b7eb20d7 Merge branch 'fix/peripheral_driver_kconfig_inconsistence' into 'master'
fix(kconfig): fixed peripheral driver kconfig inconsistencies

See merge request espressif/esp-idf!31243
2024-06-03 16:44:32 +08:00
Roman Leonov 0de6267eeb docs(enum): Added description for Enumeration process (Enum Driver) 2024-06-03 10:27:37 +02:00
Roman Leonov 39f91a3d5a refactor(enum): Curved out Enumeration process from Hub Driver 2024-06-03 10:27:37 +02:00
Aditya Patwardhan 2f77896198 Merge branch 'contrib/github_pr_13618' into 'master'
fix(esp-tls): make the wolfSSL backend send entire client certificate… (GitHub PR)

Closes IDFGH-12621

See merge request espressif/esp-idf!31055
2024-06-03 16:21:30 +08:00
Darian cfb8af0cd0 Merge branch 'feature/freertos_smp_update_to_v11_1_0' into 'master'
FreerTOS: Update Amazon SMP FreeRTOS files to V11.1.0

See merge request espressif/esp-idf!31255
2024-06-03 16:17:01 +08:00
morris 2b1466b070 refactor(i2s): clean up DMA buffer allocation 2024-06-03 16:13:13 +08:00
Jiang Jiang Jian 0e39655d70 Merge branch 'bugfix/fix_disable_gcmp_choose_pairwise_cipher_wrong_issue' into 'master'
fix(wifi): fixed disable gcmp choose pairwise cipher wrong issue

Closes WIFIBUG-603 and WIFIBUG-403

See merge request espressif/esp-idf!31229
2024-06-03 15:41:03 +08:00
Aditya Patwardhan f412149dc9 Merge branch 'feat/enable_secure_boot_for_c5' into 'master'
feat: enable secure boot for c5

Closes IDF-8623 and IDF-9478

See merge request espressif/esp-idf!29774
2024-06-03 15:35:51 +08:00
gongyantao e80feeab1a fix(bt): fix some issues in bt controller
1: fix return incorrect link key with hci command rd_stored_link_key
2: fix the assert triggered during APB TX
2024-06-03 15:21:38 +08:00
muhaidong ab12901f44 fix(wifi): fixed disable gcmp choose pairwise cipher wrong issue 2024-06-03 14:52:51 +08:00
Armando 8021d8fcc8 fix(isp): fixed wrong isp af window soc macro usage 2024-06-03 12:51:59 +08:00
Song Ruo Jing dca7c286d0 feat(uart): support uart module sleep retention on c6/h2/p4 2024-06-03 12:40:43 +08:00
Marius Vikhammer 13e5b6f335 Merge branch 'feature/lp_core_pcnt' into 'master'
feat(ulp): add pulse counter example for lp core

Closes IDF-9137

See merge request espressif/esp-idf!31163
2024-06-03 12:33:50 +08:00
Marius Vikhammer d42d77b55d Merge branch 'docs/fix_broken_links' into 'master'
docs(links): fix broken links found in CI

See merge request espressif/esp-idf!30977
2024-06-03 12:05:19 +08:00
Jiang Jiang Jian b3f2f9c12b Merge branch 'bugfix/fix_data_len_not_correct_in_he_actions' into 'master'
fix(wifi):fix data len not correct in he actions

See merge request espressif/esp-idf!31124
2024-06-03 12:04:50 +08:00
laokaiyao db77f66721 fix(kconfig): fixed peripheral driver kconfig inconsistencies 2024-06-03 11:51:00 +08:00
Jiang Jiang Jian 2324dbdcae Merge branch 'bugfix/fix_dhcp_pool_issue_on_dhcp_server' into 'master'
fix(lwip): fixed the dhcp pool error on dhcp server

Closes IDF-9977

See merge request espressif/esp-idf!30987
2024-06-03 11:18:01 +08:00
Jiang Jiang Jian 7ac98d33e3 Merge branch 'bugfix/annotation_a_rom_function' into 'master'
fix(wifi): annotate a rom function

See merge request espressif/esp-idf!31142
2024-06-03 10:56:56 +08:00
Dai Zi Yan 6127f2686e Merge branch 'docs/update_cn_tran' into 'master'
docs: update CN trans for heap_debug

Closes DOC-7888

See merge request espressif/esp-idf!31115
2024-06-03 10:17:00 +08:00
Darian Leung 5d75bfdb3c
feat(freertos/smp): Update SMP FreeRTOS files to V11.1.0
This commit updates the source files of Amazon SMP FreeRTOS to upstream
V11.1.0 (https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/V11.1.0).

This version contains some new features and bugfixes. See upstream V11.1.0
release notes for more details.

Note: ESP-IDF specific changes to the source file have been preserved
2024-06-03 03:13:58 +08:00
Rahul Tank c7bbfaee25 Merge branch 'bugfix/copy_ext_adv_data_reattempt' into 'master'
fix(nimble): Use appendfrom to duplicate adv data

See merge request espressif/esp-idf!31224
2024-06-01 18:56:22 +08:00
Armando (Dou Yiwen) b28599aa9a Merge branch 'feat/isp_dvp_driver' into 'master'
isp: dvp driver

Closes IDF-6501

See merge request espressif/esp-idf!28610
2024-06-01 02:52:59 +08:00
Darian 6601b7d92f Merge branch 'fix/usb_tests_rmv_str_desc_checks' into 'master'
fix(usb): Remove product and serial string descriptor checks from unit tests

Closes IDFCI-1783 and IDFCI-1766

See merge request espressif/esp-idf!31201
2024-06-01 01:46:30 +08:00
Wan Lei 55d4de5129 Merge branch 'fix/spi_hd_seg_fix_iwdt_timeout' into 'master'
fix(spi_slave_hd): fix seg mode potential iwdt timeout when multi task call

Closes IDF-9671

See merge request espressif/esp-idf!30224
2024-05-31 20:36:34 +08:00
C.S.M c285c7a090 Merge branch 'bugfix/distin_err_type' into 'master'
bugfix(jpeg): Fix that jpeg driver does not distinguish err handle mode

See merge request espressif/esp-idf!31180
2024-05-31 19:08:01 +08:00
Armando e08469517c test(isp_dvp): added isp_dvp test 2024-05-31 18:47:27 +08:00
Armando 6930bfdef6 fix(csi): fixed csi wrong state machine settings 2024-05-31 18:47:27 +08:00
Armando 70d2ed5ee8 feat(isp): added isp dvp driver 2024-05-31 18:47:27 +08:00
Roland Dobai 7b7f73ba2a Merge branch 'feat/add_espsecure_subcommands' into 'master'
feat: Add espsecure subcommands into idf.py

See merge request espressif/esp-idf!29424
2024-05-31 18:29:55 +08:00
yinqingzhao 18f694b4fa fix(wifi):fix data len not correct in he actions 2024-05-31 18:20:31 +08:00
Wang Meng Yang 809f1e347b Merge branch 'bugfix/l2cap_use_wrong_handle' into 'master'
fix(bt/bluedroid):  Fixed the issue of using the wrong handle to handle the BTA_JV_L2CAP_READ_EVT event

Closes IDFGH-12886

See merge request espressif/esp-idf!31098
2024-05-31 17:47:05 +08:00
Konstantin Kondrashov 53c0886469 Merge branch 'feature/esp_rom_vprintf' into 'master'
feat(esp_rom): Adds esp_rom_vprintf with the same capabilities as esp_rom_print

See merge request espressif/esp-idf!31030
2024-05-31 17:42:56 +08:00
Mo Fei Fei 5d4963bd36 Merge branch 'docs/update_cn_trans_usb_device' into 'master'
docs: update cn trans for use-device.rst

Closes DOC-7518

See merge request espressif/esp-idf!30869
2024-05-31 16:00:20 +08:00
Island f69f8a376e Merge branch 'bugfix/bleqabr24-549' into 'master'
fix(ble_mesh): fix issues in mesh deinit

Closes BLERP-720

See merge request espressif/esp-idf!30539
2024-05-31 15:18:22 +08:00
Roland Dobai d1d8a81f38 fix(tools): Add suggestion how to install ESP-IDF on NixOS
Closes https://github.com/espressif/esp-idf/issues/13806
2024-05-31 09:00:14 +02:00
Jiang Jiang Jian e382f401f8 Merge branch 'bugfix/add_deprecated_warning_for_wpa3_ext' into 'master'
fix(wifi): Add back `WIFI_AUTH_WPA3_EXT_PSK` and `WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE` for v5.x (instead of removing them)

See merge request espressif/esp-idf!31164
2024-05-31 14:27:55 +08:00
Rahul Tank 82bb1a79e4 fix(nimble): Use appendfrom to duplicate adv data 2024-05-31 11:55:13 +05:30
mofeifei 4d936cce2b docs: update cn trans for use-device.rst 2024-05-31 14:15:10 +08:00
C.S.M a20d865bf5 bugfix(jpeg): Fix that jpeg driver does not distinguish err handle mode 2024-05-31 14:03:09 +08:00
Alexey Lapshin a4e6f57a40 Merge branch 'feature/update-toolchain-to-esp-13.2.0_20240530' into 'master'
feat(tools): update toolchain version to esp-13.2.0_20240530

Closes GCC-347, GCC-364, and IDF-9712

See merge request espressif/esp-idf!31206
2024-05-31 13:45:05 +08:00
morris 7425154472 Merge branch 'change/dw_gdma_memory_allocation' into 'master'
change(dw_gdma): clean up memory allocation for link list items

Closes IDF-9861

See merge request espressif/esp-idf!31167
2024-05-31 12:55:08 +08:00
Ivan Grokhotkov 1c2b273e31 Merge branch 'fix/component_enotsup' into 'master'
fix: correctly resolve component requirements

Closes IDFGH-12425

See merge request espressif/esp-idf!30112
2024-05-31 12:43:17 +08:00
Mahavir Jain ea726f3f98 Merge branch 'feature/enable_ecdsa_support_for_c5' into 'master'
feat: enabled ecdsa support for c5

Closes IDF-8618

See merge request espressif/esp-idf!29945
2024-05-31 12:28:36 +08:00
morris 14435b0dae Merge branch 'refactor/esp_lcd_io_header_files' into 'master'
i80_lcd: add help function to allocate draw buffer with proper alignment

See merge request espressif/esp-idf!31178
2024-05-31 11:33:24 +08:00
luoxu cee98dae25 fix(ble_mesh): fix issues in mesh deinit 2024-05-31 11:10:30 +08:00
Alexey Lapshin 10b73152a9 feat(tools): update toolchain version to esp-13.2.0_20240530 2024-05-31 06:02:16 +04:00
Daniel Paul 26502b7e2e Merge branch 'docs/add_component_manager_to_build_system' into 'master'
Docs/add component manager to build system

See merge request espressif/esp-idf!29064
2024-05-30 22:47:49 +08:00
Frantisek Hrbata fbe8bf89ee fix: properly resolve component dependencies
There is currently a bug in the __build_resolve_and_add_req function in
tools/cmake/build.cmake where the check for registered component
requirements is incorrectly applied to the component itself rather than
its dependencies. This issue likely originated from a typo, using
component_target instead of _component_target. To prevent further
confusion, _component_target has been renamed to _req_target.

Fixing this revealed multiple incorrect dependencies for the Linux
target, which have now been resolved by explicitly specifying the
dependencies for the Linux target.

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

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-30 22:01:55 +08:00
Sarvesh Bodakhe 4cde0246a6 fix(wifi): Add back WIFI_AUTH_WPA3_EXT_PSK and WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE
Add back above authmodes instead of removing and merging them with WIFI_AUTH_WPA3_PSK
in minor releases during v5.x.

These authmodes will be removed from v6.0
2024-05-30 19:16:45 +05:30
Jiang Jiang Jian cb81d1a4f9 Merge branch 'doc/update_esp32c6_power_statics' into 'master'
docs(lowpower): updating low-power statistics in Wi-Fi scenarios

See merge request espressif/esp-idf!31188
2024-05-30 21:18:12 +08:00
Frank Mertens 7a1239457e change(esp-tls): make wolfSSL backend send SNI and enable OCSP
Almost all sites these days are virtually hosted and hence
SNI (server name indicator TLS extension) should be enabled by
default.

In addition this change enables OCSP (online server status protocol)
support for esp-tls clients using the wolfSSL backend.
The 3 code lines enable OCSP stabling v1.
By default this feature is disabled.
(I will send another PR on esp-wolfssl repository to allow to
enable it easily.)
2024-05-30 21:02:12 +08:00
Frank Mertens 7e1e3df43c fix(esp-tls): make the wolfSSL backend send entire client certificate chains
This change makes the wolfSSL backend sent the complete TLS client certificate
chain. This align the wolfSSL backend with the behavior of the mbedTLS backend.
Some servers need the intermediate certificates to verify a client certificate.
If the provided PEM file contains only a single certificate this change has no effect
and the behavior will be as before.
This impacts higher level APIs to function as someone would expect.
E.g.: esp_websocket_client_config_t.client_cert: when passing here a pem
file containing 2 certificates (the CA's and the client's) it would be
expected that both are transmitted during TLS handshake.
2024-05-30 21:02:12 +08:00
Aleksei Apaseev b0feec7e24 Merge branch 'ci/improve_dynamic_pipeline_report' into 'master'
feat(ci): Add known failure cases to the target test report

Closes IDFCI-1989 and IDFCI-1992

See merge request espressif/esp-idf!30925
2024-05-30 19:37:42 +08:00
Zhang Shu Xian d7a2520493 Merge branch 'docs/translate-phy' into 'master'
docs: Update CN translation for phy by adding or removing blank line and space

Closes DOC-7834

See merge request espressif/esp-idf!30858
2024-05-30 19:28:29 +08:00
Zhang Shu Xian 23caae99f6 docs: Update CN translation for phy by adding or removing blank line and space 2024-05-30 19:28:29 +08:00
Zhang Shu Xian 7923e571a0 Merge branch 'docs/translate_host_apps' into 'master'
docs: Provide CN translation for host apps

Closes DOC-7837

See merge request espressif/esp-idf!30887
2024-05-30 19:27:36 +08:00
Zhang Shu Xian 74ef1b47f7 Merge branch 'docs/translate_establish_serial_connection' into 'master'
docs: Provide CN translation for establish serial connection

Closes DOC-7835

See merge request espressif/esp-idf!30864
2024-05-30 19:26:06 +08:00
Darian Leung 4954884527
fix(usb): Make string descriptor checks in unit tests optional
Checking for an exact match for product or serial and string descriptors can
lead to test failures if the USB devices connected to the runner is changed. This
commit adds some kconfig options to make the string descriptor checks optional,
with the product and serial string checks being disabled by default.
2024-05-30 19:25:18 +08:00
morris 5eaec29c02 feat(i80_lcd): add help function to allocate draw buffer with proper alignment 2024-05-30 18:33:31 +08:00
morris c4b2bd89da change(esp_lcd): split header files by different IO interface 2024-05-30 18:33:31 +08:00
Konstantin Kondrashov a3be04a087 feat(esp_rom): Adds esp_rom_vprintf with the same capabilities as esp_rom_print 2024-05-30 13:30:12 +03:00
Rahul Tank fdbe535434 Merge branch 'bugfix/free_reattempt_adv_data' into 'master'
fix(nimble): Added change to free memory in case of failure

See merge request espressif/esp-idf!31099
2024-05-30 17:19:40 +08:00
wuzhenghui cf3c440369
docs(lowpower): updating low-power statistics in Wi-Fi scenarios 2024-05-30 16:45:01 +08:00
Shen Meng Jing 7cacee09ad Merge branch 'docs/translate_three_docs_in_lcd' into 'master'
docs: Provide translation for three docs in lcd

Closes DOC-7887

See merge request espressif/esp-idf!31059
2024-05-30 16:33:29 +08:00
shenmengjing fad7c66347 docs: Provide translation for three docs in lcd 2024-05-30 15:08:07 +08:00
Marius Vikhammer 7495f3bf28 feat(ulp): add pulse counter example for lp core 2024-05-30 14:30:00 +08:00
Marius Vikhammer bfe974a9a2 docs(links): fix broken links found in CI 2024-05-30 14:21:00 +08:00
nilesh.kale f5dd1074b6 feat: enable secure boot for c5
This MR added suppport for secure boot in ESP32-C5.
2024-05-30 11:43:17 +05:30
Mahavir Jain 019165b950 Merge branch 'feature/esp32p4_apm_api' into 'master'
feat: add esp32p4 APM HAL/LL API

Closes IDF-9651

See merge request espressif/esp-idf!30251
2024-05-30 14:08:45 +08:00
Harshit Malpani 245ec91456 Merge branch 'contrib/github_pr_13746' into 'master'
feat(http_server): add 413 Payload Too Large response (GitHub PR)

Closes IDFGH-12767

See merge request espressif/esp-idf!31058
2024-05-30 14:02:57 +08:00
Shen Meng Jing b22bcff04e Merge branch 'docs/fix_some_typos' into 'master'
Docs/Fix some typos and add some related docs

Closes DOC-6477 and DOC-4988

See merge request espressif/esp-idf!31031
2024-05-30 12:33:56 +08:00
shenmengjing 2f3562a6a3 docs: Fix some typos in ESP32-DevKitC V4 2024-05-30 11:55:06 +08:00
Sachin Billore 31d86175da feat: add esp32p4 APM HAL/LL API 2024-05-29 21:37:49 +05:30
morris 0453e8608b Merge branch 'bugfix/esp32h2_iomux_retention' into 'master'
fix(gpio): fix IO 21-27 IOMUX registers not being backed up on ESP32H2

See merge request espressif/esp-idf!31168
2024-05-29 21:31:36 +08:00
Harshit Malpani 8adcd2b460
fix: Fix spelling mistakes in esp_err_to_name.c 2024-05-29 18:30:01 +05:30
Harshit Malpani 61a3466941
fix: Fix spelling mistakes in esp_http_server.h 2024-05-29 18:30:00 +05:30
Maciej Małecki e40b1402e4
feat(http_server): add 413 Payload Too Large response
While not useful for the HTTP parser itself, this is very useful for
memory-limited consumers of the HTTP server API.

Signed-off-by: Harshit Malpani <harshit.malpani@espressif.com>
2024-05-29 18:30:00 +05:30
Martin Vychodil 3b771d7af2 Merge branch 'fix/disable_erase_check_for_spiffs_on_linux' into 'master'
fix(storage/esp_partition): add option to control erase check during write for linux target

Closes IDF-9201

See merge request espressif/esp-idf!29294
2024-05-29 20:35:31 +08:00
Zhang Shu Xian a946d0cddf Merge branch 'docs/translate_ota' into 'master'
docs: Update CN translation for ota

Closes DOC-7845

See merge request espressif/esp-idf!30910
2024-05-29 20:06:07 +08:00
Zhang Shu Xian 82bea7f663 docs: Update CN translation for ota 2024-05-29 20:06:06 +08:00
Wang Meng Yang 651e6a7b32 Merge branch 'bugfix/fix_rsw_collision' into 'master'
fix(bt/controller): Fixed role switch LMP collision bug

Closes BTQABR2023-283

See merge request espressif/esp-idf!30581
2024-05-29 19:38:19 +08:00
Chen Yu Dong 79cd344476 Merge branch 'ci/fix_get_mr_component' into 'master'
ci: fix get mr components, stop printing out debugging info

See merge request espressif/esp-idf!31162
2024-05-29 19:17:07 +08:00
zhangshuxian 7a72b14546 docs: Provide CN translation for establish serial connection 2024-05-29 19:08:03 +08:00
zhangshuxian 311362e582 docs: Provide translation for host apps 2024-05-29 19:06:13 +08:00
Zhang Shu Xian 200885d46b Merge branch 'docs/translate_esp_idf_tests_with_pytest' into 'master'
docs: update CN trans for esp-idf-tests-with-pytest.rst

Closes DOC-7863

See merge request espressif/esp-idf!30957
2024-05-29 18:59:48 +08:00
Tomas Rohlinek 2ccc9bcef9 Merge branch 'fix/unopened_stdout_console' into 'master'
fix(newlib/stdio): incorrect stdout redirect with /dev/console

Closes IDFGH-12416

See merge request espressif/esp-idf!30324
2024-05-29 18:40:09 +08:00
Song Ruo Jing 612e970900 fix(gpio): fix IO 21-27 IOMUX registers not being backed up on ESP32H2 2024-05-29 18:31:24 +08:00
zhangshuxian 3240d2d695 docs: update CN trans for esp-idf-tests-with-pytest.rst 2024-05-29 18:07:50 +08:00
morris 68cb0d442f change(dw_gdma): clean up memory allocation for link list items 2024-05-29 18:00:00 +08:00
Rahul Tank e9a857f2cc fix(nimble): Added change to free memory in case of failure 2024-05-29 14:55:43 +05:30
Rahul Tank 1572df3bb8 Merge branch 'bugfix/revert_eatt_nimble' into 'master'
feat(nimble): Revert support for Enhanced ATT

See merge request espressif/esp-idf!31161
2024-05-29 17:16:07 +08:00
Adam Múdry ac8c27f222 Merge branch 'fix/typo_in_sdmmc_init_sd_ssr_function' into 'master'
fix: Typo in sdmmc_init_sd_ssr log string

See merge request espressif/esp-idf!31148
2024-05-29 17:09:22 +08:00
Tomáš Rohlínek c44da2f222
feat(storage/spiffs): add host test for disabled erase check 2024-05-29 11:00:25 +02:00
Tomáš Rohlínek 97af825b14
feat(storage/vfs): make automatic nullfs initialization optional 2024-05-29 10:39:55 +02:00
Tomáš Rohlínek f2a278191b
feat(storage/vfs): add documentation for nullfs 2024-05-29 10:39:55 +02:00
liqigan 49ba7d7afd fix(bt/controller): Fixed role switch LMP collision bug 2024-05-29 15:53:19 +08:00
Fu Hanxi 3cc0d2d5d7
ci: fix get mr components, stop printing out debugging info 2024-05-29 09:28:46 +02:00
Rahul Tank 90960d58c6 feat(nimble): Revert support for Enhanced ATT "
This reverts commit f265e50ca0.
2024-05-29 12:39:25 +05:30
Song Ruo Jing 426e0e0395 Merge branch 'bugfix/ppa_buffer_writeback_invalidate' into 'master'
fix(ppa): fix mismatching writeback and invalidate data size on the same buffer

Closes IDF-10028

See merge request espressif/esp-idf!31134
2024-05-29 14:27:34 +08:00
Kevin (Lao Kaiyao) 0a59ae0bae Merge branch 'fix/i2s_exhaust_test_case_failure' into 'master'
fix(ci): fixed the i2s exhaust test case failure

Closes IDFCI-2176

See merge request espressif/esp-idf!31153
2024-05-29 14:26:00 +08:00
Marius Vikhammer f157b76fff Merge branch 'feature/lp_core_panic' into 'master'
feat(ulp): add panic handler for C6/P4 LP core

See merge request espressif/esp-idf!30544
2024-05-29 14:04:20 +08:00
Rahul Tank b5f9bd31cb Merge branch 'feature/ble_resolve_adv_data' into 'master'
feat(nimble): Added API to get resolve ADV data

See merge request espressif/esp-idf!30898
2024-05-29 13:36:31 +08:00
laokaiyao 6094d06374 fix(ci): fixed the i2s exhaust test case failure 2024-05-29 13:22:20 +08:00
Mahavir Jain a3aa48e384 Merge branch 'feature/enable_hmac_and_ds_support_for_c5' into 'master'
feat: enabled hmac and ds peripheral support for c5

Closes IDF-8619, IDF-8616, IDF-9479, and IDF-9481

See merge request espressif/esp-idf!29287
2024-05-29 12:50:25 +08:00
Mahavir Jain b7e2fcbe4b Merge branch 'docs/update_security_documents_for_c5' into 'master'
docs: updated security documents for esp32c5

Closes IDF-9477

See merge request espressif/esp-idf!30693
2024-05-29 12:25:32 +08:00
morris 6e8e7cf667 Merge branch 'bugfix/mipi_dsi_rgb666_color_pixel' into 'master'
fix(dsi): fixed wrong RGB666 pixel size

See merge request espressif/esp-idf!31087
2024-05-29 11:47:52 +08:00
Armando (Dou Yiwen) bb63b91539 Merge branch 'fix/fix_wrong_logw_in_btld' into 'master'
fix(btld): fixed wrong esp_early_loge in bootloader_utility.c

See merge request espressif/esp-idf!31151
2024-05-29 11:09:25 +08:00
muhaidong b4ede21ddf fix(wifi): annotate a rom function 2024-05-29 10:54:20 +08:00
morris a7ffe77de0 Merge branch 'feature/mcpwm_support_c5' into 'master'
feat(mcpwm): add driver support on esp32c5

Closes IDF-8709 and IDF-9101

See merge request espressif/esp-idf!29876
2024-05-29 10:27:35 +08:00
Wu Zheng Hui bfc1ecdb4b Merge branch 'feat/support_tg_retention' into 'master'
change(esp_hw_support): do TG WDT/Timer retention by needs

Closes IDF-8463, PM-110, and IDFGH-12238

See merge request espressif/esp-idf!28154
2024-05-29 10:19:19 +08:00
Armando d806dbe70c fix(btld): fixed wrong esp_early_loge in bootloader_utility.c 2024-05-29 10:00:41 +08:00
Adam Múdry a97aaf19d8 fix: Typo in sdmmc_init_sd_ssr log string 2024-05-28 21:21:34 +02:00
Jakob Hasse e3a54fa6da Merge branch 'doc/p4_rng' into 'master'
docs(esp_hw_support): Adjusted RNG docs to reflect P4 changes

Closes IDF-7743

See merge request espressif/esp-idf!30566
2024-05-28 23:42:46 +08:00
morris 1861dc12a0 change(dsi): use DW_GDMA as the flow controller
previously the DSI_Bridge was set as the flow controller
2024-05-28 22:36:03 +08:00
morris 75b221436c fix(dsi): fixed wrong RGB666 pixel size 2024-05-28 22:36:03 +08:00
nilesh.kale 00fa28259b feat: enabled ecdsa support for c5
This commit adds support for ECDSA for ESP32-C5
2024-05-28 17:33:05 +05:30
Roland Dobai 3d7a0d6cd0 Merge branch 'feat/idf_py_size_diff' into 'master'
feat: add diff option support to idf.py size commands

Closes IDF-9356

See merge request espressif/esp-idf!30638
2024-05-28 19:09:19 +08:00
Shen Meng Jing 87a59ab112 Merge branch 'translate_usb_host_notes_design' into 'master'
docs: Provide translation for usb_host_notes_design

Closes DOC-7775

See merge request espressif/esp-idf!30742
2024-05-28 18:24:29 +08:00
C.S.M 2466add620 Merge branch 'bugfix/jpeg_error_handle' into 'master'
fix(jpeg): Modify jpeg deocde/encode error handling logic

See merge request espressif/esp-idf!31117
2024-05-28 18:13:26 +08:00
Song Ruo Jing b7e595d211 fix(ppa): fix mismatching writeback and invalidate data size on the same buffer 2024-05-28 16:59:13 +08:00
Jakob Hasse 5dbfe8823d docs(esp_hw_support): Adjusted RNG docs to reflect P4 changes 2024-05-28 10:31:29 +02:00
C.S.M e4deaf08a7 Merge branch 'feat/flash_32bit_support_p4' into 'master'
feature(spi_flash): Add 32bit address support for esp32p4 eco1

Closes IDF-9597 and IDF-7518

See merge request espressif/esp-idf!30940
2024-05-28 16:28:58 +08:00
C.S.M c620a2fa39 fix(jpeg): Modify jpeg deocde/encode error handling logic, fix if one picture wrong, all picture wrong issue 2024-05-28 16:24:40 +08:00
shenmengjing 93eff2080f docs: Provide translation for usb_host_notes_design 2024-05-28 16:17:25 +08:00
Tomáš Rohlínek f753434640
fix(storage/esp_partition): add option to control erase check during write for linux target 2024-05-28 10:05:58 +02:00
Liu Xiao Yu 6e20be1d95 Merge branch 'feat/intelligent_console_help' into 'master'
feat(system/console): add help command verbose level option

Closes IDFGH-7603

See merge request espressif/esp-idf!30929
2024-05-28 15:38:59 +08:00
Aleksei Apaseev 40c8a16ad4 ci: add known failure cases to the target test report
target test report:
- refactor the methods to ensure reusability
- cover report generation with tests
- introduce a known failure tests block in report
- add grafana link to testcases dashboard
2024-05-28 15:36:22 +08:00
wuzhenghui 97ecad2a98
fix(esp_hw_support): set pau entry backup configuration with link update 2024-05-28 15:19:27 +08:00
wuzhenghui ffd08ac41b
change(esp_hw_support): use union retention link priority definiation 2024-05-28 15:19:27 +08:00
wuzhenghui 8e123d5390
feat(esp_hw_support): optimize retention link info dump 2024-05-28 15:19:26 +08:00
Li Shuai 52f8a26af5
fix(esp_hw_support): use iterator for regdma_link_stats to save stack consume
Closes https://github.com/espressif/esp-idf/issues/13288
2024-05-28 15:19:26 +08:00
wuzhenghui 070cf9d5e2
fix(ci): use esp_rom_crc32_le in sleep retention frame check 2024-05-28 15:19:26 +08:00
wuzhenghui 138224ae1b
ci(esp_driver_gptimer): add gptimer pd_top sleep retention test case 2024-05-28 15:19:25 +08:00
wuzhenghui 6a272c7712
ci(esp_system): add task watchdog pd_top sleep retention test case 2024-05-28 15:19:25 +08:00
wuzhenghui 8518bf2ea7
change(esp_driver_gptimer): do gptimer timer target retention by needs 2024-05-28 15:19:24 +08:00
wuzhenghui a68668c392
change(esp_hw_support): do timergroup watchdogs retention by needs 2024-05-28 15:17:19 +08:00
Jiang Jiang Jian 3ec68b9094 Merge branch 'bugfix/pm-108' into 'master'
fix the issue of tg0 watchdog reset caused by wifi module retention

Closes PM-108

See merge request espressif/esp-idf!31010
2024-05-28 14:50:17 +08:00
Marius Vikhammer de77d04358 feat(ulp): add lp core panic handler 2024-05-28 14:42:59 +08:00
Tomáš Rohlínek a30d27e01e
feat(storage/vfs): add nullfs test cases for vfs 2024-05-28 08:06:33 +02:00
Tomáš Rohlínek 2b75ed37b9
fix(storage/vfs): always register /dev/null on startup 2024-05-28 07:55:37 +02:00
Tomáš Rohlínek a615f487dd
feat(storage/vfs): add /dev/null for unwanted output redirection 2024-05-28 07:54:35 +02:00
C.S.M 9ac85e1d7b Merge branch 'bugfix/i2c_lcd_pointer_risk' into 'master'
bugfix(i2c_lcd): Fix risk that pointerto local outside scope

Closes IDF-9992

See merge request espressif/esp-idf!31112
2024-05-28 13:33:54 +08:00
Shen Meng Jing b325a56114 Merge branch 'docs/translate_index_and_i2c_lcd' into 'master'
Docs/Provide translation for index.rst and i2c_lcd.rst

Closes DOC-7873

See merge request espressif/esp-idf!31025
2024-05-28 13:18:29 +08:00
nilesh.kale 46c0902fd6 feat: enabled hmac and ds peripheral support for c5
This commit add support for HMAC and DS peripheral support for ESP32-C5.
2024-05-28 10:44:54 +05:30
shenmengjing f22d59de17 docs: Provide CN Translation for index and i2c_lcd 2024-05-28 12:02:14 +08:00
daiziyan 2ba94d6819 docs: update CN trans for heap_debug 2024-05-28 12:01:40 +08:00
Jiang Jiang Jian 8c072af93a Merge branch 'fix/fix_send_mgmt_eb_start_err_when_eapol_process' into 'master'
fix(wifi): fix send mgmt err when eapol process

Closes WIFIBUG-562

See merge request espressif/esp-idf!31078
2024-05-28 11:31:03 +08:00
C.S.M 381cf16405 bugfix(i2c_lcd): Fix risk that pointerto local outside scope 2024-05-28 10:55:37 +08:00
Ivan Grokhotkov 06cc3419d8 Merge branch 'ci/add_sdmmc_test_p4' into 'master'
ci(sdmmc): enable tests for ESP32-P4

Closes IDF-8970

See merge request espressif/esp-idf!31077
2024-05-28 00:16:04 +08:00
Abhik Roy 738042f9f9 Merge branch 'lwip/multi_dns_ip_support' into 'master'
feat(lwip): Added multiple dns ip support

Closes IDF-8345 and IDF-9699

See merge request espressif/esp-idf!30326
2024-05-27 23:09:18 +08:00
Roland Dobai a858da31da Merge branch 'feat/verif_no_additional_props_in_json_schema' into 'master'
feat(tools): json schema verifies that no additional properties are used

Closes IDFGH-12892 and IDFGH-12893

See merge request espressif/esp-idf!31103
2024-05-27 22:46:04 +08:00
Erhan Kurubas 1fc0be230f Merge branch 'extend_coredump_tests' into 'master'
Coredump PSRAM related fix and more tests

Closes IDF-9063

See merge request espressif/esp-idf!29304
2024-05-27 22:36:52 +08:00
Marek Fiala 55112978fd feat(tools): json schema verifies that no additional properties are used
Closes https://github.com/espressif/esp-idf/issues/13853
Closes https://github.com/espressif/esp-idf/pull/13854
2024-05-27 16:24:56 +02:00
Erhan Kurubas 002faf3b0a ci(panic): extend extram_stack tests 2024-05-27 14:51:30 +02:00
Erhan Kurubas 1dd4b95349 fix(coredump): properly save task's stack when stack is located in PSRAM 2024-05-27 13:55:14 +02:00
Erhan Kurubas 55261747fc ci(panic): add coredump tcb corrupted test 2024-05-27 13:55:14 +02:00
C.S.M f66fe7cc7a feat(spi_flash): Support auto suspend on esp32p4 2024-05-27 19:42:47 +08:00
C.S.M 374c89097f feat(spi_flash): Adjust flash clock to real 80M clock, and support 32bit address on eco1 2024-05-27 19:42:47 +08:00
xiongweichao a3d3b74e35 fix(bt/bluedroid): Fixed deadlock caused by not unlocking 2024-05-27 19:36:17 +08:00
xiongweichao 0b0d316d4c fix(bt/bluedroid): Fixed L2CAP using wrong handle
- Fixed the issue of using the wrong handle to handle the BTA_JV_L2CAP_READ_EVT event.
- Closes https://github.com/espressif/esp-idf/issues/13847
2024-05-27 19:34:46 +08:00
Abhinav Kudnar 4eb0fef079 feat(nimble): Added API to get resolve ADV data 2024-05-27 16:48:35 +05:30
wangtao@espressif.com c3af7c5cd5 fix(wifi): fix send mgmt err when eapol process 2024-05-27 19:09:25 +08:00
nilesh.kale 317f07f22a docs: updated security documents for esp32c5 2024-05-27 16:36:17 +05:30
Aditya Patwardhan 8541242860 Merge branch 'feature/enable_aes_sha_support_for_c5_mp' into 'master'
feat: enabled aes and sha support for esp32c5 mp version

Closes IDF-8627 and IDF-8624

See merge request espressif/esp-idf!30741
2024-05-27 18:56:56 +08:00
Abhik Roy 7b25f38fd4 feat(lwip): Added multiple dns ip support 2024-05-27 20:56:01 +10:00
Wan Lei 0fc3f68ff4 Merge branch 'feature/esp32c5_ledc_support' into 'master'
feat(ledc): support ledc on esp32c5

Closes IDF-8684

See merge request espressif/esp-idf!30836
2024-05-27 17:43:12 +08:00
Tomáš Rohlínek 0b4fff69c5
fix(newlib/stdio): remove incorrect check in /dev/console init
Closes https://github.com/espressif/esp-idf/issues/13439
2024-05-27 10:43:13 +02:00
Martin Vychodil 7278d06c4f Merge branch 'fix/vfs_console_fstat_infinite_recursion' into 'master'
fix(storage/vfs_console): remove possible infinite recursion

Closes IDF-10025

See merge request espressif/esp-idf!31072
2024-05-27 16:29:58 +08:00
morris e659675965 Merge branch 'feat/gdma_set_burst_size' into 'master'
feat(gdma): return alignment constraints required by the GDMA channel

Closes IDF-9848

See merge request espressif/esp-idf!30748
2024-05-27 15:33:57 +08:00
Jeroen Domburg 332bb9b2ba Merge branch 'feature/make_heap_alloc_caps_align_memory2' into 'master'
Align memory requested from heap component to hw requirements

See merge request espressif/esp-idf!30371
2024-05-27 15:12:31 +08:00
Island 43af0fbe1d Merge branch 'bugfix/fix_blecrt_147' into 'master'
fix(bt/bluedroid): Fixed BLE security vulnerability when using fixed IRK

See merge request espressif/esp-idf!30825
2024-05-27 14:56:21 +08:00
zhangyanjiao eaef3a2683 fix(lwip): fixed the dhcp pool error on dhcp server 2024-05-27 14:51:00 +08:00
Sudeep Mohanty 3fd3c37507 Merge branch 'fix/fix_flaky_lp_uart_tests' into 'master'
Fixed unstable LP UART tests and added new tests

Closes IDFCI-2137

See merge request espressif/esp-idf!30524
2024-05-27 14:39:14 +08:00
Zhang Wen Xu a55fecb2ca Merge branch 'feature/support_eth_mac_using_esp_read_mac' into 'master'
feat(eth) configure eth mac using esp_read_mac

Closes IDFGH-12842

See merge request espressif/esp-idf!31047
2024-05-27 14:38:52 +08:00
Tomáš Rohlínek 0ed8ebddb6 fix(storage/vfs_console): remove possible infinite recursion 2024-05-27 14:11:49 +08:00
Mahavir Jain eca073df3c Merge branch 'bugfix/ecc_coverity_warning' into 'master'
fix(ecc_alt): adjust null pointer check to fix coverity warning

Closes IDF-9872

See merge request espressif/esp-idf!30946
2024-05-27 13:43:00 +08:00
nilesh.kale a76e84a1e1 feat: enabled aes and sha support for esp32c5 mp version
This commit enabled AES and SHA support for esp32c5.
2024-05-27 11:03:02 +05:30
Harshal Patil 8657860580 Merge branch 'fix/mbedtls_port_coverity_fixes' into 'master'
fix(mbedtls/port): Fix some divide-by-zero and deadcode coverity checks

Closes IDF-9851 and IDF-9846

See merge request espressif/esp-idf!30954
2024-05-27 12:55:38 +08:00
Jeroen Domburg a1ba660b4a change(system): heap_caps_alloc returns aligned memory if caps indicate a need for it
The implicit promise of heap_alloc_caps() and friends is that the memory it
returns is fit for the purpose as requested in the caps field. Before
this commit, that did not happen; e.g. DMA-capable memory wass returned
from a correct region, but not aligned/sized to something the DMA subsystem
can handle.

This commit adds an API to the esp_mm component that is then used by the
heap component to adjust allocation alignment, caps and size dependent on
the hardware requirement of the requested allocation caps.
2024-05-27 12:41:18 +08:00
Mahavir Jain fef7444962 Merge branch 'fix/cleanup_unaccessible_sha3_regs' into 'master'
fix(soc): Cleanup inaccessible SHA_3 registers from the header files

See merge request espressif/esp-idf!30958
2024-05-27 12:23:47 +08:00
igor.udot 33fa42ca74 feat(ledc): support ledc on esp32c5 2024-05-27 11:26:11 +08:00
Kevin (Lao Kaiyao) b1a5d80bcc Merge branch 'bugfix/check_i2s_intr_alloc_failure' into 'master'
fix(i2s): check gdma callback register state and add missed port2 on p4

See merge request espressif/esp-idf!31018
2024-05-27 11:15:00 +08:00
Xiaoyu Liu 18f6be771d feat(system/console): add help command verbose level option
Support users to demonstrate command info in different verbose levels.

Closes https://github.com/espressif/esp-idf/issues/9158
2024-05-27 10:47:40 +08:00
laokaiyao 42cee2b94a fix(i2s): reserve some invalid registers on S2 2024-05-27 10:46:48 +08:00
laokaiyao d2468b8d0e fix(i2s): add the missed port2 for p4 2024-05-27 10:46:48 +08:00
laokaiyao 3728dac3df fix(i2s): add check to gdma callback register 2024-05-27 10:46:48 +08:00
Zhi Wei Jian ea2f512cb5 Merge branch 'feat/add_hci_log_record_for_nimble' into 'master'
Feat/add hci log record for nimble

See merge request espressif/esp-idf!30924
2024-05-27 09:33:14 +08:00
morris de5fb9f070 feat(mcpwm): driver support on esp32-c5 2024-05-26 22:55:03 +08:00
morris 80f5444f86 feat(mcpwm): check if the gpio used by generator is reserved by others 2024-05-26 22:28:11 +08:00
Frederick Vollbrecht 71b5277e81 fix missing macos-arm propertie in json schema 2024-05-25 00:35:25 +02:00
Sudeep Mohanty 003f3bb5dc Merge branch 'task/macos_hello_world_ci_test' into 'master'
feat(ci): Fixed linux build on MacOS + Added host_test for the hello_world linux app for MacOS runners

Closes IDF-9208

See merge request espressif/esp-idf!30800
2024-05-25 02:14:15 +08:00
Konstantin Kondrashov 13cfcc463f Merge branch 'feature/flockfile' into 'master'
feat(newlib): Adds flockfile/funlockfile for safe multi-line printing

Closes IDF-2078

See merge request espressif/esp-idf!31009
2024-05-24 23:08:32 +08:00
morris 69ef3b6a34 change(rgb_lcd): set DMA transfer burst size 2024-05-24 22:43:55 +08:00
morris 75b5f02490 change(i80_lcd): set DMA transfer burst size 2024-05-24 22:43:55 +08:00
morris dc060460ea change(async_memcpy): set DMA transfer burst size 2024-05-24 22:43:55 +08:00
morris dc6989796a feat(gdma): set burst size and return alignment constraint
burst size can affect the buffer alignment
2024-05-24 22:43:55 +08:00
Sudeep Mohanty 00efba0565 fix(linux): Added instructions to ignore build warnings in CI for MacOS
This commit updates the host-test.yml to add instructions to ignore
certain build warnings when the linux target is built on MacOS. This way
the test doesn't get flagged as failed in CI for the warnings and can run.
2024-05-24 16:29:47 +02:00
Sudeep Mohanty e5fb198adc fix(linux): Fixed linux target build failure in esp_app_format for MacOS
This commit fixes a build failure in the esp_app_format component
for the linux target when built on a MacOS machine.
2024-05-24 16:29:43 +02:00
Fu Hanxi 61559dc3e4 ci: ignore collect import error on CI with env var 2024-05-24 16:29:39 +02:00
Sudeep Mohanty 50460d3483 feat(ci): Added CI host test for the linux target on MacOS runners
This commit adds a CI host test for the linux target to build and run
MacOS runners. Additionally, it adds a MacOS test for the hellow_world
app.
2024-05-24 16:29:22 +02:00
Sudeep Mohanty ac64aa0c60 fix(linux): Miscellaneous fixes for linux build on MacOS
This commit fixes some compilation errors for the linux build on MacOS.
2024-05-24 16:23:54 +02:00
Darian 19c784efef Merge branch 'refactor/usb_mock_classes' into 'master'
refactor(usb): Split test device descriptors from mock classes

See merge request espressif/esp-idf!30685
2024-05-24 22:22:18 +08:00
Wan Lei e1ed893550 Merge branch 'fix/spi_flash_replace_gpio_hal' into 'master'
fix(spi_flash): replace gpio_hal_iomux_func_sel

See merge request espressif/esp-idf!29478
2024-05-24 22:15:34 +08:00
Ivan Grokhotkov 5b1fd0efe9
ci(sdmmc): enable tests for ESP32-P4 2024-05-24 15:05:35 +02:00
Michael (XIAO Xufeng) 3e877842cd Merge branch 'feat/sdmmc_spi_no_crc' into 'master'
feat(sdmmc_io): support sending CMD53 with fixed address, bypass sdspi crc check

Closes IDF-9387

See merge request espressif/esp-idf!30643
2024-05-24 20:27:28 +08:00
Song Ruo Jing 2621d67da2 Merge branch 'feature/esp32p4_ppa_driver_support' into 'master'
feat(ppa): add PPA driver support for ESP32P4

Closes IDF-6878

See merge request espressif/esp-idf!29301
2024-05-24 19:22:58 +08:00
Konstantin Kondrashov b0457ee0ac feat(newlib): Adds flockfile/funlockfile for safe multi-line printing
for printf, vprintf, etc.

Closes https://github.com/espressif/esp-idf/issues/2565
2024-05-24 14:16:16 +03:00
shenmengjing 5d07b48c27 docs: Update the CN Translation for build-system 2024-05-24 18:50:04 +08:00
Darian Leung 6a3bb3294d
refactor(usb): Split test device descriptors from mock class files
Previously, descriptors of the test devices were stored direclty in the mock
device files (e.g., "mock_[hid|msc].[h|c]"). This commit splits out the device
descriptors to separate files (e.g., "dev_[hid|msc].c") along with getter
functions.

Users that want to run the tests locally on a different device simply need to
update the "dev_[hid|msc].c" file for their device.
2024-05-24 17:43:40 +08:00
Armando (Dou Yiwen) c9167ef782 Merge branch 'feat/isp_bf_feature' into 'master'
feat(isp): added isp bf driver

Closes IDF-9999

See merge request espressif/esp-idf!30968
2024-05-24 16:43:55 +08:00
morris 404ffa299b Merge branch 'feat/rmt_support_esp32c5mp' into 'master'
feat(rmt): add driver support on esp32c5

Closes IDF-8726

See merge request espressif/esp-idf!30879
2024-05-24 16:30:48 +08:00
Frantisek Hrbata 6f41dee0cd feat: add diff option support to idf.py size commands
This adds a possibility to specify --diff option to idf.py size,
size-components and size-files commands. This can be map file directly,
project directory or build directory.

Usage example:
idf.py size-components --diff ../hello_world2/build/hello_world.map
idf.py size-components --diff ../hello_world2/build
idf.py size-components --diff ../hello_world2

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-24 15:19:37 +08:00
Konstantin Kondrashov 2edf936984 Merge branch 'feature/coverity_fix_esp_timer_impl_early_init' into 'master'
fix(esp_timer): Fix Coverity issue - logically dead code in esp_timer_impl_early_init

Closes IDF-10005

See merge request espressif/esp-idf!31019
2024-05-24 15:12:51 +08:00
Wang Qixiang a2be60a697 Merge branch 'bugfix/mldv6_report_memory_leak' into 'master'
fix(esp_netif): Fix mldv6 report memory leak in esp_netif

Closes IDF-9990

See merge request espressif/esp-idf!30916
2024-05-24 15:06:13 +08:00
zhiweijian 9946315a5f feat(bt/nimble): support hci log for nimble 2024-05-24 14:51:06 +08:00
Song Ruo Jing ea7d496e58 feat(ppa): add PPA driver support for ESP32P4
Remove L4/L8, YUV422 in PPA driver
Clean up
2024-05-24 14:23:54 +08:00
Song Ruo Jing d956ba2a6c feat(ppa): add PPA driver support for ESP32P4
Add burst_length option to client
Change uint32_t to color_pixel_rgb888_data_t
Descriptor always malloc with MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT
Add dscr-port mode block size configuration as a separate API in 2D-DMA driver
Do writeback only on an extended window, instead of entire picture
2024-05-24 14:23:14 +08:00
Island 657b35cfea Merge branch 'fix/ble_mesh_gatts_bugfix' into 'master'
fix(ble_mesh): Create service after service register success

Closes BLERP-758

See merge request espressif/esp-idf!30877
2024-05-24 14:09:31 +08:00
Island 039c6d7380 Merge branch 'fix/fix/ble_mesh_sar_bugfix' into 'master'
BLE Mesh SAR bugfix

Closes BLERP-761 and BLERP-762

See merge request espressif/esp-idf!30880
2024-05-24 14:09:14 +08:00
Armando 6e3efc7b9f feat(isp): added isp bf driver 2024-05-24 10:25:42 +08:00
Adam Múdry 050db26419 Merge branch 'fix/coverity_use_after_free_partition.c' into 'master'
fix(partition): Simplify macro loop in esp_partition_unload_all, should fix Coverity problem

Closes IDF-9837

See merge request espressif/esp-idf!30853
2024-05-23 23:08:11 +08:00
Sonika Rathi 83d58f9b59 Merge branch 'fix/coverity_vfs_fat_mem_overlapping' into 'master'
fix(fatfs): fix memory overlapping issue in vfs_fat.c

See merge request espressif/esp-idf!31026
2024-05-23 22:13:25 +08:00
Rahul Tank 946d25a884 Merge branch 'bugfix/restart_advertising_if_slave_23e' into 'master'
fix(nimble): start advertising if disconnect due to 0x3E in slave

Closes BLERP-618 and BLERP-757

See merge request espressif/esp-idf!30707
2024-05-23 20:17:37 +08:00
Shu Chen 17c9650885 Merge branch 'fix/release_ot_lock_before_call_tcpip_callback' into 'master'
feat(openthread): update openthread br lib

See merge request espressif/esp-idf!30546
2024-05-23 20:08:02 +08:00
Darian Leung 94e3b83bc0
refactor(usb): Rename mock class files
- Rename "test_usb_mock_..." class files to "mock_..."
- Fixed some codespell issues
- Fixed comment spacing
2024-05-23 17:47:24 +08:00
Xu Si Yu ae2b0f8ee1 feat(openthread): update openthread br lib 2024-05-23 17:39:14 +08:00
Jakob Hasse 6d5d4f8fc1 Merge branch 'feature/esp_app_desc_linux' into 'master'
feat(linux): esp_app_format now works on Linux

See merge request espressif/esp-idf!30781
2024-05-23 17:27:09 +08:00
chenjianhua 7e975ee805 fix(bt/bluedroid): Fixed BLE security vulnerability when using fixed IRK 2024-05-23 17:26:07 +08:00
Fu Hanxi 9250726dc8 Merge branch 'ci/ignore_import_error_while_collecting_pytest_cases_locally' into 'master'
ci: ignore import error when collecting pytest cases locally

Closes IDFCI-1877

See merge request espressif/esp-idf!30984
2024-05-23 17:08:58 +08:00
zwx d7715b96b2 feat(eth) configure eth mac using esp_read_mac
* Closes https://github.com/espressif/esp-idf/issues/13808
2024-05-23 16:41:26 +08:00
Song Ruo Jing 8464fac845 feat(ppa): add PPA driver support for ESP32P4
Remove the check for in_accepting_trans_state
Add color_pixel_xxxx_data_t structures to color_types.h
Fix PM lock protection (Tested, now works well)
* CPU_MAX, PM lock and semaphore order
* Remove ppa_driver PM lock
Modify concurrency (queue, trans recycle, semaphore, ...)
Add programming guide
Add test apps
2024-05-23 16:40:56 +08:00
Song Ruo Jing 916c0ef8d1 feat(ppa): add PPA driver support for ESP32P4
Fix pm_lock assert and assign to NULL
Alpha value union
Tested with CONFIG_PM_ENABLE
2024-05-23 16:40:56 +08:00
Song Ruo Jing 01bc7dcc56 feat(ppa): add PPA driver support for ESP32P4
Separate callback registration to individual API
Fix YUV420 output
Separate source files into operations
2024-05-23 16:40:56 +08:00
Song Ruo Jing fd1a718f62 feat(ppa): add PPA driver support for ESP32P4
Modified API operation configuration structure
Rename invoker to client
Support YUV420 color mode for SRM
Move PPA srm/blending engine reset ahead of any 2D-DMA channel configurations
2024-05-23 16:40:56 +08:00
Song Ruo Jing 346bc077c5 feat(ppa): add PPA driver support for ESP32P4
Added doxygen
Refactored driver to malloc trans_elm memory when registering the client
Cleaned up driver
Added API check
One client now only responsible for one operation
2024-05-23 16:40:56 +08:00
Song Ruo Jing 95ee1595f9 feat(ppa): add PPA driver support for ESP32P4
Add out_buffer_size field to all oper_config_t
Add strict check for out buffer addr and size alignment
2024-05-23 16:40:55 +08:00
Song Ruo Jing 963c893cc7 feat(ppa): add PPA driver support for ESP32P4
Fix bugs found in AE lvgl demo examples

Add color keying feature to blending
2024-05-23 16:40:55 +08:00
Song Ruo Jing a86e03cba3 feat(ppa): add PPA driver support for ESP32P4
Renamed SR to SRM
2024-05-23 16:40:55 +08:00
Song Ruo Jing 368ef8b472 feat(ppa): add PPA driver support for ESP32P4
Improved/Refactored on the APIs
2024-05-23 16:40:55 +08:00
Song Ruo Jing 776c3ef392 feat(ppa): add PPA driver support for ESP32P4
Add fill operation
Split ppa_do_operation, pre-process some trans config
2024-05-23 16:40:55 +08:00
Song Ruo Jing fd19979d88 feat(ppa): add PPA driver support for ESP32P4
cleaned up a bit, unify to some static functions
2024-05-23 16:40:55 +08:00
Song Ruo Jing 715004f07e feat(ppa): add PPA driver support for ESP32P4
Add invoker concept
Add blend operation
2024-05-23 16:40:55 +08:00
Song Ruo Jing 36732fbcb4 feat(ppa): add PPA driver support for ESP32P4 2024-05-23 16:40:55 +08:00
wanlei 8762c4d1df fix(spi_flash): replace gpio_hal_iomux_func_sel 2024-05-23 16:29:22 +08:00
Fu Hanxi 9fe2986c82
ci: ignore import error when collecting pytest cases locally 2024-05-23 10:09:37 +02:00
Fu Hanxi 5b93f4e552 Merge branch 'ci/consider_more_components_dirs' into 'master'
ci: improve get_mr_components, take more components into consideration

See merge request espressif/esp-idf!30673
2024-05-23 16:00:19 +08:00
luoxu 26a693eed7 fix(ble_mesh): change tx/rx lock to recursive mutex to avoid dead lock 2024-05-23 15:12:03 +08:00
luoxu 6ca1651d14 fix(ble_mesh): reference net_buf on correct positions 2024-05-23 15:12:03 +08:00
Roland Dobai 4269ab461b Merge branch 'fix/gdbgui_version_check' into 'master'
fix(tools): Use GDGBUI arguments based on its version

Closes IDFGH-12674

See merge request espressif/esp-idf!30995
2024-05-23 14:38:56 +08:00
Roland Dobai 06b4b97326 fix(tools): Use GDGBUI arguments based on its version
Closes https://github.com/espressif/esp-idf/issues/13665
2024-05-23 07:33:11 +02:00
Mahavir Jain bc2ae212cf fix(ecc_alt): adjust null pointer check to fix coverity warning 2024-05-23 13:01:32 +08:00
harshal.patil 7c7c33ecbd
fix(mbedtls/port): Fix some divide-by-zero and deadcode coverity checks 2024-05-23 09:45:44 +05:30
luoxu 2567b7175d fix(ble_mesh): Create service after service register success 2024-05-23 12:13:45 +08:00
morris bfc29da19a feat(rmt): add driver support on esp32c5
MP version
2024-05-23 11:23:14 +08:00
morris cb2898d033 change(rmt): rename sleep back to sleep retention 2024-05-23 11:02:07 +08:00
morris 098abb5993 Merge branch 'feat/pcnt_support_esp32c5' into 'master'
feat(pcnt): add driver support on esp32c5

Closes IDF-8683

See merge request espressif/esp-idf!30854
2024-05-23 09:53:08 +08:00
Wan Lei 8778917cb0 Merge branch 'feat/c5mp_i2s_support' into 'master'
feat(i2s): c5mp i2s support

Closes IDF-8713 and IDF-8714

See merge request espressif/esp-idf!30828
2024-05-22 23:30:18 +08:00
Adam Múdry 1ed3bf14e9 Merge branch 'fix/sdsdpi_example_esp32p4_add_ldo_config' into 'master'
fix(storage): Fix and update storage examples using SD cards for SoCs with SOC_SDMMC_IO_POWER_EXTERNAL 1 (ESP32-P4)

Closes IDF-8329

See merge request espressif/esp-idf!30504
2024-05-22 22:49:29 +08:00
Armando (Dou Yiwen) 92f9301ceb Merge branch 'feat/esp32p4_xip_psram' into 'master'
psram: support xip_psram on esp32p4

Closes IDF-7556

See merge request espressif/esp-idf!26903
2024-05-22 21:18:19 +08:00
Fu Hanxi 7e1fc695ed ci: optimize wifi .build-test-rules.yml 2024-05-22 20:52:32 +08:00
Fu Hanxi 59bd0b3166 ci: update .build-test-rules.yml based on latest detected components 2024-05-22 20:52:32 +08:00
Fu Hanxi 65d08698e8 ci: improve get_mr_components, take more components into consideration 2024-05-22 20:52:32 +08:00
Daniel Paul 3d48ac51f9 docs: Add information to build system about IDF Component Manager 2024-05-22 20:48:18 +08:00
Li Shuai b959a3e3c7 fix(wifi): fixed the issue of tg0 watchdog reset caused by wifi module retention 2024-05-22 20:21:57 +08:00
Ondrej Kosta 2daf4e4fc5 fix(esp_eth): fixing memory leak and invalid bit shift 2024-05-22 20:21:57 +08:00
Adam Múdry 3968dcd7c6 ci(examples/storage): Enable perf_benchmark spiflash example and build others 2024-05-22 14:09:17 +02:00
Adam Múdry 8485fa9c5a fix(storage): Fix SD card examples for SoCs with SOC_SDMMC_IO_POWER_EXTERNAL 1 2024-05-22 14:09:17 +02:00
Konstantin Kondrashov 51040d3e68 Merge branch 'bugfix/log_level_get' into 'master'
fix(log): Fix log_level_get, add item to cache after checking linked list

Closes IDFCI-2165 and IDFCI-2166

See merge request espressif/esp-idf!30993
2024-05-22 19:15:38 +08:00
sonika.rathi 8e3e642db4 fix(fatfs): fix memory overlapping issue in vfs_fat.c 2024-05-22 13:06:59 +02:00
Guillaume Souchere f7d2423826 Merge branch 'feat/update-memory-layout-c5-mp' into 'master'
feat(heap): support heap and update memory layout on esp32c5-mp target

Closes IDF-9641 and IDF-9358

See merge request espressif/esp-idf!30640
2024-05-22 19:00:21 +08:00
Mo Fei Fei 58f59de483 Merge branch 'docs/remove_esp32_devkits_user_guide' into 'master'
docs: remove esp32-devkits user guide

Closes DOC-5637

See merge request espressif/esp-idf!30998
2024-05-22 18:43:00 +08:00
Island 42f42f73b6 Merge branch 'feat/add_api_to_set_privacy_mode' into 'master'
feat(bt/bluedroid): support BLE set privacy mode

Closes BLERP-745

See merge request espressif/esp-idf!30801
2024-05-22 17:57:04 +08:00
Island a3cb889ba3 Merge branch 'bugfix/fix_bci_416' into 'master'
Fixed BLE interrupt allocation using esp API on ESP32C3

See merge request espressif/esp-idf!30652
2024-05-22 17:57:01 +08:00
wanlei 1b3020374a fix(i2s): temporary disable debug log in example pytest script 2024-05-22 17:29:48 +08:00
wanlei fb8376cb8c feat(i2s): c5mp i2s support 2024-05-22 17:29:48 +08:00
Adam Múdry c2ac9bad62 fix(partition): Simplify macro loop in esp_partition_unload_all 2024-05-22 10:54:14 +02:00
Wan Lei 207966d64c Merge branch 'feat/c5mp_gpspi_support' into 'master'
feat(spi): c5mp gpspi support

See merge request espressif/esp-idf!30960
2024-05-22 16:36:16 +08:00
Konstantin Kondrashov a800fcb47e fix(esp_timer): Fix Coverity issue - logically dead code in esp_timer_impl_early_init 2024-05-22 11:20:08 +03:00
Armando d988b824d8 change(image): move image_process driver from bootloader_support to esp_system 2024-05-22 15:56:07 +08:00
Armando 10d3912c70 feat(xip_psram): support xip psram feature on esp32p4 2024-05-22 15:56:07 +08:00
Rahul Tank 3df54c5178 fix(nimble): start advertising if disconnect due to 0x3E in slave 2024-05-22 12:53:29 +05:30
Ondrej Kosta f36d034f7f Merge branch 'feature/network_examples_rules' into 'master'
ci(examples): added depends_components for Network examples

Closes IDF-8390

See merge request espressif/esp-idf!30611
2024-05-22 15:10:33 +08:00
Guillaume Souchere 4b9b8be42b Merge branch 'feat/heap-trace-stop-recording-allocs-but-not-free' into 'master'
feat(heap-trace): Add a pause state to the heap tracing

Closes IDFGH-12836

See merge request espressif/esp-idf!30962
2024-05-22 15:03:48 +08:00
mofeifei 7c3ad96ab8 docs: remove esp32-devkits user guide 2024-05-22 14:37:27 +08:00
Armando 862aca1fcc change(mmu): fix spell issue 2024-05-22 14:13:29 +08:00
Armando 3e477681ac change(cpu_start): added note about internal ram only stage 2024-05-22 14:13:29 +08:00
Armando 72cb920799 bugfix(cpu_start): check c3 efuse error log on ram app condition
Prior to this commit, esp_efuse_check_errors() is only called when it's
2nd stage btld app.

This commit moves this error check so under all conditions (including
ram app, pure ram app) will check this efuse error
2024-05-22 14:13:29 +08:00
Armando 24895ac93c refactor(cpu_start): move uni/multi core log later 2024-05-22 14:13:29 +08:00
Ondrej Kosta 35e6adf89b Merge branch 'bugfix/emac_coverity' into 'master'
fix(esp_eth): fixing memory leak and invalid bit shift

Closes IDF-9970 and IDF-9969

See merge request espressif/esp-idf!30844
2024-05-22 13:55:21 +08:00
Marius Vikhammer d513b7dbdf Merge branch 'docs/update_c5_esp_timer_docs' into 'master'
docs(sys-time): add esp32c5 info into programming guide docs

See merge request espressif/esp-idf!30819
2024-05-22 13:44:30 +08:00
Konstantin Kondrashov d3ed1198d3 fix(log): Fix log_level_get, add item to cache after checking linked list 2024-05-22 07:56:30 +03:00
wanlei b76620374f fix(spi): fix dma data error, change xtal as default source 2024-05-22 12:17:43 +08:00
Xiaoyu Liu 30723cbf61 docs(sys-time): add esp32c5 info into programming guide docs 2024-05-22 12:15:50 +08:00
Omar Chebib cd7c5a8bf5 Merge branch 'feat/ai_coproc_support_esp32p4' into 'master'
feat(riscv): add support for PIE coprocessor and HWLP feature

Closes IDF-9733 and IDF-9734

See merge request espressif/esp-idf!30576
2024-05-22 12:04:38 +08:00
Konstantin Kondrashov 60532e7a80 Merge branch 'feature/logv2' into 'master'
feat(log): Intermediate log refactoring

See merge request espressif/esp-idf!30683
2024-05-22 01:34:25 +08:00
Jiang Jiang Jian 619c721c4b Merge branch 'bugfix/wifibug-510' into 'master'
fix the issue of except wifi state caused by the missing mac retention config

Closes WIFIBUG-510

See merge request espressif/esp-idf!30901
2024-05-21 22:59:31 +08:00
Konstantin Kondrashov 149a9e0d7f feat(log): Refactoring color macros 2024-05-21 17:22:34 +03:00
Konstantin Kondrashov ec594e2c6f feat(log): Refactoring lock APIs 2024-05-21 17:22:34 +03:00
Konstantin Kondrashov 4ad9ad8086 feat(log): Adds new timestamp APIs and bootloader log Kconfigs 2024-05-21 17:22:34 +03:00
Li Shuai e7aa432532 fix(esp32c6): fix the issue of except wifi state caused by the missing mac retention config 2024-05-21 21:32:14 +08:00
Jiang Jiang Jian 9ad03cd4b7 Merge branch 'feature/support_coex_pwr' into 'master'
feat(wifi): support coex pwr

Closes AEG-932 and WIFI-3606

See merge request espressif/esp-idf!30268
2024-05-21 21:00:30 +08:00
Jiang Jiang Jian 9fe3b0fc31 Merge branch 'bugfix/stop_tg_wdt_in_xpd_xtal_lightsleep' into 'master'
fix(esp_hw_support): stop tg wdt in xpd xtal lightsleep

Closes PM-33

See merge request espressif/esp-idf!27566
2024-05-21 20:19:10 +08:00
chenjianhua f573cd09ab feat(bt/bluedroid): support BLE set privacy mode 2024-05-21 19:53:43 +08:00
Suren Gabrielyan c5062a1895 Merge branch 'pr-13724' into 'master'
fix(ws_transport): fix of `server-key` corruption

See merge request espressif/esp-idf!30855
2024-05-21 19:30:33 +08:00
Abhik Roy 443843b362 Merge branch 'examples/icmpv6_ping_readme_update' into 'master'
docs(examples): Added network config to icmpv6_ping readme

Closes IDFGH-11853 and IDF-9847

See merge request espressif/esp-idf!29400
2024-05-21 18:23:45 +08:00
Xiao Xufeng 52baadf0db feat(sdmmc_io): support sending CMD53 with fixed address 2024-05-21 18:09:23 +08:00
Guillaume Souchere 63b8143e32 docs(heap_debug): Docuement the heap_trace_alloc_pause function
Document the newly introduced heap_trace_alloc_pause function in
the heap tracing section.
2024-05-21 11:37:37 +02:00
Omar Chebib 82668dd3fe fix(riscv): make HWLP feature use direct saving of lazy saving 2024-05-21 17:27:46 +08:00
Michael (XIAO Xufeng) 438971c108 Merge branch 'feat/kconfig_h2_v1.0_dev' into 'master'
esp32h2: add development support option for v1.0 chips

See merge request espressif/esp-idf!30534
2024-05-21 17:20:56 +08:00
wanlei e2432c1d20 feat(spi): c5mp gpspi master slave and hd driver support 2024-05-21 17:12:41 +08:00
C.S.M d35651790a Merge branch 'feat/brownout_support_p4' into 'master'
feat(brownout): Add brownout detector support on esp32p4

Closes IDF-7519

See merge request espressif/esp-idf!30896
2024-05-21 17:04:16 +08:00
Marius Vikhammer 67c82e7e8d Merge branch 'docs/fix_doxygen_1_9_8_failure' into 'master'
docs(doxygen): fix misc issues with new version of doxygen

See merge request espressif/esp-idf!30915
2024-05-21 17:02:00 +08:00
Guillaume Souchere 3f366d6e8b feat(heap-trace): Add a pause state to the heap tracing
This commit adds a feature to pause the heap tracing in the
sense that in this state, the heap tracing will no longer
record the new allocations but will continue to monitor
the free() in order to keep track of the status of the
allocations present in the list of records.

See https://github.com/espressif/esp-idf/issues/13803
2024-05-21 10:59:01 +02:00
Guillaume Souchere d5e4f419f3 change(heap): Remove todo of closed ticket in memory_layout.c files
Leftover closed ticket removed from memory_layout.c on
the following targets:
- esp32c5
- esp32c6
- esp32h2
2024-05-21 10:40:22 +02:00
Guillaume Souchere 32559d51d6 change(heap): Update soc_memory_regions on esp32c5
The array of memory regions is simplyfied by using the
macro defined in soc.h (for beta3 and mp respectively).
2024-05-21 10:40:22 +02:00
Guillaume Souchere 78f4474416 fix(soc): Fix ROM stack start for esp32c5-mp
Update the value SOC_ROM_STACK_START to the expected
value from bootloader.ld memory map.
2024-05-21 10:40:22 +02:00
Kevin (Lao Kaiyao) d9e93dc4d5 Merge branch 'bugfix/update_pms_reg_header' into 'master'
fix(soc): fix the pms reg headers base addr

See merge request espressif/esp-idf!30964
2024-05-21 15:06:45 +08:00
C.S.M a254eb5818 test(esp_intr_dump): Fix the esp intr dump expected output because the changes happened in brownout 2024-05-21 15:06:29 +08:00
C.S.M 9b3bd13a13 feat(brownout): Add brownout detector support on esp32p4 2024-05-21 15:03:28 +08:00
laokaiyao e4224be406 fix(soc): fix the pms reg headers base addr 2024-05-21 14:36:47 +08:00
morris 4db2236626 Merge branch 'feat/axi_icm_qos' into 'master'
feat(axi_icm): AXI interconnect QoS

See merge request espressif/esp-idf!30894
2024-05-21 14:35:56 +08:00
liuning 68fe185371 feat(wifi): support coex pwr 2024-05-21 14:14:30 +08:00
Rahul Tank 7e2534d533 Merge branch 'feat/enhanced_att' into 'master'
feat(nimble): Added support for Enhanced ATT

Closes BT-3065

See merge request espressif/esp-idf!30422
2024-05-21 14:11:13 +08:00
morris 7c8095a07f feat(axi_icm): AXI interconnect QoS configuration functions 2024-05-21 14:07:01 +08:00
Guillaume Souchere 300deed514 Merge branch 'doc/update-performance-guides-p4-c5' into 'master'
docs(performance): Add P4 and C5 information in the performance guides

Closes IDF-7761 and IDF-9494

See merge request espressif/esp-idf!30362
2024-05-21 14:02:19 +08:00
Shen Meng Jing 4166acb69c Merge branch 'docs/translate_ble_mesh_and_reproducible_builds' into 'master'
docs: Provide translation for ble-mesh and reproducible-builds

Closes DOC-7553

See merge request espressif/esp-idf!30001
2024-05-21 12:11:13 +08:00
Marius Vikhammer 793e6ba848 Merge branch 'bugfix/linux_target_miss_header' into 'master'
fix(efuse): fix compile failure on linux target

See merge request espressif/esp-idf!30967
2024-05-21 12:05:36 +08:00
Island bad4c4e1d4 Merge branch 'bugfix/fixed_issues_on_esp32c6_and_esp32h2' into 'master'
fixed some ble issues on esp32c6 and esp32h2

Closes BLERP-673, BLERP-676, BLERP-667, BLERP-691, BLERP-688, BLERP-687, BLERP-713, and BLERP-747

See merge request espressif/esp-idf!30890
2024-05-21 11:52:22 +08:00
morris d477f1e580 Merge branch 'docs/translate_core_dump' into 'master'
docs: Provide CN translation for core dump

Closes DOC-7841

See merge request espressif/esp-idf!30888
2024-05-21 11:30:08 +08:00
shenmengjing ebc0a8efc5 docs: Provide translation for ble-mesh and reproducible-builds 2024-05-21 11:05:36 +08:00
Lou Tian Hao 4121274449 Merge branch 'fix/core1_access_cache_when_core0_close_cache_during_sleep' into 'master'
fix(esp_system): fix core1 access cache when core0 close cache during sleep

See merge request espressif/esp-idf!30941
2024-05-21 10:52:18 +08:00
Marius Vikhammer 5bdde4c994 fix(efuse): fix compile failure on linux target 2024-05-21 10:45:54 +08:00
Jiang Jiang Jian a7721235e1 Merge branch 'bugfix/esp32c6eco1_coex_ble_deinit_wifi_bcn_timeout' into 'master'
fix the issue where deinit ble in a coexist scenario causes the wifi mac tsf counter to stop

Closes PM-115

See merge request espressif/esp-idf!30868
2024-05-21 10:45:50 +08:00
Wang Tao d206536524 Merge branch 'feature/add_softap_dtim_and_csa_count_and_ignore_erro_nodata' into 'master'
feat(wifi):add softap csa count dtim count config

Closes IDFGH-11163

See merge request espressif/esp-idf!29755
2024-05-21 10:23:27 +08:00
Martin Vychodil b24a6af0b7 Merge branch 'refactor/partition_private_includes' into 'master'
refactor(esp_partition): Made private includes private on Linux

See merge request espressif/esp-idf!29747
2024-05-21 04:02:14 +08:00
Jan Beran 981062d54f feat(tools): add often used espsecure subcommands to idf.py 2024-05-20 15:13:35 +02:00
Suren Gabrielyan 8384b2c76f fix(ws_transport): utility functions minor improvments 2024-05-20 16:26:40 +04:00
Richard Allen 10a2c2ccc9 fix(ws_transport): fixed `server-key` corruption
When first fragment is sent over HTTP during websocket
connection, defer buffering of fragment until after the
websocket server-key is validated.

This order is required because the first fragment buffering
overwrites the memory holding the server-key headers.

Fixes 2267d4b
Fixes https://github.com/espressif/esp-protocols/issues/396
PR https://github.com/espressif/esp-idf/pull/13724
2024-05-20 16:25:53 +04:00
Mahavir Jain 665beae23f Merge branch 'feature/update_cjson_version_to_1.7.18' into 'master'
feat(cjson): update submodule to v1.7.18

Closes IDF-9952

See merge request espressif/esp-idf!30886
2024-05-20 18:13:05 +08:00
harshal.patil a15f19260b
fix(soc): Cleanup inaccessible SHA registers from the header files 2024-05-20 15:34:42 +05:30
Bogdan Kolendovskyy c1104fc804 Merge branch 'feature/ethernet_example_basic_test' into 'master'
feat(examples/ethernet/basic): add pytest script to basic ethernet example

Closes IDF-9823

See merge request espressif/esp-idf!30755
2024-05-20 17:39:04 +08:00
wanlei 165394b744 fix(spi_slave_hd): fix seg mode potential iwdt timeout when multi task call 2024-05-20 17:14:29 +08:00
Dai Zi Yan 09dd046ba1 Merge branch 'docs/update_translation_for_idf_py_and_spiffs' into 'master'
docs: Update the CN Translation for idf-py and spiffs

Closes DOC-7686 and DOC-7536

See merge request espressif/esp-idf!30699
2024-05-20 16:15:21 +08:00
shenmengjing 6f4d2ade10 docs: Update the CN Translation for ram-usage and speed 2024-05-20 09:40:06 +02:00
Guillaume Souchere d98b0c497a docs(performance): Add esp32p4/c5 relevant information to the performance guides
in speed.rst:
- add startup time increase info when spiram test is enabled
- add startup time increase info when spiram is enabled and
  poisoning comprehensive is enabled
- add L2 cache variable size info to optimize IRAM space / cache misses
- update sections refencing bluetooth/wifi built-in tasks to not show
  related info for p4 targets.
- Add IDF_TARGET_RF_TYPE for esp32c5

in ram-usage.rst:
- add L2 cache variable size info to maximize RAM space

Remove the files from esp32c5.txt and esp32p4.txt
that are no longer in need of update.
2024-05-20 09:40:05 +02:00
Lou Tianhao df8fd000d4 fix(esp_system): fix core1 access cache when core0 close cache during sleep 2024-05-20 14:49:49 +08:00
Jiang Jiang Jian 375a4b878e Merge branch 'fix/fix_cpu_retention_build_error' into 'master'
fix(esp_hw_support): fix hw CPU retention chips build error if not powerdown CPU in sleep

See merge request espressif/esp-idf!30930
2024-05-20 14:02:24 +08:00
wangtao@espressif.com 1dbf032995 feat(wifi): add softap csa&dtim&wait_bcast_data setting and ignore err nodata 2024-05-20 13:59:45 +08:00
Mahavir Jain 99e52bb480 Merge branch 'feature/enable_rsa_support_for_c5_mp' into 'master'
feat: enable RSA support for c5  mp version

Closes IDF-8620

See merge request espressif/esp-idf!30753
2024-05-20 12:17:26 +08:00
Wan Lei da73e0f8a2 Merge branch 'fix/spi_sct_fix_descripter_oob_when_lager_then_4092' into 'master'
fix(spi_master): fix sct mode descripter oob when data lager then 4092 bytes

See merge request espressif/esp-idf!30545
2024-05-20 11:49:18 +08:00
Jiang Jiang Jian 8a50e61fd7 Merge branch 'feature/reason_for_ap_stadisconnected_event' into 'master'
esp_wifi: softAP: bugfix in  'WIFI_EVENT_AP_STADISCONNECTED' event and cleanup in softAP's disconnect_sta procedure

Closes WIFI-6044 and WIFIBUG-518

See merge request espressif/esp-idf!24238
2024-05-20 11:35:03 +08:00
wuzhenghui cded21d50e
fix(esp_hw_support): fix hw CPU retention chips build error if not powerdown CPU in sleep 2024-05-20 11:04:06 +08:00
Omar Chebib 55acc5e5e7 feat(riscv): add support for PIE coprocessor and HWLP feature
FreeRTOS tasks may now freely use the PIE coprocessor and HWLP feature.
Just like the FPU, usiing these coprocessors result in the task being pinned
to the core it is currently running on.
2024-05-20 10:47:58 +08:00
Marius Vikhammer 8ac349524f Merge branch 'bugfix/lp_core_tests_race_condition' into 'master'
fix(lp_core_test): fixed race-condition in lp core tests

Closes IDFCI-2140

See merge request espressif/esp-idf!30834
2024-05-20 10:44:58 +08:00
Sarvesh Bodakhe 6f966dd0ee fix(esp_wifi): Add some bugfixes and cleanup in softAP
1. Fix wrong reason code in 'WIFI_EVENT_AP_STADISCONNECTED' event
2. cleanup in softAP for disconnecting connected station
3. Update examples to display reason while processing WIFI_EVENT_AP_STADISCONNECTED event
2024-05-19 00:52:59 +05:30
Kapil Gupta b102277a12 Merge branch 'feat/add_itwt_teardown_status' into 'master'
feat(wifi): add itwt teardown status

See merge request espressif/esp-idf!30679
2024-05-19 02:37:11 +08:00
Aditya Patwardhan 2f689857b3 Merge branch 'fix/fix_flash_encryption_esp32p4' into 'master'
fix(bootloader_support): Fix flash encryption for esp32p4

See merge request espressif/esp-idf!30600
2024-05-17 23:48:28 +08:00
Aditya Patwardhan a36eb589a6 Merge branch 'fix/add_code_to_print_buffer' into 'master'
fix: Add code to print the response buffer

See merge request espressif/esp-idf!30911
2024-05-17 23:47:15 +08:00
Gao Xu 082730a2c1 Merge branch 'feature/esp32c5_gpio_remove_iomux_reg' into 'master'
feat(gpio): remove io_mux_reg array and fix matrix const input addr

See merge request espressif/esp-idf!30904
2024-05-17 23:15:57 +08:00
Konstantin Kondrashov 66013ba675 feat(log): Refactoring timestamp APIs (move only) 2024-05-17 17:42:31 +03:00
Konstantin Kondrashov 712005c451 Merge branch 'feature/log_level_check_refactoring' into 'master'
feat(log): Refactoring tag level check APIs

Closes IDF-9083, IDF-7919, and IDFGH-6947

See merge request espressif/esp-idf!29331
2024-05-17 22:36:27 +08:00
Darian 2716976c72 Merge branch 'fix/freertos_scheduler_suspend_crit' into 'master'
fix(freertos/idf): Add missing critical sections to vTaskSuspendAll()

See merge request espressif/esp-idf!30829
2024-05-17 22:06:38 +08:00
Adam Múdry 7b32f27e81 Merge branch 'fix/nvs_tool_entry_unknown_type_crash' into 'master'
fix(nvs): Fix nvs_tool accepting an unknown entry type

See merge request espressif/esp-idf!30503
2024-05-17 21:05:22 +08:00
gaoxu 64c9cb43a9 feat(gpio): fix gpio matrix const input addr on C5 MP 2024-05-17 20:55:26 +08:00
gaoxu 5c27ccdae4 feat(gpio): remove io_mux_reg array in gpio_periph.c from c5 2024-05-17 20:55:25 +08:00
Bogdan Kolendovskyy 712f0cbce4 feat(examples/ethernet/basic): add pytest script to basic ethernet example 2024-05-17 14:19:18 +02:00
Adam Múdry 9eedd57a18 fix(nvs): Fix nvs_tool accepting an unknown entry type 2024-05-17 13:18:52 +02:00
Alexey Lapshin 4523f2d674 Merge branch 'fix/stray_sections' into 'master'
fix(system): print warning if stray section is found while linking

See merge request espressif/esp-idf!30366
2024-05-17 18:36:22 +08:00
xuxiao 266ee73e92 feat(wifi): add itwt teardown status 2024-05-17 18:16:34 +08:00
Alexey Lapshin 2b36636f6f fix(system): print warning if stray section is found while linking 2024-05-17 13:37:42 +04:00
Harshit Malpani 49ad0a0766
fix: Add code to print the response buffer 2024-05-17 14:36:30 +05:30
nilesh.kale 92fdaea83a feat: enable RSA support for c5 mp version
This commit enables RSA peripheral support for ESP32-C5 MP version.
2024-05-17 14:22:30 +05:30
Marius Vikhammer 62bb532701 docs(doxygen): fix misc issues with new version of doxygen 2024-05-17 16:12:56 +08:00
Jakob Hasse 8508c85551 Merge branch 'refactor/mqtt_remove_unused_includes' into 'master'
refactor(mqtt): removed unused includes from tcp example

See merge request espressif/esp-idf!30914
2024-05-17 16:04:01 +08:00
WanqQixiang 1595388a7e fix(esp_netif): Fix mldv6 report memory leak in esp_netif 2024-05-17 15:53:55 +08:00
Armando (Dou Yiwen) 895e6d5afc Merge branch 'feat/isp_dsi_example' into 'master'
example(isp): added isp af example

Closes IDF-9808

See merge request espressif/esp-idf!30469
2024-05-17 15:17:35 +08:00
Jakob Hasse ba685edf45 refactor(mqtt): removed unused includes from tcp example 2024-05-17 09:15:35 +02:00
Sumeet Singh f265e50ca0 feat(nimble): Added support for Enhanced ATT or ATT over Enhanced L2CAP Credit Based Flow Control Mode 2024-05-17 12:27:32 +05:30
Armando d9d8c0365e example(isp): added isp af example 2024-05-17 12:39:15 +08:00
Hong Shu Qing 1a6060fa3a Merge branch 'feature/esp32c6_pu8m_in_sleep_support' into 'master'
feat(sleep): support 8m force pu in sleep for esp32c6 & esp32h2

See merge request espressif/esp-idf!30532
2024-05-17 11:34:47 +08:00
C.S.M 5bae2987ee Merge branch 'feature/i2c_multi_write' into 'master'
feature(i2c): Add feature for writting multi buffer

Closes IDFGH-12639

See merge request espressif/esp-idf!30697
2024-05-17 09:54:59 +08:00
Jakob Hasse 562c89993e feat(linux): esp_app_format now works on Linux 2024-05-16 17:01:02 +02:00
chaijie@espressif.com 36bbb64992 feat(sleep): support 8m force pu in sleep for esp32c6/esp32h2 2024-05-16 21:15:05 +08:00
Jiang Jiang Jian b7a59aa212 Merge branch 'bugfix/fix_c6_rx_statistics' into 'master'
fix(wifi):fix esp32c6 rx statistics does not work

Closes WIFIBUG-569

See merge request espressif/esp-idf!30859
2024-05-16 21:03:35 +08:00
yinqingzhao 694dbd6843 fix(wifi):esp32c6 wifi rx statistics is always zero 2024-05-16 19:20:59 +08:00
C.S.M 133bda4966 test(i2c_master): makeup a write-large read-small test for known reason 2024-05-16 19:14:59 +08:00
C.S.M ce7f095ddf docs(i2c_master): Add docs for transmit multi buffer in one transaction 2024-05-16 19:14:59 +08:00
C.S.M 2e591cf3f7 test(i2c_master): Add test for transmit multi buffer in one transaction 2024-05-16 19:14:59 +08:00
C.S.M af1524e7bb feat(i2c_master): Add feature for transmit multi buffer in one transaction,
Closes https://github.com/espressif/esp-idf/pull/13635
2024-05-16 19:14:59 +08:00
nilesh.kale 5348f1656f feat(cjson): update submodule to v1.7.18
Changelog: https://github.com/DaveGamble/cJSON/releases/tag/v1.7.18
2024-05-16 16:16:24 +05:30
zwl 8f3c069c3c ble: fixed some issues on ESP32C6 and ESP32H2 2024-05-16 17:28:58 +08:00
Jiang Jiang Jian c96d5da7bd Merge branch 'bugfix/fix_bss_color_issues' into 'master'
fix(bss_color):fix bss color issues

Closes WIFIBUG-537, FCW-2, and WIFI6-352

See merge request espressif/esp-idf!30523
2024-05-16 17:23:51 +08:00
zhangshuxian ca195872c1 docs: Provide CN translation for core dump 2024-05-16 16:55:15 +08:00
Liu Xiao Yu 23a68dacd6 Merge branch 'feature/console_add_sbom_file' into 'master'
feat(system/console): Added argtable3 SBOM manifest file for SPDX file generation for console component

Closes IDF-8228

See merge request espressif/esp-idf!30848
2024-05-16 16:47:22 +08:00
Shen Meng Jing 01355481af Merge branch 'docs/translate_four_docs_in_api-guides' into 'master'
docs: Provide CN Translation for four docs in api-guides

Closes DOC-7676

See merge request espressif/esp-idf!30351
2024-05-16 15:57:50 +08:00
Shen Meng Jing c0636f8399 Merge branch 'docs/translate_jpeg_driver_arch' into 'master'
docs: Provide translation for jpeg&override_driver&arch in peripherals

Closes DOC-7563

See merge request espressif/esp-idf!30068
2024-05-16 15:52:23 +08:00
Harshal Patil bb34d78bce Merge branch 'fix/aes_ext_mem_case_for_older_targets' into 'master'
fix(mbedtls/aes): Check location of the buffer only for SOC_AXI_DMA_EXT_MEM_ENC_ALIGNMENT

Closes IDFCI-2153

See merge request espressif/esp-idf!30850
2024-05-16 15:10:28 +08:00
yinqingzhao a484bdda11 fix(bss_color):fix bss color issues 2024-05-16 14:45:06 +08:00
Gao Xu b893e3b982 Merge branch 'feature/esp32c5_mp_gpio_support' into 'master'
feat(gpio): fix ESP32P4 fspics0 in io mux reg

See merge request espressif/esp-idf!30846
2024-05-16 14:36:42 +08:00
shenmengjing acbf7ac735 docs: Provide CN Translation for four docs in api-guides 2024-05-16 14:32:13 +08:00
shenmengjing 2dc3068a21 docs: Provide translation for jpeg&override_driver&arch in peripherals 2024-05-16 14:30:58 +08:00
Konstantin Kondrashov c3b0418a4e feat(log): Refactoring tag level check APIs 2024-05-16 09:26:08 +03:00
Tomas Rohlinek f375125e28 Merge branch 'feature/fatfs_ff_strfunc_support' into 'master'
feat(storage/fatfs): add Kconfig settings for FF_USE_STRFUNC

Closes IDFGH-12317

See merge request espressif/esp-idf!30141
2024-05-16 14:20:23 +08:00
Konstantin Kondrashov 374f497bf6 Merge branch 'feature/efuse_support_linux' into 'master'
feat(efuse): Support Linux target

Closes IDF-9144

See merge request espressif/esp-idf!30343
2024-05-16 14:12:15 +08:00
Konstantin Kondrashov 28e592563c Merge branch 'feature/unuse_old_log_apis' into 'master'
feat(all): Remove usage old log macros

See merge request espressif/esp-idf!30598
2024-05-16 13:57:06 +08:00
Jiang Jiang Jian a58e820a94 Merge branch 'bugfix/fix_esp32_cant_tx_after_tx_timeout' into 'master'
fix(wifi): fix esp32 unrecoverable m f issue

Closes WIFIBUG-449 and WIFIBUG-509

See merge request espressif/esp-idf!30856
2024-05-16 13:40:47 +08:00
harshal.patil 141cdac87e fix(mbedtls/aes): Check location of the buffer only for SOC_AXI_DMA_EXT_MEM_ENC_ALIGNMENT
When buffer_needs_realloc in the AES driver, check the location of the buffer only in case
of SOC_AXI_DMA_EXT_MEM_ENC_ALIGNMENT for allocating the newer buffer, otherwise use generic
DMA capable memory (as was done earlier)
2024-05-16 13:36:30 +08:00
Rahul Tank 57e8031e65 Merge branch 'feature/get_local_used_addr' into 'master'
feat(nimble): Added API to get local used address

See merge request espressif/esp-idf!30595
2024-05-16 12:14:38 +08:00
Xiaoyu Liu d325d6ebbe feat(system/console): Added argtable3 SBOM manifest file in console component for SPDX file generation 2024-05-16 12:00:00 +08:00
liuning 68cb30a609 fix(wifi): fix esp32 unrecoverable m f issue 2024-05-16 11:58:33 +08:00
Jiang Jiang Jian c76bc1cadf Merge branch 'bugfix/fix_sniffer_fcs_error_fail' into 'master'
fix(wifi): fixed sniffer dump fcs error packets fail

Closes IDFGH-9408 and IDFGH-12706

See merge request espressif/esp-idf!30128
2024-05-16 11:56:01 +08:00
Li Shuai 9de46dc084 fix(wifi): fix the issue where deinit ble in a coexist scenario causes the wifi mac tsf counter to stop 2024-05-16 11:32:32 +08:00
morris 3b376b03df feat(pcnt): add driver support on esp32c5 2024-05-16 11:09:48 +08:00
Gao Xu 7d097ca98b Merge branch 'csi/add_no_backup_buffer_usage_verify' into 'master'
feat(csi): add verify to no backup buffer usage

See merge request espressif/esp-idf!30788
2024-05-16 10:33:33 +08:00
Michael (XIAO Xufeng) 7bff9f9d28 feat(esp32h2): add development support option for v1.0 chips 2024-05-16 02:23:52 +08:00
Jakob Hasse 7c281c0380 Merge branch 'docs/p4_hw_design' into 'master'
docs(sys-time): update link to hw design guidelines

Closes IDF-8780

See merge request espressif/esp-idf!30795
2024-05-16 00:18:50 +08:00
Darian Leung 25efe5525d
refactor(freertos/idf): Add critical section requirements to function description
This commit adds a note regarding the critical section calling requires of some
internal functions.
2024-05-15 23:39:28 +08:00
Darian Leung 88a0227dbe
fix(freertos/idf): Add missing critical sections to vTaskSuspendAll()
vTaskSuspendAll() requires critical sections when building for SMP. Otherwise,
it is possible for a task to switch cores in between getting the core ID and
before incremented uxSchedulerSuspended.
2024-05-15 23:29:28 +08:00
Rahul Tank c516516a01 Merge branch 'doc/update_readme_enc_adv_kconfig' into 'master'
fix(nimble): Remove ESP IP dependancy on enc_adv_data example

See merge request espressif/esp-idf!30847
2024-05-15 22:50:17 +08:00
Konstantin Kondrashov aed84fa818 feat(efuse): Support Linux target 2024-05-15 16:54:45 +03:00
Wang Ning e4fd0b7862 Merge branch 'docs/add_missing_usb_functions_to_esp32-c3_devkit_user_guides' into 'master'
Docs: Added missing USB functions to ESP32-C3 DevKit User Guides

Closes DOC-7805

See merge request espressif/esp-idf!30787
2024-05-15 19:06:26 +08:00
Wang Ning e59446e652 Docs: Added missing USB functions to ESP32-C3 DevKit User Guides 2024-05-15 19:06:26 +08:00
Armando (Dou Yiwen) 0665d7511a Merge branch 'bugfix/fix_isp_input_data_type_limit' into 'master'
fix(isp): updated to only support input data type as raw8

See merge request espressif/esp-idf!30840
2024-05-15 18:46:41 +08:00
Rahul Tank 4d873e3c9f fix(nimble): Remove ESP IP dependancy on enc_adv_data example 2024-05-15 15:27:11 +05:30
gaoxu 37487f1c5e feat(gpio): fix the fspics0 in io mux reg 2024-05-15 17:34:25 +08:00
Rahul Tank d950485b98 Merge branch 'doc/update_readme_enc_adv' into 'master'
docs(nimble): Added chip information in enc_adv example README file

See merge request espressif/esp-idf!30768
2024-05-15 16:58:44 +08:00
Shu Chen 83eaef8c25 Merge branch 'feature/add_check_for_154_frame' into 'master'
fix(802.15.4): fix a risk for receive_at and ignore bit8 for the frame length

Closes TZ-729

See merge request espressif/esp-idf!30835
2024-05-15 16:01:13 +08:00
Marius Vikhammer bb380f92fd Merge branch 'bugfix/c5_isr_masking' into 'master'
fix(interrupt): fixed interrupt thresholds not working on C5

See merge request espressif/esp-idf!30818
2024-05-15 16:00:17 +08:00
shenmengjing 5a2836c6bb docs: Edit the CN Translation for idf-py 2024-05-15 15:28:24 +08:00
Ondrej Kosta a558e94952 fix(esp_eth): fixing memory leak and invalid bit shift 2024-05-15 09:27:37 +02:00
Konstantin Kondrashov 668886842f feat(all): Remove usage old log macros 2024-05-15 15:25:30 +08:00
Shen Meng Jing 8823e1bc84 Merge branch 'docs/translate_usb-otg-console' into 'master'
Docs/Provide translation for usb-otg-console

Closes DOC-7777

See merge request espressif/esp-idf!30650
2024-05-15 15:15:59 +08:00
Konstantin Kondrashov 09dc55fb78 Merge branch 'feature/set_correct_soc_caps' into 'master'
feat(soc): Update efuse related soc_caps for c61 and c5 (MP/beta3)

See merge request espressif/esp-idf!30708
2024-05-15 14:44:17 +08:00
Abhinav Kudnar c1787c24bd feat(nimble): Added API to get local used address 2024-05-15 12:12:04 +05:30
Armando f85e0cfdc3 fix(isp): updated to only support input data type as raw8 2024-05-15 14:32:15 +08:00
shenmengjing 29350a2d99 docs: Provide CN Translation for usb-otg-console 2024-05-15 14:21:17 +08:00
Rahul Tank 6b34b6c1fb Merge branch 'bugix/avoid_reset_extract_cb' into 'master'
fix(nimble): Avoid slave instance reset inside extract_cb

See merge request espressif/esp-idf!30420
2024-05-15 13:20:52 +08:00
Mahavir Jain 43908774fe Merge branch 'bugfix/refactor_data_variable_in_mpi_periph' into 'master'
fix(soc): Refactor variable names for MPI operations and block bases

Closes IDF-9508

See merge request espressif/esp-idf!30658
2024-05-15 12:02:51 +08:00
Mahavir Jain c8d59db5a0 Merge branch 'feature/enable_ecc_support_for_c5_mp' into 'master'
feat: added ecc peripheral support for esp32c5 for mp version

Closes IDF-8625

See merge request espressif/esp-idf!30744
2024-05-15 12:01:41 +08:00
zhangyanjiao 8710a192c4 fix(wifi): fixed sniffer and espnow issue
1. fix(wifi): fixed sniffer dump fcs error packets fail

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

2. fix(wifi): fixed the espnow priv parameter get error

Closes https://github.com/espressif/esp-idf/issues/13693
2024-05-15 11:48:29 +08:00
zwx 17eb2dcce3 fix(802.15.4): fix a risk for receive_at and ignore bit8 for the frame length 2024-05-15 11:08:47 +08:00
Marius Vikhammer 7a89223aed fix(lp_core_test): fixed race-condition in lp core tests 2024-05-15 10:50:23 +08:00
Marius Vikhammer fc6a068a52 Merge branch 'fix/brownout_crash' into 'master'
fix(brownout): fixed brownout isr crashing if cache disabled

Closes IDF-9731

See merge request espressif/esp-idf!30746
2024-05-15 09:13:04 +08:00
Jiang Jiang Jian 4065dc56b9 Merge branch 'bugfix/nan_datapath_issues' into 'master'
Fix issues in NAN datapath establishment

Closes WIFIBUG-367

See merge request espressif/esp-idf!29065
2024-05-14 22:03:46 +08:00
Jiang Jiang Jian ffae1dfb9d Merge branch 'doc/update_mesh_doc' into 'master'
docs(wifi): update the docmentation for mesh API

See merge request espressif/esp-idf!30238
2024-05-14 22:03:34 +08:00
Alexey Gerenkov 8b93323da6 Merge branch 'upgrade_clang_toolchain' into 'master'
Upgrade clang toolchain version to 'esp-17.0.1_20240419'

See merge request espressif/esp-idf!29811
2024-05-14 21:47:06 +08:00
Rahul Tank fca1c0fa3b fix(nimble): Create separate API to only extract cb info 2024-05-14 17:15:49 +05:30
Song Ruo Jing 07a615d581 Merge branch 'feature/esp32c5mp_gdma_support' into 'master'
feat(gdma): add GDMA support for ESP32C5 MP

Closes IDF-9648

See merge request espressif/esp-idf!30418
2024-05-14 16:53:06 +08:00
Ondrej Kosta af7a99eb36 Merge branch 'feature/esp_emac_improvements' into 'master'
Feature/esp emac improvements

Closes IDF-8993, IDF-9110, IDF-9411, and IDF-5867

See merge request espressif/esp-idf!29828
2024-05-14 16:33:00 +08:00
morris dc8d455255 Merge branch 'fix/unknown_header_build_failure_hal_crypto_app' into 'master'
fix(hal/test_apps): Fix build failure of the crypto hal test app for ESP32-P4

See merge request espressif/esp-idf!30824
2024-05-14 16:02:28 +08:00
Wan Lei 26ff7bb836 Merge branch 'feat/c61_c6lite_rom_freeze_update' into 'master'
feat(esp32c61): update for rom freeze

Closes IDF-9405

See merge request espressif/esp-idf!30737
2024-05-14 15:44:09 +08:00
chenjianhua 2c93450d59 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(eca46a0)
- Fixed adv data buffer free after restart adv
- Fixed BLE interrupt allocation using esp API
2024-05-14 14:41:39 +08:00
harshal.patil 1c21eb367e
fix(hal/test_apps): Fix build failure of the crypto hal test app for ESP32-P4
- Add bootloader_support component in its priv_requires as we use source files from mbedtls
2024-05-14 11:53:44 +05:30
Ondrej Kosta 5e7cbdb4da feat(esp_eth): added example to deinit Ethernet 2024-05-14 08:23:35 +02:00
Ondrej Kosta d15a9c2c48 feat(esp_eth): a new folder structure of the driver and other improvements
Fixed memory leak in emac_esp_new_dma function.

Polished ESP EMAC cache management.

Added emac_periph definitions based on SoC features and improved(generalized) ESP EMAC GPIO
initialization.

Added ESP EMAC GPIO reservation.

Added check for frame error condition indicated by EMAC DMA and created a target test.
2024-05-14 08:23:31 +02:00
Shyamal Khachane 029748bfad fix(esp_wifi): Fix issues in NAN datapath establishment
1. Resolve indefinite waiting while stopping NAN
2. Increase NDP response timeout to 8 DW's
3. Set NAN discovery beacon interval to 100 TU's as per Section 9.2
   of Wi-Fi Aware Specification v4.0
2024-05-14 11:24:45 +05:30
Mahavir Jain ee8a9e8410 Merge branch 'fix/aes_operation_using_psram_memory_with_psram_enc' into 'master'
Enable AXI-DMA AES-ECC mean access when external memory encryption is enabled

See merge request espressif/esp-idf!30379
2024-05-14 13:15:33 +08:00
nilesh.kale b227154fd3 fix(soc): Refactor variable names for MPI operations and block bases 2024-05-14 10:34:33 +05:30
nilesh.kale 948d46a765 feat: added ecc peripheral support for esp32c5 for mp version
This commits adds support for ECC peripheral for ESP32C5 MP version
This is tested on mbedtls and hal testapps.
2024-05-14 10:24:52 +05:30
wanlei e89e8e0ded feat(esp32c61): update for rom freeze 2024-05-14 12:46:51 +08:00
Song Ruo Jing 001d4e1f8b feat(gdma): add GDMA support for ESP32C5 MP 2024-05-14 11:37:40 +08:00
Marius Vikhammer 4b4f4c200a fix(interrupt): fixed interrupt thresholds not working on C5 2024-05-14 10:56:22 +08:00
Marius Vikhammer 6245159dcc Merge branch 'feat/c5_basic_pma' into 'master'
feat(cpu): add basic PMA protection for null access

See merge request espressif/esp-idf!30803
2024-05-14 10:06:18 +08:00
Jakob Hasse 69c04f4adf refactor(esp_partition): Made private includes private on Linux 2024-05-13 16:02:19 +02:00
Jiang Jiang Jian f97ad23b4d Merge branch 'bugfix/ftm_fix_wrong_compensation' into 'master'
fix(esp_wifi): Fix issue in selecting FTM compensation with external AP

Closes WIFIBUG-547 and WIFIBUG-548

See merge request espressif/esp-idf!30684
2024-05-13 21:14:04 +08:00
Bogdan Kolendovskyy 4699a3c899 Merge branch 'feature/iperf_use_component' into 'master'
feat(iperf): use iperf component in iperf example

See merge request espressif/esp-idf!29879
2024-05-13 20:58:49 +08:00
Bogdan Kolendovskyy a23d1b45af feat(iperf): use iperf component in iperf example 2024-05-13 14:11:41 +02:00
Konstantin Kondrashov 5ed066f3a8 feat(soc): Update efuse related soc_caps for c61 and c5 (MP/beta3) 2024-05-13 19:54:28 +08:00
Sudeep Mohanty 7430285d45 Merge branch 'fix/hello_world_linux_target_on_macos' into 'master'
fix(esp-tls): Fix compilation for linux target on macos

See merge request espressif/esp-idf!30798
2024-05-13 19:31:00 +08:00
harshal.patil 3eb6487bb5
fix(bootloader_support): Make esp_flash_encrypt.h independent of spi_flash_mmap.h header 2024-05-13 16:54:45 +05:30
harshal.patil 5dfbc47192
fix(mbedtls/crypto_shared_gdma): Enable AXI-DMA enable external memory AES-ECC access
- When external memory encryption is enabled, set the aes_ecc bit of AXI-DMA to enable memory access
2024-05-13 16:54:45 +05:30
Abhik Roy e2f6920c4f Merge branch 'lwip/if_indextoname_compolation_fix' into 'master'
fix(newlib): Fixed compilation error referencing undefined POSIX interface API

Closes IDFGH-12575

See merge request espressif/esp-idf!30561
2024-05-13 18:39:56 +08:00
Gao Xu 1029476a82 Merge branch 'feature/esp32c5_mp_gpio_support' into 'master'
C5 gpio support and update docs

See merge request espressif/esp-idf!30792
2024-05-13 18:36:52 +08:00
Marius Vikhammer dfcc710aef feat(cpu): add basic PMA protection for null access 2024-05-13 18:10:19 +08:00
Harshit Malpani 6345761c80 Merge branch 'contrib/github_pr_13764' into 'master'
Document additional errs returned by esp_ota_write (GitHub PR)

Closes IDFGH-12784

See merge request espressif/esp-idf!30765
2024-05-13 17:03:27 +08:00
gaoxu 1138d7d56a feat(gpio): update c5 mp gpio docs 2024-05-13 16:19:28 +08:00
gaoxu 6def5faab5 feat(gpio): rename c61 IOMUX to IO_MUX 2024-05-13 16:18:19 +08:00
gaoxu bce26b29c3 feat(rom): update c5 mp verison rom ld file 2024-05-13 16:18:18 +08:00
Sudeep Mohanty 41a8521774 fix(esp-tls): Fix compilation for linux target on macos
This commit fixes compilation errors for the esp-tls component for the
linux target on a MacOS system.
2024-05-13 10:13:54 +02:00
wuzhenghui 1fa8216830
fix(esp_hw_support/sleep): stop TG0/TG1 watchdog if XTAL not power down in lightsleep 2024-05-13 15:46:42 +08:00
gaoxu 8390cc1b0e feat(csi): add verify to no backup buffer usage 2024-05-13 15:42:10 +08:00
wuzhenghui ad54af74d6
change(esp_hw_support/sleep): improve esp32c3 systimer stall bug workaround 2024-05-13 15:07:40 +08:00
Marius Vikhammer 7b61598e5b docs(sys-time): update link to hw design guidelines 2024-05-13 14:51:47 +08:00
Shu Chen 562623c67e Merge branch 'feature/ot_remove_config_buffer_range' into 'master'
feat(openthread): remove the range for some configurations

See merge request espressif/esp-idf!30770
2024-05-13 14:43:27 +08:00
Nachiket Kukade 23809777fa fix(esp_wifi): Fix issue in selecting FTM compensation with external AP 2024-05-13 12:10:38 +05:30
Jiang Jiang Jian 55c4076206 Merge branch 'fix/example_iperf_readme' into 'master'
doc: update wifi iperf README

See merge request espressif/esp-idf!30767
2024-05-13 11:50:49 +08:00
wanlei 4f424da1ee fix(spi_master): fix sct mode descripter oob when data lager then 4092 bytes 2024-05-13 11:42:29 +08:00
zwx 927bead6c4 feat(openthread): remove the range for some configurations 2024-05-13 10:53:17 +08:00
Wang Lei 1ee9f80067 Merge branch 'feat/remove_sdio_rst_for_c5mp_c61' into 'master'
fix(esp_rom): remove sdio rst for c5mp c61

See merge request espressif/esp-idf!30691
2024-05-13 10:40:28 +08:00
Lucian Popescu 37d9a3c183 docs(ota): Document additional errs returned by esp_ota_write
Squashed commit of the following:

commit f47a894231168298f9763642e7d421ebd5e7dc46
Author: Lucian Popescu <lucian.popescu187@gmail.com>
Date:   Fri May 10 10:44:17 2024 +0300

    Update correct codes for esp_ota_write

    Co-authored-by: Harshit Malpani <65167938+hmalpani@users.noreply.github.com>

commit ea407fb82ec75a2e666713607e8892f0ffa91556
Author: Lucian Popescu <lucian.popescu187@gmail.com>
Date:   Wed May 8 14:06:37 2024 +0300

    docs(ota): Document additional errs returned by esp_ota_write
2024-05-12 18:51:08 +08:00
Michael (XIAO Xufeng) ddefb85703 Merge branch 'docs/compatibility_c2_v102' into 'master'
doc(compatibility): add compatibility docs for C2

See merge request espressif/esp-idf!28590
2024-05-12 00:03:52 +08:00
morris 6a57c26469 Merge branch 'feature/esp32c5_mp_gpio_support' into 'master'
esp32c5 mp gpio support

Closes IDF-9649

See merge request espressif/esp-idf!30474
2024-05-11 22:50:23 +08:00
C.S.M 0299e78272 Merge branch 'bugfix/bod_wait_cycle_c2_c3' into 'master'
bugfix(brownout): Fix no intr cycle wait on esp32c3, esp32c2

Closes IDF-9661

See merge request espressif/esp-idf!30785
2024-05-11 17:50:47 +08:00
C.S.M 096a23af06 Merge branch 'feature/usj_support_p4' into 'master'
feature(usb_serial_jtag): Add usb serial jtag support on esp32p4

Closes IDF-7496

See merge request espressif/esp-idf!30754
2024-05-11 17:50:27 +08:00
Jiang Jiang Jian 94f543d10c Merge branch 'bugfix/fix_mesh_packet_tx_issue' into 'master'
fix(wifi): fix the tx issue when mesh timeremain equal to zero

Closes WIFIBUG-276

See merge request espressif/esp-idf!30587
2024-05-11 16:30:55 +08:00
C.S.M 46b19b8526 bugfix(brownout): fix issue that no wait cycle on c3 and c2 2024-05-11 15:33:50 +08:00
Kevin (Lao Kaiyao) 8054d82ea1 Merge branch 'bugfix/fix_intr_priority_in_isp_af' into 'master'
fix(isp_af): fixed isp af intr priority

See merge request espressif/esp-idf!30782
2024-05-11 15:13:30 +08:00
C.S.M bbe23a467a test(spi_flash): Disable flash wrap test on esp32p4 2024-05-11 14:53:19 +08:00
wanglei 097a53f139 fix(soc): remove RESET_REASON_CORE_SDIO define for esp32c61 2024-05-11 14:46:09 +08:00
wanglei 2e27c22afd fix(esp_system): remove sdio core rst for esp32c61 2024-05-11 14:46:09 +08:00
wanglei f074909ab5 fix(esp_rom): remove sdio rst, wake cause from rom rtc.h 2024-05-11 14:46:09 +08:00
C.S.M 15cf203632 feature(usb_serial_jtag): add usb serial jtag support for esp32p4 2024-05-11 14:16:57 +08:00
Aditya Patwardhan a04cc5289c
fix(bootloader_support): Fix flash encryption for esp32p4 2024-05-11 10:01:16 +05:30
Michael (XIAO Xufeng) 0121e99d05 Merge branch 'feature/support_chip912_cpll_spll_eco1' into 'master'
feat: support(esp32p4_eco1): modify cpll and spll config

Closes IDF-9612, IDF-9613, and IDF-8939

See merge request espressif/esp-idf!30675
2024-05-11 11:42:39 +08:00
laokaiyao e106c281ad fix(isp_af): fixed isp af intr priority 2024-05-11 11:12:43 +08:00
gaoxu cbef285352 feat(pm): add SOC_PM_SUPPORTED in soc caps 2024-05-11 10:51:17 +08:00
gaoxu 6e4b50511e feat(coredump): replace fun sel function 2024-05-11 10:51:16 +08:00
gaoxu 3db559ab21 feat(gpio): update gpio docs on ESP32C5 MP version 2024-05-11 10:49:42 +08:00
Kevin (Lao Kaiyao) 8b44f216b4 Merge branch 'feature/parlio_rx_driver_p4' into 'master'
feat(parlio_rx): supported parlio rx on p4

Closes IDF-7471, IDF-9424, and IDF-8284

See merge request espressif/esp-idf!25259
2024-05-11 10:45:30 +08:00
Xiao Xufeng 8753934582 feat(esp32p4): add eco1 revision config option 2024-05-10 22:51:12 +08:00
chaijie@espressif.com 29ddd2b720 feat(esp32p4_eco1): modify cpll and spll config 2024-05-10 22:18:17 +08:00
Abhik Roy 67440fa4e9 fix(lwip): Fixed compilation error referencing undefined POSIX interface API
Closes https://github.com/espressif/esp-idf/issues/13577
2024-05-10 23:05:36 +10:00
Wang Fang 9e7530e799 Merge branch 'docs/update_getting_started_for_esp32p4_support' into 'master'
Docs/update getting started for esp32p4 support

See merge request espressif/esp-idf!30373
2024-05-10 19:24:24 +08:00
Wang Fang 937b290bee docs: Updated Getting Started for ESP32-P4 support 2024-05-10 17:57:57 +08:00
laokaiyao 627631429a feat(parlio_rx): support parlio rx on p4 2024-05-10 16:55:46 +08:00
zhangyanjiao a017812623 fix(wifi): fix the tx issue when mesh packet lifetime remain equal to zero 2024-05-10 16:28:52 +08:00
Fu Hanxi d3abfa3d73 Merge branch 'ci/fix_pytest_embedded_log_dir' into 'master'
ci: move log dir from pytest_embedded_log to pytest-embedded

See merge request espressif/esp-idf!30747
2024-05-10 16:28:49 +08:00
shenmengjing 60cd5933d6 docs: Edit the CN Translation and EN Source 2024-05-10 15:30:16 +08:00
Martin Vychodil 079138ce6b Merge branch 'docs/make_fatfsgen_docs_more_visible' into 'master'
docs(storage): Make "Generating and Parsing FATFS on Host" doc more visible

Closes IDF-9891

See merge request espressif/esp-idf!30686
2024-05-10 15:24:35 +08:00
Chen Yudong 202eb1ce86 docs: update wifi iperf README 2024-05-10 15:04:08 +08:00
Rahul Tank 29e5a80eb0 docs(nimble): Added chip information in ble_enc_adv README file 2024-05-10 09:53:54 +05:30
Wang Meng Yang caa248be08 Merge branch 'bugfix/loadprohibited_after_bt_deinit' into 'master'
fix(coex): fixed crash issue in coexist callback

Closes BT-3715

See merge request espressif/esp-idf!30493
2024-05-10 12:16:43 +08:00
Mahavir Jain a3dff04cf3 Merge branch 'bugfix/fix_resetting_redirect_counter' into 'master'
fix: reset redirect counter for using same handler

Closes IDFGH-12636 and IDFGH-12667

See merge request espressif/esp-idf!30395
2024-05-10 12:02:36 +08:00
Mahavir Jain 9294914c4a Merge branch 'bugfix/make_event_posting_timeout_configurable' into 'master'
fix: Add config option to set timeout for posting events

Closes IDFGH-12649

See merge request espressif/esp-idf!30601
2024-05-10 11:58:45 +08:00
Wang Meng Yang c07d323486 Merge branch 'fix/assert_1024_in_rwbt_isr' into 'master'
fix(bt): fixed assert_1024 issue when bt tx and wifi coexist

Closes BT-1611, BT-3373, and IDFGH-12664

See merge request espressif/esp-idf!30635
2024-05-10 11:29:24 +08:00
gongyantao 88774ee612 fix(bt): fixed assert_1024 issue when bt tx and wifi coexist
Closes https://github.com/espressif/esp-idf/issues/13656
2024-05-10 10:18:54 +08:00
David Čermák 933116be65 Merge branch 'lwip/thread_sem_oomem_crash' into 'master'
fix(lwip): Fix crash to fail-safe error if cannot get semaphore

Closes IDF-8888

See merge request espressif/esp-idf!29766
2024-05-09 23:19:48 +08:00
Rahul Tank 9dd98b9ba4 Merge branch 'bugfix/free_controlle_memory_in_init_fail' into 'master'
fix(nimble): Free controller memory if init fails

See merge request espressif/esp-idf!30688
2024-05-09 23:18:25 +08:00
David Cermak a8eed53bc2 fix(lwip): Fix null dereference if we cannot allocate semaphore
* Update submodule: git log --oneline f7922143..a1bd9e44
Detailed description of the changes:
  - api_msg: Fix crash to fail-safe error if cannot get semaphore (espressif/esp-lwip@a1bd9e44)
2024-05-09 21:48:00 +08:00
David Čermák 31253679d9 Merge branch 'bugfix/bind_dhcps_netif' into 'master'
fix(lwip/dhcp_server): Bind dhcps netif to avoid handling the dhcp packet from other netif

See merge request espressif/esp-idf!30537
2024-05-09 19:44:19 +08:00
Erhan Kurubas 5f5f8c2d23 Merge branch 'docs/esp32p4_apptrace' into 'master'
docs(app_trace): Update docs for ESP32-P4

Closes IDF-7753

See merge request espressif/esp-idf!30608
2024-05-09 19:26:39 +08:00
Erhan Kurubas bd9b376c3b Merge branch 'docs/esp32c5_update' into 'master'
docs(esp32c5): update docs_not_updated.txt

Closes IDF-9486 and IDF-9489

See merge request espressif/esp-idf!30642
2024-05-09 19:24:30 +08:00
Erhan Kurubas 1e90b1f571 Merge branch 'coredump_fixes' into 'master'
Coredump fixes

Closes IDFGH-12775 and IDFCI-2141

See merge request espressif/esp-idf!30641
2024-05-09 19:22:12 +08:00
David Čermák 8c97b7f548 Merge branch 'fix/docs_wifi_get_sta_list' into 'master'
fix(docs): tcpip_adapter: Document replacement of tcpip_adapter_get_sta_list

Closes DOC-7657

See merge request espressif/esp-idf!30472
2024-05-09 19:06:05 +08:00
Ivan Grokhotkov 5425abc6cb Merge branch 'bugfix/sdspi_tests' into 'master'
sdspi: test-related fixes

Closes IDF-8750

See merge request espressif/esp-idf!30612
2024-05-09 18:52:55 +08:00
Fu Hanxi 152db1a4ba
ci: move log dir from pytest_embedded_log to pytest-embedded 2024-05-09 12:23:04 +02:00
Marius Vikhammer fdd6aeeba7 fix(brownout): fixed brownout isr crashing if cache disabled
If a brownout ISR was triggered while cache was disabled the system would panic.

This was due to a print accessing a string stored in flash
2024-05-09 17:50:02 +08:00
David Čermák e42f1c53e0 Merge branch 'feat/netif_dhcps_captive_portal' into 'master'
feat(esp_netif): add support for DHCP Option 114 captive portal URI

Closes IDFGH-11885

See merge request espressif/esp-idf!30267
2024-05-09 17:22:22 +08:00
Jiang Jiang Jian 4426fca883 Merge branch 'bugfix/gcmp_mr_regression' into 'master'
fix(wifi): Fix issue of wrong Rx control information of espnow packets for esp32 and esp32s2

Closes WIFIBUG-534

See merge request espressif/esp-idf!30703
2024-05-09 15:57:05 +08:00
David Cermak 8103d5bc34 fix(esp_netif): Add API docs to DHCP client/server operations 2024-05-09 09:49:47 +02:00
Jiang Jiang Jian 1a6dd7144c Merge branch 'bugfix/libphy_chips_20240430' into 'master'
update c3 s3 c6 libphy fix coex reset and bug

See merge request espressif/esp-idf!30577
2024-05-09 10:40:09 +08:00
Wang Meng Yang 7ad17816d6 Merge branch 'doc/update_bt_sleep_process' into 'master'
docs: Update the process of Bluetooth entering sleep in the sleep_modes.rst

Closes BT-3708

See merge request espressif/esp-idf!30381
2024-05-09 09:28:05 +08:00
Roland Dobai fee61b76a1 Merge branch 'fix/idf_size_python_compat' into 'master'
fix: make idf_size.py compatible with python3.8

Closes IDF-9893

See merge request espressif/esp-idf!30700
2024-05-09 01:40:14 +08:00
liuning 18cde4e7d8 update c3 s3 c6 libphy fix coex reset and bug 2024-05-08 20:23:55 +08:00
Roman Leonov f86758f785 Merge branch 'refactor/usb_host_hub_api_prepeq_for_enum_driver' into 'master'
refactor(hub): Updated HUB api for ENUM driver

Closes IDF-9790

See merge request espressif/esp-idf!29912
2024-05-08 19:52:09 +08:00
Sarvesh Bodakhe bc63f1e7fa fix(wifi): Fix issue of wrong Rx control information of espnow packets
Only for esp32 and esp32s2
2024-05-08 17:11:34 +05:30
Frantisek Hrbata 9df59a2193 ci: add simple test for idf_size.py python compatibility
This adds a simple test that tries to run idf_size.py help and check
if the process does not exit with error. This is just to make sure
that idf_size.py can be used with minimum required python version.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-08 13:38:19 +02:00
Adam Múdry 15b31001a0 docs(storage): Make "Generating and Parsing FATFS on Host" doc more visible 2024-05-08 11:57:36 +02:00
Frantisek Hrbata 9fe4ceafc7 fix: make idf_size.py compatible with python3.8
Previous 6caa4a17ac ("fix: display correct help in the idf_size.py wrapper")
introduced a regression, because it uses exit_on_error parameter for
argparse.ArgumentParser, which was added in python3.9, making
idf_size.py incompatible with idf.py minimal required python3.8.

The objective is to inspect the arguments of idf_size.py using a wrapper
argparse to determine whether the legacy or refactored version should be
initiated, while always displaying help for the underlying version. The
exit_on_error function was previously utilized to prevent argparse from
exiting and displaying help/usage. This replaces exit_on_error with a
workaround that makes the --format argument optional. Since this is the
sole instance where the wrapper argparse might fail, it achieves the
same outcome as using exit_on_error.

Fixes: 6caa4a17ac ("fix: display correct help in the idf_size.py wrapper")
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-08 11:21:10 +02:00
shenmengjing a89e354f9d docs: Update the CN Translation for idf-py and spiffs 2024-05-08 17:15:06 +08:00
Li Shuai 8920cce89e Merge branch 'bugfix/pm-107' into 'master'
fix esp32c6 failed to enter light sleep caused by soc wakeup request signal

Closes PM-107

See merge request espressif/esp-idf!30551
2024-05-08 16:39:05 +08:00
morris 347cabce75 Merge branch 'feat/mipi_dsi_draw_pixel_round_boundary' into 'master'
feat(mipi_dsi): round to boundary when draw pixel

Closes AUD-5384

See merge request espressif/esp-idf!30588
2024-05-08 16:30:15 +08:00
Roman Leonov 7b7b8680ca Merge branch 'refactor/usb_host_usbh_api_prereq_for_enum_driver' into 'master'
refactor(usbh): Updated USBH api for ENUM driver

Closes IDF-9723

See merge request espressif/esp-idf!29913
2024-05-08 15:02:08 +08:00
Harshit Malpani 1ac2ebbeb9
fix: Add config option to set timeout for posting events
Event posting to the event loop should not hinder the working of
HTTP Client or HTTP Server. This commit add a config option to set
the timeout for posting the events to the loop.

Closes https://github.com/espressif/esp-idf/issues/13641
2024-05-08 11:41:05 +05:30
morris 4b67df323d feat(mipi_dsi): round to boundary when draw pixel 2024-05-08 14:08:19 +08:00
Xiao Xufeng d790cc9a8c doc(compatibility): add compatibility docs for C2 2024-05-08 12:34:11 +08:00
Rahul Tank d42058de17 fix(nimble): Free controller memory if init fails 2024-05-08 09:57:22 +05:30
Li Shuai ddd65e1f54 fix(esp_wifi): clear soc wakeup request signal at tbtt process 2024-05-08 10:40:16 +08:00
Kirill Chalov 40ec44473c Merge branch 'docs/update_alerts_in_readmes_to_gfm_format' into 'master'
docs: Update alerts in READMEs to GFM format

See merge request espressif/esp-idf!30628
2024-05-08 10:38:42 +08:00
Island 705c21d38e Merge branch 'feat/display_ble_controller_init_status' into 'master'
feat(ble/controller): Display BLE controller init status for ESP32 and ESP32-C3/S3

Closes BLERP-728

See merge request espressif/esp-idf!30651
2024-05-08 10:28:31 +08:00
Ivan Grokhotkov 1680c2fe33 Merge branch 'bugfix/pytest_build_dir_arg' into 'master'
fix(pytest): respect --build-dir argument from pytest-embedded

See merge request espressif/esp-idf!30609
2024-05-07 21:12:57 +08:00
Roman Leonov 325bbfb8d5 refactor(hub): Updated HUB api (enum driver) 2024-05-07 15:09:06 +02:00
Roman Leonov 596672fdcd refactor(usbh): Updated USBH api (enum driver) 2024-05-07 15:07:51 +02:00
Martin Vychodil 4ecba50c8a Merge branch 'fix/coverity_vfs_fat_mem_overlapping' into 'master'
fix(vfs): fix coverity issue copy of overlapping memory in vfs_fat.c

Closes IDF-9833

See merge request espressif/esp-idf!30629
2024-05-07 20:48:35 +08:00
Shen Meng Jing ebeff9aef1 Merge branch 'docs/translate_esp_eth' into 'master'
docs: Provide CN translation for esp_eth

Closes IDF-9057

See merge request espressif/esp-idf!30080
2024-05-07 19:34:39 +08:00
Zhang Xiao Yan 32e0f60de0 Merge branch 'docs/fix_clock_sources_esp32c6' into 'master'
docs: fix clock sources for esp32c6

See merge request espressif/esp-idf!29256
2024-05-07 18:55:00 +08:00
Abhik Roy 437f08100d fix(esp_netif): Fixed Coverity issue CID 459204
Closes IDF-9847

See merge request espressif/esp-idf!29400
2024-05-07 20:43:22 +10:00
Abhik Roy a13bd2388b docs(examples): Added network config to icmpv6_ping readme and other fixes 2024-05-07 20:43:22 +10:00
shenmengjing 8815d1a8be docs: Provide CN translation for esp_eth 2024-05-07 18:05:10 +08:00
Fu Hanxi 6354a793e0 Merge branch 'fix/pytest_session_dir' into 'master'
ci: apply new fix in pytest-embedded 1.10

See merge request espressif/esp-idf!30660
2024-05-07 18:01:20 +08:00
Linda 52cfd1bf24 docs: fix clock sources for esp32c6 2024-05-07 17:35:39 +08:00
Fu Hanxi 948fdfcc2c ci: apply new fix in pytest-embedded 1.10 2024-05-07 17:28:28 +08:00
Fu Hanxi 6a4db9c07b ci: update mypy check for python 3.12, check under python 3.8 rules 2024-05-07 17:28:28 +08:00
Roland Dobai 01c13a72a6 Merge branch 'set_gdb_remotetimeout' into 'master'
tools(gdbinit): set remote timeout for the gdb connection

See merge request espressif/esp-idf!30644
2024-05-07 17:22:17 +08:00
Wu Zheng Hui badb22bc2e Merge branch 'fix/fix_esp_pm_case_high_fail_ratio' into 'master'
fix(esp_pm): fix esp_pm test cases high fail ratio

Closes IDFCI-2143

See merge request espressif/esp-idf!30653
2024-05-07 16:54:14 +08:00
zhanghaipeng fc9290d8a2 fix(ble/bluedroid): Fixed BLE spelling error in word 2024-05-07 16:24:27 +08:00
Ondrej Kosta ed8063ed9e ci(examples): added depends_components for Network examples 2024-05-07 10:24:20 +02:00
wuzhenghui 1c9986501b
fix(esp_pm): fix esp_pm test cases high fail ratio 2024-05-07 16:20:19 +08:00
Jiang Jiang Jian a5165ea1fc Merge branch 'bugfix/wpa_wpa2_wpa3_mixed_mode' into 'master'
fix(wifi): Fix issue in scan when AP advertises WPA and WPA2 with SAE AKM

Closes WIFIBUG-496

See merge request espressif/esp-idf!30627
2024-05-07 16:17:15 +08:00
Roland Dobai cbdb4de892 Merge branch 'fix/idf_size_help' into 'master'
fix: display correct help in the idf_size.py wrapper

Closes IDF-9881

See merge request espressif/esp-idf!30639
2024-05-07 16:00:32 +08:00
zhanghaipeng b270f0abc3 feat(ble/bluedroid): Add BLE memory allocation failure message 2024-05-07 15:32:11 +08:00
Island 5a09fce7e4 Merge branch 'bugfix/fix_ble_scan_back_off' into 'master'
fix(ble/controller): Update esp32 bt-lib (b79d7e2)

Closes IDFCI-2016

See merge request espressif/esp-idf!30582
2024-05-07 14:14:42 +08:00
Harshit Malpani ef5e4ddee8
fix: Add warning to enable LWIP_NETIF_LOOPBACK to use control socket API
Closes https://github.com/espressif/esp-idf/issues/13659
2024-05-07 10:39:12 +05:30
Harshit Malpani 1987f055c9
fix: reset redirect counter for using same handler
Closes https://github.com/espressif/esp-idf/issues/13633
2024-05-07 10:27:23 +05:30
Erhan Kurubas 8e524d708c fix(coredump): fix buffer overflow inside esp_core_dump_get_summary
Closes https://github.com/espressif/esp-idf/issues/13754
2024-05-07 06:49:28 +02:00
Rahul Tank 5791913b85 Merge branch 'bugfix/disable_mbedtls_options' into 'master'
fix(nimble): Deselect MBEDTLS_ECP_RESTARTABLE when mbedTLS is used

See merge request espressif/esp-idf!30497
2024-05-07 12:37:42 +08:00
morris 797ce920a7 Merge branch 'test/gdma_fetch_data_in_flash' into 'master'
test(gdma): can read data from flash rodata

See merge request espressif/esp-idf!30479
2024-05-07 12:23:45 +08:00
zhanghaipeng 24e7d9b1cb feat(ble/controller): Display BLE controller init status for ESP32 and ESP32C3/S3 2024-05-07 11:00:03 +08:00
Island 498cf723f0 Merge branch 'bugfix/fix_ble_pktlen_change' into 'master'
Bugfix/fix ble pktlen change

Closes BLERP-726

See merge request espressif/esp-idf!30630
2024-05-07 09:28:27 +08:00
Alexey Lapshin c30e49c718 Merge branch 'fix/reduce-binary-size' into 'master'
Reduce binary size

Closes IDF-9718

See merge request espressif/esp-idf!30485
2024-05-07 05:21:42 +08:00
Erhan Kurubas 810adf2dcc change(gdbinit): set remote timeout for the gdb connection 2024-05-06 22:06:18 +02:00
Jakob Hasse 8c51cc6ae2 Merge branch 'bugfix/linux_target_mac' into 'master'
fix(linux): fixed build errors on MacOS

Closes IDF-9791

See merge request espressif/esp-idf!30525
2024-05-07 01:13:19 +08:00
Erhan Kurubas 7b3b1f4d5f docs(esp32c5): update docs_not_updated.txt 2024-05-06 17:46:26 +02:00
Erhan Kurubas 94fc3630f5 ci(panic): add flash encrypted coredump tests 2024-05-06 15:54:33 +02:00
Erhan Kurubas 551d91ea8a ci(coredump): fix capture dram tests 2024-05-06 15:43:43 +02:00
Erhan Kurubas 60a99a9f97 fix(coredump): don't allow mapping of non-encrypted coredump partition 2024-05-06 15:39:12 +02:00
Mahavir Jain f311c23145 Merge branch 'feat/enable_and_fix_app_update_test_app' into 'master'
feat: Enable test app for app_update component

Closes IDF-9803 and IDF-9804

See merge request espressif/esp-idf!30496
2024-05-06 20:50:21 +08:00
sonika.rathi a1e06ebab0 fix(vfs): fix coverity issue copy of overlapping memory in vfs_fat.c 2024-05-06 13:57:08 +02:00
Frantisek Hrbata 6caa4a17ac fix: display correct help in the idf_size.py wrapper
Currently the wrapper tries to figure out which version of
the esp-idf-size should be started. The legacy version is
used if explicitly requested by the -l/--legacy option or
if json format is specified. This works fine, but if help
is requested, it is printed for the wrapper as shown bellow

$ idf_size.py -h
usage: idf_size.py [-h] [--format FORMAT] [-l]

options:
  -h, --help       show this help message and exit
  --format FORMAT
  -l, --legacy

This is not convenient and the full help from the underlying
version should be displayed.

Fix this by only peeking into the args to figure out if legacy or
refactored version should be started and always spawn the underlying
esp_idf_size python module. This is done by using exit_on_error=False and
add_help=False for the ArgumentParser. When help for refactored version
is requested a note as following is printed to notify users that the
legacy version can still be used.

$ idf_size.py -h
Note: legacy esp_idf_size version can be invoked by specifying the -l/--legacy
option or by setting the ESP_IDF_SIZE_LEGACY environment variable.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-06 13:00:49 +02:00
Mo Fei Fei 0de1efcef9 Merge branch 'docs/update_cn_trans_esp_https_ota' into 'master'
docs: update cn trans for esp_https_ota

Closes DOC-7732

See merge request espressif/esp-idf!30579
2024-05-06 18:44:57 +08:00
morris 2352f17e63 test(gdma): can read data from flash rodata 2024-05-06 18:03:17 +08:00
morris eb83d9aa0a feat(gdma): set default valid memory range for gdma 2024-05-06 18:03:17 +08:00
mofeifei a4d0b370b5 docs: update cn trans for esp_https_ota 2024-05-06 17:48:00 +08:00
Rahul Tank 4b4602d846 fix(nimble): Deselect MBEDTLS_ECP_RESTARTABLE when mbedTLS is used 2024-05-06 15:15:36 +05:30
Jakob Hasse 2f0ef33f9d fix(linux): fixed build errors on MacOS 2024-05-06 11:14:05 +02:00
zhanghaipeng 840da7ab11 fix(ble/controller): Update esp32 bt-lib (b79d7e2)
- Fixed BLE scan backoff
2024-05-06 16:17:14 +08:00
Jakob Hasse 7f056333ae Merge branch 'doc/ringbuffer' into 'master'
docs(esp_ringbuf): Corrected example code block

Closes IDFGH-12748

See merge request espressif/esp-idf!30610
2024-05-06 16:07:32 +08:00
zhanghaipeng bc1851d793 fix(ble/bluedroid): Optimize BLE stack connect callback name 2024-05-06 15:43:09 +08:00
zhanghaipeng f2cfe4a0f0 fix(ble/bluedroid): Fixed BLE no data length change event 2024-05-06 15:34:21 +08:00
kirill.chalov 6cefbfd395 docs: Update alerts in READMEs to GFM format
For details, see https://github.com/orgs/community/discussions/16925
2024-05-06 15:19:15 +08:00
Sarvesh Bodakhe 2700b750b6 fix(wifi): Fix issue in scan when AP advertises WPA and WPA2 with SAE AKM 2024-05-06 11:43:27 +05:30
Nilesh Kale ade6a5ec07 Merge branch 'bugfix/free_memory_if_failed_to_strart_http_server' into 'master'
fix(esp_https_server): fix memory leak during configuring http server

Closes IDFGH-12519

See merge request espressif/esp-idf!30233
2024-05-06 13:41:23 +08:00
Wang Meng Yang 8c76bd49b2 Merge branch 'bugfix/add_param_check_for_enh_sync_conn' into 'master'
fix(bt/controller): Parse out the correct packet types from Host parameters

See merge request espressif/esp-idf!29973
2024-05-06 10:07:03 +08:00
Alexey Gerenkov 86ef0c23fd refactor(test): Change clang build tests app name 2024-05-03 16:55:18 +03:00
Alexey Gerenkov e662b51b77 fix(build): Fix variable declaration inside switch case 2024-05-03 16:55:18 +03:00
Alexey Gerenkov 23bf613eab fix(build): Fix '-Walign-missmatch' warning
"passing 4-byte aligned argument to 64-byte aligned parameter 1"
2024-05-03 16:55:18 +03:00
Alexey Gerenkov 3482277bfe fix(build): Fix '-Werror=format=' errors for esp32p4 2024-05-03 16:55:18 +03:00
Alexey Gerenkov cb263106cc fix(build): Fix esp32p4 MCPWM 'get_clock_prescale' default return value 2024-05-03 16:55:18 +03:00
Alexey Gerenkov 41bfac91d9 fix(build): Fix printf formating errors 2024-05-03 16:55:18 +03:00
Alexey Gerenkov e86f1e8a7f fix(esp_pm): Fix APB clock calculation for chips w/o modem 2024-05-03 16:55:18 +03:00
Alexey Gerenkov 57f61d2311 feat(tools): Update Clang version to esp-17.0.1_20240419 2024-05-03 16:55:13 +03:00
nilesh.kale 21d51208c4 fix(esp_https_server): fix memory leak during configuring http server
This MR This restructured code to prevent memory leak during the starting HTTP server.

Closes https://github.com/espressif/esp-idf/issues/13526
2024-05-03 18:11:38 +05:30
Aditya Patwardhan e461585cf9 Merge branch 'feature/update_mbedtls_to_3.6.0' into 'master'
feat(mbedtls): updated mbedtls version from 3.5.2 to 3.6.0

See merge request espressif/esp-idf!30016
2024-05-03 20:41:09 +08:00
Roland Dobai 0f87923e8f Merge branch 'feat/docker_new_ubuntu' into 'master'
Tools: Switch to Ubuntu 24.04 LTS in the ESP-IDF docker image

See merge request espressif/esp-idf!30617
2024-05-03 18:05:01 +08:00
Roland Dobai a23eec2009 feat(docker): Switch to Ubuntu 24.04 LTS in the ESP-IDF docker image 2024-05-03 09:38:45 +02:00
Aditya Patwardhan a76f106921 Merge branch 'fix/esp_tls_use_64_bit_variable_for_time' into 'master'
fix(esp-tls): Use 64 bit variable for time instead of 32 bit

Closes IDFGH-12594

See merge request espressif/esp-idf!30403
2024-05-03 11:30:25 +08:00
Alexey Lapshin afffbd9dd0 fix(cxx): use __cxa_throw() stub in case exceptions disabled
Reduces binary size since the linker will drop some code due to --gc-sections.
2024-05-02 22:12:01 +04:00
Alexey Lapshin 9375348740 fix(system): discard eh_frame sections if disabled in sdkconfig 2024-05-02 22:11:56 +04:00
Jakob Hasse 7100c6cf7e docs(esp_ringbuf): Corrected example code block
* Closes https://github.com/espressif/esp-idf/issues/13730
2024-05-02 17:56:02 +02:00
jkingsman 3035ce294d feat(esp_netif): add support for DHCP Option 114 captive portal URI
DHCP Option 114 provides a modern method of indicating a captive
portal redirect to DHCP client. This introduces Option 114 to
the DHCPS component as well as provides examples for usage.
2024-05-02 22:50:09 +08:00
Ivan Grokhotkov 30abe85a25
ci(sdspi): clean up newlib memory, reset between tests
Two changes to make the tests less susceptible to random failures:
- Free up newlib memory to not have false-positive memory leaks due to
  lazy allocations in reent structure
- Reset between tests, so that one failing test doesn't cause
  subsequent tests to fail

Both changes are already applied to esp_driver_sdmmc test app.
2024-05-02 16:44:16 +02:00
Ivan Grokhotkov f355ecac40
ci(sdspi): re-enable probe/rw tests for slot 1
These tests were disabled since SDMMC_FREQ_HIGHSPEED with sdspi didn't
work on ESP32 and ESP32-S3. However we don't have other tests for
slot 1, meaning that we weren't running probe and perf tests at all.

This commit re-enables the tests, keeping them with SDMMC_FREQ_DEFAULT
2024-05-02 16:44:16 +02:00
Ivan Grokhotkov e672d49db7
fix(sdspi): fix memory leak in do_one_sdspi_probe test 2024-05-02 16:44:16 +02:00
Jakob Hasse ceac33077b Merge branch 'bugfix/get_random_inside_assert' into 'master'
fix(linux): calling getrandom() outside assert()

See merge request espressif/esp-idf!30517
2024-05-02 22:29:10 +08:00
Ivan Grokhotkov 087d055090
fix(pytest): respect --build-dir argument from pytest-embedded 2024-05-02 15:18:34 +02:00
Aditya Patwardhan 132892c101
fix(esp-tls): Use 64 bit variable for time instead of 32 bit
Use appropriate API available on respective platform for obtaining
    time
    Closes https://github.com/espressif/esp-idf/issues/13593
2024-05-02 18:34:29 +05:30
Alexey Gerenkov 57b42fc6a2 docs(app_trace): Update docs for ESP32-P4 2024-05-02 15:24:55 +03:00
David Cermak 97dfde1442 fix(docs): tcpip_adapter: Document replacement of tcpip_adapter_get_sta_list 2024-05-02 14:07:24 +02:00
Mahavir Jain ef716a2390 Merge branch 'bugfix/nvs_enc_test' into 'master'
fix(tests): correct the flash write length for NVS encrypted test

See merge request espressif/esp-idf!30599
2024-05-02 19:17:58 +08:00
Roland Dobai 8aa5188852 Merge branch 'fix/ci_win_build_system_read_only_test' into 'master'
fix(tools): fix failing create readonly project build system test

Closes IDFCI-2138

See merge request espressif/esp-idf!30596
2024-05-02 17:45:05 +08:00
Mahavir Jain 1ca0793e4d Merge branch 'fix/pytest_server_start_command_failed' into 'master'
fix: Refactored script for initiating Python-based HTTPS server

Closes IDFGH-12573

See merge request espressif/esp-idf!30239
2024-05-02 16:07:49 +08:00
Mahavir Jain 0d36eb3342
fix(tests): correct the flash write length for NVS encrypted test
Write only till the embedded file size in the NVS partition. Earlier
the length was kept as the whole partition size and it could result
in accessing embedded rodata beyond the MMU mapped range.
2024-05-02 13:24:45 +05:30
Mahavir Jain c032a8b04a
fix(tests): remove unused partition NVS bin file 2024-05-02 13:23:35 +05:30
Konstantin Kondrashov fdd54ab1bb Merge branch 'feature/print_panic_while_cache_fail' into 'master'
feat(esp_system): Print backtrace for both CPUs when cache error does not determine CPU

Closes IDF-9813

See merge request espressif/esp-idf!30505
2024-05-01 13:30:32 +08:00
Alexey Lapshin 0ddfb9caf1 Merge branch 'docs/update-reducing-stack-size-article' into 'master'
feature(docs): update reducing stack size article

See merge request espressif/esp-idf!25234
2024-05-01 00:10:05 +08:00
shenmengjing a55e6c0eb6 docs: Update the CN Translation for ram-usage.rst 2024-04-30 23:32:22 +08:00
Alexey Lapshin e1946b6446 feat(docs): update reducing stack size article 2024-04-30 23:32:22 +08:00
Marek Fiala e351a4407a fix(tools): fix failing create readonly project build system test
Changed the way of removing copied esp-idf folder.
2024-04-30 16:42:05 +02:00
Konstantin Kondrashov a8ba5e86d7 Merge branch 'feature/log_buffer' into 'master'
feat(log): Refactoring buffer log APIs

Closes IDF-8092

See merge request espressif/esp-idf!29559
2024-04-30 20:25:06 +08:00
Konstantin Kondrashov 8b418d4b09 feat(esp_system): Print backtrace for both CPUs when cache error does not determine CPU 2024-04-30 15:20:58 +03:00
Wan Lei cceec04195 Merge branch 'refactor/spi_slave_hal_iram_dma_replace' into 'master'
refactor(spi_slave): spi slave and slave HD hal iram dma_ll replace

Closes IDF-6152 and IDF-9656

See merge request espressif/esp-idf!27877
2024-04-30 20:16:18 +08:00
Peter Marcisovsky ff61a12426 Merge branch 'refactor/console_astyle_formating' into 'master'
refactor(console): Enable astyle formatting

See merge request espressif/esp-idf!30567
2024-04-30 18:11:59 +08:00
Wang Meng Yang 16b9b284e8 Merge branch 'bugfix/fix_hid_connection_failed_bug' into 'master'
fix(bt/bluedroid): Fix HID Device connection failed bug

Closes IDFGH-12680 and BTQABR2023-273

See merge request espressif/esp-idf!30423
2024-04-30 17:40:20 +08:00
Jin Cheng b79fcbb9d7 fix(bt/controller): Parse out the correct packet types from Host parameters
- For HCI command HCI_Enhanced_Setup_Synchronous_Connection
2024-04-30 17:38:58 +08:00
morris fd80526ac1 Merge branch 'bugfix/mipi_dsi_1_data_lane' into 'master'
fix(mipi_dsi): only wait ready for enabled data lane

Closes AUD-5385

See merge request espressif/esp-idf!30562
2024-04-30 16:45:19 +08:00
morris 28073d9991 fix(mipi_dsi): only wait ready for enabled data lane 2024-04-30 14:41:52 +08:00
liqigan 284b80024c fix(bt/bluedroid): Fix HID Device connection failed bug
Closes https://github.com/espressif/esp-idf/issues/13671
2024-04-30 12:40:04 +08:00
Mahavir Jain 4c6b375666 Merge branch 'bugfix/fix_esp_tls_nano_formatting' into 'master'
fix: Fix error logging formatting bug for nano formatting

Closes IDFGH-12606

See merge request espressif/esp-idf!30389
2024-04-30 12:34:57 +08:00
nilesh.kale 553a117894 fix: Refactored script for initiating Python-based HTTPS server
This commit refactors the script responsible for starting a Python-based HTTPS server
to align with the latest Python version's requirements and best practices.

Closes https://github.com/espressif/esp-idf/issues/13575
2024-04-30 10:04:56 +05:30
Jiang Jiang Jian a685ef804a Merge branch 'bugfix/update_ftm_calibration' into 'master'
Update FTM PHY Compensation with calibration

Closes WIFIBUG-480

See merge request espressif/esp-idf!30421
2024-04-30 12:05:40 +08:00
morris 49709ee21e Merge branch 'fix/increase_26mhz_esp32c2_slow_clock_calibration_wdt_threshold' into 'master'
fix(esp_system): increase 26Mhz esp32c2 slow clock calibration timeout watchdog threshold

Closes IDF-9857

See merge request espressif/esp-idf!30533
2024-04-30 11:20:54 +08:00
Jiang Jiang Jian e08a99f48a Merge branch 'bugfix/fix_scan_get_ap_number_issue' into 'master'
fix(wifi): fixed scan get ap number issue

Closes FCS-1442

See merge request espressif/esp-idf!30547
2024-04-30 11:14:00 +08:00
morris 72f42db7e2 Merge branch 'bugfix/dead_code_in_ldo_ll' into 'master'
fix(ldo): remove logically dead code

Closes IDF-9829 and IDF-9849

See merge request espressif/esp-idf!30550
2024-04-30 10:15:34 +08:00
Marius Vikhammer 81d513f7f2 Merge branch 'docs/p4_cleanup' into 'master'
docs(programming-guide): clean up misc leftover doc updates for P4

See merge request espressif/esp-idf!30548
2024-04-30 09:44:07 +08:00
Fu Hanxi b1e7861c1a Merge branch 'ci/ignore_mspi_f8r8_runners' into 'master'
CI: improve error message when no runner assigned, or no env mark in test cases

See merge request espressif/esp-idf!30526
2024-04-30 02:03:13 +08:00
Peter Marcisovsky 0bfaf775c1 refactor(console): Enable astyle formatting 2024-04-29 16:12:51 +02:00
Michael (XIAO Xufeng) fe3fd4ae43 Merge branch 'bugfix/cache2phys_xip' into 'master'
fix(mmap): fixed spi_flash_cache2phys return addr in PSRAM issue

See merge request espressif/esp-idf!30367
2024-04-29 20:09:12 +08:00
Marius Vikhammer baa11d25b0 docs(programming-guide): clean up misc leftover doc updates for P4 2024-04-29 17:52:07 +08:00
Roland Dobai bc193e6ba9 Merge branch 'fix/docs_p4_tools' into 'master'
change(docs): Update checked tools doc pages for ESP32-P4 programming guide

See merge request espressif/esp-idf!30553
2024-04-29 17:44:51 +08:00
Kevin (Lao Kaiyao) 3e15e7f46e Merge branch 'refactor/isp_af_interrupt_and_callback' into 'master'
refactor(isp): refactor the interrupt and callback solution

See merge request espressif/esp-idf!30176
2024-04-29 17:09:05 +08:00
Kevin (Lao Kaiyao) 36b1d5ae89 Merge branch 'fix/error_reg_base_name_on_p4' into 'master'
fix(soc): fixed redefined soc reg names on P4

See merge request espressif/esp-idf!30275
2024-04-29 17:08:30 +08:00
Nachiket Kukade d1c2490612 feat(esp_wifi): Update FTM PHY Compensation with calibration 2024-04-29 14:36:46 +05:30
Fu Hanxi 42d6316e91
ci: improve error message when no required tags, and no mandatory env marker 2024-04-29 10:47:33 +02:00
Harshit Malpani 3048ca3222
feat: Enable test app for app_update component
Enable all the test cases in test app of app_update component.
Earlier, due to some config not enabled, not all the test cases ran.
2024-04-29 14:07:14 +05:30
Roland Dobai 7b0eb8216f change(docs): Update checked tools doc pages for ESP32-P4 programming guide 2024-04-29 09:11:57 +02:00
Dai Zi Yan 1b95af2096 Merge branch 'docs/udpate_cn_trans' into 'master'
docs: update the EN version of size.rst

Closes DOC-7598

See merge request espressif/esp-idf!30166
2024-04-29 15:04:53 +08:00
Mo Fei Fei 1c9a80871a Merge branch 'docs/update_cn_trans_etm' into 'master'
docs: update cn trans for etm.rst

Closes DOC-6622

See merge request espressif/esp-idf!30501
2024-04-29 14:54:09 +08:00
C.S.M f663c9fa6d Merge branch 'docs/remove_not_update' into 'master'
docs(periph): Remove docs not update for flash, i2c, usj, tsens

Closes IDF-7715, IDF-7727, IDF-7728, and IDF-7739

See merge request espressif/esp-idf!30549
2024-04-29 14:50:52 +08:00
Marius Vikhammer 76b7d12329 Merge branch 'feature/lp_core_interrupts' into 'master'
feat(ulp): support interrupts for C6/P4 LP core

Closes IDFGH-11986 and IDF-7200

See merge request espressif/esp-idf!30399
2024-04-29 14:36:54 +08:00
morris c64c910955 fix(ldo): remove logically dead code 2024-04-29 14:21:17 +08:00
mofeifei f5bace9f4d docs: update cn trans for etm.rst 2024-04-29 14:06:57 +08:00
Cao Sen Miao d41945b585 docs(periph): Remove docs not update for flash, i2c, usj, tsens 2024-04-29 14:03:46 +08:00
Jiang Jiang Jian 3ec83ef1da Merge branch 'bugfix/fix_trc_ampdu_stop_rateidx_value_errors' into 'master'
fix(wifi): fix trc_ampdu_stop_rateidx value errors when DUT under softap + sta mode

See merge request espressif/esp-idf!30538
2024-04-29 14:01:09 +08:00
laokaiyao fc9555f355 fix(soc): fixed redefined soc reg names on P4 2024-04-29 11:02:00 +08:00
muhaidong 6d2562af0b fix(wifi): fixed scan get ap number issue 2024-04-28 20:00:37 +08:00
C.S.M 4499b7ee8f Merge branch 'fix/jpeg_dri_issue' into 'master'
fix(jpeg): Fix several issues reported recently

See merge request espressif/esp-idf!30536
2024-04-28 19:35:22 +08:00
Xu Chun Guang 294b418686 docs: Correct spell error in comment 2024-04-28 17:48:04 +08:00
Island 33b3408e53 Merge branch 'bugfix/fix_ble_connect_fail_report_time' into 'master'
fix(ble/bluedroid): Fixed BLE report event when connection fails

Closes BLERP-718

See merge request espressif/esp-idf!30530
2024-04-28 17:41:52 +08:00
Shen Meng Jing 02a3ac37e9 Merge branch 'docs/update_translation' into 'master'
docs: Update the CN translation with the label missing

Closes DOC-7362

See merge request espressif/esp-idf!30131
2024-04-28 17:16:52 +08:00
Marius Vikhammer c5a513cf49 feat(ulp): support interrupts for C6/P4 LP core
Closes https://github.com/espressif/esp-idf/issues/13059
2024-04-28 17:03:23 +08:00
Xu Chun Guang 226c7772b8 fix(lwip/dhcp_server): Bind dhcps netif to avoid handling the dhcp packet from other netifs 2024-04-28 16:28:48 +08:00
laokaiyao 2237633ab3 refactor(isp): refactor the interrupt and callback solution
- Added async API
- Replaced the polling API
- Supported one more callback and event data
2024-04-28 16:23:22 +08:00
Shu Chen 8ca7cc2f98 Merge branch 'feature/support_ot_iperf_version_select_in_extcommand' into 'master'
feat(openthread): move iperf dependency into cli extension

See merge request espressif/esp-idf!30454
2024-04-28 16:05:01 +08:00
xuxiao b60c2e7a16 fix(wifi): fix trc_ampdu_stop_rateidx value errors when DUT under softap + sta mode 2024-04-28 15:56:01 +08:00
zhanghaipeng 49cab1a22f fix(ble/bluedroid): Fixed BLE report event when connection fails 2024-04-28 15:44:13 +08:00
Cao Sen Miao 7f97a9e524 fix(jpeg): Fix several issues reported recently,
1. Fix decode images with dri marker failed,
2. Fix encode sometimes get length error
2024-04-28 15:16:48 +08:00
wuzhenghui 6b64b76d2a
fix(esp_system): increase 26Mhz esp32c2 slow clock calibration timeout watchdog threshold 2024-04-28 14:40:11 +08:00
baohongde 5912194ccd fix(coex): Fixed some coexist issues
- Fixed crash issue in coexist callback
- Fixed coexist scheme status update issue
2024-04-28 11:59:01 +08:00
Armando (Dou Yiwen) 7e9b9d5ee8 Merge branch 'change/rename_csi_api' into 'master'
change(camera): change esp_cam_del_ctlr to esp_cam_ctlr_del

See merge request espressif/esp-idf!30516
2024-04-28 11:54:29 +08:00
shenmengjing f0ef081d0a docs: Update the CN translation with the label missing 2024-04-28 11:24:37 +08:00
Island 39a1e17c32 Merge branch 'bugfix/fix_ble_coex_assert' into 'master'
fix(bt): Update esp32 bit-lib (4012cfb)

Closes BT-3674 and BLERP-715

See merge request espressif/esp-idf!30447
2024-04-28 10:48:24 +08:00
Erhan Kurubas 3fcfef9e04 Merge branch 'coredump_sanity_check' into 'master'
fix(coredump): increase sanity check before get summary

Closes IDFGH-12595

See merge request espressif/esp-idf!30444
2024-04-27 02:01:52 +08:00
Roland Dobai 58cb2c37a0 Merge branch 'fix/ci_cli_installer_cmake' into 'master'
ci(tools): Fix IDF_MIRROR_PREFIX_MAP for including all tools from local

See merge request espressif/esp-idf!30499
2024-04-27 01:03:47 +08:00
Sudeep Mohanty 3cbe88427e test(lp-core): Added unit test for lp_core_printf
This commit adds a unit test for the lp_core_printf API.
2024-04-26 16:56:48 +02:00
Jakob Hasse d053925fb2 fix(linux): calling getrandom() outside assert()
* Expressions inside assert are completely removed in release builds
2024-04-26 15:21:45 +02:00
Roland Dobai 6f6706cb8e ci(tools): Fix IDF_MIRROR_PREFIX_MAP for including all tools from local 2024-04-26 15:17:39 +02:00
Sudeep Mohanty be8a0568c5 test(lp-core): Fixed unstable LP UART tests
This commit fixes some flaky LP UART unit tests.
2024-04-26 14:32:16 +02:00
zhanghaipeng 4b083ca59c feat(ble/bluedroid): Support BLE command status debug log 2024-04-26 17:08:17 +08:00
Kirill Chalov 13effc7f23 Merge branch 'docs/improve_sample_project_example' into 'master'
docs: Improve sample project example

See merge request espressif/esp-idf!30270
2024-04-26 16:46:29 +08:00
zhanghaipeng 89b848d018 fix(ble/controller): Update esp32 bt-lib (4012cfb)
- Fixed BLE coex assert
- Fixed BLE DTM status and tx count
2024-04-26 16:43:31 +08:00
Island 6c032a0b70 Merge branch 'bugfix/fix_some_ble_bugs_240420' into 'master'
Fixed some BLE bugs 240420 on ESP32C3 (a771b7c)

Closes BLERP-704, BLERP-705, BLERP-706, BLERP-707, BLERP-708, and BLERP-709

See merge request espressif/esp-idf!30400
2024-04-26 16:37:46 +08:00
Armando 0113b39a54 change(camera): change esp_cam_del_ctlr to esp_cam_ctlr_del 2024-04-26 16:04:18 +08:00
Shen Meng Jing 2b0c130a2e Merge branch 'docs/translate_mm_sync' into 'master'
docs: Provide CN Translation for mm_sync.rst in api-reference

Closes DOC-7622

See merge request espressif/esp-idf!30209
2024-04-26 15:42:37 +08:00
Shen Meng Jing 554179609f Merge branch 'docs/translate_spi_flash' into 'master'
Docs/translate spi flash & ulp_macros

Closes DOC-7532

See merge request espressif/esp-idf!29897
2024-04-26 15:31:23 +08:00
Shen Meng Jing 3a0ad2b17e Merge branch 'docs/translate_c_support' into 'master'
docs: Provide translation for c.rst

Closes DOC-7522

See merge request espressif/esp-idf!29863
2024-04-26 15:18:39 +08:00
Shen Meng Jing 57e8d17c45 Merge branch 'docs/translate_system' into 'master'
docs: Provide translation for system.rst (5.3) in migration-guides

Closes DOC-7524

See merge request espressif/esp-idf!29873
2024-04-26 15:18:04 +08:00
Igor Udot a9fa0d2505 Merge branch 'ci/fix-url-quote' into 'master'
ci: quote spec character in url

See merge request espressif/esp-idf!30498
2024-04-26 13:52:57 +08:00
kirill.chalov 9bc7e04e1f docs: Improve sample project example 2024-04-26 13:42:30 +08:00
gaoxu 605f2309bf feat(gpio): add gpio support on ESP32C5 MP version 2024-04-26 12:27:53 +08:00
Xiao Xufeng bcdd9544df fix(mmap): fixed spi_flash_cache2phys return addr in PSRAM issue
When SPIRAM_FETCH_INSTRUCTIONS or SPIRAM_RODATA enabled
2024-04-26 01:37:35 +08:00
morris d4cd437ede Merge branch 'feat/dsi_lcd_iram_safe' into 'master'
MIPI DSI IRAM Safe

See merge request espressif/esp-idf!30416
2024-04-25 21:32:21 +08:00
igor.udot 6034638e4a ci: quote spec character in url 2024-04-25 18:33:06 +08:00
Bogdan Kolendovskyy c782708f0f Merge branch 'feature/mqtt_build_test_esp32p4' into 'master'
Added esp32p4 test target for mqtt and mqtt5 tests

Closes IDF-8077

See merge request espressif/esp-idf!29662
2024-04-25 18:16:01 +08:00
kirill.chalov 8c1d66be8c ci(pre-commit): Exclude sample_project readme from checking against build-test-rules 2024-04-25 17:55:59 +08:00
Jakob Hasse 9c965073d4 Merge branch 'feature/linux_backtraces' into 'master'
refactor(linux): Improved error reporting

See merge request espressif/esp-idf!30387
2024-04-25 15:57:07 +08:00
Song Ruo Jing cc605edc1c Merge branch 'bugfix/uart_event_fields_initialization' into 'master'
fix(uart): re-initialize uart_event fields to some certain values for every loop

Closes IDFGH-11129

See merge request espressif/esp-idf!30482
2024-04-25 14:57:10 +08:00
Fu Hanxi 36fd860d4e Merge branch 'ci/fix_app_size_json_path' into 'master'
CI: fix app size json path

See merge request espressif/esp-idf!30484
2024-04-25 14:38:29 +08:00
Darian 24416d5a26 Merge branch 'fix/freertos_vtasklist_param_order' into 'master'
fix(freertos): Fix vTaskList() parameter print order

Closes IDFGH-12684

See merge request espressif/esp-idf!30473
2024-04-25 14:35:04 +08:00
Fu Hanxi f99453910c Merge branch 'ci/upload_sdkconfig_file' into 'master'
CI: upload sdkconfig file

See merge request espressif/esp-idf!30386
2024-04-25 14:30:43 +08:00
Konstantin Kondrashov af4df10b65 feat(log): Refactoring buffer log APIs (2) 2024-04-25 08:45:27 +03:00
Konstantin Kondrashov 0f4fc2bf55 feat(log): Refactoring buffer log APIs 2024-04-25 08:45:27 +03:00
shenmengjing 7ddc3755ac docs: Provide CN Translation for mm_sync.rst in api-reference 2024-04-25 11:44:08 +08:00
shenmengjing 3b76cae7e7 docs: Provide translation for c.rst 2024-04-25 11:01:13 +08:00
shenmengjing 49ba4c0268 docs: Provide translation for system.rst in migration-guides 2024-04-25 11:00:34 +08:00
Kevin (Lao Kaiyao) 95ab3ccf96 Merge branch 'feature/support_gpio_on_c61' into 'master'
feat(gpio): support GPIO on ESP32C61

Closes IDF-9316

See merge request espressif/esp-idf!30380
2024-04-25 11:00:32 +08:00
shenmengjing 59644bccc2 docs: Provide CN translation for documents under api-reference 2024-04-25 10:59:40 +08:00
morris 4c0b3a501b Merge branch 'feat/rmt_sleep_retention' into 'master'
feat(rmt): add sleep retention link

Closes IDF-8474 and DOC-7635

See merge request espressif/esp-idf!30294
2024-04-25 10:42:35 +08:00
xiongweichao 3237cce6b5 docs: Update the process of Bluetooth entering sleep in the sleep_modes.rst 2024-04-25 10:19:41 +08:00
Jakob Hasse 4c5cded945 refactor(linux): Improved error reporting
* Without using GDB, segfaults and aborts are reported
  clearly now
* Without using GDB, segfaults produce a rudimentary
  backtrace now
2024-04-24 18:12:45 +02:00
Darian c82bf2d02d Merge branch 'change/usb_host_docs_owners' into 'master'
change(ci): Update code owners for USB Host maintainer docs

See merge request espressif/esp-idf!30431
2024-04-25 00:03:17 +08:00
Darian Leung a7ecda8429
change(ci): Update code owners for USB Host maintainer docs 2024-04-24 22:18:37 +08:00
morris e8e975112a feat(rmt): support sleep retention
by back up the registers
2024-04-24 22:10:42 +08:00
Fu Hanxi 6a919dcc16 Merge branch 'ci/add_minio_to_pytest_requirements' into 'master'
ci: add minio as pytest requirement

See merge request espressif/esp-idf!30483
2024-04-24 21:22:34 +08:00
Fu Hanxi e62c1f81b7
ci: fix size.json path for app 2024-04-24 15:14:13 +02:00
Fu Hanxi 31f5c1ffc4 ci: upload sdkconfig file 2024-04-24 21:01:34 +08:00
Fu Hanxi aa9cf351d3
ci: add minio as pytest requirement 2024-04-24 14:54:42 +02:00
Adam Múdry 7a70647a01 Merge branch 'ci/increase_tiemout_wl_multiple_tasks_can_use_same_volume' into 'master'
ci: Increase CONFIG_FATFS_VFS_FSTAT_BLKSIZE size for auto_fsync case to fix CI

See merge request espressif/esp-idf!30430
2024-04-24 19:54:27 +08:00
Song Ruo Jing 8c603c24cd fix(uart): re-initialize uart_event fields to some certain values for every loop
Although uart_event.size and uart_event.timeout_flags fields are
meaningless to events other than UART_DATA, fix the values to 0 could
help reduce confusion.

Closes https://github.com/espressif/esp-idf/issues/12299
2024-04-24 19:19:04 +08:00
Darian Leung 13c4a57a2d
fix(freertos): Fix vTaskList() parameter print order
xCoreID was previously printed as the last parameter priority to IDF v5.1, but
was changed to the third paramtere from v5.2 onwards. This commit restores the
correct ordering.

Closes https://github.com/espressif/esp-idf/issues/13675
2024-04-24 17:19:38 +08:00
Wu Zheng Hui c982873e56 Merge branch 'fix/fix_esp32p4_kconfig_pd_cpu_dependency_error' into 'master'
fix(esp_pm): fix esp32p4 kconfig pd cpu dependency error

See merge request espressif/esp-idf!30347
2024-04-24 16:56:09 +08:00
Jiang Jiang Jian e4dbbf1d4c Merge branch 'bugfix/fix_ampdu_not_reply_ba' into 'master'
fix(wifi): clear wifi buffer to fix ampdu compatibility issue

Closes ESPCS-948

See merge request espressif/esp-idf!30424
2024-04-24 16:21:18 +08:00
Armando (Dou Yiwen) cd1a681149 Merge branch 'feat/csi_dsi_example' into 'master'
example: csi dsi example

See merge request espressif/esp-idf!30346
2024-04-24 16:01:55 +08:00
Mahavir Jain 715d733b15 Merge branch 'example/update_readme_of_pre_encrypted_ota' into 'master'
docs: Update pre_encrypted_ota example README

See merge request espressif/esp-idf!30375
2024-04-24 15:58:02 +08:00
zwx c4c548f2da feat(openthread): move iperf dependency into cli extension 2024-04-24 15:45:10 +08:00
wuzhenghui 144ba095ae
fix(esp_hw_support): invalidate L1DCache before enter hardware sleep 2024-04-24 15:06:44 +08:00
wuzhenghui 1334bafe58
change(esp_hw_support): put more code into TCM to speed up the sleep and wake-up process 2024-04-24 15:06:44 +08:00
wuzhenghui 09d6664891
ci(esp_pm): add pd_top auto lightsleep test case for esp_pm 2024-04-24 15:06:35 +08:00
Armando 3b567b7033 fix(csi): fixed wrong assert when there's new transaction 2024-04-24 14:57:58 +08:00
Armando 359f3e146a fix(isp): fixed af environment detector lack of configuration issue 2024-04-24 14:57:58 +08:00
Armando 507d27a56f example(camera): added new camera dsi example 2024-04-24 14:57:58 +08:00
Darian c9ffd9ddaa Merge branch 'refactor/usb_host_usbh_api' into 'master'
refactor(usb/host): Refactor USBH API

See merge request espressif/esp-idf!30029
2024-04-24 14:50:25 +08:00
laokaiyao 2c90b71d45 feat(gpio): support GPIO on ESP32C61 2024-04-24 14:27:40 +08:00
Ondrej Kosta 7843c51ec4 Merge branch 'contrib/github_pr_13560' into 'master'
esp_eth: DP83848: correct link detection to use BMSR (GitHub PR)

Closes IDFGH-12557

See merge request espressif/esp-idf!30361
2024-04-24 14:22:45 +08:00
wanlei cb86a3e2a2 feat(spi): Add helper function for alignment reqiured memory allocation 2024-04-24 14:01:09 +08:00
wanlei c82ea4311e refactor(spi_slave_hd): replace part of dma_ll in hd hal layer 2024-04-24 14:01:09 +08:00
wanlei 67f798b666 refactor(spi_slave): replace dma_ll in slave hal layer (part 2.2) 2024-04-24 14:01:09 +08:00
wanlei 31f4e9c698 feat(gdma): strategy_config_t add eof_mode support 2024-04-24 14:01:09 +08:00
Song Ruo Jing 0733fa1267 Merge branch 'bugfix/fix_gpio_etm_multi_task' into 'master'
fix(gpio_etm): allow one GPIO binds to multiple ETM tasks

See merge request espressif/esp-idf!30319
2024-04-24 11:35:52 +08:00
Erhan Kurubas e6effa2be3 fix(coredump): increase sanity check before get summary
Closes https://github.com/espressif/esp-idf/issues/13594
2024-04-24 06:29:44 +03:00
alanmaxwell 7f13d02229 fix(wifi): clear wifi buffer to fix ampdu compatibility issue 2024-04-24 11:27:29 +08:00
morris 05a357b245 Merge branch 'refactor/dma_test_p4' into 'master'
change(gdma): improve the test cases to be target agnostic

See merge request espressif/esp-idf!30385
2024-04-24 10:34:27 +08:00
Adam Múdry feed6b4afe ci: Increase CONFIG_FATFS_VFS_FSTAT_BLKSIZE size for auto_fsync case 2024-04-23 22:19:23 +02:00
Erhan Kurubas 5bac46d996 Merge branch 'coredump_save_all_regions' into 'master'
Save .bss, .data and .heap sections in to the coredump

Closes IDF-2354 and IDFGH-11603

See merge request espressif/esp-idf!29028
2024-04-24 02:49:01 +08:00
Wang Fang f5e34f6c14 Update CN translation for coredump 2024-04-23 20:13:28 +03:00
Erhan Kurubas 3b8191cf5d feat(coredump): save .bss, .data and .heap sections to the elf file 2024-04-23 19:07:51 +03:00
Adam Múdry c0c26b2604 Merge branch 'fix/bump_esp_littlefs_to_v1.14.4' into 'master'
fix(storage/littlefs): Bump version to v1.14.4 (core v2.9.1)

Closes IDF-9708

See merge request espressif/esp-idf!30355
2024-04-23 23:05:16 +08:00
Jiang Jiang Jian 863ce8578e Merge branch 'bugfix/fix_esp32c6_wdt_issues' into 'master'
fix(wifi): fix esp32c6 wdt issues when recv/send tcp packages

See merge request espressif/esp-idf!30417
2024-04-23 21:16:59 +08:00
Song Ruo Jing bf3067fa8a fix(gpio_etm): allow one GPIO binds to multiple ETM tasks 2024-04-23 20:37:34 +08:00
Rahul Tank 2bb73deff5 Merge branch 'bugfix/rpa_timeout_api' into 'master'
fix(nimble): Expose API to set RPA Timeout

Closes BLERP-647

See merge request espressif/esp-idf!29903
2024-04-23 20:04:48 +08:00
xuxiao e9d21b64fb fix(wifi): fix esp32c6 wdt issues when recv/send tcp packages 2024-04-23 19:56:57 +08:00
zhangyanjiao a65c9e37e9 docs(wifi): update the docmentation for mesh API 2024-04-23 19:15:09 +08:00
morris 07a3e5eaa8 feat(mipi_dsi): support isr iram safe 2024-04-23 18:31:16 +08:00
morris ef57e5105d feat(mipi_dsi): add pm lock for clock source 2024-04-23 18:31:16 +08:00
Abhik Roy 3cb622cbf6 Merge branch 'contrib/github_pr_13348' into 'master'
feat(esp_netif): Allow traffic reporting (GitHub PR)

Closes IDFGH-12314

See merge request espressif/esp-idf!30040
2024-04-23 18:26:59 +08:00
Sudeep Mohanty 4e57715394 Merge branch 'task/lp_core_lp_uart_tests' into 'master'
feat(lp-uart): Added unit tests for LP UART when used from LP Core

See merge request espressif/esp-idf!30396
2024-04-23 17:50:28 +08:00
Sonika Rathi 3d813afa01 Merge branch 'bugfix/fatfs_optimize_stat_func' into 'master'
fix(fatfs): Optimizes vfs_fat_stat function to get stat structure after readdir

See merge request espressif/esp-idf!28609
2024-04-23 17:24:03 +08:00
Darian Leung aa8939e7cc
docs(usb): Add USBH maintainer notes 2024-04-23 17:18:56 +08:00
Darian Leung 99ec1c98f5
refactor(usb/usbh): Update USBH device creation and enumeration handling
This commit updates how the USBH handles device creation and enumeration so that
upper layers (such as the Hub driver) can use the USBH API for enumeration instead
of calling the HCD.

USBH Updates:

USBH now creates unenumerated devices set to address 0 with no device/config
descriptor. A newly created device can be opened and communicated with immediately
(using control transfers). This allows the Hub driver to call the USBH instead of
the HCD. Summary of USBH changes:

- Added new APIs to add/remove a device. Devices are now created as unenumerated
and can be immediately opened and communicated with.
- Added new APIs to enumerate a device (see 'usbh_dev_set_...()' functions). Device
must be locked (see 'usbh_dev_enum_lock()') before enumeration functions can be called.
- Added UID for each device. This allows the particular USBH without needing to
use the device's handle (which implies opening the device).

Hub Driver Updates:

Hub driver now calls the USBH for enumeration. Summary of USBH changes:

- Replace all 'hcd_pipe_...()' calls with 'usbh_dev_...()' calls
- Refactored port event handling to fit with new USBH API
- Updated to use UID to uniquely identify devices without opening them

USB Host Updates:

- Reroute USBH control transfers to clients and hub driver
2024-04-23 17:18:56 +08:00
Mahavir Jain f2a03f27cf
docs: add more details about pre-encrypted OTA scheme 2024-04-23 14:35:09 +05:30
Darian Leung 550aaaa8b4
refactor(usb/hub): Update Hub driver port request logic 2024-04-23 16:50:54 +08:00
Darian Leung c10fe6ca48
refactor(usb/hcd): Allow port resets with allocated pipes
This commit updates the HCD API to allow port resets to occur even if pipes
are allocated. The pipes cannot be active and the port reset will simply
restore the pipes (by reinitializing their channel registers) following the
reset.

Changes:

- Allow port resets while channels are allocated
- Remove pipe persistance API 'hcd_pipe_set_persist_reset()'
2024-04-23 16:50:53 +08:00
Darian Leung b05cf70b77
refactor(usb/usbh): Rename device pool functions and ref_count
This commit renames the following APIs and variables in the USBH:

- Rename the prefix of device pool functions from 'usbh_dev_...' to
  'usbh_devs_...'.
- Rename 'ref_count' to 'open_count'. This variable tracks the number of times
  a device has been opened.
2024-04-23 16:50:53 +08:00
Darian Leung 4569ac7550
refactor(usb/host): Refactor USBH function grouping
This commit rearranges the USBH functions into new groupings to provide a
clearer abstraction. This is in preparation for refactoring/removing the Hub
related functions in the USBH API. This commit DOES NOT MAKE ANY BEHAVIORAL
CHANGES to the code.

Functions are now grouped into...

- USBH Processing: Functions dealing with overall USBH processing
- Device Pool: Functions that add/remove/open/close devices from the internal
               device pool
- Device: Functions that pertain to setting/getting a particular device
- Endpoints: Functions that pertain to a particular endpoint
- Transfer: Functions that pertain to sending transfers
2024-04-23 16:50:52 +08:00
daiziyan 16bd72bebe docs: update the CN version of size.rst 2024-04-23 14:55:39 +08:00
Harshit Malpani b7a8e6102f
docs: Update pre_encrypted_ota example README
Update pre_encrytped_ota example README to clarify the difference
between Flash Encryption and Pre-encrypted OTA
2024-04-23 12:15:19 +05:30
Darian 9a24782dd2 Merge branch 'contrib/github_pr_13669' into 'master'
docs: clarify ESP_RETURN_ON_ERROR result (GitHub PR)

Closes IDFGH-12678

See merge request espressif/esp-idf!30397
2024-04-23 14:30:00 +08:00
Roland Dobai a1e9c6e5b0 Merge branch 'fix/docker_entrypoint_permissions' into 'master'
fix(docker): Fix entrypoint.sh is not executable issue (GitHub PR)

Closes IDFGH-12668 and IDFGH-12681

See merge request espressif/esp-idf!30372
2024-04-23 13:57:07 +08:00
Rahul Tank 9433067f33 fix(nimble): Expose API to set RPA Timeout 2024-04-23 11:21:26 +05:30
Shu Chen 1e12b1b14a Merge branch 'feature/support_openthread_ephemeral_key' into 'master'
feat(openthread): support openthread ephemeral key

See merge request espressif/esp-idf!30340
2024-04-23 12:32:08 +08:00
Mahavir Jain ceff56e1f3 Merge branch 'feat/enable_app_update_test_p4' into 'master'
feat: Enable app_update test app for ESP32P4

Closes IDF-8068 and IDF-8959

See merge request espressif/esp-idf!30295
2024-04-23 12:14:13 +08:00
wuzhenghui 01dce77fa7
feat(esp_pm): fix esp32p4 cpu powerdown kconfig dependency error 2024-04-23 11:54:45 +08:00
chenjianhua 22cdf8db16 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(a771b7c)
- Fixed assert when starting advertising due to preemption
- Fixed RPA generation after each reboot
- Fixed RPA renew timer start and stop
2024-04-23 11:30:02 +08:00
Ivan Grokhotkov 73190dd04e Merge branch 'version/v5.4.0' into 'master'
Update version to v5.4-dev

See merge request espressif/esp-idf!30352
2024-04-23 08:00:22 +08:00
Darian Leung d2ea044e49
docs(esp_common): Fix formatting issues in error-handling.rst
This commit fixes the following formatting issues in error-handling.rst:

- Incorrect indentation (3 spaces to 4 spaces)
- Fixed some italics that were supposed to be inline literals
- Used code-block directive for language highlighting
2024-04-23 02:34:25 +08:00
Harshit Malpani aece182482
fix: Fix error logging formatting bug for nano formatting
Closes https://github.com/espressif/esp-idf/issues/13604
2024-04-23 00:02:46 +05:30
Sudeep Mohanty df7e51fb8d feat(lp-uart): Added unit tests for LP UART when used from LP Core
This commit adds unit tests for the LP UART peripheral.
2024-04-22 18:34:48 +02:00
Richard Allen 4226d13b01 docs: clarify ESP_RETURN_ON_ERROR result 2024-04-22 09:56:58 -05:00
morris f3ea7a2cc6 change(gdma): improve the test cases to be target agnostic 2024-04-22 18:03:06 +08:00
Sonika Rathi e17da6f9f9 fix(fatfs): Optimizes vfs_fat_stat function to get stat structure after readdir
Closes https://github.com/espressif/esp-idf/issues/10220
2024-04-22 09:07:15 +02:00
Xiahua Liu 248d25a235 fix(docker): Fix entrypoint.sh is not executable issue
Closes https://github.com/espressif/esp-idf/pull/13660
2024-04-22 12:18:13 +07:00
Abhik Roy ad9787bb4d feat(esp_netif): Allow traffic reporting runtime enable/disable 2024-04-22 11:27:43 +10:00
Dr. Michael Lauer 5debb23da9 feat(esp_netif): Allow traffic reporting
This enables traffic indicators or data traffic statistics.
2024-04-22 11:22:29 +10:00
Adam Múdry 2fb0360a95 fix(storage/littlefs): Bump version to v1.14.4 (core v2.9.1)
Fixes a bug which causes DivideByZero exception when the filesystem is full
2024-04-19 12:47:59 +02:00
Xu Si Yu 728595313f feat(openthread): support openthread ephemeral key 2024-04-19 14:49:10 +08:00
nilesh.kale 3e6d62781f feat(mbedtls): updated mbedtls version from 3.5.2 to 3.6.0
This MR updated MbedTLS version to latest version 3.6.0.
2024-04-18 14:11:02 +05:30
Harshit Malpani 12c92bf822
feat: Enable app_update test app for ESP32P4 2024-04-17 11:21:34 +05:30
Karl Palsson e2945871b7 fix(esp_eth): dp83848: correct link detection to use BMSR
Reading the link state via PHYSTS was incorrect, as it only reflects the
link state bit from BMSR.  BMSR latches link down events, and are not
cleared without being read.  (See 802.3-2008 section 2, section 22.2.4.2.13)
This leads to the original DP828xx code only supporting link up, then a
single link down event.

Switch to reading the link state via BMSR, but continuing to read the
negotiation results via PHYSTS and ANLPAR.  This is inline with
LAN8720x, RTL8201, KSZ80xx phy drivers, and other opensource drivers for
the DP838xx family of devices.

Tested on a private board with a DP83825i PHY.  No publically available
boards using the original DP83848 are known of for testing.

Signed-off-by: Karl Palsson <karl.palsson@marel.com>
2024-04-16 11:08:48 +00:00
Tomáš Rohlínek 161604c33c
fix(storage/fatfs): change indentation in kconfig 2024-04-16 07:55:46 +02:00
Bogdan Kolendovskyy 256e0e50e7 feat(mqtt): Enable build test in mqtt examples for esp32p4 2024-04-09 13:48:28 +02:00
Eric Wheeler 1ad06064d1 feat(fatfs): add Kconfig settings for FF_USE_STRFUNC
Legacy fatfs code being ported to ESP-IDF may use `f_gets()`, `f_puts()`,
`f_putc()`, and `f_printf()` calls, but the define `FF_USE_STRFUNC` is set to 0
without Kconfig options to enable it.

This commit retains the existing default behavior of `FF_USE_STRFUNC=0` and
adds Kconfig settings so users can configure `FF_USE_STRFUNC` and the related
`FF_PRINT_LLI`, `FF_PRINT_FLOAT`, and `FF_STRF_ENCODE` if needed.

Closes: https://github.com/espressif/esp-idf/issues/13350
Signed-off-by: Eric Wheeler <esp-idf@z.ewheeler.org>
2024-04-08 14:37:12 -07:00
1721 zmienionych plików z 68017 dodań i 34061 usunięć

Wyświetl plik

@ -1,4 +1,4 @@
[codespell]
skip = build,*.yuv,components/fatfs/src/*,alice.txt,*.rgb,components/wpa_supplicant/*,components/esp_wifi/*
ignore-words-list = ser,dout,rsource,fram,inout,shs,ans,aci,unstall,unstalling,hart
ignore-words-list = ser,dout,rsource,fram,inout,shs,ans,aci,unstall,unstalling,hart,wheight,wel
write-changes = true

2
.gitignore vendored
Wyświetl plik

@ -96,6 +96,8 @@ dependencies.lock
managed_components
# pytest log
pytest-embedded/
# legacy one
pytest_embedded_log/
list_job*.txt
size_info*.txt

Wyświetl plik

@ -119,6 +119,7 @@
/components/fatfs/ @esp-idf-codeowners/storage
/components/freertos/ @esp-idf-codeowners/system
/components/hal/ @esp-idf-codeowners/peripherals
/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
@ -154,20 +155,21 @@
/components/wpa_supplicant/ @esp-idf-codeowners/wifi @esp-idf-codeowners/app-utilities/mbedtls
/components/xtensa/ @esp-idf-codeowners/system
/docs/ @esp-idf-codeowners/docs
/docs/**/api-guides/tools/ @esp-idf-codeowners/tools
/docs/en/api-guides/core_dump.rst @esp-idf-codeowners/debugging
/docs/en/api-guides/jtag-debugging/ @esp-idf-codeowners/debugging
/docs/**/api-reference/bluetooth/ @esp-idf-codeowners/bluetooth
/docs/**/api-reference/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi
/docs/**/api-reference/peripherals/ @esp-idf-codeowners/peripherals
/docs/**/api-reference/peripherals/usb* @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/docs/**/api-reference/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/docs/**/api-reference/provisioning/ @esp-idf-codeowners/app-utilities/provisioning
/docs/**/api-reference/storage/ @esp-idf-codeowners/storage
/docs/**/api-reference/system/ @esp-idf-codeowners/system
/docs/**/security/ @esp-idf-codeowners/security
/docs/**/migration-guides/ @esp-idf-codeowners/docs @esp-idf-codeowners/all-maintainers
/docs/ @esp-idf-codeowners/docs
/docs/**/api-guides/tools/ @esp-idf-codeowners/tools
/docs/en/api-guides/core_dump.rst @esp-idf-codeowners/debugging
/docs/en/api-guides/jtag-debugging/ @esp-idf-codeowners/debugging
/docs/**/api-reference/bluetooth/ @esp-idf-codeowners/bluetooth
/docs/**/api-reference/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi
/docs/**/api-reference/peripherals/ @esp-idf-codeowners/peripherals
/docs/**/api-reference/peripherals/usb* @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/docs/**/api-reference/peripherals/usb*/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/docs/**/api-reference/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/docs/**/api-reference/provisioning/ @esp-idf-codeowners/app-utilities/provisioning
/docs/**/api-reference/storage/ @esp-idf-codeowners/storage
/docs/**/api-reference/system/ @esp-idf-codeowners/system
/docs/**/security/ @esp-idf-codeowners/security
/docs/**/migration-guides/ @esp-idf-codeowners/docs @esp-idf-codeowners/all-maintainers
/examples/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
/examples/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools

Wyświetl plik

@ -56,7 +56,7 @@
variables:
IDF_TOOLCHAIN: clang
TEST_BUILD_OPTS_EXTRA: ""
TEST_DIR: tools/test_apps/system/cxx_pthread_bluetooth
TEST_DIR: tools/test_apps/system/clang_build_test
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
@ -143,7 +143,7 @@ build_clang_test_apps_esp32s3:
# For RISCV clang generates '.linker-options' sections of type 'llvm_linker_options' in asm files.
# See (https://llvm.org/docs/Extensions.html#linker-options-section-linker-options).
# Binutils gas ignores them with warning.
# TODO: LLVM-112, Use integrated assembler.
# TODO: LLVM-333, Use integrated assembler.
TEST_BUILD_OPTS_EXTRA: "--ignore-warning-str 'Warning: unrecognized section type'"
build_clang_test_apps_esp32c3:
@ -164,11 +164,30 @@ build_clang_test_apps_esp32c6:
extends:
- .build_clang_test_apps_riscv
- .rules:build
# TODO: c6 builds fail in master due to missing headers
allow_failure: true
variables:
IDF_TARGET: esp32c6
build_clang_test_apps_esp32c5:
extends:
- .build_clang_test_apps_riscv
- .rules:build
variables:
IDF_TARGET: esp32c5
build_clang_test_apps_esp32h2:
extends:
- .build_clang_test_apps_riscv
- .rules:build
variables:
IDF_TARGET: esp32h2
build_clang_test_apps_esp32p4:
extends:
- .build_clang_test_apps_riscv
- .rules:build
variables:
IDF_TARGET: esp32p4
######################
# Build System Tests #
######################

Wyświetl plik

@ -83,6 +83,12 @@ variables:
# This is used only if CI_PYTHON_TOOL_REPO is not empty.
CI_PYTHON_TOOL_BRANCH: ""
# Set this variable to Clang toolchain distro URL to be used.
# NOTE: We have separate toolchains for Xtensa and RISCV, therefore jobs for one arch will fail.
# This is OK as far as we use CI_CLANG_DISTRO_URL for pre-release tests purposes only.
# Keep the variable empty when not used.
CI_CLANG_DISTRO_URL: ""
# Set this variable to specify the file name for the known failure cases.
KNOWN_FAILURE_CASES_FILE_NAME: "master.txt"
@ -152,7 +158,7 @@ variables:
fi
# Install esp-clang if necessary
if [[ "$IDF_TOOLCHAIN" == "clang" ]]; then
if [[ "$IDF_TOOLCHAIN" == "clang" && -z "$CI_CLANG_DISTRO_URL" ]]; then
$IDF_PATH/tools/idf_tools.py --non-interactive install esp-clang
fi
@ -167,7 +173,7 @@ variables:
source ./export.sh
# Custom clang
# Custom clang toolchain
if [[ ! -z "$CI_CLANG_DISTRO_URL" ]]; then
echo "Using custom clang from ${CI_CLANG_DISTRO_URL}"
wget $CI_CLANG_DISTRO_URL

Wyświetl plik

@ -133,7 +133,7 @@ test_cli_installer:
script:
# Tools must be downloaded for testing
# We could use "idf_tools.py download all", but we don't want to install clang because of its huge size
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa cmake
- cd ${IDF_PATH}/tools/test_idf_tools
- python3 -m pip install jsonschema
- python3 ./test_idf_tools.py -v
@ -228,6 +228,8 @@ test_tools:
- pytest --noconftest test_idf_qemu.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY_QEMU.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}
- shellcheck -s sh tools/detect_python.sh || stat=1
- shellcheck -s bash tools/detect_python.sh || stat=1
@ -296,7 +298,7 @@ test_pytest_qemu:
artifacts:
paths:
- XUNIT_RESULT.xml
- pytest_embedded_log/
- pytest-embedded/
reports:
junit: XUNIT_RESULT.xml
allow_failure: true # IDFCI-1752
@ -330,7 +332,7 @@ test_pytest_linux:
artifacts:
paths:
- XUNIT_RESULT.xml
- pytest_embedded_log/
- pytest-embedded/
- "**/build*/build_log.txt"
reports:
junit: XUNIT_RESULT.xml
@ -350,6 +352,38 @@ test_pytest_linux:
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
test_pytest_macos:
extends:
- .host_test_template
- .before_script:build:macos
tags:
- macos_shell
artifacts:
paths:
- XUNIT_RESULT.xml
- pytest-embedded/
- "**/build*/build_log.txt"
reports:
junit: XUNIT_RESULT.xml
variables:
PYTEST_IGNORE_COLLECT_IMPORT_ERROR: "1"
script:
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -vv
--target linux
--pytest-apps
-m \"host_test and macos_shell\"
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target linux
-m \"host_test and macos_shell\"
--junitxml=XUNIT_RESULT.xml
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
test_idf_pytest_plugin:
extends:
- .host_test_template
@ -360,5 +394,7 @@ test_idf_pytest_plugin:
reports:
junit: XUNIT_RESULT.xml
script:
- cd tools/ci/idf_pytest
- cd ${IDF_PATH}/tools/ci/dynamic_pipelines/tests/test_report_generator
- python -m unittest test_target_test_report_generator.py
- cd ${IDF_PATH}/tools/ci/idf_pytest
- pytest --junitxml=${CI_PROJECT_DIR}/XUNIT_RESULT.xml

Wyświetl plik

@ -86,6 +86,7 @@
- "tools/test_idf_py/**/*"
- "tools/idf_size.py"
- "tools/test_idf_size/**/*"
- "tools/tools.json"
- "tools/tools_schema.json"
@ -147,6 +148,7 @@
.patterns-idf-pytest-plugin: &patterns-idf-pytest-plugin
- "tools/ci/idf_pytest/**/*"
- "tools/ci/dynamic_pipelines/tests/**/*"
##############
# if anchors #

Wyświetl plik

@ -31,7 +31,7 @@ test_cli_installer_win:
IDF_PATH: "$CI_PROJECT_DIR"
script:
# Tools must be downloaded for testing
- python ${IDF_PATH}\tools\idf_tools.py download required qemu-riscv32 qemu-xtensa
- python ${IDF_PATH}\tools\idf_tools.py download required qemu-riscv32 qemu-xtensa cmake
- cd ${IDF_PATH}\tools\test_idf_tools
- python -m pip install jsonschema
- python .\test_idf_tools.py

4
.gitmodules vendored
Wyświetl plik

@ -49,12 +49,12 @@
[submodule "components/json/cJSON"]
path = components/json/cJSON
url = ../../DaveGamble/cJSON.git
sbom-version = 1.7.17
sbom-version = 1.7.18
sbom-cpe = cpe:2.3:a:cjson_project:cjson:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Dave Gamble
sbom-url = https://github.com/DaveGamble/cJSON
sbom-description = Ultralightweight JSON parser in ANSI C
sbom-hash = 87d8f0961a01bf09bef98ff89bae9fdec42181ee
sbom-hash = acc76239bee01d8e9c858ae2cab296704e52d916
[submodule "components/mbedtls/mbedtls"]
path = components/mbedtls/mbedtls

Wyświetl plik

@ -103,10 +103,10 @@ repos:
name: Check type annotations in python files
entry: tools/ci/check_type_comments.py
additional_dependencies:
- 'mypy==0.940'
- 'mypy-extensions==0.4.3'
- 'types-setuptools==57.4.14'
- 'types-PyYAML==0.1.9'
- 'mypy'
- 'mypy-extensions'
- 'types-setuptools'
- 'types-PyYAML'
- 'types-requests'
exclude: >
(?x)^(

Wyświetl plik

@ -84,17 +84,18 @@ Supported since ESP-IDF v4.4.
### ESP32-C2 & ESP8684
#### v1.0
#### v1.0, v1.1
Supported since ESP-IDF v5.0.
#### v1.1
To be added.
#### v1.2
To be added.
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.7+ | v5.0 |
| release/v5.1 | v5.1.4+ | v5.1 |
| release/v5.2 | v5.2.2+ | v5.2 |
| release/v5.3 and above | v5.3+ | v5.3 |
### ESP32-C6

Wyświetl plik

@ -84,17 +84,18 @@
### ESP32-C2 & ESP8684
#### v1.0
#### v1.0, v1.1
从 ESP-IDF v5.0 开始支持。
#### v1.1
待更新。
#### v1.2
待更新。
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v5.0 | v5.0.7+ | v5.0 |
| release/v5.1 | v5.1.4+ | v5.1 |
| release/v5.2 | v5.2.2+ | v5.1 |
| release/v5.3 及以上 | v5.3+ | v5.3 |
### ESP32-C6

21
Kconfig
Wyświetl plik

@ -607,6 +607,27 @@ mainmenu "Espressif IoT Development Framework Configuration"
default "gcc" if COMPILER_RT_LIB_GCCLIB
default "" if COMPILER_RT_LIB_HOST
choice COMPILER_ORPHAN_SECTIONS
prompt "Orphan sections handling"
default COMPILER_ORPHAN_SECTIONS_WARNING
depends on !IDF_TARGET_LINUX
help
If the linker finds orphan sections, it attempts to place orphan sections after sections of the same
attribute such as code vs data, loadable vs non-loadable, etc.
That means that orphan sections could placed between sections defined in IDF linker scripts.
This could lead to corruption of the binary image. Configure the linker action here.
config COMPILER_ORPHAN_SECTIONS_WARNING
bool "Place with warning"
help
Places orphan sections without a warning message.
config COMPILER_ORPHAN_SECTIONS_PLACE
bool "Place silently"
help
Places orphan sections without a warning/error message.
endchoice
endmenu # Compiler Options
menu "Component config"

Wyświetl plik

@ -17,6 +17,7 @@
#include "esp_image_format.h"
#include "esp_secure_boot.h"
#include "esp_flash_encrypt.h"
#include "spi_flash_mmap.h"
#include "sdkconfig.h"
#include "esp_ota_ops.h"

Wyświetl plik

@ -116,6 +116,8 @@ esp_err_t esp_ota_begin(const esp_partition_t* partition, size_t image_size, esp
* - 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_INVALID_SIZE: if write would go out of bounds of the partition
* - or one of error codes from lower-level flash driver.
*/
esp_err_t esp_ota_write(esp_ota_handle_t handle, const void* data, size_t size);

Wyświetl plik

@ -2,6 +2,6 @@
components/app_update/test_apps:
disable:
- if: IDF_TARGET in ["esp32c6", "esp32h2", "esp32p4", "esp32c5"]
- if: IDF_TARGET in ["esp32c5"]
temporary: true
reason: target esp32c6, esp32h2, esp32p4, esp32c5 is not supported yet # TODO: IDF-8068, [ESP32C5] IDF-8638
reason: target esp32c5 is not supported yet # TODO: [ESP32C5] IDF-8638

Wyświetl plik

@ -1,2 +1,2 @@
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |

Wyświetl plik

@ -841,8 +841,7 @@ static void test_flow6(void)
// 3 Stage: run OTA0 -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Switching between factory, OTA0 using esp_ota_write_with_offset", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET]", start_test, test_flow6, test_flow6);
//IDF-5145
TEST_CASE("Test bootloader_common_get_sha256_of_partition returns ESP_ERR_IMAGE_INVALID when image is ivalid", "[partitions]")
TEST_CASE("Test bootloader_common_get_sha256_of_partition returns ESP_ERR_IMAGE_INVALID when image is invalid", "[partitions]")
{
const esp_partition_t *cur_app = esp_ota_get_running_partition();
ESP_LOGI(TAG, "copy current app to next part");

Wyświetl plik

@ -19,7 +19,6 @@ def run_multiple_stages(dut: Dut, test_case_num: int, stages: int) -> None:
@pytest.mark.supported_targets
@pytest.mark.temp_skip_ci(targets=['esp32c6', 'esp32h2', 'esp32p4'], reason='c6/h2/p4 support TBD') # TODO: IDF-8959
@pytest.mark.generic
def test_app_update(dut: Dut) -> None:
extra_data = dut.parse_test_menu()

Wyświetl plik

@ -14,5 +14,9 @@ CONFIG_PARTITION_TABLE_FILENAME="partition_table_unit_test_two_ota.csv"
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_OFFSET=0x18000
CONFIG_BOOTLOADER_FACTORY_RESET=y
CONFIG_BOOTLOADER_APP_TEST=y
CONFIG_BOOTLOADER_DATA_FACTORY_RESET=""
CONFIG_BOOTLOADER_HOLD_TIME_GPIO=2
CONFIG_BOOTLOADER_OTA_DATA_ERASE=y

Wyświetl plik

@ -1,7 +1,3 @@
CONFIG_IDF_TARGET="esp32"
CONFIG_BOOTLOADER_FACTORY_RESET=y
CONFIG_BOOTLOADER_APP_TEST=y
CONFIG_BOOTLOADER_DATA_FACTORY_RESET=""
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=32
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4
CONFIG_BOOTLOADER_HOLD_TIME_GPIO=2

Wyświetl plik

@ -3,3 +3,4 @@ CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partition_table_unit_test_two_ota_2m.csv"
CONFIG_PARTITION_TABLE_FILENAME="partition_table_unit_test_two_ota_2m.csv"
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=18
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4

Wyświetl plik

@ -1,2 +1,3 @@
CONFIG_IDF_TARGET="esp32c3"
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=18
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4

Wyświetl plik

@ -0,0 +1,3 @@
CONFIG_IDF_TARGET="esp32c6"
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=18
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4

Wyświetl plik

@ -0,0 +1,3 @@
CONFIG_IDF_TARGET="esp32h2"
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=22
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4

Wyświetl plik

@ -0,0 +1,3 @@
CONFIG_IDF_TARGET="esp32p4"
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=18
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=19

Wyświetl plik

@ -1,2 +1,3 @@
CONFIG_IDF_TARGET="esp32s2"
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=18
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4

Wyświetl plik

@ -0,0 +1,3 @@
CONFIG_IDF_TARGET="esp32s3"
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=18
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4

Wyświetl plik

@ -0,0 +1,34 @@
menu "Log"
choice BOOTLOADER_LOG_LEVEL
bool "Bootloader log verbosity"
default BOOTLOADER_LOG_LEVEL_INFO
help
Specify how much output to see in bootloader logs.
config BOOTLOADER_LOG_LEVEL_NONE
bool "No output"
config BOOTLOADER_LOG_LEVEL_ERROR
bool "Error"
config BOOTLOADER_LOG_LEVEL_WARN
bool "Warning"
config BOOTLOADER_LOG_LEVEL_INFO
bool "Info"
config BOOTLOADER_LOG_LEVEL_DEBUG
bool "Debug"
config BOOTLOADER_LOG_LEVEL_VERBOSE
bool "Verbose"
endchoice
config BOOTLOADER_LOG_LEVEL
int
default 0 if BOOTLOADER_LOG_LEVEL_NONE
default 1 if BOOTLOADER_LOG_LEVEL_ERROR
default 2 if BOOTLOADER_LOG_LEVEL_WARN
default 3 if BOOTLOADER_LOG_LEVEL_INFO
default 4 if BOOTLOADER_LOG_LEVEL_DEBUG
default 5 if BOOTLOADER_LOG_LEVEL_VERBOSE
orsource "Kconfig.log.format"
endmenu

Wyświetl plik

@ -0,0 +1,36 @@
menu "Format"
config BOOTLOADER_LOG_COLORS
bool "Color"
default y
help
Use ANSI terminal colors in log output
Enable ANSI terminal color codes.
In order to view these, your terminal program must support ANSI color codes.
choice BOOTLOADER_LOG_TIMESTAMP_SOURCE
prompt "Timestamp"
default BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS
help
Choose what sort of timestamp is displayed in the log output:
- "None" - The log will only contain the actual log messages themselves
without any time-related information. Avoiding timestamps can help conserve
processing power and memory. It might useful when you
perform log analysis or debugging, sometimes it's more straightforward
to work with logs that lack timestamps, especially if the time of occurrence
is not critical for understanding the issues.
"I log_test: info message"
- "Milliseconds since boot" is calculated from the RTOS tick count multiplied
by the tick period. This time will reset after a software reboot.
"I (112500) log_test: info message"
config BOOTLOADER_LOG_TIMESTAMP_SOURCE_NONE
bool "None"
depends on No # hide it now, turn it on final MR
config BOOTLOADER_LOG_TIMESTAMP_SOURCE_CPU_TICKS
bool "Milliseconds Since Boot"
endchoice # BOOTLOADER_LOG_TIMESTAMP_SOURCE
endmenu

Wyświetl plik

@ -38,34 +38,7 @@ menu "Bootloader config"
endchoice
choice BOOTLOADER_LOG_LEVEL
bool "Bootloader log verbosity"
default BOOTLOADER_LOG_LEVEL_INFO
help
Specify how much output to see in bootloader logs.
config BOOTLOADER_LOG_LEVEL_NONE
bool "No output"
config BOOTLOADER_LOG_LEVEL_ERROR
bool "Error"
config BOOTLOADER_LOG_LEVEL_WARN
bool "Warning"
config BOOTLOADER_LOG_LEVEL_INFO
bool "Info"
config BOOTLOADER_LOG_LEVEL_DEBUG
bool "Debug"
config BOOTLOADER_LOG_LEVEL_VERBOSE
bool "Verbose"
endchoice
config BOOTLOADER_LOG_LEVEL
int
default 0 if BOOTLOADER_LOG_LEVEL_NONE
default 1 if BOOTLOADER_LOG_LEVEL_ERROR
default 2 if BOOTLOADER_LOG_LEVEL_WARN
default 3 if BOOTLOADER_LOG_LEVEL_INFO
default 4 if BOOTLOADER_LOG_LEVEL_DEBUG
default 5 if BOOTLOADER_LOG_LEVEL_VERBOSE
orsource "Kconfig.log"
menu "Serial Flash Configurations"
config BOOTLOADER_SPI_CUSTOM_WP_PIN
@ -127,9 +100,15 @@ menu "Bootloader config"
help
This is a helper config for 32bits address flash. Invisible for users.
config BOOTLOADER_FLASH_NEEDS_32BIT_ADDR_QUAD_FLASH
bool
default y if BOOTLOADER_FLASH_NEEDS_32BIT_FEAT && SOC_SPI_MEM_SUPPORT_CACHE_32BIT_ADDR_MAP
help
This is a helper config for 32bits address quad flash. Invisible for users.
config BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH
bool "Enable cache access to 32-bit-address (over 16MB) range of SPI Flash (READ DOCS FIRST)"
depends on BOOTLOADER_FLASH_NEEDS_32BIT_FEAT && IDF_TARGET_ESP32S3 && IDF_EXPERIMENTAL_FEATURES
depends on BOOTLOADER_FLASH_NEEDS_32BIT_ADDR_QUAD_FLASH && IDF_EXPERIMENTAL_FEATURES
default n
help
Enabling this option allows the CPU to access 32-bit-address flash beyond 16M range.

Wyświetl plik

@ -30,12 +30,6 @@ idf_build_get_property(project_dir PROJECT_DIR)
if(CONFIG_SECURE_SIGNED_APPS)
add_custom_target(gen_secure_boot_keys)
if(CONFIG_SECURE_SIGNED_APPS_ECDSA_SCHEME)
set(secure_apps_signing_version "1")
elseif(CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME OR CONFIG_SECURE_SIGNED_APPS_ECDSA_V2_SCHEME)
set(secure_apps_signing_version "2")
endif()
if(CONFIG_SECURE_BOOT_V1_ENABLED)
# Check that the configuration is sane
if((CONFIG_SECURE_BOOTLOADER_REFLASHABLE AND CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH) OR
@ -68,8 +62,7 @@ if(CONFIG_SECURE_SIGNED_APPS)
if(CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME)
fail_at_build_time(gen_secure_boot_signing_key
"Secure Boot Signing Key ${CONFIG_SECURE_BOOT_SIGNING_KEY} does not exist. Generate using:"
"\tespsecure.py generate_signing_key --version ${secure_apps_signing_version} \
${CONFIG_SECURE_BOOT_SIGNING_KEY}")
"\tidf.py secure-generate-signing-key ${CONFIG_SECURE_BOOT_SIGNING_KEY}")
else()
if(CONFIG_SECURE_BOOT_ECDSA_KEY_LEN_192_BITS)
set(scheme "ecdsa192")
@ -78,8 +71,7 @@ if(CONFIG_SECURE_SIGNED_APPS)
endif()
fail_at_build_time(gen_secure_boot_signing_key
"Secure Boot Signing Key ${CONFIG_SECURE_BOOT_SIGNING_KEY} does not exist. Generate using:"
"\tespsecure.py generate_signing_key --version ${secure_apps_signing_version} \
--scheme ${scheme} ${CONFIG_SECURE_BOOT_SIGNING_KEY}")
"\tidf.py secure-generate-signing-key --scheme ${scheme} ${CONFIG_SECURE_BOOT_SIGNING_KEY}")
endif()
else()
add_custom_target(gen_secure_boot_signing_key)
@ -124,7 +116,7 @@ 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 ';' spearator
# We cannot pass lists are a parameter to the external project without modifying the ';' separator
string(REPLACE ";" "|" BOOTLOADER_IGNORE_EXTRA_COMPONENT "${BOOTLOADER_IGNORE_EXTRA_COMPONENT}")
externalproject_add(bootloader

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -119,6 +119,7 @@ SECTIONS
.dram0.data : ALIGN(0x10)
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -144,6 +145,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -208,12 +210,55 @@ SECTIONS
*/
.xt.prop 0 :
{
KEEP (*(.xt.prop .gnu.linkonce.prop.*))
KEEP (*(.xt.prop .xt.prop.* .gnu.linkonce.prop.*))
}
.xt.lit 0 :
{
KEEP (*(.xt.lit .gnu.linkonce.p.*))
KEEP (*(.xt.lit .xt.lit.* .gnu.linkonce.p.*))
}
.xtensa.info 0: { *(.xtensa.info) }
/* 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) }
}

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -140,6 +140,7 @@ SECTIONS
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -165,6 +166,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -218,6 +220,57 @@ SECTIONS
_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.*) }
}
/**

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -140,6 +140,7 @@ SECTIONS
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -165,6 +166,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -218,6 +220,58 @@ SECTIONS
_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.*) }
}

Wyświetl plik

@ -139,6 +139,7 @@ SECTIONS
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -164,6 +165,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -217,6 +219,58 @@ SECTIONS
_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.*) }
}

Wyświetl plik

@ -138,6 +138,7 @@ SECTIONS
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -163,6 +164,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -216,6 +218,58 @@ SECTIONS
_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.*) }
}

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -138,6 +138,7 @@ SECTIONS
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -163,6 +164,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -216,6 +218,58 @@ SECTIONS
_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.*) }
}

Wyświetl plik

@ -7,20 +7,20 @@
* Make sure the bootloader can load into main memory without overwriting itself.
*
* ESP32-C61 ROM static data usage is as follows:
* - 0x4086ad08 - 0x4087c610: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4087c610 - 0x4087e610: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4087e610 - 0x40880000: ROM .bss and .data (not easily reclaimable)
* - 0x4083ea70 - 0x4084ca70: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4084ca70 - 0x4084ea70: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4084ea70 - 0x40850000: ROM .bss and .data (not easily reclaimable)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x4087c610).
* buffers area (0x4084ca70).
*/
/* We consider 0x4087c610 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
/* We consider 0x4084ca70 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 = 0x4084c9f0;
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;
@ -45,7 +45,7 @@ MEMORY
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32c61/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4083E9F0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
ASSERT(bootloader_iram_loader_seg_start == 0x4083ea70, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
@ -138,6 +138,7 @@ SECTIONS
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -163,6 +164,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -216,40 +218,92 @@ SECTIONS
_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.*) }
}
/** TODO: [ESP32C61] IDF-9405, update after rom freeze
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x4086ad08 ------------------> _dram0_0_start
* 0x4083ea70 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4087c610 ------------------> __stack_sentry
* 0x4084ca70 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4087e610 ------------------> __stack (pro cpu)
* 0x4084ea70 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4087f564 ------------------> _dram0_rtos_reserved_start
* 0x4084f5d0 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4087fab0 ------------------> _dram0_rtos_reserved_end
* 0x4084fc58 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4087fce8 ------------------> _data_start_interface
* 0x4084fc6c ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x40880000 ------------------> _data_end_interface
* 0x40850000 ------------------> _data_end_interface
*/

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -138,7 +138,7 @@ SECTIONS
.dram0.data :
{
_data_start = ABSOLUTE(.);
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -164,6 +164,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -217,6 +218,58 @@ SECTIONS
_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.*) }
}
/**

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -131,9 +131,15 @@ SECTIONS
_bss_end = ABSOLUTE(.);
} > dram_seg
.dram0.data :
.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.*)
@ -159,6 +165,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -212,6 +219,58 @@ SECTIONS
_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.*) }
}

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -108,6 +108,7 @@ SECTIONS
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -133,6 +134,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -205,4 +207,48 @@ SECTIONS
KEEP (*(.xt.lit .gnu.linkonce.p.*))
}
.xtensa.info 0: { *(.xtensa.info) }
/* 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) }
}

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -142,6 +142,7 @@ SECTIONS
.dram0.data :
{
*(.dram1 .dram1.*) /* catch stray DRAM_ATTR */
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
@ -167,6 +168,7 @@ SECTIONS
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame_hdr)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
@ -239,6 +241,50 @@ SECTIONS
KEEP (*(.xt.lit .gnu.linkonce.p.*))
}
.xtensa.info 0: { *(.xtensa.info) }
/* 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) }
}
/**

Wyświetl plik

@ -13,6 +13,9 @@
#include "hal/efuse_ll.h"
#include "hal/efuse_hal.h"
#ifndef BOOTLOADER_BUILD
#include "spi_flash_mmap.h"
#endif
#include "hal/spi_flash_ll.h"
#include "rom/spi_flash.h"
#if CONFIG_IDF_TARGET_ESP32
@ -133,6 +136,8 @@ esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
#if CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/rom/opi_flash.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/opi_flash.h"
#endif
static const char *TAG = "bootloader_flash";

Wyświetl plik

@ -22,7 +22,7 @@
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
void bootloader_flash_update_id()
void IRAM_ATTR bootloader_flash_update_id()
{
esp_rom_spiflash_chip_t *chip = &rom_spiflash_legacy_data->chip;
chip->device_id = bootloader_read_flash_id();
@ -99,6 +99,15 @@ 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;
case ESP_IMAGE_FLASH_SIZE_64MB:
size = 64;
break;
case ESP_IMAGE_FLASH_SIZE_128MB:
size = 128;
break;
default:
size = 2;
}
@ -175,6 +184,15 @@ 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;
case ESP_IMAGE_FLASH_SIZE_64MB:
str = "64MB";
break;
case ESP_IMAGE_FLASH_SIZE_128MB:
str = "128MB";
break;
default:
str = "2MB";
break;
@ -203,6 +221,9 @@ esp_err_t bootloader_init_spi_flash(void)
#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);
@ -271,6 +292,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);

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2010-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2010-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -10,6 +10,7 @@
#include <stdbool.h>
#include "soc/soc.h"
#include "soc/ext_mem_defs.h"
#include "soc/soc_caps.h"
#include "sdkconfig.h"
#include "esp_attr.h"
@ -179,6 +180,31 @@ inline static bool esp_ptr_in_tcm(const void *p) {
#endif //#if SOC_MEM_TCM_SUPPORTED
/** End of the common section that has to be in sync with esp_memory_utils.h **/
/**
* @brief Check if the pointer is in PSRAM vaddr space
*
* @note This function is only used when in bootloader, where the PSRAM isn't initialised.
* This function simply check if the pointer is the in the PSRAM vaddr space.
* The PSRAM vaddr space is not always the same as the actual PSRAM vaddr range used in APP
*
* @param p pointer
*
* @return true: is in PSRAM; false: not in PSRAM
*/
__attribute__((always_inline))
inline static bool esp_ptr_in_extram(const void *p) {
bool valid = false;
#if SOC_IRAM_PSRAM_ADDRESS_LOW
valid |= ((intptr_t)p >= SOC_IRAM_PSRAM_ADDRESS_LOW && (intptr_t)p < SOC_IRAM_PSRAM_ADDRESS_HIGH);
#endif
#if SOC_DRAM_PSRAM_ADDRESS_LOW
valid |= ((intptr_t)p >= SOC_DRAM_PSRAM_ADDRESS_LOW && (intptr_t)p < SOC_DRAM_PSRAM_ADDRESS_HIGH);
#endif
return valid;
}
/** Don't add new functions below **/
#ifdef __cplusplus

Wyświetl plik

@ -9,9 +9,6 @@
#include "esp_attr.h"
#include "esp_err.h"
#include "soc/soc_caps.h"
#ifndef BOOTLOADER_BUILD
#include "spi_flash_mmap.h"
#endif
#include "hal/efuse_ll.h"
#include "sdkconfig.h"

Wyświetl plik

@ -31,6 +31,8 @@
#include "esp32h2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C5
#include "esp32c5/rom/secure_boot.h"
#endif
#ifdef CONFIG_SECURE_BOOT_V1_ENABLED

Wyświetl plik

@ -25,6 +25,8 @@
#include "esp32h2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C5
#include "esp32c5/rom/secure_boot.h"
#endif
#if !CONFIG_IDF_TARGET_ESP32 || CONFIG_ESP32_REV_MIN_FULL >= 300

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2018-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2018-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -37,8 +37,8 @@ esp_comm_gpio_hold_t bootloader_common_check_long_hold_gpio(uint32_t num_pin, ui
esp_comm_gpio_hold_t bootloader_common_check_long_hold_gpio_level(uint32_t num_pin, uint32_t delay_sec, bool level)
{
esp_rom_gpio_pad_select_gpio(num_pin);
if (GPIO_PIN_MUX_REG[num_pin]) {
PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[num_pin]);
if (((1ULL << num_pin) & SOC_GPIO_VALID_GPIO_MASK) != 0) {
gpio_ll_input_enable(&GPIO, num_pin);
}
esp_rom_gpio_pad_pullup_only(num_pin);
uint32_t tm_start = esp_log_early_timestamp();

Wyświetl plik

@ -13,7 +13,7 @@
#include "soc/gpio_periph.h"
#include "soc/gpio_sig_map.h"
#include "soc/rtc.h"
#include "hal/gpio_hal.h"
#include "hal/gpio_ll.h"
#if CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/usb/cdc_acm.h"
#include "esp32s2/rom/usb/usb_common.h"
@ -63,17 +63,17 @@ void bootloader_console_init(void)
uart_tx_gpio != UART_NUM_0_TXD_DIRECT_GPIO_NUM ||
uart_rx_gpio != UART_NUM_0_RXD_DIRECT_GPIO_NUM) {
// Change default UART pins back to GPIOs
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[UART_NUM_0_RXD_DIRECT_GPIO_NUM], PIN_FUNC_GPIO);
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[UART_NUM_0_TXD_DIRECT_GPIO_NUM], PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, UART_NUM_0_RXD_DIRECT_GPIO_NUM, PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, UART_NUM_0_TXD_DIRECT_GPIO_NUM, PIN_FUNC_GPIO);
// Route GPIO signals to/from pins
const uint32_t tx_idx = UART_PERIPH_SIGNAL(uart_num, SOC_UART_TX_PIN_IDX);
const uint32_t rx_idx = UART_PERIPH_SIGNAL(uart_num, SOC_UART_RX_PIN_IDX);
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[uart_rx_gpio], PIN_FUNC_GPIO);
PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[uart_rx_gpio]);
gpio_ll_func_sel(&GPIO, uart_rx_gpio, PIN_FUNC_GPIO);
gpio_ll_input_enable(&GPIO, uart_rx_gpio);
esp_rom_gpio_pad_pullup_only(uart_rx_gpio);
esp_rom_gpio_connect_out_signal(uart_tx_gpio, tx_idx, 0, 0);
esp_rom_gpio_connect_in_signal(uart_rx_gpio, rx_idx, 0);
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[uart_tx_gpio], PIN_FUNC_GPIO);
gpio_ll_func_sel(&GPIO, uart_tx_gpio, PIN_FUNC_GPIO);
// Enable the peripheral
uart_ll_enable_bus_clock(uart_num, true);
uart_ll_reset_register(uart_num);

Wyświetl plik

@ -14,7 +14,6 @@
#include "bootloader_random.h"
#include "bootloader_clock.h"
#include "bootloader_common.h"
#include "esp_flash_encrypt.h"
#include "esp_cpu.h"
#include "soc/rtc.h"
#include "hal/wdt_hal.h"

Wyświetl plik

@ -16,7 +16,7 @@
#include "hal/apm_hal.h"
#endif
#if CONFIG_IDF_TARGET_ESP32C5_BETA3_VERSION // TODO: IDF-8615 Remove the workaround when APM supported on C5!
#if CONFIG_IDF_TARGET_ESP32C5 // TODO: IDF-8615 Remove the workaround when APM supported on C5!
#include "soc/hp_apm_reg.h"
#include "soc/lp_apm_reg.h"
#include "soc/lp_apm0_reg.h"
@ -33,10 +33,12 @@ void bootloader_init_mem(void)
* So, at boot disabling these filters. They will enable as per the
* use case by TEE initialization code.
*/
#ifdef SOC_APM_CTRL_FILTER_SUPPORTED
apm_hal_apm_ctrl_filter_enable_all(false);
#endif
#endif
#if CONFIG_IDF_TARGET_ESP32C5_BETA3_VERSION // TODO: IDF-8615 Remove the workaround when APM supported on C5!
#if CONFIG_IDF_TARGET_ESP32C5 // TODO: IDF-8615 Remove the workaround when APM supported on C5!
// disable apm filter
REG_WRITE(LP_APM_FUNC_CTRL_REG, 0);
REG_WRITE(LP_APM0_FUNC_CTRL_REG, 0);

Wyświetl plik

@ -25,6 +25,7 @@
#include "soc/rtc_periph.h"
#include "soc/timer_periph.h"
#include "hal/mmu_hal.h"
#include "hal/mmu_ll.h"
#include "hal/cache_types.h"
#include "hal/cache_ll.h"
#include "hal/cache_hal.h"
@ -34,6 +35,9 @@
#include "esp_app_desc.h"
#include "esp_secure_boot.h"
#include "esp_flash_encrypt.h"
#ifndef BOOTLOADER_BUILD
#include "spi_flash_mmap.h"
#endif
#include "esp_flash_partitions.h"
#include "bootloader_flash_priv.h"
#include "bootloader_random.h"
@ -43,6 +47,7 @@
#include "bootloader_sha.h"
#include "bootloader_console.h"
#include "bootloader_soc.h"
#include "bootloader_memory_utils.h"
#include "esp_efuse.h"
#include "esp_fault.h"
@ -715,10 +720,20 @@ static void unpack_load_app(const esp_image_metadata_t *data)
// Find DROM & IROM addresses, to configure MMU mappings
for (int i = 0; i < data->image.segment_count; i++) {
const esp_image_segment_header_t *header = &data->segments[i];
bool text_or_rodata = false;
//`SOC_DROM_LOW` and `SOC_DROM_HIGH` are the same as `SOC_IROM_LOW` and `SOC_IROM_HIGH`, reasons are in above `note`
if (header->load_addr >= SOC_DROM_LOW && header->load_addr < SOC_DROM_HIGH) {
text_or_rodata = true;
}
#if SOC_MMU_PER_EXT_MEM_TARGET
if (header->load_addr >= SOC_EXTRAM_LOW && header->load_addr < SOC_EXTRAM_HIGH) {
text_or_rodata = true;
}
#endif
if (text_or_rodata) {
/**
* D/I are shared, but there should not be a third segment on flash
* D/I are shared, but there should not be a third segment on flash/psram
*/
assert(rom_index < 2);
rom_addr[rom_index] = data->segment_data[i];
@ -785,6 +800,20 @@ static void unpack_load_app(const esp_image_metadata_t *data)
}
#endif //#if SOC_MMU_DI_VADDR_SHARED
//unused for esp32
__attribute__((unused))
static bool s_flash_seg_needs_map(uint32_t vaddr)
{
#if SOC_MMU_PER_EXT_MEM_TARGET
//For these chips, segments on PSRAM will be mapped in app
bool is_psram = esp_ptr_in_extram((void *)vaddr);
return !is_psram;
#else
//For these chips, segments on Flash always need to be mapped
return true;
#endif
}
static void set_cache_and_start_app(
uint32_t drom_addr,
uint32_t drom_load_addr,
@ -822,8 +851,13 @@ static void set_cache_and_start_app(
ESP_EARLY_LOGV(TAG, "after mapping rodata, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", drom_addr_aligned, drom_load_addr_aligned, drom_page_count * SPI_FLASH_MMU_PAGE_SIZE);
#else
uint32_t actual_mapped_len = 0;
mmu_hal_map_region(0, MMU_TARGET_FLASH0, drom_load_addr_aligned, drom_addr_aligned, drom_size, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping rodata, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", drom_addr_aligned, drom_load_addr_aligned, actual_mapped_len);
if (s_flash_seg_needs_map(drom_load_addr_aligned)) {
mmu_hal_map_region(0, MMU_TARGET_FLASH0, drom_load_addr_aligned, drom_addr_aligned, drom_size, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping rodata, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", drom_addr_aligned, drom_load_addr_aligned, actual_mapped_len);
}
//we use the MMU_LL_END_DROM_ENTRY_ID mmu entry as a map page for app to find the boot partition
mmu_hal_map_region(0, MMU_TARGET_FLASH0, MMU_LL_END_DROM_ENTRY_VADDR, drom_addr_aligned, CONFIG_MMU_PAGE_SIZE, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "mapped one page of the rodata, from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", drom_addr_aligned, drom_load_addr_aligned, actual_mapped_len);
#endif
//-----------------------MAP IROM--------------------------
@ -840,8 +874,10 @@ static void set_cache_and_start_app(
ESP_LOGV(TAG, "rc=%d", rc);
ESP_EARLY_LOGV(TAG, "after mapping text, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", irom_addr_aligned, irom_load_addr_aligned, irom_page_count * SPI_FLASH_MMU_PAGE_SIZE);
#else
mmu_hal_map_region(0, MMU_TARGET_FLASH0, irom_load_addr_aligned, irom_addr_aligned, irom_size, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping text, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", irom_addr_aligned, irom_load_addr_aligned, actual_mapped_len);
if (s_flash_seg_needs_map(irom_load_addr_aligned)) {
mmu_hal_map_region(0, MMU_TARGET_FLASH0, irom_load_addr_aligned, irom_addr_aligned, irom_size, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping text, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", irom_addr_aligned, irom_load_addr_aligned, actual_mapped_len);
}
#endif
//----------------------Enable corresponding buses----------------

Wyświetl plik

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -29,6 +29,7 @@
#include "bootloader_flash_config.h"
#include "bootloader_mem.h"
#include "esp_private/regi2c_ctrl.h"
#include "soc/chip_revision.h"
#include "soc/regi2c_lp_bias.h"
#include "soc/regi2c_bias.h"
#include "bootloader_console.h"
@ -40,11 +41,13 @@
#include "hal/cache_hal.h"
#include "hal/clk_tree_ll.h"
#include "hal/lpwdt_ll.h"
#include "hal/spimem_flash_ll.h"
#include "soc/lp_wdt_reg.h"
#include "hal/efuse_hal.h"
#include "soc/regi2c_syspll.h"
#include "soc/regi2c_cpll.h"
#include "soc/regi2c_bias.h"
#include "esp_private/periph_ctrl.h"
static const char *TAG = "boot.esp32p4";
@ -89,17 +92,24 @@ static void bootloader_super_wdt_auto_feed(void)
static inline void bootloader_hardware_init(void)
{
int __DECLARE_RCC_ATOMIC_ENV __attribute__ ((unused));
// regi2c is enabled by default on ESP32P4, do nothing
// On ESP32P4 ECO0, the default (power on reset) CPLL and SPLL frequencies are very high, lower them to avoid bias may not be enough in bootloader
// And we are fixing SPLL to be 480MHz at all runtime
// Suppose to fix the issue on ECO1, will check when chip comes back
// TODO: IDF-8939
REGI2C_WRITE_MASK(I2C_CPLL, I2C_CPLL_OC_DIV_7_0, 6); // lower default cpu_pll freq to 400M
REGI2C_WRITE_MASK(I2C_SYSPLL, I2C_SYSPLL_OC_DIV_7_0, 8); // lower default sys_pll freq to 480M
esp_rom_delay_us(100);
unsigned chip_version = efuse_hal_chip_revision();
if (!ESP_CHIP_REV_ABOVE(chip_version, 1)) {
// On ESP32P4 ECO0, the default (power on reset) CPLL and SPLL frequencies are very high, lower them to avoid bias may not be enough in bootloader
// And we are fixing SPLL to be 480MHz after app is up
REGI2C_WRITE_MASK(I2C_CPLL, I2C_CPLL_OC_DIV_7_0, 6); // lower default cpu_pll freq to 400M
REGI2C_WRITE_MASK(I2C_SYSPLL, I2C_SYSPLL_OC_DIV_7_0, 8); // lower default sys_pll freq to 480M
esp_rom_delay_us(100);
}
REGI2C_WRITE_MASK(I2C_BIAS, I2C_BIAS_DREG_1P1, 10);
REGI2C_WRITE_MASK(I2C_BIAS, I2C_BIAS_DREG_1P1_PVT, 10);
// IDF-10019 TODO: This is temporarily for ESP32P4-ECO0, please remove it when eco0 is not widly used.
if (likely(ESP_CHIP_REV_ABOVE(chip_version, 1))) {
spimem_flash_ll_select_clk_source(0, FLASH_CLK_SRC_SPLL);
spimem_ctrlr_ll_set_core_clock(0, 6);
}
}
static inline void bootloader_ana_reset_config(void)
@ -170,7 +180,7 @@ esp_err_t bootloader_init(void)
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
// check whether a WDT reset happened
bootloader_check_wdt_reset();
// config WDT
bootloader_config_wdt();

Wyświetl plik

@ -771,8 +771,14 @@ static esp_err_t verify_segment_header(int index, const esp_image_segment_header
static bool should_map(uint32_t load_addr)
{
return (load_addr >= SOC_IROM_LOW && load_addr < SOC_IROM_HIGH)
|| (load_addr >= SOC_DROM_LOW && load_addr < SOC_DROM_HIGH);
bool is_irom = (load_addr >= SOC_IROM_LOW) && (load_addr < SOC_IROM_HIGH);
bool is_drom = (load_addr >= SOC_DROM_LOW) && (load_addr < SOC_DROM_HIGH);
bool is_psram = false;
#if SOC_MMU_PER_EXT_MEM_TARGET
is_psram = (load_addr >= SOC_EXTRAM_LOW) && (load_addr < SOC_EXTRAM_HIGH);
#endif
return (is_irom || is_drom || is_psram);
}
static bool should_load(uint32_t load_addr)
@ -857,7 +863,7 @@ static esp_err_t process_appended_hash_and_sig(esp_image_metadata_t *data, uint3
// Case I: Bootloader part
if (part_offset == ESP_BOOTLOADER_OFFSET) {
// For bootloader with secure boot v1, signature stays in an independant flash
// For bootloader with secure boot v1, signature stays in an independent flash
// sector (offset 0x0) and does not get appended to the image.
#if CONFIG_SECURE_BOOT_V2_ENABLED
// Sanity check - secure boot v2 signature block starts on 4K boundary

Wyświetl plik

@ -18,6 +18,7 @@
#if SOC_KEY_MANAGER_SUPPORTED
#include "hal/key_mgr_hal.h"
#include "hal/mspi_timing_tuning_ll.h"
#include "soc/keymng_reg.h"
#endif
@ -217,8 +218,15 @@ static esp_err_t check_and_generate_encryption_keys(void)
}
#if SOC_KEY_MANAGER_SUPPORTED
#if CONFIG_IDF_TARGET_ESP32C5 && SOC_KEY_MANAGER_SUPPORTED
// TODO: [ESP32C5] IDF-8622 find a more proper place for these codes
REG_SET_BIT(KEYMNG_STATIC_REG, KEYMNG_USE_EFUSE_KEY_FLASH);
REG_SET_BIT(PCR_MSPI_CLK_CONF_REG, PCR_MSPI_AXI_RST_EN);
REG_CLR_BIT(PCR_MSPI_CLK_CONF_REG, PCR_MSPI_AXI_RST_EN);
#endif
// Force Key Manager to use eFuse key for XTS-AES operation
key_mgr_hal_set_key_usage(ESP_KEY_MGR_XTS_AES_128_KEY, ESP_KEY_MGR_USE_EFUSE_KEY);
_mspi_timing_ll_reset_mspi();
#endif
return ESP_OK;
@ -263,13 +271,6 @@ esp_err_t esp_flash_encrypt_contents(void)
esp_partition_info_t partition_table[ESP_PARTITION_TABLE_MAX_ENTRIES];
int num_partitions;
#if CONFIG_IDF_TARGET_ESP32C5 && SOC_KEY_MANAGER_SUPPORTED
// TODO: [ESP32C5] IDF-8622 find a more proper place for these codes
REG_SET_BIT(KEYMNG_STATIC_REG, KEYMNG_USE_EFUSE_KEY_FLASH);
REG_SET_BIT(PCR_MSPI_CLK_CONF_REG, PCR_MSPI_AXI_RST_EN);
REG_CLR_BIT(PCR_MSPI_CLK_CONF_REG, PCR_MSPI_AXI_RST_EN);
#endif
#ifdef CONFIG_SOC_EFUSE_CONSISTS_OF_ONE_KEY_BLOCK
REG_WRITE(SENSITIVE_XTS_AES_KEY_UPDATE_REG, 1);
#endif

Wyświetl plik

@ -21,6 +21,8 @@
#include "esp32h2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C5
#include "esp32c5/rom/secure_boot.h"
#endif
esp_err_t verify_ecdsa_signature_block(const ets_secure_boot_signature_t *sig_block, const uint8_t *image_digest, const ets_secure_boot_sig_block_t *trusted_block);

Wyświetl plik

@ -31,8 +31,8 @@ static const char s_hex_to_char_mapping[16] = {
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f'
};
bt_hci_log_t g_bt_hci_log_data_ctl = {0};
bt_hci_log_t g_bt_hci_log_adv_ctl = {0};
static bt_hci_log_t g_bt_hci_log_data_ctl = {0};
static bt_hci_log_t g_bt_hci_log_adv_ctl = {0};
esp_err_t bt_hci_log_init(void)
{
@ -98,35 +98,35 @@ static char IRAM_ATTR *bt_data_type_to_str(uint8_t data_type)
{
case HCI_LOG_DATA_TYPE_COMMAND:
// hci cmd data
tag = "CMD";
tag = "C";
break;
case HCI_LOG_DATA_TYPE_H2C_ACL:
// host to controller hci acl data
tag = "HAL";
tag = "H";
break;
case HCI_LOG_DATA_TYPE_SCO:
// hci sco data
tag = "SCO";
tag = "S";
break;
case HCI_LOG_DATA_TYPE_EVENT:
// hci event
tag = "EVT";
tag = "E";
break;
case HCI_LOG_DATA_TYPE_ADV:
// controller adv report data
tag = "ADV";
tag = NULL;
break;
case HCI_LOG_DATA_TYPE_C2H_ACL:
// controller to host hci acl data
tag = "CAL";
tag = "D";
break;
case HCI_LOG_DATA_TYPE_SELF_DEFINE:
// self-defining data
tag = "ST";
tag = "S";
break;
default:
// unknown data type
tag = "UK";
tag = "U";
break;
}

Wyświetl plik

@ -1620,7 +1620,10 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
btdm_cfg_mask = btdm_config_mask_load();
if (btdm_controller_init(btdm_cfg_mask, cfg) != 0) {
err = btdm_controller_init(btdm_cfg_mask, cfg);
if (err != 0) {
ESP_LOGE(BTDM_LOG_TAG, "%s %d\n",__func__,err);
err = ESP_ERR_NO_MEM;
goto error;
}

Wyświetl plik

@ -349,7 +349,6 @@ config BT_LE_CRYPTO_STACK_MBEDTLS
bool "Override TinyCrypt with mbedTLS for crypto computations"
default y
depends on !BT_NIMBLE_ENABLED
select MBEDTLS_ECP_RESTARTABLE
select MBEDTLS_CMAC_C
help
Enable this option to choose mbedTLS instead of TinyCrypt for crypto

Wyświetl plik

@ -115,7 +115,7 @@ do{\
} while(0)
#define OSI_FUNCS_TIME_BLOCKING 0xffffffff
#define OSI_VERSION 0x00010008
#define OSI_VERSION 0x00010009
#define OSI_MAGIC_VALUE 0xFADEBEAD
/* Types definition
@ -142,15 +142,24 @@ typedef struct {
typedef void (* osi_intr_handler)(void);
typedef struct {
int source; /*!< ISR source */
int flags; /*!< ISR alloc flag */
void (*fn)(void *); /*!< ISR function */
void *arg; /*!< ISR function args*/
intr_handle_t *handle; /*!< ISR handle */
esp_err_t ret;
} btdm_isr_alloc_t;
/* OSI function */
struct osi_funcs_t {
uint32_t _magic;
uint32_t _version;
void (*_interrupt_set)(int cpu_no, int intr_source, int interrupt_no, int interrpt_prio);
void (*_interrupt_clear)(int interrupt_source, int interrupt_no);
void (*_interrupt_handler_set)(int interrupt_no, intr_handler_t fn, void *arg);
void (*_interrupt_disable)(void);
void (*_interrupt_restore)(void);
int (* _interrupt_alloc)(int cpu_id, int source, intr_handler_t handler, void *arg, void **ret_handle);
int (* _interrupt_free)(void *handle);
void (*_interrupt_handler_set_rsv)(int interrupt_no, intr_handler_t fn, void *arg);
void (*_global_intr_disable)(void);
void (*_global_intr_restore)(void);
void (*_task_yield)(void);
void (*_task_yield_from_isr)(void);
void *(*_semphr_create)(uint32_t max, uint32_t init);
@ -195,8 +204,8 @@ struct osi_funcs_t {
uint32_t (* _coex_schm_interval_get)(void);
uint8_t (* _coex_schm_curr_period_get)(void);
void *(* _coex_schm_curr_phase_get)(void);
void (* _interrupt_on)(int intr_num);
void (* _interrupt_off)(int intr_num);
int (* _interrupt_enable)(void *handle);
int (* _interrupt_disable)(void *handle);
void (* _esp_hw_power_down)(void);
void (* _esp_hw_power_up)(void);
void (* _ets_backup_dma_copy)(uint32_t reg, uint32_t mem_addr, uint32_t num, bool to_rem);
@ -277,11 +286,10 @@ extern uint32_t _bt_controller_data_end;
/* Local Function Declare
*********************************************************************
*/
static void interrupt_set_wrapper(int cpu_no, int intr_source, int intr_num, int intr_prio);
static void interrupt_clear_wrapper(int intr_source, int intr_num);
static void interrupt_handler_set_wrapper(int n, intr_handler_t fn, void *arg);
static void interrupt_disable(void);
static void interrupt_restore(void);
static int interrupt_alloc_wrapper(int cpu_id, int source, intr_handler_t handler, void *arg, void **ret_handle);
static int interrupt_free_wrapper(void *handle);
static void global_interrupt_disable(void);
static void global_interrupt_restore(void);
static void task_yield_from_isr(void);
static void *semphr_create_wrapper(uint32_t max, uint32_t init);
static void semphr_delete_wrapper(void *semphr);
@ -319,8 +327,8 @@ static void coex_schm_status_bit_clear_wrapper(uint32_t type, uint32_t status);
static uint32_t coex_schm_interval_get_wrapper(void);
static uint8_t coex_schm_curr_period_get_wrapper(void);
static void * coex_schm_curr_phase_get_wrapper(void);
static void interrupt_on_wrapper(int intr_num);
static void interrupt_off_wrapper(int intr_num);
static int interrupt_enable_wrapper(void *handle);
static int interrupt_disable_wrapper(void *handle);
static void btdm_hw_mac_power_up_wrapper(void);
static void btdm_hw_mac_power_down_wrapper(void);
static void btdm_backup_dma_copy_wrapper(uint32_t reg, uint32_t mem_addr, uint32_t num, bool to_mem);
@ -341,11 +349,11 @@ static void bt_controller_deinit_internal(void);
static const struct osi_funcs_t osi_funcs_ro = {
._magic = OSI_MAGIC_VALUE,
._version = OSI_VERSION,
._interrupt_set = interrupt_set_wrapper,
._interrupt_clear = interrupt_clear_wrapper,
._interrupt_handler_set = interrupt_handler_set_wrapper,
._interrupt_disable = interrupt_disable,
._interrupt_restore = interrupt_restore,
._interrupt_alloc = interrupt_alloc_wrapper,
._interrupt_free = interrupt_free_wrapper,
._interrupt_handler_set_rsv = NULL,
._global_intr_disable = global_interrupt_disable,
._global_intr_restore = global_interrupt_restore,
._task_yield = vPortYield,
._task_yield_from_isr = task_yield_from_isr,
._semphr_create = semphr_create_wrapper,
@ -390,8 +398,8 @@ static const struct osi_funcs_t osi_funcs_ro = {
._coex_schm_interval_get = coex_schm_interval_get_wrapper,
._coex_schm_curr_period_get = coex_schm_curr_period_get_wrapper,
._coex_schm_curr_phase_get = coex_schm_curr_phase_get_wrapper,
._interrupt_on = interrupt_on_wrapper,
._interrupt_off = interrupt_off_wrapper,
._interrupt_enable = interrupt_enable_wrapper,
._interrupt_disable = interrupt_disable_wrapper,
._esp_hw_power_down = btdm_hw_mac_power_down_wrapper,
._esp_hw_power_up = btdm_hw_mac_power_up_wrapper,
._ets_backup_dma_copy = btdm_backup_dma_copy_wrapper,
@ -478,35 +486,44 @@ static inline void esp_bt_power_domain_off(void)
esp_wifi_bt_power_domain_off();
}
static void interrupt_set_wrapper(int cpu_no, int intr_source, int intr_num, int intr_prio)
static void btdm_intr_alloc(void *arg)
{
esp_rom_route_intr_matrix(cpu_no, intr_source, intr_num);
#if __riscv
esprv_int_set_priority(intr_num, intr_prio);
esprv_int_set_type(intr_num, 0);
btdm_isr_alloc_t *p = arg;
p->ret = esp_intr_alloc(p->source, p->flags, p->fn, p->arg, p->handle);
}
static int interrupt_alloc_wrapper(int cpu_id, int source, intr_handler_t handler, void *arg, void **ret_handle)
{
btdm_isr_alloc_t p;
p.source = source;
p.flags = ESP_INTR_FLAG_LEVEL3 | ESP_INTR_FLAG_IRAM;
p.fn = handler;
p.arg = arg;
p.handle = (intr_handle_t *)ret_handle;
#if CONFIG_FREERTOS_UNICORE
btdm_intr_alloc(&p);
#else
esp_ipc_call_blocking(cpu_id, btdm_intr_alloc, &p);
#endif
return p.ret;
}
static void interrupt_clear_wrapper(int intr_source, int intr_num)
static int interrupt_free_wrapper(void *handle)
{
return esp_intr_free((intr_handle_t)handle);
}
static void interrupt_handler_set_wrapper(int n, intr_handler_t fn, void *arg)
static int interrupt_enable_wrapper(void *handle)
{
esp_cpu_intr_set_handler(n, fn, arg);
return esp_intr_enable((intr_handle_t)handle);
}
static void interrupt_on_wrapper(int intr_num)
static int interrupt_disable_wrapper(void *handle)
{
esp_cpu_intr_enable(1 << intr_num);
return esp_intr_disable((intr_handle_t)handle);
}
static void interrupt_off_wrapper(int intr_num)
{
esp_cpu_intr_disable(1<<intr_num);
}
static void IRAM_ATTR interrupt_disable(void)
static void IRAM_ATTR global_interrupt_disable(void)
{
if (xPortInIsrContext()) {
portENTER_CRITICAL_ISR(&global_int_mux);
@ -515,7 +532,7 @@ static void IRAM_ATTR interrupt_disable(void)
}
}
static void IRAM_ATTR interrupt_restore(void)
static void IRAM_ATTR global_interrupt_restore(void)
{
if (xPortInIsrContext()) {
portEXIT_CRITICAL_ISR(&global_int_mux);
@ -1403,7 +1420,10 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
periph_module_enable(PERIPH_BT_MODULE);
periph_module_reset(PERIPH_BT_MODULE);
if (btdm_controller_init(cfg) != 0) {
err = btdm_controller_init(cfg);
if (err != 0) {
ESP_LOGE(BT_LOG_TAG, "%s %d\n",__func__,err);
err = ESP_ERR_NO_MEM;
goto error;
}

Wyświetl plik

@ -365,7 +365,6 @@ config BT_LE_CRYPTO_STACK_MBEDTLS
bool "Override TinyCrypt with mbedTLS for crypto computations"
default y
depends on !BT_NIMBLE_ENABLED
select MBEDTLS_ECP_RESTARTABLE
select MBEDTLS_CMAC_C
help
Enable this option to choose mbedTLS instead of TinyCrypt for crypto

Wyświetl plik

@ -365,7 +365,6 @@ config BT_LE_CRYPTO_STACK_MBEDTLS
bool "Override TinyCrypt with mbedTLS for crypto computations"
default y
depends on !BT_NIMBLE_ENABLED
select MBEDTLS_ECP_RESTARTABLE
select MBEDTLS_CMAC_C
help
Enable this option to choose mbedTLS instead of TinyCrypt for crypto

Wyświetl plik

@ -356,7 +356,6 @@ config BT_LE_CRYPTO_STACK_MBEDTLS
bool "Override TinyCrypt with mbedTLS for crypto computations"
default y
depends on !BT_NIMBLE_ENABLED
select MBEDTLS_ECP_RESTARTABLE
select MBEDTLS_CMAC_C
help
Enable this option to choose mbedTLS instead of TinyCrypt for crypto

@ -1 +1 @@
Subproject commit 44341b15e58792946cc65ed8d4483929194d182f
Subproject commit 994490e4b0edca038456324a532ebe63f7fc19ef

@ -1 +1 @@
Subproject commit 76ed4114ee7d081435a3c65793b4c8eb1dfaf199
Subproject commit 1a086eab61e78fa243d67c33206ece4022129ee1

@ -1 +1 @@
Subproject commit 0af472c6f95858e638565dad19a79fe47de1fff2
Subproject commit 6663362597110007a901eed9c87fa1cff6ac25fe

@ -1 +1 @@
Subproject commit 70612d08d1ff94dfb5da99d6a68aa4032cd63276
Subproject commit 9bf31906cdbef6ac3d271117f1cd439bd411eef5

Wyświetl plik

@ -96,7 +96,7 @@ esp_err_t esp_ble_mesh_deinit(esp_ble_mesh_deinit_param_t *param)
}
/* Take the Semaphore, wait BLE Mesh de-initialization to finish. */
xSemaphoreTake(semaphore, portMAX_DELAY);
__ASSERT(xSemaphoreTake(semaphore, 3000 / portTICK_PERIOD_MS) == pdTRUE, "BLE Mesh deinit take semaphore failed");
/* Don't forget to delete the semaphore at the end. */
vSemaphoreDelete(semaphore);

Wyświetl plik

@ -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
*/
@ -33,7 +33,10 @@ esp_err_t esp_ble_mesh_init(esp_ble_mesh_prov_t *prov, esp_ble_mesh_comp_t *comp
/**
* @brief De-initialize BLE Mesh module.
*
* @note This function shall be invoked after esp_ble_mesh_client_model_deinit().
* @note
* 1. This function shall be invoked after esp_ble_mesh_client_model_deinit().
* 2. This function is strictly forbidden to run in any BTC Task Context
* (e.g. registered Mesh Event Callback).
*
* @param[in] param: Pointer to the structure of BLE Mesh deinit parameters.
*

Wyświetl plik

@ -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
*/
@ -71,6 +71,29 @@
#include "esp_ble_mesh_provisioning_api.h"
#include "esp_ble_mesh_networking_api.h"
#if CONFIG_BLE_MESH_DEINIT
static SemaphoreHandle_t deinit_comp_semaphore;
#endif
static inline void btc_ble_mesh_prov_cb_to_app_reprocess(esp_ble_mesh_prov_cb_event_t event,
esp_ble_mesh_prov_cb_param_t *param)
{
switch (event) {
#if CONFIG_BLE_MESH_DEINIT
case ESP_BLE_MESH_DEINIT_MESH_COMP_EVT:
assert(deinit_comp_semaphore);
/* Give the semaphore when BLE Mesh de-initialization is finished.
* @note: At nimble host, once this lock is released, it will cause
* the btc task to be deleted.
*/
xSemaphoreGive(deinit_comp_semaphore);
break;
#endif
default:
break;
}
}
static inline void btc_ble_mesh_prov_cb_to_app(esp_ble_mesh_prov_cb_event_t event,
esp_ble_mesh_prov_cb_param_t *param)
{
@ -79,6 +102,8 @@ static inline void btc_ble_mesh_prov_cb_to_app(esp_ble_mesh_prov_cb_event_t even
if (btc_ble_mesh_cb) {
btc_ble_mesh_cb(event, param);
}
btc_ble_mesh_prov_cb_to_app_reprocess(event, param);
}
static inline void btc_ble_mesh_model_cb_to_app(esp_ble_mesh_model_cb_event_t event,
@ -2825,8 +2850,8 @@ void btc_ble_mesh_prov_call_handler(btc_msg_t *msg)
case BTC_BLE_MESH_ACT_DEINIT_MESH:
act = ESP_BLE_MESH_DEINIT_MESH_COMP_EVT;
param.deinit_mesh_comp.err_code = bt_mesh_deinit((struct bt_mesh_deinit_param *)&arg->mesh_deinit.param);
/* Give the semaphore when BLE Mesh de-initialization is finished. */
xSemaphoreGive(arg->mesh_deinit.semaphore);
/* Temporarily save the deinit semaphore and release it after the mesh deinit complete event is handled in the app layer */
deinit_comp_semaphore = arg->mesh_deinit.semaphore;
break;
#endif /* CONFIG_BLE_MESH_DEINIT */
default:

Wyświetl plik

@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2017 Nordic Semiconductor ASA
* SPDX-FileCopyrightText: 2015-2016 Intel Corporation
* SPDX-FileContributor: 2018-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2018-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -74,7 +74,7 @@ static struct bt_mesh_conn_cb *bt_mesh_gatts_conn_cb;
static tBTA_GATTS_IF bt_mesh_gatts_if;
static uint8_t bt_mesh_gatts_addr[BLE_MESH_ADDR_LEN];
static uint16_t svc_handle, char_handle;
static future_t *future_mesh;
static future_t *gatts_future_mesh;
/* Static Functions */
static struct bt_mesh_gatt_attr *bt_mesh_gatts_find_attr_by_handle(uint16_t handle);
@ -561,6 +561,9 @@ static void bt_mesh_bta_gatts_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
case BTA_GATTS_REG_EVT:
if (p_data->reg_oper.status == BTA_GATT_OK) {
bt_mesh_gatts_if = p_data->reg_oper.server_if;
future_ready(gatts_future_mesh, FUTURE_SUCCESS);
} else {
future_ready(gatts_future_mesh, FUTURE_FAIL);
}
break;
case BTA_GATTS_READ_EVT: {
@ -618,27 +621,27 @@ static void bt_mesh_bta_gatts_cb(tBTA_GATTS_EVT event, tBTA_GATTS *p_data)
break;
case BTA_GATTS_CREATE_EVT:
svc_handle = p_data->create.service_id;
BT_DBG("svc_handle %d, future_mesh %p", svc_handle, future_mesh);
if (future_mesh != NULL) {
future_ready(future_mesh, FUTURE_SUCCESS);
BT_DBG("svc_handle %d, gatts_future_mesh %p", svc_handle, gatts_future_mesh);
if (gatts_future_mesh != NULL) {
future_ready(gatts_future_mesh, FUTURE_SUCCESS);
}
break;
case BTA_GATTS_ADD_INCL_SRVC_EVT:
svc_handle = p_data->add_result.attr_id;
if (future_mesh != NULL) {
future_ready(future_mesh, FUTURE_SUCCESS);
if (gatts_future_mesh != NULL) {
future_ready(gatts_future_mesh, FUTURE_SUCCESS);
}
break;
case BTA_GATTS_ADD_CHAR_EVT:
char_handle = p_data->add_result.attr_id;
if (future_mesh != NULL) {
future_ready(future_mesh, FUTURE_SUCCESS);
if (gatts_future_mesh != NULL) {
future_ready(gatts_future_mesh, FUTURE_SUCCESS);
}
break;
case BTA_GATTS_ADD_CHAR_DESCR_EVT:
char_handle = p_data->add_result.attr_id;
if (future_mesh != NULL) {
future_ready(future_mesh, FUTURE_SUCCESS);
if (gatts_future_mesh != NULL) {
future_ready(gatts_future_mesh, FUTURE_SUCCESS);
}
break;
case BTA_GATTS_DELELTE_EVT:
@ -962,11 +965,11 @@ int bt_mesh_gatts_service_register(struct bt_mesh_gatt_service *svc)
if (svc->attrs[i].uuid->type == BLE_MESH_UUID_TYPE_16) {
switch (BLE_MESH_UUID_16(svc->attrs[i].uuid)->val) {
case BLE_MESH_UUID_GATT_PRIMARY_VAL: {
future_mesh = future_new();
gatts_future_mesh = future_new();
bta_uuid_to_bt_mesh_uuid(&bta_uuid, (struct bt_mesh_uuid *)svc->attrs[i].user_data);
BTA_GATTS_CreateService(bt_mesh_gatts_if,
&bta_uuid, 0, svc->attr_count, true);
if (future_await(future_mesh) == FUTURE_FAIL) {
if (future_await(gatts_future_mesh) == FUTURE_FAIL) {
BT_ERR("Failed to add primary service");
return ESP_FAIL;
}
@ -976,11 +979,11 @@ int bt_mesh_gatts_service_register(struct bt_mesh_gatt_service *svc)
break;
}
case BLE_MESH_UUID_GATT_SECONDARY_VAL: {
future_mesh = future_new();
gatts_future_mesh = future_new();
bta_uuid_to_bt_mesh_uuid(&bta_uuid, (struct bt_mesh_uuid *)svc->attrs[i].user_data);
BTA_GATTS_CreateService(bt_mesh_gatts_if,
&bta_uuid, 0, svc->attr_count, false);
if (future_await(future_mesh) == FUTURE_FAIL) {
if (future_await(gatts_future_mesh) == FUTURE_FAIL) {
BT_ERR("Failed to add secondary service");
return ESP_FAIL;
}
@ -993,11 +996,11 @@ int bt_mesh_gatts_service_register(struct bt_mesh_gatt_service *svc)
break;
}
case BLE_MESH_UUID_GATT_CHRC_VAL: {
future_mesh = future_new();
gatts_future_mesh = future_new();
struct bt_mesh_gatt_char *gatts_chrc = (struct bt_mesh_gatt_char *)svc->attrs[i].user_data;
bta_uuid_to_bt_mesh_uuid(&bta_uuid, gatts_chrc->uuid);
BTA_GATTS_AddCharacteristic(svc_handle, &bta_uuid, bt_mesh_perm_to_bta_perm(svc->attrs[i + 1].perm), gatts_chrc->properties, NULL, NULL);
if (future_await(future_mesh) == FUTURE_FAIL) {
if (future_await(gatts_future_mesh) == FUTURE_FAIL) {
BT_ERR("Failed to add characteristic");
return ESP_FAIL;
}
@ -1019,10 +1022,10 @@ int bt_mesh_gatts_service_register(struct bt_mesh_gatt_service *svc)
case BLE_MESH_UUID_ES_CONFIGURATION_VAL:
case BLE_MESH_UUID_ES_MEASUREMENT_VAL:
case BLE_MESH_UUID_ES_TRIGGER_SETTING_VAL: {
future_mesh = future_new();
gatts_future_mesh = future_new();
bta_uuid_to_bt_mesh_uuid(&bta_uuid, svc->attrs[i].uuid);
BTA_GATTS_AddCharDescriptor(svc_handle, bt_mesh_perm_to_bta_perm(svc->attrs[i].perm), &bta_uuid, NULL, NULL);
if (future_await(future_mesh) == FUTURE_FAIL) {
if (future_await(gatts_future_mesh) == FUTURE_FAIL) {
BT_ERR("Failed to add descriptor");
return ESP_FAIL;
}
@ -1768,7 +1771,19 @@ void bt_mesh_gatt_init(void)
CONFIG_BLE_MESH_GATT_PROXY_SERVER
tBT_UUID gatts_app_uuid = {LEN_UUID_128, {0}};
memset(&gatts_app_uuid.uu.uuid128, BLE_MESH_GATTS_APP_UUID_BYTE, LEN_UUID_128);
gatts_future_mesh = future_new();
if (!gatts_future_mesh) {
BT_ERR("Mesh gatts sync lock alloc failed");
return;
}
BTA_GATTS_AppRegister(&gatts_app_uuid, bt_mesh_bta_gatts_cb);
if (future_await(gatts_future_mesh) == FUTURE_FAIL) {
BT_ERR("Mesh gatts app register failed");
return;
}
#endif
#if (CONFIG_BLE_MESH_PROVISIONER && CONFIG_BLE_MESH_PB_GATT) || \

Wyświetl plik

@ -2,7 +2,7 @@
/*
* SPDX-FileCopyrightText: 2017 Intel Corporation
* SPDX-FileContributor: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileContributor: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -121,22 +121,22 @@ static bt_mesh_mutex_t seg_rx_lock;
static inline void bt_mesh_seg_tx_lock(void)
{
bt_mesh_mutex_lock(&seg_tx_lock);
bt_mesh_r_mutex_lock(&seg_tx_lock);
}
static inline void bt_mesh_seg_tx_unlock(void)
{
bt_mesh_mutex_unlock(&seg_tx_lock);
bt_mesh_r_mutex_unlock(&seg_tx_lock);
}
static inline void bt_mesh_seg_rx_lock(void)
{
bt_mesh_mutex_lock(&seg_rx_lock);
bt_mesh_r_mutex_lock(&seg_rx_lock);
}
static inline void bt_mesh_seg_rx_unlock(void)
{
bt_mesh_mutex_unlock(&seg_rx_lock);
bt_mesh_r_mutex_unlock(&seg_rx_lock);
}
uint8_t bt_mesh_seg_send_interval(void)
@ -517,6 +517,12 @@ static bool send_next_segment(struct seg_tx *tx, int *result)
net_tx.ctx->net_idx = tx->sub->net_idx;
/**
* Add one to the ref count only if the segment can be further
* processed by the network.
*/
seg = net_buf_ref(seg);
err = bt_mesh_net_send(&net_tx, seg, &seg_sent_cb, tx);
if (err) {
BT_ERR("Send seg %u failed (err %d)", tx->last_seg_n, err);
@ -966,7 +972,18 @@ static int send_seg(struct bt_mesh_net_tx *net_tx, struct net_buf_simple *sdu,
}
}
tx->seg[seg_o] = net_buf_ref(seg);
/**
* If the net buffer allocation of the subsequent
* segments of this segment message fails, it will
* cause the ref count of the previously allocated
* successful segments to not be unref, which will
* cause the net buffer leakage to occur, so it is
* necessary to wait until all the segments have been
* allocated, and then when the segment is confirmed
* that it will be network layer for further processing,
* then ref of the net buffer should be plus one.
*/
tx->seg[seg_o] = seg;
BT_DBG("Seg %u/%u prepared", seg_o, tx->seg_n);
}
@ -975,6 +992,11 @@ static int send_seg(struct bt_mesh_net_tx *net_tx, struct net_buf_simple *sdu,
* tx->seg[0] will be NULL here.
*/
if (tx->seg[0]) {
/**
* Add one to the ref count only if the segment can be further
* processed by the network.
*/
tx->seg[0] = net_buf_ref(tx->seg[0]);
err = bt_mesh_net_send(net_tx, tx->seg[0], &seg_sent_cb, tx);
if (err) {
BT_ERR("Send 1st seg failed (err %d)", err);
@ -2327,8 +2349,8 @@ void bt_mesh_trans_init(void)
seg_rx[i].buf.data = seg_rx[i].buf.__buf;
}
bt_mesh_mutex_create(&seg_tx_lock);
bt_mesh_mutex_create(&seg_rx_lock);
bt_mesh_r_mutex_create(&seg_tx_lock);
bt_mesh_r_mutex_create(&seg_rx_lock);
}
#if CONFIG_BLE_MESH_DEINIT
@ -2338,7 +2360,7 @@ void bt_mesh_trans_deinit(bool erase)
bt_mesh_tx_reset();
bt_mesh_rpl_reset(erase);
bt_mesh_mutex_free(&seg_tx_lock);
bt_mesh_mutex_free(&seg_rx_lock);
bt_mesh_r_mutex_free(&seg_tx_lock);
bt_mesh_r_mutex_free(&seg_rx_lock);
}
#endif /* CONFIG_BLE_MESH_DEINIT */

Wyświetl plik

@ -85,7 +85,7 @@ config BT_A2DP_ENABLE
depends on BT_CLASSIC_ENABLED
default n
help
Advanced Audio Distrubution Profile
Advanced Audio Distribution Profile
config BT_SPP_ENABLED
bool "SPP"
@ -140,7 +140,7 @@ config BT_HFP_WBS_ENABLE
default y
help
This enables Wide Band Speech. Should disable it when SCO data path is PCM.
Otherwise there will be no data transmited via GPIOs.
Otherwise there will be no data transmitted via GPIOs.
menuconfig BT_HID_ENABLED
@ -312,6 +312,17 @@ config BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE
In order to reduce the pairing time, slave actively initiates connection parameters
update during pairing.
config BT_BLE_SMP_ID_RESET_ENABLE
bool "Reset device identity when all bonding records are deleted"
depends on BT_BLE_SMP_ENABLE
default n
help
There are tracking risks associated with using a fixed or static IRK.
If enabled this option, Bluedroid will assign a new randomly-generated IRK
when all pairing and bonding records are deleted. This would decrease the ability
of a previously paired peer to be used to determine whether a device
with which it previously shared an IRK is within range.
config BT_STACK_NO_LOG
bool "Disable BT debug logs (minimize bin size)"
depends on BT_BLUEDROID_ENABLED
@ -1072,7 +1083,7 @@ config BT_ACL_CONNECTIONS
is used.
config BT_MULTI_CONNECTION_ENBALE
bool "Enable BLE multi-conections"
bool "Enable BLE multi-connections"
depends on BT_BLE_ENABLED
default y
help

Wyświetl plik

@ -61,7 +61,7 @@ bool hci_host_check_send_available(void)
void hci_host_send_packet(uint8_t *data, uint16_t len)
{
#if (BT_HCI_LOG_INCLUDED == TRUE)
bt_hci_log_record_hci_data(data[0], data, len);
bt_hci_log_record_hci_data(data[0], &data[1], len - 1);
#endif
#if (BT_CONTROLLER_INCLUDED == TRUE)
esp_vhci_host_send_packet(data, len);

Wyświetl plik

@ -1014,6 +1014,25 @@ esp_err_t esp_ble_dtm_stop(void)
return (btc_transfer_context(&msg, NULL, 0, NULL, NULL) == BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
esp_err_t esp_ble_gap_set_privacy_mode(esp_ble_addr_type_t addr_type, esp_bd_addr_t addr, esp_ble_privacy_mode_t mode)
{
btc_msg_t msg;
btc_ble_gap_args_t arg;
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
msg.sig = BTC_SIG_API_CALL;
msg.pid = BTC_PID_GAP_BLE;
msg.act = BTC_GAP_BLE_SET_PRIVACY_MODE;
arg.set_privacy_mode.addr_type = addr_type;
memcpy(arg.set_privacy_mode.addr, addr, sizeof(esp_bd_addr_t));
arg.set_privacy_mode.privacy_mode = mode;
return (btc_transfer_context(&msg, &arg, sizeof(btc_ble_gap_args_t), NULL, NULL)
== BT_STATUS_SUCCESS ? ESP_OK : ESP_FAIL);
}
#if (BLE_50_FEATURE_SUPPORT == TRUE)
esp_err_t esp_ble_gap_read_phy(esp_bd_addr_t bd_addr)

Wyświetl plik

@ -228,6 +228,7 @@ typedef enum {
ESP_GAP_BLE_SET_RPA_TIMEOUT_COMPLETE_EVT, /*!< When set the Resolvable Private Address (RPA) timeout completes, the event comes */
ESP_GAP_BLE_ADD_DEV_TO_RESOLVING_LIST_COMPLETE_EVT, /*!< when add a device to the resolving list completes, the event comes*/
ESP_GAP_BLE_VENDOR_CMD_COMPLETE_EVT, /*!< When vendor hci command complete, the event comes */
ESP_GAP_BLE_SET_PRIVACY_MODE_COMPLETE_EVT, /*!< When set privacy mode complete, the event comes */
ESP_GAP_BLE_EVT_MAX, /*!< when maximum advertising event complete, the event comes */
} esp_gap_ble_cb_event_t;
@ -1030,6 +1031,11 @@ typedef struct {
} esp_ble_gap_past_params_t;
#endif // #if (BLE_FEAT_PERIODIC_ADV_SYNC_TRANSFER == TRUE)
typedef enum{
ESP_BLE_NETWORK_PRIVACY_MODE = 0X00, /*!< Network Privacy Mode for peer device (default) */
ESP_BLE_DEVICE_PRIVACY_MODE = 0X01, /*!< Device Privacy Mode for peer device */
} esp_ble_privacy_mode_t;
/**
* @brief Gap callback parameters union
*/
@ -1507,6 +1513,12 @@ typedef union {
uint16_t param_len; /*!< The length of parameter buffer */
uint8_t *p_param_buf; /*!< The point of parameter buffer */
} vendor_cmd_cmpl; /*!< Event parameter of ESP_GAP_BLE_VENDOR_CMD_COMPLETE_EVT */
/**
* @brief ESP_GAP_BLE_SET_PRIVACY_MODE_COMPLETE_EVT
*/
struct ble_set_privacy_mode_cmpl_evt_param {
esp_bt_status_t status; /*!< Indicate privacy mode set operation success status */
} set_privacy_mode_cmpl; /*!< Event parameter of ESP_GAP_BLE_SET_PRIVACY_MODE_COMPLETE_EVT */
} esp_ble_gap_cb_param_t;
/**
@ -2640,6 +2652,21 @@ esp_err_t esp_ble_gap_clear_advertising(void);
*/
esp_err_t esp_ble_gap_vendor_command_send(esp_ble_vendor_cmd_params_t *vendor_cmd_param);
/**
* @brief This function set the privacy mode of the device in resolving list.
*
* @note This feature is not supported on ESP32.
*
* @param[in] addr_type: The address type of the peer identity address (BLE_ADDR_TYPE_PUBLIC or BLE_ADDR_TYPE_RANDOM).
* @param[in] addr: The peer identity address of the device.
* @param[in] mode: The privacy mode of the device.
*
* @return
* - ESP_OK : success
* - other : failed
*/
esp_err_t esp_ble_gap_set_privacy_mode(esp_ble_addr_type_t addr_type, esp_bd_addr_t addr, esp_ble_privacy_mode_t mode);
#ifdef __cplusplus
}
#endif

Wyświetl plik

@ -5838,6 +5838,13 @@ void bta_dm_ble_gap_add_dev_to_resolving_list(tBTA_DM_MSG *p_data)
p_data->add_dev_to_resolving_list.p_add_dev_to_resolving_list_callback);
}
void bta_dm_ble_gap_set_privacy_mode(tBTA_DM_MSG *p_data)
{
APPL_TRACE_API("%s, privacy_mode = %d", __func__, p_data->ble_set_privacy_mode.privacy_mode);
BTM_BleSetPrivacyMode(p_data->ble_set_privacy_mode.addr_type, p_data->ble_set_privacy_mode.addr,
p_data->ble_set_privacy_mode.privacy_mode, p_data->ble_set_privacy_mode.p_cback);
}
#if (BLE_50_FEATURE_SUPPORT == TRUE)
void bta_dm_ble_gap_dtm_enhance_tx_start(tBTA_DM_MSG *p_data)
{

Wyświetl plik

@ -2679,6 +2679,21 @@ void BTA_DmBleDtmStop(tBTA_DTM_CMD_CMPL_CBACK *p_dtm_cmpl_cback)
}
}
void BTA_DmBleSetPrivacyMode(uint8_t addr_type, BD_ADDR addr, uint8_t privacy_mode, tBTA_SET_PRIVACY_MODE_CMPL_CBACK *p_cback)
{
tBTA_DM_API_SET_PRIVACY_MODE *p_msg;
if ((p_msg = (tBTA_DM_API_SET_PRIVACY_MODE *)osi_malloc(sizeof(tBTA_DM_API_SET_PRIVACY_MODE)))
!= NULL) {
p_msg->hdr.event = BTA_DM_API_SET_PRIVACY_MODE_EVT;
p_msg->addr_type = addr_type;
memcpy(p_msg->addr, addr, sizeof(BD_ADDR));
p_msg->privacy_mode = privacy_mode;
p_msg->p_cback = p_cback;
bta_sys_sendmsg(p_msg);
}
}
#endif
/*******************************************************************************

Wyświetl plik

@ -234,6 +234,7 @@ const tBTA_DM_ACTION bta_dm_action[BTA_DM_MAX_EVT] = {
bta_dm_ble_gap_clear_adv, /* BTA_DM_API_BLE_CLEAR_ADV_EVT */
bta_dm_ble_gap_set_rpa_timeout, /* BTA_DM_API_SET_RPA_TIMEOUT_EVT */
bta_dm_ble_gap_add_dev_to_resolving_list, /* BTA_DM_API_ADD_DEV_TO_RESOLVING_LIST_EVT */
bta_dm_ble_gap_set_privacy_mode, /* BTA_DM_API_SET_PRIVACY_MODE_EVT */
#endif
};

Wyświetl plik

@ -225,6 +225,7 @@ enum {
BTA_DM_API_BLE_CLEAR_ADV_EVT,
BTA_DM_API_SET_RPA_TIMEOUT_EVT,
BTA_DM_API_ADD_DEV_TO_RESOLVING_LIST_EVT,
BTA_DM_API_SET_PRIVACY_MODE_EVT,
#endif
BTA_DM_MAX_EVT
};
@ -950,6 +951,14 @@ typedef struct {
tBTA_CLEAR_ADV_CMPL_CBACK *p_clear_adv_cback;
} tBTA_DM_API_CLEAR_ADV;
typedef struct {
BT_HDR hdr;
tBLE_ADDR_TYPE addr_type;
BD_ADDR addr;
UINT8 privacy_mode;
tBTA_SET_PRIVACY_MODE_CMPL_CBACK *p_cback;
} tBTA_DM_API_SET_PRIVACY_MODE;
#endif /* BLE_INCLUDED */
/* data type for BTA_DM_API_REMOVE_ACL_EVT */
@ -1355,6 +1364,7 @@ typedef union {
tBTA_DM_API_BLE_DTM_RX_START dtm_rx_start;
tBTA_DM_API_BLE_DTM_STOP dtm_stop;
tBTA_DM_API_CLEAR_ADV ble_clear_adv;
tBTA_DM_API_SET_PRIVACY_MODE ble_set_privacy_mode;
#endif
tBTA_DM_API_REMOVE_ACL remove_acl;
@ -1802,6 +1812,7 @@ extern void bta_dm_ble_gap_dtm_stop(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_gap_clear_adv(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_gap_set_rpa_timeout(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_gap_add_dev_to_resolving_list(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_gap_set_privacy_mode(tBTA_DM_MSG *p_data);
#if (BLE_50_FEATURE_SUPPORT == TRUE)
extern void bta_dm_ble_gap_dtm_enhance_tx_start(tBTA_DM_MSG *p_data);
extern void bta_dm_ble_gap_dtm_enhance_rx_start(tBTA_DM_MSG *p_data);

Wyświetl plik

@ -722,6 +722,26 @@ extern void bta_hd_exit_suspend_act(tBTA_HD_DATA *p_data)
bta_sys_idle(BTA_ID_HD, 1, p_cback->addr);
}
/*******************************************************************************
*
* Function bta_hd_open_failure
*
* Description
*
* Returns void
*
******************************************************************************/
extern void bta_hd_open_failure(tBTA_HD_DATA *p_data)
{
tBTA_HD_CBACK_DATA *p_cback = (tBTA_HD_CBACK_DATA *)p_data;
tBTA_HD cback_data = {0};
bdcpy(cback_data.conn.bda, p_cback->addr);
cback_data.conn.status = BTA_HD_ERROR;
cback_data.conn.conn_status = BTA_HD_CONN_STATE_DISCONNECTED;
bta_hd_cb.p_cback(BTA_HD_OPEN_EVT, &cback_data);
}
/*******************************************************************************
*
* Function bta_hd_cback

Wyświetl plik

@ -62,6 +62,7 @@ enum {
BTA_HD_VC_UNPLUG_DONE_ACT,
BTA_HD_SUSPEND_ACT,
BTA_HD_EXIT_SUSPEND_ACT,
BTA_HD_OPEN_FAILURE,
BTA_HD_NUM_ACTIONS
};
@ -74,7 +75,7 @@ const tBTA_HD_ACTION bta_hd_action[] = {
bta_hd_disconnect_act, bta_hd_add_device_act, bta_hd_remove_device_act, bta_hd_send_report_act,
bta_hd_report_error_act, bta_hd_vc_unplug_act, bta_hd_open_act, bta_hd_close_act,
bta_hd_intr_data_act, bta_hd_get_report_act, bta_hd_set_report_act, bta_hd_set_protocol_act,
bta_hd_vc_unplug_done_act, bta_hd_suspend_act, bta_hd_exit_suspend_act,
bta_hd_vc_unplug_done_act, bta_hd_suspend_act, bta_hd_exit_suspend_act, bta_hd_open_failure
};
/* state table information */
@ -118,7 +119,7 @@ const uint8_t bta_hd_st_idle[][BTA_HD_NUM_COLS] = {
/* BTA_HD_API_REPORT_ERROR_EVT */ {BTA_HD_IGNORE, BTA_HD_IDLE_ST},
/* BTA_HD_API_VC_UNPLUG_EVT */ {BTA_HD_VC_UNPLUG_ACT, BTA_HD_IDLE_ST},
/* BTA_HD_INT_OPEN_EVT */ {BTA_HD_OPEN_ACT, BTA_HD_CONN_ST},
/* BTA_HD_INT_CLOSE_EVT */ {BTA_HD_IGNORE, BTA_HD_IDLE_ST},
/* BTA_HD_INT_CLOSE_EVT */ {BTA_HD_OPEN_FAILURE, BTA_HD_IDLE_ST},
/* BTA_HD_INT_INTR_DATA_EVT */ {BTA_HD_IGNORE, BTA_HD_IDLE_ST},
/* BTA_HD_INT_GET_REPORT_EVT */ {BTA_HD_IGNORE, BTA_HD_IDLE_ST},
/* BTA_HD_INT_SET_REPORT_EVT */ {BTA_HD_IGNORE, BTA_HD_IDLE_ST},

Wyświetl plik

@ -164,5 +164,6 @@ extern void bta_hd_set_protocol_act(tBTA_HD_DATA *p_data);
extern void bta_hd_vc_unplug_done_act(tBTA_HD_DATA *p_data);
extern void bta_hd_suspend_act(tBTA_HD_DATA *p_data);
extern void bta_hd_exit_suspend_act(tBTA_HD_DATA *p_data);
extern void bta_hd_open_failure(tBTA_HD_DATA *p_data);
#endif

Wyświetl plik

@ -437,6 +437,8 @@ typedef tBTM_SET_RPA_TIMEOUT_CMPL_CBACK tBTA_SET_RPA_TIMEOUT_CMPL_CBACK;
typedef tBTM_ADD_DEV_TO_RESOLVING_LIST_CMPL_CBACK tBTA_ADD_DEV_TO_RESOLVING_LIST_CMPL_CBACK;
typedef tBTM_SET_PRIVACY_MODE_CMPL_CBACK tBTA_SET_PRIVACY_MODE_CMPL_CBACK;
typedef tBTM_CMPL_CB tBTA_CMPL_CB;
typedef tBTM_VSC_CMPL tBTA_VSC_CMPL;
@ -2893,6 +2895,8 @@ extern void BTA_DmBleDtmTxStart(uint8_t tx_channel, uint8_t len_of_data, uint8_t
extern void BTA_DmBleDtmRxStart(uint8_t rx_channel, tBTA_DTM_CMD_CMPL_CBACK *p_dtm_cmpl_cback);
extern void BTA_DmBleDtmStop(tBTA_DTM_CMD_CMPL_CBACK *p_dtm_cmpl_cback);
extern void BTA_DmBleSetPrivacyMode(uint8_t addr_type, BD_ADDR addr, uint8_t privacy_mode, tBTA_SET_PRIVACY_MODE_CMPL_CBACK *p_cback);
/*******************************************************************************
**
** Function BTA_DmBleSetStorageParams

Wyświetl plik

@ -1326,6 +1326,25 @@ static void btc_ble_vendor_hci_cmd_complete_callback(tBTA_VSC_CMPL *p_param)
}
}
static void btc_ble_set_privacy_mode_callback(UINT8 status)
{
esp_ble_gap_cb_param_t param;
bt_status_t ret;
btc_msg_t msg = {0};
msg.sig = BTC_SIG_API_CB;
msg.pid = BTC_PID_GAP_BLE;
msg.act = ESP_GAP_BLE_SET_PRIVACY_MODE_COMPLETE_EVT;
param.set_privacy_mode_cmpl.status = btc_btm_status_to_esp_status(status);
ret = btc_transfer_context(&msg, &param, sizeof(esp_ble_gap_cb_param_t), NULL, NULL);
if (ret != BT_STATUS_SUCCESS) {
BTC_TRACE_ERROR("%s btc_transfer_context failed\n", __func__);
}
}
void btc_get_whitelist_size(uint16_t *length)
{
BTM_BleGetWhiteListSize(length);
@ -1504,6 +1523,13 @@ static void btc_ble_dtm_stop(tBTA_DTM_CMD_CMPL_CBACK *p_dtm_cmpl_cback)
BTA_DmBleDtmStop(p_dtm_cmpl_cback);
}
static void btc_ble_set_privacy_mode(uint8_t addr_type,
BD_ADDR addr,
uint8_t privacy_mode,
tBTA_SET_PRIVACY_MODE_CMPL_CBACK *p_cback)
{
BTA_DmBleSetPrivacyMode(addr_type, addr, privacy_mode, p_cback);
}
void btc_gap_ble_cb_handler(btc_msg_t *msg)
{
@ -2354,6 +2380,10 @@ void btc_gap_ble_call_handler(btc_msg_t *msg)
arg->vendor_cmd_send.p_param_buf,
btc_ble_vendor_hci_cmd_complete_callback);
break;
case BTC_GAP_BLE_SET_PRIVACY_MODE:
btc_ble_set_privacy_mode(arg->set_privacy_mode.addr_type, arg->set_privacy_mode.addr,
arg->set_privacy_mode.privacy_mode, btc_ble_set_privacy_mode_callback);
break;
default:
break;
}
@ -2364,6 +2394,7 @@ void btc_gap_ble_call_handler(btc_msg_t *msg)
//register connection parameter update callback
void btc_gap_callback_init(void)
{
BTM_BleRegiseterPktLengthChangeCallback(btc_set_pkt_length_callback);
BTM_BleRegiseterConnParamCallback(btc_update_conn_param_callback);
#if (BLE_50_FEATURE_SUPPORT == TRUE)
BTM_BleGapRegisterCallback(btc_ble_5_gap_callback);

Wyświetl plik

@ -261,7 +261,7 @@ static void btc_hd_deinit(void)
}
btc_hd_cb.service_dereg_active = FALSE;
// unresgister app will also relase the connection
// unregister app will also release the connection
// and disable after receiving unregister event from lower layer
if (is_hidd_app_register()) {
btc_hd_unregister_app(true);
@ -844,6 +844,8 @@ void btc_hd_cb_handler(btc_msg_t *msg)
// }
// btc_storage_set_hidd((bt_bdaddr_t *)&p_data->conn.bda);
btc_hd_cb.status = BTC_HD_CONNECTED;
} else if (p_data->conn.conn_status == BTA_HD_CONN_STATE_DISCONNECTED) {
btc_hd_cb.status = BTC_HD_DISCONNECTED;
}
param.open.status = p_data->conn.status;
param.open.conn_status = p_data->conn.conn_status;

Wyświetl plik

@ -105,6 +105,7 @@ typedef enum {
BTC_GAP_BLE_ACT_SET_RESOLVABLE_PRIVATE_ADDRESS_TIMEOUT,
BTC_GAP_BLE_ACT_ADD_DEVICE_TO_RESOLVING_LIST,
BTC_GAP_BLE_ACT_VENDOR_HCI_CMD_EVT,
BTC_GAP_BLE_SET_PRIVACY_MODE,
} btc_gap_ble_act_t;
/* btc_ble_gap_args_t */
@ -267,9 +268,15 @@ typedef union {
uint8_t param_len;
uint8_t *p_param_buf;
} vendor_cmd_send;
// BTC_GAP_BLE_SET_PRIVACY_MODE
struct set_privacy_mode {
esp_ble_addr_type_t addr_type;
esp_bd_addr_t addr;
uint8_t privacy_mode;
} set_privacy_mode;
} btc_ble_gap_args_t;
#if (BLE_50_FEATURE_SUPPORT == TRUE)
#if (BLE_50_FEATURE_SUPPORT == TRUE)
typedef union {
struct read_phy_args {
esp_bd_addr_t bd_addr;

Wyświetl plik

@ -906,7 +906,6 @@ void btc_l2cap_cb_handler(btc_msg_t *msg)
fixed_queue_enqueue(slot->rx.queue, p_data_buf, FIXED_QUEUE_MAX_TIMEOUT);
} else {
osi_free(p_data_buf);
break;
}
}
osi_mutex_unlock(&l2cap_local_param.l2cap_slot_mutex);
@ -945,12 +944,11 @@ void btc_l2cap_cb_handler(btc_msg_t *msg)
break; // to do disconnect
}
memset(p_data_buf, 0, count + sizeof(BT_HDR));
p_data_buf->len = BTA_JvL2capRead(p_data->data_ind.handle, slot->id, p_data_buf->data, count);
p_data_buf->len = BTA_JvL2capRead(p_data->l2c_read.handle, slot->id, p_data_buf->data, count);
if (p_data_buf->len > 0) {
fixed_queue_enqueue(slot->rx.queue, p_data_buf, FIXED_QUEUE_MAX_TIMEOUT);
} else {
osi_free(p_data_buf);
break;
}
}
osi_mutex_unlock(&l2cap_local_param.l2cap_slot_mutex);
@ -1060,7 +1058,7 @@ static ssize_t l2cap_vfs_write(int fd, const void * data, size_t size)
if (!enqueue_status) {
BTC_TRACE_DEBUG("%s tx_len:%d, fd:%d\n", __func__, fixed_queue_length(slot->tx.queue), fd);
osi_mutex_unlock(&l2cap_local_param.l2cap_slot_mutex);
//block untill under water level, be closed or time out
//block until under water level, be closed or time out
tx_event_group_val =
xEventGroupWaitBits(l2cap_local_param.tx_event_group, SLOT_WRITE_BIT(serial) | SLOT_CLOSE_BIT(serial), pdTRUE,
pdFALSE, VFS_WRITE_TIMEOUT / portTICK_PERIOD_MS);

Wyświetl plik

@ -218,7 +218,13 @@
#define UC_BT_SMP_MAX_BONDS 8
#endif
//Device Nane Maximum Length
#ifdef CONFIG_BT_BLE_SMP_ID_RESET_ENABLE
#define UC_BT_BLE_SMP_ID_RESET_ENABLE CONFIG_BT_BLE_SMP_ID_RESET_ENABLE
#else
#define UC_BT_BLE_SMP_ID_RESET_ENABLE FALSE
#endif
//Device Name Maximum Length
#ifdef CONFIG_BT_MAX_DEVICE_NAME_LEN
#define UC_MAX_LOC_BD_NAME_LEN CONFIG_BT_MAX_DEVICE_NAME_LEN
#else

Wyświetl plik

@ -290,6 +290,12 @@
#define SMP_SLAVE_CON_PARAMS_UPD_ENABLE FALSE
#endif /* UC_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE */
#if (UC_BT_BLE_SMP_ID_RESET_ENABLE)
#define BLE_SMP_ID_RESET_ENABLE TRUE
#else
#define BLE_SMP_ID_RESET_ENABLE FALSE
#endif
#ifdef UC_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP
#define BLE_ADV_REPORT_FLOW_CONTROL (UC_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP && BLE_INCLUDED)
#endif /* UC_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP */
@ -569,7 +575,7 @@
#define BT_CLASSIC_BQB_INCLUDED FALSE
#endif
/* This feature is used to eanble interleaved scan*/
/* This feature is used to enable interleaved scan*/
#ifndef BTA_HOST_INTERLEAVE_SEARCH
#define BTA_HOST_INTERLEAVE_SEARCH FALSE
#endif
@ -1385,7 +1391,7 @@
#define GATT_CONFORMANCE_TESTING FALSE
#endif
/* number of background connection device allowence, ideally to be the same as WL size
/* number of background connection device allowance, ideally to be the same as WL size
*/
#ifndef GATT_MAX_BG_CONN_DEV
#define GATT_MAX_BG_CONN_DEV 8 /*MAX is 32*/

Wyświetl plik

@ -541,6 +541,26 @@ static void host_send_pkt_available_cb(void)
hci_downstream_data_post(OSI_THREAD_MAX_TIMEOUT);
}
void bt_record_hci_data(uint8_t *data, uint16_t len)
{
#if (BT_HCI_LOG_INCLUDED == TRUE)
if ((data[0] == DATA_TYPE_EVENT) && (data[1] == HCI_BLE_EVENT) && ((data[3] == HCI_BLE_ADV_PKT_RPT_EVT) || (data[3] == HCI_BLE_DIRECT_ADV_EVT)
#if (BLE_ADV_REPORT_FLOW_CONTROL == TRUE)
|| (data[3] == HCI_BLE_ADV_DISCARD_REPORT_EVT)
#endif // (BLE_ADV_REPORT_FLOW_CONTROL == TRUE)
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|| (data[3] == HCI_BLE_EXT_ADV_REPORT_EVT) || (data[3] == HCI_BLE_PERIOD_ADV_REPORT_EVT)
#endif // (BLE_50_FEATURE_SUPPORT == TRUE)
)) {
bt_hci_log_record_hci_adv(HCI_LOG_DATA_TYPE_ADV, &data[2], len - 2);
} else {
uint8_t data_type = ((data[0] == 2) ? HCI_LOG_DATA_TYPE_C2H_ACL : data[0]);
bt_hci_log_record_hci_data(data_type, &data[1], len - 1);
}
#endif // (BT_HCI_LOG_INCLUDED == TRUE)
}
static int host_recv_pkt_cb(uint8_t *data, uint16_t len)
{
//Target has packet to host, malloc new buffer for packet
@ -552,13 +572,11 @@ static int host_recv_pkt_cb(uint8_t *data, uint16_t len)
return 0;
}
bt_record_hci_data(data, len);
bool is_adv_rpt = host_recv_adv_packet(data);
if (!is_adv_rpt) {
#if (BT_HCI_LOG_INCLUDED == TRUE)
uint8_t data_type = ((data[0] == 2) ? HCI_LOG_DATA_TYPE_C2H_ACL : data[0]);
bt_hci_log_record_hci_data(data_type, data, len);
#endif // (BT_HCI_LOG_INCLUDED == TRUE)
pkt_size = BT_HDR_SIZE + len;
pkt = (BT_HDR *) osi_calloc(pkt_size);
if (!pkt) {
@ -572,10 +590,6 @@ static int host_recv_pkt_cb(uint8_t *data, uint16_t len)
memcpy(pkt->data, data, len);
fixed_queue_enqueue(hci_hal_env.rx_q, pkt, FIXED_QUEUE_MAX_TIMEOUT);
} else {
#if (BT_HCI_LOG_INCLUDED == TRUE)
// data type is adv report
bt_hci_log_record_hci_adv(HCI_LOG_DATA_TYPE_ADV, data, len);
#endif // (BT_HCI_LOG_INCLUDED == TRUE)
#if !BLE_ADV_REPORT_FLOW_CONTROL
// drop the packets if pkt_queue length goes beyond upper limit
if (pkt_queue_length(hci_hal_env.adv_rpt_q) > HCI_HAL_BLE_ADV_RPT_QUEUE_LEN_MAX) {

Wyświetl plik

@ -171,6 +171,12 @@ static void reassemble_and_dispatch(BT_HDR *packet)
return;
}
partial_packet = (BT_HDR *)osi_calloc(full_length + sizeof(BT_HDR));
if (partial_packet == NULL) {
HCI_TRACE_WARNING("%s full_length %d no memory.\n", __func__, full_length);
assert(0);
}
partial_packet->event = packet->event;
partial_packet->len = full_length;
partial_packet->offset = packet->len;

Wyświetl plik

@ -217,7 +217,7 @@ void BTM_BleLoadLocalKeys(UINT8 key_type, tBTM_BLE_LOCAL_KEYS *p_key)
break;
default:
BTM_TRACE_ERROR("unknow local key type: %d", key_type);
BTM_TRACE_ERROR("unknown local key type: %d", key_type);
break;
}
}
@ -694,7 +694,7 @@ void BTM_ReadDevInfo (BD_ADDR remote_bda, tBT_DEVICE_TYPE *p_dev_type, tBLE_ADDR
BTM_TRACE_DEBUG ("btm_find_dev_type - unknown device, BR/EDR assumed");
}
}
} else { /* there is a security device record exisitng */
} else { /* there is a security device record existing */
/* new inquiry result, overwrite device type in security device record */
if (p_inq_info) {
p_dev_rec->device_type = p_inq_info->results.device_type;
@ -707,7 +707,7 @@ void BTM_ReadDevInfo (BD_ADDR remote_bda, tBT_DEVICE_TYPE *p_dev_type, tBLE_ADDR
} else if (memcmp(p_dev_rec->ble.pseudo_addr, remote_bda, BD_ADDR_LEN) == 0) {
*p_dev_type = BT_DEVICE_TYPE_BLE;
*p_addr_type = p_dev_rec->ble.ble_addr_type;
} else { /* matching static adddress only */
} else { /* matching static address only */
*p_dev_type = BT_DEVICE_TYPE_BREDR;
*p_addr_type = BLE_ADDR_PUBLIC;
}
@ -1061,7 +1061,7 @@ tBTM_SEC_ACTION btm_ble_determine_security_act(BOOLEAN is_originator, BD_ADDR bd
** LE link for LE COC.
**
** Parameter bdaddr: remote device address.
** psm : PSM of the LE COC sevice.
** psm : PSM of the LE COC service.
** is_originator: TRUE if outgoing connection.
** p_callback : Pointer to the callback function.
** p_ref_data : Pointer to be returned along with the callback.
@ -1078,7 +1078,7 @@ BOOLEAN btm_ble_start_sec_check(BD_ADDR bd_addr, UINT16 psm, BOOLEAN is_originat
/* If there is no application registered with this PSM do not allow connection */
if (!p_serv_rec)
{
BTM_TRACE_WARNING ("%s PSM: %d no application registerd", __func__, psm);
BTM_TRACE_WARNING ("%s PSM: %d no application registered", __func__, psm);
(*p_callback) (bd_addr, BT_TRANSPORT_LE, p_ref_data, BTM_MODE_UNSUPPORTED);
return FALSE;
}
@ -1151,7 +1151,7 @@ void btm_ble_rand_enc_complete (UINT8 *p, UINT16 op_code, tBTM_RAND_ENC_CB *p_en
/* If there was a callback address for vcs complete, call it */
if (p_enc_cplt_cback && p) {
/* Pass paramters to the callback function */
/* Pass parameters to the callback function */
STREAM_TO_UINT8(params.status, p); /* command status */
if (params.status == HCI_SUCCESS) {
@ -1208,7 +1208,7 @@ void btm_ble_increment_sign_ctr(BD_ADDR bd_addr, BOOLEAN is_local )
** Function btm_ble_get_enc_key_type
**
** Description This function is to get the BLE key type that has been exchanged
** in betweem local device and peer device.
** in between local device and peer device.
**
** Returns p_key_type: output parameter to carry the key type value.
**
@ -1235,7 +1235,7 @@ BOOLEAN btm_ble_get_enc_key_type(BD_ADDR bd_addr, UINT8 *p_key_types)
**
** Description This function is called to read the local DIV
**
** Returns TRUE - if a valid DIV is availavle
** Returns TRUE - if a valid DIV is available
*******************************************************************************/
BOOLEAN btm_get_local_div (BD_ADDR bd_addr, UINT16 *p_div)
{
@ -1487,7 +1487,7 @@ void btm_ble_link_sec_check(BD_ADDR bd_addr, tBTM_LE_AUTH_REQ auth_req, tBTM_BLE
BTM_TRACE_DEBUG ("dev_rec sec_flags=0x%x", p_dev_rec->sec_flags);
/* currently encrpted */
/* currently encrypted */
if (p_dev_rec->sec_flags & BTM_SEC_LE_ENCRYPTED) {
if (p_dev_rec->sec_flags & BTM_SEC_LE_AUTHENTICATED) {
cur_sec_level = BTM_LE_SEC_AUTHENTICATED;
@ -1691,7 +1691,7 @@ tBTM_STATUS btm_ble_start_encrypt(BD_ADDR bda, BOOLEAN use_stk, BT_OCTET16 stk)
**
** Function btm_ble_link_encrypted
**
** Description This function is called when LE link encrption status is changed.
** Description This function is called when LE link encryption status is changed.
**
** Returns void
**
@ -1949,7 +1949,7 @@ static void btm_ble_resolve_random_addr_on_conn_cmpl(void *p_rec, void *p_data)
** Function btm_ble_connected
**
** Description This function is when a LE connection to the peer device is
** establsihed
** established
**
** Returns void
**
@ -2060,7 +2060,7 @@ void btm_ble_conn_complete(UINT8 *p, UINT16 evt_len, BOOLEAN enhanced)
peer_addr_type = bda_type;
match = btm_identity_addr_to_random_pseudo (bda, &bda_type, FALSE);
/* possiblly receive connection complete with resolvable random on
/* possibly receive connection complete with resolvable random on
slave role while the device has been paired */
/* It will cause that scanner doesn't send scan request to advertiser
@ -2143,6 +2143,16 @@ void btm_ble_create_ll_conn_complete (UINT8 status)
if (status != HCI_SUCCESS) {
btm_ble_set_conn_st(BLE_CONN_IDLE);
btm_ble_update_mode_operation(HCI_ROLE_UNKNOWN, NULL, status);
if(l2cb.is_ble_connecting) {
/* see L2CA_CancelBleConnectReq() */
tL2C_LCB *p_lcb = l2cu_find_lcb_by_bd_addr(l2cb.ble_connecting_bda, BT_TRANSPORT_LE);
/* Do not remove lcb if an LE link is already up as a peripheral */
if (p_lcb != NULL &&
!(p_lcb->link_role == HCI_ROLE_SLAVE && BTM_ACL_IS_CONNECTED(l2cb.ble_connecting_bda))) {
p_lcb->disc_reason = L2CAP_CONN_CANCEL;
l2cu_release_lcb (p_lcb);
}
}
}
}
@ -2300,7 +2310,7 @@ UINT8 btm_proc_smp_cback(tSMP_EVT event, BD_ADDR bd_addr, tSMP_EVT_DATA *p_data)
** Function BTM_BleDataSignature
**
** Description This function is called to sign the data using AES128 CMAC
** algorith.
** algorithm.
**
** Parameter bd_addr: target device the data to be signed for.
** p_text: singing data
@ -2308,7 +2318,7 @@ UINT8 btm_proc_smp_cback(tSMP_EVT event, BD_ADDR bd_addr, tSMP_EVT_DATA *p_data)
** signature: output parameter where data signature is going to
** be stored.
**
** Returns TRUE if signing sucessul, otherwise FALSE.
** Returns TRUE if signing successful, otherwise FALSE.
**
*******************************************************************************/
#if (SMP_INCLUDED == TRUE)
@ -2491,7 +2501,7 @@ BOOLEAN BTM_BleSecurityProcedureIsRunning(BD_ADDR bd_addr)
** Function BTM_BleGetSupportedKeySize
**
** Description This function gets the maximum encryption key size in bytes
** the local device can suport.
** the local device can support.
** record.
**
** Returns the key size or 0 if the size can't be retrieved.

Wyświetl plik

@ -70,7 +70,7 @@ static tBTM_BLE_VSC_CB *cmn_ble_gap_vsc_cb_ptr;
static tBTM_BLE_CTRL_FEATURES_CBACK *p_ctrl_le_feature_rd_cmpl_cback = NULL;
#endif
tBTM_CallbackFunc conn_param_update_cb;
tBTM_CallbackFunc conn_callback_func;
/*******************************************************************************
** Local functions
*******************************************************************************/
@ -309,7 +309,21 @@ void btm_ble_sem_free(void)
*******************************************************************************/
void BTM_BleRegiseterConnParamCallback(tBTM_UPDATE_CONN_PARAM_CBACK *update_conn_param_cb)
{
conn_param_update_cb.update_conn_param_cb = update_conn_param_cb;
conn_callback_func.update_conn_param_cb = update_conn_param_cb;
}
/*******************************************************************************
**
** Function BTM_BleRegiseterPktLengthChangeCallback
**
** Description Registers a callback function for packet length changes.
**
** Returns void
**
*******************************************************************************/
void BTM_BleRegiseterPktLengthChangeCallback(tBTM_SET_PKT_DATA_LENGTH_CBACK *ptk_len_chane_cb)
{
conn_callback_func.set_pkt_data_length_cb = ptk_len_chane_cb;
}
/*******************************************************************************
@ -4727,6 +4741,17 @@ BOOLEAN BTM_BleAddDevToResolvingList(BD_ADDR addr,
return TRUE;
}
BOOLEAN BTM_BleSetPrivacyMode(UINT8 addr_type, BD_ADDR bd_addr, UINT8 privacy_mode, tBTM_SET_PRIVACY_MODE_CMPL_CBACK *p_callback)
{
if (btsnd_hcic_ble_set_privacy_mode(addr_type, bd_addr, privacy_mode) != TRUE) {
BTM_TRACE_ERROR("LE SetPrivacyMode Mode=%d: error", privacy_mode);
return FALSE;
}
btm_cb.devcb.p_set_privacy_mode_cmpl_cb = p_callback;
return TRUE;
}
bool btm_ble_adv_pkt_ready(void)
{
tBTM_BLE_CB *p_cb = &btm_cb.ble_ctr_cb;

Wyświetl plik

@ -454,6 +454,34 @@ void btm_ble_set_rpa_timeout_complete(UINT8 *p, UINT16 evt_len)
}
/*******************************************************************************
**
** Function btm_ble_set_privacy_mode_complete
**
** Description This function is called when the LE Set Privacy Mode command completes.
**
** Parameters p: Pointer to the command complete event data.
** evt_len: Length of the event data.
**
** Returns void
**
*******************************************************************************/
void btm_ble_set_privacy_mode_complete(UINT8 *p, UINT16 evt_len)
{
UINT8 status;
// Extract the status of the command completion from the event data
STREAM_TO_UINT8(status, p);
BTM_TRACE_DEBUG("%s status = 0x%x", __func__, status);
tBTM_SET_PRIVACY_MODE_CMPL_CBACK *p_cb = btm_cb.devcb.p_set_privacy_mode_cmpl_cb;
if (p_cb) {
(*p_cb)(status);
}
}
/*******************************************************************************
VSC that implement controller based privacy
********************************************************************************/
@ -1119,6 +1147,9 @@ void btm_ble_add_default_entry_to_resolving_list(void)
BD_ADDR peer_addr = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
BT_OCTET16 peer_irk = {0x0};
// Remove the existing entry in resolving list When resetting the device identity
btsnd_hcic_ble_rm_device_resolving_list(BLE_ADDR_PUBLIC, peer_addr);
btsnd_hcic_ble_add_device_resolving_list (BLE_ADDR_PUBLIC, peer_addr, peer_irk, btm_cb.devcb.id_keys.irk);
}
#endif

Wyświetl plik

@ -179,20 +179,31 @@ BOOLEAN BTM_SecAddDevice (BD_ADDR bd_addr, DEV_CLASS dev_class, BD_NAME bd_name,
*******************************************************************************/
BOOLEAN BTM_SecDeleteDevice (BD_ADDR bd_addr, tBT_TRANSPORT transport)
{
tBTM_SEC_DEV_REC *p_dev_rec;
if (BTM_IsAclConnectionUp(bd_addr, transport)) {
BTM_TRACE_WARNING("%s FAILED: Cannot Delete when connection is active\n", __func__);
return FALSE;
}
if ((p_dev_rec = btm_find_dev(bd_addr)) != NULL) {
/* Tell controller to get rid of the link key, if it has one stored */
BTM_DeleteStoredLinkKey (p_dev_rec->bd_addr, NULL);
btm_sec_free_dev(p_dev_rec, transport);
btm_sec_free_dev(p_dev_rec, transport);
}
#if (BLE_SMP_ID_RESET_ENABLE == TRUE)
/*
* There are tracking risks associated with using a fixed or static IRK.
* A best-practices approach, when all pairing and bonding records are deleted,
* assign a new randomly-generated IRK.
*/
if (list_is_empty(btm_cb.p_sec_dev_rec_list)) {
btm_ble_reset_id();
}
#endif
return TRUE;
}
@ -640,7 +651,7 @@ tBTM_SEC_DEV_REC *btm_find_oldest_dev (void)
tBTM_SEC_DEV_REC *p_dev_rec = NULL;
tBTM_SEC_DEV_REC *p_oldest = NULL;
list_node_t *p_node = NULL;
UINT32 ot = 0xFFFFFFFF;
UINT32 old_ts = 0xFFFFFFFF;
/* First look for the non-paired devices for the oldest entry */
for (p_node = list_begin(btm_cb.p_sec_dev_rec_list); p_node; p_node = list_next(p_node)) {
@ -650,13 +661,13 @@ tBTM_SEC_DEV_REC *btm_find_oldest_dev (void)
continue; /* Device is paired so skip it */
}
if (p_dev_rec->timestamp < ot) {
if (p_dev_rec->timestamp < old_ts) {
p_oldest = p_dev_rec;
ot = p_dev_rec->timestamp;
old_ts = p_dev_rec->timestamp;
}
}
if (ot != 0xFFFFFFFF) {
if (old_ts != 0xFFFFFFFF) {
return (p_oldest);
}
@ -666,9 +677,9 @@ tBTM_SEC_DEV_REC *btm_find_oldest_dev (void)
continue;
}
if (p_dev_rec->timestamp < ot) {
if (p_dev_rec->timestamp < old_ts) {
p_oldest = p_dev_rec;
ot = p_dev_rec->timestamp;
old_ts = p_dev_rec->timestamp;
}
}
return (p_oldest);

Wyświetl plik

@ -497,6 +497,7 @@ void btm_ble_enable_resolving_list_for_platform (UINT8 rl_mask);
void btm_ble_resolving_list_init(UINT8 max_irk_list_sz);
void btm_ble_resolving_list_cleanup(void);
void btm_ble_add_default_entry_to_resolving_list(void);
void btm_ble_set_privacy_mode_complete(UINT8 *p, UINT16 evt_len);
#endif
void btm_ble_multi_adv_configure_rpa (tBTM_BLE_MULTI_ADV_INST *p_inst);

Wyświetl plik

@ -237,6 +237,9 @@ tBTM_SET_RPA_TIMEOUT_CMPL_CBACK *p_ble_set_rpa_timeout_cmpl_cb; /* Callback fun
ble set rpa timeout is completed */
tBTM_ADD_DEV_TO_RESOLVING_LIST_CMPL_CBACK *p_add_dev_to_resolving_list_cmpl_cb;
tBTM_SET_PRIVACY_MODE_CMPL_CBACK *p_set_privacy_mode_cmpl_cb;
tBTM_CMPL_CB *p_le_test_cmd_cmpl_cb; /* Callback function to be called when
LE test mode command has been sent successfully */
@ -970,9 +973,11 @@ typedef struct {
typedef struct{
//connection parameters update callback
tBTM_UPDATE_CONN_PARAM_CBACK *update_conn_param_cb;
// setting packet data length callback
tBTM_SET_PKT_DATA_LENGTH_CBACK *set_pkt_data_length_cb;
}tBTM_CallbackFunc;
extern tBTM_CallbackFunc conn_param_update_cb;
extern tBTM_CallbackFunc conn_callback_func;
/* security action for L2CAP COC channels */
#define BTM_SEC_OK 1
#define BTM_SEC_ENCRYPT 2 /* encrypt the link with current key */

Some files were not shown because too many files have changed in this diff Show More