Compare commits

..

1358 Commits

Author SHA1 Message Date
448c8ff276 fix: make get_adjusted_boot_time() not static 2024-02-05 14:49:45 +01:00
Rahul Tank
b3f7e2c8a4 Merge branch 'bugfix/reattempt_conn_feat_extended' into 'master'
fix(nimble): Support for reattempt connection in ext connect

See merge request espressif/esp-idf!28222
2024-01-08 20:07:08 +08:00
Island
ee7794c395 Merge branch 'bugfix/increase_btu_task_stack_size_master' into 'master'
fix(bt/bludroid): Increase BTU task stack size

Closes BT-3571

See merge request espressif/esp-idf!28319
2024-01-08 19:47:05 +08:00
C.S.M
09f0f7ec6c Merge branch 'fix/flash_print' into 'master'
fix(spi_flash): Remove the useless print

See merge request espressif/esp-idf!28331
2024-01-08 19:36:02 +08:00
Marius Vikhammer
c8d644dea0 Merge branch 'feature/enable_system_tests_p4' into 'master'
test(system): enable esp_system tests for P4

Closes IDF-8978

See merge request espressif/esp-idf!28317
2024-01-08 16:33:43 +08:00
Martin Vychodil
81c235c31a Merge branch 'fix/fatfs_sdmmc_triming' into 'master'
fix(storage/fatfs): check whether sdcard supports trimming

Closes IDFGH-11818

See merge request espressif/esp-idf!28300
2024-01-08 16:29:26 +08:00
Sudeep Mohanty
5a5869a4a6 Merge branch 'feature/freertos_optimize_xtaskincrementtickothercores' into 'master'
feat(freertos): Optimized xTaskIncrementTickOtherCores()

Closes IDF-7905

See merge request espressif/esp-idf!28232
2024-01-08 16:07:49 +08:00
Armando (Dou Yiwen)
7f8d0256c2 Merge branch 'change/ldo_id_start_from_1' into 'master'
ldo: make ldo driver unit_id start from 1 (same as datasheet)

See merge request espressif/esp-idf!28318
2024-01-08 16:06:31 +08:00
Sudeep Mohanty
f81de4373a Merge branch 'bugfix/freertos_restore_correct_int_level_for_clic' into 'master'
fix(freertos): Fixed incorrect int level restoration on esp32p4

See merge request espressif/esp-idf!28257
2024-01-08 16:04:47 +08:00
Cao Sen Miao
cbcbecaa06 fix(spi_flash): Remove the useless print 2024-01-08 15:46:09 +08:00
Shu Chen
2649097441 Merge branch 'feat/add_sbom_manifest_file_for_ot' into 'master'
feat(openthread): add sbom manifest file

Closes IDF-8307

See merge request espressif/esp-idf!27801
2024-01-08 15:42:05 +08:00
Lou Tian Hao
d8dfdd9c6f Merge branch 'feature/support_test_io_wakeup' into 'master'
feat(pm): add test_io_wakeup

Closes PM-66

See merge request espressif/esp-idf!27460
2024-01-08 15:37:03 +08:00
C.S.M
43c87716c9 Merge branch 'feat/flash_p4' into 'master'
ci(spi_flash): Enable spi_flash related tests on esp32p4

Closes IDF-7499 and IDF-8984

See merge request espressif/esp-idf!28099
2024-01-08 14:28:09 +08:00
Aditya Patwardhan
1220c36f96 Merge branch 'fix/build_failure_when_hardware_gcm_is_disabled' into 'master'
fix(mbedtls/gcm): Fix build failure when config `MBEDTLS_HARDWARE_GCM` is disabled

See merge request espressif/esp-idf!28149
2024-01-08 13:35:04 +08:00
morris
36d6ee9e61 Merge branch 'bugfix/rmt_p4_test' into 'master'
fix(rmt): DMA descriptor alignment respect the cache line size

Closes IDF-8961

See merge request espressif/esp-idf!28296
2024-01-08 12:43:58 +08:00
Jiang Jiang Jian
daa729eae4 Merge branch 'bugfix/fix_no_sleep_null_data_after_data_sent' into 'master'
fix(pm): fix no sleep null after data sent (33290e79)

Closes WIFIBUG-339

See merge request espressif/esp-idf!28295
2024-01-08 12:08:26 +08:00
C.S.M
53fff31426 Merge branch 'bugfix/tsens_adc_conflict' into 'master'
fix(tsens,adc): Fix issue that disable adc will make temperature sensor crash

Closes IDFGH-11828

See merge request espressif/esp-idf!28260
2024-01-08 11:58:48 +08:00
Mahavir Jain
f94785fcd7 Merge branch 'bugfix/protocol_examples_check_alloc_ret' into 'master'
fix: Check memory allocation failures in protocol examples

See merge request espressif/esp-idf!28237
2024-01-08 11:50:18 +08:00
Mahavir Jain
7c004fd7f8 Merge branch 'bugfix/fix_dynamic_mbedtls_crash' into 'master'
mbedtls: Fix enable dynamic mbedtls will occur heap corruption when server support TLS renegotiation

Closes IDF-8529

See merge request espressif/esp-idf!28086
2024-01-08 11:39:39 +08:00
Mahavir Jain
dd49da5f4f Merge branch 'bugfix/fix_http_client_error' into 'master'
esp_http_client: Fix reset errno to 0 before call esp_transport_read

Closes IDFGH-7444

See merge request espressif/esp-idf!26539
2024-01-08 11:36:52 +08:00
linruihao
4fbfc98132 fix(bt/bludroid): Increase BTU task stack size 2024-01-08 11:34:10 +08:00
Mahavir Jain
c0bd52898f Merge branch 'contrib/github_pr_12915' into 'master'
docs: Correct coap IPV6 support requirement comments (GitHub PR)

Closes IDFGH-11821

See merge request espressif/esp-idf!28297
2024-01-08 11:29:59 +08:00
Lou Tianhao
e28606aed2 feat(pm): add test_io_wakeup 2024-01-08 11:12:25 +08:00
Armando
1adea4ab66 change(ldo): make ldo driver unit_id same as datasheet
Prior to this commit, we expect passing ldo_unit_t to esp_ldo driver
`ldo_unit` field. And ldo_unit_t will alias the LDO unit to values
starting from 0, e.g. LDO_UNIT_1 is actually value 0.

With this commit, esp_ldo driver `ldo_unit` field will start with 1,
which is aligned with the datasheet. So LDO_UNIT_1 is in value 1,
meanwhile setting 1 to `ldo_unit` will work as well.
2024-01-08 10:52:11 +08:00
Lou Tian Hao
b74cc4637b Merge branch 'feature/support_hw_trigger_regdma_when_pu_top' into 'master'
fix(pm):  trigger regdma retention by PMU when TOP is not power down on esp32H2

Closes PM-47 and PM-65

See merge request espressif/esp-idf!28046
2024-01-08 10:44:06 +08:00
morris
d97a46160d fix(rmt): DMA descriptor alignment respect the cache line size 2024-01-08 10:31:32 +08:00
Cao Sen Miao
2e83fa1c69 refactor(spi_flash): Use new spi_flash register sturct and deperecate the old one 2024-01-08 09:59:22 +08:00
Cao Sen Miao
8325b507e0 test(spi_flash): Enable spi_flash related test on esp32p4 2024-01-08 09:59:12 +08:00
C.S.M
86707a3af6 Merge branch 'refactor/esp_driver_usj' into 'master'
refactor(usb_serial_jtag): make usb_serial_jtag as component

See merge request espressif/esp-idf!28140
2024-01-06 15:26:08 +08:00
Roland Dobai
0e46d40df7 Merge branch 'fix/gdbgui_py311' into 'master'
Tools: Fix support of gdbgui on Unix with Python 3.11

Closes IDFGH-11651

See merge request espressif/esp-idf!28256
2024-01-06 01:43:40 +08:00
Cao Sen Miao
3dc76e9360 refactor(usb_serial_jtag): make usb_serial_jtag as component 2024-01-05 19:42:04 +08:00
Wan Lei
32e2101c0d Merge branch 'fix/twai_add_std_runner' into 'master'
fix(twai): Add std runner using USB-CAN adapter

See merge request espressif/esp-idf!27095
2024-01-05 19:36:31 +08:00
Roland Dobai
8ee9186a0c Merge branch 'fix/kconfig_check_pre_commit' into 'master'
Tools: Fix KConfig files checks in pre-commit hook

Closes IDF-8996

See merge request espressif/esp-idf!28282
2024-01-05 18:59:41 +08:00
Roland Dobai
c6acde833b fix(gdbgui): Fix support of gdbgui on Unix with Python 3.11
Closes https://github.com/espressif/esp-idf/issues/12764
2024-01-05 11:23:02 +01:00
Sudeep Mohanty
d4ca7c246e fix(freertos): Fixed incorrect int level restoration on esp32p4
This commit fixes a bug where in the portENABLE_INTERRUPTS() macro
incorrectly restored the interrupt level to 1 (non-CLIC controller).
2024-01-05 11:00:56 +01:00
Tomáš Rohlínek
1297a0628a fix(storage/fatfs): check whether sdcard supports triming
Closes https://github.com/espressif/esp-idf/issues/12912
2024-01-05 10:31:56 +01:00
Lou Tianhao
aed3127d19 feat(pm): support PMU trigger regdma when PU TOP 2024-01-05 16:17:32 +08:00
Jakub Kocka
f47f2dc70f fix: KConfig files checks in pre-commit hook 2024-01-05 08:55:36 +01:00
Sudeep Mohanty
6e074c02e0 feat(freertos): Optimized xTaskIncrementTickOtherCores()
This commit optimizes the xTaskIncrementTickOtherCores() function by
avoiding unnecessary context switches.
2024-01-05 08:43:03 +01:00
wanlei
8536ffb490 fix(twai): enable twai interactive test for all targets on new std runner 2024-01-05 15:22:09 +08:00
Marius Vikhammer
e7f7078ee8 test(system): enable esp_system tests for P4 2024-01-05 15:17:34 +08:00
Jon Shallow
35f553f84d docs: Correct coap IPV6 support requirement comments
coap (libcoap) can now be built with or without IPV6.
2024-01-05 12:35:41 +05:30
Zhang Hai Peng
0b8e6c66c4 Merge branch 'bugfix/ble_check_adv_data' into 'master'
fix(bt/bluedroid): Fix ble adv data check to avoid memory overflow

See merge request espressif/esp-idf!28245
2024-01-05 14:17:42 +08:00
liuning
d962bc560b fix(pm): fix no sleep null after data sent (33290e79) 2024-01-05 14:12:21 +08:00
Cao Sen Miao
b84434b39d fix(tsens,adc): Fix issue that disable adc will make temperature sensor crash,
Closes https://github.com/espressif/esp-idf/issues/12921
2024-01-05 12:10:30 +08:00
Armando (Dou Yiwen)
dbe1df8cde Merge branch 'feature/esp32p4_sdmmc_on_real_chip' into 'master'
sdmmc: p4 sdmmc on real chip (relies ldo on real chip)

Closes IDF-6502

See merge request espressif/esp-idf!27762
2024-01-05 11:43:30 +08:00
Armando (Dou Yiwen)
f8674e6610 Merge branch 'bugfix/fix_wrong_dcache_0_size_issue_on_s2' into 'master'
cache: fix wrong dcache size 0 configuration issue on s2

Closes IDFGH-11592

See merge request espressif/esp-idf!28264
2024-01-05 10:33:50 +08:00
Armando
a9a36512a8 bugfix(dma): fixed wrong esp_dma_is_buffer_aligned result for psram on s3 2024-01-05 09:56:08 +08:00
Michael (XIAO Xufeng)
cc83c1e371 Merge branch 'bugfix/recalib_bbpll_before_tuning' into 'master'
fix(bbpll): fix bbpll may not lock or not stable bug for stop early (ESP32C2/S3/C6/H2)

See merge request espressif/esp-idf!27294
2024-01-05 03:21:22 +08:00
Kevin (Lao Kaiyao)
91c44ad88a Merge branch 'refactor/group_h264_struct_header_on_p4' into 'master'
refactor(h264): group the h264 struct header on p4

See merge request espressif/esp-idf!28252
2024-01-05 00:14:06 +08:00
Peter Marcisovsky
5524b692ee Merge branch 'feat/usb_host_set_device_config' into 'master'
USB Host: Add enumeration callback filter

Closes IDFGH-11534

See merge request espressif/esp-idf!27370
2024-01-05 00:11:31 +08:00
Peter Marcisovsky
24adb6ed3c feat(us/host): set device cfg during enumeration
- user callback funciton to set device configuration
      as a part of usb_host_install
    - callback provides device descriptor of a device being enumerated
    - user can set which cfg descriptor the USB device will be set with
    - user can filter device enumeration
    - Kconfig menu to enable callback function
    - usb_host_lib example demonstration
2024-01-04 16:09:13 +01:00
Rahul Tank
25d9e6735c fix(nimble): Support for reattempt connection in ext connect 2024-01-04 18:19:21 +05:30
Wang Meng Yang
7cc5d3d1d7 Merge branch 'bugfix/a2dp_sink_example' into 'master'
fix(bt/bluedroid): corrected the strings of A2DP audio states

See merge request espressif/esp-idf!28275
2024-01-04 20:44:21 +08:00
Fu Hanxi
d76334d83a Merge branch 'test/fix_lp_core_config_mismatch_issue' into 'master'
test: fix lp_core config file name mismatch issue

See merge request espressif/esp-idf!28217
2024-01-04 20:22:13 +08:00
Kevin (Lao Kaiyao)
22f2ecc400 Merge branch 'refactor/esp_driver_parlio' into 'master'
refactor(parlio): make parlio driver as component

Closes IDF-8383

See merge request espressif/esp-idf!28203
2024-01-04 18:32:13 +08:00
Jin Cheng
8582f9bedf fix(bt/bluedroid): corrected the strings of A2DP audio states 2024-01-04 17:52:11 +08:00
Marius Vikhammer
6c39a05d90 Merge branch 'ci/cleanup_example_cmake_test' into 'master'
ci(build_system): clean-up cmake examples build-test-rules.yml

Closes IDF-8987

See merge request espressif/esp-idf!28262
2024-01-04 17:12:10 +08:00
Kapil Gupta
5f8a276386 Merge branch 'bugfix/additional_autmode_incompatible_docs' into 'master'
Add docs for additional authmode incompatible situation

See merge request espressif/esp-idf!28179
2024-01-04 17:07:35 +08:00
Jiang Jiang Jian
0a1f378675 Merge branch 'fix/esp32h2_rssi_positive_issue' into 'master'
fix(ieee802154): fix the issue of not receiving packets when RSSI is positive in esp32h2

See merge request espressif/esp-idf!28038
2024-01-04 15:35:46 +08:00
Armando
2a5343b2e0 change(ldo): added ldo_types.h 2024-01-04 15:34:59 +08:00
Armando
5ae29bc4e5 doc(sdmmc): added doc about ldo usage on esp32p4 2024-01-04 15:34:59 +08:00
Armando
847d525d78 feat(sdmmc): use ldo as power supply on esp32p4 2024-01-04 15:34:59 +08:00
harshal.patil
8ac4d9ab99 fix(mbedtls/gcm): Avoid using GCM hardware when config MBEDTLS_HARDWARE_GCM is disabled 2024-01-04 12:20:11 +05:30
harshal.patil
c1ed825d3e fix(mbedtls/gcm): Fix build failure when config MBEDTLS_HARDWARE_GCM is disabled 2024-01-04 12:20:10 +05:30
Island
e8ff5511f2 Merge branch 'feat/config_ble_max_bond_dev_count' into 'master'
feat(bt/bluedroid): Make the max number of bond device to be configurable

Closes BLERP-375

See merge request espressif/esp-idf!27990
2024-01-04 14:43:35 +08:00
jgujarathi
8ab5cee34a docs(esp_wifi): Add docs for additional authmode incompatible situation
- Adds documentation for additional situations where authmode incompatible disconnect
  reason code will be reported
2024-01-04 11:56:42 +05:30
laokaiyao
baccc61482 refactor(parlio): make parlio driver as component 2024-01-04 14:12:42 +08:00
Jiang Jiang Jian
83241cab72 Merge branch 'bugfix/change_default_value_for_ip_ttl' into 'master'
Fix(lwip):bugfix for change default value for ip ttl

Closes AUD-5018

See merge request espressif/esp-idf!28139
2024-01-04 14:03:17 +08:00
zhanghaipeng
c66fc143fa fix(bt/bluedroid): Fix ble adv data check to avoid memory overflow 2024-01-04 13:21:42 +08:00
Mahavir Jain
5b5dcaa01d Merge branch 'bugfix/update_jtag_disabling_api' into 'master'
fix(esp_hw_support): fix API esp_hmac_disable_jtag() to disable JTAG

See merge request espressif/esp-idf!27888
2024-01-04 13:05:34 +08:00
Armando
d9661e15e2 fix(cache): fix wrong dcache size 0 configuration issue on s2
Closes https://github.com/espressif/esp-idf/issues/12711
2024-01-04 12:06:09 +08:00
Marius Vikhammer
97b52f2cfb ci(build_system): clean-up cmake examples build-test-rules.yml 2024-01-04 11:30:41 +08:00
Armando (Dou Yiwen)
2ff22c2bad Merge branch 'feat/esp32p4_enable_target_test' into 'master'
ci: enable esp32p4 target test

Closes IDF-7522 and IDF-7521

See merge request espressif/esp-idf!28001
2024-01-04 11:23:24 +08:00
Marius Vikhammer
4d48b63172 Merge branch 'ci/enable_misc_system_tests' into 'master'
change(system): enabled pthread, ringbuf and event tests

Closes IDF-8064, IDF-8115, IDF-8106, and IDF-6423

See merge request espressif/esp-idf!28023
2024-01-04 10:06:54 +08:00
Armando
3c5a4f9e8a ci(p4): added todo jira for disabled tests on p4 2024-01-04 09:36:38 +08:00
Armando
907b876354 ci(p4): temporarily disable failed ci tests on p4 2024-01-04 09:36:06 +08:00
Armando
4686456872 change(spi): temp disable spi related tests on p4 2024-01-04 09:34:55 +08:00
Armando
1ab742b3c3 ci(p4): enable esp32p4 target test 2024-01-04 09:34:55 +08:00
Martin Vychodil
20f80a2d05 Merge branch 'feature/nvs_flash_add_test_apps_dependecies' into 'master'
feat(storage): add dependencies to storage related test apps

Closes IDF-8398, IDF-8397, and IDF-8835

See merge request espressif/esp-idf!27439
2024-01-04 03:29:05 +08:00
Xiao Xufeng
c204f418ef fix(rtc): fixed bbpll not calibrated from bootloader issue 2024-01-04 03:23:20 +08:00
chaijie@espressif.com
8775b99d93 fix(bbpll): fix bbpll calibration may stop early bug(ESP32C2/S3/C6/H2) 2024-01-04 03:23:20 +08:00
laokaiyao
1d3c8c5481 refactor(h264): group the h264 struct header on p4 2024-01-03 23:57:11 +08:00
Xu Si Yu
bae3c28406 Merge branch 'feature/add_ieee802154_examples' into 'master'
feat(ieee802154): Add ieee802154 examples

See merge request espressif/esp-idf!26423
2024-01-03 22:51:25 +08:00
Rahul Tank
0c007e10a5 Merge branch 'bugfix/enable_addr_resol_across_reboot' into 'master'
fix(nimble): Enable address resolution across reboot

Closes BCI-374

See merge request espressif/esp-idf!28165
2024-01-03 20:02:30 +08:00
Xu Si Yu
13fa6c7af2 feat(ieee802154): Add ieee802154 CLI example 2024-01-03 19:05:16 +08:00
Harshit Malpani
e636c680a5 fix: Check memory allocation failures in protocol examples 2024-01-03 15:23:53 +05:30
morris
a532a648b1 Merge branch 'contrib/github_pr_12908' into 'master'
spi_lcd: add flag to control the DC level in cmd/param/data phase separately (GitHub PR)

Closes IDFGH-11813 and IDFGH-9249

See merge request espressif/esp-idf!28208
2024-01-03 17:21:57 +08:00
nilesh.kale
61af00289b fix(esp_hw_support): fix API esp_hmac_disable_jtag() to disable JTAG
After ets_hmac_disable(), invalidating JTAG register process is ineffective.
So, added call to enable hmac begore invalidating JTAG REG.
And similarly disabled it after invalidation.
2024-01-03 16:54:11 +08:00
Tomas Sebestik
6b7333e422 Merge branch 'update/precommit-version' into 'master'
ci(pre-commit-hooks): update commitlinter version to 1.6.0; add type "test: " to defaults

See merge request espressif/esp-idf!28219
2024-01-03 16:19:22 +08:00
Abhik Roy
0c99a58ff6 Merge branch 'lwip/acceptmbox_config' into 'master'
change(lwip): Added macro to configure TCP accept mailbox size

See merge request espressif/esp-idf!27276
2024-01-03 15:55:12 +08:00
Island
562b5795bd Merge branch 'bugfix/ble_coex_gattc_gatts' into 'master'
fix(bt/bluedroid): Update ble gattc gatts coex example

See merge request espressif/esp-idf!28098
2024-01-03 15:00:26 +08:00
Kit Sczudlo
c9c7cfcfc7 feat(spi_lcd): control DC level for cmd, param, color phase separately
Closes https://github.com/espressif/esp-idf/issues/10635
Merges https://github.com/espressif/esp-idf/pull/12908
2024-01-03 14:41:07 +08:00
zwl
370f4defb8 fix(ble): fixed rssi inaccuracy issue on ESP32-H2 2024-01-03 14:39:31 +08:00
xiaqilin
adda93b117 fix(ieee802154): fix the issue of not receiving packets when RSSI is positive in esp32h2 2024-01-03 14:39:31 +08:00
Rahul Tank
65a0627f0c fix(nimble): Enable address resolution across reboot 2024-01-03 14:35:56 +08:00
Liu Linyan
b55b661e6e Merge branch 'bugfix/ble_mesh_ci_fail' into 'master'
fix(ble_mesh): Fix CI compile failure

See merge request espressif/esp-idf!28233
2024-01-03 14:22:30 +08:00
Xu Si Yu
59e9374b67 Merge branch 'feature/add_ci_for_meshcop' into 'master'
feat(ci): add a case for openthread border router meshcop

See merge request espressif/esp-idf!28014
2024-01-03 11:23:24 +08:00
morris
7091a9a0e3 Merge branch 'docs/update_cn_trans_esp_http_client_external-ram' into 'master'
Docs: Updated cn trans for esp_http_client and external_ram

Closes DOC-6976

See merge request espressif/esp-idf!28212
2024-01-03 11:22:17 +08:00
Liu Linyan
3ae4203ce5 fix(ble_mesh): Fix CI compile failure 2024-01-03 10:56:10 +08:00
Island
4f49d8d7fa Merge branch 'feat/ble_mesh_miscellaneous_update' into 'master'
Feat/ble mesh miscellaneous update

Closes BLERP-308, BLERP-346, and BLERP-390

See merge request espressif/esp-idf!27936
2024-01-03 10:44:45 +08:00
Darian
0c3fdc4b3e Merge branch 'feature/usb_dwc_add_p4_soc_hal' into 'master'
USB Host: Add USB Host struct, config, and linker entries for P4 (1)

See merge request espressif/esp-idf!27931
2024-01-03 00:38:35 +08:00
Darian
64b3f0e337 Merge branch 'feature/freertos_idf_smp_changes_doc' into 'master'
Docs: Update IDF FreeRTOS 10.5.1 docs and add migration notes

Closes IDF-8532

See merge request espressif/esp-idf!27591
2024-01-03 00:35:55 +08:00
mofeifei
879429f342 docs: Update cn trans for freertos docs 2024-01-02 22:30:42 +08:00
Darian Leung
80157e5c5d docs(freertos/idf): Add IDF FreeRTOS upgarde migration notes for v5.2 2024-01-02 22:30:42 +08:00
Darian Leung
31b195d150 docs(freertos/idf): Update IDF FreeRTOS documentation
This commit updates the IDF FreeRTOS documentation as follows:

- Update terminology ("CPU" to "Core", "ESP-IDF FreeRTOS" to "IDF FreeRTOS")
- Fixed some inconsistent formatting
- Rearranged some sub sections
- Updated section regarding single-core mode to be coherent with v10.5.1 update.
2024-01-02 22:30:42 +08:00
Roland Dobai
39e68f87d6 Merge branch 'ci/pre_commit_sbom_validation' into 'master'
ci: add sbom validation using pre-commit's post-commit stage

Closes IDF-8946

See merge request espressif/esp-idf!28216
2024-01-02 20:57:54 +08:00
Tomáš Rohlínek
092f5aff29 feat(storage): Update build test rules for storage related components 2024-01-02 13:10:59 +01:00
Xu Si Yu
28ccaca00d feat(ci): add a case for openthread border router meshcop 2024-01-02 19:19:05 +08:00
Frantisek Hrbata
0f898539a0 ci: add sbom validation using pre-commit's post-commit stage
With 09ba070b7e ("fix: allow to use older pre-commit hook version")
and b93cc581a5 ("fix: set default pre-commit hook stages to pre-commit..")
we set the default pre-commit hook stage to commit/pre-commit, which avoids
running the pre-commit plugins/hooks multiple times for different stages.
Unfortunately this also affects "pre-commit run" used in CI and
now it runs only plugins which are by default using the
commit/pre-commit stage. Meaning the sbom validation, which uses
post-commit, is not run at all. This adds an explicit pre-commit command
for validate-sbom-manifest plugin, which needs to be started in
post-commit stage.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-01-02 10:47:11 +01:00
Darian
bc503f987f Merge branch 'refactor/usb_host_build_dependency_options' into 'master'
USB Host: Remove CONFIG_USB_OTG_SUPPORTED, build dependencies use SOC_USB_OTG_SUPPORTED instead

See merge request espressif/esp-idf!28097
2024-01-02 17:03:29 +08:00
Tomas Sebestik
d222c8a886 ci(pre-commit-hooks): update commitlinter version to 1.6.0 2024-01-02 10:00:14 +01:00
Jiang Jiang Jian
ada597103b Merge branch 'bugfix/wpa_ap_incompat_with_pmf_req' into 'master'
Report authmode incompatible WPA AP scanned and we require PMF

Closes WIFIBUG-358

See merge request espressif/esp-idf!28205
2024-01-02 16:39:51 +08:00
Fu Hanxi
d1f5497f43 test: fix lp_core config file name mismatch issue 2024-01-02 09:36:01 +01:00
mofeifei
009e6945aa docs: Updated cn trans for esp_http_client and external_ram 2024-01-02 16:06:03 +08:00
Jiang Jiang Jian
7537c4fcea Merge branch 'bigfix/BLEQABR23-503' into 'master'
fix(ble_mesh): reject node-reseting when provision link is active

See merge request espressif/esp-idf!25848
2024-01-02 15:37:42 +08:00
Wu Meng Shi
2f78a065bd fix(ble_mesh): reject node-reseting when provision link is active 2024-01-02 15:37:41 +08:00
Kevin (Lao Kaiyao)
18f7ce2bd6 Merge branch 'feature/esp_system_related_support_on_esp32c5' into 'master'
feat(esp32c5): add system related supports (stage 5/8)

See merge request espressif/esp-idf!27843
2024-01-02 14:55:00 +08:00
laokaiyao
a48f4760d2 feat(esp32c5): add system related supports 2024-01-02 11:17:11 +08:00
xueyunfei
f6575f7e3a Fix(lwip):bugfix for change default value for ip ttl 2024-01-02 11:00:41 +08:00
Darian Leung
2bb30e6493 refactor(usb): Deprecate CONFIG_USB_OTG_SUPPORTED, use SOC_USB_OTG_SUPPORTED instead
Previously, USB build dependencies used the CONFIG_USB_OTG_SUPPORTED. However,
they could depend on `soc_caps.h` instead.
2024-01-01 21:37:34 +08:00
Darian Leung
f671a6fbda feat(usb): Add USB peripheral addresses for P4 2024-01-01 21:34:02 +08:00
Roman Leonov
cdc0e78057 feat(soc/usb): Add ESP32-P4 USB OTG struct 2024-01-01 21:34:02 +08:00
jgujarathi
b35ab4e1df fix(esp_wifi): Report authmode incompatible WPA AP scanned and we require PMF
- Report the authmode incompatible if the scanned AP is in WPA mode and we require PMF
  according to sta config
2024-01-01 07:42:03 +05:30
Alex Lisitsyn
81aec7b929 Merge branch 'bugfix/fix_modbus_tcp_slave_examples_use_events' into 'master'
fix(examples/modbus): fix possible incorrect event processing in modbus slave examples

Closes IDFGH-11297

See merge request espressif/esp-idf!27957
2023-12-31 01:40:11 +08:00
Alex Lisitsyn
cd23451810 fix(examples/modbus): fix possible incorrect event processing in modbus slave examples 2023-12-31 01:40:10 +08:00
Wan Lei
bbe91fadbd Merge branch 'feature/esp_driver_ledc' into 'master'
feat(ledc): make esp_driver_ledc as component

See merge request espressif/esp-idf!28163
2023-12-29 21:15:55 +08:00
zhanghaipeng
216b9da33d fix(bt/bluedroid): Optimize ble remove all bonded devices function 2023-12-29 19:28:06 +08:00
Shu Chen
93d68c2e06 Merge branch 'bugfix/fix_ot_br_pcb_ttl' into 'master'
fix(openthread): update lib to set raw pcb ttl value

See merge request espressif/esp-idf!28190
2023-12-29 19:27:17 +08:00
Kevin (Lao Kaiyao)
83d5797967 Merge branch 'feature/parlio_rx_driver' into 'master'
driver: add parallel IO RX driver

Closes IDF-7002 and IDF-6984

See merge request espressif/esp-idf!23488
2023-12-29 16:36:24 +08:00
Xu Si Yu
8c5c612865 fix(openthread): update lib to set raw pcb ttl value 2023-12-29 15:25:40 +08:00
zhanghaipeng
96626cb110 fix(bt/bluedroid): Update ble ibeacon example document 2023-12-29 14:16:11 +08:00
Song Ruo Jing
1dfa4011f0 Merge branch 'feature/esp32p4_clock_support' into 'master'
feat(clk): add basic clock support for esp32p4

Closes IDF-7526 and IDF-7569

See merge request espressif/esp-idf!27950
2023-12-29 12:34:12 +08:00
zhanghaipeng
cfd84e654c fix(bt/bluedroid): Update ble gattc gatts coex example 2023-12-29 12:14:39 +08:00
Darian
1da17fce18 Merge branch 'refactor/rename_hal_usb_phy_to_fsls' into 'master'
USB HAL: Change name of usb_phy HAL files to usb_fsls_phy

See merge request espressif/esp-idf!28158
2023-12-29 11:42:11 +08:00
wanlei
82f26471f0 feat(ledc): make esp_driver_ledc as component 2023-12-29 11:28:19 +08:00
Jiang Jiang Jian
16ae218dfb Merge branch 'bugfix/fix_ble_app_unregister_no_event' into 'master'
fix(bt/bluedroid): Fix ble app unregister no event

Closes BLERP-402

See merge request espressif/esp-idf!28166
2023-12-29 11:08:08 +08:00
Jiang Jiang Jian
ece73357ca Merge branch 'bugfix/fix_beacon_was_unexpectedly_free_issue' into 'master'
fix(wifi): fix beacon was unexpectedly freed issue

Closes WIFIBUG-345, WIFIBUG-324, WIFIBUG-290, and WIFI-6372

See merge request espressif/esp-idf!28180
2023-12-29 10:51:38 +08:00
muhaidong
0b3c9aa54c fix(wifi): fix beacon was unexpectedly freed issue 2023-12-29 01:53:22 +08:00
Song Ruo Jing
7f2b85b82b feat(clk): add basic clock support for esp32p4
- Support CPU frequency 360MHz
- Support SOC ROOT clock source switch
- Support LP SLOW clock source switch
- Support clock calibration
2023-12-29 00:37:26 +08:00
Song Ruo Jing
80c5cf27e8 change(soc): correct esp32p4 regi2c related registers 2023-12-29 00:37:26 +08:00
Jiang Jiang Jian
5d8fb281e7 Merge branch 'bugfix/additional_authmode_incompatible' into 'master'
Cover additional situations for reporting new reason codes

Closes WIFIBUG-278

See merge request espressif/esp-idf!28156
2023-12-29 00:02:13 +08:00
Kapil Gupta
f0f9cb4917 Merge branch 'bugfix/add_disconnect_reason_codes_doc' into 'master'
Add documentation for ESP defined disconnect reasoncodes

See merge request espressif/esp-idf!27094
2023-12-28 21:01:51 +08:00
Kevin (Lao Kaiyao)
3db8116260 Merge branch 'change/update_esp32c5beta3_soc_hal_files' into 'master'
change(esp32c5): update soc files for esp32c5 beta3 (stage 4, part 2)

See merge request espressif/esp-idf!28108
2023-12-28 19:26:42 +08:00
jgujarathi
4b4095e47d fix(esp_wifi): Cover additional situations for reporting new reason codes
- WIFI_REASON_NO_AP_FOUND_W_COMPATIBLE_SECURITY will be reported for the following
  reasons
  -- AP has PMF required but station is not configured for pmf capable/required.
  -- Station has PMF required but AP is not configured for pmf capable/required.
  -- The AP is using unsupported group management/pairwise ciphers
  -- OWE not enabled by station for found OWE AP
  -- AP RSNXE parsing failed in supplicant
  -- AP is in Independent BSS mode
2023-12-28 15:40:54 +05:30
Kapil Gupta
14ee656993 docs(wifi): Add documentation for ESP defined disconnect reasoncodes 2023-12-28 15:23:29 +05:30
Rahul Tank
41f862d351 Merge branch 'bugfix/fix_gatts_stop_race_condition' into 'master'
fix(nimble): Handled race condition for conn variables being set to NULL

Closes BLERP-368

See merge request espressif/esp-idf!28026
2023-12-28 17:39:32 +08:00
zhanghaipeng
a2425ac3e7 fix(bt/bluedroid): Fix ble app unregister no event 2023-12-28 17:30:57 +08:00
Shu Chen
d064a49092 feat(openthread): add sbom manifest file 2023-12-28 16:47:35 +08:00
Shu Chen
eb42024b7d Merge branch 'feature/add_dynamic_iram_check_for_ot_sleep' into 'master'
feat(openthread): add dynamic iram check for ot sleepy example

See merge request espressif/esp-idf!28047
2023-12-28 11:53:15 +08:00
Darian Leung
d74b4f6730 refactor(hal/usb): Rename usb_fsls_phy API to match header/source names
Note: Also fixed some formatting issues in usb_wrap_struct.h
2023-12-28 11:48:54 +08:00
Darian Leung
b26472af29 refactor(hal/usb): Rename usb_phy files to usb_fsls_phy
This commit renames USB PHY related HAL files from "usb_phy_xxx" to
"usb_fsls_phy_xxx" since they are only designed to support Full-Speed/Low-Speed
Serial USB PHYs. This renmaing is done to accommodate future USB PHYs that use
other PHY interfaces (e.g., UTMI, ULPI etc).
2023-12-28 11:48:34 +08:00
laokaiyao
db7e90fef9 feat(parlio_rx): add parlio rx examples 2023-12-28 11:05:26 +08:00
laokaiyao
fcc9293f66 change(esp32c5): update soc files for esp32c5 beta3 2023-12-28 10:23:15 +08:00
Roland Dobai
cf43d60c63 Merge branch 'fix/pre_commit_backward_compatibility' into 'master'
fix: allow to use older pre-commit hook versions

Closes IDF-8903

See merge request espressif/esp-idf!28008
2023-12-27 22:53:36 +08:00
laokaiyao
95839eb1c6 docs(parlio_rx): add programming guide 2023-12-27 19:32:12 +08:00
laokaiyao
ce9110dbf0 feat(parlio_rx): add test for parlio rx driver 2023-12-27 19:32:12 +08:00
laokaiyao
04d267b023 feat(parlio_rx): implement parallel io rx driver 2023-12-27 19:32:12 +08:00
morris
188864bcbd feat(parlio_rx): add parallel IO RX driver 2023-12-27 19:32:11 +08:00
Shu Chen
f3039dde71 Merge branch 'fix/ot_frame_pointer_unstable' into 'master'
feat(802.15.4): introduce the feature of received done handler

See merge request espressif/esp-idf!27387
2023-12-27 16:56:58 +08:00
Jiang Jiang Jian
712e1b75d1 Merge branch 'bugfix/nan_crash_sched_bcn' into 'master'
Fix crash while stopping NAN

Closes WIFIBUG-330

See merge request espressif/esp-idf!28123
2023-12-27 16:30:16 +08:00
zwx
82478c87b7 fix(ieee802154): introduce a receive done handler feature 2023-12-27 14:33:16 +08:00
zwx
d0079778d7 feat(openthread): add dynamic iram check for ot sleepy example 2023-12-27 14:24:53 +08:00
zwx
8cae0ed755 fix(pm): fix extra retention function to iram
* Also remove unused function on H2
2023-12-27 14:24:53 +08:00
C.S.M
39882c30ae Merge branch 'bugfix/tsens_dis_ena' into 'master'
fix(temperature_sensor): Fix the value is incorrect if disable and enable again

Closes IDFGH-11766

See merge request espressif/esp-idf!28106
2023-12-27 12:38:05 +08:00
Kevin (Lao Kaiyao)
405006450b Merge branch 'bugfix/fix_i2s_cache_sych_alignment_on_p4' into 'master'
fix(i2s): fix cache sync alignment on p4

See merge request espressif/esp-idf!28138
2023-12-27 11:52:09 +08:00
Wang Meng Yang
4c8f6c5458 Merge branch 'feat/add_get_device_name_api' into 'master'
feat(bt/bluedroid): Added API to get local device name

Closes BT-3526

See merge request espressif/esp-idf!27667
2023-12-27 10:37:33 +08:00
Shyamal Khachane
47fc60db75 fix(esp_wifi): Fix crash while stopping NAN
Also fix inconsistent NAN macro values
2023-12-27 10:24:06 +08:00
Cao Sen Miao
3764b5ec0a fix(temperature_sensor): Fix the value is incorrect if disable and enable again
Closes https://github.com/espressif/esp-idf/issues/12864
2023-12-27 10:13:12 +08:00
C.S.M
eef9c4053c Merge branch 'feat/temperature_p4' into 'master'
feat(temperature_sensor): Add temperature sensor support on esp32p4

Closes IDF-7482 and IDF-7485

See merge request espressif/esp-idf!28075
2023-12-27 09:48:44 +08:00
laokaiyao
9daffacba6 fix(i2s): fix cache sync alignment on p4 2023-12-26 22:09:03 +08:00
Armando (Dou Yiwen)
22b9bc2708 Merge branch 'change/do_mpll_ldo_earlier' into 'master'
mpll: do mpll ldo init earlier

See merge request espressif/esp-idf!28104
2023-12-26 20:59:35 +08:00
Cao Sen Miao
ccc3f13efa fix(tsens): temp commit hello dfdfd dfafsdf fdfsdfs 2023-12-26 16:50:38 +08:00
Cao Sen Miao
439bc719fe feat(temperature_sensor): Add temperature sensor support on esp32p4 2023-12-26 16:45:20 +08:00
Armando
7e0f298608 change(psram): update doc about ldo 2023-12-26 11:43:33 +08:00
Armando
58d222e66c change(mpll): use fast write as reg is 8bit 2023-12-26 11:43:33 +08:00
Armando
71202c701f change(ldo): do vddpst ldo init in early stage 2023-12-26 11:43:33 +08:00
Omar Chebib
227c5d2cb7 Merge branch 'bugfix/freertos_task_noaffinity_print' into 'master'
fix(freertos): display tasks with no affinity as -1 during tracing

Closes IDFGH-11759

See merge request espressif/esp-idf!28073
2023-12-26 10:11:31 +08:00
Island
ee3a46dbc3 Merge branch 'bugfix/fixed_stop_periodic_adv_assert_issue_master' into 'master'
fixed(ble): fixed an assertion issue when stopping periodic adv on ESP32C6 and ESP32H2

Closes BLERP-377, BLERP-380, BLERP-381, and BLERP-369

See merge request espressif/esp-idf!28083
2023-12-25 18:31:16 +08:00
Kevin (Lao Kaiyao)
a0b29a5e4c Merge branch 'bugfix/fix_inverted_mclk_select_register' into 'master'
fix(i2s): fix no mclk output in i2s simplex mode on P4

See merge request espressif/esp-idf!28048
2023-12-25 12:44:00 +08:00
Mahavir Jain
341a8f2d65 Merge branch 'cleanup/atecc608a_example_migration' into 'master'
refactor: migrate atecc608a_ecdsa example to crypto authlib repository

Closes IDF-8541 and DOC-6672

See merge request espressif/esp-idf!27642
2023-12-22 20:09:05 +08:00
Jiang Jiang Jian
da4b3d5c80 Merge branch 'bugfix/fix_ble_phy_tx_ifs' into 'master'
fix(phy): Fix ble tx ifs time for ESP32

Closes IDFGH-11600, WIFI-6367, and WIFIBUG-219

See merge request espressif/esp-idf!28056
2023-12-22 19:44:50 +08:00
laokaiyao
3c9505ac64 fix(i2s): add rcc trick for some ll functions 2023-12-22 19:40:38 +08:00
Darian
244bffbc49 Merge branch 'refactor/usb_hal_ll_uses_ip_config' into 'master'
USB Host: Remove usage of old USB OTG IP config macros

See merge request espressif/esp-idf!28066
2023-12-22 19:22:53 +08:00
Island
011d8a309a Merge branch 'bugfix/fix_ble_prepare_write' into 'master'
Bugfix/fix ble prepare write

Closes BLERP-336

See merge request espressif/esp-idf!27831
2023-12-22 19:09:21 +08:00
Harshit Malpani
102fe3a522 fix(esp_http_client): Add test case in esp_http_client example
Add a test case in esp_http_client example to test HTTP_METHOD_HEAD
with async mode
2023-12-22 16:20:24 +05:30
jim
b0b6980421 mbedtls: Fix enable dynamic mbedtls will occur heap corruption when server support TLS renegotiation 2023-12-22 17:23:42 +08:00
laokaiyao
6b3a35eea4 fix(i2s): fix no mclk output in i2s simplex mode on P4 2023-12-22 16:14:13 +08:00
David Čermák
9614300f81 Merge branch 'lwip/ip6_debug_fix' into 'master'
fix(lwip): Fixed debug format, added ci test config

See merge request espressif/esp-idf!27133
2023-12-22 15:28:52 +08:00
zwl
54c4fd935c fixed(ble): fixed an assertion issue when stopping periodic adv on ESP32C6 and ESP32H2 2023-12-22 15:21:36 +08:00
Island
083fe84db7 Merge branch 'bugfix/ble_update_lib_20231219' into 'master'
update lib on master

Closes BLERP-371, BLERP-364, BLERP-363, BLERP-361, BLERP-349, BLERP-360, BLERP-350, BLERP-351, BLERP-352, BLERP-353, BLERP-354, BLERP-356, BLERP-357, BLERP-358, BLERP-359, BLERP-366, BLERP-376, and BLERP-378

See merge request espressif/esp-idf!27997
2023-12-22 14:57:15 +08:00
Mahavir Jain
c3f7a2f50d Merge branch 'contrib/github_pr_12813' into 'master'
fix(esp32): Fixed declaration issue (GitHub PR)

Closes IDFGH-11705 and IDFGH-11706

See merge request espressif/esp-idf!27969
2023-12-22 14:43:58 +08:00
Jiang Jiang Jian
dcd9891f82 Merge branch 'fix/btc_config_lock_error' into 'master'
fix(bt/bluedroid): fixed btc_config_lock error

Closes BT-3549

See merge request espressif/esp-idf!27933
2023-12-22 13:51:29 +08:00
Rahul Tank
6e066746b0 fix(nimble): Handled race condition for conn variables being set to NULL 2023-12-22 09:42:39 +05:30
Omar Chebib
1472343439 fix(freertos): display tasks with no affinity as -1 during tracing
Closes https://github.com/espressif/esp-idf/issues/12858
2023-12-22 12:11:30 +08:00
Rahul Tank
48ad3a50b6 Merge branch 'bugfix/periodic_adv_enh_fixes' into 'master'
fix(nimble): Added periodic_adv_enh soc_caps for c2, h2

Closes BLERP-318

See merge request espressif/esp-idf!27572
2023-12-22 12:08:46 +08:00
Wang Meng Yang
9393ccaf68 Merge branch 'bugfix/fix_establish_two_sco_fail' into 'master'
fix(bt/controller): Fixed establish two SCO connection failed

Closes BTQABR2023-146

See merge request espressif/esp-idf!27869
2023-12-22 11:52:42 +08:00
Anton Maklakov
503f3e819d Merge branch 'feature/breathe_faster' into 'master'
feat(docs): use a faster fork of breathe-doc/breathe

See merge request espressif/esp-idf!27961
2023-12-22 11:52:16 +08:00
Mahavir Jain
e691c8b43b Merge branch 'bugfix/support_all_http_status_codes' into 'master'
fix(esp_http_server): Add support for sending custom HTTP status

Closes IDFGH-11235

See merge request espressif/esp-idf!27419
2023-12-22 11:47:19 +08:00
Shang Zhou
b300c78864 docs: Update CN translation for esp_tls.rst, mqtt.rst, and peripherals.rst 2023-12-22 09:11:43 +05:30
Mahavir Jain
01f50ee7f5 refactor: migrate atecc608a_ecdsa example to crypto authlib repository
- ESP32-WROOM-32SE has been discontinued and marked as NRND
- This change removes all references to ESP32-WROOM-32SE from IDF
- The example has been migrated to esp-cryptoauthlib repository and it
  can be used through the component manager
  (https://components.espressif.com/components/espressif/esp-cryptoauthlib)
2023-12-22 09:11:41 +05:30
zhanghaipeng
b02c669370 fix(phy): Fix ble tx ifs time for ESP32 2023-12-22 11:38:16 +08:00
jim
14a9e01931 esp_http_client: Fix reset errno to 0 before call esp_transport_read
Closes https://github.com/espressif/esp-idf/issues/9020
2023-12-22 10:54:40 +08:00
Omar Chebib
f27d65c7bc Merge branch 'contrib/github_pr_12852' into 'master'
cmake: correct the parameter annotation of idf_build_set_property (GitHub PR)

Closes IDFGH-11752

See merge request espressif/esp-idf!28067
2023-12-22 10:41:24 +08:00
Armando (Dou Yiwen)
4ca2cd16d0 Merge branch 'feat/mpll_support_on_esp32p4' into 'master'
feat(mpll): supported mpll configure api

Closes IDF-8885

See merge request espressif/esp-idf!28009
2023-12-22 09:41:38 +08:00
Ivan Grokhotkov
763ba14885 feat(docs): use a faster fork of breathe-doc/breathe
See https://github.com/breathe-doc/breathe/discussions/962
2023-12-21 16:33:20 +01:00
Darian Leung
2ec0ee944d refactor(hal/usb): Remove usage of old USB OTG config macros 2023-12-21 21:52:46 +08:00
Guillaume Souchere
7f64b4203b Merge branch 'feat/heap-reset-heap-info' into 'master'
feat(heap): Allow tracking of minimum free size for a given time frame

Closes IDF-8782

See merge request espressif/esp-idf!27577
2023-12-21 19:22:40 +08:00
Augtons
a8ea638cde cmake: correct the parameter annotation of idf_build_set_property
The value parameter should be marked as [in] instead of [out], as it is used to set the property value, not to get it.
2023-12-21 18:30:57 +08:00
morris
b655a7aae4 Merge branch 'bugfix/dw_gdma_master_port_setting' into 'master'
fix(dw_gdma): wrong master port setting for destination

See merge request espressif/esp-idf!28045
2023-12-21 18:20:32 +08:00
Ivan Grokhotkov
7265febc31 Merge branch 'bugfix/macos_build_linux_target_misc' into 'master'
Misc fixes for IDF_TARGET=linux on macOS host

See merge request espressif/esp-idf!28015
2023-12-21 17:55:24 +08:00
Shu Chen
f0d10c8c81 Merge branch 'bugfix/fix_openthread_spi_slave_transaction' into 'master'
fix(openthread): fix openthread SPI tx timeout issue

See merge request espressif/esp-idf!27887
2023-12-21 16:53:29 +08:00
Armando
27b1e4dc87 feat(mpll): supported mpll configure ll api 2023-12-21 16:26:03 +08:00
Guillaume Souchere
bb9d5a8d51 feat(heap): Allow tracking of minimum free size for a given time frame
Implement a function to start tracking the minimum free size from the
moment the function is called.
Implement a function to stop tracking the minimum free size and restore
the minimum free size value calculated since startup.
Implement the tests related to this new feature.
2023-12-21 08:07:01 +01:00
morris
8863d0930e Merge branch 'bugfix/gdma_legacy_macro_back_again' into 'master'
fix(gdma): reserve the SOC_GDMA_PAIRS_PER_GROUP

Closes IDFGH-11688

See merge request espressif/esp-idf!27981
2023-12-21 14:52:58 +08:00
morris
21fa29fedf Merge branch 'docs/notes_in_sync_with_updown_mode' into 'master'
docs(mcpwm): add a note about setting sync phase in up down mode

Closes IDFGH-11670

See merge request espressif/esp-idf!27953
2023-12-21 13:36:55 +08:00
luoxu
39b1ee4c9a bugfix(ble_mesh): add duplicate scan config for esp32s3 2023-12-21 12:13:13 +08:00
Marius Vikhammer
8fe0f99368 change(system): enabled pthread, ringbuf and event tests 2023-12-21 11:09:42 +08:00
zhanghaipeng
ed036e0ebe fix(bt/bluedroid): Fix prepare write for BLE example 2023-12-21 10:59:26 +08:00
Gao Xu
243e3149f6 Merge branch 'bugfix/fix_adc_reset_issue_on_legacy' into 'master'
fix(adc): fix adc continuous get less results beacuse do not reset apb clk(legacy)

See merge request espressif/esp-idf!27772
2023-12-21 10:59:01 +08:00
zhanghaipeng
b693094ee8 fix(bt/bluedroid): Fix BLE prepare write 2023-12-21 10:53:38 +08:00
Jiang Jiang Jian
6720610c0f Merge branch 'bugfix/fix_ble_recorrect_enable_bug' into 'master'
fix(ble/controller): Fixed BLE recorrect enable bug and fixed BLE bb isr enable by default

Closes WIFIBUG-316

See merge request espressif/esp-idf!28006
2023-12-21 10:51:02 +08:00
morris
eeae70ddf3 fix(dw_gdma): wrong master port setting for destination 2023-12-21 10:41:27 +08:00
Marius Vikhammer
9f1d001849 Merge branch 'feat/cache_error_c6_h2' into 'master'
fix(panic): fixed cache error being reported as illegal instruction

Closes IDF-6398, IDF-5657, IDF-7015, and IDF-6733

See merge request espressif/esp-idf!27430
2023-12-21 10:32:06 +08:00
Marius Vikhammer
4f1570e904 Merge branch 'ci/fix_qemu_intr_tests' into 'master'
ci: fix flakey intr_dump tests in QEMU

Closes IDF-8899

See merge request espressif/esp-idf!27983
2023-12-21 10:25:06 +08:00
David Čermák
4a2af43535 Merge branch 'fix/docs_update_proto_p4' into 'master'
docs(network): Update network/proto API refs and guides for ESP32P4

Closes IDF-7764

See merge request espressif/esp-idf!27589
2023-12-21 00:55:40 +08:00
David Cermak
e3a02d78c8 docs(network): Update network/proto API refs and guides for ESP32P4 2023-12-20 23:07:35 +08:00
Mahavir Jain
d3afab15bd Merge branch 'update/update_certs_bundle' into 'master'
Update esp_crt_bundle certificates

See merge request espressif/esp-idf!27932
2023-12-20 20:36:23 +08:00
Harshit Malpani
ae71e1ddb9 fix(esp_http_server): Add support for custom HTTP status codes
Closes https://github.com/espressif/esp-idf/issues/12399
2023-12-20 16:59:38 +05:30
Guillaume Souchere
0d6b84c939 Merge branch 'fix/heap-trace-hash-map-remove' into 'master'
fix(heap): prevent double traversal of hashmap in map_find_and_remove

Closes IDFGH-11713

See merge request espressif/esp-idf!27985
2023-12-20 18:53:39 +08:00
Anton Maklakov
46f9c85974 Merge branch 'ci/different_cache_key_for_idf_ver' into 'master'
ci: differnet cache key for different idf ver

See merge request espressif/esp-idf!28005
2023-12-20 17:39:30 +08:00
schottj
7b10d02201 fix(app_update): fixed undeclared variable 'ret' in esp_ota_ops.c 2023-12-20 14:58:06 +05:30
Mo Fei Fei
3140fcadf2 Merge branch 'docs/update_cn_trans_usb-serial-jtag-console' into 'master'
docs: Update cn trans for use-serial-jtag-console

Closes DOC-6815

See merge request espressif/esp-idf!28004
2023-12-20 16:42:09 +08:00
Song Ruo Jing
d7b3bf0b69 Merge branch 'fix/esp32p4_gpio_pins' into 'master'
change(gpio): esp32p4 available pins are GPIO0 ~ GPIO54

Closes IDF-7735

See merge request espressif/esp-idf!28016
2023-12-20 16:39:21 +08:00
Mahavir Jain
7fc9b09c34 fix(cmake): for embedded data length use .long attribute
For Linux builds if the embedded data length exceeded 16-bit value then
the build used to fail with following error:

build/x509_crt_bundle.S: Assembler messages:
build/x509_crt_bundle.S:4201: Warning: value 0x1056e truncated to 0x56e

GNU ASM for X86 systems treats .word attribute as of size 2 bytes, this commit
uses .long attribute to take the size to 4 bytes.
2023-12-20 13:59:19 +05:30
Abhik Roy
01797231f9 fix(lwip): Fixed debug format, added ci test config
* Update submodule: git log --oneline 542ba299..f5c43549

Detailed description of the changes:
  - lwip_debug: Fixed string format error in ip6 and napt (espressif/esp-lwip@f5c43549)
  - dns: fix init with only ipv4 enabled (espressif/esp-lwip@5aab73d7)
2023-12-20 18:52:16 +11:00
Shu Chen
d7b9a3b3da Merge branch 'fix/allow_bind_no_index_netif' into 'master'
fix(openthread): allow setting netif_idx of udp pcb to no_index

See merge request espressif/esp-idf!28010
2023-12-20 15:09:50 +08:00
Roshan Bangar
473f2bdd1e fix(nimble): Added periodic_adv_enh soc_caps for c2, h2 2023-12-20 12:20:11 +05:30
mofeifei
07d0266c88 docs: Update cn trans for use-serial-jtag-console 2023-12-20 14:08:27 +08:00
Rahul Tank
f4c74d8b74 Merge branch 'feat/add_csa_selection_vsc' into 'master'
feat(nimble): Add VSC support for setting chan select algo

Closes BLERP-342

See merge request espressif/esp-idf!27942
2023-12-20 14:04:20 +08:00
Laukik Hase
c93bce28ed Merge branch 'contrib/github_pr_12570' into 'master'
Add check prov mgr is stopped (GitHub PR)

Closes IDFGH-11433

See merge request espressif/esp-idf!28003
2023-12-20 14:02:06 +08:00
luoxu
63a7db457a feat(ble_mesh): Miscellaneous updates for mesh kconfig, relay related 2023-12-20 12:20:26 +08:00
Song Ruo Jing
f244dc693d Merge branch 'feature/esp32p4_regi2c_support' into 'master'
feat(regi2c): support regi2c for esp32p4

Closes IDF-8825

See merge request espressif/esp-idf!28011
2023-12-20 11:43:36 +08:00
Song Ruo Jing
20f6505aa6 change(gpio): esp32p4 available pins are GPIO0 ~ GPIO54 2023-12-20 11:23:32 +08:00
Marius Vikhammer
1606d60c07 Merge branch 'ci/enable_bootloader_sup_tests' into 'master'
change(bootloader-support): enable tests for P4 and QEMU

Closes QEMU-149 and IDF-8114

See merge request espressif/esp-idf!28018
2023-12-20 10:59:47 +08:00
morris
8ebddc207f Merge branch 'feature/mipi_dsi_hal_driver' into 'master'
feat(dsi): add mipi dsi hal+ll layer driver

See merge request espressif/esp-idf!27555
2023-12-20 10:17:12 +08:00
C.S.M
eb7f6e5725 Merge branch 'fix/ci_flash_counter' into 'master'
fix(spi_flash): Fix spi_flash counter test on CI

See merge request espressif/esp-idf!27965
2023-12-20 09:56:19 +08:00
Marius Vikhammer
5b36225162 change(bootloader): enable tests for P4 and QEMU 2023-12-20 09:27:18 +08:00
Ivan Grokhotkov
c90b6c18c9 fix(linux): define __assert_func for IDF_TARGET=linux on macOS 2023-12-19 23:01:00 +01:00
Ivan Grokhotkov
b56bb7d8e4 fix(cmake): don't emit section directive when embedding files on host 2023-12-19 23:00:48 +01:00
Ivan Grokhotkov
6f9038809a fix(esp_netif): move endian.h to linux component, fix macOS build
Co-authored-by: Radek Tandler <radek.tandler@espressif.com>
2023-12-19 23:00:48 +01:00
Ivan Grokhotkov
1bd417ad68 fix(cmake): don't add Clang flags not supported in Apple toolchain 2023-12-19 23:00:48 +01:00
Ivan Grokhotkov
7f171f01b1 Merge branch 'bugfix/ignore_build_warnings_local' into 'master'
fix(idf-build-apps): make ignore_build_warnings.txt usable locally

See merge request espressif/esp-idf!27881
2023-12-20 05:59:08 +08:00
Ivan Grokhotkov
0f8d4fa2b4 Merge branch 'bugfix/macos_build_linux_target_transport_tls_http_server' into 'master'
fix(linux): fix several components failing to build with IDF_TARGET=linux on macOS

See merge request espressif/esp-idf!27883
2023-12-20 05:58:29 +08:00
Guillaume Souchere
eb3507a5a2 fix(heap): prevent double traversal of hashmap in map_find_and_remove
Remove the use of SLIST_REMOVE in map_find_and_remove to prevent the hashmap
list to be traversed twice in the function.

Closes https://github.com/espressif/esp-idf/issues/12820
2023-12-19 18:02:08 +01:00
Ivan Grokhotkov
7b8f69404f feat(linux): provide getrandom implementation for macOS
This makes getrandom(2) usable when compiling with IDF_TARGET=linux
on a macOS host.
2023-12-19 15:11:32 +01:00
Chen Yudong
77597f7ac8 ci: do not upload caches for dev branches by default 2023-12-19 20:36:55 +08:00
Ivan Grokhotkov
a596ca56a8 fix(mbedtls): fix -Wstrict-prototypes warning when compiling on Linux 2023-12-19 13:29:15 +01:00
Ivan Grokhotkov
8bf23e5372 fix(esp-tls): fix build for IDF_TARGET=linux on macOS 2023-12-19 13:28:59 +01:00
Ivan Grokhotkov
49f289f893 fix(esp_http_server): fix build for IDF_TARGET=linux on macOS 2023-12-19 13:28:59 +01:00
Ivan Grokhotkov
3a340b385f Merge branch 'feature/qemu_lcd' into 'master'
feat(qemu): add a CLI option for graphics output

See merge request espressif/esp-idf!27874
2023-12-19 20:07:29 +08:00
Fu Zhibo
4149148fa2 feat(regi2c): support regi2c for esp32p4 2023-12-19 19:22:51 +08:00
Xu Si Yu
edb0063953 fix(openthread): allow setting netif_idx of udp pcb to no_index 2023-12-19 18:43:51 +08:00
Tomas Rohlinek
88cc473910 Merge branch 'docs/fatfs_link_lock' into 'master'
Docs(storage/fatfs): Add documentation for FATFS_LINK_LOCK Kconfig option

Closes IDF-8739

See merge request espressif/esp-idf!27472
2023-12-19 18:37:52 +08:00
zhiweijian
8dc646a9b3 fix(ble/controller): Fixed BLE recorrect enable bug and fixed BLE bb isr enable by default 2023-12-19 17:27:30 +08:00
Frantisek Hrbata
09ba070b7e fix: allow to use older pre-commit hook version
With b93cc581a5 ("fix: set default pre-commit hook stages to pre-commit..")
a dependency on pre-commit 3.3 was added. As it turned out, there are
people still using e.g. 2.16 version and this change is causing problems.

1. The minimum_pre_commit_version is checked after the config is parsed.
   Meaning if there is a problem in the config file, like unknown
   pre-commit for default_stages, pre-commit exits with an error not
   suggesting that it should be updated.
2. "pre-commit" was added in 3.2 for consistency with git hook names and
   we can use "commit" instead avoiding dependency on newer pre-commit.
   For more info please see [1] and [2].
3. default_install_hook_types[4] were added in 2.18.0[3]. This was IMHO actually
   a nice feature to have in our .pre-commit-config.yaml, because it
   specifies which hooks should be installed when pre-commit install is
   executed. Meaning it's not necessary to list the stages explicitly with the -t
   options. Anyway we haven't used this feature till now, so it
   hopefully should not be a problem if we remove it again.

With this change we can still avoid to start pre-commit plugins multiple
times for different stages, but also make it compatible with older
versions(2.16).

[1] https://github.com/pre-commit/pre-commit/issues/2732
[2] https://github.com/pre-commit/pre-commit/pull/2808
[3] https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md#2180---2022-04-02
[4] https://pre-commit.com/#top_level-default_install_hook_types

Fixes: b93cc581a5 ("fix: set default pre-commit hook stages to pre-commit..")
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-19 10:01:43 +01:00
Chen Yudong
ff015d1872 ci: differnet cache key for different idf ver
update caches on release tags and nightly schedules
2023-12-19 16:56:53 +08:00
monoliths
55acf50c48 feat(wifi_prov): Add API for checking whether the provisioning state machine is idle 2023-12-19 14:09:14 +05:30
Roland Dobai
539425ff99 Merge branch 'feature/doc_update_idf_file_args_plus_idftoolspath_setup' into 'master'
feat(tools): Documentation update about setting IDF_TOOLS_PATH and idf.py argument file parsing

Closes IDF-8527 and IDFGH-11401

See merge request espressif/esp-idf!27080
2023-12-19 16:32:58 +08:00
mofeifei
7d627a1c5e docs: Update cn trans for fatfs.rst 2023-12-19 08:46:20 +01:00
Armando (Dou Yiwen)
3cd7fb6321 Merge branch 'change/remove_idf_env_bringup_macro_on_p4' into 'master'
p4: disable CONFIG_IDF_ENV_BRINGUP config

See merge request espressif/esp-idf!27623
2023-12-19 15:37:40 +08:00
Tomáš Rohlínek
577af7d6ef docs(storage/fatfs): Refactor FatFs documentation 2023-12-19 08:11:05 +01:00
Tomáš Rohlínek
eea16b18db docs(storage/fatfs): Document the new fatfs_link_lock Kconfig option 2023-12-19 08:11:02 +01:00
Espressif BOT
8f0f7f007c change(mbedtls/crt_bundle): Update esp_crt_bundle certificates 2023-12-19 14:40:56 +08:00
cjin
71901499b9 change(ble): added ble cca en and thresh option 2023-12-19 14:38:44 +08:00
luomanruo
0504b60b7a ble: support for selecting CSA#2 by menuconfig
ble(fix): fixed event receiving on host side without returning event buffer to pool
2023-12-19 14:38:22 +08:00
Guillaume Souchere
b2cc934b94 fix(heap): Fix the use of block owner macro
In heap_caps_get_info, update the use of block owner
macros to use MULTI_HEAP_BLOCK_OWNER_SIZE() instead of
MULTI_HEAP_ADD_BLOCK_OWNER_SIZE(0).
2023-12-19 07:10:37 +01:00
Jiang Jiang Jian
73de93d55e Merge branch 'bugfix/wait_tvsl_after_non_pd_top_lightsleep_for_esp32c6' into 'master'
fix(esp_hw_support/sleep): wait flash ready after non-pd_top lightsleep for esp32c6

Closes IDF-6930

See merge request espressif/esp-idf!27726
2023-12-19 14:01:45 +08:00
luomanruo
573e13c569 ble(update):
Update c2 lib to 7c6c9d53
Update h2 lib to 0ecb36f0
Update c6 lib to 0ecb36f0
2023-12-19 12:25:08 +08:00
morris
44e856703c feat(dsi): add mipi dsi hal+ll layer driver 2023-12-19 11:39:59 +08:00
chenjianhua
bc98ff414f feat(bt/bluedroid): Make the max number of bond device to be configurable 2023-12-19 11:38:01 +08:00
Mahavir Jain
e4aa5667f1 Merge branch 'feat/flash_enc_encrypt_app_image_of_size_image_length' into 'master'
feat(bootloader_support): Encrypt only the app image instead of the whole partition

Closes IDFGH-11439

See merge request espressif/esp-idf!27295
2023-12-19 11:36:56 +08:00
Lou Tian Hao
fedb3d9f9d Merge branch 'change/change_regdma_power_issue_macro' into 'master'
change(pm): change name SOC_PM_RETENTION_HAS_REGDMA_POWER_BUG

Closes PM-45

See merge request espressif/esp-idf!27934
2023-12-19 11:19:51 +08:00
Anton Maklakov
2a37c53258 Merge branch 'fix/sbom_validation_post_commit' into 'master'
fix: do sbom manifest validation in post-commit

Closes IDF-8897

See merge request espressif/esp-idf!27975
2023-12-19 10:37:03 +08:00
Marius Vikhammer
c4f2abbfd3 fix(interrupts): fixed flakey intr dump test 2023-12-19 10:36:04 +08:00
Marius Vikhammer
0e2bd068be feat(console): added config option for console task affinity 2023-12-19 10:35:14 +08:00
Armando
12c092fbef change(p4): remove CONFIG_IDF_ENV_BRINGUP on p4 2023-12-19 09:30:59 +08:00
Armando (Dou Yiwen)
8c9e29898f Merge branch 'bringup/psram_p4_real_chip' into 'master'
psram: p4 psram 20M on real chip

See merge request espressif/esp-idf!27710
2023-12-18 21:12:08 +08:00
Wu Zheng Hui
8d165aa767 Merge branch 'bugfix/clear_lp_sw_trigger_int_before_sleep' into 'master'
fix(ulp): add api to get lp_cpu wakeup cause and clear wakeup source at startup

Closes IDFGH-11526

See merge request espressif/esp-idf!27747
2023-12-18 20:20:02 +08:00
Rahul Tank
df796b3ed9 feat(nimble): Add VSC support for setting chan select algo 2023-12-18 17:46:52 +05:30
wuzhenghui
5351275c87 change(esp_hw_support/sleep): rename ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY
1. Rename ESP_SLEEP_DEEP_SLEEP_WAKEUP_DELAY to ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY
2. Set ESP_SLEEP_WAIT_FLASH_READY_EXTRA_DELAY visible for all targets
2023-12-18 19:56:56 +08:00
harshal.patil
42943845e4 feat(bootloader_support): Encrypt only the app image instead of the whole partition
Currently, when flash encryption is enabled, the whole partition gets encrypted.
This can be optimised by encrypting only the app image instead of encrypting the whole partition.

Closes https://github.com/espressif/esp-idf/issues/12576
2023-12-18 17:10:17 +05:30
harshal.patil
cb169cb02f fix(bootloader_support): Fix image_length calculation when secure boot v1 is enabled
Fixed the value of the image_length field of the image metadata populated by esp_image_verfiy()
to include the size of the signature sector when Secure Boot V1 is enabled.
2023-12-18 17:08:11 +05:30
Xu Si Yu
fdf5783951 Merge branch 'bugfix/154_coex_break_notify' into 'master'
fix(coex): 802.15.4 coex break notification

See merge request espressif/esp-idf!27458
2023-12-18 19:32:39 +08:00
Aditya Patwardhan
21e1a48a62 Merge branch 'bugfix/esp_srp_doc' into 'master'
fix(esp_srp): Use `@file` for file documentation and resolved few doc build warnings

Closes IDF-8737

See merge request espressif/esp-idf!27411
2023-12-18 19:31:05 +08:00
Song Ruo Jing
0e759c6deb Merge branch 'refactor/esp_driver_uart' into 'master'
refactor(uart): make uart driver as component

Closes IDF-8384

See merge request espressif/esp-idf!27333
2023-12-18 19:16:34 +08:00
Cao Sen Miao
e7dd6bbcdf fix(spi_flash): Fix spi_flash counter test on CI 2023-12-18 19:03:30 +08:00
Rahul Tank
84ccc37b92 Merge branch 'feature/hogp_example_support' into 'master'
feat(nimble): Added HID over Gatt Profile Support

Closes BT-3456, BT-3493, and BT-3480

See merge request espressif/esp-idf!25072
2023-12-18 19:01:11 +08:00
Ivan Grokhotkov
d9983c0039 feat(qemu): add a CLI option for graphics output 2023-12-18 11:47:15 +01:00
C.S.M
f61cc56e1e Merge branch 'feature/introduce_jpeg_hal' into 'master'
feature(jpeg): Introduce JPEG hal layer

See merge request espressif/esp-idf!27900
2023-12-18 18:45:53 +08:00
Darian
459422f75f Merge branch 'refactor/usb_dwc_soc_and_hal' into 'master'
USB Host: Fix and Refactor struct headers

See merge request espressif/esp-idf!27850
2023-12-18 18:12:40 +08:00
morris
b00f5dd340 fix(gdma): reserve the SOC_GDMA_PAIRS_PER_GROUP
Closes https://github.com/espressif/esp-idf/issues/12798
2023-12-18 17:02:10 +08:00
Shu Chen
ff89cf5018 Merge branch 'fix/join_mcast_group_using_null_netif' into 'master'
fix(openthread): add netif check when call udp api for ot

Closes TZ-484

See merge request espressif/esp-idf!27915
2023-12-18 15:56:14 +08:00
Frantisek Hrbata
01fed1a52e fix: do sbom manifest validation in post-commit
Following commit c3afbebf23 ("fix: bump esp-idf-sbom to v0.13.0 in pre-commit"),
the validation of submodule hash now relies solely on the information recorded
in the git-tree. Previously, the hash verification used submodule's
working tree hash if available. Since the new submodule hash is recorded
in git-tree only after the commit is created, we need to move the check
into post-commit, otherwise the hash validation checks the old value.

For example:

1. in .gitmodules

	[submodule "components/json/cJSON"]
	   sbom-hash = cb8693b058ba302f4829ec6d03f609ac6f848546

2. update the cJSON

	$ git -C components/json/cJSON checkout b45f48e600671feade0b6bd65d1c69de7899f2be

3. update cJSON hash in .gitmodules

	[submodule "components/json/cJSON"]
	   sbom-hash = b45f48e600671feade0b6bd65d1c69de7899f2be

4. commit the changes

	$ git commit -a -s

Step 4. will fail, because the validation is currently started in pre-commit stage,
where the hash for cJSON recorded in git-tree is still
cb8693b058ba302f4829ec6d03f609ac6f848546. The new hash b45f48e600671feade0b6bd65d1c69de7899f2be
will be stored in git-tree after the new commit is created.

Note that this means we cannot prevent the commit creation, but only
notify user about the hash inconsistency. If he/she still decides to
push it, it will fail in pre-commit checks in CI.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-18 08:48:57 +01:00
Shu Chen
eaf4fb9424 Merge branch 'fix/ot_netif_destroy_order_issue' into 'master'
fix(openthread): fix ot netif destroy netif order issue

See merge request espressif/esp-idf!27955
2023-12-18 15:38:30 +08:00
Shu Chen
45f95e3317 Merge branch 'bugfix/ieee802154_deinit' into 'master'
fix(ieee802154): fix ieee802154 deinit

See merge request espressif/esp-idf!27502
2023-12-18 15:26:42 +08:00
Armando
92e19af4ea doc(psram): updated voltage supply for psram programming guide 2023-12-18 15:18:07 +08:00
Armando
8e9d90f603 feature(esp_psram): p4 real chip 20M 2023-12-18 15:18:07 +08:00
Mahavir Jain
56241f00b8 Merge branch 'feat/support_sha_256_in_http_auth' into 'master'
feat(esp_http_client): SHA256 support in digest auth

Closes IDFGH-11217

See merge request espressif/esp-idf!26585
2023-12-18 15:08:40 +08:00
Cao Sen Miao
40e882afae feature(jpeg): Introduce JPEG hal layer 2023-12-18 12:03:17 +08:00
Jiang Jiang Jian
31ede5b09d Merge branch 'bugfix/update_phylib_to_20231212' into 'master'
fix(phy): Fix Bluetooth coexist bug on ESP32

Closes BT-3487 and BT-3538

See merge request espressif/esp-idf!27905
2023-12-18 11:35:08 +08:00
wuzhenghui
a967a207c9 feat(ulp): add api to get lp_cpu wakeup cause and clear wakeup source at startup
Closes https://github.com/espressif/esp-idf/issues/12651
2023-12-18 11:29:53 +08:00
linruihao
fa3474496d fix(bt/controller): Fixed establish two sco connections failed 2023-12-18 11:26:06 +08:00
Shu Chen
b5160123b8 Merge branch 'feature/add_154_report' into 'master'
feat(ieee802154): add tx/rx report for IEEE802.15.4 debug

Closes ZB-105

See merge request espressif/esp-idf!26424
2023-12-18 10:43:15 +08:00
Adam Múdry
c0ea99220a Merge branch 'fix/move_nvs_partition_generator_to_pypi_package' into 'master'
fix(tools): replace nvs_partition_gen.py with new esp-idf-nvs-partition-gen package

Closes IDF-8147 and IDF-1958

See merge request espressif/esp-idf!26758
2023-12-18 09:13:38 +08:00
Darian Leung
d00aaf8648 refactor(soc/host): Update USB OTG struct fields
This commit updates the "*_struct.h" files for the USB OTG peripheral:

- Added/removed some missing/non-existing register fields
- Added "reserved" place holders for registers that are missing due to IP
configuration.
- Added "usb_dwc_cfg.h" listing the USB OTG IP configuration for each target.
- Updated LL/HAL according to register field updates. Also tidied up the include
directives in those headers.
2023-12-17 00:36:10 +08:00
Darian Leung
14d81fda18 refactor(hal/usb): Fix USB OTG compilation dependency
Update "hal/CMakeLists.txt" so that USB OTG related HAL files depend on
the "SOC_USB_OTG_SUPPORTED" capability.
2023-12-17 00:36:10 +08:00
Roshan Bangar
96ed1ae7a7 feat(nimble): added HID over Gatt profile support 2023-12-16 17:42:49 +05:30
Rahul Tank
204c194ce2 Merge branch 'bugfix/handle_all_zero_bdaddr' into 'master'
fix(nimble): Handle all 0s address of external controllers during IRK generation

See merge request espressif/esp-idf!27913
2023-12-16 19:55:25 +08:00
Sonika Rathi
12e7e3f1a2 Merge branch 'update/sdmmc_test_app' into 'master'
fix(sdmmc): Migrate erase/trim test cases from unit-test-app to component-test-app

See merge request espressif/esp-idf!26799
2023-12-15 23:50:08 +08:00
Roland Dobai
03827dfd8b Merge branch 'contrib/github_pr_12780' into 'master'
Fixed Python path case sensitive error on Windows (GitHub PR)

Closes IDFGH-11667 and IDFGH-11666

See merge request espressif/esp-idf!27896
2023-12-15 20:28:26 +08:00
Shang Zhou
c1e3440352 docs: Update CN translation for idf-py.rst and linux-macos-setup.rst 2023-12-15 11:50:38 +00:00
Marek Fiala
c8e218c0ae docs(tools): Add example and resctriction note to setting IDF_TOOLS_PATH
Closes https://github.com/espressif/esp-idf/issues/12539
2023-12-15 11:50:38 +00:00
Marek Fiala
9757c8f7c9 docs(tools): Add idf.py file argument parsing to idf.py doc 2023-12-15 11:50:38 +00:00
Jin Cheng
a3f68aef8a feat(bt/bluedroid): Added API to get local device name 2023-12-15 19:30:12 +08:00
Roland Dobai
25fcb2de2d Merge branch 'fix/pre_commit_stages' into 'master'
fix: set default pre-commit hook stages to pre-commit only

Closes IDF-8882

See merge request espressif/esp-idf!27926
2023-12-15 19:07:49 +08:00
zwx
6bec6a5b41 fix(openthread): fix ot netif destroy netif order issue 2023-12-15 18:35:34 +08:00
morris
0bc94b3210 Merge branch 'refactor/async_mcp_non_cacheable_descriptor' into 'master'
feat(async_mcp): access DMA descriptor bypass cache

See merge request espressif/esp-idf!27809
2023-12-15 18:30:54 +08:00
Abhik Roy
0c41c4e1da change(lwip): Added macro to configure TCP accept mailbox size 2023-12-15 21:11:44 +11:00
Paul Guyot
336c0946fa Add missing configuration for DEFAULT_ACCEPTMBOX_SIZE (fix #12509)
Signed-off-by: Paul Guyot <pguyot@kallisys.net>
2023-12-15 21:04:26 +11:00
morris
4318f2dc22 docs(mcpwm): add a note about setting sync phase in up down mode
Closes https://github.com/espressif/esp-idf/issues/12782
2023-12-15 17:39:22 +08:00
Song Ruo Jing
bc09031496 refactor(uart_vfs): Move uart implementation of vfs to esp_driver_uart
Deprecated esp_vfs_dev_uart_xxx APIs
vfs_uart test case moved to esp_driver_uart test_apps
Astyle fixed for uart_vfs
2023-12-15 17:14:55 +08:00
Jakob Hasse
b4865acd90 Merge branch 'refactor/move_shared_stack_test_to_esp_system' into 'master'
refactor(esp_system): moved shared stack tests from newlib to esp_system

See merge request espressif/esp-idf!27790
2023-12-15 17:06:27 +08:00
Song Ruo Jing
ef281dff5a fix(esp_driver_uart): always use heap_caps_malloc to malloc memory base on flags 2023-12-15 17:03:58 +08:00
Song Ruo Jing
6ad80f0332 refactor(uart): make uart driver as component, and fix astyle 2023-12-15 17:03:51 +08:00
Aditya Patwardhan
62a0b52a91 Merge branch 'feat/add_ble_support_in_local_ctrl_example' into 'master'
feat(examples): Add BLE support in the esp_local_ctrl example

Closes IDFGH-1491

See merge request espressif/esp-idf!27432
2023-12-15 16:32:37 +08:00
zwx
d4d860742d fix(openthread): fix openthread SPI tx timeout issue 2023-12-15 16:32:26 +08:00
Darian
dbb687b9e9 Merge branch 'refactor/usb_enable_formatting' into 'master'
USB Host: Enable pre-commit astyle formatting

See merge request espressif/esp-idf!27917
2023-12-15 16:24:21 +08:00
dyarkovoy
1cc04d062c fix(tools): Fixed Python path case sensitive error on Windows
Closes https://github.com/espressif/esp-idf/issues/12779
Closes https://github.com/espressif/esp-idf/pull/12780
2023-12-15 08:01:29 +00:00
Lou Tianhao
d8b1f7207a change(pm): change macro SOC_PM_RETENTION_HAS_REGDMA_POWER_BUG 2023-12-15 15:04:06 +08:00
jgujarathi
40adf0bfcd fix(esp_wifi): Correct wifi lib docs for esp_wifi_crypto_types.h
- Wifi lib changes for docs of some APIs in esp_wifi_crypto_types.h
2023-12-15 12:28:18 +05:30
Wan Lei
936cab8e1c Merge branch 'fix/i2s_multi_dev_test_fix' into 'master'
fix(i2s): multi_dev test update to use non_boot_ctrl gpio

See merge request espressif/esp-idf!27873
2023-12-15 14:58:18 +08:00
Vikram Dattu
3d40b17576 fix(docs): fixed doxygen warnings in few headers
- non-matching arguments in `i2c_types.h` and `esp_wifi_crypto_types.h`
 - Fixed unended `@cond` macro in `esp_err.h`
2023-12-15 12:28:18 +05:30
Vikram Dattu
ec1057a05a fix(esp_srp): Use @file for file documentation and missing doc
Using @brief for file description wrongly associates the documentation to an API.
Correct way to add file description is to use `@file` and then `@brief`. Corrected the same.

- Also added missing doc for esp_srp_handle_t
2023-12-15 12:28:17 +05:30
Rahul Tank
3c6144046b fix(nimble): Handle all 0s address of external controllers during IRK generation 2023-12-15 11:39:41 +05:30
Harshit Malpani
8dcdcc5831 feat: Update esp_http_client example
Added test case in esp_http_client example to test digest auth
with SHA-256 algorithm
2023-12-15 11:32:57 +05:30
Harshit Malpani
803ad150cf feat(esp_http_client): SHA256 support in digest auth
Added support for using SHA256 algorithm while calculating
digest auth in HTTP client connection

Closes https://github.com/espressif/esp-idf/issues/12383
2023-12-15 11:32:57 +05:30
Rahul Tank
5ec9f498bc Merge branch 'bugfix/add_peer_null_check' into 'master'
fix(nimble): Added NULL peer addr check

Closes BLERP-322

See merge request espressif/esp-idf!27624
2023-12-15 13:44:45 +08:00
harshal.patil
fd637d5be7 feat(examples): Add BLE support in the esp_local_ctrl example 2023-12-15 11:10:26 +05:30
harshal.patil
fd012bf2c4 fix(examples): Fix encoding issue in esp_local_ctrl's proto script 2023-12-15 11:10:26 +05:30
Armando (Dou Yiwen)
30a0d847f3 Merge branch 'feature/esp32p4_base_ldo_support' into 'master'
ldo: new ldo driver on P4

Closes IDF-8808

See merge request espressif/esp-idf!27728
2023-12-15 12:31:17 +08:00
morris
d875d021e1 Merge branch 'feature/gdma_etm_esp32p4' into 'master'
feat(gdma): support ETM sub-driver on esp32p4

See merge request espressif/esp-idf!27719
2023-12-15 12:24:06 +08:00
Zhang Wen Xu
d5cd130469 Merge branch 'fix/spi_slave_thread_debug' into 'master'
fix(spi_slave): correct param check for trans APIs

See merge request espressif/esp-idf!27407
2023-12-15 12:08:54 +08:00
Jiang Jiang Jian
34ee34707b Merge branch 'bugfix/fix_beacon_eb_memory_leak_issue' into 'master'
fix(wifi): fix beacon eb memory leak issue

Closes WIFIBUG-322 and WIFIBUG-323

See merge request espressif/esp-idf!27923
2023-12-15 12:04:55 +08:00
Jiang Jiang Jian
6b02d3baaf Merge branch 'bugfix/When_psram_is_enable_the_number_of_ooseq_is_not_limited' into 'master'
optimize(lwip):when psram is enable the number of ooseq is not limited

See merge request espressif/esp-idf!27886
2023-12-15 11:59:41 +08:00
gongyantao
d5e5cd0237 fix(bt/bluedroid): fixed btc_config_lock error 2023-12-15 11:03:29 +08:00
C.S.M
3140fa2121 Merge branch 'bugfix/flash_enc_write_ram' into 'master'
fix(spi_flash): Fix that internal RAM has no enough space to put all stuff inside

See merge request espressif/esp-idf!27434
2023-12-15 10:56:16 +08:00
C.S.M
77c49cf3e2 Merge branch 'refactor/esp_driver_i2c' into 'master'
refactor(i2c): Make i2c  driver as a seperate component

See merge request espressif/esp-idf!27860
2023-12-15 10:48:33 +08:00
Marius Vikhammer
f496c6a72b Merge branch 'ci/disable_wdt_qemu' into 'master'
ci(qemu): disable WDT when running qemu tests

See merge request espressif/esp-idf!27854
2023-12-15 10:43:02 +08:00
Darian Leung
d7b83bfd3b refactor(usb/host): reformat code with astyle_py 2023-12-15 04:44:02 +08:00
Frantisek Hrbata
b93cc581a5 fix: set default pre-commit hook stages to pre-commit only
If pre-commit hook does not specify stage[1], neither in
.pre-commit-config.yaml nor in .pre-commit-hooks.yaml, it's started for every
installed pre-commit hook. Limit the default stages to pre-commit only by default.

This also sets the default_install_hook_types and
minimum_pre_commit_version and sets conventional-precommit-linter to
v1.4.1.

[1] https://pre-commit.com/#confining-hooks-to-run-at-certain-stages

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-14 15:12:18 +01:00
wanlei
25c17da4bb fix(spi_slave): correct param check for trans APIs 2023-12-14 12:57:02 +00:00
Xue yun fei
8da974aef4 optimize(lwip):when psram is enable the number of ooseq is not limited 2023-12-14 12:39:44 +00:00
Harshit Malpani
3e22e0b750 Merge branch 'contrib/github_pr_12796' into 'master'
fix(esp_http_client): correct the typo in the error log string (GitHub PR)

Closes IDFGH-11686

See merge request espressif/esp-idf!27904
2023-12-14 20:14:21 +08:00
Martin Vychodil
a6ad55823b Merge branch 'docs/update_esp_vfs_notes' into 'master'
docs(vfs): update esp_vfs_register_fd api description

See merge request espressif/esp-idf!27265
2023-12-14 19:54:59 +08:00
Mahavir Jain
8ef201be80 Merge branch 'bugfix/fix_partition_table_gen' into 'master'
fix(partition_table): Check partition size for type APP

See merge request espressif/esp-idf!26755
2023-12-14 18:41:52 +08:00
Harshit Malpani
760e92946c Merge branch 'contrib/github_pr_12500' into 'master'
change(components/esp_http_server): add task_caps configuration (GitHub PR)

Closes IDFGH-11351

See merge request espressif/esp-idf!27621
2023-12-14 18:30:41 +08:00
muhaidong
c5ea7510bc fix(wifi): fix beacon eb memory leak issue 2023-12-14 17:57:51 +08:00
Jiang Jiang Jian
0340043e59 Merge branch 'bugfix/fix_memory_leak_in_c3_s3_controller' into 'master'
Fixed memory leak in ESP32C3 and ESP32S3 controller

Closes BT-3516

See merge request espressif/esp-idf!27890
2023-12-14 17:52:47 +08:00
Cao Sen Miao
a5a29882ef fix(spi_flash): Fix that internal RAM has no enough space to put all stuff inside 2023-12-14 17:05:59 +08:00
Wan Lei
cc10aca7ac Merge branch 'fix/spi_lcd_example_fix_border_pixel_display' into 'master'
fix(spi_master): fixed lcd example block border pixel issue

Closes IDF-8858

See merge request espressif/esp-idf!27902
2023-12-14 17:00:28 +08:00
wuzhenghui
7de2728733 fix(esp_hw_support/sleep): wait flash ready after non-pd_top lightsleep for esp32c6 2023-12-14 08:57:06 +00:00
zwx
e1a414a864 fix(openthread): add netif check when call udp api for ot 2023-12-14 16:45:38 +08:00
Cao Sen Miao
aa10770323 refactor(i2c): Make i2c driver as a seperate component 2023-12-14 15:39:35 +08:00
Rahul Tank
d852a5273d fix(nimble): Added NULL peer addr check 2023-12-14 12:50:15 +05:30
linruihao
3d09287738 fix(phy): Fix Bluetooth coexist bug on ESP32 2023-12-14 14:35:06 +08:00
Armando
9143a9dc90 feature(ldo): ldo driver 2023-12-14 12:46:51 +08:00
Xu Si Yu
6cef08c03d feat(ieee802154): add tx/rx report for IEEE802.15.4 debug 2023-12-14 12:29:57 +08:00
Island
45198988b0 Merge branch 'bugfix/fix_ble_gattc_deregister' into 'master'
fix(bt/bluedroid): Fix ble gattc deregister

Closes BLERP-321

See merge request espressif/esp-idf!27622
2023-12-14 12:26:27 +08:00
Wang Meng Yang
7a45809b4f Merge branch 'bugfix/crash_in_btc_hf_init' into 'master'
fix(bt/bluedroid): Added dynamic memory allocation for HFP control blocks

Closes BT-3498, BT-3505, BT-3524, COEXQABR24-4, COEXQABR24-16, COEXQABR24-17, and BTQABR2023-112

See merge request espressif/esp-idf!27211
2023-12-14 12:23:55 +08:00
wanlei
09147fa8e0 fix(spi_master): fixed lcd example block border pixel issue 2023-12-14 12:18:10 +08:00
Shang Zhou
af6964da1c Merge branch 'docs/update_cn_trans_for_26918' into 'master'
docs: Update CN translation for security.rst

Closes DOC-6684

See merge request espressif/esp-idf!27671
2023-12-14 12:15:50 +08:00
Xu Si Yu
58992e2bc0 Merge branch 'feature/update_openthread_dc6bf36' into 'master'
feat(openthread): modification of uart and spi spinel based on openthread 41ef807

See merge request espressif/esp-idf!27390
2023-12-14 12:10:40 +08:00
zwx
48f1c2601e feat(ieee802154): rf enable and disable refactor 2023-12-14 10:58:57 +08:00
xiaqilin
04aa61717c fix(ieee802154): fix ieee802154 mac deinit and config ieee802154_enable 2023-12-14 10:47:56 +08:00
Shang Zhou
e26118d1c0 docs: Update CN translation for security.rst 2023-12-14 10:40:16 +08:00
Jiang Jiang Jian
80c2bd3d7c Merge branch 'bugfix/put_extra_link_retention_in_iram' into 'master'
fix(pm): place extra link opt in iram

Closes PM-30

See merge request espressif/esp-idf!27625
2023-12-14 10:28:34 +08:00
Shinichi Tanaka
c5cb67d49c fix(esp_http_client): correct the typo in the error log string
Corrected the module name in the error log.
("https_ota" to "http_client")
2023-12-14 09:21:24 +09:00
Roland Dobai
e1e44970e5 Merge branch 'fix/bump_precommit_esp_idf_sbom' into 'master'
fix: bump esp-idf-sbom to v0.13.0 in pre-commit

Closes IDF-8850

See merge request espressif/esp-idf!27868
2023-12-13 20:15:35 +08:00
linruihao
b0bd1f38f8 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(9129dec) 2023-12-13 19:26:49 +08:00
Marius Vikhammer
852fbce397 ci(qemu): disable WDT when running qemu tests
WDTs are flakey in QEMU, disable while testing for now to
stop spurious test failures.
2023-12-13 18:47:26 +08:00
Tomas Rezucha
f8080b2457 Merge branch 'fix/usb_binterval_parsing' into 'master'
fix(usb/host): Correctly parse wMaxPacketSize and bInterval fields in HighSpeed EP descriptors

See merge request espressif/esp-idf!27395
2023-12-13 17:28:45 +08:00
Konstantin Kondrashov
e2b537550d Merge branch 'feature/improve_cmake_msg' into 'master'
feat(tools): Improves a cmake message for updating git submodules

See merge request espressif/esp-idf!27859
2023-12-13 16:50:21 +08:00
Jakob Hasse
1c606941ed Merge branch 'contrib/github_pr_12436' into 'master'
feature(console): add command user context support (GitHub PR)

Closes IDFGH-11280

See merge request espressif/esp-idf!27240
2023-12-13 16:36:54 +08:00
Ivan Grokhotkov
358ed7fed9 fix(idf-build-apps): make ignore_build_warnings.txt usable locally 2023-12-13 15:05:25 +08:00
Alon Bar-Lev
af79fe0495 change(components/esp_http_server): add task_caps configuration
The HTTP server is not a critical component, it would be nice if we can
control the task caps by using configuration.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Signed-off-by: Harshit Malpani <harshit.malpani@espressif.com>
2023-12-13 12:26:59 +05:30
Mahavir Jain
1b822573b6 Merge branch 'feat/make_verify_signature_block_function_public' into 'master'
feat(bootloader_support): Make `esp_secure_boot_verify_sbv2_signature_block()` function public

Closes IDFGH-11599

See merge request espressif/esp-idf!27742
2023-12-13 11:43:33 +08:00
wanlei
1a51f07a98 fix(i2s): multi_dev test update to use non_boot_ctrl gpio 2023-12-13 11:28:58 +08:00
Jiang Jiang Jian
45c5962b1e Merge branch 'feat/add_channel_change_event' into 'master'
feat(wifi): add wifi channel change event

Closes IDFGH-11400

See merge request espressif/esp-idf!27520
2023-12-13 10:41:54 +08:00
Alon Bar-Lev
bccb2873bd feat(console): add command user context support
Current implementation implicitly forces the developer to use global variables
to enter its context during the command invocation, this change enables each
module to register a context for command to find without the need to manage
global variables.

No API breakage.

Fields added:
   esp_console_cmd_t::func_w_context    - (*)(int argc, char **argv, void *context)

Functions added:
   esp_err_t esp_console_cmd_set_context(const char *cmd, void *context)

Usage:

   esp_console_cmd_register(&cmd));
   esp_console_cmd_set_context(cmd.command, (void *)"context"));

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2023-12-13 10:27:04 +08:00
Tomas Rezucha
e32b7b060c fix(usb/host): Correctly parse bInterval field in HighSpeed EP descriptors
For LS and FS interrupt endpoint: interval = bInterval
For isochronous and HS interrupt endpoint: interval = 2^(bInterval-1)
2023-12-12 21:10:43 +01:00
Tomas Rezucha
c2660ce7c6 fix(usb/host): Correctly parse MPS fields in HighSpeed EP descriptors
Bits [11,12] in HighSpeed periodic endpoints specify
the number of additional transaction opportunities per microframe
2023-12-12 21:10:37 +01:00
Darian
142218c2eb Merge branch 'contrib/github_pr_11575' into 'master'
feat(system): add esp_backtrace_print_all_tasks function (GitHub PR)

Closes IDFGH-10315 and IDFGH-10538

See merge request espressif/esp-idf!24974
2023-12-13 01:07:04 +08:00
Chip Weinberger
3686689a2a feat(esp_system): Add esp_backtrace_print_all_tasks()
This commit adds esp_backtrace_print_all_tasks() which prints the backtraces
of all tasks at runtime.

Closes https://github.com/espressif/esp-idf/issues/9708
CLoses https://github.com/espressif/esp-idf/pull/11575

[Omar Chebib: Prevent task switching while printing backtraces of tasks.]
[Omar Chebib: Ensure all task stacks are flushed from register to RAM.]
[Omar Chebib: Removed esp_task_snapshot_to_backtrace_frame() as task snapshot is private API.]
[Omar Chebib: Added test case for esp_backtrace_print_all_tasks().]

Signed-off-by: Omar Chebib <omar.chebib@espressif.com>
2023-12-12 19:54:17 +08:00
Frantisek Hrbata
c3afbebf23 fix: bump esp-idf-sbom to v0.13.0 in pre-commit
v0.13.0 contains fix for the submodule hash validation. Let's
bump its version in pre-commit, so the fix is used.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-12 12:26:34 +01:00
Jin Cheng
e1a5122dbc Merge branch 'fix/build_error_in_compiler_performance_mode' into 'master'
fix(bt/bluedroid): fixed build error when compiler in performace mode

Closes IDFGH-11637

See merge request espressif/esp-idf!27816
2023-12-12 18:56:42 +08:00
Roland Dobai
efaa0f0d1b Merge branch 'tools/remove_log_line_of_recommended_tool' into 'master'
fix(idf_tools): Do not display the log containing the info about the tool that is being used as recommended

See merge request espressif/esp-idf!27855
2023-12-12 16:59:13 +08:00
C.S.M
980780c2c5 Merge branch 'bugfix/bod_threshold' into 'master'
fix(bod): Fix BOD threshold value on ESP32H2

See merge request espressif/esp-idf!27760
2023-12-12 16:17:42 +08:00
KonstantinKondrashov
8001fabfbe feat(tools): Improves a cmake message for updating git submodules
Closes https://github.com/espressif/esp-idf/issues/12776
2023-12-12 16:00:04 +08:00
gongyantao
f303fa0174 fix(bt/bluedroid): fixed build error when compiler in performace mode
Closes https://github.com/espressif/esp-idf/issues/12751
2023-12-12 15:00:45 +08:00
morris
02cc74a676 Merge branch 'feature/dwgdma_driver' into 'master'
feat(dw_gdma): channel allocator driver

Closes IDF-7085 and IDF-7498

See merge request espressif/esp-idf!27421
2023-12-12 14:21:57 +08:00
Xu Si Yu
e88dc25226 feat(openthread): modification of uart and spi spinel based on openthread 41ef807 2023-12-12 14:12:16 +08:00
Aleksei Apaseev
8be8b34d23 fix(idf_tools): Do not print the log about the version of the tool 2023-12-12 11:54:30 +08:00
Mahavir Jain
0281aa844b Merge branch 'bugfix/change_block_num_to_burn_keys' into 'master'
fix(hal/testapps): fix block number to burn keys to avoid overlapping

See merge request espressif/esp-idf!25611
2023-12-12 11:49:35 +08:00
morris
bf00021b37 feat(dw_gdma): channel allocator driver 2023-12-12 03:35:05 +00:00
Xu Si Yu
b2a32c5b3f fix(coex): 802.15.4 coex break notification 2023-12-12 11:08:52 +08:00
Roland Dobai
558392b998 Merge branch 'feature/vulnerability_scan' into 'master'
feat: use esp-idf-sbom-action for vulnerability scan

Closes IDF-8805 and IDF-5187

See merge request espressif/esp-idf!27688
2023-12-11 21:57:05 +08:00
harshal.patil
fe293dfd83 feat(bootloader_support): Make esp_secure_boot_verify_sbv2_signature_block() function public
Closes https://github.com/espressif/esp-idf/issues/12717
2023-12-11 18:50:55 +05:30
Tomáš Rohlínek
c276c36dfe feat(storage/nvs_flash): add dependencies to nvs_flash test apps 2023-12-11 13:10:54 +01:00
zhangyanjiao
40d7cd8b68 feat(wifi): add wifi channel change event
Closes https://github.com/espressif/esp-idf/issues/12538
2023-12-11 19:07:11 +08:00
Roland Dobai
a4c80b5fce Merge branch 'bugfix/coredump_detect' into 'master'
tools: idf.py: fix detection of raw core dump file

Closes IDFGH-9491

See merge request espressif/esp-idf!23434
2023-12-11 17:49:22 +08:00
Cao Sen Miao
b77b17efd2 fix(bod): Fix BOD threshold value on ESP32H2 2023-12-11 16:41:52 +08:00
Armando (Dou Yiwen)
b914f25b53 Merge branch 'doc/revert_8_bit_ddr_emmc_support_doc' into 'master'
Revert "doc(sdmmc): update emmc states"

See merge request espressif/esp-idf!27815
2023-12-11 15:33:39 +08:00
Shang Zhou
09ea179864 Merge branch 'docs/sync_up_en_and_cn_nov' into 'master'
docs: Sync up CN and EN versions for files under api-guides and api-references (Nov)

Closes DOC-6664

See merge request espressif/esp-idf!27721
2023-12-11 14:53:06 +08:00
Shang Zhou
740981078f docs: Sync up CN and EN versions for files under api-guides and api-references (Nov) 2023-12-11 14:53:05 +08:00
Jakob Hasse
874d10ce11 refactor(esp_system): moved shared stack tests from newlib to here 2023-12-11 14:20:55 +08:00
Marius Vikhammer
79d04d4e14 Merge branch 'docs/update_sys_docs_p4' into 'master'
docs(esp32p4): update misc docs for esp32p4

Closes IDF-7751, IDF-7754, and IDF-7749

See merge request espressif/esp-idf!27713
2023-12-11 14:14:35 +08:00
Harshit Malpani
bbbede07d0 fix(partition_table): Check partition size for type APP
The size of partition of type APP should be multiple of 4 KB. Partition
generation tool now make this as a mandatory requirement. This is
minimum flash erase size. If the size of the APP type partition is not
aligned to 4 KB then the last erase operation could go beyond the allocated
partition and hence may fail. This issue would only be observed when the
firmware size grows very close to the allocated partition size, and hence
causing the OTA update to fail.

For already deployed devices on-field with the size of APP partition not
aligned to flash sector boundary, it is best to ensure that firmware
size always remains within the lower 4 KB boundary of the total
allocated space. While migrating to ESP-IDF 5.3 release, partition table
for an existing project can be adjusted accordingly for the build to
succeed.

Found during discussion in https://github.com/espressif/esp-idf/pull/12460
2023-12-11 10:14:57 +05:30
Armando
b3cc39cfd8 Revert "doc(sdmmc): update emmc states"
This reverts commit 77299842ed.
2023-12-11 11:47:00 +08:00
Aditya Patwardhan
7c738c0658 Merge branch 'fix/esp_https_server_breaking_change' into 'master'
fix(esp_https_server): Fix a breaking change

See merge request espressif/esp-idf!27146
2023-12-11 11:46:29 +08:00
Island
e5b77d7b8a Merge branch 'bugfix/ble_update_lib_20231201' into 'master'
update lib on master

Closes BLERP-302

See merge request espressif/esp-idf!27585
2023-12-11 11:33:42 +08:00
Zhang Xiao Yan
bba48f1e1e Merge branch 'docs/add_cn_trans_for_bootloader_image_format_and_random.rst' into 'master'
docs: Provide Chinese translation for bootloader_image_format, log, random, and internal-unstable.rst

Closes DOC-6419

See merge request espressif/esp-idf!26224
2023-12-11 11:02:31 +08:00
Jiang Jiang Jian
e60bc50ba4 Merge branch 'bugfix/fix_esp32h2_system_retention_restore' into 'master'
fix(esp_hw_support): fix esp32h2 retention link restore override the cpu clk configuration

Closes PM-29

See merge request espressif/esp-idf!27317
2023-12-11 11:01:55 +08:00
Jiang Jiang Jian
291c7a6506 Merge branch 'bugfix/fix_esp32c6eco1_depends_on_wifi_pwr_domain' into 'master'
fix(esp_hw_support): fix ble on esp32c6eco1 depends on wifipwr clock domain

Closes PM-34, BLERP-325, and BLERP-326

See merge request espressif/esp-idf!27412
2023-12-11 10:56:16 +08:00
Aditya Patwardhan
56879510a5 fix(esp_https_server): Fix a breaking change
HTTPD_SSL_CONFIG_DEFAULT used to be a MACRO and hence used to return
    a const pointer. With a recent change it started not returning a
    const variable. This change reverts the function to its MACRO form.
    Updated the https_server example to use static declration
2023-12-11 08:05:10 +05:30
morris
987174c203 feat(async_mcp): access DMA descriptor bypass cache 2023-12-10 15:19:27 +08:00
Kevin (Lao Kaiyao)
692c1fcc52 Merge branch 'refactor/remove_redundant_config_in_i2s_ll' into 'master'
refactor(dac): remove redundant ll config for dac mode

Closes IDFGH-11625

See merge request espressif/esp-idf!27732
2023-12-09 22:00:33 +08:00
laokaiyao
e88d528b81 refactor(dac): remove redundant ll config for dac mode
Closes https://github.com/espressif/esp-idf/issues/12741
2023-12-09 20:14:54 +08:00
Kevin (Lao Kaiyao)
e05bf6b223 Merge branch 'feature/support_g0_components_on_c5' into 'master'
feat(esp32c5): support esp32c5 g0 components (stage 4/8)

See merge request espressif/esp-idf!27711
2023-12-09 19:54:43 +08:00
Marius Vikhammer
ac3915f092 docs(esp32p4): update misc docs for esp32p4 2023-12-09 09:09:55 +08:00
Radek Tandler
cb66d6f6fa Merge branch 'feature/storage_nvs_find_key' into 'master'
feat(nvs_flash): Added function nvs_find_key

Closes IDFGH-10963

See merge request espressif/esp-idf!26498
2023-12-09 02:08:11 +08:00
David Čermák
c008a515b3 Merge branch 'fix/esp_netif_test_depends_pattern' into 'master'
fix(esp_netif): Update test-apps dependency patterns

Closes IDF-8393

See merge request espressif/esp-idf!27682
2023-12-09 00:18:49 +08:00
radek.tandler
8740888967 feat(nvs_flash): Added function nvs_find_key
Closes https://github.com/espressif/esp-idf/issues/12155
2023-12-08 17:12:00 +01:00
Radek Tandler
12011d2057 Merge branch 'bugfix/fatfs_fatfsparse_relaxed' into 'master'
bugfix(fatfs): Fixed fatfsparse.py parses FAT boot sector too strictly

See merge request espressif/esp-idf!26888
2023-12-08 23:48:25 +08:00
David Cermak
a1e92d3b34 fix(esp_netif): Update test-apps dependency patterns 2023-12-08 14:03:37 +00:00
Jiang Jiang Jian
64a9cd5c80 Merge branch 'feat/support_dump_ack_csi' into 'master'
feat(wifi): support dump 802.11 ACK frame for CSI

Closes WIFI-5992

See merge request espressif/esp-idf!27735
2023-12-08 19:43:11 +08:00
Jiang Jiang Jian
c9c147f5d5 Merge branch 'bugfix/fix_ble_clear_white_list' into 'master'
Fixed add(remove) RPA to(from) white list on ESP32C3(65db61f)

Closes BLERP-329 and BLERP-330

See merge request espressif/esp-idf!27741
2023-12-08 19:06:55 +08:00
renpeiying
cf03d6341e docs: Provide Chinese translation for bootloader_image_format, log, random, and internal-unstable.rst 2023-12-08 17:01:36 +08:00
Roland Dobai
b486466339 Merge branch 'monitor_custom_reset' into 'master'
docs(tools/monitor): custom reset sequence from esptool

See merge request espressif/esp-idf!26834
2023-12-08 16:00:24 +08:00
laokaiyao
2b44d62e43 feat(esp32c5): support esp32c5 g0 components 2023-12-08 15:12:24 +08:00
gaoxu
dc36237915 fix(adc): fix adc continuous get less results beacuse do not reset apb clk(legacy) 2023-12-08 15:10:41 +08:00
Wu Zheng Hui
8eee6529dd Merge branch 'bugfix/fix_rtc_us_to_cycle_div_zero_in_deepsleep' into 'master'
fix(esp_hw_support/sleep): fix rtc_time_us_to_slowclk div zero in deepsleep process

Closes IDFGH-11574

See merge request espressif/esp-idf!27590
2023-12-08 13:57:01 +08:00
chenjianhua
7c56f21981 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(65db61f)
- Fixed remove and clear white list
2023-12-08 13:37:09 +08:00
Anton Maklakov
9f0da8b6ed Merge branch 'ci/upload_pipeline_env_fil_into_minio' into 'master'
ci: Upload a report about modified files and components to s3 bucket

See merge request espressif/esp-idf!27758
2023-12-08 12:35:00 +08:00
morris
5d5f3e7844 Merge branch 'feature/systimer_etm_esp32p4' into 'master'
feat(systimer): remaining work on esp32p4

Closes IDF-8797

See merge request espressif/esp-idf!27745
2023-12-08 11:39:50 +08:00
Aleksei Apaseev
239fb0fc3f Merge branch 'tools/use_recommended_tool_priority' into 'master'
fix (idf_tools): Opt for the recommended tool in tools.json rather than the supported one

See merge request espressif/esp-idf!27592
2023-12-08 11:10:06 +08:00
Aleksei Apaseev
e97826e877 ci: Upload report about modified files and components to s3 bucket 2023-12-08 10:49:17 +08:00
Aleksei Apaseev
0219e8e85d fix(idf_tools): Opt for the recommended tool in tools.json rather than the supported one 2023-12-08 10:14:19 +08:00
Igor Udot
f0607f6d3b Merge branch 'fix/unity_tester' into 'master'
refactor: changed logic of unity_tester

See merge request espressif/esp-idf!25767
2023-12-08 09:48:51 +08:00
Fu Hanxi
b5c0293541 Merge branch 'ci/run_pytest_build_system_win_only_with_label_or_schedule' into 'master'
ci: run pytest_build_system_win only with labels and schedule pipeline

See merge request espressif/esp-idf!27744
2023-12-07 22:56:15 +08:00
Peter Dragun
5085763984 fix(tools): idf.py: fix detection of raw core dump file
When idf.py coredump-debug is launched with '--core' argument, it
tries to determine the file format (raw, elf, b64). To detect the
'raw' core dump the code checked if the version word matched one of
the known values.
However, the version word also contains the chip ID in the high
half-word, so the check failed for anything other than the ESP32.
The detection of core file format has been moved to esp-coredump
package in version 1.9.0, including the fix for chip ID.

Reported in https://github.com/espressif/esp-idf/issues/10852
2023-12-07 13:48:04 +01:00
morris
e96491fb1f feat(systimer): support ETM on esp32p4 2023-12-07 18:46:24 +08:00
Fu Hanxi
d3858b493d ci: run pytest_build_system_win only with labels and schedule pipeline 2023-12-07 11:15:55 +01:00
Erhan Kurubas
892315292b Merge branch 'save_twdt_to_coredump' into 'master'
feat(coredump): save twdt panic output to coredump elf file

Closes IDF-908

See merge request espressif/esp-idf!27024
2023-12-07 17:47:58 +08:00
Ivan Grokhotkov
840b2d52f9 Merge branch 'feature/qemu-esp-develop-8.1.3-20231206' into 'master'
feat(tools): update qemu to esp-develop-8.1.3-20231206

See merge request espressif/esp-idf!27699
2023-12-07 17:39:36 +08:00
nilesh.kale
36ab1c681c fix(hal/testapps): fix block number to burn keys to avoid overlapping 2023-12-07 14:47:26 +05:30
daiziyan
17dfe49416 docs: provide CN trans for idf-monitor 2023-12-07 10:06:36 +01:00
Peter Dragun
0022803ed6 docs(tools/monitor): custom reset sequence from esptool 2023-12-07 10:06:24 +01:00
Frantisek Hrbata
5ec411679b feat: use esp-idf-sbom-action for vulnerability scan
This adds a github action, which performs continuous vulnerability
scanning using the esp-idf-sbom-action github action. The test
is scheduled everyday at midnight and it's also possible to start
it as dispatched workflow. This scans all possible manifest files
in repository. The references for scanning are defined in github's
VULNERABILITY_SCAN_REFS variable and a json list. For example
['master', 'release/v5.2', 'release/v5.1', 'release/v5.0', 'release/v4.4']

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-07 10:03:54 +01:00
Island
9bdcfa672f Merge branch 'bugfix/fix_ble_adv_scan_status' into 'master'
fix(bt/bluedroid): Fix ble adv and scan status when deinit bluedroid

Closes BLERP-324

See merge request espressif/esp-idf!27636
2023-12-07 16:25:37 +08:00
Island
fecd858fd5 Merge branch 'bugfix/fix_ble_robost_cashing' into 'master'
fix(bt/bluedroid): Fix BLE robost cashing config

See merge request espressif/esp-idf!27665
2023-12-07 16:25:34 +08:00
Jiang Jiang Jian
1cbc44fc28 Merge branch 'bugfix/connect_after_scan' into 'master'
fix(conn): Change second connect delay time to 730ms

See merge request espressif/esp-idf!27031
2023-12-07 15:52:34 +08:00
wuzhenghui
e1d24ebd7f fix(esp_hw_support/sleep): fix rtc_time_us_to_slowclk div zero in deepsleep process
Closes https://github.com/espressif/esp-idf/issues/12695
2023-12-07 07:50:32 +00:00
wuzhenghui
5280ef4924 fix(esp_hw_support): fix ble on esp32c6eco1 depends on wifipwr clock domain 2023-12-07 14:02:04 +08:00
alanmaxwell
571c99bda2 feat(wifi): support dump 802.11 ACK frame for CSI 2023-12-07 11:51:32 +08:00
zhanghaipeng
305bb1a146 fix(bt/bluedroid): Fix ble gattc deregister 2023-12-07 11:21:13 +08:00
Ivan Grokhotkov
918c0ce4ac feat(tools): update qemu to esp-develop-8.1.3-20231206
https://github.com/espressif/qemu/releases/tag/esp-develop-8.1.3-20231206
2023-12-07 10:54:29 +08:00
Roland Dobai
fb7ffb5112 Merge branch 'feat/manifest_check' into 'master'
feat: use esp-idf-sbom pre-commit plugin

Closes IDF-8794

See merge request espressif/esp-idf!27718
2023-12-07 02:41:47 +08:00
Sudeep Mohanty
356b77ce84 Merge branch 'contrib/github_pr_12461' into 'master'
Enables VERSION argument for project() macro in cmake

Closes IDFGH-11310

See merge request espressif/esp-idf!27369
2023-12-06 20:57:17 +08:00
Rahul Tank
6b361bdb05 Merge branch 'bugfix/fix_sm_inject_return_value' into 'master'
fix(nimble): Added change to return success for API execution

Closes BLERP-315

See merge request espressif/esp-idf!27556
2023-12-06 20:48:20 +08:00
Shu Chen
5f643c06e0 Merge branch 'bugfix/clean_thread_zigbee_related_yml' into 'master'
fix(thread/zigbee): Cleanup build-test-rules.yml

Closes IDF-5553

See merge request espressif/esp-idf!27415
2023-12-06 20:38:52 +08:00
Jiang Jiang Jian
3f442497fa Merge branch 'bugfix/fix_disconnected_abnormal_sleep' into 'master'
fix(wifi): fix disconnected abnormal sleep

Closes WIFIBUG-261

See merge request espressif/esp-idf!27469
2023-12-06 20:09:02 +08:00
Wan Lei
63b349aa6f Merge branch 'refactor/spi_common_and_hal_refact_dma_ll' into 'master'
Refactor/replace dma ll in spi hal layer (part1)

See merge request espressif/esp-idf!26130
2023-12-06 18:59:10 +08:00
sonika.rathi
8e0ce2fda4 fix(sdmmc): remove the legacy test cases from 'components/sdmmc/test' 2023-12-06 11:14:20 +01:00
sonika.rathi
1b35373e01 fix(sdmmc): add pytest script to component test app 2023-12-06 11:14:20 +01:00
sonika.rathi
a7a0245d8e fix(sdmmc): Migrate erase/trim test cases from unit-test-app to component-test-app 2023-12-06 11:07:33 +01:00
morris
a7577f88bd feat(gdma): support ETM subsystem on esp32p4 2023-12-06 18:02:43 +08:00
Frantisek Hrbata
5df4decf07 feat: use esp-idf-sbom pre-commit plugin
Currently sbom manifest is checked only in .gitmodules and
this check is done in pre-commit and also in CI. Meaning it's running
three times(pre-commit before push if user has it enabled, in CI
as there is the pre-commit run again and again with test in CI). Since
esp-idf-sbom contains a full manifest validation support and pre-commit
plugin for it, let's use it. This removes all the current sbom testing
and replaces it with a signle pre-commit plugin which validates all
manifests files(sbom.yml, idf_component.yml, .gitmodules and also
referenced manifests) in repository. Note that this checks all
manifests, not only ones which were modified. The check is reasonably
fast though, so it should not cause any problem. The reason for
validating all manifest files is that we want to make sure that the sbom
information in .gitmodules is updated too and that the hash
recorded in .gitmodules is up-to-date. Meaning submodule update
would not trigger this plugin, because no manifest was changed.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-06 10:08:54 +01:00
Chen Jian Xing
f0353350d0 Merge branch 'docs/Separate_low-power_documents' into 'master'
docs:Separate low-power documents

Closes WIFI-6310

See merge request espressif/esp-idf!27273
2023-12-06 16:59:56 +08:00
Zhang Wen Xu
636092d2a4 Merge branch 'feature/add_config_to_set_using_custom_mac_as_base_mac' into 'master'
feat(mac): Add a configuration to set custom MAC as base MAC

See merge request espressif/esp-idf!26820
2023-12-06 16:29:41 +08:00
Jiang Jiang Jian
a5bd6a57f1 Merge branch 'fix/coexist_reg_esp32c6_set_default_value' into 'master'
fix(esp_coex): fix esp32c6 coex reg reset issue

See merge request espressif/esp-idf!27664
2023-12-06 16:04:58 +08:00
igor.udot
6e258a879d fix: add count for wpa test 2023-12-06 15:58:05 +08:00
igor.udot
e0a40feb5c refactor: changed logic of unity_tester, replaced threads by generators 2023-12-06 15:58:05 +08:00
radek.tandler
a640626b76 fix(fatfs): Fixed fatfsparse.py parsing of FAT boot sector
The fatfsparse.py script was too strict in parsing the FAT boot sector, causing it to fail in
certain cases. This commit fixes the issue by making the parsing less strict and allowing for more
flexibility in the boot sector format.

This change improves the reliability and compatibility of the fatfsparse.py script, ensuring that it
can correctly parse a wider range of FAT boot sectors.

Docs updated
2023-12-06 08:31:50 +01:00
Kevin (Lao Kaiyao)
0704733708 Merge branch 'feature/add_esp32c5_beta3_rom_support' into 'master'
feat(esp32c5): add esp32c5 beta3 esp_rom support (stage 3/8, part 1)

See merge request espressif/esp-idf!27542
2023-12-06 15:31:49 +08:00
Tomas Sebestik
38256109d0 Merge branch 'remove/migrate-danger-github' into 'master'
ci(danger-github): replace local Danger code by org action

Closes RDT-601

See merge request espressif/esp-idf!27676
2023-12-06 15:26:05 +08:00
Roland Dobai
45430d2526 Merge branch 'contrib/github_pr_12637' into 'master'
Dockerfile with variable depth parameter (GitHub PR)

Closes IDFGH-11513

See merge request espressif/esp-idf!27304
2023-12-06 14:15:44 +08:00
luomanruo
ca4f9ccedb ble(fix): Fixed crash issue when reset event queue 2023-12-06 14:13:23 +08:00
wuzhenghui
b6669d76b2 fix(esp_hw_support): fix esp32h2 system link restore override cpu clk configuration 2023-12-06 13:58:51 +08:00
Rahul Tank
d4db3a2f87 fix(nimble): Added change to return success for API execution 2023-12-06 10:20:18 +05:30
Rahul Tank
c256bed7f8 Merge branch 'bugfix/authcomplete_failure' into 'master'
fix(nimble): Fixed authcomplete failure caused by a mismatch in the c1 value

Closes BLERP-303, BLERP-304, and BLERP-319

See merge request espressif/esp-idf!27499
2023-12-06 12:47:48 +08:00
Jiang Jiang Jian
c87d0a27a8 Merge branch 'bugfix/fix_dhcp_server_can_not_restore_address_pool_issue' into 'master'
fix(dhcp server):dhcp server can not restore address pool

See merge request espressif/esp-idf!27666
2023-12-06 11:59:16 +08:00
liuning
f7d005bd34 fix(wifi): fix disconnected abnormal sleep 2023-12-06 11:32:02 +08:00
Island
9040dea13b Merge branch 'bugfix/BLEQABR23-35master' into 'master'
fix(ble_mesh): avoid ble_mesh packet collision by using random adv interval

Closes BLERP-113 and BLERP-112

See merge request espressif/esp-idf!26348
2023-12-06 11:06:38 +08:00
Wu Meng Shi
a93783ae90 fix(ble_mesh): avoid ble_mesh packet collision by using random adv interval 2023-12-06 11:06:38 +08:00
Krzysztof Budzynski
58713b0b8a Apply 2 suggestion(s) to 2 file(s) 2023-12-06 10:57:35 +08:00
Darian
0960080991 Merge branch 'docs/xtensa_header_deprecation_migration_guide' into 'master'
change(xtensa): Add migration guide for depreacted include paths

See merge request espressif/esp-idf!27685
2023-12-06 10:56:38 +08:00
Jiang Jiang Jian
d64217006c Merge branch 'bugfix/IDFGH-11398' into 'master'
bugfix(ble_mesh): Fixed incorrect RPR Client unicast address was obtained(154b4fcc)

Closes IDFGH-11398

See merge request espressif/esp-idf!27564
2023-12-06 10:50:50 +08:00
zwx
a58c416a60 feat(mac): Add a configuration to set custom MAC as base MAC 2023-12-06 10:46:22 +08:00
Laukik Hase
429cb75661 Merge branch 'fix/nvs_encr_flash_enc_dependency' into 'master'
fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption

Closes IDFGH-11411

See merge request espressif/esp-idf!27286
2023-12-06 02:08:01 +08:00
laokaiyao
1c9ecfa159 feat(esp32c5): supplement of esp_rom for esp32c5 beta3 target 2023-12-05 22:01:15 +08:00
wanglei
5f2c48acd6 feat(esp32c5): add esp32c5 beta3 esp_rom support 2023-12-05 22:01:15 +08:00
daiziyan
e85feafa0f docs: add CN trans for idf-docker-image.rst 2023-12-05 14:52:14 +01:00
timoxd7
db1584a568 feat(docker): Add Dockerfile argument for variable clone depth
Closes https://github.com/espressif/esp-idf/pull/12637
2023-12-05 14:52:14 +01:00
Mahavir Jain
25c2cc5f03 Merge branch 'feature/esp32p4_enable_flash_encryption' into 'master'
Enable Flash Encryption for ESP32P4

Closes IDF-7545

See merge request espressif/esp-idf!26959
2023-12-05 21:42:18 +08:00
Roland Dobai
8e619642c9 Merge branch 'feat/esp_idf_size_ng_integration' into 'master'
feat(tools): esp_idf_size.ng integration

Closes IDF-8771

See merge request espressif/esp-idf!27448
2023-12-05 20:36:07 +08:00
Erhan Kurubas
58ee206c99 feat(coredump): save twdt panic output to coredump elf file 2023-12-05 13:28:51 +01:00
xiaqilin
2c2f1bd60d fix(esp_coex): fix esp32c6 coex reg reset issue 2023-12-05 20:16:48 +08:00
Jin Cheng
e78209ad47 fix(bt/bluedroid): Disabled Sniff Subrating temporarily as it did not work well 2023-12-05 20:10:03 +08:00
Jin Cheng
58256d8c4b fix(bt/bluedroid): Changed the default air mode to invalid value 2023-12-05 20:10:03 +08:00
Jin Cheng
dba328d9d5 fix(bt/bluedroid): Removed redundant operation of SCO clean up 2023-12-05 20:10:03 +08:00
Jin Cheng
0f9e8687ee fix(bt/bluedroid): Corrected the definitions of HF Client callback events 2023-12-05 20:10:00 +08:00
Tomas Sebestik
2ad861964e ci(danger-github): replace local Danger code by org action 2023-12-05 12:56:58 +01:00
Jiang Jiang Jian
608664781d Merge branch 'bugfix/fix_bt_3262' into 'master'
Fixed random address setting when scanning on ESP32(fa43201)

See merge request espressif/esp-idf!27396
2023-12-05 19:47:09 +08:00
Jiang Jiang Jian
6da710df94 Merge branch 'bugfix/fix_psram_enabled_psram_initialized_fail_issue' into 'master'
fix(wifi): fix psram enabled but initialized fail issue

Closes IDFGH-10755

See merge request espressif/esp-idf!27218
2023-12-05 19:12:12 +08:00
Darian Leung
83e18bd3bd change(xtensa): Add migration guide for depreacted include paths 2023-12-05 19:02:09 +08:00
Mo Fei Fei
903d31ad12 Merge branch 'docs/update_cn_trans_nvs_encryption' into 'fix/nvs_encr_flash_enc_dependency'
Docs: Update CN translation for nvs_encryption.rst

See merge request espressif/esp-idf!27583
2023-12-05 18:43:23 +08:00
Mo Fei Fei
dce37a8acc Docs: Update CN translation for nvs_encryption.rst 2023-12-05 18:43:23 +08:00
kohait00
9beda4ce48 feat(tools/cmake): Added VERSION argument to the project() macro in cmake
This commit enables the standad VERSION argument for the project() macro
in ESP-IDF. The VERSION argument is compilant with the requirements of
cmake 3.16. This commit also adds new test cases for verifying the
validity of the version argument.

Merges https://github.com/espressif/esp-idf/pull/12461

Co-authored-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2023-12-05 11:29:43 +01:00
Darian
105f6dd22c Merge branch 'refactor/soc_caps_multiple_cores' into 'master'
change(docs): Update multicore tags to SOC_CPU_HAS_MULTIPLE_CORES

See merge request espressif/esp-idf!27523
2023-12-05 18:20:21 +08:00
Armando (Dou Yiwen)
96c1aea50a Merge branch 'change/split_fpga_overrides.c' into 'master'
bringup: added bypass rng configuration for bringup stage

See merge request espressif/esp-idf!27657
2023-12-05 16:55:43 +08:00
Darshan Dobariya
c34cba9db1 fix(nimble): Fixed authcomplete failure caused by a mismatch in the c1 value 2023-12-05 14:18:42 +05:30
Marius Vikhammer
30870c819f Merge branch 'docs/fix_dash_encoding' into 'master'
docs(programming_guide): turned off smartquotes

See merge request espressif/esp-idf!27659
2023-12-05 16:47:45 +08:00
luomanruo
bf44a9e9c6 ble(fix): clear event queue when init event queue
ble: update log module on ESP32C2, ESP32H2 and ESP32C6
2023-12-05 16:12:09 +08:00
xueyunfei
02c1a1c6af fix(dhcp server):dhcp server can not restore address pool 2023-12-05 15:56:20 +08:00
zhanghaipeng
41facc2e08 fix(bt/bluedroid): Fix BLE robost cashing config 2023-12-05 15:44:15 +08:00
Aditya Patwardhan
a84234c23f feat(security): Enable Flash encryption for ESP32P4 2023-12-05 13:10:55 +05:30
Darian
e3191df37a Merge branch 'change/deprecate_legacy_xtensa_include_path' into 'master'
change(xtensa): Deprecate legacy include paths

Closes IDF-7230

See merge request espressif/esp-idf!26725
2023-12-05 15:05:29 +08:00
Ivan Grokhotkov
b20332535b Merge branch 'feature/idf_qemu_ext' into 'master'
feat(tools): add 'idf.py qemu' extension

Closes IDFGH-817

See merge request espressif/esp-idf!26034
2023-12-05 14:15:57 +08:00
Aditya Patwardhan
e09d50d244 feat(soc): Updated soc cap for flash encryption
1) In the ESP32-P4 SoC, we have an eFuse to disable the MSPI access
    when in download mode. This commit adds relevant soc cap for esp32p4
    chip.
    2) Added FE related soc caps
    3) Removed unwanted cap from soc_caps
    4) esp_hw_support: Enable flash encryption related ll APIs for esp32p4
2023-12-05 11:03:48 +05:30
Marius Vikhammer
9dc83148db Merge branch 'docs/pytest_single_test' into 'master'
docs(pytest): add note about filtering with test-case-name

See merge request espressif/esp-idf!27410
2023-12-05 12:34:28 +08:00
Marius Vikhammer
fda5484e55 Merge branch 'bugfix/import_lib_example_url' into 'master'
fix(build-system/example): Removed dead URL for downloading tinyxml2

See merge request espressif/esp-idf!27573
2023-12-05 12:31:30 +08:00
Marius Vikhammer
fd03f1da1f docs(programming_guide): turned off smartquotes
Sphinx would "smartly" format e.g. double dashes into typographically correct entities,
i.e. a long dash unicode character.

This doesnt always work well for our docs were sometimes a double dash could be a python
argument, which when copied would no longer work.
2023-12-05 12:19:15 +08:00
Island
345013fa46 Merge branch 'bugfix/fix_bleqabr23_808' into 'master'
Fixed assert when LLCP instant passed on ESP32-C3 and ESP32-S3(b8f0db9)

Closes BLERP-298, BLERP-299, BLERP-300, BLERP-301, BLERP-310, BLERP-311, and BLERP-312

See merge request espressif/esp-idf!27477
2023-12-05 11:51:20 +08:00
Armando
8de0c82295 change(ram_app): added --no-reset for ran_app readme 2023-12-05 11:38:35 +08:00
Armando
2c32bd209a change(fpga): added bypass rng configuration 2023-12-05 11:38:35 +08:00
Jiang Jiang Jian
9f2578a0bd Merge branch 'bugfix/wps_disable_crash' into 'master'
Fix a crash in esp_wifi_wps_disable

Closes WIFIBUG-252 and WIFIBUG-266

See merge request espressif/esp-idf!27233
2023-12-05 11:21:09 +08:00
muhaidong
f37448cddb fix(wifi): fix psram enabled but initialized fail issue
Closes https://github.com/espressif/esp-idf/issues/11971
2023-12-05 11:19:59 +08:00
Darian Leung
024eb7218d change(docs): Update multicore tags to SOC_HP_CPU_HAS_MULTIPLE_CORES
Previously, documentation sections that were only meant for multicore ESP
targets would use tags that depend on CONFIG_FREERTOS_UNICORE or
CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE. This is not ideal as project configuration
can be changed by the user.

This commit updates those tags to use SOC_HP_CPU_HAS_MULTIPLE_CORES which is
always defined in multicore targets regardless of project configuration.
2023-12-05 10:56:48 +08:00
Darian Leung
5697f260fe change(soc): Add SOC_HP_CPU_HAS_MULTIPLE_CORES
This commit adds a the SOC_HP_CPU_HAS_MULTIPLE_CORES convenience macro to
soc_caps.h. This is a convenience boolean cap to represent whether or not the
target has multiple cores, and is intended to be used when writing docs for
multiple targets.
2023-12-05 10:56:22 +08:00
zhanghaipeng
1eb0522774 fix(bt/bluedroid): Fix ble adv and scan status when deinit bluedroid 2023-12-05 10:38:01 +08:00
Zhang Xiao Yan
4cd0a6a4b1 Merge branch 'docs/remove_wifi_related_documentation_for_esp32h2' into 'master'
docs: remove WiFi related documentation for ESP32-H2

See merge request espressif/esp-idf!27026
2023-12-05 09:58:06 +08:00
Marius Vikhammer
9c5438b307 docs(pytest): add note about filtering with test-case-name 2023-12-05 09:54:41 +08:00
Martin Vychodil
b61ea3ba97 Merge branch 'fix/fatfsgen_construct' into 'master'
fix(tools): Fix fatfsgen construct dependency

Closes IDFCI-1891

See merge request espressif/esp-idf!27626
2023-12-05 07:33:47 +08:00
Martin Vychodil
bf5acc88fa Merge branch 'fix/fatfs_sbom' into 'master'
fix(storage/fatfs): add Organization prefix to originator

Closes IDF-8793

See merge request espressif/esp-idf!27597
2023-12-05 01:16:40 +08:00
Armando (Dou Yiwen)
0cdc8b167b Merge branch 'change/use_xmc_support_for_p4_fpga_images' into 'master'
change(flash): use xmc support for p4 fpga images

See merge request espressif/esp-idf!27614
2023-12-05 01:08:21 +08:00
Roland Dobai
035e59bfd8 fix(tools): Fix fatfsgen construct exception type and dependency
construct=2.10.70 fixed an issue
(c3866e9492)
and StringError is raised instead of UnicodeDecodeError.
2023-12-04 16:38:46 +01:00
Rahul Tank
2cd09e8f71 Merge branch 'bugfix/remove_rpa_rec' into 'master'
fix(nimble): Handled the deletion of RPA mapping

Closes BLERP-289 and BLERP-295

See merge request espressif/esp-idf!27305
2023-12-04 19:49:40 +08:00
Island
4869d96220 Merge branch 'bugfix/BLEQA23-811' into 'master'
bugfix(ble_mesh): Enable CONFIG_BT_NIMBLE_VS_SUPPORT when using the duplicate...

See merge request espressif/esp-idf!27323
2023-12-04 19:42:50 +08:00
Harshit Malpani
1e8261eabf Merge branch 'fix/wrong_order_of_includes_in_esp_tls' into 'master'
fix(esp-tls): Fix wrong order of includes in esp_tls.h

Closes IDFGH-11403

See merge request espressif/esp-idf!27302
2023-12-04 19:02:11 +08:00
Laukik Hase
ea51f4e2f7 fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption
- This change will introduce a breaking change for SoCs with the HMAC
  peripheral. Turning on flash encryption will no longer enable NVS
  encryption automatically.

Closes https://github.com/espressif/esp-idf/issues/12549
2023-12-04 16:18:01 +05:30
Xu Si Yu
683975b77a fix(thread/zigbee): Cleanup build-test-rules.yml 2023-12-04 17:38:27 +08:00
chenjianhua
74f99d2679 fix(bt): Update bt lib for ESP32(fa43201)
- Fixed assert for instant passed workaround
- Fixed scan evt timeout
- Fixed random address setting when scanning
2023-12-04 17:03:38 +08:00
Island
94d7ec7a38 Merge branch 'bugfix/bluedroid_menuconfig' into 'master'
Bugfix/bluedroid menuconfig

Closes BLERP-317

See merge request espressif/esp-idf!27508
2023-12-04 16:30:05 +08:00
wanlei
d0023b061f refactor(spi): replace dma_ll related in spi by dma driver (part1) 2023-12-04 16:20:05 +08:00
Frantisek Hrbata
41afb506d7 fix(storage/fatfs): add Organization prefix to originator
MR espressif/esp-idf!27436 added sbom manifest file for fatfs,
but the originator is missing a prefix required by SPDX specification.
This results in malformed SPDX sbom files.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-12-04 08:16:48 +01:00
Armando
f470f66f75 change(flash): use xmc support for p4 fpga images 2023-12-04 14:52:54 +08:00
cjin
797edb54fa fix(pm): place extra link opt in iram 2023-12-04 14:46:42 +08:00
Marius Vikhammer
d9652880db fix(build-system/example): Updated dead URL for downloading tinyxml2
The import_lib example contained a fallback mirror for downloading tinyxml2 sources
but this link was dead. If this mirror was used it would cause the build to fail.
2023-12-04 14:28:52 +08:00
Darian
c4819658a2 Merge branch 'change/freertos_remove_xcoreid_for_single_core' into 'master'
change(freertos/idf): Remove xCoreID from TCB in single-core builds

Closes IDF-7894

See merge request espressif/esp-idf!27207
2023-12-04 12:54:54 +08:00
Jakob Hasse
ffedd74f52 Merge branch 'fix/esp_hw_support_remove_unused_include_dirs' into 'master'
fix(esp_hw_support): Removed nonexistent include directories from cmake

Closes IDFGH-11581

See merge request espressif/esp-idf!27551
2023-12-04 12:26:43 +08:00
Linda
bd1825f9b1 docs: remove WiFi related documentation for ESP32-H2 2023-12-04 11:12:39 +08:00
luoxu
18e91216bd bugfix(ble_mesh): Enable CONFIG_BT_NIMBLE_VS_SUPPORT when using the duplicate scan feature on the NimBLE host. 2023-12-04 03:10:09 +00:00
Jiang Jiang Jian
ac7235523e Merge branch 'bugfix/dpp_deinit_memleak' into 'master'
Fix a memory leak in dpp deinit path

Closes WIFIBUG-174 and WIFIBUG-234

See merge request espressif/esp-idf!26781
2023-12-04 11:02:09 +08:00
Marius Vikhammer
9a6de4cb3e fix(panic): fixed cache error being reported as illegal instruction
On riscv chips accessing cache mapped memory regions over the ibus would
result in an illegal instructions exception triggering faster than the cache
error interrupt/exception.

Added a cache error check in the panic handler, if any cache errors are active
the panic handler will now report a cache error, even if the trigger exception
was a illegal instructions.
2023-12-04 10:49:00 +08:00
Jiang Jiang Jian
077067bb10 Merge branch 'bugfix/fix_connect_error_for_mesh' into 'master'
fix(wifi/mesh): fix connection and opmoode error in mesh

Closes IDFCI-1864 and IDFGH-11521

See merge request espressif/esp-idf!27524
2023-12-04 10:45:21 +08:00
Tomas Rezucha
d34b8c81a8 Merge branch 'feature/usb_hs_support' into 'master'
feat(usb/host): Add High Speed enumeration types

See merge request espressif/esp-idf!27348
2023-12-03 21:58:54 +08:00
Ivan Grokhotkov
178b27ed80 ci(qemu): use qemu from tools.json, don't require a special image 2023-12-03 07:45:19 +01:00
Ivan Grokhotkov
71153c7dbb feat(tools): add 'idf.py qemu' extension
This extension allows running programs in QEMU similar to running
them on a real chip:

- 'idf.py qemu' — builds and runs the program in QEMU. User gets
  a QEMU instance launched, and can work with it as a normal QEMU
  instance.
- 'idf.py qemu monitor' — same, but QEMU is launched in the
  background, and idf_monitor runs in the foreground, showing QEMU
  output. Compared to only running 'idf.py qemu' this enables, for
  example, automatic backtrace decoding.
- 'idf.py qemu gdb' — launches QEMU in the background and opens an
  interactive GDB prompt, connecting it to QEMU.
- 'idf.py qemu --gdb monitor' and 'idf.py gdb' in another shell:
  launches QEMU in the background, keeps it suspended until GDB is
  connected, and opens idf_monitor. GDB can be used in another shell
  to debug the application.
2023-12-03 07:45:19 +01:00
Kevin (Lao Kaiyao)
03414a1550 Merge branch 'feature/add_esp32c5_beta3_soc_header_files_part3' into 'master'
feat(esp32c5): add struct name and reformat struct headers (stage 2/8, part3)

See merge request espressif/esp-idf!27521
2023-12-02 21:49:31 +08:00
Darian Leung
33b7e40223 fix(freertos/idf): Fix invalid xCoreID arguments in single-core
IDF FreeRTOS v10.5.1 no longer accepts out of range xCoreID arguments in
"PinnedToCore" task creation functions when building for single-core. This
commit fixes those violations through ESP-IDF.
2023-12-02 15:46:07 +08:00
Darian Leung
439c7c4261 change(freertos/idf): Remove xCoreID TCB member for single-core
This commit does the following:

- removes the xCoreID member from the TCB when building for single-core
- xCoreID is no longer hard set to 0 when calling "PinnedToCore" task creation
functions in single-core
- Tidy up or add missing xCoreID asserts for functions that take xCoreID as an
argument:
    - Functions that set/query a variable of a particular core will call
      taskVALID_CORE_ID() to ensure ) 0 <= xCoreID < configNUMBER_OF_CORES
    - Task creation functions that accept xCoreID also call taskVALID_CORE_ID()
      but also allow tskNO_AFFINITY.
- Fix TaskStatus_t
    - Remove xCoreID from TaskStatus_t if configTASKLIST_INCLUDE_COREID is not
      defined.
    - Set xCoreID to 0 when calling vTaskGetInfo() in single-core builds
2023-12-02 15:46:07 +08:00
Darian Leung
ae2bd61054 refactor(freertos/idf): Refactor yield and affinity macros
This commit refactors the following macros so that calling them no longer
requires referencing pxTCB->xCoreID.

- taskIS_YIELD_REQUIRED()
- taskIS_YIELD_REQUIRED_USING_PRIORITY()
- taskIS_AFFINITY_COMPATIBLE()
2023-12-02 15:46:07 +08:00
Ivan Grokhotkov
81385b3476 Merge branch 'feature/update_catch2' into 'master'
ci: upgrade host tests to use espressif/catch2 component, add missing build rules

Closes IDF-8775

See merge request espressif/esp-idf!27455
2023-12-01 21:25:25 +08:00
chenjianhua
daae89357c fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(b8f0db9)
- Fixed assert when llcp instant passed
2023-12-01 21:12:43 +08:00
chenjianhua
9c40585b23 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(70ab55f)
- Fixed assert for instant passed workaround
- Fixed add RPA to white list
- Fixed AES encryption for RPA resolution
2023-12-01 21:01:53 +08:00
chenjianhua
51607c87d6 fix(bt/bluedroid): Fixed add RPA to white list 2023-12-01 21:01:53 +08:00
Abhinav Kudnar
7bafda1155 fix(nimble): Handled the deletion of RPA mapping. 2023-12-01 17:04:20 +05:30
Darian
cc34c4fc08 Merge branch 'contrib/github_pr_12481' into 'master'
Many places in the ESP_SYSTEM are using CONFIG_FREERTOS_UNICORE instead of CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE (GitHub PR)

Closes IDFGH-11333

See merge request espressif/esp-idf!27435
2023-12-01 19:33:19 +08:00
luomanruo
3c90024f25 ble(update):
Update c2 lib to 47a787f0
Update h2 lib to 73452eac
Update c6 lib to 73452eac
2023-12-01 19:30:35 +08:00
laokaiyao
40bce13348 feat(esp32c5): update reg headers for multiple instances module (part3) 2023-12-01 19:04:55 +08:00
laokaiyao
9b31979107 feat(esp32c5): add struct name and reformat struct headers (part3) 2023-12-01 19:04:46 +08:00
Harshal Patil
d69ee9e133 Merge branch 'fix/aes_mpi_interrupt_allocation_workflow_for_aes_gcm' into 'master'
fix(mbedtls/aes): fix AES interrupt allocation for AES-GCM operations

See merge request espressif/esp-idf!27516
2023-12-01 19:03:00 +08:00
jgujarathi
322aa53d9d fix(wpa_supplicant): Add support for a dpp authentication timeout
- Adds support for a 1 second dpp authentication timeout.
2023-12-01 15:08:32 +05:30
zhanghaipeng
d528cc598e fix(bt/bluedroid): Fix BLE SMP register log level 2023-12-01 17:21:49 +08:00
morris
2d4a6748a3 Merge branch 'feature/sdm_driver_esp32p4' into 'master'
esp_driver_sdm driver support on esp32p4

Closes IDF-7551

See merge request espressif/esp-idf!27543
2023-12-01 17:21:04 +08:00
Island
e3ab9f009b Merge branch 'feat/support_ble_create_sync_report' into 'master'
feat(bt/bluedroid): Support ble create sync report disable and filter duplicate

Closes BLERP-216

See merge request espressif/esp-idf!26923
2023-12-01 17:17:48 +08:00
Harshit Malpani
9e8761880b fix(esp-tls): Add headers in esp_tls_errors.h header file
Closes https://github.com/espressif/esp-idf/issues/12541
2023-12-01 14:15:43 +05:30
Roland Dobai
9c4b657ac3 Merge branch 'feature/add_windows_pytest' into 'master'
Tools: Add pytest build system on Windows runner

Closes IDF-7691, IDF-8214, and IDF-1193

See merge request espressif/esp-idf!26603
2023-12-01 16:40:13 +08:00
luoxu
c90fd0ebe2 bugfix(ble_mesh): Fixed incorrect RPR Client unicast address was obtained(154b4fcc) 2023-12-01 15:53:44 +08:00
David Čermák
096d1ce1bb Merge branch 'feat/http_client_session_ticket' into 'master'
feat(http_client): Restore TLS session and custom transport

See merge request espressif/esp-idf!26059
2023-12-01 15:11:20 +08:00
Roland Dobai
abf3e8e543 Merge branch 'feature/docker_git_safe_dirs' into 'master'
feat(docker): allow to add dirs into git's safe.directory

Closes CVE-2022 and IDFGH-11511

See merge request espressif/esp-idf!27344
2023-12-01 15:02:09 +08:00
jgujarathi
8508363ce5 fix(wpa_supplicant): Restructuring DPP init method to ensure cleanup
- Restructuring DPP init function to ensure cleanup of variables in case of
  init failure
2023-12-01 12:23:03 +05:30
jgujarathi
76da067bce fix(wpa_supplicant): Fix location of clearing up dpp global variables
- Fix location of cleaing up dpp global variables to ensure that there are
  no concurrency issues.
2023-12-01 12:23:03 +05:30
jgujarathi
30c510020f fix(wpa_supplicant): Fix a memory leak in dpp deinit path
- Ensures that the auth information of dpp gets freed when there is
  dpp gets deinited.
2023-12-01 12:23:00 +05:30
C.S.M
2d4a9240dc Merge branch 'feat/add_example_usj' into 'master'
change(usb_serial_jtag): Add example for usb serial jtag echo

Closes IDFGH-11503, IDFGH-11493, and IDFGH-11478

See merge request espressif/esp-idf!27366
2023-12-01 14:39:14 +08:00
Zhang Xiao Yan
2c5e876a31 Merge branch 'docs/move_output_log_to_inc_files' into 'master'
docs: move the output log of targets to .inc files

See merge request espressif/esp-idf!27444
2023-12-01 14:19:49 +08:00
Island
682ca74e98 Merge branch 'bugfix/ble_update_lib_20231124' into 'master'
ble(update):Update c2 lib to 79ed4e8a,Update h2 lib to 9a237426,Update c6 lib to 9a237426

Closes BLERP-269 and BLERP-291

See merge request espressif/esp-idf!27391
2023-12-01 13:58:11 +08:00
Mahavir Jain
0df6afadef Merge branch 'fix/esp32s3_soc_drom_high_addr' into 'master'
fix(soc): esp32s3/Fix the DROM_HIGH_ADDR

See merge request espressif/esp-idf!27015
2023-12-01 12:41:59 +08:00
zhangyanjiao
550f858c0f fix(wifi/mesh): fix connection and opmoode error in mesh
1. fix the bug that station can't found AP when the authmode is WPA
2. fix wifi mode error when mesh start after station has connected to router

Closes https://github.com/espressif/esp-idf/issues/12646
2023-12-01 12:03:06 +08:00
Jakob Hasse
637d4c4381 fix(esp_hw_support): Removed unused include directories from cmake
* Closes https://github.com/espressif/esp-idf/issues/12700
2023-12-01 11:33:12 +08:00
Jiang Jiang Jian
e6a490c2ae Merge branch 'bugfix/dpp_listen_bugs' into 'master'
fix(wpa_supplicant): Fix few bugs in dpp

See merge request espressif/esp-idf!26792
2023-12-01 11:07:18 +08:00
Wang Meng Yang
76923a7a7f Merge branch 'bugfix/hci_param_check' into 'master'
fix(bt/controller): Fixed some HCI commands parameter

See merge request espressif/esp-idf!27423
2023-12-01 10:24:11 +08:00
wangtao@espressif.com
0d0de9da6b docs:Separate low-power documents 2023-12-01 10:13:19 +08:00
Marius Vikhammer
e680ecdbf6 Merge branch 'fix/err_to_name_component_only' into 'master'
fix(err_to_name): restrict gen_esp_err_to_name.py to only search in components/

See merge request espressif/esp-idf!26936
2023-12-01 10:11:34 +08:00
morris
d171a7b958 change(sdm): move driver to a new component: esp_driver_sdm 2023-12-01 10:03:48 +08:00
morris
846751216b feat(sdm): add driver support for esp32p4 2023-12-01 10:03:09 +08:00
Liu Linyan
9879615053 Merge branch 'update/ble_mesh_put_lib_in_submodule' into 'master'
fix(ble_mesh): Put Mesh 1.1 lib files in submodule

Closes IDFCI-1860

See merge request espressif/esp-idf!26987
2023-12-01 09:56:19 +08:00
Wang Meng Yang
eaa172033a Merge branch 'bugfix/alarm_args_double_free' into 'master'
fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free in l2cap

Closes BTQABR2023-141

See merge request espressif/esp-idf!27532
2023-12-01 09:32:39 +08:00
Roland Dobai
48d732f49c Merge branch 'fix/use_pytest_instead_xmlrunner' into 'master'
fix(ci): Remove unittest-xml-reporting dependency from host tests

See merge request espressif/esp-idf!27484
2023-12-01 00:33:41 +08:00
Darian Leung
8c2949a97e change(xtensa): Deprecate ".../xtensa_timer.h" include path
This commit deprecates the "freertos/xtensa_timer.h" and "xtensa/xtensa_timer.h"
include paths. Users should use "xtensa_timer.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_timer.h"
- Add warning to compatibility header
2023-11-30 21:58:52 +08:00
Darian Leung
a5d5ee7445 change(xtensa): Deprecate ".../xtensa_context.h" include path
This commit deprecates the "freertos/xtensa_context.h" and "xtensa/xtensa_context.h"
include paths. Users should use "xtensa_context.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_api.h"
- Add warning to compatibility header
2023-11-30 21:58:52 +08:00
Darian Leung
2204c8e137 change(xtensa): Deprecate ".../xtensa_api.h" include path
This commit deprecates the "freertos/xtensa_api.h" and "xtensa/xtensa_api.h"
include paths. Users should use "xtensa_api.h" instead.

- Replace legacy include paths
- Removed some unnecessary includes of "xtensa_api.h"
- Replaced some calls with "esp_cpu_..." equivalents
- Add warning to compatibility header
2023-11-30 21:58:52 +08:00
Roland Dobai
bc1d74bb88 fix(ci): Remove unittest-xml-reporting dependency from host tests 2023-11-30 14:03:41 +01:00
Tomas Sebestik
6e38fea5e9 Merge branch 'ci/update-mixed-template' into 'master'
ci: update Mixed Template, Release notes header

See merge request espressif/esp-idf!27478
2023-11-30 20:24:31 +08:00
Jin Cheng
48d410e10d fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free in l2cap 2023-11-30 19:47:57 +08:00
mofeifei
43bfffd85e docs: update cn trans idf-docker-image 2023-11-30 12:18:40 +01:00
Frantisek Hrbata
647c485a76 feat(docker): allow to add paths into git's safe.directory
With 8959555cee7e[1] ("setup_git_directory(): add an owner check for the top..")
git added an ownership check of the git directory and refuses to
run any git commands, even parsing the config file, if the git directory
is not owned by the current user. The "fatal: detected dubious ownership in repository"
is reported.

This fixes CVE-2022-24765[2], which allows to compromise user account. On a
multi-user system or e.g. on a shared file system, one user may create a "rogue"
git repository with e.g. core.fsmonitor set to an arbitrary command. Other user
may unwillingly execute this command by running e.g. git-diff or
git-status within the "rogue" git repository, which may be in one of the parent
directories. If e.g. PS1 is set to display information about a git
repository in CWD, as suggested in Git in Bash[3], the user do not need to run
any git command to trigger this, just entering some subdirectory under
this "rogue" git repository is enough, because the git command will be
started transparently through the script used in PS1. The core.fsmonitor
can be set to arbitrary command. It's purpose is to help git to identify changed files
and speed up the scanning for changed files.

rogue
├── .git     # owned by user1
└── dir1     # owned by user2
    ├── dir2 # owned by user2
    └── .git # owned by user2

user1 sets core.fsmonitor for git repository in rogue directory
$ git config --add core.fsmonitor "bash -c 'rm -rf \$HOME'"

user2 enters dir1 and runs e.g. git diff and triggers the core.fsmonitor command.

The ownership check may cause problems when running git commands in
ESP-IDF Docker container. For example user may run the container as
root, but the mounted project may be owned by a particular user.

In this case git will refuse to execute any git command within the
"/project" directory, because it's not owned by root. To overcome this,
git allows to set safe.directories, for which the ownership check is
skipped. The security check may be completely disabled by setting
safe.directories to "*". This solution was proposed in PR 12636[4], but
it would allow make it possible to exploit this vulnerability again.

This fix allows user to specify git's safe.directory in IDF_GIT_SAFE_DIR
environmental variable, which may be set during container startup.

The IDF_GIT_SAFE_DIR has same format as PATH and multiple directories can be
specified by using a ":" separator. To entirely disable this git security check
within the container, user may set IDF_GIT_SAFE_DIR='*'. This might be
heplfull in CI.

Closes https://github.com/espressif/esp-idf/pull/12636

[1] - 8959555cee
[2] - https://nvd.nist.gov/vuln/detail/cve-2022-24765
[3] - https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Git-in-Bash
[4] - https://github.com/espressif/esp-idf/pull/12636

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-11-30 12:18:40 +01:00
Roland Dobai
4797d744fa Merge branch 'fix/coredump_port' into 'master'
fix(tools/coredump): do not detect port when core file is used

Closes IDFGH-11552

See merge request espressif/esp-idf!27441
2023-11-30 18:40:23 +08:00
aditi_lonkar
bdeec024e8 fix(esp_wifi):Fix WDT when esp_supp_dpp_start_listen called multiple times 2023-11-30 15:37:17 +05:30
Shu Chen
195d4013a2 Merge branch 'fix/lwip_na_packets_router_flag' into 'master'
feat(lwip): support NA router farwording flag set

See merge request espressif/esp-idf!27132
2023-11-30 17:48:42 +08:00
Ivan Grokhotkov
e39d1ae9ce Merge branch 'feature/update_unity' into 'master'
feat(unity): upgrade to 2.6.0-RC1

See merge request espressif/esp-idf!27456
2023-11-30 17:12:12 +08:00
Liu Linyan
94d3f5037b fix(ble_mesh): Use submodule for mesh 1.1 lib files 2023-11-30 16:56:58 +08:00
Liu Linyan
2c579d03ca fix(ble_mesh): Remove the orginal mesh 1.1 lib files 2023-11-30 16:34:22 +08:00
Omar Chebib
dc8fdae31b docs(freertos): revert usage of hidden option CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE when :ref: is used 2023-11-30 16:33:28 +08:00
Frantisek Hrbata
18334588bc feat(tools): esp_idf_size.ng integration
This integrates esp_idf_size.ng, refactored esp-idf-size version, into
esp-idf and enables it by default. The esp_idf_size.ng may be enabled
by using the --ng option, but also via ESP_IDF_SIZE_NG env. variable,
which is used in this integration.

New -l/--legacy option is added, which enforces usage of the old version.
This option can be also set via "ESP_IDF_SIZE_LEGACY" env. variable.
This should allow to easily switch back to old version if there is any
problem.

The new version is used by default for all formats, except for the "json".

Examples:
$ idf.py size                           # uses refactored version
$ idf.py size --legacy                  # uses legacy version
$ idf.py size --l                       # uses legacy version
$ idf.py size --format json             # uses legacy version
$ idf.py size --format json2            # uses refactored version
$ export ESP_IDF_SIZE_LEGACY="1"        # use legacy version only from now on

ESP_IDF_SIZE_FORCE_TERMINAL, which forces terminal control codes(colors), is also set
when running from idf.py, so the colors are propagated even if stdout
for esp_idf_size.ng is not attached to tty.

The same changes are applied also to the idf_size.py wrapper.

There is an import check if esp_idf_size.ng is available. If not,
we switch into the legacy mode. This should cover situation when the
esp-idf has support for refactored version, but it's not installed.
This should also allow users to bind to a legacy version(<1.0.0) and the
idf.py size and idf_size.py should still work. This also allow us to
restring the version in constraints file if we need to switch back to
legacy version globally.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-11-30 09:26:51 +01:00
Sudeep Mohanty
35fc493dcc Merge branch 'bugfix/freertos_incorrect_placement_of_unblocked_task_during_tick_increment' into 'master'
fix(freertos/idf): Refactor suspend-resume tests

Closes IDF-8364

See merge request espressif/esp-idf!26849
2023-11-30 15:53:31 +08:00
Kevin (Lao Kaiyao)
15803e14e9 Merge branch 'feature/add_esp32c5_beta3_soc_header_files' into 'master'
feat(esp32c5): add esp32c5 soc header files (stage 2, part 1)

See merge request espressif/esp-idf!27492
2023-11-30 15:07:04 +08:00
Cao Sen Miao
2a0debde3c change(usb_serial_jtag): Add a usb_serial_jtag echo example for how to use usb_serial_jtag APIs,
Closes https://github.com/espressif/esp-idf/issues/12620,
Closes https://github.com/espressif/esp-idf/issues/12605
2023-11-30 14:38:06 +08:00
Cao Sen Miao
b8e8042c4e fix(usb_serial_jtag): Fix issue that buffer seems not flush when TX buffer is full and flush slow,
Closes https://github.com/espressif/esp-idf/issues/12628
2023-11-30 14:38:06 +08:00
Kevin (Lao Kaiyao)
11461aff62 Merge branch 'feature/add_esp32c5_beta3_soc_header_files_part2' into 'master'
feat(esp32c5): add esp32c5-beta3 soc header files (stage2, part2)

See merge request espressif/esp-idf!27500
2023-11-30 14:35:54 +08:00
harshal.patil
47821f6299 fix(mbedtls/aes): fix AES interrupt allocation for AES-GCM operations 2023-11-30 11:59:59 +05:30
Jiang Jiang Jian
41400d8224 Merge branch 'feat/add_new_api_to_get_scan_ap_record' into 'master'
feat(wifi): add new api to get one scan ap record

Closes WIFI-6311, WIFIBUG-210, and WIFIBUG-211

See merge request espressif/esp-idf!26912
2023-11-30 13:56:51 +08:00
C.S.M
cce1bf36fc Merge branch 'bugfix/u32_reg_tsens' into 'master'
fix(temperature_sensor): Fix regs on temperature sensor is not volatile due to GCC bug

See merge request espressif/esp-idf!27468
2023-11-30 12:37:10 +08:00
Tomas Rezucha
39d57f1cfd refactor(usb/host): Move FIFO size configuration to HAL layer
The logic of calculating FIFO sizes is DWC OTG specific.
We move it to the HAL layer to provide better abstraction in the HDC layer.
2023-11-30 12:04:30 +08:00
zhanghaipeng
a1b678e721 fix(bt/bluedroid): Fix bluedroid menuconfig 2023-11-30 10:43:12 +08:00
zhanghaipeng
a5a7e60ad0 docs(bt/bluedroid): Update ble example document 2023-11-30 10:42:49 +08:00
shangke
a7dc484564 fix(bt/controller): Fixed some HCI commands parameter 2023-11-30 02:41:56 +00:00
Wang Meng Yang
0fb0fc8654 Merge branch 'bugfix/alarm_args_double_free' into 'master'
fix(bt/bluedroid): Free the alarm args only when it is not NULL

Closes BTQABR2023-141

See merge request espressif/esp-idf!27475
2023-11-30 10:27:14 +08:00
Tomas Rezucha
b258bbf068 refactor(usb/host): Make private hal types USB_DWC specific 2023-11-30 10:24:53 +08:00
Armando (Dou Yiwen)
d36fe73960 Merge branch 'test/improve_sdmmc_tests' into 'master'
sd: improve tests and added on CI

See merge request espressif/esp-idf!27384
2023-11-30 10:21:11 +08:00
Tomas Rezucha
69d9e7625b feat(usb/host): Add High Speed enumeration types 2023-11-30 10:17:00 +08:00
Marius Vikhammer
ae4be8eb03 Merge branch 'feature/p4_lp_core' into 'master'
feat(ulp/lp_core): Added basic support for building and running a LP-Core app on ESP32P4

Closes IDF-7534

See merge request espressif/esp-idf!26869
2023-11-30 09:35:49 +08:00
Marek Fiala
04ade501aa feat(tools): Disable failing build system tests on Windows runner 2023-11-29 23:10:38 +01:00
Marek Fiala
b535ec9a99 feat(tools): Fix some failing tests on Windows runner 2023-11-29 23:10:38 +01:00
Marek Fiala
0a3b57e48a feat(tools): Add pytest build system on Windows runner 2023-11-29 23:10:37 +01:00
Adam Múdry
a4ff2decdd Merge branch 'fix/esp_vfs_fat_sdcard_format_workbuf_leak' into 'master'
fix: esp_vfs_fat_sdcard_format workbuf memory leak

Closes IDF-8779

See merge request espressif/esp-idf!27490
2023-11-30 05:42:00 +08:00
Alexey Lapshin
3ac31855b2 Merge branch 'contrib/github_pr_12683' into 'master'
fix(tools): fix path delimiter in gdbinit for Windows

Closes IDFGH-11562

See merge request espressif/esp-idf!27485
2023-11-30 04:57:07 +08:00
David Cermak
96069eef3b feat(http_client): Add support for using custom tcp_transport 2023-11-29 20:48:40 +01:00
David Cermak
7e22a13afe feat(http_client): Add support for TLS session tickets 2023-11-29 20:48:35 +01:00
Gao Xu
4e843a1a70 Merge branch 'bugfix/fix_adc_continuous_do_not_rst_apb_clk' into 'master'
fix(adc): fix adc continuous get less results beacuse do not reset apb clk

Closes IDF-8414

See merge request espressif/esp-idf!27115
2023-11-30 00:22:48 +08:00
laokaiyao
d87e007c66 feat(esp32c5): add esp32c5-beta3 soc header files (part1) 2023-11-29 20:53:33 +08:00
laokaiyao
87f7d2edc4 feat(esp32c5): add esp32c5-beta3 soc header files (part2) 2023-11-29 20:48:52 +08:00
Kevin (Lao Kaiyao)
cd9d321062 Merge branch 'feature/introduce_target_esp32c5' into 'master'
feat(esp32c5): introduce target esp32c5 (stage 1)

See merge request espressif/esp-idf!27299
2023-11-29 20:31:34 +08:00
Adam Múdry
29c30b961d fix: esp_vfs_fat_sdcard_format workbuf memory leak 2023-11-29 12:39:15 +01:00
Ivan Grokhotkov
b52182e14f ci(tcp_transport): upgrade to Catch2 as a component 2023-11-29 12:38:47 +01:00
Ivan Grokhotkov
ae3da4a383 ci(wear_levelling): upgrade to Catch2 as a component 2023-11-29 12:38:47 +01:00
Ivan Grokhotkov
33896fe67e ci(log): upgrade to Catch2 as a component 2023-11-29 12:38:47 +01:00
Ivan Grokhotkov
88e77ba1ed ci(nvs_flash): upgrade to Catch2 as a component, fix warnings 2023-11-29 12:38:47 +01:00
Ivan Grokhotkov
047e50615e ci(fatfs): upgrade to Catch2 as a component, enable CI build 2023-11-29 12:38:46 +01:00
Ivan Grokhotkov
8e81bbe014 ci(esp_rom): upgrade to Catch2 as a component, enable CI build 2023-11-29 12:38:46 +01:00
Ivan Grokhotkov
79a2c15477 ci(esp_event): upgrade host test to Catch2 as a component, fix build
- use espressif/catch2 component
- fix build issues after FreeRTOS upgrade
- enable test app build in CI
2023-11-29 12:38:46 +01:00
zhangyanjiao
b495f54329 fix(wifi): fix the crash issue when clear scan ap list 2023-11-29 19:23:35 +08:00
zhangyanjiao
0f18104d53 feat(wifi): add new api to get one scan ap record 2023-11-29 19:19:25 +08:00
GuyBrush
090bb85a12 fix(tools): fix path delimiter in gdbinit for Windows
Merges https://github.com/espressif/esp-idf/pull/12683

Signed-off-by: Alexey Lapshin <alexey.lapshin@espressif.com>
2023-11-29 13:54:48 +04:00
C.S.M
96f49c2603 Merge branch 'bugfix/bod_reset_c6_h2' into 'master'
fix(bod): Fix issue that RF cannot be enabled again after BOD triggered.

See merge request espressif/esp-idf!27287
2023-11-29 17:21:38 +08:00
Martin Vychodil
875849128f Merge branch 'feature/add_fatfs_sbom' into 'master'
feat(storage/fatfs): add sbom file manifest for FatFs

Closes IDF-8229

See merge request espressif/esp-idf!27436
2023-11-29 17:11:52 +08:00
Tomas Sebestik
e4f3ba1365 ci: update Mixed Template, Release notes header 2023-11-29 10:03:33 +01:00
Marius Vikhammer
99c88b9272 Merge branch 'feature/misc_core_build_tests_p4' into 'master'
ci(system): fixed and enabled misc system build tests

Closes IDF-8069, IDF-8071, and IDF-8119

See merge request espressif/esp-idf!27431
2023-11-29 16:58:07 +08:00
Armando (Dou Yiwen)
9674c5d467 Merge branch 'doc/esp32p4_sdmmc' into 'master'
doc: esp32p4 sdmmc programming guide

Closes IDF-7732

See merge request espressif/esp-idf!27171
2023-11-29 16:55:08 +08:00
Jin Cheng
823e0711c9 fix(bt/bluedroid): Set the alarm_arg to NULL after releasing to avoid double free 2023-11-29 15:55:46 +08:00
Tomas Rezucha
d315b97948 Merge branch 'fix/usb_uvc_example' into 'master'
fix(usb/uvc): Add negotiation retry for some cameras

Closes IDF-8085

See merge request espressif/esp-idf!27309
2023-11-29 15:38:53 +08:00
Tomas Sebestik
0b3ec55183 Merge branch 'remove/migrate-danger-gitlab' into 'master'
Remove/migrate danger gitlab

Closes RDT-523

See merge request espressif/esp-idf!27379
2023-11-29 15:14:23 +08:00
Rahul Tank
427f734dca Merge branch 'bugfix/add_legacy_adv_clear_vsc' into 'master'
fix(nimble): Add support for VSC to clear legacy adv memory

Closes BLERP-160

See merge request espressif/esp-idf!26561
2023-11-29 14:57:22 +08:00
gaoxu
7f296f2a20 ci(adc): add a test that adc continuous read after restarting 2023-11-29 14:30:25 +08:00
gaoxu
3acf3ec648 fix(adc): fix adc continuous get less results beacuse do not reset apb clk 2023-11-29 14:28:33 +08:00
Cao Sen Miao
b0c90ac456 fix(tempertuer_sensor): Fix regs on temperature sensor is not volatile due to GCC bug 2023-11-29 14:25:25 +08:00
Shu Chen
60da3e9c44 Merge branch 'fix/ieee802154_sleep_config' into 'master'
fix(ieee802154): fix ieeee802154 sleep enable configuration dependency issue

See merge request espressif/esp-idf!27389
2023-11-29 12:25:01 +08:00
Jiang Jiang Jian
145d40a120 Merge branch 'bugfix/fix_wifi_deinit_s_wifi_modem_sleep_lock' into 'master'
fix(wifi): fix wifi deinit s_wifi_modem_sleep_lock

See merge request espressif/esp-idf!27450
2023-11-29 12:15:51 +08:00
Armando
1400f3553d change(sdspi): disabled some tests (needs check/re-enable future) 2023-11-29 12:13:03 +08:00
Armando
368a11b618 refactor(sdmmc): remove sdmmc_console duplicate test cases 2023-11-29 12:13:03 +08:00
Armando
4aadacbcdc refactor(sdspi): added component pytest cases and enabled them on CI 2023-11-29 12:13:03 +08:00
Armando
9b0d75f2df refactor(sdmmc): added component pytest cases and enabled them on CI 2023-11-29 12:13:03 +08:00
Tomas Rezucha
62091b4fa0 fix(usb/uvc): Add negotiation retry for some cameras
Some cameras would refuse first stream format and would only accept
on second retry.
2023-11-29 11:34:47 +08:00
Lou Tian Hao
e4ba9ac3c4 Merge branch 'doc/change_deepsleep_example_readme' into 'master'
Doc/change deepsleep example readme

Closes IDFGH-11523

See merge request espressif/esp-idf!27413
2023-11-29 11:32:01 +08:00
Jiang Jiang Jian
234e5e8d09 Merge branch 'feat/max_ver_c3_199' into 'master'
feat(soc): Increase max supported version of C3 to 1.99

See merge request espressif/esp-idf!26821
2023-11-29 11:17:59 +08:00
Armando
f893750bb6 doc(sdmmc): doc(sdmmc): updated sdmmc programming guide for esp32p4 2023-11-29 11:13:14 +08:00
Armando
77299842ed doc(sdmmc): update emmc states 2023-11-29 11:13:09 +08:00
Marius Vikhammer
0c067fcb05 feat(ulp/lp_core): Added basic support for building and running a LP-Core app on ESP32P4 2023-11-29 10:50:40 +08:00
Aditya Patwardhan
77fbe13513 Merge branch 'bugfix/flash_encryption_build_failed' into 'master'
fix: fixed flash_encryption example build failure with certain config

Closes IDFGH-11492

See merge request espressif/esp-idf!27321
2023-11-29 10:10:40 +08:00
Ivan Grokhotkov
88fa79fcc7 feat(unity): upgrade to 2.6.0-RC1 2023-11-28 20:22:02 +01:00
Erhan Kurubas
4b0da52aa8 Merge branch 'save_isr_ctx_to_coredump' into 'master'
feat(coredump): save isr context to coredump elf file

Closes IDF-7790

See merge request espressif/esp-idf!27182
2023-11-28 23:40:11 +08:00
Jiang Jiang Jian
469dda11f9 Merge branch 'bugfix/nan_datapath_issues' into 'master'
Fix issues with NAN datapath

See merge request espressif/esp-idf!25595
2023-11-28 21:06:19 +08:00
liuning
2366bab75f fix(wifi): fix wifi deinit s_wifi_modem_sleep_lock 2023-11-28 20:56:37 +08:00
Rahul Tank
6b5d5698cf fix(nimble): Add support for VSC to clear legacy adv memory
Legacy adv does not have an API for clear adv memory in controller.
 Added VSC for same.
2023-11-28 18:13:51 +05:30
Rahul Tank
7ab678873c Merge branch 'bugfix/cts_handle_invalid_year_val' into 'master'
fix(nimble): Handled invalid write on year value in Current Time Service

Closes BT-3478

See merge request espressif/esp-idf!27301
2023-11-28 20:20:15 +08:00
Lou Tianhao
29488207ff docs(pm):add uart wakeup description when pd top 2023-11-28 19:31:33 +08:00
Linda
acf5cc636a docs: move the output log of targets to .inc files 2023-11-28 18:27:55 +08:00
Jeroen Domburg
7830b01d9f Merge branch 'bugfix/usb_ser_jtag_filled_ep_flush' into 'master'
Fix(driver): Add docs and driver fix for the case where a full EP does not cause the host to pickup the data

See merge request espressif/esp-idf!27388
2023-11-28 18:20:38 +08:00
Sudeep Mohanty
0b1649d22b refactor(freertos/idf): Refactor FreeRTOS suspend-resume tests
This commit refactors suspend-resume tests by moving them to appropraite
test files. This commit also removes tests which are not necessary or
have been subsumed by refactored tests.
2023-11-28 10:50:24 +01:00
jgujarathi
f73432f651 fix(wpa_supplicant): Move concurrent wps and dpp check to before creating task
- Move the check for checking concurrent wps and dpp check to before creating
  task rather than after.
2023-11-28 15:18:39 +05:30
Ivan Grokhotkov
b48b501d85 Merge branch 'refactor/core_init_registration' into 'master'
refactor(startup): implement registration of core init functions

See merge request espressif/esp-idf!27402
2023-11-28 17:25:00 +08:00
Peter Dragun
59179ce54d fix(tools/coredump): do not detect port when core file is used
Closes https://github.com/espressif/esp-idf/issues/12673
2023-11-28 10:20:08 +01:00
Tomáš Rohlínek
526ce4f5cc feat(storage/fatfs): add sbom file for FatFs 2023-11-28 09:36:40 +01:00
laokaiyao
7fa0d61c35 refactor(build_test_rules): invert the logic to avoid involving preview target
Only set enable condition for the app will introduce the preview target in README.md
Replace with disable logic instead
2023-11-28 16:14:17 +08:00
laokaiyao
bb0879b3f8 feat(esp32c5): introduce target esp32c5 2023-11-28 16:14:17 +08:00
wanglei
076aefce74 feat(esp32c5): add esp32c5 target in kconfig and tools 2023-11-28 16:14:17 +08:00
fl0wl0w
d149c1b26f Use configuration option instead of in components not related to FreeRTOS
Mergeshttps://github.com/espressif/esp-idf/pull/12481
2023-11-28 07:49:20 +00:00
nilesh.kale
a0c37ce33c fix: fixed build issue in flash encryption example with certain config
Addresses a build failure that occurs when flash encryption is enabled with default configurations.

The build failure did not manifest in the CI environment because the configuration
CONFIG_SECURE_FLASH_REQUIRE_ALREADY_ENABLED is set in sdkconfig.ci.
This configuration is responsible for reducing the bootloader size.

Closes https://github.com/espressif/esp-idf/issues/12619
2023-11-28 12:41:35 +05:30
jgujarathi
bb4b9d0687 fix(wpa_supplicant): Fix a crash in esp_wifi_wps_disable
- Fixes a crash observed in esp_wifi_wps_disable when wps process
  is ongoing, caused due to concurrency issues in cancelling timers.
2023-11-28 11:55:35 +05:30
Marius Vikhammer
b96f93b879 ci(system): fixed and enabled misc system build tests 2023-11-28 14:00:16 +08:00
Shyamal Khachane
d7db8e08e5 fix(esp_wifi): Fix issues with NAN datapath
1. Avoid possible crash scenarios while forming datapath
2. Modify peer records structure thus fixing issues in datapath establishment
3. Fix timer out of bound issue causing "No timer handle" warning
4. Fix miscellaneous service discovery and datapath issues
2023-11-28 10:24:52 +05:30
Lou Tianhao
e54684754c docs(pm):add gpio wakeup description when pd top 2023-11-28 12:02:25 +08:00
Lou Tianhao
5793945499 docs(pm):change_deepsleep_example_readme 2023-11-28 12:02:25 +08:00
C.S.M
dbe08fbaae Merge branch 'refactor/esp_driver_tsens' into 'master'
refactor(temperature_sensor): Make temperature sensor driver as a seperate component

See merge request espressif/esp-idf!27408
2023-11-28 10:39:14 +08:00
morris
19d71f7dd6 Merge branch 'bugfix/i80_lcd_tx_param_check_enhancement' into 'master'
fix(i80_lcd): enhance the check of a valid data phase

See merge request espressif/esp-idf!27347
2023-11-28 09:55:55 +08:00
Erhan Kurubas
a7bbf0d3aa feat(coredump): save isr context to coredump elf file 2023-11-27 16:46:42 +01:00
Tomas Rohlinek
38ee8c6373 Merge branch 'fix/fatfs_locking' into 'master'
fix(storage/fatfs): add missing locks in fatfs wrapper for vfs

Closes IDF-8282

See merge request espressif/esp-idf!26747
2023-11-27 19:21:21 +08:00
Fu Hanxi
09eec2ba47 Merge branch 'ci/fix_upload_failed_job_log_script' into 'master'
ci: fix upload failed job log script

See merge request espressif/esp-idf!27357
2023-11-27 18:32:45 +08:00
Roland Dobai
1b8445fe41 Merge branch 'fix/ci_tools_merge_junit' into 'master'
feat(ci): Merge tool test jobs and produce jUnit reports

Closes IDF-8215 and IDF-8216

See merge request espressif/esp-idf!27219
2023-11-27 18:08:20 +08:00
Cao Sen Miao
09f99e51db refactor(temperature_sensor): Make temperature sensor driver as a seperate component 2023-11-27 17:51:40 +08:00
Ivan Grokhotkov
6046b396ac fix(esp_timer): avoid signed integer overflow in ESP_SYSTEM_INIT_FN
CONFIG_ESP_TIMER_ISR_AFFINITY can be equal to -1, whereas
ESP_SYSTEM_INIT_FN takes an uint16_t argument. To avoid overflow,
move the choice of init mask into source code and set the value
explicitly.
2023-11-27 10:20:51 +01:00
Ivan Grokhotkov
75c92c3a66 refactor(startup): implement registration of core init functions
Similar to how the secondary init functions were already registered
via ESP_SYSTEM_INIT_FN, do the same for the core init functions.
This MR doesn't actually move the init functions into respective
components yet. This has to be carefully done in follow-up MRs.
2023-11-27 10:20:51 +01:00
Roshan Bangar
f78a948c8b fix(nimble): Handled invalid write on year value in Current Time Service 2023-11-27 14:46:00 +05:30
Wu Zheng Hui
24a000d2fa Merge branch 'bugfix/fix_uart_disabled_in_driver_cause_restart_stuck' into 'master'
fix(esp_system): fix uart clock disabled in driver cause esp_restart stuck

Closes IDF-8738

See merge request espressif/esp-idf!27409
2023-11-27 16:47:25 +08:00
Tomas Sebestik
742ec21371 ci(danger-gitlab): migrate code; Danger Gitlab from Shared-CI-Danger
- set only brew runners to run danger, tag "dangerjs"
2023-11-27 09:36:34 +01:00
Roland Dobai
cad04baba1 feat(ci): Merge tool test jobs and produce jUnit reports 2023-11-27 09:11:35 +01:00
Xu Si Yu
feb62db338 Merge branch 'bugfix/event_fd_for_spi_interface' into 'master'
fix(openthread): add eventfd nums for spi interface

See merge request espressif/esp-idf!27368
2023-11-27 15:22:04 +08:00
Tomáš Rohlínek
91e158aa0c fix(storage/fatfs): add missing locks in fatfs wrapper for vfs 2023-11-27 07:47:28 +01:00
Wan Lei
b058a7e277 Merge branch 'contrib/github_pr_12666' into 'master'
Update spi_master_example_main.c (GitHub PR)

Closes IDFGH-11545

See merge request espressif/esp-idf!27403
2023-11-27 12:48:37 +08:00
wuzhenghui
04fcfff5e0 fix(esp_system): fix uart clock disabled in driver cause esp_restart stuck 2023-11-27 12:06:07 +08:00
Jeroen Domburg
3f08e5c91a fix(driver): Add docs and driver fix for the case where a full EP does not cause the host to pickup the data 2023-11-27 12:04:30 +08:00
Darian
e334cda304 Merge branch 'change/usb_host_minor_optimizations' into 'master'
change(usb/host): Remove unecessary features

See merge request espressif/esp-idf!27308
2023-11-27 11:31:14 +08:00
Rahul Tank
82532740ae Merge branch 'bugfix/fix_duplicate_exception_vsc' into 'master'
fix(nimble): Fix the parameters in duplicate exception list vsc command

Closes BLERP-211

See merge request espressif/esp-idf!26863
2023-11-27 11:16:01 +08:00
morris
f209113b06 Merge branch 'feat/introduce_esp_driver_rmt' into 'master'
feat(rmt): move the driver to a new component

Closes IDF-8381

See merge request espressif/esp-idf!27310
2023-11-27 10:26:44 +08:00
Rahul Tank
d2a52ae749 fix(nimble): Fix the parameters in duplicate exception list vsc command 2023-11-26 12:45:01 +05:30
Lu Xianfan
7317555d39 Update spi_master_example_main.c 2023-11-26 13:04:03 +08:00
Tomas Sebestik
394a6ec351 ci(pre-commit-hooks): update version conventional-precommit-linter 2023-11-25 08:58:54 +01:00
morris
f2751213fd feat(rmt): move the driver to a new component 2023-11-25 00:29:53 +00:00
Darian Leung
095b541125 change(usb/host): Remove some handler function event flags
This commit removes internal event flags in the USB Host Library event handling
functions (i.e., usb_host_lib_handle_events() and usb_host_client_handle_events()).

Previously, these flags were added to reduce the number of times semaphores
were given. However, these flags were removed as the performance gain is
negligible and made the logic more complicated.

For usb_host_client_handle_events(), the following flags were removed:

- Remove 'events_pending' flag. The semaphore is now always given
- Remove 'blocked' flag. The 'handling_events' flag is already sufficient
- Critical sections are now shortened due to simplication of semaphore usage.

For usb_host_lib_handle_events(), the following flags were removed:

- Remove 'process_pending' flag. The semaphore is now always given
- Renamed 'blocked' flag to 'handling_events'
2023-11-24 22:08:57 +08:00
Song Ruo Jing
b403ef9527 Merge branch 'refactor/uart_read_bytes_from_ringbuf' into 'master'
change(uart): improved the internal logic of uart_read_bytes

Closes IDFGH-11220

See merge request espressif/esp-idf!27290
2023-11-24 21:35:05 +08:00
Chen Yu Dong
ab03c2ea13 Merge branch 'ci/fix_fetch_git_diff_on_schedules' into 'master'
ci: fix fetch git diff from pipeline schedules

See merge request espressif/esp-idf!27263
2023-11-24 21:15:41 +08:00
Darian Leung
16c37f9db1 change(usb/host): Remove data buffer headers from URBs
This commit removes the ability to reserve a header in the data buffer of an
allocated URB. The header was required for a now defunct implementation of a
synchronous USB Host library API. Thus, headers are no longer required in
URB data buffers.
2023-11-24 20:57:03 +08:00
luomanruo
201b7b8785 ble: update rom.ld file 2023-11-24 20:34:41 +08:00
luomanruo
7eb1a29eb8 ble: update sdkconfig_version on ESP32C2, ESP32H2 and ESP32C6 2023-11-24 20:18:23 +08:00
luomanruo
cb1390108e ble(fix): fix RX issue on ESP32-C2 2023-11-24 19:38:19 +08:00
luomanruo
f5ef22d54d ble:
Update c2 lib to 79ed4e8a
Update h2 lib to 9a237426
Update c6 lib to 9a237426
2023-11-24 19:20:47 +08:00
Song Ruo Jing
e358d379e5 change(uart): improved the internal logic of uart_read_bytes
Ringbuffer usage becomes more efficient with the use of xRingbufferReceiveUpTo

Closes https://github.com/espressif/esp-idf/issues/12386
2023-11-24 19:02:11 +08:00
Martin Vychodil
76011fc8f7 Merge branch 'fix/uart_select_malloc' into 'master'
fix(vfs): fix uart malloc when locates ISR context in IRAM

See merge request espressif/esp-idf!27278
2023-11-24 18:57:30 +08:00
Gao Xu
b9a3dd1b37 Merge branch 'bugfix/fix_adc_cali_error_after_light_sleep_wake_on_h2' into 'master'
adc: fix calibration error when waking up from light sleep on H2 and enable test

Closes IDF-8569

See merge request espressif/esp-idf!27242
2023-11-24 18:25:35 +08:00
Jiang Jiang Jian
f4c7dfd391 Merge branch 'bugfix/nan_svc_cancel_crash' into 'master'
Fix crash while cancelling NAN service

Closes WIFI-5970, WIFIBUG-172, and XIAOMI-154

See merge request espressif/esp-idf!25588
2023-11-24 18:04:46 +08:00
xiaqilin
8178961704 fix(ieee802154): fix ieeee802154 sleep enable configuration dependency issue 2023-11-24 17:56:57 +08:00
Marius Vikhammer
87757f0a66 Merge branch 'contrib/github_pr_11524' into 'master'
Update related documents with new ESP32-WROOM-32E & ESP32-WROOM-32UE datasheet (GitHub PR)

Closes IDFGH-10262

See merge request espressif/esp-idf!27227
2023-11-24 14:17:48 +08:00
Shyamal Khachane
05896af6bd fix(esp_wifi): Fix crash while cancelling NAN service 2023-11-24 04:15:39 +00:00
C.S.M
372f069324 Merge branch 'fix/flash_s2_ci' into 'master'
fix(spi_flash): Fix ESP32S2 multi-flash test

See merge request espressif/esp-idf!27338
2023-11-24 11:52:19 +08:00
Kevin (Lao Kaiyao)
ff45ef6516 Merge branch 'refactor/esp_driver_dac' into 'master'
refactor(dac): make dac driver as component

Closes IDF-8370

See merge request espressif/esp-idf!27264
2023-11-24 11:28:23 +08:00
Xu Si Yu
28e9610e01 Merge branch 'bugfix/fix_wrong_path_of_ot_sleep_ci' into 'master'
fix(ci): fix wrong path of ot sleep case

See merge request espressif/esp-idf!27359
2023-11-24 10:31:08 +08:00
Cao Sen Miao
b3280677fd fix(bod): Reset brownout in configuration to avoid RF cannot be enabled again 2023-11-24 10:17:20 +08:00
Tomas Rezucha
d015becbad Merge branch 'fix/usb_msc_test' into 'master'
fix(usb/test): Update MSC device test for new console

Closes IDFCI-1873

See merge request espressif/esp-idf!27358
2023-11-24 09:54:29 +08:00
Adam Múdry
7464f5e3ea fix(tools): replace nvs_partition_gen.py with new esp-idf-nvs-partition-gen package 2023-11-23 23:58:20 +01:00
Martin Vychodil
aee0ed7c07 Merge branch 'fix/fatfs_formatting_wrong_volume' into 'master'
Fix: FATFS formatting wrong partition

Closes IDFGH-11404

See merge request espressif/esp-idf!27011
2023-11-24 05:22:57 +08:00
Roland Dobai
f97b39b437 Merge branch 'fix/astyle_pyyaml_cython' into 'master'
fix(ci): bump astyle version to v1.0.5 in .pre-commit-config.yaml

Closes IDF-8608

See merge request espressif/esp-idf!27361
2023-11-23 22:10:04 +08:00
Adam Múdry
25714837cf fix(storage): FATFS WL function formatting wrong partition
Closes https://github.com/espressif/esp-idf/issues/12542

Co-authored-by: Tony Stuart <anthonyfstuart@gmail.com>
2023-11-23 13:54:00 +01:00
Xu Si Yu
45095994e6 fix(openthread): add eventfd nums for spi interface 2023-11-23 19:54:30 +08:00
Cao Sen Miao
2c131672db fix(spi_flash): Fix ESP32S2 multi-flash test 2023-11-23 19:49:59 +08:00
Island
a3bea27e68 Merge branch 'ci/fix_nimble_build_error' into 'master'
ci(nimble): removed ci configs which set esp32 only options

See merge request espressif/esp-idf!27349
2023-11-23 19:14:21 +08:00
Martin Vychodil
caf3ae711b Merge branch 'fix/memory_leak_in_nvs_flash' into 'master'
fix(nvs_flash): Fix the memory leak in the nvs_flash test app

Closes IDFCI-1872

See merge request espressif/esp-idf!27324
2023-11-23 18:23:13 +08:00
Frantisek Hrbata
3588267e67 fix(ci): bump astyle version to v1.0.5 in .pre-commit-config.yaml
pyyaml have problem with newer cython(3.0), this was fixed in pyyaml
6.0.1, which requires cython<3.0. The pyyaml dependency in astyle
was fixed in v1.0.5, but the pre-commit config is still useing v1.0.2.
As a result the pre-commit hooks installation of astyle can fail
on pyyaml. Fix this by bumping the astyle version for pre-commit.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-11-23 11:18:01 +01:00
Martin Vychodil
65cdca7696 Merge branch 'feature/expose_unload_partitions' into 'master'
refactor(esp_partition): Expose function for unloading partitions

Closes IDFGH-11498

See merge request espressif/esp-idf!27331
2023-11-23 17:11:53 +08:00
Xu Si Yu
86300959c5 fix(ci): fix wrong path of ot sleep case 2023-11-23 16:48:06 +08:00
Tomas Rezucha
e51a0cf2b4 fix(usb/test): Update MSC device test for new console 2023-11-23 08:50:45 +01:00
Fu Hanxi
4ef1a8cc3a ci: fix upload failed job log script 2023-11-23 08:03:42 +01:00
Michael (XIAO Xufeng)
eb93daafd0 feat(soc): Increase max supported version of C3 to 1.99 2023-11-23 06:58:18 +00:00
laokaiyao
ef7772eee0 refactor(dac): make dac driver as component 2023-11-23 12:04:06 +08:00
Marius Vikhammer
47690e2465 ci(nimble): removed ci configs which set esp32 only options 2023-11-23 12:03:13 +08:00
Wu Zheng Hui
581824d1f2 Merge branch 'feature/reinitialize_icg_map_in_modem_module_enable' into 'master'
fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable

Closes WIFI-6312

See merge request espressif/esp-idf!27168
2023-11-23 11:55:34 +08:00
Jiang Jiang Jian
676968ab0e Merge branch 'bugfix/ble_update_lib_1110' into 'master'
Bugfix/ble update lib 1110

Closes BLERP-242, BLERP-248, BLERP-241, BLERP-243, BLERP-239, BLERP-256, BLERP-257, BLERP-258, BLERP-259, BLERP-260, BLERP-261, BLERP-262, BLERP-240, BLERP-227, BLERP-214, BLERP-266, BLERP-267, BLERP-268, BT-3481, WIFI-6313, and BLERP-287

See merge request espressif/esp-idf!27060
2023-11-23 11:05:18 +08:00
morris
adf33fa57e fix(i80_lcd): enhance the check of a valid data phase
in case the user passes a (uint8_t){0x00} parameter with the perameter size
set to zero
2023-11-23 11:02:28 +08:00
Jiang Jiang Jian
5d3c1bb8ef Merge branch 'bugfix/fix_wifi_init_reentrant_issue' into 'master'
fix(wifi): fix wifi init reentrant issue

Closes WIFIBUG-242

See merge request espressif/esp-idf!26718
2023-11-23 10:57:28 +08:00
Jakob Hasse
0a5fd73dd2 Merge branch 'refactor/memory_leak_message_shorter' into 'master'
refactor(ci): prevent memory leak message without memory leak

See merge request espressif/esp-idf!27226
2023-11-23 10:49:24 +08:00
Jakob Hasse
5f4865e838 Merge branch 'doc/soc_cap_tool' into 'master'
Doc/soc cap tool

See merge request espressif/esp-idf!27154
2023-11-23 10:47:01 +08:00
Mahavir Jain
810133a5fd Merge branch 'support/add_srp_salt_ver_gen_api' into 'master'
Generate Salt and verifier pair for given username and password

See merge request espressif/esp-idf!25239
2023-11-23 00:30:57 +08:00
Jiang Jiang Jian
80209bfca6 Merge branch 'bugfix/authmode_incompatible_reason_code' into 'master'
Expand situations for incompatible security configuration disconnect reason code and fix wep connection issue

Closes WIFIBUG-260

See merge request espressif/esp-idf!27232
2023-11-22 22:58:12 +08:00
Roland Dobai
f39a620afa Merge branch 'contrib/github_pr_12558' into 'master'
Fix: esptool_py incorrectly assumed target name equals binary name (GitHub PR)

Closes IDFGH-11420

See merge request espressif/esp-idf!27173
2023-11-22 22:40:34 +08:00
Shu Chen
db84b88d14 Merge branch 'fix/add_docs_for_coex' into 'master'
feat(docs) Add RF Coexist docs for H2

Closes IDF-8550

See merge request espressif/esp-idf!27150
2023-11-22 21:23:33 +08:00
Armando (Dou Yiwen)
b8121227b6 Merge branch 'refactor/esp_driver_sdio' into 'master'
refactor(sdio): place sdio slave driver into a new component

Closes IDF-8373

See merge request espressif/esp-idf!27125
2023-11-22 21:13:00 +08:00
David Čermák
17f6528718 Merge branch 'bugfix/lwip_dns_docs' into 'master'
fix(lwip): Document DNS limitation in lwIP

See merge request espressif/esp-idf!27099
2023-11-22 20:39:22 +08:00
harshal.patil
5e1335aae4 fix(nvs_flash): Fix the memory leak in the nvs_flash test app
The leak is now reduced by allocating the AES interrupt and
loading the partitions in the test setup instead of in the tests itself.
2023-11-22 16:23:18 +05:30
Adam Múdry
0cc38fb901 refactor(esp_partition): Expose function for unloading partitions
Closes https://github.com/espressif/esp-idf/issues/12625
2023-11-22 11:13:32 +01:00
Rahul Tank
356fe4881b Merge branch 'bugfix/fix_dangling_pointer_compilation_warning' into 'master'
fix(nimble): Fix dangling pointer error during compilation

See merge request espressif/esp-idf!26984
2023-11-22 17:59:30 +08:00
Martin Vychodil
bd91c7b510 Merge branch 'contrib/github_pr_12567' into 'master'
Add option to configure FATFS_USE_LABEL boolean (GitHub PR)

Closes IDFGH-11429

See merge request espressif/esp-idf!27100
2023-11-22 17:57:23 +08:00
Liu Ning
e50d9fca3a Merge branch 'feature/refactor_some_coexist_sections' into 'master'
feature(coex): refactor some coexist sections

Closes WIFI-5976、WIFI-5464 以及 TZ-81

See merge request espressif/esp-idf!26706
2023-11-22 17:48:24 +08:00
liuning
b47bf9e742 fix(wifi): fix wifi init reentrant issue 2023-11-22 17:39:56 +08:00
zwx
da9972183c feat(docs): Add RF Coexist docs for H2 2023-11-22 16:54:55 +08:00
Harshit Malpani
3e0700bfda Merge branch 'bugfix/return_code_of_ota_finish_api' into 'master'
fix(esp_https_ota): fix return code of esp_https_ota_finish API

Closes IDFGH-11510

See merge request espressif/esp-idf!27296
2023-11-22 15:48:39 +08:00
David Cermak
1f6a927e33 fix(lwip): Document DNS limitation in lwIP
* Add a note that DNS server config is global in lwIP
* Add a section about defining LWIP config macros from CMake
* Mention the DNS limitation in ESP-IDF additions to lwIP
* Update CN for lwIP DNS limitation

Co-Authored-By: Wang Ziyan <wangziyan@espressif.com>
2023-11-22 08:48:33 +01:00
C.S.M
067ee29774 Merge branch 'bugfix/improve_enc_write_performance' into 'master'
bugfix(spi_flash): Improve encryption write performance

Closes IDFGH-11415

See merge request espressif/esp-idf!27123
2023-11-22 15:19:28 +08:00
Rahul Tank
229d275fb1 Merge branch 'bugfix/cleanup_nimble_sdkconfig' into 'master'
ci(nimble): Cleanup sdkconfig files for nimble examples

Closes IDF-8496

See merge request espressif/esp-idf!26932
2023-11-22 14:48:19 +08:00
Armando
b860930545 ci(sdio): updated sdio rules.yml 2023-11-22 14:23:14 +08:00
jgujarathi
b47b75f6c8 fix(esp_wifi): Expand situations for REASON_NO_AP_FOUND_WITH_COMPATIBLE_SECURITY
- Fixes issue with connecting and discovering WEP APs
- Expsnds the reasons for trigerring a disconnect using
REASON_NO_AP_FOUND_WITH_COMPATIBLE_SECURITY
-- SAE-PK configured as compulsory in sta config but disabled for the AP
-- SAE-H2e configured as compulsory in sta config but disabled for an AP
that has authmode as WPA3-PSK or WPA3-WPA2-PSK.
-- Open AP found but we have set password or enabled enterprise mode.
-- SAE H2E only ap but we have SAE HnP setup in config.
-- WPA3-EXT_PSK AP but SAE-H2E disabled in config
2023-11-22 11:29:30 +05:30
morris
397f9f2274 Merge branch 'feature/rgb_lcd_support_esp32p4' into 'master'
feat(lcd): add LL driver of rgb/i80 LCD for esp32p4

See merge request espressif/esp-idf!27200
2023-11-22 13:08:59 +08:00
Rahul Tank
1e4e193ca7 fix(nimble): Fix dangling pointer error during compilation 2023-11-22 08:58:41 +05:30
Armando
22b4270a6b refactor(sdio): place sdio slave driver into a new component 2023-11-22 10:37:31 +08:00
Cao Sen Miao
6953b51b3a fix(spi_flash): Improve encryption write performance, Closes https://github.com/espressif/esp-idf/issues/12553 2023-11-22 10:33:05 +08:00
Jiang Jiang Jian
275a7ec2a2 Merge branch 'fix/esp32c6_sleep_pll_issue' into 'master'
fix(pm): add mac/bb power down/up prepare for fix esp32c6 pll issue

Closes BLERP-105, BLERP-213, and BLERP-234

See merge request espressif/esp-idf!26208
2023-11-22 10:29:48 +08:00
Rahul Tank
ff967f8b3b Merge branch 'bugfix/ble_gap_unpair_oldest_peer_fix' into 'master'
fix(nimble): Fixed ble_gap_unpair_oldest_peer to prevent writing to invalid memory

Closes IDFCI-1871, BT-3509, and BLERP-270

See merge request espressif/esp-idf!27158
2023-11-22 09:14:30 +08:00
morris
106baac0bc Merge branch 'feature/rmt_receive_partial_callback' into 'master'
feat(rmt): support partial receive if the incoming packet is very long

Closes IDF-6579

See merge request espressif/esp-idf!27033
2023-11-22 06:37:46 +08:00
Vikram Dattu
08f2422ff8 feat(provisioning): Generate Salt and verifier pair for given username and password
This commit adds a new feature to generate a salt and verifier pair for a given username and
password during the provisioning process. This is useful in scenarios where the pairing pin is
randomly generated and shown via some interface such as a display or console.

- Uses the provided username and password to generate a salt and verifier pair
- Adds support for dev mode where the pin/password can still be read from flash
2023-11-21 18:06:24 +05:30
Vikram Dattu
b97322c521 refactor(esp_srp): Expose esp_srp.h and add API docs
- Also added missing `protocomm_security2` reference in `protocomm.rst`
2023-11-21 18:06:24 +05:30
liuning
c783332962 feat(coex): apply struct for coex version 2023-11-21 18:00:26 +08:00
liuning
aec27052b6 feat(coex): rename coexist sections 2023-11-21 18:00:25 +08:00
Harshit Malpani
85e4220250 fix(esp_https_ota): fix return code of esp_https_ota_finish API
Closes https://github.com/espressif/esp-idf/issues/12635
2023-11-21 14:49:21 +05:30
darshan
a3cdfcb3aa fix(nimble): Fixed ble_gap_unpair_oldest_peer to prevent writing to invalid memory 2023-11-21 14:42:36 +05:30
zwx
7409f41527 fix(vfs): fix uart malloc when locates ISR context in IRAM 2023-11-21 16:36:08 +08:00
Mahavir Jain
30eb2918c6 Merge branch 'contrib/github_pr_12460' into 'master'
fixing OTA write up to SPI_FLASH_SEC_SIZE margins (GitHub PR)

Closes IDFGH-11311

See merge request espressif/esp-idf!26897
2023-11-21 15:12:12 +08:00
Mahavir Jain
fc22c61cdf Merge branch 'docs/update_copyrights_page' into 'master'
docs: add protobuf-c, cmock, unity components entry to copyrights page

See merge request espressif/esp-idf!27266
2023-11-21 15:11:30 +08:00
luomanruo
29f712651a ble(fix): deinit crash issue 2023-11-21 15:02:43 +08:00
zwl
e9b4c3e6c2 fix(ble): fixed ble occasional rx exception issue 2023-11-21 15:00:55 +08:00
luomanruo
30f4a43556 ci(ble/bluedroid): Add notes in sdkconfig.defaults 2023-11-21 15:00:55 +08:00
luomanruo
20c890f33b ble: update controller log module 2023-11-21 15:00:55 +08:00
luomanruo
93df0042d1 ble: update c6 h2 lib to 5b1dfd2b, c2 lib to db4e1fb2 2023-11-21 15:00:55 +08:00
luomanruo
ec119aa694 ble(fix): Fixed the issue of not returning memory to the memory pool after deinit callout
ble(fix): Fixed the issue of not returning memory to the memory pool after deinit callout
2023-11-21 15:00:55 +08:00
Rahul Tank
843f48fb00 ci(nimble): Cleanup sdkconfig files 2023-11-21 11:52:11 +05:30
Wang Ziyan
baf1091868 Merge branch 'docs/update_cn_for_sdmmc_and_ulp-lp-core' into 'master'
docs: Update CN for sdmmc and ulp-lp-core docs

Closes DOC-6632

See merge request espressif/esp-idf!27198
2023-11-21 13:13:34 +08:00
Chen Yu Dong
d7345a89df Merge branch 'ci/fix_fetch_from_mirror_url_if_exists' into 'master'
ci: fix fetch_from_mirror_url_if_exists

See merge request espressif/esp-idf!27184
2023-11-21 12:03:52 +08:00
Lou Tian Hao
cde12242b4 Merge branch 'feature/support_ext1_clear_spec_pins' into 'master'
feat: support ext1 add or remove spec pin for chips which support ext1 wakeup

Closes IDFGH-11440

See merge request espressif/esp-idf!26999
2023-11-21 11:29:33 +08:00
morris
e86acbe556 feat(lcd): pre-support rgb and i80 lcd driver on esp32p4
added LL functions for LCD_CAM module, only the LCD part
2023-11-21 10:46:52 +08:00
Wang Zi Yan
90afe1a32f docs: Update CN for sdmmc and ulp-lp-core docs 2023-11-21 10:34:54 +08:00
Marius Vikhammer
4bb8f5c577 Merge branch 'feature/remove_esp_spi_g1' into 'master'
refactor(spi): moved spi hw sharing func to hw support

Closes IDF-8503

See merge request espressif/esp-idf!27110
2023-11-21 10:26:55 +08:00
Tomas Rezucha
9b233aca2b Merge branch 'fix/usb_short_desc' into 'master'
fix(usb/host): Do not abort on string descriptor overflow

See merge request espressif/esp-idf!27127
2023-11-21 10:22:03 +08:00
xiaqilin
a0ecd49725 feat(pm): change power up/down register callback name 2023-11-21 10:18:55 +08:00
xiaqilin
5a77f87986 feat(ieee802154): register power_down/power_up callback for esp32c6 2023-11-21 10:18:55 +08:00
cjin
e98e291601 fix(pm): switch root clk src to PLL for modem reg opt and added callback 2023-11-21 10:18:32 +08:00
xiaqilin
3292ee7039 fix(ieee802154): remove skip light sleep callback 2023-11-21 10:18:17 +08:00
cjin
c1798adac6 change(pm): add pm lock count check before reg backup 2023-11-21 10:18:16 +08:00
xiaqilin
15df836ab4 fix(ieee802154): add skip light sleep for esp32c6 light sleep 2023-11-21 10:18:03 +08:00
xiaqilin
f428f9d8c0 fix(pm): remove unuse extra_refs related code 2023-11-21 10:18:03 +08:00
cjin
ff69928064 feat(pm): change power down prepare position 2023-11-21 10:18:03 +08:00
cjin
15e1c8d3ca feat(ble): remove software regdma opt in bt 2023-11-21 10:18:03 +08:00
xiaqilin
b9baf49782 fix(pm): add mac/bb power down/up prepare for fix esp32c6 pll issue 2023-11-21 10:18:03 +08:00
Marius Vikhammer
68574398d1 docs(hw_ref): updated with latest module datasheet link 2023-11-21 02:10:42 +00:00
Haruki Nakajima
74f95d7a69 Update get-started-devkitc.rst
Update related documents with new datasheet
2023-11-21 02:10:42 +00:00
Shu Chen
4cecb6ac19 Merge branch 'fix/ot_invalid_configs' into 'master'
fix(openthread): remove invalid configs from ot examples

Closes IDF-8492

See merge request espressif/esp-idf!27177
2023-11-21 10:04:24 +08:00
Wang Meng Yang
02e6dc7cd7 Merge branch 'fix/remove_deprecated_bt_example_sdkfonfigs' into 'master'
ci(bt/bluedroid): remove configs that are not in effect

Closes IDF-8498

See merge request espressif/esp-idf!26906
2023-11-21 10:03:00 +08:00
Jakob Hasse
e6e1cf4a19 Merge branch 'contrib/github_pr_12525' into 'master'
change(console): print sorted help (GitHub PR)

Closes IDFGH-11382

See merge request espressif/esp-idf!27022
2023-11-21 09:31:44 +08:00
Chen Yudong
294222eabf ci: fix fetch git diff from pipeline schedules 2023-11-20 22:08:57 +08:00
Jiang Jiang Jian
59ba806b01 Merge branch 'bugfix/allow_some_special_invalid_igtk_keyindex_to_workaround_faulty_ap' into 'master'
fix(wifi): allow some special igtk keyindx to workaround faulty APs

Closes WIFI-6342

See merge request espressif/esp-idf!27213
2023-11-20 21:42:05 +08:00
Shu Chen
8a349a2618 fix(openthread): remove invalid configs from ot examples 2023-11-20 19:43:34 +08:00
Lou Tianhao
ea7cfc40ae change(pm/ext1): replace esp_sleep_clear_ext1_wakeup_io by esp_sleep_disable_ext1_wakeup_io 2023-11-20 19:30:50 +08:00
Armando (Dou Yiwen)
712e7756f5 Merge branch 'refactor/esp_driver_sdspi' into 'master'
refactor(sdspi): place sdspi driver into a new component

See merge request espressif/esp-idf!27225
2023-11-20 19:24:10 +08:00
morris
add4749d15 feat(rmt): callback function can support partial receive 2023-11-20 18:49:38 +08:00
gaoxu
4f81883ccf fix(adc): restore cali registers after light sleep wake up on H2 and enable test 2023-11-20 17:38:34 +08:00
morris
05e6ccbba7 feat(gdma): can read interrupt raw status 2023-11-20 17:25:57 +08:00
morris
2f72b3578a feat(gdma): distinguish abnormal and normal eof in the gdma event data 2023-11-20 17:25:57 +08:00
Mahavir Jain
e9bdec4042 docs: add protobuf-c, cmock, unity components entry to copyrights page 2023-11-20 14:48:13 +05:30
Sudeep Mohanty
3334ec54fa Merge branch 'feature/freertos_config_for_tmr_task_affinity' into 'master'
feat(freertos/idf): Add config option for FreeRTOS Timer Task core affinity

Closes IDF-7906 and IDFGH-8895

See merge request espressif/esp-idf!26652
2023-11-20 16:51:31 +08:00
sonika.rathi
e15fcd2b28 docs(vfs): update esp_vfs_register_fd api description
Closes https://github.com/espressif/esp-idf/issues/11586
2023-11-20 09:39:05 +01:00
Lou Tianhao
b86d550ec5 change(pm/ext): remove ext0_wakeup_clear and ext1_wakeup_clear 2023-11-20 16:36:50 +08:00
Tomas Rezucha
f48f433d5b fix(usb/host): Do not abort on string descriptor overflow
Some devices return full LANGID table, even if short LANGID table was requested.
No memory overflow occurs, because we have allocated enough memory for transfers to the
default pipe. So we can ignore the error and continue with string desc fetching.
2023-11-20 09:12:54 +01:00
Lou Tianhao
8db9f79bd2 change(pm/ext1): replace esp_sleep_set_ext1_wakeup_io by esp_sleep_enable_ext1_wakeup_io 2023-11-20 16:04:01 +08:00
Lou Tianhao
d97f45b3a8 bugfix: ext0_wakeup_prepare func when s_config.wakeup_triggers & RTC_EXT0_TRIG_EN == false 2023-11-20 16:03:57 +08:00
Chen Yudong
d738185ff8 ci: fix fetch_from_mirror_url_if_exists 2023-11-20 16:00:01 +08:00
morris
72e414105d Merge branch 'contrib/github_pr_12559' into 'master'
fix(spi): correct macro REG_SPI_BASE(i) for all targets (GitHub PR)

Closes IDFGH-11421 and IDFGH-11424

See merge request espressif/esp-idf!27085
2023-11-20 15:55:41 +08:00
morris
7690888e4f Merge branch 'bugfix/rmt_tx_check_owner' into 'master'
fix(rmt): reenable dma owner check

Closes IDFGH-11426

See merge request espressif/esp-idf!27141
2023-11-20 14:51:34 +08:00
gongyantao
cbb3da69ae ci(bt/bluedroid): remove configs that are not in effect 2023-11-20 14:32:13 +08:00
Rahul Tank
3ccadd053c Merge branch 'bugfix/fix_incorrect_irk_set' into 'master'
fix(nimble): Fixed issue of incorrect IRK being set

See merge request espressif/esp-idf!27244
2023-11-20 14:06:40 +08:00
Aditya Patwardhan
9cf90d8a7a Merge branch 'bugfix/fix_http_client_async_mode' into 'master'
fix(esp_http_client): Fix esp_http_client async mode

Closes IDFGH-11191

See merge request espressif/esp-idf!26333
2023-11-20 14:05:03 +08:00
Armando
b8aba80172 feat(sd): added readme for dependency among SD host related components 2023-11-20 12:30:03 +08:00
Armando
c50e364a97 refactor(sdspi): place sdspi driver into a new component 2023-11-20 12:30:03 +08:00
Marius Vikhammer
52e3f09b32 refactor(spi): moved spi hw sharing func to hw support
Common spi functionality for sharing the SPI bus between modules is moved from esp_driver_spi to
a more fitting location in esp_hw_support (shared HW resource control).

This also allows us to decouple the spi_flash driver from esp_driver_spi, removing
esp_driver_spi and esp_ringbuf from G1 builds.
2023-11-20 12:07:54 +08:00
Mahavir Jain
f2a0beb579 Merge branch 'fix/esp32p4-memory-layout' into 'master'
fix(heap): Update the heap memory layout on esp32p4 target

Closes IDF-8024, IDF-7921, and IDF-8002

See merge request espressif/esp-idf!26702
2023-11-20 11:14:39 +08:00
Kevin (Lao Kaiyao)
8074fa4fae Merge branch 'refactor/esp_driver_i2s' into 'master'
refactor(i2s): make i2s driver as component

Closes IDF-8377

See merge request espressif/esp-idf!26991
2023-11-20 11:14:07 +08:00
Mahavir Jain
9fb38d82a3 Merge branch 'fix/rng_register_prefix_discrepency_newer_targets' into 'master'
Fix: RNG register prefix discrepancy for ESP32C6 and ESP32H2

Closes DOC-5161 and DOC-5175

See merge request espressif/esp-idf!27212
2023-11-20 10:53:09 +08:00
Roman Leonov
1d7132ce6b Merge branch 'bugfix/usb_host_binterval_check_loosening' into 'master'
fix(usb/host): Remove bInterval verification during pipe opening for Interrupt and Isochronous EPs

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

See merge request espressif/esp-idf!27075
2023-11-18 03:39:18 +08:00
C.S.M
10f4b04e40 Merge branch 'change/add_scl_check' into 'master'
change(i2c): Add check for scl frequency for master_bus_add_device

Closes IDFGH-11469

See merge request espressif/esp-idf!27223
2023-11-17 23:30:32 +08:00
laokaiyao
74441d14ab refactor(i2s): make i2s driver as component 2023-11-17 21:29:17 +08:00
Kevin (Lao Kaiyao)
f0129e17a8 Merge branch 'refactor/esp_driver_ana_cmpr' into 'master'
refactor(ana_cmpr): make analog comparator driver as component

Closes IDF-8521

See merge request espressif/esp-idf!27029
2023-11-17 19:07:08 +08:00
Rahul Tank
edb28d7276 fix(nimble): Fixed issue of incorrect IRK being set 2023-11-17 15:42:57 +05:30
morris
1677bfa0a3 Merge branch 'bugfix/mcpwm_fault_trigger_test' into 'master'
fix(mcpwm): fault trigger test forget connect timer and operator

See merge request espressif/esp-idf!27001
2023-11-17 16:31:36 +08:00
Lou Tianhao
7343d16a13 change(pm): add ESP_PM_LOCK_MAX in esp_pm_lock_type_t and change some description for esp_pm_lock_create 2023-11-17 16:24:01 +08:00
Lou Tianhao
aaa1ea8af1 docs(pm/ext1): support esp_sleep_enable_io_ext1_wakeup and esp_sleep_disable_io_ext1_wakeup 2023-11-17 16:23:56 +08:00
Lou Tianhao
a02f72bb81 change(pm/ext1): replace deprecated ext1 func 2023-11-17 16:20:54 +08:00
Lou Tianhao
5b91acb1a1 fix(pm/ext1): ext1_wakeup_prepare func when s_config.wakeup_triggers & RTC_EXT1_TRIG_EN == false 2023-11-17 16:20:38 +08:00
Lou Tianhao
cc0e73a11f feat(pm/ext1): support esp_sleep_enable_io_ext1_wakeup and esp_sleep_disable_io_ext1_wakeup
squash! feat(pm/ext1): support esp_sleep_enable_io_ext1_wakeup and esp_sleep_disable_io_ext1_wakeup
2023-11-17 16:20:38 +08:00
Michael (XIAO Xufeng)
ad1e48f932 Merge branch 'doc/light_sleep_example_pg' into 'master'
doc(sleep_mode): Added link to lightsleep example

See merge request espressif/esp-idf!27202
2023-11-17 15:37:28 +08:00
Mahavir Jain
7505667e7d Merge branch 'bugfix/esp32h2_ecdsa_hardware_k' into 'master'
fix(esp32h2): program use_hardware_k efuse bit for ECDSA key purpose

Closes IDF-8508 and IDF-8506

See merge request espressif/esp-idf!26918
2023-11-17 15:10:12 +08:00
Cao Sen Miao
85ced64983 change(i2c): Add check for scl frequency for master_bus_add_device
Closes https://github.com/espressif/esp-idf/issues/12598
2023-11-17 15:07:42 +08:00
wuzhenghui
6661e11203 fix(esp_hw_support): re-initialize icg map in modem_clock_module_enable 2023-11-17 14:05:23 +08:00
Jakob Hasse
7781bfae79 refactor(ci): prevent memory leak message without memory leak 2023-11-17 12:15:46 +08:00
Wang Meng Yang
a7fbf452fa Merge branch 'feature/support_for_32_and_128_bit_custom_uuids' into 'master'
feat(bt/bluedroid): Add new APIs for 32 and 128-bit UUIDs

Closes IDFGH-10721

See merge request espressif/esp-idf!27069
2023-11-17 11:48:57 +08:00
Lou Tianhao
7469df6c14 fix(pm/ext1): fix c6 h2 lp_aon_ll_ext1_set_wakeup_pins func 2023-11-17 11:38:20 +08:00
Wang Meng Yang
0107fe2076 Merge branch 'bugfix/add_par_check_in_ag_cind_res' into 'master'
Bugfix/add par check in ag cind res

See merge request espressif/esp-idf!27147
2023-11-17 11:07:50 +08:00
Wang Meng Yang
227f531b9d Merge branch 'bugfix/cleanup_ble_examples_sdkconfig' into 'master'
ci(ble/bluedroid):cleanup BLE examples sdkconfig

Closes IDF-8495

See merge request espressif/esp-idf!26931
2023-11-17 10:56:58 +08:00
Wu Zheng Hui
a2f0198cd1 Merge branch 'bugfix/fix_onebyte_watchpoint_setting' into 'master'
fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting

See merge request espressif/esp-idf!27159
2023-11-17 10:47:23 +08:00
Jakob Hasse
46e44ee154 docs(soc): improved soc caps generation documentation 2023-11-17 10:43:59 +08:00
wanlei
4dcd6d7913 fix(spi): correct some signals and dummy bits docs 2023-11-17 02:39:28 +00:00
TD-er
90eada6993 fix(spi): Correct REG_SPI_BASE(i) macro for all targets
The existing formula can never match these registers.

Closes https://github.com/espressif/esp-idf/pull/12559
Closes https://github.com/espressif/esp-idf/pull/12562
2023-11-17 02:39:28 +00:00
Kevin (Lao Kaiyao)
2e6e47d988 Merge branch 'feature/support_touch_sensor_on_p4' into 'master'
feat(touch): pre-support of touch driver on p4

See merge request espressif/esp-idf!25569
2023-11-17 10:36:11 +08:00
Wang Meng Yang
1eff15b7eb Merge branch 'bugfix/spp_deinit_crash' into 'master'
fix(bt/bluedroid): Fix crash caused by undeleted timer in esp_spp_deinit

Closes BT-3492

See merge request espressif/esp-idf!27093
2023-11-17 10:33:27 +08:00
laokaiyao
bc0201d6f0 refactor(ana_cmpr): make analog comparator driver as component 2023-11-17 10:05:22 +08:00
Jin Cheng
57e3e97497 fix(bt/bluedroid): Avoided crash of LoadProhibited during HFP AG deinitialization
Move the release of the control blocks from the start
of deinitialization to the profile disabled event.
2023-11-17 09:39:46 +08:00
Roland Dobai
82a110c7f3 Merge branch 'fix/monitor_print_filter' into 'master'
fix(tools/monitor): fix PRINT_FILTER env variable usage

Closes IDF-8224

See merge request espressif/esp-idf!26383
2023-11-16 21:52:05 +08:00
Roman Leonov
bd51768340 fix(usb/host): remove bInterval verification during pipe opening for INTR and ISOC EPs 2023-11-16 14:11:01 +01:00
zwx
da3107a159 feat(lwip): support NA router farwording flag set
* Update submodule: git log --oneline
  4a8286ab8bcf983f22421e3d4be650837b5eb277..542ba2997f6cc14fe9c3d781bf9b0d890cd70bb1
- fix router forwarding flag set (espressif/esp-lwip@542ba299)
2023-11-16 20:21:06 +08:00
muhaidong
147463a0ac fix(wifi): allow some special igtk keyindx to workaround faulty APs 2023-11-16 20:20:08 +08:00
harshal.patil
91af44d6e8 fix(soc/esp32h2): Fix llperi_rng_data field discrepancy 2023-11-16 17:49:26 +05:30
harshal.patil
798059ace1 fix(soc/esp32c6): Fix llperi_rng_data field discrepancy 2023-11-16 17:49:26 +05:30
Jin Cheng
eab9037b1c fix(bt/bluedroid): Added dynamic memory allocation for HFP control blocks 2023-11-16 20:10:29 +08:00
Armando (Dou Yiwen)
00124b6f65 Merge branch 'refactor/esp_driver_sdmmc' into 'master'
refactor(sdmmc): place sdmmc driver into a new component

See merge request espressif/esp-idf!27059
2023-11-16 20:02:23 +08:00
zhiweijian
e807347a46 ci(ble/bluedroid):cleanup BLE examples sdkconfig 2023-11-16 19:56:39 +08:00
laokaiyao
f35ec64a0b feat(touch): support touch driver on p4 (soc) 2023-11-16 11:13:02 +00:00
Sudeep Mohanty
f01dbe0314 feat(freertos/idf): Add config option for FreeRTOS Timer Task core affinity
This commit adds the ability to set the core affinity for the FreeRTOS
Timer Service task when multi-core configuration is enabled. This commit
also adds a Kconfig option to set the core affinity of the timer task
via the menuconfig.

Closes https://github.com/espressif/esp-idf/issues/10315
2023-11-16 11:42:40 +01:00
wuzhenghui
783059a592 fix(riscv): supports 1 byte and larger than 64byte range watchpoint setting 2023-11-16 18:11:57 +08:00
wuzhenghui
161bd8bfed change(soc): rename SOC_CPU_WATCHPOINT_SIZE to SOC_CPU_WATCHPOINT_MAX_REGION_SIZE 2023-11-16 18:11:57 +08:00
Xiao Xufeng
a43b074456 doc(sleep_mode): Added link to lightsleep example 2023-11-16 18:01:30 +08:00
Island
dd5b091a8b Merge branch 'bugfix/fix_bt_3407' into 'master'
Fixed power state setting when entering modem sleep on esp32c3

See merge request espressif/esp-idf!27165
2023-11-16 17:09:29 +08:00
Liu Linyan
cb4e3e6286 Merge branch 'feature/remove_ble_mesh_coex_test_example' into 'master'
feat(ble mesh): Remove BLE Mesh coex_test example

Closes IDF-8490

See merge request espressif/esp-idf!27151
2023-11-16 17:06:49 +08:00
Shang Zhou
a0edece25a docs: Update CN translation for api-guides/tools/idf-monitor.rst 2023-11-16 09:20:48 +01:00
Peter Dragun
18ddb86c7f fix(tools/monitor): fix PRINT_FILTER env variable usage 2023-11-16 09:20:48 +01:00
Armando
54874d9473 change(codeowner): add storage to esp_driver_sdmmc 2023-11-16 15:37:32 +08:00
Armando
a2a489354b refactor(sdmmc): move sdmmc test apps to tools/test_apps 2023-11-16 15:37:32 +08:00
Armando
5b8d904a9b refactor(sdmmc): dependency inversion to sdmmc component 2023-11-16 15:37:32 +08:00
Armando
c7c38b7904 refactor(sdmmc): place sdmmc driver into a new component 2023-11-16 15:37:32 +08:00
Frantisek Hrbata
ea84bd51c9 feat(ci): add test for custom cmake CMAKE_EXECUTABLE_SUFFIX
Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-11-16 08:14:19 +01:00
Arno Moonen
fec80b5d36 fix(build): fix build failure if CMAKE_EXECUTABLE_SUFFIX is set
From: Arno Moonen <arno.moonen@airios.eu>

Follows original message from Arno Moonen <arno.moonen@airios.eu>

While integrating the ESP-IDF into our existing CMake structure,
I've come across quite some hurdles. Most I've been able to fix
in our CMake files, however this one I could not.

Most of the targets created by the esptool_py component assume
that the EXECUTABLE IDF build property (which contains the name
of the CMake executable target) always equals the name of the
created binary.

This is however not always true. For instance, in our setup we use
CMAKE_EXECUTABLE_SUFFIX_C and CMAKE_EXECUTABLE_SUFFIX_CXX in our
toolchain file (both set to .elf). If we do add_executable(my_app),
the target binary file would actually be my_app.elf.

In order to fix this, I've updated it to use the TARGET_FILE generated
expression. That way we also no longer need the EXECUTABLE_DIR IDF build
property here.

I've fixed this on v5.0.1 (as that's the ESP-IDF version I'm currently
trying to integrate), but I assume it should be easy to apply the same
fix to newer versions and the master branch as well.

Note that this problem might exist in multiple places where EXECUTABLE
is being used. While going through the ESP-IDF code base, I even noticed
that a few places actually already seem to use the TARGET_FILE expression.
To be honest the property name might be somewhat confusing as well, as it
is actually the executable target.

Closes https://github.com/espressif/esp-idf/pull/12558
2023-11-16 08:14:19 +01:00
Mahavir Jain
c4559198b8 Merge branch 'fix/cleanup_deleted_menuconfig_option_entries' into 'master'
fix(mbedtls): Fix menuconfig option entries

See merge request espressif/esp-idf!26699
2023-11-16 13:34:16 +08:00
Marius Vikhammer
c2e774fe3d Merge branch 'ci/deploy_docs_git_strategy' into 'master'
ci(docs): revert git strategy change for deploy docs

See merge request espressif/esp-idf!27183
2023-11-16 13:02:39 +08:00
C.S.M
9e70bda89e Merge branch 'feature/support_suspend_on_120m' into 'master'
feat(spi_flash): Enable auto suspend on when flash works under 120M

See merge request espressif/esp-idf!27119
2023-11-16 12:24:14 +08:00
Sudeep Mohanty
11097a4fc2 Merge branch 'bugfix/fix_unity_mem_leaks' into 'master'
fix(unity): Fixed memory leaks in unity tests

Closes IDFCI-1869

See merge request espressif/esp-idf!27164
2023-11-16 11:43:20 +08:00
Jiang Jiang Jian
461514319a Merge branch 'bugfix/coex_deprecate_config_rename' into 'master'
fix(esp_coex): Fix deprecated configuration options not rename to new one

Closes BT-3245

See merge request espressif/esp-idf!27068
2023-11-16 10:58:42 +08:00
ding huan
5fe34d7ed1 fix(conn): Change second connect delay time to 730 2023-11-16 10:51:01 +08:00
Marius Vikhammer
42ba49390f ci(docs): revert git strategy change for deploy docs 2023-11-16 10:23:25 +08:00
Jakob Hasse
bf6a904a44 Merge branch 'refactor/remove_unnecessary_mock_headers' into 'master'
refactor(ci): removed unnecessary hal and soc mock header files

Closes IDF-8511

See merge request espressif/esp-idf!27047
2023-11-16 09:37:21 +08:00
Jiang Jiang Jian
b7c2e63bb4 Merge branch 'bugfix/supplicant_disconnect_process' into 'master'
esp_wifi:  Fix bug in esp_wifi_deauthenticate_internal() & wpa_supplicant: Add parameter to configure reason code of deauth frame

Closes WIFIBUG-13

See merge request espressif/esp-idf!23776
2023-11-15 23:52:32 +08:00
Darian
fb8ff0e9fe Merge branch 'feature/freertos_add_valid_core_id_macro' into 'master'
feat(freertos/idf): Add taskVALID_CORE_ID() macro

See merge request espressif/esp-idf!27014
2023-11-15 20:51:55 +08:00
Xue Yun Fei
8ecee62c6d Merge branch 'bugfix/fix_dhcp_subnet_option_api_dos_not_work_issue' into 'master'
Fix(dhcps):fix dhcp subnet option api dos not work issue

See merge request espressif/esp-idf!26490
2023-11-15 20:14:28 +08:00
morris
b37b9b7d64 Merge branch 'docs/mcpwm_missing_fields_capture_channel_config' into 'master'
docs: fix MCPWM API Documentation Issue

Closes IDFGH-11443

See merge request espressif/esp-idf!27112
2023-11-15 18:26:37 +08:00
Darian
ce6519672f Merge branch 'feature/usb_dwc_otg_caps' into 'master'
change(usb): Add soc caps for DWC_OTG options

See merge request espressif/esp-idf!26961
2023-11-15 17:48:49 +08:00
Cao Sen Miao
66bba5694e feat(spi_flash): Enable auto suspend on when flash works under 120M 2023-11-15 17:27:42 +08:00
Omar Chebib
ca1a0bdc59 Merge branch 'bugfix/esp32p4_fpu_check' into 'master'
fix(riscv): fix a bug in FPU exception handling

See merge request espressif/esp-idf!27045
2023-11-15 17:19:55 +08:00
chenjianhua
7a07d51859 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(2758518)
- Fixed power state setting when entering modem sleep
2023-11-15 16:46:10 +08:00
Sudeep Mohanty
a583063664 fix(unity): Fixed memory leaks in unity tests
This commit fixes memory leaks in unity tests when the debug option
CONFIG_FREERTOS_USE_LIST_DATA_INTEGRITY_CHECK_BYTES is enabled. The
commit increases the threshold to 1200 bytes from 1024 bytes.
2023-11-15 09:06:06 +01:00
Jin Cheng
f5c15be581 fix(bt/bluedroid): corrected the API documents of profile HFP and A2DP 2023-11-15 15:34:27 +08:00
Jin Cheng
4edd531fe3 fix(bt/bluedroid): Added some argument check in APIs of HFP AG 2023-11-15 15:18:22 +08:00
C.S.M
386111e8d1 Merge branch 'feature/add_tsens_intr_reason' into 'master'
feature(temperature_sensor): Add temperature sensor threshold interrupt reason

See merge request espressif/esp-idf!27126
2023-11-15 15:10:16 +08:00
Gao Xu
8d9e297301 Merge branch 'bugfix/fix_adc_read_zero_h2_new' into 'master'
ADC: fix adc raw data get 0 because of signal delay on ESP32H2

See merge request espressif/esp-idf!27023
2023-11-15 14:47:01 +08:00
Fu Hanxi
ac0a1b4e8e Merge branch 'ci/git_strategy_optimization' into 'master'
ci: optimize git strategy

Closes IDFCI-1854

See merge request espressif/esp-idf!26797
2023-11-15 14:42:41 +08:00
Aditya Patwardhan
ae05f3f140 fix(mbedtls): Removed redundant menuconfig entry 2023-11-15 04:59:52 +00:00
Mahavir Jain
9acb6863c3 docs(ecdsa): add a note about TRNG dependency for ECDSA peripheral 2023-11-15 10:21:29 +05:30
Mahavir Jain
4a02987182 Merge branch 'fix/aes_mpi_interrupt_allocation_workflow' into 'master'
fix(mbedtls): move interrupt allocation during initialization phase

See merge request espressif/esp-idf!26525
2023-11-15 12:38:39 +08:00
Jakob Hasse
7b4cd55d97 refactor(ci): removed unnecessary hal and soc mock header files 2023-11-15 12:15:08 +08:00
Mahavir Jain
fec7fc30f1 fix(api-docs): include in the ECDSA APIs for doxygen build 2023-11-15 09:42:27 +05:30
Mahavir Jain
7bb29086df docs: add ECDSA peripheral chapter for H2/P4
- Add ECDSA peripheral chapter and instructions to program efuse key block
- Update security guide for ECDSA peripheral mention for device identity
- Link with ESP-TLS guide about using ECDSA peripheral in TLS connection
2023-11-15 09:42:26 +05:30
Mahavir Jain
f9501f6ea9 fix(ecdsa): remove unused k_mode from the ECDSA HAL/LL API
For ESP32-H2 case, the hardware k mode is always enforced through
efuse settings (done in startup code).

For ESP32-P4 case, the software k mode is not supported in the peripheral
itself and code was redundant.
2023-11-15 09:42:26 +05:30
Mahavir Jain
94bf4710fa fix(esp32h2): program use_hardware_k efuse bit for ECDSA key purpose
In ESP32-H2, the ECDSA peripheral by default uses the TRNG (hardware)
generated k value but it can be overridden to software supplied k.
This can happen through by overriding the `ECDSA_SOFTWARE_SET_K` bit
in the configuration register. Even though the HAL API is not exposed
for this but still it could be achieved by direct register
programming. And for this scenario, if sufficiently random k is not
supplied by the software then it could posses a security risk.

In this change, we are unconditionally programming the efuse
`ESP_EFUSE_ECDSA_FORCE_USE_HARDWARE_K` bit during startup security
checks itself. Additionally, same is ensured in the `esp_efuse_write_key`
API as well. This always enforces the hardware k mode in the ECDSA
peripheral and ensures strongest possible security.
2023-11-15 09:42:26 +05:30
wangjialiang
89e43ff595 feat(ble mesh): Remove BLE Mesh coex_test example 2023-11-15 12:02:58 +08:00
Darian Leung
c12da6b77d feat(freertos/idf): Add taskVALID_CORE_ID() macro
This commit adds a taskVALID_CORE_ID() macro, similar to the one offered in
Amazon SMP FreeRTOS.

- Various functions have been updated to use that macro
- Removed some unecessary static asserts of CONFIG_FREERTOS_NO_AFFINITY and
added casting.
- Uncrustify changes
2023-11-15 11:53:26 +08:00
Mo Fei Fei
6ba047bc19 Merge branch 'docs/update_cn_trans_usb_host.rst' into 'master'
Docs: Update Chinese translation for usb_host.rst

Closes DOC-6624

See merge request espressif/esp-idf!27028
2023-11-15 11:50:12 +08:00
Mo Fei Fei
3491fa154a Docs: Update Chinese translation for usb_host.rst 2023-11-15 11:50:12 +08:00
Mahavir Jain
2a09627d03 Merge branch 'bugfix/secure_boot_v2_docs' into 'master'
fix(docs): correct the target specific macros for secure boot v2 guide

See merge request espressif/esp-idf!26993
2023-11-15 11:17:43 +08:00
Sarvesh Bodakhe
b42e14c9b7 fix(wifi): fix bug in 'esp_wifi_deauthenticate_internal' and other improvements 2023-11-15 08:27:50 +05:30
xueyunfei
5982d1cda4 Fix(dhcps):fix dhcp subnet option api dos not work issue 2023-11-15 10:53:50 +08:00
Jiang Jiang Jian
65b8830d07 Merge branch 'bugfix/disallow_dpp_wps' into 'master'
fix(wifi): Disallow DPP and WPS concurrency

Closes WIFIBUG-205

See merge request espressif/esp-idf!26850
2023-11-15 10:41:59 +08:00
Sarvesh Bodakhe
2d83e3e7f4 fix(wpa_supplicant): Add some bugfixes in wpa_supplicant
1) Add parameter to configure reason code of deauth frame
2) Add logs to indicate MIC failure 4-Way-Handshake
3) Process RSNXE capabilities only if AP advertises them
2023-11-15 08:06:37 +05:30
Jin Cheng
97e9eb5ca8 fix(bt/bluedroid): Fix the crash of invalid access to released resources
It is caused by the delayed timer is alarmed after esp_spp_deinit.
2023-11-15 02:12:14 +00:00
Marius Vikhammer
5b189fe6c1 Merge branch 'docs/h2_programming_guide_cleanup' into 'master'
docs(esp32h2): updated misc docs with esp32h2 content

Closes IDF-6677 and IDF-6688

See merge request espressif/esp-idf!27111
2023-11-15 09:51:12 +08:00
Rahul Tank
677faec371 Merge branch 'bugfix/generate_new_irk_across_reboot' into 'master'
fix(nimble): Generate a new unique IRK for every chip.

Closes BLERP-75 and IDFGH-9564

See merge request espressif/esp-idf!26071
2023-11-15 00:04:49 +08:00
Wang Ziyan
0334dc92ff Merge branch 'docs/update_cn_for_security_docs' into 'master'
docs: Update CN for security docs

Closes DOC-6633

See merge request espressif/esp-idf!26972
2023-11-14 23:03:12 +08:00
morris
9a6c279dbd fix(rmt): enable dma owner check
Closes https://github.com/espressif/esp-idf/issues/12564
2023-11-14 22:40:02 +08:00
David Čermák
0d12732b4c Merge branch 'bugfix/dhcp_opts_vsi_vci' into 'master'
lwip: Fix receiving of DHCP vendor info (GitHub PR)

Closes IDFGH-10591

See merge request espressif/esp-idf!25043
2023-11-14 22:36:10 +08:00
Fu Hanxi
a6ccc2e18e ci: optimize git strategy 2023-11-14 15:31:30 +01:00
Sudeep Mohanty
bf237a2bd4 Merge branch 'feature/freertos_expose_list_integrity_check_option' into 'master'
feat(freertos): Exposed Kconfig option for configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES

Closes IDF-8366

See merge request espressif/esp-idf!26960
2023-11-14 21:27:19 +08:00
Darian Leung
c0de14d0b9 refactor(hal/usb_dwc): Add DWC OTG configuration values
This commit adds a subset of the DWC OTG configuration values to the
'usb_dwc_ll.h' file. Only relevant configuration values have been added.

Some DWC OTG releated constants have also been moved from 'usb_dwc_hal.h'
to 'usb_dwc_ll.h' and renamed.
2023-11-14 20:49:51 +08:00
Darian Leung
a51813d9d9 refactor(soc): SOC_USB_PERIPH_NUM option
This commit refactors SOC_USB_PERIPH_NUM as follows:

- Renamed to SOC_USB_OTG_PERIPH_NUM to avoid confusion with USB Serial JTAG
- Updated to unsigned integer "1U"
- Updated some build rules to depend on SOC_USB_OTG_SUPPORTED instead
2023-11-14 18:48:01 +08:00
Cao Sen Miao
343f03c3a7 feature(temperature_sensor): Add temperature sensor threshold interrupt reason 2023-11-14 18:23:33 +08:00
Roland Dobai
dd1247f313 Merge branch 'fix/docs_tools' into 'master'
fix(tools): Remove idf.py dependencies from documentation

See merge request espressif/esp-idf!27101
2023-11-14 16:37:44 +08:00
Darian
159beab9d9 Merge branch 'contrib/github_pr_12551' into 'master'
Minor fix style-guide.rst (GitHub PR)

Closes IDFGH-11413

See merge request espressif/esp-idf!27113
2023-11-14 16:24:51 +08:00
Wang Zi Yan
32ce89f3cf docs: Update CN for security docs 2023-11-14 07:41:58 +00:00
Omar Chebib
e56f5b15cc fix(riscv): fix a bug in FPU exception handling
On the ESP32-P4, it is possible to have an exception because of an FPU instruction
while EXT_ILL CSR is not zero and its FPU bit is not set.
2023-11-14 06:55:08 +00:00
morris
b50d30f860 docs(mcpwm): add missing explanation about keep_io_conf_at_exit
Closes https://github.com/espressif/esp-idf/issues/12579
2023-11-14 14:34:14 +08:00
Rahul Tank
4f20eec398 fix(nimble): Generate a new unique Local IRK for each chip 2023-11-14 10:36:09 +05:30
Marius Vikhammer
730f2af489 docs(esp32h2): updated misc docs with esp32h2 content 2023-11-14 12:09:00 +08:00
Wu Zheng Hui
bb95f9bcc6 Merge branch 'bugfix/fix_psram_access_faild_after_pd_cpu_wakeup' into 'master'
fix(esp_pm): fix psram access failed after pd_cpu wakeup if uart driver driven console is used

Closes WIFIBUG-238

See merge request espressif/esp-idf!27020
2023-11-14 11:50:50 +08:00
Jakob Hasse
dad563cfaf change(console): changed unit tests according to sorted help
Merges https://github.com/espressif/esp-idf/pull/12525
2023-11-14 11:33:45 +08:00
Jiang Jiang Jian
97e33fbb75 Merge branch 'bugfix/fix_lightsleep_current_leakage_on_usj_pad' into 'master'
fix(esp_hw_support): fix lightsleep current leakage on usb pad

Closes IDF-6154 and PM-18

See merge request espressif/esp-idf!26470
2023-11-14 11:17:29 +08:00
Jakob Hasse
53e497a93a Merge branch 'doc/c_support_page' into 'master'
docs: Added C documentation page

Closes IDFGH-10790 and IDFGH-11283

See merge request espressif/esp-idf!26761
2023-11-14 10:44:40 +08:00
Marius Vikhammer
e7734a3367 Merge branch 'feature/g1_driver_refactors' into 'master'
refactor(system): removed dependency on driver from g1 components

Closes IDF-8454

See merge request espressif/esp-idf!27086
2023-11-14 09:45:47 +08:00
Jiang Jiang Jian
1b46e14054 Merge branch 'bugfix/add_header_files_for_wifi_os_adapter' into 'master'
Fix(esp_wifi):add missing stdbool.h and sdkconfig.h in wifi_os_adapter.h

Closes WIFI-6105

See merge request espressif/esp-idf!25669
2023-11-13 22:46:44 +08:00
Roland Dobai
6f50b02a3a fix(tools): Remove idf.py dependencies from documentation
Those dependencies are always satisfied because:
- ESP-IDF supports Python 3.8+ at this moment,
- click version is checked and ensured by the install scripts.
2023-11-13 14:33:54 +01:00
Sudeep Mohanty
ff6b0ed148 Merge branch 'task/freertos_deprecate_xtaskgetaffinity' into 'master'
change(freertos/idf): Deprecate some FreeRTOS IDF addition functions

Closes IDF-8164 and IDF-8163

See merge request espressif/esp-idf!26875
2023-11-13 20:23:49 +08:00
Armando (Dou Yiwen)
035d5d17cf Merge branch 'feat/sdio_cross_chip_test_apps' into 'master'
sdio: cross chip test apps

Closes IDF-8459

See merge request espressif/esp-idf!26670
2023-11-13 18:58:54 +08:00
Sudeep Mohanty
11109fc386 Merge branch 'bugfix/freertos_define_list_volatile' into 'master'
fix(freertos/idf): Define configLIST_VOLATILE for list elements

Closes IDF-8361

See merge request espressif/esp-idf!27066
2023-11-13 16:56:57 +08:00
wuzhenghui
59ad88d9f7 fix(esp_pm): fix psram access faild after pd_cpu wakeup 2023-11-13 16:32:30 +08:00
wuzhenghui
232187d12c change(esp_pm): improve POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP description
Rename PM_POWER_DOWN_TAGMEM_IN_LIGHT_SLEEP to PM_RESTORE_CACHE_TAGMEM_AFTER_LIGHT_SLEEP
and improve the description for it
2023-11-13 16:32:25 +08:00
zhangyanjiao
1b5fb22da8 feat(wifi/vendor): get more wifi information in csi rx callback 2023-11-13 16:08:45 +08:00
zhangyanjiao
6d4e41f992 doc(Wi-Fi/Vendor): Update comments for wifi_csi_info_t 2023-11-13 16:08:45 +08:00
xueyunfei
9df662703b Fix(esp_wifi): Add the missing header file to the wifi header files. 2023-11-13 16:08:45 +08:00
Jiang Jiang Jian
4f47c40542 Merge branch 'bugfix/add_disconnect_reason_codes' into 'master'
Add more descriptive reasons for disconnect.

Closes WIFI-2900

See merge request espressif/esp-idf!25321
2023-11-13 16:05:40 +08:00
Marius Vikhammer
d293ad94bd feat(pm): removed dependency on driver component 2023-11-13 15:49:12 +08:00
Marius Vikhammer
74887d81c9 refactor(system): removed dependency on driver from g1 components
esp-system and esp-hw-support, and the rest of the g1 components, now only depend on
esp_driver_spi and esp_driver_gpio. Removing the rest of the driver components from g1 builds.
2023-11-13 15:42:48 +08:00
morris
ed6ede696e Merge branch 'feature/esp_driver_mcpwm' into 'master'
feat(mcpwm): refactor mcpwm driver into a component

Closes IDF-8379

See merge request espressif/esp-idf!26738
2023-11-13 15:26:56 +08:00
gaoxu
36be1473de fix(adc): fix h2 adc oneshot read zero and add delay after getting done signal 2023-11-13 14:48:40 +08:00
jgujarathi
47e8de1d4d fix(esp_wifi): Add more descriptive reasons for disconnect
Adds 3 more ddisconnect reasons in case of No AP found.
1. REASON_NO_AP_FOUND_IN_RSSI_THRESHOLD : AP rejected because it did
   not meet rssi threshold.

2. REASON_NO_AP_FOUND_IN_AUTHMODE THRESHOLD : AP rejected because it
   did not meet security threshold.

3. REASON_NO_AP_FOUND_WITH_COMPATIBLE_ SECURITY : AP rejected because
   of incompatible security configuration. These situations could include
   -- bss offerring WEP, but our password is not WEP compliant,
   -- Encrypted AP bss but we have no password config set.
   -- AP is Enterprise but we have not setup enterprise config and vice versa

    Closes https://github.com/espressif/esp-idf/issues/5957
2023-11-13 14:22:59 +08:00
Jakob Hasse
342d6ba882 Merge branch 'bugfix/newlib_test_correct_assertions' into 'master'
fix(newlib,ci): wrong floating point number handling in tests

See merge request espressif/esp-idf!27032
2023-11-13 12:22:16 +08:00
Jiang Jiang Jian
735b9cd827 Merge branch 'bugfix/build_error_when_enable_ag_and_hf' into 'master'
fix(bt/bluedroid): Fix build error when both of the HFP roles are enabled

See merge request espressif/esp-idf!27073
2023-11-13 11:26:19 +08:00
Armando
faa6e51086 feat(sdio): sdio cross chip test app 2023-11-13 11:21:47 +08:00
Jiang Jiang Jian
907a7d9977 Merge branch 'test/ctrl_acl_u_pkt_type' into 'master'
feat(bt/bluedroid): Added an API to specific data types for ACL-U traffic

See merge request espressif/esp-idf!26173
2023-11-13 11:17:37 +08:00
Jakob Hasse
ed5a7dfa82 docs: Added C documentation page
Closes https://github.com/espressif/esp-idf/issues/12439
Closes https://github.com/espressif/esp-idf/issues/12001
2023-11-13 10:47:15 +08:00
Steven Burnett
0a79d13a2d Add option to configure FATFS_USE_LABEL in menuconfig 2023-11-11 23:00:08 +00:00
Sudeep Mohanty
526aa01154 Merge branch 'docs/remove_duplication_in_build_system_docs' into 'master'
fix(docs/build_system): Remove duplication about project_include.cmake usage

See merge request espressif/esp-idf!27084
2023-11-11 15:32:32 +08:00
Rahul Tank
9d49241c92 Merge branch 'bugfix/remove_bond' into 'master'
fix(nimble): Handled deletion of IRK/LTK on basis of key availability.

Closes BLERP-81, BLERP-127, BLERP-128, BLERP-129, and BLERP-219

See merge request espressif/esp-idf!26128
2023-11-11 14:06:42 +08:00
wuzhenghui
0ab0d2182e fix(esp_hw_support): fix lightsleep current leakage on usb-phy controlled pad 2023-11-11 13:00:55 +08:00
Wu Zheng Hui
573d06f6f7 Merge branch 'bugfix/move_fe_32m_to_adc_fe_common_clock' into 'master'
fix(esp_hw_support): move fe_32m to fe/adc common clock

Closes IDF-8540

See merge request espressif/esp-idf!27030
2023-11-10 23:40:31 +08:00
Ondrej Kosta
1844a6680c Merge branch 'bugfix/lan8720_ci_speed' into 'master'
Added ioctl option to read/write PHY registers + addressed LAN8720 errata

Closes IDFCI-1845

See merge request espressif/esp-idf!26796
2023-11-10 23:24:26 +08:00
Sudeep Mohanty
348206fc65 fix(docs/build_system): Remove duplication about project_include.cmake usage
This commit fixes a duplication regarding the usage of the
project_include.cmake file in the build_system.rst doc.
2023-11-10 16:12:59 +01:00
Alexey Lapshin
d501c67458 Merge branch 'feature/update-gdb-to-12.1_20231023' into 'master'
feat(tools): update gdb version to 12.1_20231023

Closes GCC-311 and GCC-334

See merge request espressif/esp-idf!26646
2023-11-10 22:51:17 +08:00
Wang Mengyang
479cecc1f8 fix(bt/bluedroid): Fix build error when both of the HFP roles are enabled and also CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY is set to true 2023-11-10 20:14:01 +08:00
Mahavir Jain
b234844c65 Merge branch 'docs/use_tls_v1_2_and_v1_3_simultaneously' into 'master'
docs: Add documentation for using TLS v1.2 and v1.3 simultaneously

Closes IDF-8449

See merge request espressif/esp-idf!26791
2023-11-10 16:37:39 +08:00
Harshit Malpani
c67dac7225 docs: Add documentation for using TLS v1.2 and v1.3 simultaneously 2023-11-10 16:37:39 +08:00
Sudeep Mohanty
289913daaf fix(freertos/idf): Define configLIST_VOLATILE for list elements
It was noticed that when high level compiler optimizations are enabled,
the compiler optimizes some list manupulation code. This commit enables
the configLIST_VOLATILE for list elements to prevent the compiler from
optimizing out essential kernel code.
2023-11-10 09:23:51 +01:00
Abhinav Kudnar
0af52055e1 fix(nimble): Handled IRK/LTK deletion based on key availability 2023-11-10 12:27:21 +05:30
Rahul Tank
f9d334bc96 Merge branch 'bugfix/pairing_when_enc_with_no_key_fails' into 'master'
fix(nimble): Initate pairing if encryption fails with reason no pin or key missing

Closes BLERP-231

See merge request espressif/esp-idf!27010
2023-11-10 14:37:43 +08:00
Alexey Lapshin
fc7ac87b61 feat(tools): update gdb version to 12.1_20231023 2023-11-10 06:37:33 +00:00
Guillaume Souchere
fd2b8b5eb3 fix(heap): Update the heap memory layout on esp32p4 target
- fix the value of SOC_ROM_STACK_START in soc.h
- Update the memory usage of ROM bootloader appendix in bootloader.ld
- Update the soc_memory_regions table to minimize the number of regions
  created after the startup stack is added back as a heap.
2023-11-10 07:29:22 +01:00
Song Ruo Jing
365123dfaa Merge branch 'bugfix/uart_custom_console' into 'master'
fix(console): enable to select UART1 port for console output

Closes IDF-6190

See merge request espressif/esp-idf!26642
2023-11-10 12:31:22 +08:00
linruihao
33909cfa68 fix(esp_coex): Fix deprecated configuration options not rename to new one 2023-11-10 12:03:27 +08:00
Jiang Jiang Jian
221122ebeb Merge branch 'bugfix/fix_deinit_init_wifi_scan_fail_issue' into 'master'
fix(wifi): fix deinit init wifi scan fail issue

Closes WIFIBUG-200 and WIFI-5775

See merge request espressif/esp-idf!26957
2023-11-10 11:05:03 +08:00
Shang Zhou
818ba42a8b Merge branch 'docs/add_cn_trans_for_secure-boot-v1' into 'master'
docs: Provide CN translation for security/secure-boot-v1.rst

Closes DOC-6231 and DOC-6352

See merge request espressif/esp-idf!26882
2023-11-10 09:46:12 +08:00
Guillaume Souchere
6ab440168a Merge branch 'fix/heap-task-tracking' into 'master'
fix(heap): Fix bugs in heap task tracking

Closes IDFGH-11348 and IDFGH-11345

See merge request espressif/esp-idf!26730
2023-11-09 23:51:00 +08:00
Song Ruo Jing
46d33e46ef fix(console): enable to select UART1 port for console output
This feature was only enabled for esp32, esp32s2, esp32s3 previously.
Now, enabling this feature for all targets.
2023-11-09 22:32:49 +08:00
morris
eb5183f503 feat(mcpwm): refactor mcpwm driver into a component 2023-11-09 22:05:06 +08:00
Sudeep Mohanty
d507a86285 feat(freertos): Exposed Kconfig option for configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES
This commit exposes the FreeRTOS List integrity check option
configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES via menuconfig.
2023-11-09 14:54:13 +01:00
Jiang Jiang Jian
92c4714128 Merge branch 'bugfix/fix_softap_set_config_issue' into 'master'
fix(wifi): fix some wifi bugs

Closes WIFI-6207

See merge request espressif/esp-idf!25242
2023-11-09 21:53:55 +08:00
Armando (Dou Yiwen)
2b173ce727 Merge branch 'refactor/esp_driver_spi' into 'master'
refactor(spi): make spi driver as component

Closes IDF-8371

See merge request espressif/esp-idf!26549
2023-11-09 21:41:29 +08:00
Roland Dobai
d484dafb63 Merge branch 'fix/ci_autocomplete' into 'master'
Tools, CI: Improve autocomplete tests

Closes IDFCI-1603

See merge request espressif/esp-idf!26958
2023-11-09 20:49:36 +08:00
Sonika Rathi
c8243465e4 Merge branch 'bugfix/uart_vfs_select_in_iram' into 'master'
fix: add UART VFS select callback in IRAM when CONFIG_UART_ISR_IN_IRAM is enabled

See merge request espressif/esp-idf!24899
2023-11-09 20:14:48 +08:00
Shang Zhou
3cb8e18648 docs: Provide CN translation for security/secure-boot-v1.rst 2023-11-09 17:31:54 +08:00
zhanghaipeng
4c9861d40d feat(bt/bluedroid): Support ble create sync report disable and filter duplicate 2023-11-09 17:30:23 +08:00
wuzhenghui
1537cbf9c7 fix(esp_hw_support): move fe_32m to fe/adc common clock 2023-11-09 17:26:24 +08:00
Jakob Hasse
8624e9edf4 fix(newlib,ci): wrong floating point number handling in tests 2023-11-09 17:12:07 +08:00
Alex Offshore
82aa0f3bc3 Minor fix style-guide.rst 2023-11-09 11:56:25 +03:00
Guillaume Souchere
e8f046358d fix(heap): Add missing test for heap task tracking config
- Add sdkconfig.ci.task_tracking that runs generic tests
with heap task tracking enabled.
- Add task_tracking.c that includes a test checking that
a created task that allocates memory is added to the list
of task tracked by the heap task tracking feature.
2023-11-09 09:20:45 +01:00
Guillaume Souchere
872bc74954 fix(heap): Fix bugs in heap task tracking
Update task tracking feature to fix bugs introduced when
decoupling task tracking from heap poisoning.

Closes https://github.com/espressif/esp-idf/issues/12498
Closes https://github.com/espressif/esp-idf/issues/12493
2023-11-09 09:20:45 +01:00
Alon Bar-Lev
07a9137fd7 change(console): print sorted help
console commands may be registered in random order in application, for example
each module registers its own commands.

the output of help is displayed to human, best to have consistent sorted
output so that the implementation ordering will not affect the output and
allow the user to see a list in some logic order.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2023-11-09 10:18:42 +02:00
Armando
f346e96e72 change(spi): update test_app build dependency 2023-11-09 14:50:25 +08:00
Armando
02f05f39bb doc(spi): update esp_driver_spi to migration guides 2023-11-09 14:50:05 +08:00
Armando
714ad573e7 refactor(esp_driver_spi): reformat code with astyle_py 2023-11-09 14:50:05 +08:00
wanlei
3c7609fc53 ci(driver): reduce spi test_app build times 2023-11-09 14:50:05 +08:00
Armando
fca46eac52 refactor(spi): make spi driver as component 2023-11-09 14:50:05 +08:00
Wan Lei
c8c7f999ef Merge branch 'feature/esp32p4_hp_spi_slave_hd_support' into 'master'
Feature/esp32p4 hp spi slave hd support

Closes IDF-7505

See merge request espressif/esp-idf!25974
2023-11-09 14:42:05 +08:00
morris
3d0115034e Merge branch 'contrib/github_pr_12450' into 'master'
Support SSD1306 128x32 (GitHub PR)

Closes IDFGH-11296

See merge request espressif/esp-idf!26943
2023-11-09 14:37:52 +08:00
muhaidong
91bd2c8541 change(hal): remove useless code from periph_ll_wifi_bt_module_enable_clk 2023-11-09 14:17:54 +08:00
Aditya Patwardhan
7c1d9a5813 fix(soc): esp32s3/Fix the DROM_DROM_HIGH limit
Previously the DROM_HIGH_ADDR for esp32s3 was 0x3D000000, which
    convers only 16 MB of address range. But esp32s3 supports 32 MB
    external memory. So this address should be 0x3E000000
2023-11-09 09:58:17 +05:30
muhaidong
1ddcca6dcd fix(wifi): fix deinit init wifi scan fail issue 2023-11-09 12:05:20 +08:00
C.S.M
647f0d24a7 Merge branch 'feature/suspend_tsus_config' into 'master'
feat(spi_flash): Support configurable tSUS in flash suspend and update the test

See merge request espressif/esp-idf!26567
2023-11-09 10:45:17 +08:00
Roland Dobai
92e45c0798 ci(fix): Improve the stability of the autocomplete tests 2023-11-08 15:05:56 +01:00
Fu Hanxi
6ba8c75f1d Merge branch 'ci/build_log_artifacts' into 'master'
ci: added build log artifacts for linux

Closes IDFCI-1848

See merge request espressif/esp-idf!26948
2023-11-08 21:54:59 +08:00
Rahul Tank
a823541487 fix(nimble): Initate pairing if encryption fails with reason no pin or key missing 2023-11-08 18:56:50 +05:30
Ondrej Kosta
383bb46298 ci(esp_eth): addressed LAN8720 errata in CI test 2023-11-08 12:40:28 +00:00
Ondrej Kosta
78f791d4d5 feat(esp_eth): added ioctl option to read/write PHY registers
LAN87xx: Added extra delay after setting PHY speed
2023-11-08 12:40:28 +00:00
Island
294c2bd70d Merge branch 'debug/fix_ble_scan_rsp' into 'master'
Debug/fix ble scan rsp

Closes BLERP-190 and BLERP-225

See merge request espressif/esp-idf!26988
2023-11-08 19:39:53 +08:00
muhaidong
407ff67128 fix(wifi): sta not pmf capable when ap requires should reject profile 2023-11-08 19:12:37 +08:00
sonika.rathi
9c82ad06c3 fix(vfs/uart): add UART VFS select callback in IRAM
UART VFS select callback is placed in IRAM when CONFIG_UART_ISR_IN_IRAM is enabled
2023-11-08 11:34:22 +01:00
morris
6f35f4be4d fix(mcpwm): fault trigger test forget connect timer and operator 2023-11-08 17:44:30 +08:00
Wan Lei
ab43ff7932 Merge branch 'fix/spi_eeprom_example_clean_iram_usage' into 'master'
fix(spi): clean eeprom example iram usage

See merge request espressif/esp-idf!26995
2023-11-08 15:28:15 +08:00
Michael (XIAO Xufeng)
c0dfe97fcc Merge branch 'doc/compatibility_s2_v100_decrease' into 'master'
doc(compatibility): decrease required version of EPS32-S2 v1.0

See merge request espressif/esp-idf!26516
2023-11-08 15:12:34 +08:00
morris
5cc965e6cb Merge branch 'feature/rmt_receive_in_isr' into 'master'
feat(rmt): support calling rmt_receive in ISR callback

Closes IDF-8488

See merge request espressif/esp-idf!26874
2023-11-08 14:25:52 +08:00
Jiang Jiang Jian
2051a9fe46 Merge branch 'bugfix/fix_esp_wifi_esp_phy_esp_coex_license_and_header_file_docs_issue' into 'master'
esp_supplicant: remove wpa supplicant ROM source code copyrights

Closes WIFI-5528, WIFI-6224, and DOC-6408

See merge request espressif/esp-idf!23059
2023-11-08 14:11:12 +08:00
wanlei
ee6dd6a4a9 fix(spi): clean eeprom example iram usage 2023-11-08 10:51:04 +08:00
Darian
c4eea80c07 Merge branch 'change/freertos_local_crit_section_macro' into 'master'
change(freertos/idf): Refactor thread safety convenience macros

Closes IDF-8161

See merge request espressif/esp-idf!26805
2023-11-08 10:29:22 +08:00
zhangyanjiao
7cd1115815 fix(wifi/mesh): fix the IE crypto disable error and update doc 2023-11-08 10:24:45 +08:00
morris
7121e8f78d refactor(lcd): reuse the color types in the hal/color_types.h 2023-11-08 10:09:42 +08:00
morris
0c3f80495a feat(ssd1306): support 128x32 resolution 2023-11-08 09:58:50 +08:00
morris
2be27f292e change(esp_lcd): split panel vendor driver into seperate header file 2023-11-08 09:58:50 +08:00
Alexey Storozhev
c4dc16c612 feat(ssd1306): Add vendor specific configuration for SSD1306
Merges https://github.com/espressif/esp-idf/pull/12450
2023-11-08 09:58:50 +08:00
C.S.M
5d02e71972 Merge branch 'docs/i2c_ng_docs' into 'master'
docs(I2C): Add new programming guide for new I2C driver

See merge request espressif/esp-idf!26752
2023-11-08 09:46:32 +08:00
Roland Dobai
c5e52f352e Merge branch 'feature/hint_libusb_open' into 'master'
feat(hints): Added hint for LIBUSB_ERROR_NOT_FOUND

Closes IDF-8451

See merge request espressif/esp-idf!26757
2023-11-07 22:28:15 +08:00
Mahavir Jain
6b823ddb2a fix(docs): correct the target specific macros for secure boot v2 guide
It appears that target specific or'ing is not supported through the
docs build. Actual text rendering on the docs site was still using
"default" field from the custom macro, rather than using target
specific.
2023-11-07 19:38:44 +05:30
zhanghaipeng
ba2f5c4475 fix(bt/bluedroid): Fix ble adv report evt type 2023-11-07 19:59:35 +08:00
zhanghaipeng
c189842b82 fix(bt/bluedroid): Fix ble keysize check 2023-11-07 19:52:59 +08:00
Cao Sen Miao
ef46828683 docs(i2c): Modify some variables in I2C driver for good docs 2023-11-07 18:42:08 +08:00
Cao Sen Miao
a4e6a71dd5 docs(i2c): Add new programming guide for new I2C driver 2023-11-07 18:41:26 +08:00
Wu Zheng Hui
a9ea49cba2 Merge branch 'bugfix/clear_ulp_wake_intr_in_wake_source_enable' into 'master'
fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable

Closes PM-14

See merge request espressif/esp-idf!26674
2023-11-07 16:58:38 +08:00
Liu Linyan
9aeca2516f Merge branch 'test/ble_mesh_sar_enh' into 'master'
update(ble_mesh): Miscellaneous updates/fixes and support SAR enhancement

See merge request espressif/esp-idf!26871
2023-11-07 16:12:27 +08:00
morris
eb0258e618 Merge branch 'refactor/ringbuffer_set_build_test_dependency' into 'master'
change(esp_ringbuf): specify build test dependency

Closes IDF-8395

See merge request espressif/esp-idf!26965
2023-11-07 16:08:59 +08:00
wanlei
2e115ec98c feat(spi_slave_hd): p4 update examples and document 2023-11-07 16:01:44 +08:00
wanlei
daeb71d7e4 feat(spi_slave_hd): add esp32p4 support for seg and append mode 2023-11-07 15:59:56 +08:00
Jiang Jiang Jian
d63f92eb3e Merge branch 'ci/add_label_trigger_for_integration_test' into 'master'
ci: add label rules for integration test

See merge request espressif/esp-idf!26922
2023-11-07 15:32:14 +08:00
Aleksei Apaseev
999f5acf6b Merge branch 'ci/add_artifacts_upload_to_after_script' into 'master'
ci: Move upload artifacts execution to the after script

See merge request espressif/esp-idf!26919
2023-11-07 13:31:19 +08:00
Jakob Hasse
af0a502f97 Merge branch 'bugfix/linux_gpio_definitions' into 'master'
fix(driver): gpio number definitions on Linux

Closes IDFGH-11376

See merge request espressif/esp-idf!26934
2023-11-07 12:24:29 +08:00
wanlei
751efec8b6 refactor(spi_slave_hd): refactor append mode dma_desc struct 2023-11-07 12:06:45 +08:00
Marius Vikhammer
b90dfe0759 Merge branch 'ci/docs_no_download_artifacts' into 'master'
ci(docs): stop build docs jobs from downloading artifacts

See merge request espressif/esp-idf!26952
2023-11-07 10:46:55 +08:00
morris
369e423dad change(esp_ringbuf): specify build test dependency 2023-11-07 10:40:00 +08:00
Armando (Dou Yiwen)
0c81f41e16 Merge branch 'bugfix/fix_wrong_adc_attenuation_name' into 'master'
adc: rename ADC_ATTEN_DB_11 to ADC_ATTEN_DB_12

See merge request espressif/esp-idf!26460
2023-11-07 10:37:24 +08:00
morris
5f9d8a77ed Merge branch 'feature/esp_driver_gptimer' into 'master'
refactor(gptimer): refactor gptimer driver into a component

Closes IDF-8375

See merge request espressif/esp-idf!26716
2023-11-07 01:17:29 +08:00
muhaidong
deed5684ce change(wifi): update esp_coexist_internal.h and esp_modem_wrapper.h 2023-11-06 21:55:33 +08:00
muhaidong
3e98a7be6e docs(esp_mesh): update esp_mesh_internal.h 2023-11-06 21:55:21 +08:00
muhaidong
0851c7135d update(wifi): update esp_wifi_crypto_types.h 2023-11-06 21:55:11 +08:00
muhaidong
dea39f359e update(esp_coexist): update esp coexist header file 2023-11-06 21:54:59 +08:00
muhaidong
db5209bf54 fix(wifi): add esp_wifi and esp_coexist header files to Doxyfile 2023-11-06 21:54:25 +08:00
muhaidong
84a599d8d4 esp_supplicant: remove wpa supplicant ROM source code copyrights 2023-11-06 21:54:16 +08:00
Jiang Jiang Jian
e4d70e98e5 Merge branch 'bugfix/fix_fragment_bug' into 'master'
fix(wifi): fix rate check error in fragment

See merge request espressif/esp-idf!26913
2023-11-06 20:34:59 +08:00
Martin Vychodil
2beef95ff1 Merge branch 'feature/update_strorage_test_config' into 'master'
feat(storage): update config for app tests

Closes IDF-5552

See merge request espressif/esp-idf!26310
2023-11-06 19:42:04 +08:00
Armando
d3be2541de fix(adc): rename ADC_ATTEN_DB_11 to ADC_ATTEN_DB_12
By design, it's 12 dB. There're errors among chips, so the actual
attenuation will be 11dB more or less
2023-11-06 18:55:49 +08:00
Aleksei Apaseev
b64da91823 ci: Move upload artifacts execution of build and target_test stages to the after script section 2023-11-06 18:24:10 +08:00
Cao Sen Miao
dcff5220a7 feat(spi_flash): Support configurable tSUS in flash suspend 2023-11-06 18:04:43 +08:00
Kapil Gupta
8768c9231c Merge branch 'bugfix/dpp_config_memset' into 'master'
fix(wpa_supplicant): memzero wifi config before sending config event

Closes WIFIBUG-230

See merge request espressif/esp-idf!26915
2023-11-06 17:33:36 +08:00
morris
f2304a5f73 docs: adding migration guide about esp_driver_xyz components 2023-11-06 17:09:31 +08:00
morris
2ef14fe55e refactor(gptimer): refactor gptimer driver into a component 2023-11-06 17:09:31 +08:00
Marius Vikhammer
501dbcfacf ci(docs): stop build docs jobs from downloading artifacts 2023-11-06 16:59:31 +08:00
Harshit Malpani
61d4775027 fix(esp_http_client): Fix esp_http_client async mode
Closes https://github.com/espressif/esp-idf/issues/12358
2023-11-06 13:13:15 +05:30
Darian
455cc345f7 Merge branch 'contrib/github_pr_12523' into 'master'
fix: assert failed in example uart_async_rxtxtasks (GitHub PR)

Closes IDFGH-11380

See merge request espressif/esp-idf!26935
2023-11-06 15:24:17 +08:00
Song Ruo Jing
8029946cba Merge branch 'refactor/esp_driver_gpio' into 'master'
refactor(gpio): make gpio driver as component

See merge request espressif/esp-idf!26509
2023-11-06 15:03:30 +08:00
Tomáš Rohlínek
559fb2d2bf feat(storage): minimize platforms for tests 2023-11-06 07:41:36 +01:00
igor udot (horw)
2dcb6d1fbb ci: added build log artifacts for linux 2023-11-06 14:34:33 +08:00
harshal.patil
d3be7bda05 fix(mbedtls): move interrupt allocation during initialization phase 2023-11-06 11:20:53 +05:30
Marius Vikhammer
849c84f09c fix(err_to_name): restrict gen_esp_err_to_name.py to only search in components/ 2023-11-06 11:41:39 +08:00
Jiang Jiang Jian
25f729c758 Merge branch 'bugfix/hal_memcpy' into 'master'
fix(hal): Fix incorrect behavior of hal_memcpy

Closes IDFGH-11341

See merge request espressif/esp-idf!26801
2023-11-06 11:31:13 +08:00
Jakob Hasse
96d7e0762d fix(driver): gpio number definitions on Linux
* Removed gpio_types.h as it is already available
  for Linux in the hal component.
* Moved gpio_num.h from tools/mocks to soc component
  and added missing GPIO pin definitions

Closes https://github.com/espressif/esp-idf/issues/12520
2023-11-06 11:16:50 +08:00
zhangyanjiao
9cab732a29 fix(wifi): fix rate check error in fragment 2023-11-06 11:09:44 +08:00
Zhang Xiao Yan
9489e8a984 Merge branch 'docs/add_ethernet_update_to_migration_4.4_to_5.0' into 'master'
docs: add Ethernet driver update to migration from 4.4 to 5.0

See merge request espressif/esp-idf!26650
2023-11-06 10:53:22 +08:00
Liu Linyan
ff7639bcd6 feat(ble_mesh): Support Bluetooth Mesh SAR enhancement 2023-11-06 10:34:51 +08:00
Liu Linyan
c628a94513 fix(ble_mesh): Miscellaneous updates and fixes 2023-11-06 10:34:50 +08:00
Liu Linyan
4c2236c9b5 update(ble_mesh): Remove useless mesh lib copy script 2023-11-06 10:34:50 +08:00
Xu Xiao
29438504c4 Merge branch 'fix/fix_some_esp32c6_wifi_bugs' into 'master'
fix(wifi): fixed esp32c6 rxctrl info is not correct

Closes WIFI6-341, WIFI6-342, and WIFI6-343

See merge request espressif/esp-idf!26671
2023-11-06 10:19:40 +08:00
Rahul Tank
6ab25d7de6 Merge branch 'feature/current_time_service' into 'master'
feat(nimble): Added Example support for Current Time Service

Closes BLERP-217

See merge request espressif/esp-idf!25658
2023-11-04 21:30:17 +08:00
Michael (XIAO Xufeng)
bf86aeb19e Merge branch 'bugfix/ram_load_app_mmap' into 'master'
ram_load_app: fixed mmap can't run on main flash issue

See merge request espressif/esp-idf!24601
2023-11-04 18:48:55 +08:00
Roshan Bangar
aabb595860 feat(nimble): Added example support for Current Time Service 2023-11-04 13:21:59 +05:30
Rahul Tank
895ba56206 Merge branch 'bugfix/ble_gap_unpair_oldest_peer' into 'master'
fix(nimble): Fixed incorrect handling of bonded devices

See merge request espressif/esp-idf!26555
2023-11-04 14:05:01 +08:00
darshan
10f06abf32 fix(nimble): Fixed incorrect handling of bonded devices 2023-11-04 09:12:17 +05:30
Rahul Tank
3d946faf67 Merge branch 'bugfix/validate_random_address' into 'master'
fix(nimble): Added check to validate allowed random address

Closes BLERP-60 and BLEQABR23-610

See merge request espressif/esp-idf!25961
2023-11-04 11:34:04 +08:00
Rahul Tank
32e3ecb788 fix(nimble): Added check to validate allowed random address 2023-11-04 06:34:54 +05:30
Ngai-Fung Yip
b8a3141ef9 fix: assert failed in example uart_async_rxtxtasks 2023-11-04 08:48:57 +08:00
KonstantinKondrashov
b366dad79b fix(hal): Fix incorrect behavior of hal_memcpy
Closes https://github.com/espressif/esp-idf/issues/12489
2023-11-03 23:36:37 +08:00
Sudeep Mohanty
ebeea3df60 Merge branch 'revert/freertos_same_priority_preemption_disabled' into 'master'
Revert "fix(freertos/idf): Add workaround for same priority preemption in xTaskIncrementTick()"

Closes IDF-8428

See merge request espressif/esp-idf!26732
2023-11-03 21:59:17 +08:00
Sudeep Mohanty
d38f100223 change(freertos/idf): Deprecate some FreeRTOS IDF addition functions
This commit deprecates xTaskGetAffinity(), xTaskGetCurrentTaskHandleForCPU()
and xTaskGetIdleTaskHandleForCPU() APIs for IDF-FreeRTOS kernel.
Instead, users are directed to use alternatives. All other
components in IDF using these functions have been updated accordingly.
2023-11-03 14:54:06 +01:00
Rahul Tank
c8cae65f45 Merge branch 'bugfix/ble_gap_connect' into 'master'
fix(nimble):Handled the Load access fault crash caused due to an invalid setting of index-variable  'reattempt_idx'.

Closes BLEQABR23-698

See merge request espressif/esp-idf!26584
2023-11-03 19:57:03 +08:00
Chen Yudong
9b8d50a8f5 ci: add label rules for integration test
fix typo
2023-11-03 19:18:52 +08:00
morris
ed5deb00bb Merge branch 'contrib/github_pr_12514' into 'master'
Update ledc_basic_example_main.c (GitHub PR)

Closes IDFGH-11370

See merge request espressif/esp-idf!26896
2023-11-03 18:40:15 +08:00
David Čermák
a7cba03a28 Merge branch 'fix/netif_macro_semicolon' into 'master'
esp_netif: Remove semicolons from ESP_IP4ADDR_INIT and ESP_IP6ADDR_INIT macros (GitHub PR)

Closes IDFGH-10189

See merge request espressif/esp-idf!26759
2023-11-03 18:25:15 +08:00
Kapil Gupta
c815fe67fa fix(wpa_supplicant): memzero wifi config before sending config event 2023-11-03 15:44:08 +05:30
morris
14b7db5dd0 feat(rmt): support calling rmt_receive in ISR callback 2023-11-03 15:42:56 +08:00
Song Ruo Jing
9461993ec5 refactor(gpio): make gpio driver as component, and fix astyle 2023-11-03 15:42:23 +08:00
Darian Leung
52a929521d refactor(freertos/idf): Update thread safety convenience macros
This commit refactors some of the thread safety convenience macros by removing
some repeated definitions and keeping them all in "freertos_idf_additions_priv.h"
2023-11-03 15:41:46 +08:00
Darian Leung
e2c8185f72 fix(freertos/idf): Fix xEventGroupGetBitsFromISR() critical section
Adds missing critical section to xEventGroupGetBitsFromISR() that is required
in dual-core SMP.
2023-11-03 15:41:39 +08:00
Marius Vikhammer
b068812e88 Merge branch 'bugfix/https_server_ci_konfig' into 'master'
fix(ci): fixed misnamed kconfig option in https server ci config

See merge request espressif/esp-idf!26893
2023-11-03 15:36:38 +08:00
Rahul Tank
e689cc55d8 Merge branch 'feature/protocomm_update_params' into 'master'
fix(protocomm): added Protocomm BLE Event Structure and Event Handling

See merge request espressif/esp-idf!26707
2023-11-03 14:09:27 +08:00
xuxiao
5c3a7ec88a fix(wifi): fix esp32c6 rxctrl info is not correct 2023-11-03 13:55:45 +08:00
Kevin (Lao Kaiyao)
3ea8519a9e Merge branch 'bugfix/fix_pdm_rx_high_pass_cut_off_coeff' into 'master'
bugfix(i2s): fix pdm rx high pass filter cut off coeff

See merge request espressif/esp-idf!26835
2023-11-03 12:46:08 +08:00
Omar Chebib
ff2a492002 Merge branch 'staging/espcoredump_move_strings_flash' into 'master'
change(espcoredump): save RAM space by placing constants in flash

See merge request espressif/esp-idf!26872
2023-11-03 12:20:25 +08:00
kohait00
fc295ec021 fix(app_update): avoid erasing an extra sector than the actual required size
OTA update used to fail if `firmware_size == partition_size`, because the code was trying to
erase one additional sector beyond the space reserved for the firmware partition.

This commit fixes the problem and OTA update can work if the firmware
size exactly matches the allocated partition size.

Closes https://github.com/espressif/esp-idf/pull/12460
2023-11-03 09:30:55 +05:30
Jiang Jiang Jian
0eae131fe5 Merge branch 'bugfix/add_config_for_tcp_ooseq' into 'master'
Fix(lwip):bugfix for add config for tcp ooseq bufs

Closes WIFI-6185

See merge request espressif/esp-idf!25346
2023-11-03 11:04:40 +08:00
Omar Chebib
342535f47c Merge branch 'contrib/github_pr_12105' into 'master'
feat(espcoredump): Support for not overwriting existing core dump in flash (GitHub PR)

Closes IDFGH-10907

See merge request espressif/esp-idf!26865
2023-11-03 10:51:39 +08:00
Jiang Jiang Jian
7ae8e1c438 Merge branch 'feat/optimize_bin_size' into 'master'
feat(wifi): Optimize bin size for STA only mode

Closes IDF-8120, IDFGH-11017, and WIFI-5010

See merge request espressif/esp-idf!25642
2023-11-03 09:39:17 +08:00
Marius Vikhammer
d3ca964e5f fix(ci): fixed misnamed kconfig option in https server ci config 2023-11-03 09:13:22 +08:00
Jiang Jiang Jian
1936c2f14c Merge branch 'bugfix/fixed_ble_disconnect_under_temp_change' into 'master'
fix(ble): fixed ble disconnection issue under temperature change

See merge request espressif/esp-idf!26827
2023-11-03 05:07:59 +08:00
Gao Xu
dce1e8d96a Merge branch 'feature/support_adc_calibration_on_h2' into 'master'
adc_cali: supported adc calibration v1 on ESP32H2

Closes IDF-6216

See merge request espressif/esp-idf!26463
2023-11-03 01:49:00 +08:00
Mahavir Jain
69e89c4e95 Merge branch 'contrib/github_pr_12459' into 'master'
manager: fixing unwinding protocom endpoints, on prov_stop. (GitHub PR)

Closes IDFGH-11307

See merge request espressif/esp-idf!26742
2023-11-02 23:47:22 +08:00
Sudeep Mohanty
4979ce604a Merge branch 'feature/frertos_idle_task_name_suffix' into 'master'
fix(freertos/idf): Updated IDLE task names for each core to have the coreID as a suffix

Closes IDFGH-11021 and IDF-8220

See merge request espressif/esp-idf!26723
2023-11-02 23:34:16 +08:00
morris
b2497d1ce6 Merge branch 'ci/update_constraint_file' into 'master'
ci: update constraint file to 5.3

See merge request espressif/esp-idf!26751
2023-11-02 23:07:12 +08:00
Jakub Kocka
579ecbddb8 feat(hints): Added hint for LIBUSB_ERROR_NOT_FOUND 2023-11-02 15:33:00 +01:00
Roland Dobai
06b6df33c2 Merge branch 'coredump-gdb-timeout' into 'master'
fix(coredump-info): set default gdb timeout as 3 seconds

See merge request espressif/esp-idf!26853
2023-11-02 21:02:27 +08:00
Abhinav Kudnar
0132cce1cc fix(nimble):Handled the Load access fault crash caused due to an invalid setting of index-varible 'reattempt_idx'. 2023-11-02 17:30:48 +05:30
Guillaume Souchere
4cdb2f3f93 Merge branch 'fix/patch-heap-rom-integrity-check' into 'master'
fix(heap): Patch tlsf_check_pool in ROM heap

See merge request espressif/esp-idf!26615
2023-11-02 19:21:43 +08:00
Omar Chebib
8ac4b48b2f change(espcoredump): save RAM space by placing constants in flash
All the log messages of espcoredump component used to be in DRAM, which would
lower the available RAM space for the user application. Since the cache is always
enabled after an exception, constants can be put in flash.
2023-11-02 19:09:57 +08:00
Island
ca331989f8 Merge branch 'feat/support_clear_legacy_adv_on_esp32c3' into 'master'
Support clear legacy adv using vendor hci on esp32c3

Closes BLERP-191

See merge request espressif/esp-idf!26696
2023-11-02 19:00:05 +08:00
Island
dc66da9d1d Merge branch 'feat/support_clear_legacy_adv_on_esp32' into 'master'
Support clear legacy adv using vendor hci on esp32

Closes BLERP-191

See merge request espressif/esp-idf!26697
2023-11-02 18:59:48 +08:00
Jakob Hasse
e176b8990e Merge branch 'bugfix/esp_event_tests' into 'master'
fix(esp_event): dedicated task test now waits for semaphore correctly

See merge request espressif/esp-idf!26777
2023-11-02 18:43:03 +08:00
diplfranzhoepfinger
007c2b155e Update ledc_basic_example_main.c
the order of initializers should match the declaration, to be able to also use this code in C++
2023-11-02 11:13:20 +01:00
darshan
e1ec13548f fix(protocomm): added Protocomm BLE Event Structure and Event Handling 2023-11-02 15:37:50 +05:30
Jin Cheng
46327936cb feat(bt/bluedroid): Added an API to specify data types for ACL-U traffic 2023-11-02 17:43:04 +08:00
Shang Zhou
0e69fcb8ac Merge branch 'docs/add_cn_trans_for_ds' into 'master'
docs: Provide CN translation for api-reference/peripherals/ds.rst

Closes DOC-5859

See merge request espressif/esp-idf!26657
2023-11-02 17:42:17 +08:00
Jiang Jiang Jian
5f697d8641 Merge branch 'bugfix/increase_esp32h2_slow_clock_calibration_wdt_threshold' into 'master'
fix(esp_system): increase esp32h2 slow clock calibration timeout watchdog threshold

Closes PM-15

See merge request espressif/esp-idf!26634
2023-11-02 17:08:58 +08:00
Jiang Jiang Jian
b839a70aea Merge branch 'bugfix/lp_active_slow_clock_domain_default_power_down' into 'master'
In the LP ACTIVE state, the slow clock power domain is by default in a powered-off state

Closes IDF-8410

See merge request espressif/esp-idf!26599
2023-11-02 17:04:30 +08:00
Jiang Jiang Jian
39b2af9a29 Merge branch 'bugfix/fix_some_rom_ld_issue' into 'master'
fix(rom): fix wifi rom ld

See merge request espressif/esp-idf!26767
2023-11-02 16:10:58 +08:00
Roman Leonov
a001118837 Merge branch 'docs/usb_host_menuconfig' into 'master'
feat(docs): added USB Host Stack Configuration description

Closes IDF-8447

See merge request espressif/esp-idf!26573
2023-11-02 15:49:13 +08:00
Simon Arlott
1feb3c9f9b espcoredump: Support for not overwriting existing core dump in flash
If there's an unattended boot loop or a crash that causes another crash on
the next boot, it needs to be possible to avoid overwriting a saved core
dump with another core dump.

Add an option to do this and skip writing core dumps if the partition isn't
empty.

Fixes #12027.

Mergeshttps://github.com/espressif/esp-idf/pull/12105
2023-11-02 06:58:47 +00:00
Shang Zhou
2a62932ef1 Merge branch 'docs/fix_typo_according_to_feedback' into 'master'
docs: Fix typo in get-started/index.rst and thread-local-storage.rst based on customer feedback

Closes DOC-6534 and DOC-6578

See merge request espressif/esp-idf!26786
2023-11-02 14:10:34 +08:00
Shang Zhou
8b1a494cd3 docs: Fix typo in get-started/index.rst and thread-local-storage.rst based on customer feedback 2023-11-02 14:10:34 +08:00
Kapil Gupta
c84b2cbaed fix(esp_wifi): Drop fragmented AMPDU(fixCVE-2020-26142) 2023-11-02 14:05:47 +08:00
alanmaxwell
8a47c4875b fix(wifi): optimize wifi bin size and fix some issue
1.Optimize bin size for STA only mode
2.Change fragment threshold to 256
3.Support fragment for LR mode
4.Fix ampdu duration issue
5.Fix rx fragment fail in Open mode.
2023-11-02 14:05:45 +08:00
Konstantin Kondrashov
c13e41ae18 Merge branch 'feature/memalign_internal_external_as_malloc' into 'master'
fix(heap): memalign respect malloc_alwaysinternal_limit (PR)

Closes IDFGH-11209

See merge request espressif/esp-idf!26409
2023-11-02 13:59:32 +08:00
Jiang Jiang Jian
b10580fb04 Merge branch 'bugfix/supplicant_tls_fix' into 'master'
fix(wpa_supplicant): Correct iv lenght passed in mbedtls_cipher_set_iv()

Closes WIFIBUG-212

See merge request espressif/esp-idf!26837
2023-11-02 13:59:05 +08:00
Marius Vikhammer
95703297a6 Merge branch 'ci/psram_config_fix' into 'master'
ci: fix warnings for invalid kconfig option

See merge request espressif/esp-idf!23250
2023-11-02 13:44:04 +08:00
Mahavir Jain
7441cdb82b Merge branch 'feature/esp_crt_bundle_deprecated_list' into 'master'
esp_crt_bundle: add support for deprecated cert list and relevant config

Closes IDF-8188 and IDFGH-10992

See merge request espressif/esp-idf!26734
2023-11-02 12:07:58 +08:00
Jakob Hasse
9aab41cde1 fix(esp_event): dedicated task test now waits for semaphore correctly 2023-11-02 11:49:45 +08:00
gaoxu
843e07b2d5 docs(adc): added adc calibration doc on h2 2023-11-02 11:33:06 +08:00
Wang Meng Yang
144ee32e58 Merge branch 'fix/exception_was_unhandled_for_bt_spp_vfs_acceptor' into 'master'
fix(bt/bluedroid): fix LoadProhibited error in spp vfs acceptor example

Closes BT-3472

See merge request espressif/esp-idf!26844
2023-11-02 11:11:57 +08:00
Jiang Jiang Jian
2e0afe5bf2 Merge branch 'bugfix/install_key_issue_ptk_renew' into 'master'
WiFi: Fix some wifi issues

Closes WIFIBUG-176 and WIFIBUG-225

See merge request espressif/esp-idf!26770
2023-11-02 11:11:38 +08:00
Jiang Jiang Jian
6e0a8434a7 Merge branch 'bt/add_host_only_mode' into 'master'
bt: Added BlueDroid-Only mode to use BlueDroid host only without Bluetooth Controller

See merge request espressif/esp-idf!25319
2023-11-02 10:58:32 +08:00
Wang Meng Yang
52085b0264 Merge branch 'feature/include_hf_and_ag_in_single_build' into 'master'
feat: Added support for build different roles in corresponding profile HID and HFP into a single binary

See merge request espressif/esp-idf!26360
2023-11-02 10:52:38 +08:00
Gao Xu
85484ffe8a Merge branch 'feature/add_adc_oneshot_control_driver_log_independently' into 'master'
ADC: add config for enable ADC driver debug log

Closes IDFGH-11248

See merge request espressif/esp-idf!26819
2023-11-02 10:44:23 +08:00
C.S.M
63ebb38039 Merge branch 'bugfix/32bit_addr_naming' into 'master'
bugfix(spi_flash): Fix wrong naming on 32bit address

See merge request espressif/esp-idf!26814
2023-11-02 10:28:03 +08:00
laokaiyao
4f5773181d fix(i2s): fix pdm rx high pass filter cut off coeff 2023-11-02 10:09:04 +08:00
Erhan Kurubas
659748748f fix(coredump-info): set default gdb timeout as 3 seconds 2023-11-01 19:41:56 +01:00
Roland Dobai
b0d5985a02 Merge branch 'bugfix/docker_safe_repo' into 'master'
fix(docker): set esp-idf repo as safe directory

Closes IDFGH-11223

See merge request espressif/esp-idf!26580
2023-11-01 23:21:50 +08:00
Martin Vychodil
010714d70b Merge branch 'fix/fatfs_missing_release' into 'master'
fix(storage/fatfs): add missing lock release introduced by IMMEDIATE_FSYNC

Closes IDF-8482

See merge request espressif/esp-idf!26749
2023-11-01 22:00:49 +08:00
Kapil Gupta
69704efd5d fix(wifi): Disallow DPP and WPS concurrency 2023-11-01 19:09:58 +05:30
Jiang Jiang Jian
44f0bb148a Merge branch 'bugfix/ble_update_lib_1027' into 'master'
update c6 h2 lib to 5bd7cb83, c2 to 1d31e175

Closes BLERP-193, BLERP-194, BLERP-188, BLERP-176, BLERP-195, BLERP-192, and BLERP-199

See merge request espressif/esp-idf!26708
2023-11-01 20:34:28 +08:00
Sudeep Mohanty
9e6e0a5677 Merge branch 'task/update_readme_for_ulp_riscv_examples' into 'master'
docs(ulp_riscv): Updated ulp_riscv example README files to update GPIO configuration

See merge request espressif/esp-idf!26782
2023-11-01 20:32:50 +08:00
Sudeep Mohanty
0a0c7ef40f fix(freertos/idf): Updated IDLE task names for each core to have the coreID as a suffix
This commit updates the IDLE task names for each core by concatenating
the respective coreIDs to the task names.

Closes https://github.com/espressif/esp-idf/issues/12204
2023-11-01 12:32:06 +00:00
Sudeep Mohanty
3fb23c85b6 Revert "fix(freertos/idf): Add workaround for same priority preemption in xTaskIncrementTick()"
This reverts commit 6c6a6ad44a.
2023-11-01 12:31:37 +00:00
Jiang Jiang Jian
ccc6a5713a Merge branch 'docs/update_nan_docs' into 'master'
Fix inconsistency in NAN documentation

Closes WIFI-6298

See merge request espressif/esp-idf!26817
2023-11-01 20:29:08 +08:00
gongyantao
ab55cd05c2 fix(bt/bluedroid): fix loadprohibited error in spp vfs acceptor example 2023-11-01 20:17:48 +08:00
Rahul Tank
8414400107 Merge branch 'bugfix/remove_iram_attr_from_ceva_files' into 'master'
fix(nimble): remove IRAM_ATTR from npl_os_freertos.c file

See merge request espressif/esp-idf!26726
2023-11-01 20:03:24 +08:00
Kapil Gupta
442f802102 fix(wpa_supplicant): Correct iv lenght passed in mbedtls_cipher_set_iv() 2023-11-01 17:31:02 +05:30
Roman Leonov
46cbbdd48c feat(docs): added USB Host Stack Configuration description 2023-11-01 12:47:27 +01:00
chenjianhua
448d168dfd update esp32 bt-lib (6458728)
- Modify mesh proxy solic uuid to 0x18590303
- Support get the range of TX power level
- Support clear legacy adv using vendor hci
2023-11-01 19:25:01 +08:00
Shu Chen
a66055ff59 Merge branch 'support/ot_deep_sleep_device' into 'master'
feat(openthread): Add deep sleep support for SED

See merge request espressif/esp-idf!26630
2023-11-01 19:09:45 +08:00
Island
ce7bb6b0e8 Merge branch 'feat/support_clear_legacy_adv' into 'master'
feat(bt/bluedroid): support clear legacy advertising

Closes BLERP-175

See merge request espressif/esp-idf!26645
2023-11-01 18:33:09 +08:00
Ondrej Buchta
37d6913e2f added spaces to lines 156-167 as the asterisk at 161 was apparently causing an issue 2023-11-01 17:11:55 +08:00
Darian
7baebd4ae3 Merge branch 'feature/add_run_time_counter_type_option' into 'master'
feat(freertos/idf): Add configRUN_TIME_COUNTER_TYPE option

Closes IDFGH-10757

See merge request espressif/esp-idf!26704
2023-11-01 17:07:11 +08:00
Jin Cheng
1f2a1564a2 feat(bt/bluedroid): Support to build HID Host and HID Device in single binary 2023-11-01 16:54:11 +08:00
Wang Mengyang
638d3af14a feat(bt/bluedroid): Support to build HFP Audio Gateway and Hands Free Unit in single binary 2023-11-01 16:54:08 +08:00
Guillaume Souchere
3ac6eeb7b6 change(docs): Remove heap_caps_check_integrity wrong behavior warning in ROM heap
A patch will fix the behavior of heap_caps_check_integrity in the ROM implementation
of the heap component so the warning is not longer needed.
2023-11-01 09:47:41 +01:00
Guillaume Souchere
93d4b0b38c fix(heap): Patch tlsf_check_pool in ROM heap
The integrity_walker now calls the integrity check hook to control
free AND used blocks of memory in the TLSF pool. This integrity walker
function is called from tlsf_check_pool.

This commit creates a patch of integrity_walker function to update the
outdated implementation in the ROM.
2023-11-01 09:47:41 +01:00
zwl
5b759934f3 fix(ble): fixed ble disconnection issue under temperature change 2023-11-01 16:25:11 +08:00
Kapil Gupta
4dd480ce83 fix(esp_wifi): Fix key install issue in PTK renew 2023-11-01 13:39:50 +05:30
Shyamal Khachane
77aee65708 docs(esp_wifi): Fix inconsistency in NAN documentation 2023-11-01 12:50:12 +05:30
gaoxu
c14d7fbb17 feat(adc): added adc enable debug log config 2023-11-01 15:06:20 +08:00
morris
67ba15fd76 Merge branch 'refactor/emac_rmii_clock_output' into 'master'
refactor(emac): use clock_output driver for configuring RMII reference clock

See merge request espressif/esp-idf!26692
2023-11-01 13:29:07 +08:00
Cao Sen Miao
fe007196f2 bugfix(spi_flash): Fix wrong naming on 32bit address 2023-11-01 12:42:22 +08:00
Shu Chen
036fdf25c4 Merge branch 'feature/add_ot_radio_stats_enable_config' into 'master'
feat(openthread): add config for radio statistic feature

See merge request espressif/esp-idf!26489
2023-11-01 12:33:38 +08:00
Jakob Hasse
596101c516 Merge branch 'bugfix/freertos_psram_stack' into 'master'
bugfix(freertos): Fixed task creation function for PSRAM stack

See merge request espressif/esp-idf!26693
2023-11-01 11:12:07 +08:00
Michael (XIAO Xufeng)
44734885df docs(compatibility): decrease required version of EPS32-S2 v1.0 2023-11-01 10:57:16 +08:00
Island
f1e8cfb546 Merge branch 'bugfix/fix_ble_remove_bond_status' into 'master'
Bugfix/fix ble remove bond status

Closes BLERP-202, BLERP-205, and BLERP-207

See merge request espressif/esp-idf!26750
2023-11-01 10:42:59 +08:00
Jiang Jiang Jian
15f62f87ed Merge branch 'bugfix/wpa3_softap_assoc_reject' into 'master'
fix(wifi): wpa3 softap fix deauth when assoc req recv before sae is finished

Closes WIFIBUG-95

See merge request espressif/esp-idf!25545
2023-11-01 10:37:12 +08:00
Marius Vikhammer
77bb19c49e ci(build): fixed/ignored warnings from unknown symbols in sdkconfig.defaults 2023-11-01 01:14:00 +00:00
David Čermák
ef8a4dc6ff Merge branch 'fix/netif_sntp_examples' into 'master'
fix(examples): Fix usage of SNTP netif API in examples

See merge request espressif/esp-idf!26717
2023-11-01 02:23:47 +08:00
Xiao Xufeng
24ef7f6034 ci(ram_load_app): enable target tests for all targets 2023-11-01 02:01:45 +08:00
Xiao Xufeng
cc28674686 refactor(bootloader_flash): make cache enable more obvious 2023-11-01 02:01:45 +08:00
Xiao Xufeng
28f19cf0e6 fix(ram_app): Fixed issue ram_app can't use the SPI Flash
1st bootloader won't help to initialize the MSPI & cache properly as it
usually do when loading from flash. And the ram app doesn't have valid
headers.

Since there is no enough space in 2nd bootloader, we replace the
`bootloader_init_spi_flash` in the ram_app (!pure_ram_app), with an
customized alternative of it for the ram_app.

This alternative helps to initialize the MSPI & cache properly, without
the help of 1st bootloader or image headers.
2023-11-01 02:01:45 +08:00
Cody P Schafer
9e1e245477 fix(heap): memalign respect malloc_alwaysinternal_limit
This changes `memalign` (and `posix_memalign`) so that it uses an
allocation method with the same selection criteria (checking
`malloc_alwaysinternal_limit` and picking one of:

- always MALLOC_CAP_INTERNAL
- MALLOC_CAP_INTERNAL first with fallback
- MALLOC_CAP_SPIRAM first with fallback

`malloc_alwaysinternal_limit` is in turn set by the options
`CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL` and
`CONFIG_SPRIAM_USE_CAPS_ALLOC`.

This notably affects folks using esp-rs to build rust code for the
esp-idf, as all allocations from rust use `memalign`.

Merges https://github.com/espressif/esp-idf/pull/12375
2023-11-01 01:58:27 +08:00
Wan Lei
10401d95d0 Merge branch 'feature/esp32p4_hp_spi_slave_support' into 'master'
Feature/esp32p4 hp spi slave support

Closes IDF-7503

See merge request espressif/esp-idf!25700
2023-10-31 23:31:24 +08:00
Frantisek Hrbata
1ec09cf7b6 fix(tools/docker): set esp-idf repo as safe directory
In our docker docs[1] we recommend to start docker as a non-root user. This has
a side effect, because the esp-idf repo in docker image is owned by
root. Git by default refuses even to parse a config file if the repo is
owned by other than current user. As a result the version detection in
cmake fails[2] and the app version is set to "HEAD-HASH-NOTFOUND".
This adds esp-idf repo to the system git config as a safe one.

[1] https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/
    tools/idf-docker-image.html#building-a-project-with-cmake
[2] https://github.com/espressif/esp-idf/issues/12389#issuecomment-1764268773

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

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2023-10-31 16:13:27 +01:00
David Čermák
283a3d64b9 Merge branch 'feat/common_connect_ppp' into 'master'
feat(examples): Add PPP to common connection component

See merge request espressif/esp-idf!26315
2023-10-31 18:59:38 +08:00
Fu Hanxi
a9079626bb Merge branch 'ci/upload_artifacts_of_target_stage' into 'master'
ci: Upload artifacts of target stage jobs to s3 bucket

Closes RDT-571

See merge request espressif/esp-idf!26722
2023-10-31 18:34:20 +08:00
Mahavir Jain
5b9bc432a1 Merge branch 'fix/gh_actions_checkout_version' into 'master'
fix(ci): Use latest stable actions/checkout@v3 instead of v2 for GitHub Actions

See merge request espressif/esp-idf!26745
2023-10-31 18:27:25 +08:00
Peter Marcisovsky
5c89fa3a4c Merge branch 'feature/usb_host_lib_example' into 'master'
feat(usb/host): Modifiy usb_host_lib example

Closes IDF-8411

See merge request espressif/esp-idf!26582
2023-10-31 18:17:32 +08:00
Sudeep Mohanty
c6c03d39f8 docs(ulp_riscv): Updated ulp_riscv example README files to update GPIO configuration
This commit updates the README files for the ULP RISC-V I2C and Touch
sensor examples to mention the GPIO configuration needed to run the
examples.
2023-10-31 10:04:08 +01:00
Armando (Dou Yiwen)
1df3736ec1 Merge branch 'feat/isp_af_ll' into 'master'
ISP: AF submodule low level APIs

See merge request espressif/esp-idf!26526
2023-10-31 17:02:46 +08:00
kohait00
7c8663ffa9 manager: fixing unwinding protocom endpoints, on prov_stop. This enables starting and stopping provisioning on a pre started http server 2023-10-31 13:59:29 +05:30
morris
dbc1c06841 Merge branch 'bugfix/rmt_stop_issue' into 'master'
fix(rmt): a disabled channel may pick up a pending transaction

See merge request espressif/esp-idf!26579
2023-10-31 16:24:58 +08:00
xueyunfei
ff1016c55f Fix(lwip):bugfix for add config for tcp ooseq bufs 2023-10-31 16:00:26 +08:00
Chen Jian Xing
c2cf88c783 Merge branch 'bugfix/fix_wifi_enabled_macro' into 'master'
fix(wifi): Fix bug using CONFIG_WIFI_ENABLED macro

Closes WIFIBUG-207 and WIFIBUG-123

See merge request espressif/esp-idf!26740
2023-10-31 15:52:29 +08:00
Darian Leung
b878125bae change(freertos): Update real_time_stats example to use configRUN_TIME_COUNTER_TYPE
This commit updates the real_time_stats example to use the configurable
configRUN_TIME_COUNTER_TYPE. The CONFIG_FREERTOS_RUN_TIME_COUNTER_TYPE_U64 is
enabled by the example by default to demonstrate its usage.

Note: Also cleaned up redundant configs in sdkconfig.ci
2023-10-31 15:44:37 +08:00
liuning
4a7a27c189 fix(rom): fix wifi rom ld 2023-10-31 15:41:09 +08:00
Darian Leung
b301f175c9 feat(freertos/idf): Add configRUN_TIME_COUNTER_TYPE option
This commit adds a Kconfig option for configRUN_TIME_COUNTER_TYPE

Closes https://github.com/espressif/esp-idf/issues/11973
2023-10-31 14:55:12 +08:00
Jiang Jiang Jian
fa853f8262 Merge branch 'bugfix/fix_c6_wrong_reg_offset' into 'master'
fix(coex): fix esp32c6 wrong reg offset

See merge request espressif/esp-idf!26664
2023-10-31 14:49:49 +08:00
Jiang Jiang Jian
f89a879e80 Merge branch 'bugfix/fix_compilation_issue' into 'master'
fix(wpa_supplicant): Fix compilation issue in EAP disabled

Closes IDFGH-11304

See merge request espressif/esp-idf!26659
2023-10-31 14:29:15 +08:00
morris
d78750306d refactor(emac): use clock_output driver for configuring RMII reference clock 2023-10-31 14:24:48 +08:00
Jiang Jiang Jian
5f518dbdde Merge branch 'bugfix/disable_fastpbkdf2_hardwaredisable' into 'master'
fix(wpa_supplicant): implement sha1_finish for fastpbkdf2

Closes WIFIBUG-208

See merge request espressif/esp-idf!26682
2023-10-31 14:18:15 +08:00
Shreyas Sheth
8b8d4a0ffc fix(wifi): wpa3 softap fix deauth when assoc req recv before sae is finished 2023-10-31 06:13:49 +00:00
Island
a436eaf045 Merge branch 'feat/support_ble_notify_reg_max' into 'master'
feat(bt/bluedroid): Support BLE gattc notify registration number

See merge request espressif/esp-idf!26641
2023-10-31 12:29:33 +08:00
gaoxu
0ea0b39725 feat(adc_cali): Add ADC calibration support for ESP32H2 2023-10-31 11:29:30 +08:00
Armando (Dou Yiwen)
100ba9f375 Merge branch 'doc/added_adc_calibration_efuse_error_info' into 'master'
doc(adc): added efuse related failure doc

Closes IDFGH-11205

See merge request espressif/esp-idf!26741
2023-10-31 11:11:32 +08:00
Radim Karniš
cd64c8d420 Merge branch 'docs/clang_tidy_compiler' into 'master'
docs(idf-clang-tidy): Mention the need for a clang based toolchain

Closes IDFGH-9907 and IDFGH-9913

See merge request espressif/esp-idf!26399
2023-10-31 10:32:20 +08:00
David Cermak
327629c527 feat(example): Use PPP config in one MQTT example
to be build in CI, but only running PPP on UART to avoid adding tinyusb
dependency.
2023-10-30 14:50:03 +01:00
David Cermak
1780bababd feat(examples): Add PPP to common connection component 2023-10-30 14:50:00 +01:00
Gao Xu
8b953557c1 Merge branch 'bugfix/fix_adc_read_zero_h2' into 'master'
ADC: fix adc raw data get 0 because of signal delay on ESP32H2

See merge request espressif/esp-idf!26572
2023-10-30 20:51:08 +08:00
Peter Marcisovsky
546b76befa feat(usb/host): Modifiy usb_host_lib example
The example keeps handling connections/disconnections indefinitely.
Added kconfig.projbuild for GPIO selection.
GPIO0 press does terdown/uninstall.
2023-10-30 13:40:44 +01:00
Fu Hanxi
5e1826678d Merge branch 'ci/improve_check_pylint' into 'master'
ci: improve check pylint get files command

See merge request espressif/esp-idf!26578
2023-10-30 19:29:44 +08:00
Fu Hanxi
14d8fc82fe ci: update constraint file to 5.3 2023-10-30 12:00:29 +01:00
Jakob Hasse
bd34fc41bb fix(freertos): Fixed prvTaskCreateDynamicPinnedToCoreWithCaps
* The function was based on an outdated IDF/FreeRTOS
  combination which didn't always require zero-ing
  the TCB. This has been changed in the current
  IDF/FreeRTOS combination, leading to crashes.
  Unconditionally zero-ing the TCB fixes this problem.
2023-10-30 18:09:17 +08:00
zwx
f63c05357b feat(openthread): Add deep sleep support for SED 2023-10-30 17:59:55 +08:00
zhanghaipeng
c1b39f7aa5 fix(bt/bluedroid): Fix BLE remove bond list status 2023-10-30 17:45:38 +08:00
Armando
16d8b7df41 feat(color): added helper to get color space and color pixel format 2023-10-30 17:32:47 +08:00
Armando
7efcf06c5d change(ll): update color space types, ll changes 2023-10-30 17:32:46 +08:00
Armando
97526e9288 feat(isp): isp af submodule low level driver 2023-10-30 17:32:46 +08:00
Linda
ddb82f7ac9 docs: add Ethernet driver update to migration from 4.4 to 5.0 2023-10-30 17:24:37 +08:00
Tomáš Rohlínek
3f4698ac47 fix(storage/fatfs): add missing lock release introduced by IMMEDIATE_FSYNC 2023-10-30 10:22:08 +01:00
Laukik Hase
6fc878f857 fix(ci): Use latest stable actions/checkout@v3 instead of v2 for GitHub Actions 2023-10-30 13:43:10 +05:30
alanmaxwell
120e53b34d fix(phy): Fix ESP32C6 rx pkts fail in light sleep mode 2023-10-30 14:26:25 +08:00
alanmaxwell
2eb1a7f933 fix(wifi): Fix bug using CONFIG_WIFI_ENABLED macro 2023-10-30 14:24:31 +08:00
Armando
95b0152637 doc(adc): added efuse related failure doc
Closes https://github.com/espressif/esp-idf/issues/12372
2023-10-30 14:20:24 +08:00
wanlei
7cd75c1075 feat(spi_slave): add p4 hp spi slave driver support 2023-10-30 12:51:56 +08:00
wuzhenghui
ad2629af54 ci(ulp_test): fix fake sleep of the maincore in ulp pytest cases 2023-10-30 11:18:01 +08:00
wuzhenghui
18f984fd9c fix(esp_hw_support): clear all type ULP wakeup intr status at ulp wakeup source enable 2023-10-30 11:18:01 +08:00
radim.karnis
0349f471af docs(idf-clang-tidy): Mention the need for a clang based toolchain
Closes https://github.com/espressif/clang-tidy-runner/issues/32
2023-10-30 11:10:11 +08:00
Wan Lei
7c21207bd3 Merge branch 'feature/esp32p4_twai_support' into 'master'
feat(twai): support legacy twai(can) driver for esp32p4

Closes IDF-7470

See merge request espressif/esp-idf!26073
2023-10-30 10:57:03 +08:00
Jiang Jiang Jian
7ade26caf1 Merge branch 'bugfix/connect_issue_for_zero_rssi' into 'master'
fix(esp_wifi): Fix issue of station disconnecting immediately after scanning

Closes WIFIBUG-132 and IDFCI-1847

See merge request espressif/esp-idf!25915
2023-10-30 10:16:27 +08:00
Jin Cheng
b319143e3b feat(bt/bluedroid): Added bt_discovery based host only example 2023-10-30 00:52:26 +00:00
Jin Cheng
fc174f5811 feat(bt/bluedroid): Added mode to use BlueDroid host only without Bluetooth Controller 2023-10-30 00:52:26 +00:00
Mahavir Jain
64cb35deef docs(security): add section about managing the root certificates 2023-10-29 12:21:23 +05:30
Mahavir Jain
ac97c61d1a docs: add section about periodic sync of the certificate bundle 2023-10-29 12:21:22 +05:30
Mahavir Jain
5b047057ca feat(mbedtls): add new deprecated cert list and relevant config
Cert bundle is periodically updated with the upstream Mozilla's NSS
root cert store. Retracted certs are moved to deprecated list now and
an additional config allows to include them in the default bundle. New
config is kept default disabled but can be enabled if one would like
to ensure 100% compatibility w.r.t. cert bundle across IDF minor or
patch releases. In IDF major release the deprecated list shall be reset.
2023-10-29 12:21:22 +05:30
Espressif BOT
24446bfab1 change(esp_crt_bundle): Update esp_crt_bundle certificates 2023-10-29 12:21:21 +05:30
Aleksei Apaseev
3a998bd0ce ci: Upload artifacts of target stage jobs to s3 bucket 2023-10-29 12:44:11 +08:00
C.S.M
59d029bf66 Merge branch 'feat/i2c_rcc_support' into 'master'
refactor(i2c): Add reset and clock control to i2c ll layer

See merge request espressif/esp-idf!26684
2023-10-28 10:01:06 +08:00
Mahavir Jain
11c8501f32 Merge branch 'refactor/hal_mpu_test' into 'master'
refactor(tools/test_apps): Move HAL tests for MPU to the `panic` test-app

Closes IDF-5590

See merge request espressif/esp-idf!26422
2023-10-27 20:50:19 +08:00
Mahavir Jain
fc1080dc6a Merge branch 'bugfix/mbedtls_linux_entropy' into 'master'
fix(mbedtls): allow to use built in entropy implementation for linux target

See merge request espressif/esp-idf!26413
2023-10-27 20:14:57 +08:00
luomanruo
b281a72fa1 ble: update c2 lib to 6ed444f2 2023-10-27 20:11:47 +08:00
Ivan Grokhotkov
cbb6fa0507 Merge branch 'bugfix/esp32s3_usb_otg_console_without_efuse' into 'master'
fix(console): switch USB PHY to OTG when OTG is used for console

Closes IDFGH-11281

See merge request espressif/esp-idf!26653
2023-10-27 20:09:09 +08:00
Jiang Jiang Jian
2133e28cf2 Merge branch 'bugfix/esp32c6_phy_coex_sleep_issue' into 'master'
fix(esp_phy): update esp32c6 libphy for coex zb rx and sleep bug

See merge request espressif/esp-idf!26667
2023-10-27 19:48:40 +08:00
zhanghaipeng
f4305753c8 feat(bt/bluedroid): Display BLE permission check handle in error trace 2023-10-27 19:31:44 +08:00
zhanghaipeng
a051438322 fix(bt/bluedroid): Fix max BLE gattc notify number to improve compatibility 2023-10-27 19:31:44 +08:00
zhanghaipeng
6f400e1b5d feat(bt/bluedroid): Support BLE gattc notify registration number 2023-10-27 19:31:44 +08:00
Rahul Tank
a4e712f61a fix(nimble): remove IRAM_ATTR from npl_os_freertos.c file 2023-10-27 16:18:48 +05:30
C.S.M
4111b07076 Merge branch 'bugfix/flash_enc_plaintext' into 'master'
fix(flash_encryption): Fix the issue that XTS_AES Plain text memory size wrong

See merge request espressif/esp-idf!26640
2023-10-27 18:23:00 +08:00
Ondrej Kosta
fc59e9c160 Merge branch 'bugfix/make_eth_ci_nightrun' into 'master'
ci(esp_eth): make additional Ethernet chips test as nightly run

See merge request espressif/esp-idf!26695
2023-10-27 16:33:00 +08:00
Tomáš Rohlínek
8f3abfb60e feat(storage): add dependencies for tests 2023-10-27 10:07:40 +02:00
Tomáš Rohlínek
53f4f19cc1 feat(storage): update config for app tests 2023-10-27 10:07:31 +02:00
luomanruo
d42fbcf144 ble: update c2 rom.ld 2023-10-27 16:03:32 +08:00
cjin
43b53a1885 change(ble): added option for msys buffer source 2023-10-27 16:03:05 +08:00
David Cermak
a9846479ff fix(examples): Fix usage of SNTP netif API in examples 2023-10-27 09:28:20 +02:00
Zhang Hai Peng
9327274a7a Merge branch 'bugfix/fix_ble_hid' into 'master'
fix(bt/bluedroid): Fixed BLE hid example bugs

Closes BLERP-190

See merge request espressif/esp-idf!26613
2023-10-27 15:10:33 +08:00
Zhang Hai Peng
72fc360ad3 Merge branch 'fix/correct-typo-from-disbale-to-disable' into 'master'
fix: corrected typo from disbale to disable in numerous places

See merge request espressif/esp-idf!26644
2023-10-27 15:10:06 +08:00
luomanruo
d23e4d6f3e ble: update c6 h2 lib to 5bd7cb83, c2 lib to 1d31e175 2023-10-27 14:28:10 +08:00
morris
cfbf857924 Merge branch 'refactor/esp_driver_pcnt' into 'master'
refactor(pcnt): make pcnt driver as component

Closes IDF-8380

See merge request espressif/esp-idf!26476
2023-10-27 12:37:36 +08:00
Sarvesh Bodakhe
0a95914839 fix(esp_wifi): Fix issue of station disconnecting immediately when AP RSSI is zero 2023-10-27 09:35:20 +05:30
Ivan Grokhotkov
6f9d3bfc76 Merge branch 'update/version_5_3_0' into 'master'
Start of v5.3 development (v5.3-dev)

See merge request !26669
2023-10-27 06:02:37 +02:00
Cao Sen Miao
0bf1dce413 refactor(i2c): Add reset and clock control to i2c ll layer 2023-10-27 10:50:35 +08:00
morris
47a9396a8c Merge branch 'bugfix/i2c_ll_read_write_fifo_by_index' into 'master'
fix(i2c): read write FIFO memory by volatile

See merge request espressif/esp-idf!26658
2023-10-27 10:22:06 +08:00
Ivan Grokhotkov
8171b22c40 change(version): Update version to 5.3.0 2023-10-27 03:06:55 +02:00
Mahavir Jain
47678fc17b Merge branch 'fix/refactor_esp_tls_server' into 'master'
fix(esp_tls): Refactor esp-tls to remove ESP_TLS_SERVER config option

Closes IDFGH-10812

See merge request espressif/esp-idf!25773
2023-10-27 06:34:44 +08:00
Chen Yu Dong
c6b6a7829d Merge branch 'ci/remove_unused_integration_test_files' into 'master'
ci: remove unused integration test files

See merge request espressif/esp-idf!26655
2023-10-27 05:12:47 +08:00
chenjianhua
ada56ca062 Update bt lib for ESP32-C3 and ESP32-S3(f817304)
- Support get the range of TX power level
- Support clear legacy adv using vendor hci
2023-10-26 19:43:02 +08:00
Cao Sen Miao
420ac840ff fix(flash_encryption): Fix the issue that XTS_AES Plain text memory size wrong 2023-10-26 19:38:42 +08:00
Ondrej
58b6add55c ci(esp_eth): make additional Ethernet chips test as nightly run 2023-10-26 11:38:28 +00:00
zhanghaipeng
2e762ae3f7 fix(bt/bluedroid): Fix key size check in BLE smp 2023-10-26 19:21:21 +08:00
chenjianhua
7a1db4befb feat(bt/bluedroid): support clear legacy advertising 2023-10-26 19:14:54 +08:00
Xu Si Yu
030cac07df fix(coex): fix esp32c6 wrong reg offset 2023-10-26 17:59:09 +08:00
Mahavir Jain
804ed172dd fix(mbedtls): allow to use built in entropy implementation for linux target 2023-10-26 15:12:42 +05:30
Aditya Patwardhan
a0d73b5155 fix(esp_https_server): Convert HTTPD_SSL_CONFIG_DEFAULT MACRO to function
Previously with HTTPD_SSL_CONFIG_DEFAULT being a MACRO, the
    configuration options could not be applied to it. This was casuing
    error in multiple scenarios. For e.g., here user_cert_cb is a part
    of httpd_ssl_config_t which this macro defines. But the type of
    user_cert_cb (esp_tls_server_callback_t) is only available when it is enabled
    in esp-tls. The MACRO however cannot be modified to set the defaults
    based on configuration option. This fix solves the issue without
    breaking the compatibility
2023-10-26 09:30:13 +00:00
Aditya Patwardhan
d4544a0d5c fix(esp_https_server): Remove dependency on CONFIG_ESP_TLS_SERVER
Closes https://github.com/espressif/esp-idf/issues/12023
2023-10-26 09:30:13 +00:00
Aditya Patwardhan
5ce93aa257 fix(esp_tls): Refactor esp-tls to remove ESP_TLS_SERVER config option 2023-10-26 09:30:13 +00:00
wanlei
d9d6f5a17a feat(twai): support legacy twai(can) driver for esp32p4 2023-10-26 16:20:45 +08:00
Kapil Gupta
04d874d6a3 fix(wpa_supplicant): implement sha1_finish for fastpbkdf2 2023-10-26 13:27:39 +05:30
morris
418494800c fix(i2c): read write FIFO memory by volatile 2023-10-26 14:40:07 +08:00
zhanghaipeng
f7e174e948 fix(bt/bluedroid): Optimize compatibility with Android 10 and later devices 2023-10-26 14:14:15 +08:00
morris
15cefab479 fix(rmt): a disabled channel may pick up a pending transaction
because in the trans_done interrupt, the driver didn't check the channel FSM
2023-10-26 12:11:07 +08:00
xiaqilin
c8f4fa2866 fix(esp_phy): update esp32c6 libphy for coex zb rx and sleep bug 2023-10-25 16:10:27 +08:00
Chen Yudong
f1c6bc9e68 ci: remove unused integration test rules 2023-10-25 14:16:45 +08:00
Kapil Gupta
53939de34e fix(wpa_supplicant): Fix compilation issue in EAP disabled 2023-10-25 09:55:12 +05:30
Shang Zhou
57f5343462 docs: Provide CN translation for api-reference/peripherals/ds.rst 2023-10-25 10:25:36 +08:00
Chen Yudong
32fd50fa7f ci: remove unused integration test files 2023-10-24 21:30:58 +08:00
Ivan Grokhotkov
a8e175364a fix(console): switch USB PHY to OTG when OTG is used for console
On ESP32-S3 with the default efuse settings, USB PHY is connected to
the USB_SERIAL_JTAG peripheral. If USB OTG peripheral is used for the
console, we need to additionally switch the PHY to USB OTG, otherwise
we won't get any output.

Closes https://github.com/espressif/esp-idf/issues/12437
2023-10-24 13:29:15 +02:00
Li Shuai
fa489d3c20 change(Power Management): the xpd_xtal32k value depends on system slow clock source config option when pmu initialize 2023-10-24 17:11:53 +08:00
zhanghaipeng
b90dc6a515 feat(bt/bluedroid): Support hid device control point 2023-10-24 15:17:49 +08:00
zhanghaipeng
5727802497 fix(bt/bluedroid): Optimize compatibility with IOS and MACOS devices 2023-10-24 14:52:56 +08:00
DevinNorgarb
001b10ec45 fix: corrected typo from disbale to disable in numerous places 2023-10-24 14:10:39 +08:00
wuzhenghui
8bc69e0354 fix(esp_system): increase esp32h2 slow clock calibration timeout watchdog threshold 2023-10-23 21:24:56 +08:00
morris
98b5ea7bdf refactor(pcnt): make pcnt driver as component 2023-10-23 01:45:43 +00:00
Fu Hanxi
ba3d23342d ci: improve check pylint get files command 2023-10-19 11:53:18 +02:00
zwx
1d6f77136d feat(openthread): add config for radio statistic feature 2023-10-16 17:35:52 +08:00
Laukik Hase
3f67722274 refactor(tools/test_apps): Move HAL tests for MPU to the panic test-app 2023-10-13 10:16:57 +05:30
Leif Jakob
d0bcf76f30 fix receicing of DHCP vendor info 2023-07-07 17:01:17 +02:00
Grigory Kirillov
11d53820f2 Remove semicolons from ESP_IP4ADDR_INIT and ESP_IP6ADDR_INIT macros
There are structs like esp_netif_dns_info_t that have member for
generic ip for which the presence of semicolons is problematic, because
when trying to initialize an ip member with one of these macroses it
results in a syntax error since semicolon is used within curly braces.
2023-05-21 01:34:53 +03:00
2545 changed files with 196156 additions and 44987 deletions

View File

@@ -1,5 +0,0 @@
# Transpiled JavaScript (if any)
dist
# Installed dependencies
node_modules

View File

@@ -1,47 +0,0 @@
# DangerJS pull request automatic review tool - GitHub
## Implementation
The main development is done in Espressif Gitlab project.
Espressif [GitHub project espressif/esp-idf](https://github.com/espressif/esp-idf) is only a public mirror.
Therefore, all changes and updates to DangerJS files (`.github/dangerjs`) must be made via MR in the **Gitlab** repository by Espressif engineer.
When adding a new Danger rule or updating existing one, might be a good idea to test it on the developer's fork of GitHub project. This way, the new feature can be tested using a GitHub action without concern of damaging Espressif's GitHub repository.
Danger for Espressif GitHub is implemented in TypeScript. This makes the code more readable and robust than plain JavaScript.
Compilation to JavaScript code (using `tsc`) is not necessary; Danger handles TypeScript natively.
A good practice is to store each Danger rule in a separate module, and then import these modules into the main Danger file `.github/dangerjs/dangerfile.ts` (see how this is done for currently present modules when adding a new one).
If the Danger module (new check/rule) uses an external NPM module (e.g. `axios`), be sure to add this dependency to `.github/dangerjs/package.json` and also update `.github/dangerjs/package-lock.json`.
In the GitHub action, `danger` is not installed globally (nor are its dependencies) and the `npx` call is used to start the `danger` checks in CI.
## Adding new Danger rule
For local development you can use following strategy
#### Install dependencies
```sh
cd .github/dangerjs
npm install
```
(If the IDE still shows compiler/typing errors, reload the IDE window.)
#### Add new code as needed or make updates
#### Test locally
Danger rules can be tested locally (without running the GitHub action pipeline).
To do this, you have to first export the ENV variables used by Danger in the local terminal:
```sh
export GITHUB_TOKEN='**************************************'
```
Then you can call Danger by:
```sh
cd .github/dangerjs
danger pr https://github.com/espressif/esp-idf/pull/<number_of_pull_request>
```
The result will be displayed in your terminal.

View File

@@ -1,48 +0,0 @@
import { DangerResults } from "danger";
declare const results: DangerResults;
declare const message: (message: string, results?: DangerResults) => void;
declare const markdown: (message: string, results?: DangerResults) => void;
// Import modules with danger rules
// (Modules with checks are stored in ".github/dangerjs/<module_name>.ts". To import them, use path relative to "dangerfile.ts")
import prCommitsTooManyCommits from "./prCommitsTooManyCommits";
import prDescription from "./prDescription";
import prTargetBranch from "./prTargetBranch";
import prInfoContributor from "./prInfoContributor";
import prCommitMessage from "./prCommitMessage";
async function runDangerRules(): Promise<void> {
// Message to contributor about review and merge process
const prInfoContributorMessage: string = await prInfoContributor();
markdown(prInfoContributorMessage);
// Run danger checks
prCommitsTooManyCommits();
prDescription();
prTargetBranch();
prCommitMessage();
// Add success log if no issues
const dangerFails: number = results.fails.length;
const dangerWarns: number = results.warnings.length;
const dangerInfos: number = results.messages.length;
if (!dangerFails && !dangerWarns && !dangerInfos) {
return message("Good Job! All checks are passing!");
}
// Add retry link
addRetryLink();
}
runDangerRules();
function addRetryLink(): void {
const serverUrl: string | undefined = process.env.GITHUB_SERVER_URL;
const repoName: string | undefined = process.env.GITHUB_REPOSITORY;
const runId: string | undefined = process.env.GITHUB_RUN_ID;
const retryLinkUrl: string = `${serverUrl}/${repoName}/actions/runs/${runId}`;
const retryLink: string = `<sub>:repeat: You can re-run automatic PR checks by retrying the <a href="${retryLinkUrl}">DangerJS action</a></sub>`;
markdown(retryLink);
}

1999
.github/dangerjs/package-lock.json generated vendored

File diff suppressed because it is too large Load Diff

View File

@@ -1,18 +0,0 @@
{
"name": "dangerjs-github",
"description": "GitHub PR reviewing with DangerJS",
"main": "dangerfile.ts",
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"axios": "^1.3.3",
"danger": "^11.2.3",
"request": "^2.88.2",
"sync-request": "^6.1.0",
"typescript": "^5.0.3"
},
"devDependencies": {
"@types/node": "^18.15.11"
}
}

View File

@@ -1,67 +0,0 @@
import { DangerDSLType, DangerResults } from "danger";
declare const danger: DangerDSLType;
declare const warn: (message: string, results?: DangerResults) => void;
interface Commit {
message: string;
}
/**
* Check if commit messages are sufficiently descriptive (not too short).
*
* Search for commit messages that appear to be automatically generated or temporary messages and report them.
*
* @dangerjs WARN
*/
export default function (): void {
const prCommits: Commit[] = danger.git.commits;
const detectRegexes: RegExp[] = [
/^Merge pull request #\d+ from .*/i, // Automatically generated message by GitHub
/^Merged .+:.+ into .+/i, // Automatically generated message by GitHub
/^Automatic merge by GitHub Action/i, // Automatically generated message by GitHub
/^Merge branch '.*' of .+ into .+/i, // Automatically generated message by GitHub
/^Create\s[a-zA-Z0-9_.-]+(\.[a-zA-Z0-9]{1,4})?(?=\s|$)/, // Automatically generated message by GitHub using UI
/^Delete\s[a-zA-Z0-9_.-]+(\.[a-zA-Z0-9]{1,4})?(?=\s|$)/, // Automatically generated message by GitHub using UI
/^Update\s[a-zA-Z0-9_.-]+(\.[a-zA-Z0-9]{1,4})?(?=\s|$)/, // Automatically generated message by GitHub using UI
/^Initial commit/i, // Automatically generated message by GitHub
/^WIP.*/i, // Message starts with prefix "WIP"
/^Cleaned.*/i, // Message starts "Cleaned", , probably temporary
/^Test:.*/i, // Message starts with "test" prefix, probably temporary
/clean ?up/i, // Message contains "clean up", probably temporary
/^[^A-Za-z0-9\s].*/, // Message starts with special characters
];
let partMessages: string[] = [];
for (const commit of prCommits) {
const commitMessage: string = commit.message;
const commitMessageTitle: string = commit.message.split("\n")[0];
// Check if the commit message matches any regex from "detectRegexes"
if (detectRegexes.some((regex) => commitMessage.match(regex))) {
partMessages.push(
`- the commit message \`${commitMessageTitle}\` appears to be a temporary or automatically generated message`
);
continue;
}
// Check if the commit message is not too short
const shortCommitMessageThreshold: number = 20; // commit message is considered too short below this number of characters
if (commitMessage.length < shortCommitMessageThreshold) {
partMessages.push(
`- the commit message \`${commitMessageTitle}\` may not be sufficiently descriptive`
);
}
}
// Create report
if (partMessages.length) {
partMessages.sort();
let dangerMessage = `\nSome issues found for the commit messages in this MR:\n${partMessages.join(
"\n"
)}
\nPlease consider updating these commit messages.`;
warn(dangerMessage);
}
}

View File

@@ -1,19 +0,0 @@
import { DangerDSLType, DangerResults } from "danger";
declare const danger: DangerDSLType;
declare const message: (message: string, results?: DangerResults) => void;
/**
* Check if pull request has not an excessive numbers of commits (if squashed)
*
* @dangerjs INFO
*/
export default function (): void {
const tooManyCommitThreshold: number = 2; // above this number of commits, squash commits is suggested
const prCommits: number = danger.github.commits.length;
if (prCommits > tooManyCommitThreshold) {
return message(
`You might consider squashing your ${prCommits} commits (simplifying branch history).`
);
}
}

View File

@@ -1,19 +0,0 @@
import { DangerDSLType, DangerResults } from "danger";
declare const danger: DangerDSLType;
declare const warn: (message: string, results?: DangerResults) => void;
/**
* Check if pull request has has a sufficiently accurate description
*
* @dangerjs WARN
*/
export default function (): void {
const prDescription: string = danger.github.pr.body;
const shortPrDescriptionThreshold: number = 100; // Description is considered too short below this number of characters
if (prDescription.length < shortPrDescriptionThreshold) {
return warn(
"The PR description looks very brief, please check if more details can be added."
);
}
}

View File

@@ -1,58 +0,0 @@
import { DangerDSLType } from "danger";
declare const danger: DangerDSLType;
interface Contributor {
login?: string;
}
const authorLogin = danger.github.pr.user.login;
const messageKnownContributor: string = `
***
👋 **Hi ${authorLogin}**, thank you for your another contribution to \`espressif/esp-idf\` project!
If the change is approved and passes the tests in our internal git repository, it will appear in this public Github repository on the next sync.
***
`;
const messageFirstContributor: string = `
***
👋 **Welcome ${authorLogin}**, thank you for your first contribution to \`espressif/esp-idf\` project!
📘 Please check [Contributions Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/contribute/index.html#contributions-guide) for the contribution checklist, information regarding code and documentation style, testing and other topics.
🖊️ Please also make sure you have **read and signed** the [Contributor License Agreement for espressif/esp-idf project](https://cla-assistant.io/espressif/esp-idf).
#### Pull request review and merge process you can expect
Espressif develops the ESP-IDF project in an internal repository (Gitlab). We do welcome contributions in the form of bug reports, feature requests and pull requests via this public GitHub repository.
1. An internal issue has been created for the PR, we assign it to the relevant engineer
2. They review the PR and either approve it or ask you for changes or clarifications
3. Once the Github PR is approved, we synchronize it into our internal git repository
4. In the internal git repository we do the final review, collect approvals from core owners and make sure all the automated tests are passing
- At this point we may do some adjustments to the proposed change, or extend it by adding tests or documentation.
5. If the change is approved and passes the tests it is merged into the \`master\` branch
6. On next sync from the internal git repository merged change will appear in this public Github repository
***
`;
/**
* Check whether the author of the pull request is known or a first-time contributor, and add a message to the PR with information about the review and merge process.
*/
export default async function (): Promise<string> {
const contributors = await danger.github.api.repos.listContributors({
owner: danger.github.thisPR.owner,
repo: danger.github.thisPR.repo,
});
const contributorsData: Contributor[] = contributors.data;
const knownContributors: (string | undefined)[] = contributorsData.map(
(contributor: Contributor) => contributor.login
);
if (knownContributors.includes(authorLogin)) {
return messageKnownContributor;
} else {
return messageFirstContributor;
}
}

View File

@@ -1,19 +0,0 @@
import { DangerDSLType, DangerResults } from "danger";
declare const danger: DangerDSLType;
declare const fail: (message: string, results?: DangerResults) => void;
/**
* Check if the target branch is "master"
*
* @dangerjs FAIL
*/
export default function (): void {
const prTargetBranch: string = danger.github?.pr?.base?.ref;
if (prTargetBranch !== "master") {
return fail(`
The target branch for this pull request should be \`master\`.\n
If you would like to add this feature to the release branch, please state this in the PR description and we will consider backporting it.
`);
}
}

View File

@@ -1,17 +0,0 @@
{
"compilerOptions": {
"module": "commonjs",
"moduleResolution": "node",
"esModuleInterop": true,
"target": "es6",
"noImplicitAny": true,
"noUnusedParameters": true,
"strictNullChecks": true,
"sourceMap": true,
"removeComments": true,
"outDir": "./dist"
},
"include": [
"./*.ts"
]
}

View File

@@ -1,15 +0,0 @@
version: 2
updates:
- package-ecosystem: "all"
directory: "/"
schedule:
interval: "weekly"
ignore:
- directory: ".gitlab/dangerjs"
patterns:
- "package-lock.json"
- directory: ".github/dangerjs"
patterns:
- "package-lock.json"
# Disable "version updates" (keep only "security updates")
open-pull-requests-limit: 0

View File

@@ -9,28 +9,19 @@ permissions:
contents: write
jobs:
danger-check:
pull-request-style-linter:
runs-on: ubuntu-latest
defaults:
run:
working-directory: .github/dangerjs
steps:
- name: Check out PR head
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup NodeJS environment
uses: actions/setup-node@v3
with:
node-version: 18
cache: npm
cache-dependency-path: .github/dangerjs/package-lock.json
- name: Install DangerJS dependencies
run: npm install
- name: Run DangerJS
run: npx danger ci --failOnErrors -v
- name: DangerJS pull request linter
uses: espressif/shared-github-dangerjs@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
instructions-gitlab-mirror: 'true'
instructions-contributions-file: 'CONTRIBUTING.md'
instructions-cla-link: 'https://cla-assistant.io/espressif/esp-idf'

View File

@@ -12,7 +12,7 @@ jobs:
name: Sync Issue Comments to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Sync issue comments to JIRA
uses: espressif/github-actions/sync_issues_to_jira@master
env:

View File

@@ -12,7 +12,7 @@ jobs:
name: Sync issues to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Sync GitHub issues to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
env:

View File

@@ -15,7 +15,7 @@ jobs:
name: Sync PRs to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Sync PRs to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
with:

View File

@@ -11,7 +11,7 @@ jobs:
(github.event.label.name == 'PR-Sync-Rebase') ||
(github.event.label.name == 'PR-Sync-Update')
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Sync approved PRs to internal codebase
uses: espressif/github-actions/github_pr_to_internal_pr@master
env:

View File

@@ -14,7 +14,7 @@ jobs:
SKIP: "cleanup-ignore-lists" # Comma-separated string of ignored pre-commit check IDs
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Fetch head and base refs
# This is necessary for pre-commit to check the changes in the PR branch
run: |

View File

@@ -0,0 +1,34 @@
name: Vulnerability scan
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
jobs:
vulnerability-scan:
strategy:
# We don't want to run all jobs in parallel, because this would
# overload NVD and we would get 503
max-parallel: 1
matrix:
# References/branches which should be scanned for vulnerabilities are
# defined in the VULNERABILITY_SCAN_REFS variable as json list.
# For example: ['master', 'release/v5.2', 'release/v5.1', 'release/v5.0', 'release/v4.4']
ref: ${{ fromJSON(vars.VULNERABILITY_SCAN_REFS) }}
name: Vulnerability scan
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
ref: ${{ matrix.ref }}
- name: Vulnerability scan
env:
SBOM_MATTERMOST_WEBHOOK: ${{ secrets.SBOM_MATTERMOST_WEBHOOK }}
NVDAPIKEY: ${{ secrets.NVDAPIKEY }}
uses: espressif/esp-idf-sbom-action@master
with:
ref: ${{ matrix.ref }}

View File

@@ -18,6 +18,7 @@ workflow:
# Place the default settings in `.gitlab/ci/common.yml` instead
include:
- '.gitlab/ci/danger.yml'
- '.gitlab/ci/common.yml'
- '.gitlab/ci/rules.yml'
- '.gitlab/ci/upload_cache.yml'

View File

@@ -2,5 +2,228 @@
#
# https://docs.gitlab.com/ee/user/project/code_owners.html#the-syntax-of-code-owners-files
#
# If more than one rule matches a given file, the latest rule is used.
# The file should be generally kept sorted, except when it is necessary
# to use a different order due to the fact above. In that case, use
# '# sort-order-reset' comment line to reset the sort order.
#
# Recipes for a few common cases:
#
# 1. Specific directory with all its contents:
#
# /components/app_trace/
#
# Note the trailing slash!
#
# 2. File with certain extension in any subdirectory of a certain directory:
#
# /examples/**/*.py
#
# This includes an *.py files in /examples/ directory as well.
#
# 3. Contents of a directory with a certain name, anywhere in the tree:
#
# test_*_host/
#
# Will match everything under components/efuse/test_efuse_host/,
# components/heap/test_multi_heap_host/, components/lwip/test_afl_host/, etc.
#
# 4. Same as above, except limited to a specific place in the tree:
#
# /components/esp32*/
#
# Matches everything under /components/esp32, /components/esp32s2, etc.
# Doesn't match /tools/some-test/components/esp32s5.
#
# 5. Specific file:
#
# /tools/tools.json
#
# 6. File with a certain name anywhere in the tree
#
# .gitignore
#
* @esp-idf-codeowners/all-maintainers
* @esp-idf-codeowners/other
/.* @esp-idf-codeowners/tools
/.github/workflows/ @esp-idf-codeowners/ci
/.gitlab-ci.yml @esp-idf-codeowners/ci
/.gitlab/ci/ @esp-idf-codeowners/ci
/.pre-commit-config.yaml @esp-idf-codeowners/ci
/.readthedocs.yml @esp-idf-codeowners/docs
/.vale.ini @esp-idf-codeowners/docs
/CMakeLists.txt @esp-idf-codeowners/build-config
/COMPATIBILITY*.md @esp-idf-codeowners/peripherals
/CONTRIBUTING.md @esp-idf-codeowners/docs
/Kconfig @esp-idf-codeowners/build-config
/README*.md @esp-idf-codeowners/docs
/SUPPORT_POLICY*.md @esp-idf-codeowners/docs
/add_path.sh @esp-idf-codeowners/tools
/conftest.py @esp-idf-codeowners/ci
/export.* @esp-idf-codeowners/tools
/install.* @esp-idf-codeowners/tools
/pytest.ini @esp-idf-codeowners/ci
/sdkconfig.rename @esp-idf-codeowners/build-config
/sonar-project.properties @esp-idf-codeowners/ci
# sort-order-reset
/components/app_trace/ @esp-idf-codeowners/debugging
/components/app_update/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/bootloader*/ @esp-idf-codeowners/system @esp-idf-codeowners/security
/components/bootloader_support/bootloader_flash/ @esp-idf-codeowners/peripherals
/components/bt/ @esp-idf-codeowners/bluetooth
/components/cmock/ @esp-idf-codeowners/system
/components/console/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities/console
/components/cxx/ @esp-idf-codeowners/system
/components/driver/ @esp-idf-codeowners/peripherals
/components/efuse/ @esp-idf-codeowners/system
/components/esp_adc/ @esp-idf-codeowners/peripherals
/components/esp_app_format/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/esp_bootloader_format/ @esp-idf-codeowners/system @esp-idf-codeowners/app-utilities
/components/esp_coex/ @esp-idf-codeowners/wifi @esp-idf-codeowners/bluetooth @esp-idf-codeowners/ieee802154
/components/esp_common/ @esp-idf-codeowners/system
/components/esp_driver_*/ @esp-idf-codeowners/peripherals
/components/esp_driver_sdmmc/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/storage
/components/esp_eth/ @esp-idf-codeowners/network
/components/esp_event/ @esp-idf-codeowners/system
/components/esp_gdbstub/ @esp-idf-codeowners/debugging
/components/esp_hid/ @esp-idf-codeowners/bluetooth
/components/esp_http_client/ @esp-idf-codeowners/app-utilities
/components/esp_http_server/ @esp-idf-codeowners/app-utilities
/components/esp_https_ota/ @esp-idf-codeowners/app-utilities
/components/esp_https_server/ @esp-idf-codeowners/app-utilities
/components/esp_hw_support/ @esp-idf-codeowners/system @esp-idf-codeowners/peripherals
/components/esp_lcd/ @esp-idf-codeowners/peripherals
/components/esp_local_ctrl/ @esp-idf-codeowners/app-utilities
/components/esp_mm/ @esp-idf-codeowners/peripherals
/components/esp_netif/ @esp-idf-codeowners/network
/components/esp_netif_stack/ @esp-idf-codeowners/network
/components/esp_partition/ @esp-idf-codeowners/storage
/components/esp_phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/components/esp_pm/ @esp-idf-codeowners/power-management @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/system
/components/esp_psram/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/esp_ringbuf/ @esp-idf-codeowners/system
/components/esp_rom/ @esp-idf-codeowners/system @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi
/components/esp_system/ @esp-idf-codeowners/system
/components/esp_timer/ @esp-idf-codeowners/system
/components/esp-tls/ @esp-idf-codeowners/app-utilities
/components/esp_wifi/ @esp-idf-codeowners/wifi
/components/espcoredump/ @esp-idf-codeowners/debugging
/components/esptool_py/ @esp-idf-codeowners/tools
/components/fatfs/ @esp-idf-codeowners/storage
/components/fatfs/**/*.py @esp-idf-codeowners/tools
/components/freertos/ @esp-idf-codeowners/system
/components/hal/ @esp-idf-codeowners/peripherals
/components/heap/ @esp-idf-codeowners/system
/components/http_parser/ @esp-idf-codeowners/app-utilities
/components/idf_test/ @esp-idf-codeowners/ci
/components/ieee802154/ @esp-idf-codeowners/ieee802154
/components/json/ @esp-idf-codeowners/app-utilities
/components/linux/ @esp-idf-codeowners/system
/components/log/ @esp-idf-codeowners/system
/components/lwip/ @esp-idf-codeowners/lwip
/components/mbedtls/ @esp-idf-codeowners/app-utilities/mbedtls @esp-idf-codeowners/security
/components/mqtt/ @esp-idf-codeowners/network
/components/newlib/ @esp-idf-codeowners/system @esp-idf-codeowners/toolchain
/components/nvs_flash/ @esp-idf-codeowners/storage
/components/nvs_sec_provider/ @esp-idf-codeowners/storage @esp-idf-codeowners/security
/components/openthread/ @esp-idf-codeowners/ieee802154
/components/partition_table/ @esp-idf-codeowners/system
/components/perfmon/ @esp-idf-codeowners/debugging
/components/protobuf-c/ @esp-idf-codeowners/app-utilities
/components/protocomm/ @esp-idf-codeowners/app-utilities/provisioning
/components/pthread/ @esp-idf-codeowners/system
/components/riscv/ @esp-idf-codeowners/system
/components/sdmmc/ @esp-idf-codeowners/storage
/components/soc/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/system
/components/spi_flash/ @esp-idf-codeowners/peripherals
/components/spiffs/ @esp-idf-codeowners/storage
/components/tcp_transport/ @esp-idf-codeowners/network
/components/touch_element/ @esp-idf-codeowners/peripherals
/components/ulp/ @esp-idf-codeowners/system
/components/unity/ @esp-idf-codeowners/ci
/components/usb/ @esp-idf-codeowners/peripherals/usb
/components/vfs/ @esp-idf-codeowners/storage
/components/wear_levelling/ @esp-idf-codeowners/storage
/components/wifi_provisioning/ @esp-idf-codeowners/app-utilities/provisioning
/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/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
/examples/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
/examples/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
/examples/bluetooth/ @esp-idf-codeowners/bluetooth
/examples/build_system/ @esp-idf-codeowners/build-config
/examples/common_components/ @esp-idf-codeowners/system @esp-idf-codeowners/wifi @esp-idf-codeowners/lwip @esp-idf-codeowners/network
/examples/custom_bootloader/ @esp-idf-codeowners/system
/examples/cxx/ @esp-idf-codeowners/system
/examples/ethernet/ @esp-idf-codeowners/network
/examples/get-started/ @esp-idf-codeowners/system
/examples/ieee802154/ @esp-idf-codeowners/ieee802154
/examples/mesh/ @esp-idf-codeowners/wifi
/examples/network/ @esp-idf-codeowners/network @esp-idf-codeowners/wifi
/examples/openthread/ @esp-idf-codeowners/ieee802154
/examples/peripherals/ @esp-idf-codeowners/peripherals
/examples/peripherals/usb/ @esp-idf-codeowners/peripherals @esp-idf-codeowners/peripherals/usb
/examples/phy/ @esp-idf-codeowners/bluetooth @esp-idf-codeowners/wifi @esp-idf-codeowners/ieee802154
/examples/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/examples/provisioning/ @esp-idf-codeowners/app-utilities/provisioning
/examples/security/ @esp-idf-codeowners/security
/examples/storage/ @esp-idf-codeowners/storage
/examples/system/ @esp-idf-codeowners/system
/examples/system/ota/ @esp-idf-codeowners/app-utilities
/examples/wifi/ @esp-idf-codeowners/wifi
/examples/zigbee/ @esp-idf-codeowners/ieee802154
/tools/ @esp-idf-codeowners/tools
/tools/ble/ @esp-idf-codeowners/app-utilities
/tools/catch/ @esp-idf-codeowners/ci
/tools/ci/ @esp-idf-codeowners/ci
/tools/cmake/ @esp-idf-codeowners/build-config
/tools/cmake/toolchain-*.cmake @esp-idf-codeowners/toolchain
/tools/esp_app_trace/ @esp-idf-codeowners/debugging
/tools/esp_prov/ @esp-idf-codeowners/app-utilities
/tools/gdb_panic_server.py @esp-idf-codeowners/debugging
/tools/kconfig*/ @esp-idf-codeowners/build-config
/tools/ldgen/ @esp-idf-codeowners/build-config
/tools/mass_mfg/ @esp-idf-codeowners/app-utilities
/tools/mocks/ @esp-idf-codeowners/system
/tools/test_apps/README.md @esp-idf-codeowners/docs @esp-idf-codeowners/ci
## Note: owners here should be the same as the owners for the same example subdir, above
/tools/test_apps/build_system/ @esp-idf-codeowners/build-config
/tools/test_apps/linux_compatible/ @esp-idf-codeowners/system
/tools/test_apps/protocols/ @esp-idf-codeowners/network @esp-idf-codeowners/app-utilities
/tools/test_apps/security/ @esp-idf-codeowners/security
/tools/test_apps/system/ @esp-idf-codeowners/system
/tools/test_apps/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
/tools/test_build_system/ @esp-idf-codeowners/tools @esp-idf-codeowners/build-config
/tools/tools.json @esp-idf-codeowners/tools @esp-idf-codeowners/toolchain @esp-idf-codeowners/debugging
/tools/unit-test-app/ @esp-idf-codeowners/system @esp-idf-codeowners/tools
# sort-order-reset
/components/**/test_apps/**/*.py @esp-idf-codeowners/ci @esp-idf-codeowners/tools
# ignore lists
/tools/ci/check_copyright_config.yaml @esp-idf-codeowners/all-maintainers
/tools/ci/check_copyright_ignore.txt @esp-idf-codeowners/all-maintainers
/tools/ci/mypy_ignore_list.txt @esp-idf-codeowners/tools

View File

@@ -180,6 +180,15 @@ build_pytest_examples_esp32h2:
IDF_TARGET: esp32h2
TEST_DIR: examples
build_pytest_examples_esp32p4:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32p4
parallel: 2
variables:
IDF_TARGET: esp32p4
TEST_DIR: examples
build_pytest_examples_jtag: # for all targets
extends:
- .build_pytest_jtag_template
@@ -251,6 +260,15 @@ build_pytest_components_esp32h2:
IDF_TARGET: esp32h2
TEST_DIR: components
build_pytest_components_esp32p4:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32p4
parallel: 4
variables:
IDF_TARGET: esp32p4
TEST_DIR: components
build_only_components_apps:
extends:
- .build_cmake_template
@@ -324,6 +342,14 @@ build_pytest_test_apps_esp32h2:
IDF_TARGET: esp32h2
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32p4:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32p4
variables:
IDF_TARGET: esp32p4
TEST_DIR: tools/test_apps
build_only_tools_test_apps:
extends:
- .build_cmake_template
@@ -550,6 +576,38 @@ pytest_build_system_macos:
reports:
junit: XUNIT_RESULT.xml
.test_build_system_template_win:
stage: host_test
variables:
# Enable ccache for all build jobs. See configure_ci_environment.sh for more ccache related settings.
IDF_CCACHE_ENABLE: "1"
PYTHONPATH: "$PYTHONPATH;$IDF_PATH\\tools;$IDF_PATH\\tools\\esp_app_trace;$IDF_PATH\\components\\partition_table;$IDF_PATH\\tools\\ci\\python_packages"
before_script: []
after_script: []
timeout: 4 hours
script:
- .\install.ps1 --enable-ci --enable-pytest
- . .\export.ps1
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}\tools\test_build_system
- pytest --junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml
pytest_build_system_win:
extends:
- .test_build_system_template_win
- .rules:labels:windows_pytest_build_system
needs: []
tags:
- windows-target
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
when: always
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
build_docker:
extends:
- .before_script:minimal

View File

@@ -33,7 +33,7 @@ variables:
GIT_FETCH_EXTRA_FLAGS: "--no-recurse-submodules --prune --prune-tags"
# we're using .cache folder for caches
GIT_CLEAN_FLAGS: -ffdx -e .cache/
LATEST_GIT_TAG: v5.2-dev
LATEST_GIT_TAG: v5.3-dev
SUBMODULE_FETCH_TOOL: "tools/ci/ci_fetch_submodule.py"
# by default we will fetch all submodules
@@ -49,11 +49,9 @@ variables:
PYTHON_VER: 3.8.17
# Docker images
ESP_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-env-v5.2:2"
ESP_IDF_DOC_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-doc-env-v5.2:2-1"
QEMU_IMAGE: "${CI_DOCKER_REGISTRY}/qemu-v5.2:2-20230522"
TARGET_TEST_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/target-test-env-v5.2:2"
ESP_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-env-v5.3:1"
ESP_IDF_DOC_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-doc-env-v5.3:1-1"
TARGET_TEST_ENV_IMAGE: "${CI_DOCKER_REGISTRY}/target-test-env-v5.3:1"
SONARQUBE_SCANNER_IMAGE: "${CI_DOCKER_REGISTRY}/sonarqube-scanner:5"
PRE_COMMIT_IMAGE: "${CI_DOCKER_REGISTRY}/esp-idf-pre-commit:1"
@@ -69,7 +67,7 @@ variables:
CI_PYTHON_CONSTRAINT_BRANCH: ""
# Update the filename for a specific ESP-IDF release. It is used only with CI_PYTHON_CONSTRAINT_BRANCH.
CI_PYTHON_CONSTRAINT_FILE: "espidf.constraints.v5.2.txt"
CI_PYTHON_CONSTRAINT_FILE: "espidf.constraints.v5.3.txt"
# Set this variable to repository name of a Python tool you wish to install and test in the context of ESP-IDF CI.
# Keep the variable empty when not used.
@@ -141,6 +139,15 @@ variables:
$IDF_PATH/tools/idf_tools.py --non-interactive install esp-clang
fi
# Install QEMU if necessary
if [[ ! -z "$INSTALL_QEMU" ]]; then
$IDF_PATH/tools/idf_tools.py --non-interactive install qemu-xtensa qemu-riscv32
fi
# Since the version 3.21 CMake passes source files and include dirs to ninja using absolute paths.
# Needed for pytest junit reports.
$IDF_PATH/tools/idf_tools.py --non-interactive install cmake
source ./export.sh
# Custom clang
@@ -322,11 +329,15 @@ default:
cache:
# pull only for most of the use cases since it's cache dir.
# Only set "push" policy for "upload_cache" stage jobs
- key: pip-cache
- key: pip-cache-${LATEST_GIT_TAG}
fallback_keys:
- pip-cache
paths:
- .cache/pip
policy: pull
- key: submodule-cache
- key: submodule-cache-${LATEST_GIT_TAG}
fallback_keys:
- submodule-cache
paths:
- .cache/submodule_archives
policy: pull

18
.gitlab/ci/danger.yml Normal file
View File

@@ -0,0 +1,18 @@
# Extenal DangerJS
include:
- project: espressif/shared-ci-dangerjs
ref: master
file: danger.yaml
run-danger-mr-linter:
stage: pre_check
variables:
GIT_STRATEGY: none # no repo checkout
ENABLE_CHECK_AREA_LABELS: 'true'
ENABLE_CHECK_DOCS_TRANSLATION: 'true'
ENABLE_CHECK_RELEASE_NOTES_DESCRIPTION: 'true'
ENABLE_CHECK_UPDATED_CHANGELOG: 'false'
before_script: []
cache: []
tags:
- dangerjs

View File

@@ -9,8 +9,8 @@
extra_default_build_targets:
- esp32p4
bypass_check_test_targets:
- esp32p4
# bypass_check_test_targets:
# - esp32p4
#
# These lines would
# - enable the README.md check for esp32c6. Don't forget to add the build jobs in .gitlab/ci/build.yml

View File

@@ -181,3 +181,9 @@
"labels:nvs_coverage": # host_test
labels:
- nvs_coverage
"labels:windows_pytest_build_system":
labels:
- windows
specific_rules:
- if-schedule-test-build-system-windows

View File

@@ -93,6 +93,7 @@ check_docs_lang_sync:
tags:
- build_docs
script:
- if [ -n "${BREATHE_ALT_INSTALL_URL}" ]; then pip uninstall -y breathe && pip install -U ${BREATHE_ALT_INSTALL_URL}; fi
- cd docs
- build-docs -t $DOCTGT -bs $DOC_BUILDERS -l $DOCLANG build
parallel:

View File

@@ -99,18 +99,9 @@ test_gdbstub_on_host:
- cd components/esp_gdbstub/test_gdbstub_host
- make test
test_idf_py:
extends: .host_test_template
variables:
LC_ALL: C.UTF-8
script:
- cd ${IDF_PATH}/tools/test_idf_py
- ./test_idf_py.py
- ./test_hints.py
# Test for create virtualenv. It must be invoked from Python, not from virtualenv.
# Use docker image system python without any extra dependencies
test_idf_tools:
test_cli_installer:
extends:
- .host_test_template
- .before_script:minimal
@@ -199,37 +190,39 @@ test_sysviewtrace_proc:
- cd ${IDF_PATH}/tools/esp_app_trace/test/sysview
- ./test.sh
test_mkdfu:
extends: .host_test_template
variables:
LC_ALL: C.UTF-8
script:
- cd ${IDF_PATH}/tools/test_mkdfu
- ./test_mkdfu.py
test_autocomplete:
test_tools:
extends:
- .host_test_template
artifacts:
when: on_failure
when: always
paths:
- ${IDF_PATH}/*.out
- ${IDF_PATH}/XUNIT_*.xml
reports:
junit: ${IDF_PATH}/XUNIT_*.xml
expire_in: 1 week
variables:
LC_ALL: C.UTF-8
INSTALL_QEMU: 1 # for test_idf_qemu.py
script:
- ${IDF_PATH}/tools/ci/test_autocomplete.py
test_detect_python:
extends:
- .host_test_template
script:
- stat=0
- cd ${IDF_PATH}/tools/ci/test_autocomplete
- pytest --noconftest test_autocomplete.py --junitxml=${IDF_PATH}/XUNIT_AUTOCOMP.xml || stat=1
- cd ${IDF_PATH}/tools/test_idf_py
- pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml || stat=1
- pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml || stat=1
- pytest --noconftest test_idf_qemu.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY_QEMU.xml || stat=1
- cd ${IDF_PATH}/tools/test_mkdfu
- pytest --noconftest test_mkdfu.py --junitxml=${IDF_PATH}/XUNIT_MKDFU.xml || stat=1
- cd ${IDF_PATH}
- shellcheck -s sh tools/detect_python.sh
- shellcheck -s bash tools/detect_python.sh
- shellcheck -s dash tools/detect_python.sh
- shellcheck -s sh tools/detect_python.sh || stat=1
- shellcheck -s bash tools/detect_python.sh || stat=1
- shellcheck -s dash tools/detect_python.sh || stat=1
- "bash -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "dash -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "zsh -c '. tools/detect_python.sh && echo Our Python: ${ESP_PYTHON?Python is not set}'"
- "fish -c 'source tools/detect_python.fish && echo Our Python: $ESP_PYTHON'"
- exit "$stat"
test_split_path_by_spaces:
extends: .host_test_template
@@ -286,7 +279,6 @@ test_pytest_qemu:
extends:
- .host_test_template
- .before_script:build
image: $QEMU_IMAGE
artifacts:
when: always
paths:
@@ -299,6 +291,8 @@ test_pytest_qemu:
parallel:
matrix:
- IDF_TARGET: [esp32, esp32c3]
variables:
INSTALL_QEMU: 1
script:
- run_cmd python tools/ci/ci_build_apps.py . -vv
--target $IDF_TARGET
@@ -315,6 +309,7 @@ test_pytest_qemu:
--junitxml=XUNIT_RESULT.xml
--ignore-result-files known_failure_cases/known_failure_cases.txt
--app-info-filepattern \"list_job_*.txt\"
--qemu-extra-args \"-global driver=timer.$IDF_TARGET.timg,property=wdt_disable,value=true\"
test_pytest_linux:
extends:

View File

@@ -15,33 +15,7 @@ check_pre_commit:
script:
- fetch_submodules
- pre-commit run --files $MODIFIED_FILES
check_MR_style_dangerjs:
extends:
- .pre_check_template
image: node:18.15.0-alpine3.16
variables:
DANGER_GITLAB_API_TOKEN: ${ESPCI_TOKEN}
DANGER_GITLAB_HOST: ${GITLAB_HTTP_SERVER}
DANGER_GITLAB_API_BASE_URL: ${GITLAB_HTTP_SERVER}/api/v4
DANGER_JIRA_USER: ${DANGER_JIRA_USER}
DANGER_JIRA_PASSWORD: ${DANGER_JIRA_PASSWORD}
cache:
# pull only for most of the use cases since it's cache dir.
# Only set "push" policy for "upload_cache" stage jobs
key:
files:
- .gitlab/dangerjs/package-lock.json
paths:
- .gitlab/dangerjs/node_modules/
policy: pull
before_script:
- cd .gitlab/dangerjs
- npm install --no-progress --no-update-notifier # Install danger dependencies
script:
- npx danger ci --failOnErrors -v
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- pre-commit run --hook-stage post-commit validate-sbom-manifest
check_version:
# Don't run this for feature/bugfix branches, so that it is possible to modify
@@ -178,7 +152,7 @@ pipeline_variables:
tags:
- build
script:
- MODIFIED_FILES=$(echo "$GIT_DIFF_OUTPUT" | xargs)
- MODIFIED_FILES=$(echo $GIT_DIFF_OUTPUT | xargs)
- echo "MODIFIED_FILES=$MODIFIED_FILES" >> pipeline.env
- echo "MODIFIED_COMPONENTS=$(run_cmd python tools/ci/ci_get_mr_info.py components --modified-files $MODIFIED_FILES | xargs)" >> pipeline.env
- |

View File

@@ -126,7 +126,7 @@
- "components/**/*"
- "tools/ci/test_autocomplete.py"
- "tools/ci/test_autocomplete/*"
- "tools/mass_mfg/**/*"
@@ -197,9 +197,6 @@
- "components/bt/esp_ble_mesh/lib/lib"
- ".gitmodules"
.patterns-danger-npm: &patterns-danger-npm
- ".gitlab/dangerjs/package-lock.json"
# for jobs: flash_encryption_wifi_high_traffic
.patterns-example_test-ota-nightly_run: &patterns-example_test-ota-nightly_run
- "examples/system/ota/**/*"
@@ -240,31 +237,31 @@
.patterns-custom_test-wifi: &patterns-custom_test-wifi
- "tools/test_apps/phy/**/*"
# for jobs: example_test_pytest_sdio related
# for jobs: SDIO related example_test
.patterns-example_test-sdio: &patterns-example_test-sdio
- "components/hal/sdio*.c"
- "components/hal/include/hal/sdio*.h"
- "components/driver/sdspi*.c"
- "components/driver/sdio*.c"
- "components/driver/sdmmc*.c"
- "components/driver/include/driver/sdspi*.h"
- "components/driver/include/driver/sdio*.h"
- "components/driver/include/driver/sdmmc*.h"
- "components/esp_driver_sdspi/src/sdspi*.c"
- "components/esp_driver_sdio/src/sdio*.c"
- "components/esp_driver_sdmmc/src/sdmmc*.c"
- "components/esp_driver_sdspi/include/driver/sdspi*.h"
- "components/esp_driver_sdio/include/driver/sdio*.h"
- "components/esp_driver_sdmmc/include/driver/sdmmc*.h"
- "components/sdmmc/??[!s][!t]*/**/*"
- "components/sdmmc/???/**/*"
- "components/sdmmc/*"
- "examples/peripherals/sdio/**/*"
# for jobs: component_ut_pytest_sdio related
# for jobs: SDIO related component_test
.patterns-component_ut-sdio: &patterns-component_ut-sdio
- "components/hal/sdio*.c"
- "components/hal/include/hal/sdio*.h"
- "components/driver/sdspi*.c"
- "components/driver/sdio*.c"
- "components/driver/sdmmc*.c"
- "components/driver/include/driver/sdspi*.h"
- "components/driver/include/driver/sdio*.h"
- "components/driver/include/driver/sdmmc*.h"
- "components/esp_driver_sdspi/src/sdspi*.c"
- "components/esp_driver_sdio/src/sdio*.c"
- "components/esp_driver_sdmmc/src/sdmmc*.c"
- "components/esp_driver_sdspi/include/driver/sdspi*.h"
- "components/esp_driver_sdio/include/driver/sdio*.h"
- "components/esp_driver_sdmmc/include/driver/sdmmc*.h"
- "components/sdmmc/**/*"
# for jobs: component_ut_pytest_flash_multi
@@ -337,6 +334,10 @@
.if-protected-no_label: &if-protected-no_label
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/ || $CI_COMMIT_TAG =~ /^v\d+\.\d+(\.\d+)?($|-)/) && $BOT_TRIGGER_WITH_LABEL == null'
.if-protected-ref-push: &if-protected-ref-push
# rules:changes always evaluates to true for new branch pipelines or when there is no Git push event
if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/) && $CI_PIPELINE_SOURCE == "push"'
.if-qa-test-tag: &if-qa-test-tag
if: '$CI_COMMIT_TAG =~ /^qa-test/'
@@ -349,6 +350,12 @@
.if-schedule: &if-schedule
if: '$CI_PIPELINE_SOURCE == "schedule"'
.if-schedule-nightly: &if-schedule-nightly
if: '$CI_PIPELINE_SOURCE == "schedule" && $INCLUDE_NIGHTLY_RUN == "1"'
.if-schedule-test-build-system-windows: &if-schedule-test-build-system-windows
if: '$CI_PIPELINE_SOURCE == "schedule" && $SCHEDULED_BUILD_SYSTEM_TEST_WIN == "true"'
.if-trigger: &if-trigger
if: '$CI_PIPELINE_SOURCE == "trigger"'
@@ -399,29 +406,26 @@
rules:
- <<: *if-tag-release
### Patterns ###
.rules:patterns:python-cache:
# Do not upload caches on dev branches by default
.rules:upload-python-cache:
rules:
- *if-schedule
- <<: *if-label-upload_cache
when: manual
- <<: *if-dev-push
- <<: *if-tag-release
- <<: *if-schedule-nightly
- <<: *if-protected-ref-push
changes: *patterns-python-cache
.rules:patterns:submodule:
rules:
- <<: *if-label-upload_cache
when: manual
- <<: *if-dev-push
.rules:upload-submodule-cache:
rules:
# Needn't upload submodule cache in schedule pipeline
- <<: *if-tag-release
- <<: *if-protected-ref-push
changes: *patterns-submodule
.rules:patterns:dangerjs:
rules:
- <<: *if-label-upload_cache
when: manual
- <<: *if-dev-push
changes: *patterns-danger-npm
### Patterns ###
.rules:patterns:clang_tidy:
rules:
- <<: *if-protected
@@ -560,6 +564,9 @@
.if-label-target_test: &if-label-target_test
if: '$BOT_LABEL_TARGET_TEST || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*target_test(?:,[^,\n\r]+)*$/i'
.if-label-windows: &if-label-windows
if: '$BOT_LABEL_WINDOWS || $CI_MERGE_REQUEST_LABELS =~ /^(?:[^,\n\r]+,)*windows(?:,[^,\n\r]+)*$/i'
.rules:build:
rules:
- <<: *if-revert-branch
@@ -823,6 +830,44 @@
- <<: *if-dev-push
changes: *patterns-target_test-wifi
.rules:build:component_ut-esp32p4:
rules:
- <<: *if-revert-branch
when: never
- <<: *if-protected
- <<: *if-label-build
- <<: *if-label-component_ut
- <<: *if-label-component_ut_esp32p4
- <<: *if-label-target_test
- <<: *if-dev-push
changes: *patterns-build_components
- <<: *if-dev-push
changes: *patterns-build_system
- <<: *if-dev-push
changes: *patterns-component_ut
- <<: *if-dev-push
changes: *patterns-component_ut-adc
- <<: *if-dev-push
changes: *patterns-component_ut-flash_multi
- <<: *if-dev-push
changes: *patterns-component_ut-i154
- <<: *if-dev-push
changes: *patterns-component_ut-nvs_encr_hmac
- <<: *if-dev-push
changes: *patterns-component_ut-sdio
- <<: *if-dev-push
changes: *patterns-component_ut-usb
- <<: *if-dev-push
changes: *patterns-component_ut-wifi
- <<: *if-dev-push
changes: *patterns-downloadable-tools
- <<: *if-dev-push
changes: *patterns-target_test-adc
- <<: *if-dev-push
changes: *patterns-target_test-ecdsa
- <<: *if-dev-push
changes: *patterns-target_test-wifi
.rules:build:component_ut-esp32s2:
rules:
- <<: *if-revert-branch
@@ -1062,6 +1107,32 @@
- <<: *if-dev-push
changes: *patterns-target_test-wifi
.rules:build:custom_test-esp32p4:
rules:
- <<: *if-revert-branch
when: never
- <<: *if-protected
- <<: *if-label-build
- <<: *if-label-custom_test
- <<: *if-label-custom_test_esp32p4
- <<: *if-label-target_test
- <<: *if-dev-push
changes: *patterns-build_components
- <<: *if-dev-push
changes: *patterns-build_system
- <<: *if-dev-push
changes: *patterns-custom_test
- <<: *if-dev-push
changes: *patterns-custom_test-wifi
- <<: *if-dev-push
changes: *patterns-downloadable-tools
- <<: *if-dev-push
changes: *patterns-target_test-adc
- <<: *if-dev-push
changes: *patterns-target_test-ecdsa
- <<: *if-dev-push
changes: *patterns-target_test-wifi
.rules:build:custom_test-esp32s2:
rules:
- <<: *if-revert-branch
@@ -1609,6 +1680,13 @@
when: never
- <<: *if-label-nvs_coverage
.rules:labels:windows_pytest_build_system:
rules:
- <<: *if-revert-branch
when: never
- <<: *if-schedule-test-build-system-windows
- <<: *if-label-windows
.rules:test:component_ut-esp32:
rules:
- <<: *if-revert-branch
@@ -1816,19 +1894,6 @@
- <<: *if-dev-push
changes: *patterns-target_test-adc
.rules:test:component_ut-esp32c6-i154:
rules:
- <<: *if-revert-branch
when: never
- <<: *if-protected
- <<: *if-label-build-only
when: never
- <<: *if-label-component_ut
- <<: *if-label-component_ut_esp32c6
- <<: *if-label-target_test
- <<: *if-dev-push
changes: *patterns-component_ut-i154
.rules:test:component_ut-esp32h2:
rules:
- <<: *if-revert-branch
@@ -1870,6 +1935,19 @@
- <<: *if-dev-push
changes: *patterns-target_test-ecdsa
.rules:test:component_ut-esp32p4:
rules:
- <<: *if-revert-branch
when: never
- <<: *if-protected
- <<: *if-label-build-only
when: never
- <<: *if-label-component_ut
- <<: *if-label-component_ut_esp32p4
- <<: *if-label-target_test
- <<: *if-dev-push
changes: *patterns-component_ut
.rules:test:component_ut-esp32s2:
rules:
- <<: *if-revert-branch
@@ -2088,6 +2166,19 @@
- <<: *if-dev-push
changes: *patterns-custom_test
.rules:test:custom_test-esp32p4:
rules:
- <<: *if-revert-branch
when: never
- <<: *if-protected
- <<: *if-label-build-only
when: never
- <<: *if-label-custom_test
- <<: *if-label-custom_test_esp32p4
- <<: *if-label-target_test
- <<: *if-dev-push
changes: *patterns-custom_test
.rules:test:custom_test-esp32s2:
rules:
- <<: *if-revert-branch
@@ -2424,6 +2515,21 @@
- <<: *if-dev-push
changes: *patterns-target_test-adc
.rules:test:example_test-esp32p4:
rules:
- <<: *if-revert-branch
when: never
- <<: *if-protected
- <<: *if-label-build-only
when: never
- <<: *if-label-example_test
- <<: *if-label-example_test_esp32p4
- <<: *if-label-target_test
- <<: *if-dev-push
changes: *patterns-build-example_test
- <<: *if-dev-push
changes: *patterns-example_test
.rules:test:example_test-esp32s2:
rules:
- <<: *if-revert-branch

View File

@@ -30,7 +30,7 @@ check_pylint:
script:
- |
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
export files=$(echo "$GIT_DIFF_OUTPUT" | grep ".py$" | xargs);
export files=$(echo $GIT_DIFF_OUTPUT | grep ".py$" | xargs);
else
export files=$(git ls-files "*.py" | xargs);
fi

View File

@@ -7,7 +7,7 @@
dependencies: []
cache:
# Usually do not need submodule-cache in target_test
- key: pip-cache
- key: pip-cache-${LATEST_GIT_TAG}
paths:
- .cache/pip
policy: pull
@@ -229,6 +229,15 @@ pytest_examples_esp32c6_generic:
artifacts: false
tags: [ esp32c6, generic ]
pytest_examples_esp32c6_usj_device:
extends:
- .pytest_examples_dir_template
- .rules:test:example_test-esp32c6
needs:
- job: build_pytest_examples_esp32c6
artifacts: false
tags: [ esp32c6, usj_device ]
pytest_examples_esp32h2_generic:
extends:
- .pytest_examples_dir_template
@@ -238,6 +247,15 @@ pytest_examples_esp32h2_generic:
artifacts: false
tags: [ esp32h2, generic ]
pytest_examples_esp32p4_generic:
extends:
- .pytest_examples_dir_template
- .rules:test:example_test-esp32p4
needs:
- job: build_pytest_examples_esp32p4
artifacts: false
tags: [ esp32p4, generic ]
pytest_examples_esp32_ethernet_ota:
extends:
- .pytest_examples_dir_template
@@ -715,6 +733,24 @@ pytest_components_esp32_adc:
artifacts: false
tags: [ esp32, adc ]
pytest_components_esp32_sdmmc:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32
needs:
- job: build_pytest_components_esp32
artifacts: false
tags: [ esp32, sdcard ]
pytest_components_esp32s3_sdmmc:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32s3
needs:
- job: build_pytest_components_esp32s3
artifacts: false
tags: [ esp32s3, sdcard ]
pytest_components_esp32_sdio:
extends:
- .pytest_components_dir_template
@@ -724,6 +760,37 @@ pytest_components_esp32_sdio:
artifacts: false
tags: [ esp32, sdio_master_slave ]
pytest_components_esp32_esp32c6_sdio:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32-sdio
needs:
- job: build_pytest_components_esp32
artifacts: false
- job: build_pytest_components_esp32c6
artifacts: false
tags: [ esp32c6, sdio_multidev_32_c6 ]
script:
- retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
# get runner env config file
- retry_failed git clone $TEST_ENV_CONFIG_REPO
- python $CHECKOUT_REF_SCRIPT ci-test-runner-configs ci-test-runner-configs
# using runner tags as markers to filter the test cases
# Runner tags are comma separated, replace the comma with " and " for markers
- job_tags=$(python tools/ci/python_packages/gitlab_api.py get_job_tags $CI_PROJECT_ID --job_id $CI_JOB_ID)
- markers=$(echo $job_tags | sed -e "s/,/ and /g")
# download the artifacts, requires esp32 and esp32c6 chips
- run_cmd python tools/ci/artifacts_handler.py download --job-name "build_pytest_components_esp32"
- run_cmd python tools/ci/artifacts_handler.py download --job-name "build_pytest_components_esp32c6"
- run_cmd pytest $TEST_DIR
-m \"${markers}\"
--junitxml=XUNIT_RESULT.xml
--ignore-result-files known_failure_cases/known_failure_cases.txt
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
${PYTEST_EXTRA_FLAGS}
--app-info-filepattern \"list_job_*.txt\"
pytest_components_esp32_ip101:
extends:
- .pytest_components_dir_template
@@ -859,6 +926,60 @@ pytest_components_esp32_psramv0:
artifacts: false
tags: [ esp32, psramv0 ]
pytest_components_esp32_twai_std:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32
needs:
- job: build_pytest_components_esp32
artifacts: false
tags: [ esp32, twai_std ]
pytest_components_esp32s2_twai_std:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32s2
needs:
- job: build_pytest_components_esp32s2
artifacts: false
tags: [ esp32s2, twai_std ]
pytest_components_esp32s3_twai_std:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32s3
needs:
- job: build_pytest_components_esp32s3
artifacts: false
tags: [ esp32s3, twai_std ]
pytest_components_esp32c3_twai_std:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32c3
needs:
- job: build_pytest_components_esp32c3
artifacts: false
tags: [ esp32c3, twai_std ]
pytest_components_esp32c6_twai_std:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32c6
needs:
- job: build_pytest_components_esp32c6
artifacts: false
tags: [ esp32c6, twai_std ]
pytest_components_esp32h2_twai_std:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32h2
needs:
- job: build_pytest_components_esp32h2
artifacts: false
tags: [ esp32h2, twai_std ]
pytest_components_esp32s2_generic:
extends:
- .pytest_components_dir_template
@@ -1140,15 +1261,6 @@ pytest_components_esp32c3_flash_multi:
artifacts: false
tags: [ esp32c3, flash_multi ]
pytest_components_esp32_sdmmc:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32
needs:
- job: build_pytest_components_esp32
artifacts: false
tags: [ esp32, sdcard_sdmode ]
pytest_components_esp32_sdspi:
extends:
- .pytest_components_dir_template
@@ -1204,6 +1316,16 @@ pytest_components_esp32h2_generic:
tags: [ esp32h2, generic ]
parallel: 2
pytest_components_esp32p4_generic:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32p4
needs:
- job: build_pytest_components_esp32p4
artifacts: false
tags: [ esp32p4, generic ]
parallel: 2
pytest_components_esp32h2_generic_multi_device:
extends:
- .pytest_components_dir_template
@@ -1257,12 +1379,12 @@ pytest_components_esp32c6_adc:
artifacts: false
tags: [ esp32c6, adc ]
pytest_components_esp32c6_i154:
pytest_examples_esp32c6_i154:
extends:
- .pytest_components_dir_template
- .rules:test:component_ut-esp32c6-i154
- .pytest_examples_dir_template
- .rules:test:example_test-esp32c6
needs:
- job: build_pytest_components_esp32c6
- job: build_pytest_examples_esp32c6
artifacts: false
tags: [ esp32c6, ieee802154 ]
@@ -1473,6 +1595,15 @@ pytest_test_apps_esp32h2_generic:
artifacts: false
tags: [ esp32h2, generic ]
pytest_test_apps_esp32p4_generic:
extends:
- .pytest_test_apps_dir_template
- .rules:test:custom_test-esp32p4
needs:
- job: build_pytest_test_apps_esp32p4
artifacts: false
tags: [ esp32p4, generic ]
pytest_test_apps_esp32s3_mspi_f8r8:
extends:
- .pytest_test_apps_dir_template

View File

@@ -10,12 +10,12 @@ upload-pip-cache:
extends:
- .upload_cache_template
- .before_script:minimal
- .rules:patterns:python-cache
- .rules:upload-python-cache
tags:
- $GEO
- cache
cache:
key: pip-cache
key: pip-cache-${LATEST_GIT_TAG}
paths:
- .cache/pip
policy: push
@@ -30,12 +30,12 @@ upload-submodules-cache:
extends:
- .upload_cache_template
- .before_script:minimal
- .rules:patterns:submodule
- .rules:upload-submodule-cache
tags:
- $GEO
- cache
cache:
key: submodule-cache
key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: push
@@ -48,27 +48,3 @@ upload-submodules-cache:
parallel:
matrix:
- GEO: [ 'shiny', 'brew' ]
upload-danger-npm-cache:
stage: upload_cache
image: node:18.15.0-alpine3.16
extends:
- .rules:patterns:dangerjs
tags:
- $GEO
- cache
cache:
key:
files:
- .gitlab/dangerjs/package-lock.json
paths:
- .gitlab/dangerjs/node_modules/
policy: push
before_script:
- echo "Skip before scripts ...."
script:
- cd .gitlab/dangerjs
- npm install --no-progress --no-update-notifier
parallel:
matrix:
- GEO: [ 'shiny', 'brew' ]

View File

@@ -1,172 +0,0 @@
const {
minimumSummaryChars,
maximumSummaryChars,
maximumBodyLineChars,
allowedTypes,
} = require("./mrCommitsConstants.js");
const { gptStandardModelTokens } = require("./mrCommitsConstants.js");
const { ChatPromptTemplate } = require("langchain/prompts");
const { SystemMessagePromptTemplate } = require("langchain/prompts");
const { LLMChain } = require("langchain/chains");
const { ChatOpenAI } = require("langchain/chat_models/openai");
const openAiTokenCount = require("openai-gpt-token-counter");
module.exports = async function () {
let outputDangerMessage = `\n\nPerhaps you could use an AI-generated suggestion for your commit message. Here is one `;
let mrDiff = await getMrGitDiff(danger.git.modified_files);
const mrCommitMessages = getCommitMessages(danger.gitlab.commits);
const inputPrompt = getInputPrompt();
const inputLlmTokens = getInputLlmTokens(
inputPrompt,
mrDiff,
mrCommitMessages
);
console.log(`Input tokens for LLM: ${inputLlmTokens}`);
if (inputLlmTokens >= gptStandardModelTokens) {
mrDiff = ""; // If the input mrDiff is larger than 16k model, don't use mrDiff, use only current commit messages
outputDangerMessage += `(based only on your current commit messages, git-diff of this MR is too big (${inputLlmTokens} tokens) for the AI models):\n\n`;
} else {
outputDangerMessage += `(based on your MR git-diff and your current commit messages):\n\n`;
}
// Generate AI commit message
let generatedCommitMessage = "";
try {
const rawCommitMessage = await createAiGitMessage(
inputPrompt,
mrDiff,
mrCommitMessages
);
generatedCommitMessage = postProcessCommitMessage(rawCommitMessage);
} catch (error) {
console.error("Error in generating AI commit message: ", error);
outputDangerMessage +=
"\nCould not generate commit message due to an error.\n";
}
// Append closing statements ("Closes https://github.com/espressif/esp-idf/issues/XXX") to the generated commit message
let closingStatements = extractClosingStatements(mrCommitMessages);
if (closingStatements.length > 0) {
generatedCommitMessage += "\n\n" + closingStatements;
}
// Add the generated git message, format to the markdown code block
outputDangerMessage += `\n\`\`\`\n${generatedCommitMessage}\n\`\`\`\n`;
outputDangerMessage +=
"\n**NOTE: AI-generated suggestions may not always be correct, please review the suggestion before using it.**"; // Add disclaimer
return outputDangerMessage;
};
async function getMrGitDiff(mrModifiedFiles) {
const fileDiffs = await Promise.all(
mrModifiedFiles.map((file) => danger.git.diffForFile(file))
);
return fileDiffs.map((fileDiff) => fileDiff.diff.trim()).join(" ");
}
function getCommitMessages(mrCommits) {
return mrCommits.map((commit) => commit.message);
}
function getInputPrompt() {
return `You are a helpful assistant that creates suggestions for single git commit message, that user can use to describe all the changes in their merge request.
Use git diff: {mrDiff} and users current commit messages: {mrCommitMessages} to get the changes made in the commit.
Output should be git commit message following the conventional commit format.
Output only git commit message in desired format, without comments and other text.
Do not include the closing statements ("Closes https://....") in the output.
Here are the strict rules you must follow:
- Avoid mentioning any JIRA tickets (e.g., "Closes JIRA-123").
- Be specific. Don't use vague terms (e.g., "some checks", "add new ones", "few changes").
- The commit message structure should be: <type><(scope/component)>: <summary>
- Types allowed: ${allowedTypes.join(", ")}
- If 'scope/component' is used, it must start with a lowercase letter.
- The 'summary' must NOT end with a period.
- The 'summary' must be between ${minimumSummaryChars} and ${maximumSummaryChars} characters long.
If a 'body' of commit message is used:
- Each line must be no longer than ${maximumBodyLineChars} characters.
- It must be separated from the 'summary' by a blank line.
Examples of correct commit messages:
- With scope and body:
fix(freertos): Fix startup timeout issue
This is a text of commit message body...
- adds support for wifi6
- adds validations for logging script
- Without scope and body:
ci: added target test job for ESP32-Wifi6`;
}
function getInputLlmTokens(inputPrompt, mrDiff, mrCommitMessages) {
const mrCommitMessagesTokens = openAiTokenCount(mrCommitMessages.join(" "));
const gitDiffTokens = openAiTokenCount(mrDiff);
const promptTokens = openAiTokenCount(inputPrompt);
return mrCommitMessagesTokens + gitDiffTokens + promptTokens;
}
async function createAiGitMessage(inputPrompt, mrDiff, mrCommitMessages) {
const chat = new ChatOpenAI({ engine: "gpt-3.5-turbo", temperature: 0 });
const chatPrompt = ChatPromptTemplate.fromPromptMessages([
SystemMessagePromptTemplate.fromTemplate(inputPrompt),
]);
const chain = new LLMChain({ prompt: chatPrompt, llm: chat });
const response = await chain.call({
mrDiff: mrDiff,
mrCommitMessages: mrCommitMessages,
});
return response.text;
}
function postProcessCommitMessage(rawCommitMessage) {
// Split the result into lines
let lines = rawCommitMessage.split("\n");
// Format each line
for (let i = 0; i < lines.length; i++) {
let line = lines[i].trim();
// If the line is longer than maximumBodyLineChars, split it into multiple lines
if (line.length > maximumBodyLineChars) {
let newLines = [];
while (line.length > maximumBodyLineChars) {
let lastSpaceIndex = line.lastIndexOf(
" ",
maximumBodyLineChars
);
newLines.push(line.substring(0, lastSpaceIndex));
line = line.substring(lastSpaceIndex + 1);
}
newLines.push(line);
lines[i] = newLines.join("\n");
}
}
// Join the lines back into a single string with a newline between each one
return lines.join("\n");
}
function extractClosingStatements(mrCommitMessages) {
let closingStatements = [];
mrCommitMessages.forEach((message) => {
const lines = message.split("\n");
lines.forEach((line) => {
if (line.startsWith("Closes")) {
closingStatements.push(line);
}
});
});
return closingStatements.join("\n");
}

View File

@@ -1,56 +0,0 @@
let outputStatuses = [];
/**
* Logs the status of a rule with padded formatting and stores it in the `outputStatuses` array.
* If the rule already exists in the array, its status is updated.
* @param message The name of the rule
* @param status The output (exit) status of the rule
*/
function recordRuleExitStatus(message, status) {
// Check if the rule already exists in the array
const existingRecord = outputStatuses.find(
(rule) => rule.message === message
);
if (existingRecord) {
// Update the status of the existing rule
existingRecord.status = status;
} else {
// If the rule doesn't exist, add it to the array
outputStatuses.push({ message, status });
}
}
/**
* Displays all the rule output statuses stored in the `outputStatuses` array.
* Filters out any empty lines, sorts them alphabetically, and prints the statuses
* with a header and separator.
* These statuses are later displayed in CI job tracelog.
*/
function displayAllOutputStatuses() {
const lineLength = 100;
const sortedStatuses = outputStatuses.sort((a, b) =>
a.message.localeCompare(b.message)
);
const formattedLines = sortedStatuses.map((statusObj) => {
const paddingLength =
lineLength - statusObj.message.length - statusObj.status.length;
const paddedMessage = statusObj.message.padEnd(
statusObj.message.length + paddingLength,
"."
);
return `${paddedMessage} ${statusObj.status}`;
});
console.log(
"DangerJS checks (rules) output states:\n" + "=".repeat(lineLength + 2)
);
console.log(formattedLines.join("\n"));
console.log("=".repeat(lineLength + 2));
}
module.exports = {
displayAllOutputStatuses,
recordRuleExitStatus,
};

View File

@@ -1,51 +0,0 @@
const { displayAllOutputStatuses } = require("./configParameters.js");
/*
* Modules with checks are stored in ".gitlab/dangerjs/<module_name>". To import them, use path relative to "dangerfile.js"
*/
async function runChecks() {
// Checks for merge request title
require("./mrTitleNoDraftOrWip.js")();
// Checks for merge request description
require("./mrDescriptionLongEnough.js")();
require("./mrDescriptionReleaseNotes.js")();
await require("./mrDescriptionJiraLinks.js")();
// Checks for documentation
await require("./mrDocsTranslation.js")();
// Checks for MR commits
require("./mrCommitsTooManyCommits.js")();
await require("./mrCommitsCommitMessage.js")();
require("./mrCommitsEmail.js")();
// Checks for MR code
require("./mrSizeTooLarge.js")();
// Checks for MR area labels
await require("./mrAreaLabels.js")();
// Checks for Source branch name
require("./mrSourceBranchName.js")();
// Show DangerJS individual checks statuses - visible in CI job tracelog
displayAllOutputStatuses();
// Add success log if no issues
if (
results.fails.length === 0 &&
results.warnings.length === 0 &&
results.messages.length === 0
) {
return message("🎉 Good Job! All checks are passing!");
}
}
runChecks();
// Add retry link
const retryLink = `${process.env.DANGER_GITLAB_HOST}/${process.env.CI_PROJECT_PATH}/-/jobs/${process.env.CI_JOB_ID}`;
markdown(
`***\n#### :repeat: You can enforce automatic MR checks by retrying the [DangerJS job](${retryLink})\n***`
);

View File

@@ -1,27 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR has area labels (light blue labels)
*
* @dangerjs WARN
*/
module.exports = async function () {
const ruleName = "Merge request area labels";
const projectId = 103; // ESP-IDF
const areaLabelColor = /^#d2ebfa$/i; // match color code (case-insensitive)
const projectLabels = await danger.gitlab.api.Labels.all(projectId); // Get all project labels
const areaLabels = projectLabels
.filter((label) => areaLabelColor.test(label.color))
.map((label) => label.name); // Filter only area labels
const mrLabels = danger.gitlab.mr.labels; // Get MR labels
if (!mrLabels.some((label) => areaLabels.includes(label))) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`Please add some [area labels](${process.env.DANGER_GITLAB_HOST}/espressif/esp-idf/-/labels) to this MR.`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};

View File

@@ -1,165 +0,0 @@
const {
minimumSummaryChars,
maximumSummaryChars,
maximumBodyLineChars,
allowedTypes,
} = require("./mrCommitsConstants.js");
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check that commit messages are based on the Espressif ESP-IDF project's rules for git commit messages.
*
* @dangerjs WARN
*/
module.exports = async function () {
const ruleName = "Commit messages style";
const mrCommits = danger.gitlab.commits;
const lint = require("@commitlint/lint").default;
const lintingRules = {
// rule definition: [(0-1 = off/on), (always/never = must be/mustn't be), (value)]
"body-max-line-length": [1, "always", maximumBodyLineChars], // Max length of the body line
"footer-leading-blank": [1, "always"], // Always have a blank line before the footer section
"footer-max-line-length": [1, "always", maximumBodyLineChars], // Max length of the footer line
"subject-max-length": [1, "always", maximumSummaryChars], // Max length of the "Summary"
"subject-min-length": [1, "always", minimumSummaryChars], // Min length of the "Summary"
"scope-case": [1, "always", "lower-case"], // "scope/component" must start with lower-case
"subject-full-stop": [1, "never", "."], // "Summary" must not end with a full stop (period)
"subject-empty": [1, "never"], // "Summary" is mandatory
"type-case": [1, "always", "lower-case"], // "type/action" must start with lower-case
"type-empty": [1, "never"], // "type/action" is mandatory
"type-enum": [1, "always", allowedTypes], // "type/action" must be one of the allowed types
"body-leading-blank": [1, "always"], // Always have a blank line before the body section
};
// Switcher for AI suggestions (for poor messages)
let generateAISuggestion = false;
// Search for the messages in each commit
let issuesAllCommitMessages = [];
for (const commit of mrCommits) {
const commitMessage = commit.message;
const commitMessageTitle = commit.title;
let issuesSingleCommitMessage = [];
let reportSingleCommitMessage = "";
// Check if the commit message contains any Jira ticket references
const jiraTicketRegex = /[A-Z0-9]+-[0-9]+/g;
const jiraTicketMatches = commitMessage.match(jiraTicketRegex);
if (jiraTicketMatches) {
const jiraTicketNames = jiraTicketMatches.join(", ");
issuesSingleCommitMessage.push(
`- probably contains Jira ticket reference (\`${jiraTicketNames}\`). Please remove Jira tickets from commit messages.`
);
}
// Lint commit messages with @commitlint (Conventional Commits style)
const result = await lint(commit.message, lintingRules);
for (const warning of result.warnings) {
// Custom messages for each rule with terminology used by Espressif conventional commits guide
switch (warning.name) {
case "subject-max-length":
issuesSingleCommitMessage.push(
`- *summary* appears to be too long`
);
break;
case "type-empty":
issuesSingleCommitMessage.push(
`- *type/action* looks empty`
);
break;
case "type-case":
issuesSingleCommitMessage.push(
`- *type/action* should start with a lowercase letter`
);
break;
case "scope-empty":
issuesSingleCommitMessage.push(
`- *scope/component* looks empty`
);
break;
case "scope-case":
issuesSingleCommitMessage.push(
`- *scope/component* should be lowercase without whitespace, allowed special characters are \`_\` \`/\` \`.\` \`,\` \`*\` \`-\` \`.\``
);
break;
case "subject-empty":
issuesSingleCommitMessage.push(`- *summary* looks empty`);
generateAISuggestion = true;
break;
case "subject-min-length":
issuesSingleCommitMessage.push(
`- *summary* looks too short`
);
generateAISuggestion = true;
break;
case "subject-case":
issuesSingleCommitMessage.push(
`- *summary* should start with a capital letter`
);
break;
case "subject-full-stop":
issuesSingleCommitMessage.push(
`- *summary* should not end with a period (full stop)`
);
break;
case "type-enum":
issuesSingleCommitMessage.push(
`- *type/action* should be one of [${allowedTypes
.map((type) => `\`${type}\``)
.join(", ")}]`
);
break;
default:
issuesSingleCommitMessage.push(`- ${warning.message}`);
}
}
if (issuesSingleCommitMessage.length) {
reportSingleCommitMessage = `- the commit message \`"${commitMessageTitle}"\`:\n${issuesSingleCommitMessage
.map((message) => ` ${message}`) // Indent each issue by 2 spaces
.join("\n")}`;
issuesAllCommitMessages.push(reportSingleCommitMessage);
}
}
// Create report
if (issuesAllCommitMessages.length) {
issuesAllCommitMessages.sort();
const basicTips = [
`- correct format of commit message should be: \`<type/action>(<scope/component>): <summary>\`, for example \`fix(esp32): Fixed startup timeout issue\``,
`- allowed types are: \`${allowedTypes}\``,
`- sufficiently descriptive message summary should be between ${minimumSummaryChars} to ${maximumSummaryChars} characters and start with upper case letter`,
`- avoid Jira references in commit messages (unavailable/irrelevant for our customers)`,
`- follow this [commit messages guide](${process.env.DANGER_GITLAB_HOST}/espressif/esp-idf/-/wikis/dev-proc/Commit-messages)`,
];
let dangerMessage = `\n**Some issues found for the commit messages in this MR:**\n${issuesAllCommitMessages.join(
"\n"
)}
\n***
\n**Please consider updating these commit messages** - here are some basic tips:\n${basicTips.join(
"\n"
)}
\n \`TIP:\` You can install commit-msg pre-commit hook (\`pre-commit install -t pre-commit -t commit-msg\`) to run this check when committing.
\n***
`;
if (generateAISuggestion) {
// Create AI generated suggestion for git commit message based of gitDiff and current commit messages
const AImessageSuggestion =
await require("./aiGenerateGitMessage.js")();
dangerMessage += AImessageSuggestion;
}
recordRuleExitStatus(ruleName, "Failed");
return warn(dangerMessage);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};

View File

@@ -1,16 +0,0 @@
module.exports = {
gptStandardModelTokens: 4096,
minimumSummaryChars: 20,
maximumSummaryChars: 72,
maximumBodyLineChars: 100,
allowedTypes: [
"change",
"ci",
"docs",
"feat",
"fix",
"refactor",
"remove",
"revert",
],
};

View File

@@ -1,23 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if the author is accidentally making a commit using a personal email
*
* @dangerjs INFO
*/
module.exports = function () {
const ruleName = 'Commits from outside Espressif';
const mrCommitAuthorEmails = danger.gitlab.commits.map(commit => commit.author_email);
const mrCommitCommitterEmails = danger.gitlab.commits.map(commit => commit.committer_email);
const emailPattern = /.*@espressif\.com/;
const filteredEmails = [...mrCommitAuthorEmails, ...mrCommitCommitterEmails].filter((email) => !emailPattern.test(email));
if (filteredEmails.length) {
recordRuleExitStatus(ruleName, "Failed");
return message(
`Some of the commits were authored or committed by developers outside Espressif: ${filteredEmails.join(', ')}. Please check if this is expected.`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
};

View File

@@ -1,22 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR has not an excessive numbers of commits (if squashed)
*
* @dangerjs INFO
*/
module.exports = function () {
const ruleName = 'Number of commits in merge request';
const tooManyCommitThreshold = 2; // above this number of commits, squash commits is suggested
const mrCommits = danger.gitlab.commits;
if (mrCommits.length > tooManyCommitThreshold) {
recordRuleExitStatus(ruleName, "Passed (with suggestions)");
return message(
`You might consider squashing your ${mrCommits.length} commits (simplifying branch history).`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
};

View File

@@ -1,238 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/** Check that there are valid JIRA links in MR description.
*
* This check extracts the "Related" section from the MR description and
* searches for JIRA ticket references in the format "Closes [JIRA ticket key]".
*
* It then extracts the closing GitHub links from the corresponding JIRA tickets and
* checks if the linked GitHub issues are still in open state.
*
* Finally, it checks if the required GitHub closing links are present in the MR's commit messages.
*
*/
module.exports = async function () {
const ruleName = 'Jira ticket references';
const axios = require("axios");
const mrDescription = danger.gitlab.mr.description;
const mrCommitMessages = danger.gitlab.commits.map(
(commit) => commit.message
);
const jiraTicketRegex = /[A-Z0-9]+-[0-9]+/;
let partMessages = []; // Create a blank field for future records of individual issues
// Parse section "Related" from MR Description
const sectionRelated = extractSectionRelated(mrDescription);
if (
!sectionRelated.header || // No section Related in MR description or ...
!jiraTicketRegex.test(sectionRelated.content) // no Jira links in section Related
) {
recordRuleExitStatus(ruleName, 'Passed (with suggestions)');
return message(
"Please consider adding references to JIRA issues in the `Related` section of the MR description."
);
}
// Get closing (only) JIRA tickets
const jiraTickets = findClosingJiraTickets(sectionRelated.content);
for (const ticket of jiraTickets) {
ticket.jiraUIUrl = `https://jira.espressif.com:8443/browse/${ticket.ticketName}`;
if (!ticket.correctFormat) {
partMessages.push(
`- closing ticket \`${ticket.record}\` seems to be in the wrong format (or inaccessible to Jira DangerBot).. The correct format is for example \`- Closes JIRA-123\`.`
);
}
// Get closing GitHub issue links from JIRA tickets
const closingGithubLink = await getGitHubClosingLink(ticket.ticketName);
if (closingGithubLink) {
ticket.closingGithubLink = closingGithubLink;
} else if (closingGithubLink === null) {
partMessages.push(
`- the Jira issue number [\`${ticket.ticketName}\`](${ticket.jiraUIUrl}) seems to be invalid (please check if the ticket number is correct)`
);
continue; // Handle unreachable JIRA tickets; skip the following checks
} else {
continue; // Jira ticket have no GitHub closing link; skip the following checks
}
// Get still open GitHub issues
const githubIssueStatusOpen = await isGithubIssueOpen(
ticket.closingGithubLink
);
ticket.isOpen = githubIssueStatusOpen;
if (githubIssueStatusOpen === null) {
// Handle unreachable GitHub issues
partMessages.push(
`- the GitHub issue [\`${ticket.closingGithubLink}\`](${ticket.closingGithubLink}) does not seem to exist on GitHub (referenced from JIRA ticket [\`${ticket.ticketName}\`](${ticket.jiraUIUrl}) )`
);
continue; // skip the following checks
}
// Search in commit message if there are all GitHub closing links (from Related section) for still open GH issues
if (ticket.isOpen) {
if (
!mrCommitMessages.some((item) =>
item.includes(`Closes ${ticket.closingGithubLink}`)
)
) {
partMessages.push(
`- please add \`Closes ${ticket.closingGithubLink}\` to the commit message`
);
}
}
}
// Create report / DangerJS check feedback if issues with Jira links found
if (partMessages.length) {
createReport();
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
// ---------------------------------------------------------------
/**
* This function takes in a string mrDescription which contains a Markdown-formatted text
* related to a Merge Request (MR) in a GitLab repository. It searches for a section titled "Related"
* and extracts the content of that section. If the section is not found, it returns an object
* indicating that the header and content are null. If the section is found but empty, it returns
* an object indicating that the header is present but the content is null. If the section is found
* with content, it returns an object indicating that the header is present and the content of the
* "Related" section.
*
* @param {string} mrDescription - The Markdown-formatted text related to the Merge Request.
* @returns {{
* header: string | boolean | null,
* content: string | null
* }} - An object containing the header and content of the "Related" section, if present.
*/
function extractSectionRelated(mrDescription) {
const regexSectionRelated = /## Related([\s\S]*?)(?=## |$)/;
const sectionRelated = mrDescription.match(regexSectionRelated);
if (!sectionRelated) {
return { header: null, content: null }; // Section "Related" is missing
}
const content = sectionRelated[1].replace(/(\r\n|\n|\r)/gm, ""); // Remove empty lines
if (!content.length) {
return { header: true, content: null }; // Section "Related" is present, but empty
}
return { header: true, content: sectionRelated[1] }; // Found section "Related" with content
}
/**
* Finds all JIRA tickets that are being closed in the given sectionRelatedcontent.
* The function searches for lines that start with - Closes and have the format Closes [uppercase letters]-[numbers].
* @param {string} sectionRelatedcontent - A string that contains lines with mentions of JIRA tickets
* @returns {Array} An array of objects with ticketName property that has the correct format
*/
function findClosingJiraTickets(sectionRelatedcontent) {
let closingTickets = [];
const lines = sectionRelatedcontent.split("\n");
for (const line of lines) {
if (!line.startsWith("- Closes")) {
continue; // Not closing-type ticket, skip
}
const correctJiraClosingLinkFormat = new RegExp(
`^- Closes ${jiraTicketRegex.source}$`
);
const matchedJiraTicket = line.match(jiraTicketRegex);
if (matchedJiraTicket) {
if (!correctJiraClosingLinkFormat.test(line)) {
closingTickets.push({
record: line,
ticketName: matchedJiraTicket[0],
correctFormat: false,
});
} else {
closingTickets.push({
record: line,
ticketName: matchedJiraTicket[0],
correctFormat: true,
});
}
}
}
return closingTickets;
}
/**
* This function takes a JIRA issue key and retrieves the description from JIRA's API.
* It then searches the description for a GitHub closing link in the format "Closes https://github.com/owner/repo/issues/123".
* If a GitHub closing link is found, it is returned. If no GitHub closing link is found, it returns null.
* @param {string} jiraIssueKey - The key of the JIRA issue to search for the GitHub closing link.
* @returns {Promise<string|null>} - A promise that resolves to a string containing the GitHub closing link if found,
* or null if not found.
*/
async function getGitHubClosingLink(jiraIssueKey) {
let jiraDescription = "";
// Get JIRA ticket description content
try {
const response = await axios({
url: `https://jira.espressif.com:8443/rest/api/latest/issue/${jiraIssueKey}`,
auth: {
username: process.env.DANGER_JIRA_USER,
password: process.env.DANGER_JIRA_PASSWORD,
},
});
jiraDescription = response.data.fields.description
? response.data.fields.description
: ""; // if the Jira ticket has an unfilled Description, the ".description" property is missing in API response - in that case set "jiraDescription" to an empty string
} catch (error) {
return null;
}
// Find GitHub closing link in description
const regexClosingGhLink =
/Closes\s+(https:\/\/github.com\/\S+\/\S+\/issues\/\d+)/;
const closingGithubLink = jiraDescription.match(regexClosingGhLink);
if (closingGithubLink) {
return closingGithubLink[1];
} else {
return false; // Jira issue has no GitHub closing link in description
}
}
/**
* Check if a GitHub issue linked in a merge request is still open.
*
* @param {string} link - The link to the GitHub issue.
* @returns {Promise<boolean>} A promise that resolves to a boolean indicating if the issue is open.
* @throws {Error} If the link is invalid or if there was an error fetching the issue.
*/
async function isGithubIssueOpen(link) {
const parsedUrl = new URL(link);
const [owner, repo] = parsedUrl.pathname.split("/").slice(1, 3);
const issueNumber = parsedUrl.pathname.split("/").slice(-1)[0];
try {
const response = await axios.get(
`https://api.github.com/repos/${owner}/${repo}/issues/${issueNumber}`
);
return response.data.state === "open"; // return True if GitHub issue is open
} catch (error) {
return null; // GET request to issue fails
}
}
function createReport() {
partMessages.sort();
let dangerMessage = `Some issues found for the related JIRA tickets in this MR:\n${partMessages.join(
"\n"
)}`;
recordRuleExitStatus(ruleName, "Failed");
return warn(dangerMessage);
}
};

View File

@@ -1,24 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR Description has accurate description".
*
* @dangerjs WARN
*/
module.exports = function () {
const ruleName = "Merge request sufficient description";
const mrDescription = danger.gitlab.mr.description;
const descriptionChunk = mrDescription.match(/^([^#]*)/)[1].trim(); // Extract all text before the first section header (i.e., the text before the "## Release notes")
const shortMrDescriptionThreshold = 50; // Description is considered too short below this number of characters
if (descriptionChunk.length < shortMrDescriptionThreshold) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
"The MR description looks very brief, please check if more details can be added."
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};

View File

@@ -1,103 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR Description contains mandatory section "Release notes"
*
* Extracts the content of the "Release notes" section from the GitLab merge request description.
*
* @dangerjs WARN (if section missing, is empty or wrong markdown format)
*/
module.exports = function () {
const ruleName = 'Merge request Release Notes section';
const mrDescription = danger.gitlab.mr.description;
const wiki_link = `${process.env.DANGER_GITLAB_HOST}/espressif/esp-idf/-/wikis/rfc/How-to-write-release-notes-properly`;
const regexSectionReleaseNotes = /## Release notes([\s\S]*?)(?=## |$)/;
const regexValidEntry = /^\s*[-*+]\s+.+/;
const regexNoReleaseNotes = /no release note/i;
const sectionReleaseNotes = mrDescription.match(regexSectionReleaseNotes);
if (!sectionReleaseNotes) {
recordRuleExitStatus(ruleName, "Failed");
return warn(`The \`Release Notes\` section seems to be missing. Please check if the section header in MR description is present and in the correct markdown format ("## Release Notes").\n\nSee [Release Notes Format Rules](${wiki_link}).`);
}
const releaseNotesLines = sectionReleaseNotes[1].replace(/<!--[\s\S]*?-->/g, '')
const lines = releaseNotesLines.split("\n").filter(s => s.trim().length > 0);
let valid_entries_found = 0;
let no_release_notes_found = false;
let violations = [];
lines.forEach((line) => {
if (line.match(regexValidEntry)) {
valid_entries_found++;
const error_msg = check_entry(line);
if (error_msg) {
violations.push(error_msg);
}
} else if (line.match(regexNoReleaseNotes)) {
no_release_notes_found = true;
}
});
let error_output = [];
if (violations.length > 0) {
error_output = [...error_output, 'Invalid release note entries:', violations.join('\n')];
}
if (no_release_notes_found) {
if (valid_entries_found > 0) {
error_output.push('`No release notes` comment shows up when there is valid entry. Remove bullets before comments in release notes section.');
}
} else {
if (!valid_entries_found) {
error_output.push('The `Release Notes` section seems to have no valid entries. Add bullets before valid entries, or add `No release notes` comment to suppress this error if you mean to have no release notes.');
}
}
if (error_output.length > 0) {
// Paragraphs joined by double `\n`s.
error_output = [...error_output, `See [Release Notes Format Guide](${wiki_link}).`].join('\n\n');
recordRuleExitStatus(ruleName, "Failed");
return warn(error_output);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
};
function check_entry(entry) {
const entry_str = `- \`${entry}\``;
const indent = " ";
if (entry.match(/no\s+release\s+note/i)) {
return [entry_str, `${indent}- \`No release notes\` comment shouldn't start with bullet.`].join('\n');
}
// Remove a leading escaping backslash of the special characters, https://www.markdownguide.org/basic-syntax/#characters-you-can-escape
const escapeCharRegex = /\\([\\`*_{}[\]<>()+#-.!|])/g;
entry = entry.replace(escapeCharRegex, '$1');
const regex = /^(\s*)[-*+]\s+\[([^\]]+)\]\s+(.*)$/;
const match = regex.exec(entry);
if (!match) {
return [entry_str, `${indent}- Please specify the [area] to which the change belongs (see guide). If this line is just a comment, remove the bullet.`].join('\n');
}
// area is in match[2]
const description = match[3].trim();
let violations = [];
if (match[1]) {
violations.push(`${indent}- Release note entry should start from the beginning of line. (Nested release note not allowed.)`);
}
if (!/^[A-Z0-9]/.test(description)) {
violations.push(`${indent}- Release note statement should start with a capital letter or digit.`);
}
if (violations.length > 0) {
return [entry_str, ...violations].join('\n');
}
return null;
}

View File

@@ -1,280 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check the documentation files in this MR.
*
* Generate an object with all docs/ files found in this MR with paths to their EN/CN versions.
*
* For common files (both language versions exist in this MR), compare the lines of both files.
* Ignore if the CN file is only a single line file with an "include" reference to the EN version.
*
* For files that only have a CN version in this MR, add a message to the message that an EN file also needs to be created.
*
* For a file that only has an EN version in this MR, try loading its CN version from the target Gitlab branch.
* If its CN version doesn't exist in the repository or it does exist,
* but its contents are larger than just an "include" link to the EN version (it's a full-size file),
* add a message to the report
*
* Create a compiled report with the docs/ files issues found and set its severity (WARN/INFO).
* Severity is based on the presence of "needs translation: ??" labels in this MR
*
* @dangerjs WARN (if docs translation issues in the MR)
* @dangerjs INFO (if docs translation issues in the MR and the user has already added translation labels).
* Adding translation labels "needs translation: XX" automatically notifies the Documentation team
*
* @dangerjs WARN (if there are no docs issues in MR, but translation labels have been added anyway)
*
*/
module.exports = async function () {
const ruleName = 'Documentation translation';
let partMessages = []; // Create a blank field for future records of individual issues
const pathProject = "espressif/esp-idf";
const regexIncludeLink = /\.\.\sinclude::\s((\.\.\/)+)en\//;
const allMrFiles = [
...danger.git.modified_files,
...danger.git.created_files,
...danger.git.deleted_files,
];
const docsFilesMR = parseMrDocsFiles(allMrFiles); // Create single object of all doc files in MR with names, paths and groups
// Both versions (EN and CN) of document found changed in this MR
for (const file of docsFilesMR.bothFilesInMr) {
file.contentEn = await getContentFileInMR(file.fileEnPath); // Get content of English file
file.linesEn = file.contentEn.split("\n").length; // Get number of lines of English file
file.contentCn = await getContentFileInMR(file.fileCnPath); // Get content of Chinese file
file.linesCn = file.contentCn.split("\n").length; // Get number of lines of English file
// Compare number of lines in both versions
if (file.linesEn !== file.linesCn) {
// Check if CN file is only link to EN file
if (!regexIncludeLink.test(file.contentCn)) {
// if not just a link ...
partMessages.push(
`- please synchronize the EN and CN version of \`${file.fileName}\`. [\`${file.fileEnPath}\`](${file.fileUrlRepoEN}) has ${file.linesEn} lines; [\`${file.fileCnPath}\`](${file.fileUrlRepoCN}) has ${file.linesCn} lines.`
);
}
}
}
// Only Chinese version of document found changed in this MR
for (const file of docsFilesMR.onlyCnFilesInMr) {
partMessages.push(
`- file \`${file.fileEnPath}\` doesn't exist in this MR or in the GitLab repo. Please add \`${file.fileEnPath}\` into this MR.`
);
}
// Only English version of document found in this MR
for (const file of docsFilesMR.onlyEnFilesInMr) {
const targetBranch = danger.gitlab.mr.target_branch;
file.contentCn = await getContentFileInGitlab(
file.fileCnPath,
targetBranch
); // Try to fetch CN file from target branch of Gitlab repository and store content
if (file.contentCn) {
// File found on target branch in Gitlab repository
if (!regexIncludeLink.test(file.contentCn)) {
// File on Gitlab master is NOT just an ..include:: link to ENG version
file.fileUrlRepoMasterCN = `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${targetBranch}/${file.fileCnPath}`;
partMessages.push(
`- file \`${file.fileCnPath}\` was not updated in this MR, but found unchanged full document (not just link to EN) in target branch of Gitlab repository [\`${file.fileCnPath}\`](${file.fileUrlRepoMasterCN}). Please update \`${file.fileCnPath}\` into this MR.`
);
}
} else {
// File failed to fetch, probably does not exist in the target branch
partMessages.push(
`- file \`${file.fileCnPath}\` probably doesn't exist in this MR or in the GitLab repo. Please add \`${file.fileCnPath}\` into this MR.`
);
}
}
// Create a report with found issues with documents in MR
createReport();
// At this point, the rule has passed
recordRuleExitStatus(ruleName, 'Passed');
/**
* Generates an object that represents the relationships between files in two different languages found in this MR.
*
* @param {string[]} docsFilesEN - An array of file paths for documents in English.
* @param {string[]} docsFilesCN - An array of file paths for documents in Chinese.
* @returns {Object} An object with the following properties:
* - bothFilesInMr: An array of objects that represent files that found in MR in both languages. Each object has the following properties:
* - fileName: The name of the file.
* - fileEnPath: The path to the file in English.
* - fileCnPath: The path to the file in Chinese.
* - fileUrlRepoEN: The URL link to MR branch path to the file in English.
* - fileUrlRepoCN: The URL link to MR branch path to the file in Chinese.
* - onlyCnFilesInMr: An array of objects that represent files that only found in MR in English. Each object has the following properties:
* - fileName: The name of the file.
* - fileEnPath: The path to the file in English.
* - fileCnPath: The FUTURE path to the file in Chinese.
* - fileUrlRepoEN: The URL link to MR branch path to the file in English.
* - fileUrlRepoCN: The URL link to MR branch path to the file in Chinese.
* - onlyEnFilesInMr: An array of objects that represent files that only found in MR in Chinese. Each object has the following properties:
* - fileName: The name of the file.
* - fileEnPath: The FUTURE path to the file in English.
* - fileCnPath: The path to the file in Chinese.
* - fileUrlRepoEN: The URL link to MR branch path to the file in English.
* - fileUrlRepoCN: The URL link to MR branch path to the file in Chinese.
*/
function parseMrDocsFiles(allMrFiles) {
const path = require("path");
const mrBranch = danger.gitlab.mr.source_branch;
const docsEnFilesMrPath = allMrFiles.filter((file) =>
file.startsWith("docs/en")
); // Filter all English doc files in MR
const docsCnFilesMrPath = allMrFiles.filter((file) =>
file.startsWith("docs/zh_CN")
); // Filter all Chinese doc files in MR
const docsEnFileNames = docsEnFilesMrPath.map((filePath) =>
path.basename(filePath)
); // Get (base) file names for English docs
const docsCnFileNames = docsCnFilesMrPath.map((filePath) =>
path.basename(filePath)
); // Get (base) file names for Chinese docs
const bothFileNames = docsEnFileNames.filter((fileName) =>
docsCnFileNames.includes(fileName)
); // Get file names that are common to both English and Chinese docs
const onlyEnFileNames = docsEnFileNames.filter(
(fileName) => !docsCnFileNames.includes(fileName)
); // Get file names that are only present in English version
const onlyCnFileNames = docsCnFileNames.filter(
(fileName) => !docsEnFileNames.includes(fileName)
); // Get file names that are only present in Chinese version
return {
bothFilesInMr: bothFileNames.map((fileName) => {
const fileEnPath =
docsEnFilesMrPath[docsEnFileNames.indexOf(fileName)];
const fileCnPath =
docsCnFilesMrPath[docsCnFileNames.indexOf(fileName)];
return {
fileName,
fileEnPath,
fileCnPath,
fileUrlRepoEN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileEnPath}`,
fileUrlRepoCN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileCnPath}`,
};
}),
onlyEnFilesInMr: onlyEnFileNames.map((fileName) => {
const fileEnPath =
docsEnFilesMrPath[docsEnFileNames.indexOf(fileName)];
const fileCnPath = fileEnPath.replace("en", "zh_CN"); // Generate future CN file path
return {
fileName,
fileEnPath,
fileCnPath,
fileUrlRepoEN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileEnPath}`,
fileUrlRepoCN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileCnPath}`,
};
}),
onlyCnFilesInMr: onlyCnFileNames.map((fileName) => {
const fileCnPath =
docsCnFilesMrPath[docsCnFileNames.indexOf(fileName)];
const fileEnPath = fileCnPath.replace("zh_CN", "en"); // Generate future EN file path
return {
fileName,
fileEnPath,
fileCnPath,
fileUrlRepoEN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileEnPath}`,
fileUrlRepoCN: `${process.env.DANGER_GITLAB_HOST}/${pathProject}/-/blob/${mrBranch}/${fileCnPath}`,
};
}),
};
}
/**
* Retrieves the contents of a file from GitLab using the GitLab API.
*
* @param {string} filePath - The path of the file to retrieve.
* @param {string} branch - The branch where the file is located.
* @returns {string|null} - The contents of the file, with any trailing new lines trimmed, or null if the file cannot be retrieved.
*/
async function getContentFileInGitlab(filePath, branch) {
const axios = require("axios");
const encFilePath = encodeURIComponent(filePath);
const encBranch = encodeURIComponent(branch);
const urlApi = `${process.env.DANGER_GITLAB_API_BASE_URL}/projects/${danger.gitlab.mr.project_id}/repository/files/${encFilePath}/raw?ref=${encBranch}`;
try {
const response = await axios.get(urlApi, {
headers: {
"Private-Token": process.env.DANGER_GITLAB_API_TOKEN,
},
});
return response.data.trim(); // Trim trailing new line
} catch (error) {
return null;
}
}
/**
* Retrieves the contents of a file in a DangerJS merge request object.
*
* @param {string} filePath - The path of the file to retrieve.
* @returns {string|null} - The contents of the file, with any trailing new lines trimmed, or null if the file cannot be retrieved.
*/
async function getContentFileInMR(filePath) {
try {
const content = await danger.git.diffForFile(filePath);
const fileContentAfter = content.after.trim(); // Trim trailing new lines
return fileContentAfter;
} catch (error) {
console.error(`Error while getting file content MR: ${error}`);
return null;
}
}
/**
* Creates a compiled report for found documentation issues in the current MR and alerts the Documentation team if there are any "needs translation" labels present.
*
* Report if documentation labels have been added by mistake.
*/
function createReport() {
const mrLabels = danger.gitlab.mr.labels; // Get MR labels
const regexTranslationLabel = /needs translation:/i;
const translationLabelsPresent = mrLabels.some((label) =>
regexTranslationLabel.test(label)
); // Check if any of MR labels are "needs translation: XX"
// No docs issues found in MR, but translation labels have been added anyway
if (!partMessages.length && translationLabelsPresent) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`Please remove the \`needs translation: XX\` labels. For documents that need to translate from scratch, Doc team will translate them in the future. For the current stage, we only focus on updating exiting EN and CN translation to make them in sync.`
);
}
// Docs issues found in this MR
partMessages.sort();
let dangerMessage = `Some of the documentation files in this MR seem to have translations issues:\n${partMessages.join(
"\n"
)}\n`;
if (partMessages.length) {
if (!translationLabelsPresent) {
dangerMessage += `
\nWhen synchronizing the EN and CN versions, please follow the [Documentation Code](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/contribute/documenting-code.html#standardize-document-format). The total number of lines of EN and CN should be same.\n
\nIf you have difficulty in providing translation, you can contact Documentation team by adding <kbd>needs translation: CN</kbd> or <kbd>needs translation: EN</kbd> labels into this MR and retrying Danger CI job. The documentation team will be automatically notified and will help you with the translations before the merge.\n`;
recordRuleExitStatus(ruleName, "Failed");
return warn(dangerMessage); // no "needs translation: XX" labels in MR; report issues as warn
} else {
dangerMessage += `\nTranslation labels <kbd>needs translation: CN</kbd> or <kbd>needs translation: EN</kbd> were added - this will automatically notify the Documentation team to help you with translation issues.`;
recordRuleExitStatus(ruleName, 'Passed (with suggestions)');
return message(dangerMessage); // "needs translation: XX" labels were found in MR and Docs team was notified; report issues as info
}
}
}
};

View File

@@ -1,22 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR is too large (more than 1000 lines of changes)
*
* @dangerjs INFO
*/
module.exports = async function () {
const ruleName = "Merge request size (number of changed lines)";
const bigMrLinesOfCodeThreshold = 1000;
const totalLines = await danger.git.linesOfCode();
if (totalLines > bigMrLinesOfCodeThreshold) {
recordRuleExitStatus(ruleName, "Passed (with suggestions)");
return message(
`This MR seems to be quite large (total lines of code: ${totalLines}), you might consider splitting it into smaller MRs`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};

View File

@@ -1,31 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Throw Danger WARN if branch name contains more than one slash or uppercase letters
*
* @dangerjs INFO
*/
module.exports = function () {
const ruleName = "Source branch name";
const sourceBranch = danger.gitlab.mr.source_branch;
// Check if the source branch name contains more than one slash
const slashCount = (sourceBranch.match(/\//g) || []).length;
if (slashCount > 1) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`The source branch name \`${sourceBranch}\` contains more than one slash. This can cause troubles with git sync. Please rename the branch.`
);
}
// Check if the source branch name contains any uppercase letters
if (sourceBranch !== sourceBranch.toLowerCase()) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`The source branch name \`${sourceBranch}\` contains uppercase letters. This can cause troubles on case-insensitive file systems (macOS). Please use only lowercase letters.`
);
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};

View File

@@ -1,31 +0,0 @@
const { recordRuleExitStatus } = require("./configParameters.js");
/**
* Check if MR Title contains prefix "WIP: ...".
*
* @dangerjs WARN
*/
module.exports = function () {
const ruleName = 'Merge request not in Draft or WIP state';
const mrTitle = danger.gitlab.mr.title;
const regexes = [
{ prefix: "WIP", regex: /^WIP:/i },
{ prefix: "W.I.P", regex: /^W\.I\.P/i },
{ prefix: "[WIP]", regex: /^\[WIP/i },
{ prefix: "[W.I.P]", regex: /^\[W\.I\.P/i },
{ prefix: "(WIP)", regex: /^\(WIP/i },
{ prefix: "(W.I.P)", regex: /^\(W\.I\.P/i },
];
for (const item of regexes) {
if (item.regex.test(mrTitle)) {
recordRuleExitStatus(ruleName, "Failed");
return warn(
`Please remove the \`${item.prefix}\` prefix from the MR name before merging this MR.`
);
}
}
// At this point, the rule has passed
recordRuleExitStatus(ruleName, "Passed");
};

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +0,0 @@
{
"name": "dangerjs-esp-idf",
"description": "Merge request automatic linter",
"main": "dangerfile.js",
"dependencies": {
"danger": "^11.2.3",
"axios": "^1.3.3",
"langchain": "^0.0.53",
"openai-gpt-token-counter": "^1.0.3",
"@commitlint/lint": "^13.1.0"
}
}

View File

@@ -42,7 +42,7 @@ _For other small/non-public changes, which are not expected to be in the release
_Don't touch the subsection titles below, they will be parsed by scripts._
## Release notes (Mandatory)
## Release notes <!-- Mandatory -->
_Changes made in this MR that should go into the **Release Notes** should be listed here. Please use **past tense** and *specify the area (see maintainers page of IDF internal wiki)*. If there is a subscope, include it and separate with slash (`/`). Minor changes can go to the descriptions above without a release notes entry._

4
.gitmodules vendored
View File

@@ -81,11 +81,11 @@
[submodule "components/unity/unity"]
path = components/unity/unity
url = ../../ThrowTheSwitch/Unity.git
sbom-version = v2.4.3-51-g7d2bf62b7e6a
sbom-version = v2.6.0-RC1
sbom-supplier = Organization: ThrowTheSwitch community <http://www.throwtheswitch.org>
sbom-url = https://github.com/ThrowTheSwitch/Unity
sbom-description = Simple Unit Testing for C
sbom-hash = 7d2bf62b7e6afaf38153041a9d53c21aeeca9a25
sbom-hash = bf560290f6020737eafaa8b5cbd2177c3956c03f
[submodule "components/bt/host/nimble/nimble"]
path = components/bt/host/nimble/nimble

View File

@@ -1,6 +1,8 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_stages: [commit]
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
@@ -194,7 +196,7 @@ repos:
- id: check-copyright
args: ['--ignore', 'tools/ci/check_copyright_ignore.txt', '--config', 'tools/ci/check_copyright_config.yaml']
- repo: https://github.com/espressif/conventional-precommit-linter
rev: v1.2.1
rev: v1.6.0
hooks:
- id: conventional-precommit-linter
stages: [commit-msg]
@@ -216,6 +218,7 @@ repos:
args: ['--shell', 'dash', '-x']
files: 'export.sh'
- repo: https://github.com/espressif/esp-idf-sbom.git
rev: v0.11.0
rev: v0.13.0
hooks:
- id: validate-sbom-manifest
stages: [post-commit]

View File

@@ -121,8 +121,10 @@ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
list(APPEND compile_options "-Wno-c2x-extensions")
# warning on xMPU_SETTINGS for esp32s2 has size 0 for C and 1 for C++
list(APPEND compile_options "-Wno-extern-c-compat")
# warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1
list(APPEND compile_options "-Wno-single-bit-bitfield-constant-conversion")
if(NOT (CONFIG_IDF_TARGET_LINUX AND CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin"))
# warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1
list(APPEND compile_options "-Wno-single-bit-bitfield-constant-conversion")
endif()
endif()
# More warnings may exist in unit tests and example projects.

View File

@@ -52,9 +52,9 @@ Supported since ESP-IDF v4.2.
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v4.2 | v4.2.3 | v4.2.3 |
| release/v4.3 | v4.3.3 | v4.3.3 |
| release/v4.4 | v4.4.6 | v4.4.1 |
| release/v4.2 | v4.2.3 | v4.2 |
| release/v4.3 | v4.3.3 | v4.3 |
| release/v4.4 | v4.4.6 | v4.4 |
| release/v5.0 | v5.0.4 | v5.0 |
| release/v5.1 | v5.1.2 | v5.1 |
| release/v5.2 and above | v5.2 | v5.2 |

View File

@@ -52,9 +52,9 @@
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v4.2 | v4.2.3 | v4.2.3 |
| release/v4.3 | v4.3.3 | v4.3.3 |
| release/v4.4 | v4.4.6 | v4.4.1 |
| release/v4.2 | v4.2.3 | v4.2 |
| release/v4.3 | v4.3.3 | v4.3 |
| release/v4.4 | v4.4.6 | v4.4 |
| release/v5.0 | v5.0.4 | v5.0 |
| release/v5.1 | v5.1.2 | v5.1 |
| release/v5.2 及以上 | v5.2 | v5.2 |

View File

@@ -22,7 +22,6 @@ mainmenu "Espressif IoT Development Framework Configuration"
config IDF_ENV_BRINGUP
bool
default "y" if IDF_TARGET_ESP32P4
help
- This option is ONLY used when doing new chip bringup.
- This option will only enable necessary hw / sw settings for running
@@ -114,6 +113,13 @@ mainmenu "Espressif IoT Development Framework Configuration"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32C5
bool
default "y" if IDF_TARGET="esp32c5"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_BRINGUP
config IDF_TARGET_ESP32P4
bool
default "y" if IDF_TARGET="esp32p4"
@@ -139,6 +145,7 @@ mainmenu "Espressif IoT Development Framework Configuration"
default 0x000D if IDF_TARGET_ESP32C6
default 0x0010 if IDF_TARGET_ESP32H2
default 0x0012 if IDF_TARGET_ESP32P4
default 0x0013 if IDF_TARGET_ESP32C5
default 0xFFFF

View File

@@ -63,8 +63,7 @@ endif()
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "${include_dirs}"
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
# Requires "driver" for GPTimer in "SEGGER_SYSVIEW_Config_FreeRTOS.c"
PRIV_REQUIRES soc driver
PRIV_REQUIRES esp_driver_gptimer esp_driver_gpio esp_driver_uart
REQUIRES esp_timer
LDFRAGMENTS linker.lf)

View File

@@ -231,7 +231,7 @@ menu "Application Level Tracing"
choice APPTRACE_SV_CPU
prompt "CPU to trace"
depends on APPTRACE_SV_DEST_UART && !FREERTOS_UNICORE
depends on APPTRACE_SV_DEST_UART && !ESP_SYSTEM_SINGLE_CORE_MODE
default APPTRACE_SV_DEST_CPU_0
help
Define the CPU to trace by SystemView.
@@ -252,8 +252,8 @@ menu "Application Level Tracing"
choice APPTRACE_SV_TS_SOURCE
prompt "Timer to use as timestamp source"
depends on APPTRACE_SV_ENABLE
default APPTRACE_SV_TS_SOURCE_CCOUNT if FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_GPTIMER if !FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_CCOUNT if ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_GPTIMER if !ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
default APPTRACE_SV_TS_SOURCE_ESP_TIMER if PM_ENABLE || IDF_TARGET_ESP32C3
help
SystemView needs to use a hardware timer as the source of timestamps
@@ -261,7 +261,7 @@ menu "Application Level Tracing"
config APPTRACE_SV_TS_SOURCE_CCOUNT
bool "CPU cycle counter (CCOUNT)"
depends on FREERTOS_UNICORE && !PM_ENABLE && !IDF_TARGET_ESP32C3
depends on ESP_SYSTEM_SINGLE_CORE_MODE && !PM_ENABLE && !IDF_TARGET_ESP32C3
config APPTRACE_SV_TS_SOURCE_GPTIMER
bool "General Purpose Timer (Timer Group)"

View File

@@ -77,7 +77,7 @@ esp_err_t esp_apptrace_init(void)
return ESP_OK;
}
ESP_SYSTEM_INIT_FN(esp_apptrace_init, ESP_SYSTEM_INIT_ALL_CORES, 115)
ESP_SYSTEM_INIT_FN(esp_apptrace_init, SECONDARY, ESP_SYSTEM_INIT_ALL_CORES, 115)
{
return esp_apptrace_init();
}

View File

@@ -15,7 +15,7 @@ entries:
SEGGER_SYSVIEW_FreeRTOS (noflash)
[mapping:app_trace_driver]
archive: libdriver.a
archive: libesp_driver_gptimer.a
entries:
if APPTRACE_SV_TS_SOURCE_GPTIMER = y:
gptimer (noflash)

View File

@@ -298,7 +298,7 @@ static inline void esp_apptrace_trax_memory_enable(void)
#if CONFIG_IDF_TARGET_ESP32
/* Enable trace memory on PRO CPU */
DPORT_WRITE_PERI_REG(DPORT_PRO_TRACEMEM_ENA_REG, DPORT_PRO_TRACEMEM_ENA_M);
#if CONFIG_FREERTOS_UNICORE == 0
#if CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE == 0
/* Enable trace memory on APP CPU */
DPORT_WRITE_PERI_REG(DPORT_APP_TRACEMEM_ENA_REG, DPORT_APP_TRACEMEM_ENA_M);
#endif

View File

@@ -35,7 +35,7 @@ static uint8_t s_down_buf[SYSVIEW_DOWN_BUF_SIZE];
#if CONFIG_APPTRACE_SV_DEST_UART
#define ESP_APPTRACE_DEST_SYSVIEW ESP_APPTRACE_DEST_UART
#if CONFIG_APPTRACE_SV_DEST_CPU_0 || CONFIG_FREERTOS_UNICORE
#if CONFIG_APPTRACE_SV_DEST_CPU_0 || CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
#define APPTRACE_SV_DEST_CPU 0
#else
#define APPTRACE_SV_DEST_CPU 1
@@ -296,7 +296,7 @@ int SEGGER_RTT_ConfigDownBuffer(unsigned BufferIndex, const char* sName, void* p
* linked whenever SystemView is used.
*/
ESP_SYSTEM_INIT_FN(sysview_init, BIT(0), 120)
ESP_SYSTEM_INIT_FN(sysview_init, SECONDARY, BIT(0), 120)
{
SEGGER_SYSVIEW_Conf();
return ESP_OK;

View File

@@ -1,4 +1,4 @@
idf_component_register(SRCS "test_app_trace_main.c" "test_trace.c"
INCLUDE_DIRS "."
PRIV_REQUIRES app_trace unity driver
PRIV_REQUIRES app_trace unity esp_driver_gptimer
WHOLE_ARCHIVE)

View File

@@ -31,24 +31,6 @@
#include "esp_bootloader_desc.h"
#include "esp_flash.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C3
#include "esp32c3/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C2
#include "esp32c2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C6
#include "esp32c6/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32H2
#include "esp32h2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/secure_boot.h"
#endif
#define SUB_TYPE_ID(i) (i & 0x0F)
/* Partial_data is word aligned so no reallocation is necessary for encrypted flash write */
@@ -965,6 +947,7 @@ esp_err_t esp_ota_revoke_secure_boot_public_key(esp_ota_secure_boot_public_key_i
}
const esp_partition_t *running_app_part = esp_ota_get_running_partition();
esp_err_t ret = ESP_FAIL;
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
esp_ota_img_states_t running_app_state;
ret = esp_ota_get_state_partition(running_app_part, &running_app_state);
@@ -979,7 +962,7 @@ esp_err_t esp_ota_revoke_secure_boot_public_key(esp_ota_secure_boot_public_key_i
#endif
esp_secure_boot_key_digests_t trusted_keys;
esp_err_t ret = esp_secure_boot_read_key_digests(&trusted_keys);
ret = esp_secure_boot_read_key_digests(&trusted_keys);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Could not read the secure boot key digests from efuse. Aborting..");
return ESP_FAIL;

View File

@@ -19,7 +19,7 @@ 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'], reason='c6/h2 support TBD')
@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()

View File

@@ -105,7 +105,6 @@ menu "Bootloader config"
config BOOTLOADER_FLASH_XMC_SUPPORT
bool "Enable the support for flash chips of XMC (READ DOCS FIRST)"
default y
depends on !IDF_ENV_BRINGUP
help
Perform the startup flow recommended by XMC. Please consult XMC for the details of this flow.
XMC chips will be forbidden to be used, when this option is disabled.
@@ -833,7 +832,6 @@ menu "Security features"
bool "Enable flash encryption on boot (READ DOCS FIRST)"
default N
select SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE
select NVS_ENCRYPTION
help
If this option is set, flash contents will be encrypted by the bootloader on first boot.
@@ -1072,6 +1070,22 @@ menu "Security features"
DIS_DOWNLOAD_MANUAL_ENCRYPT, DIS_USB_JTAG, DIS_USB_SERIAL_JTAG, STRAP_JTAG_SEL, USB_PHY_SEL.
endmenu # Potentially Insecure
config SECURE_FLASH_ENCRYPT_ONLY_IMAGE_LEN_IN_APP_PART
bool "Encrypt only the app image that is present in the partition of type app"
depends on SECURE_FLASH_ENC_ENABLED && !SECURE_FLASH_REQUIRE_ALREADY_ENABLED
default y
help
If set (default), optimise encryption time for the partition of type APP,
by only encrypting the app image that is present in the partition,
instead of the whole partition.
The image length used for encryption is derived from the image metadata, which
includes the size of the app image, checksum, hash and also the signature sector
when secure boot is enabled.
If not set, the whole partition of type APP would be encrypted,
which increases the encryption time but might be useful if there
is any custom data appended to the firmware image.
config SECURE_FLASH_CHECK_ENC_EN_IN_APP
bool "Check Flash Encryption enabled on app startup"
depends on SECURE_FLASH_ENC_ENABLED

View File

@@ -58,6 +58,7 @@ void bootloader_flash_clock_config(const esp_image_header_t* pfhdr);
*/
void bootloader_flash_gpio_config(const esp_image_header_t* pfhdr);
#ifdef CONFIG_IDF_TARGET_ESP32
/**
* @brief Configure SPI flash read dummy based on different mode and frequency.
*
@@ -66,6 +67,10 @@ void bootloader_flash_gpio_config(const esp_image_header_t* pfhdr);
* @return None
*/
void bootloader_flash_dummy_config(const esp_image_header_t* pfhdr);
#else
// The meaning has changed on this chip. Deprecated, Call `bootloader_configure_spi_pins()` and `bootloader_flash_set_dummy_out()` directly.
void bootloader_flash_dummy_config(const esp_image_header_t* pfhdr) __attribute__((deprecated));
#endif
#ifdef CONFIG_IDF_TARGET_ESP32
/**

View File

@@ -18,6 +18,15 @@ extern "C" {
*/
esp_err_t bootloader_init_spi_flash(void);
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
/**
* @brief Config all flash related stuff according to the header. The consistency of all flash configs is ensured.
*
* @return None
*/
void bootloader_flash_hardware_init(void);
#endif
#ifdef __cplusplus
}
#endif

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -13,16 +13,21 @@
#include "hal/efuse_ll.h"
#include "hal/efuse_hal.h"
#include "hal/spi_flash_ll.h"
#include "rom/spi_flash.h"
#if CONFIG_IDF_TARGET_ESP32
# include "soc/spi_struct.h"
# include "soc/spi_reg.h"
/* SPI flash controller */
# define SPIFLASH SPI1
# define SPI0 SPI0
#else
# include "hal/spimem_flash_ll.h"
# include "soc/spi_mem_struct.h"
# include "soc/spi_mem_reg.h"
/* SPI flash controller */
# define SPIFLASH SPIMEM1
# define SPI0 SPIMEM0
#endif
// This dependency will be removed in the future. IDF-5025
@@ -581,10 +586,12 @@ IRAM_ATTR uint32_t bootloader_flash_execute_command_common(
uint32_t old_user_reg = SPIFLASH.user.val;
uint32_t old_user1_reg = SPIFLASH.user1.val;
uint32_t old_user2_reg = SPIFLASH.user2.val;
// Clear ctrl regs.
SPIFLASH.ctrl.val = 0;
#if CONFIG_IDF_TARGET_ESP32
SPIFLASH.ctrl.val = SPI_WP_REG_M; // keep WP high while idle, otherwise leave DIO mode
spi_flash_ll_set_wp_level(&SPIFLASH, true);
#else
SPIFLASH.ctrl.val = SPI_MEM_WP_REG_M; // keep WP high while idle, otherwise leave DIO mode
spimem_flash_ll_set_wp_level(&SPIFLASH, true);
#endif
//command phase
SPIFLASH.user.usr_command = 1;
@@ -832,8 +839,8 @@ bool IRAM_ATTR bootloader_flash_is_octal_mode_enabled(void)
esp_rom_spiflash_read_mode_t bootloader_flash_get_spi_mode(void)
{
esp_rom_spiflash_read_mode_t spi_mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
uint32_t spi_ctrl = spi_flash_ll_get_ctrl_val(&SPI0);
#if CONFIG_IDF_TARGET_ESP32
uint32_t spi_ctrl = REG_READ(SPI_CTRL_REG(0));
if (spi_ctrl & SPI_FREAD_QIO) {
spi_mode = ESP_ROM_SPIFLASH_QIO_MODE;
} else if (spi_ctrl & SPI_FREAD_QUAD) {
@@ -848,7 +855,6 @@ esp_rom_spiflash_read_mode_t bootloader_flash_get_spi_mode(void)
spi_mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
}
#else
uint32_t spi_ctrl = REG_READ(SPI_MEM_CTRL_REG(0));
if (spi_ctrl & SPI_MEM_FREAD_QIO) {
spi_mode = ESP_ROM_SPIFLASH_QIO_MODE;
} else if (spi_ctrl & SPI_MEM_FREAD_QUAD) {

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2018-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2018-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -16,6 +16,7 @@
#include "soc/gpio_periph.h"
#include "soc/efuse_reg.h"
#include "soc/spi_reg.h"
#include "soc/dport_reg.h"
#include "soc/soc_caps.h"
#include "soc/soc_pins.h"
#include "soc/chip_revision.h"
@@ -269,13 +270,10 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
default:
size = 2;
}
Cache_Read_Disable(0);
// Set flash chip size
esp_rom_spiflash_config_param(g_rom_flashchip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff);
// TODO: set mode
// TODO: set frequency
Cache_Flush(0);
Cache_Read_Enable(0);
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
@@ -354,6 +352,7 @@ static void print_flash_info(const esp_image_header_t *bootloader_hdr)
ESP_EARLY_LOGI(TAG, "SPI Flash Size : %s", str);
}
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_flash_gpio_config(&bootloader_image_hdr);
@@ -379,8 +378,102 @@ esp_err_t bootloader_init_spi_flash(void)
#endif
print_flash_info(&bootloader_image_hdr);
Cache_Read_Disable(0);
update_flash_config(&bootloader_image_hdr);
Cache_Flush(0);
Cache_Read_Enable(0);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(esp_rom_efuse_get_flash_gpio_info(), false);
// reset MMU
/* completely reset MMU in case serial bootloader was running */
Cache_Read_Disable(0);
#if !CONFIG_FREERTOS_UNICORE
Cache_Read_Disable(1);
#endif
Cache_Flush(0);
#if !CONFIG_FREERTOS_UNICORE
Cache_Flush(1);
#endif
mmu_init(0);
#if !CONFIG_FREERTOS_UNICORE
/* The lines which manipulate DPORT_APP_CACHE_MMU_IA_CLR bit are
necessary to work around a hardware bug. */
DPORT_REG_SET_BIT(DPORT_APP_CACHE_CTRL1_REG, DPORT_APP_CACHE_MMU_IA_CLR);
mmu_init(1);
DPORT_REG_CLR_BIT(DPORT_APP_CACHE_CTRL1_REG, DPORT_APP_CACHE_MMU_IA_CLR);
#endif
/* normal ROM boot exits with DROM0 cache unmasked,
but serial bootloader exits with it masked. */
DPORT_REG_CLR_BIT(DPORT_PRO_CACHE_CTRL1_REG, DPORT_PRO_CACHE_MASK_DROM0);
#if !CONFIG_FREERTOS_UNICORE
DPORT_REG_CLR_BIT(DPORT_APP_CACHE_CTRL1_REG, DPORT_APP_CACHE_MASK_DROM0);
#endif
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_gpio_config(&hdr);
bootloader_flash_dummy_config(&hdr);
bootloader_flash_cs_timing_config();
/* Remaining parts in bootloader_init_spi_flash */
bootloader_flash_unlock();
Cache_Read_Disable(0);
update_flash_config(&hdr);
Cache_Flush(0);
Cache_Read_Enable(0);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@@ -71,6 +71,7 @@ void IRAM_ATTR bootloader_flash_set_dummy_out(void)
REG_SET_BIT(SPI_MEM_CTRL_REG(1), SPI_MEM_FDUMMY_OUT | SPI_MEM_D_POL | SPI_MEM_Q_POL);
}
//deprecated
void IRAM_ATTR bootloader_flash_dummy_config(const esp_image_header_t *pfhdr)
{
bootloader_configure_spi_pins(1);
@@ -127,10 +128,8 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
default:
size = 2;
}
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: set mode
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
@@ -220,7 +219,8 @@ static void bootloader_print_mmu_page_size(void)
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_flash_dummy_config(&bootloader_image_hdr);
bootloader_configure_spi_pins(1);
bootloader_flash_set_dummy_out();
bootloader_flash_cs_timing_config();
}
@@ -243,8 +243,76 @@ esp_err_t bootloader_init_spi_flash(void)
bootloader_print_mmu_page_size();
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(0, false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_set_dummy_out();
bootloader_flash_cs_timing_config();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
bootloader_print_mmu_page_size();
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@@ -75,6 +75,7 @@ void IRAM_ATTR bootloader_flash_set_dummy_out(void)
REG_SET_BIT(SPI_MEM_CTRL_REG(1), SPI_MEM_FDUMMY_OUT | SPI_MEM_D_POL | SPI_MEM_Q_POL);
}
//deprecated
void IRAM_ATTR bootloader_flash_dummy_config(const esp_image_header_t *pfhdr)
{
bootloader_configure_spi_pins(1);
@@ -138,10 +139,8 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
default:
size = 2;
}
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: set mode
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
@@ -222,7 +221,8 @@ static void print_flash_info(const esp_image_header_t *bootloader_hdr)
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_flash_dummy_config(&bootloader_image_hdr);
bootloader_configure_spi_pins(1);
bootloader_flash_set_dummy_out();
bootloader_flash_cs_timing_config();
}
@@ -251,8 +251,78 @@ esp_err_t bootloader_init_spi_flash(void)
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(esp_rom_efuse_get_flash_gpio_info(), false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_set_dummy_out();
bootloader_flash_cs_timing_config();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@@ -103,10 +103,8 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
default:
size = 2;
}
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: set mode
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
@@ -214,8 +212,78 @@ esp_err_t bootloader_init_spi_flash(void)
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(0, false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
// TODO: set proper dummy output
bootloader_flash_cs_timing_config();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@@ -110,10 +110,8 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
default:
size = 2;
}
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: set mode
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
@@ -216,8 +214,79 @@ esp_err_t bootloader_init_spi_flash(void)
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(0, false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_clock_init();
// TODO: set proper dummy output
bootloader_flash_cs_timing_config();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@@ -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
*/
@@ -30,9 +30,9 @@ void bootloader_flash_update_id()
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_HOLD_TIME_V, 0, SPI_MEM_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_SETUP_TIME_V, 0, SPI_MEM_CS_SETUP_TIME_S);
SET_PERI_REG_MASK(SPI_MEM_C_USER_REG, SPI_MEM_C_CS_HOLD_M | SPI_MEM_C_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_MEM_C_CTRL2_REG, SPI_MEM_C_CS_HOLD_TIME_V, 0, SPI_MEM_C_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_MEM_C_CTRL2_REG, SPI_MEM_C_CS_SETUP_TIME_V, 0, SPI_MEM_C_CS_SETUP_TIME_S);
}
void IRAM_ATTR bootloader_flash_clock_config(const esp_image_header_t *pfhdr)
@@ -97,10 +97,8 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
default:
size = 2;
}
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: set mode
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
@@ -202,8 +200,77 @@ esp_err_t bootloader_init_spi_flash(void)
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(0, false);
//init cache hal
cache_hal_init();
//reset mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_cs_timing_config();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@@ -81,6 +81,7 @@ void IRAM_ATTR bootloader_flash_set_dummy_out(void)
REG_SET_BIT(SPI_MEM_CTRL_REG(1), SPI_MEM_FDUMMY_OUT | SPI_MEM_D_POL | SPI_MEM_Q_POL);
}
//deprecated
void IRAM_ATTR bootloader_flash_dummy_config(const esp_image_header_t* pfhdr)
{
bootloader_configure_spi_pins(1);
@@ -152,12 +153,10 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
default:
size = 2;
}
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
// Set flash chip size
esp_rom_spiflash_config_param(g_rom_flashchip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff);
// TODO: set mode
// TODO: set frequency
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
@@ -247,7 +246,8 @@ static void print_flash_info(const esp_image_header_t *bootloader_hdr)
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_flash_dummy_config(&bootloader_image_hdr);
bootloader_configure_spi_pins(1);
bootloader_flash_set_dummy_out();
bootloader_flash_cs_timing_config();
}
@@ -269,8 +269,78 @@ esp_err_t bootloader_init_spi_flash(void)
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(esp_rom_efuse_get_flash_gpio_info(), false);
// init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// Workaround: normal ROM bootloader exits with DROM0 cache unmasked, but 2nd bootloader exits with it masked.
REG_CLR_BIT(EXTMEM_PRO_ICACHE_CTRL1_REG, EXTMEM_PRO_ICACHE_MASK_DROM0);
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_set_dummy_out();
bootloader_flash_cs_timing_config();
bootloader_flash_unlock();
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@@ -87,6 +87,7 @@ void IRAM_ATTR bootloader_flash_set_dummy_out(void)
REG_SET_BIT(SPI_MEM_CTRL_REG(1), SPI_MEM_FDUMMY_OUT | SPI_MEM_D_POL | SPI_MEM_Q_POL);
}
//deprecated
void IRAM_ATTR bootloader_flash_dummy_config(const esp_image_header_t *pfhdr)
{
bootloader_configure_spi_pins(1);
@@ -159,12 +160,10 @@ static void update_flash_config(const esp_image_header_t *bootloader_hdr)
size = 2;
}
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
// Set flash chip size
esp_rom_spiflash_config_param(g_rom_flashchip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff);
// TODO: set mode
// TODO: set frequency
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
@@ -254,7 +253,8 @@ static void print_flash_info(const esp_image_header_t *bootloader_hdr)
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_flash_dummy_config(&bootloader_image_hdr);
bootloader_configure_spi_pins(1);
bootloader_flash_set_dummy_out();
bootloader_flash_cs_timing_config();
}
@@ -292,8 +292,87 @@ esp_err_t bootloader_init_spi_flash(void)
bootloader_flash_32bits_address_map_enable(bootloader_flash_get_spi_mode());
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(esp_rom_efuse_get_flash_gpio_info(), false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
bootloader_flash_set_dummy_out();
bootloader_flash_cs_timing_config();
#if CONFIG_BOOTLOADER_FLASH_DC_AWARE
// Reset flash, clear volatile bits DC[0:1]. Make it work under default mode to boot.
bootloader_spi_flash_reset();
#endif
bootloader_spi_flash_resume();
bootloader_flash_unlock();
#if CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH || CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_OCTAL_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);
//ensure the flash is write-protected
bootloader_enable_wp();
}
#endif //CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP

View File

@@ -39,7 +39,7 @@ inline static bool esp_dram_match_iram(void) {
*/
__attribute__((always_inline))
inline static bool esp_ptr_in_iram(const void *p) {
#if CONFIG_IDF_TARGET_ESP32 && CONFIG_FREERTOS_UNICORE
#if CONFIG_IDF_TARGET_ESP32 && CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
return ((intptr_t)p >= SOC_CACHE_APP_LOW && (intptr_t)p < SOC_IRAM_HIGH);
#else
return ((intptr_t)p >= SOC_IRAM_LOW && (intptr_t)p < SOC_IRAM_HIGH);

View File

@@ -21,6 +21,7 @@ typedef enum {
ESP_CHIP_ID_ESP32C6 = 0x000D, /*!< chip ID: ESP32-C6 */
ESP_CHIP_ID_ESP32H2 = 0x0010, /*!< chip ID: ESP32-H2 */
ESP_CHIP_ID_ESP32P4 = 0x0012, /*!< chip ID: ESP32-P4 */
ESP_CHIP_ID_ESP32C5 = 0x0013, /*!< chip ID: ESP32-C5 */
ESP_CHIP_ID_INVALID = 0xFFFF /*!< Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size) */
} __attribute__((packed)) esp_chip_id_t;

View File

@@ -15,6 +15,24 @@
#include "esp_rom_crc.h"
#include "hal/efuse_ll.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C3
#include "esp32c3/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C2
#include "esp32c2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C6
#include "esp32c6/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32H2
#include "esp32h2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/secure_boot.h"
#endif
#ifdef CONFIG_SECURE_BOOT_V1_ENABLED
#if !defined(CONFIG_SECURE_SIGNED_ON_BOOT) || !defined(CONFIG_SECURE_SIGNED_ON_UPDATE) || !defined(CONFIG_SECURE_SIGNED_APPS)
#error "internal sdkconfig error, secure boot should always enable all signature options"
@@ -192,6 +210,24 @@ typedef struct {
esp_err_t esp_secure_boot_verify_ecdsa_signature_block(const esp_secure_boot_sig_block_t *sig_block, const uint8_t *image_digest, uint8_t *verified_digest);
#if !CONFIG_IDF_TARGET_ESP32 || CONFIG_ESP32_REV_MIN_FULL >= 300
#if CONFIG_SECURE_BOOT_V2_ENABLED || CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT
/** @brief Verify the secure boot signature block for Secure Boot V2.
*
* Performs RSA-PSS or ECDSA verification of the SHA-256 image based on the public key
* in the signature block, compared against the public key digest stored in efuse.
*
* Similar to esp_secure_boot_verify_signature(), but can be used when the digest is precalculated.
* @param[in] sig_block Pointer to signature block data
* @param[in] image_digest Pointer to 32 byte buffer holding SHA-256 hash.
* @param[out] verified_digest Pointer to 32 byte buffer that will receive verified digest if verification completes. (Used during bootloader implementation only, result is invalid otherwise.)
*
*/
esp_err_t esp_secure_boot_verify_sbv2_signature_block(const ets_secure_boot_signature_t *sig_block, const uint8_t *image_digest, uint8_t *verified_digest);
#endif /* CONFIG_SECURE_BOOT_V2_ENABLED || CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT */
/**
* @brief Structure to hold public key digests calculated from the signature blocks of a single image.
*

View File

@@ -31,19 +31,6 @@
#if CONFIG_SECURE_BOOT_V2_ENABLED || CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT
/** @brief Verify the secure boot signature block for Secure Boot V2.
*
* Performs RSA-PSS or ECDSA verification of the SHA-256 image based on the public key
* in the signature block, compared against the public key digest stored in efuse.
*
* Similar to esp_secure_boot_verify_signature(), but can be used when the digest is precalculated.
* @param sig_block Pointer to signature block data
* @param image_digest Pointer to 32 byte buffer holding SHA-256 hash.
* @param verified_digest Pointer to 32 byte buffer that will receive verified digest if verification completes. (Used during bootloader implementation only, result is invalid otherwise.)
*
*/
esp_err_t esp_secure_boot_verify_sbv2_signature_block(const ets_secure_boot_signature_t *sig_block, const uint8_t *image_digest, uint8_t *verified_digest);
/** @brief Legacy function to verify RSA secure boot signature block for Secure Boot V2.
*
* @note This is kept for backward compatibility. It internally calls esp_secure_boot_verify_sbv2_signature_block.

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -86,6 +86,7 @@ __attribute__((weak)) void bootloader_clock_configure(void)
}
#endif // CONFIG_ESP_SYSTEM_RTC_EXT_XTAL
// TODO: IDF-8938 Need refactor! Does not belong to clock configuration.
#if CONFIG_IDF_TARGET_ESP32C6
// CLR ENA
CLEAR_PERI_REG_MASK(LP_WDT_INT_ENA_REG, LP_WDT_SUPER_WDT_INT_ENA); /* SWD */
@@ -113,7 +114,18 @@ __attribute__((weak)) void bootloader_clock_configure(void)
SET_PERI_REG_MASK(PMU_HP_INT_CLR_REG, PMU_SOC_WAKEUP_INT_CLR); /* SLP_REJECT */
SET_PERI_REG_MASK(PMU_HP_INT_CLR_REG, PMU_SOC_SLEEP_REJECT_INT_CLR); /* SLP_WAKEUP */
#elif CONFIG_IDF_TARGET_ESP32P4
// TODO: IDF-8008
// CLR ENA
CLEAR_PERI_REG_MASK(LP_WDT_INT_ENA_REG, LP_WDT_SUPER_WDT_INT_ENA); /* SWD */
CLEAR_PERI_REG_MASK(LP_TIMER_LP_INT_ENA_REG, LP_TIMER_MAIN_TIMER_LP_INT_ENA); /* MAIN_TIMER */
CLEAR_PERI_REG_MASK(LP_ANALOG_PERI_LP_INT_ENA_REG, LP_ANALOG_PERI_BOD_MODE0_LP_INT_ENA); /* BROWN_OUT */
CLEAR_PERI_REG_MASK(LP_WDT_INT_ENA_REG, LP_WDT_LP_WDT_INT_ENA); /* WDT */
CLEAR_PERI_REG_MASK(PMU_HP_INT_ENA_REG, PMU_SOC_WAKEUP_INT_ENA); /* SLP_REJECT */
CLEAR_PERI_REG_MASK(PMU_HP_INT_ENA_REG, PMU_SOC_SLEEP_REJECT_INT_ENA); /* SLP_WAKEUP */
// SET CLR
SET_PERI_REG_MASK(LP_WDT_INT_CLR_REG, LP_WDT_SUPER_WDT_INT_CLR); /* SWD */
SET_PERI_REG_MASK(LP_TIMER_LP_INT_CLR_REG, LP_TIMER_MAIN_TIMER_LP_INT_CLR); /* MAIN_TIMER */
SET_PERI_REG_MASK(LP_ANALOG_PERI_LP_INT_CLR_REG, LP_ANALOG_PERI_LP_INT_CLR_REG); /* BROWN_OUT */
SET_PERI_REG_MASK(LP_WDT_INT_CLR_REG, LP_WDT_LP_WDT_INT_CLR); /* WDT */
#else
REG_WRITE(RTC_CNTL_INT_ENA_REG, 0);
REG_WRITE(RTC_CNTL_INT_CLR_REG, UINT32_MAX);

View File

@@ -19,7 +19,7 @@
#include "esp32s2/rom/usb/usb_common.h"
#endif
#if SOC_USB_SERIAL_JTAG_SUPPORTED
#include "hal/usb_phy_ll.h"
#include "hal/usb_fsls_phy_ll.h"
#endif
#include "esp_rom_gpio.h"
#include "esp_rom_uart.h"
@@ -106,8 +106,8 @@ void bootloader_console_init(void)
esp_rom_uart_set_as_console(ESP_ROM_USB_OTG_NUM);
esp_rom_install_channel_putc(1, bootloader_console_write_char_usb);
#if SOC_USB_SERIAL_JTAG_SUPPORTED
usb_phy_ll_usb_wrap_pad_enable(&USB_WRAP, true);
usb_phy_ll_int_otg_enable(&USB_WRAP);
usb_fsls_phy_ll_usb_wrap_pad_enable(&USB_WRAP, true);
usb_fsls_phy_ll_int_otg_enable(&USB_WRAP);
#endif
}
#endif //CONFIG_ESP_CONSOLE_USB_CDC

View File

@@ -23,7 +23,9 @@
static const char *TAG = "boot";
#if !CONFIG_APP_BUILD_TYPE_RAM
esp_image_header_t WORD_ALIGNED_ATTR bootloader_image_hdr;
#endif
void bootloader_clear_bss_section(void)
{
@@ -101,7 +103,7 @@ void bootloader_print_banner(void)
#endif
}
#if CONFIG_FREERTOS_UNICORE
#if CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
#if (SOC_CPU_CORES_NUM > 1)
ESP_EARLY_LOGW(TAG, "Unicore bootloader");
#endif

View File

@@ -17,34 +17,27 @@
#if CONFIG_IDF_TARGET_ESP32
#include "soc/dport_reg.h"
#include "esp32/rom/cache.h"
#include "esp32/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C3
#include "esp32c3/rom/efuse.h"
#include "esp32c3/rom/crc.h"
#include "esp32c3/rom/uart.h"
#include "esp32c3/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C2
#include "esp32c2/rom/efuse.h"
#include "esp32c2/rom/crc.h"
#include "esp32c2/rom/rtc.h"
#include "esp32c2/rom/uart.h"
#include "esp32c2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C6
#include "esp32c6/rom/efuse.h"
#include "esp32c6/rom/crc.h"
#include "esp32c6/rom/rtc.h"
#include "esp32c6/rom/uart.h"
#include "esp32c6/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32H2
#include "esp32h2/rom/efuse.h"
#include "esp32h2/rom/crc.h"
#include "esp32h2/rom/rtc.h"
#include "esp32h2/rom/uart.h"
#include "esp32h2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#else // CONFIG_IDF_TARGET_*
@@ -884,7 +877,7 @@ static void set_cache_and_start_app(
bus_mask = cache_ll_l1_get_bus(0, irom_load_addr_aligned, irom_size);
cache_ll_l1_enable_bus(0, bus_mask);
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
bus_mask = cache_ll_l1_get_bus(1, drom_load_addr_aligned, drom_size);
cache_ll_l1_enable_bus(1, bus_mask);
bus_mask = cache_ll_l1_get_bus(1, irom_load_addr_aligned, irom_size);

View File

@@ -39,20 +39,20 @@
static const char *TAG = "boot.esp32";
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
static void bootloader_reset_mmu(void)
{
/* completely reset MMU in case serial bootloader was running */
Cache_Read_Disable(0);
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
Cache_Read_Disable(1);
#endif
Cache_Flush(0);
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
Cache_Flush(1);
#endif
mmu_init(0);
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
/* The lines which manipulate DPORT_APP_CACHE_MMU_IA_CLR bit are
necessary to work around a hardware bug. */
DPORT_REG_SET_BIT(DPORT_APP_CACHE_CTRL1_REG, DPORT_APP_CACHE_MMU_IA_CLR);
@@ -63,7 +63,7 @@ static void bootloader_reset_mmu(void)
/* normal ROM boot exits with DROM0 cache unmasked,
but serial bootloader exits with it masked. */
DPORT_REG_CLR_BIT(DPORT_PRO_CACHE_CTRL1_REG, DPORT_PRO_CACHE_MASK_DROM0);
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
DPORT_REG_CLR_BIT(DPORT_APP_CACHE_CTRL1_REG, DPORT_APP_CACHE_MASK_DROM0);
#endif
}
@@ -104,7 +104,7 @@ static void wdt_reset_info_dump(int cpu)
lsaddr = DPORT_REG_READ(DPORT_PRO_CPU_RECORD_PDEBUGLS0ADDR_REG);
lsdata = DPORT_REG_READ(DPORT_PRO_CPU_RECORD_PDEBUGLS0DATA_REG);
} else {
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
stat = DPORT_REG_READ(DPORT_APP_CPU_RECORD_STATUS_REG);
pid = DPORT_REG_READ(DPORT_APP_CPU_RECORD_PID_REG);
inst = DPORT_REG_READ(DPORT_APP_CPU_RECORD_PDEBUGINST_REG);
@@ -154,7 +154,7 @@ static void bootloader_check_wdt_reset(void)
if (wdt_rst) {
// if reset by WDT dump info from trace port
wdt_reset_info_dump(0);
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
wdt_reset_info_dump(1);
#endif
}
@@ -208,7 +208,7 @@ esp_err_t bootloader_init(void)
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
// reset MMU
bootloader_reset_mmu();
// update flash ID
@@ -218,7 +218,6 @@ esp_err_t bootloader_init(void)
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
#if !CONFIG_APP_BUILD_TYPE_RAM
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
@@ -227,12 +226,11 @@ esp_err_t bootloader_init(void)
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
#endif // #if !CONFIG_APP_BUILD_TYPE_RAM
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif //#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#endif // #if !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();

View File

@@ -120,14 +120,13 @@ esp_err_t bootloader_init(void)
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
#if !CONFIG_APP_BUILD_TYPE_RAM
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
@@ -136,12 +135,11 @@ esp_err_t bootloader_init(void)
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif //#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();

View File

@@ -159,7 +159,7 @@ esp_err_t bootloader_init(void)
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
//init cache hal
cache_hal_init();
//init mmu
@@ -171,7 +171,6 @@ esp_err_t bootloader_init(void)
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
#if !CONFIG_APP_BUILD_TYPE_RAM
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
@@ -180,12 +179,11 @@ esp_err_t bootloader_init(void)
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
#endif //#if !CONFIG_APP_BUILD_TYPE_RAM
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#endif //#if !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();

View File

@@ -0,0 +1,60 @@
/*
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <strings.h>
#include "esp_flash_encrypt.h"
#include "esp_secure_boot.h"
#include "esp_efuse.h"
#include "esp_efuse_table.h"
#include "esp_log.h"
#include "sdkconfig.h"
static __attribute__((unused)) const char *TAG = "flash_encrypt";
esp_err_t esp_flash_encryption_enable_secure_features(void)
{
#ifndef CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC
ESP_LOGI(TAG, "Disable UART bootloader encryption...");
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT);
#else
ESP_LOGW(TAG, "Not disabling UART bootloader encryption");
#endif
#ifndef CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE
ESP_LOGI(TAG, "Disable UART bootloader cache...");
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
#else
ESP_LOGW(TAG, "Not disabling UART bootloader cache - SECURITY COMPROMISED");
#endif
#ifndef CONFIG_SECURE_BOOT_ALLOW_JTAG
ESP_LOGI(TAG, "Disable JTAG...");
esp_efuse_write_field_bit(ESP_EFUSE_DIS_PAD_JTAG);
esp_efuse_write_field_bit(ESP_EFUSE_DIS_USB_JTAG);
#else
ESP_LOGW(TAG, "Not disabling JTAG - SECURITY COMPROMISED");
#endif
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DIRECT_BOOT);
#if defined(CONFIG_SECURE_BOOT_V2_ENABLED) && !defined(CONFIG_SECURE_BOOT_V2_ALLOW_EFUSE_RD_DIS)
// This bit is set when enabling Secure Boot V2, but we can't enable it until this later point in the first boot
// otherwise the Flash Encryption key cannot be read protected
esp_efuse_write_field_bit(ESP_EFUSE_WR_DIS_RD_DIS);
#endif
#ifndef CONFIG_SECURE_FLASH_SKIP_WRITE_PROTECTION_CACHE
// Set write-protection for DIS_ICACHE to prevent bricking chip in case it will be set accidentally.
// esp32c5 has DIS_ICACHE. Write-protection bit = 2.
// List of eFuses with the same write protection bit:
// SWAP_UART_SDIO_EN, DIS_ICACHE, DIS_USB_JTAG, DIS_DOWNLOAD_ICACHE,
// DIS_USB_SERIAL_JTAG, DIS_FORCE_DOWNLOAD, DIS_TWAI, JTAG_SEL_ENABLE,
// DIS_PAD_JTAG, DIS_DOWNLOAD_MANUAL_ENCRYPT.
esp_efuse_write_field_bit(ESP_EFUSE_WR_DIS_DIS_ICACHE);
#endif
return ESP_OK;
}

View File

@@ -143,7 +143,7 @@ esp_err_t bootloader_init(void)
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
//init cache hal
cache_hal_init();
//init mmu
@@ -155,7 +155,6 @@ esp_err_t bootloader_init(void)
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
#if !CONFIG_APP_BUILD_TYPE_RAM
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
@@ -164,12 +163,11 @@ esp_err_t bootloader_init(void)
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif // #if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();

View File

@@ -132,7 +132,7 @@ esp_err_t bootloader_init(void)
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
//init cache hal
cache_hal_init();
//init mmu
@@ -144,7 +144,6 @@ esp_err_t bootloader_init(void)
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
#if !CONFIG_APP_BUILD_TYPE_RAM
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
@@ -153,12 +152,11 @@ esp_err_t bootloader_init(void)
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif //#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();

View File

@@ -44,6 +44,8 @@
#include "hal/lpwdt_ll.h"
#include "soc/lp_wdt_reg.h"
#include "hal/efuse_hal.h"
#include "soc/regi2c_syspll.h"
#include "soc/regi2c_cpll.h"
static const char *TAG = "boot.esp32p4";
@@ -72,7 +74,7 @@ static void bootloader_check_wdt_reset(void)
if (wdt_rst) {
// if reset by WDT dump info from trace port
wdt_reset_info_dump(0);
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
wdt_reset_info_dump(1);
#endif
}
@@ -88,10 +90,15 @@ static void bootloader_super_wdt_auto_feed(void)
static inline void bootloader_hardware_init(void)
{
//TODO: IDF-7528
// /* Enable analog i2c master clock */
// SET_PERI_REG_MASK(MODEM_LPCON_CLK_CONF_REG, MODEM_LPCON_CLK_I2C_MST_EN);
// SET_PERI_REG_MASK(MODEM_LPCON_I2C_MST_CLK_CONF_REG, MODEM_LPCON_CLK_I2C_MST_SEL_160M);
// 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);
}
static inline void bootloader_ana_reset_config(void)
@@ -136,7 +143,7 @@ esp_err_t bootloader_init(void)
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
//init cache hal
cache_hal_init();
//reset mmu
@@ -148,7 +155,6 @@ esp_err_t bootloader_init(void)
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
#if !CONFIG_APP_BUILD_TYPE_RAM
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
@@ -157,12 +163,11 @@ esp_err_t bootloader_init(void)
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif // #if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();

View File

@@ -139,7 +139,7 @@ esp_err_t bootloader_init(void)
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
// init cache hal
cache_hal_init();
//init mmu
@@ -153,7 +153,6 @@ esp_err_t bootloader_init(void)
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
#if !CONFIG_APP_BUILD_TYPE_RAM
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
@@ -162,12 +161,11 @@ esp_err_t bootloader_init(void)
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif // #if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();

View File

@@ -70,7 +70,7 @@ static void wdt_reset_info_dump(int cpu)
lsaddr = REG_READ(ASSIST_DEBUG_CORE_0_RCD_PDEBUGLS0ADDR_REG);
lsdata = REG_READ(ASSIST_DEBUG_CORE_0_RCD_PDEBUGLS0DATA_REG);
} else {
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
inst = REG_READ(ASSIST_DEBUG_CORE_1_RCD_PDEBUGINST_REG);
dstat = REG_READ(ASSIST_DEBUG_CORE_1_RCD_PDEBUGSTATUS_REG);
data = REG_READ(ASSIST_DEBUG_CORE_1_RCD_PDEBUGDATA_REG);
@@ -115,7 +115,7 @@ static void bootloader_check_wdt_reset(void)
if (wdt_rst) {
// if reset by WDT dump info from trace port
wdt_reset_info_dump(0);
#if !CONFIG_FREERTOS_UNICORE
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
wdt_reset_info_dump(1);
#endif
}
@@ -178,7 +178,7 @@ esp_err_t bootloader_init(void)
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#if !CONFIG_APP_BUILD_TYPE_RAM
//init cache hal
cache_hal_init();
//init mmu
@@ -190,7 +190,6 @@ esp_err_t bootloader_init(void)
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
#if !CONFIG_APP_BUILD_TYPE_RAM
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
@@ -199,12 +198,11 @@ esp_err_t bootloader_init(void)
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif // #if !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();

View File

@@ -7,7 +7,6 @@
#include <sys/param.h>
#include <esp_cpu.h>
#include <bootloader_utility.h>
#include <bootloader_signature.h>
#include <esp_secure_boot.h>
#include <esp_fault.h>
#include <esp_log.h>
@@ -22,26 +21,14 @@
#include "bootloader_memory_utils.h"
#include "soc/soc_caps.h"
#include "hal/cache_ll.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S3
#include "esp32s3/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C3
#include "esp32c3/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C2
#if CONFIG_IDF_TARGET_ESP32C2
#include "esp32c2/rom/rtc.h"
#include "esp32c2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32C6
#include "esp32c6/rom/rtc.h"
#include "esp32c6/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32H2
#include "esp32h2/rom/rtc.h"
#include "esp32h2/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/rtc.h"
#include "esp32p4/rom/secure_boot.h"
#endif
#define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
@@ -932,9 +919,13 @@ static esp_err_t verify_secure_boot_signature(bootloader_sha256_handle_t sha_han
return ESP_ERR_IMAGE_INVALID;
}
#if CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME || CONFIG_SECURE_SIGNED_APPS_ECDSA_V2_SCHEME
// Adjust image length result to include the appended signature
#if CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME || CONFIG_SECURE_SIGNED_APPS_ECDSA_V2_SCHEME
data->image_len = end - data->start_addr + sizeof(ets_secure_boot_signature_t);
#elif defined(CONFIG_SECURE_SIGNED_APPS_ECDSA_SCHEME)
if (data->start_addr != ESP_BOOTLOADER_OFFSET) {
data->image_len = end - data->start_addr + sizeof(esp_secure_boot_sig_block_t);
}
#endif
#endif // SECURE_BOOT_CHECK_SIGNATURE

View File

@@ -137,16 +137,14 @@ esp_flash_enc_mode_t esp_get_flash_encryption_mode(void)
}
#else
if (esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT)
#if CONFIG_IDF_TARGET_ESP32P4
//TODO: IDF-7545
#if SOC_EFUSE_DIS_DOWNLOAD_MSPI
&& esp_efuse_read_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS)
#else
#endif
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
&& esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE)
#endif
#if SOC_EFUSE_DIS_DOWNLOAD_DCACHE
&& esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_DCACHE)
#endif
#endif
) {
mode = ESP_FLASH_ENC_MODE_RELEASE;
@@ -192,17 +190,15 @@ void esp_flash_encryption_set_release_mode(void)
esp_efuse_write_field_bit(ESP_EFUSE_DISABLE_DL_DECRYPT);
#else
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT);
#if CONFIG_IDF_TARGET_ESP32P4
//TODO: IDF-7545
#if SOC_EFUSE_DIS_DOWNLOAD_MSPI
esp_efuse_write_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS);
#else
#endif
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
#endif
#if SOC_EFUSE_DIS_DOWNLOAD_DCACHE
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_DCACHE);
#endif
#endif
#ifdef CONFIG_SOC_FLASH_ENCRYPTION_XTS_AES_128_DERIVED
// For AES128_DERIVED, FE key is 16 bytes and XTS_KEY_LENGTH_256 is 0.
// It is important to protect XTS_KEY_LENGTH_256 from further changing it to 1. Set write protection for this bit.
@@ -345,14 +341,13 @@ bool esp_flash_encryption_cfg_verify_release_mode(void)
}
#endif
#if CONFIG_IDF_TARGET_ESP32P4
//TODO: IDF-7545
#if SOC_EFUSE_DIS_DOWNLOAD_MSPI
secure = esp_efuse_read_field_bit(ESP_EFUSE_SPI_DOWNLOAD_MSPI_DIS);
result &= secure;
if (!secure) {
ESP_LOGW(TAG, "Not disabled UART bootloader download mspi (set DIS_DOWNLOAD_MSPI->1)");
}
#else
#endif
#if SOC_EFUSE_DIS_DOWNLOAD_ICACHE
secure = esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
result &= secure;
@@ -360,7 +355,6 @@ bool esp_flash_encryption_cfg_verify_release_mode(void)
ESP_LOGW(TAG, "Not disabled UART bootloader cache (set DIS_DOWNLOAD_ICACHE->1)");
}
#endif
#endif
#if SOC_EFUSE_DIS_PAD_JTAG
secure = esp_efuse_read_field_bit(ESP_EFUSE_DIS_PAD_JTAG);

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -15,6 +15,11 @@
#include "esp_efuse_table.h"
#include "esp_log.h"
#include "hal/wdt_hal.h"
#if CONFIG_IDF_TARGET_ESP32P4 //TODO-IDF-7925
#include "soc/keymng_reg.h"
#endif
#ifdef CONFIG_SOC_EFUSE_CONSISTS_OF_ONE_KEY_BLOCK
#include "soc/sensitive_reg.h"
#endif
@@ -209,6 +214,12 @@ static esp_err_t check_and_generate_encryption_keys(void)
}
ESP_LOGI(TAG, "Using pre-loaded flash encryption key in efuse");
}
#if CONFIG_IDF_TARGET_ESP32P4 //TODO - IDF-7925
// Force Key Manager to use eFuse key for XTS-AES operation
REG_SET_FIELD(KEYMNG_STATIC_REG, KEYMNG_USE_EFUSE_KEY, 2);
#endif
return ESP_OK;
}
@@ -393,14 +404,21 @@ static esp_err_t encrypt_partition(int index, const esp_partition_info_t *partit
{
esp_err_t err;
bool should_encrypt = (partition->flags & PART_FLAG_ENCRYPTED);
uint32_t size = partition->pos.size;
if (partition->type == PART_TYPE_APP) {
/* check if the partition holds a valid unencrypted app */
esp_image_metadata_t data_ignored;
esp_image_metadata_t image_data = {};
err = esp_image_verify(ESP_IMAGE_VERIFY,
&partition->pos,
&data_ignored);
&image_data);
should_encrypt = (err == ESP_OK);
#ifdef SECURE_FLASH_ENCRYPT_ONLY_IMAGE_LEN_IN_APP_PART
if (should_encrypt) {
// Encrypt only the app image instead of encrypting the whole partition
size = image_data.image_len;
}
#endif
} else if ((partition->type == PART_TYPE_DATA && partition->subtype == PART_SUBTYPE_DATA_OTA)
|| (partition->type == PART_TYPE_DATA && partition->subtype == PART_SUBTYPE_DATA_NVS_KEYS)) {
/* check if we have ota data partition and the partition should be encrypted unconditionally */
@@ -411,9 +429,9 @@ static esp_err_t encrypt_partition(int index, const esp_partition_info_t *partit
return ESP_OK;
} else {
/* should_encrypt */
ESP_LOGI(TAG, "Encrypting partition %d at offset 0x%x (length 0x%x)...", index, partition->pos.offset, partition->pos.size);
ESP_LOGI(TAG, "Encrypting partition %d at offset 0x%x (length 0x%x)...", index, partition->pos.offset, size);
err = esp_flash_encrypt_region(partition->pos.offset, partition->pos.size);
err = esp_flash_encrypt_region(partition->pos.offset, size);
ESP_LOGI(TAG, "Done encrypting");
if (err != ESP_OK) {
ESP_LOGE(TAG, "Failed to encrypt partition %d", index);

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