Compare commits

...

2164 Commits

Author SHA1 Message Date
19c52dcec9 set_server_config() set ssl authmode to OPTIONAL 2025-03-20 19:34:44 +01:00
Peter Pötzi
0b170a6140 add function to start spi transaction from isr 2025-01-27 15:53:27 +01:00
a1a4ee2a42 fix(esp-tls): Remove useless const from size paramter 2024-11-19 14:11:07 +01:00
2b98d387fc Show websocket network errors 2024-07-16 11:20:15 +02:00
0770fbe268 Merge branch 'feature/burn-security-efuses-again' into fixes 2024-06-17 13:05:52 +02:00
Tobias Schramm
138a47c750 bootloader_support: burn security efuses if flash encryption is enabled
Previously security eFuses were only burnt if the flash was not encrypted
yet.
To enhance robustness of the security eFuse settings their correct setup
should be verified on each bootup. Else it would be possible for an
already encrypted ESP to be reflashed with firmware containing updated,
more restrictive eFuse settings without them ever being applied.
Additionally this change enables easy, secure use of ESPs with host sidee
flash preencryption. Flash preencryption by the host computer performing
the programming procedure can speed up the programming process by a great
deal since the flash no longer needs to be read, erased and written again
by the bootloader self-encryption routines. Additionally it avoids
bricking of ESPs through interruption of the self-ecnryption procedure.
Without this change the host would have to set up all fuses in the ESP
correctly by itself, duplicating the fuse configuration code already
present in the bootloader and creating additional maintenance burden for
the host software if anything about the fuse setup logic changes.
This commit changes the security eFuse configuration logic to always burn
any configured security eFuses on bootup, regardless of current flash
encryption status.
2024-06-17 11:35:51 +02:00
fa35d505a1 Show remote ip address when somebody requests and invalid path to ease debugging 2024-06-17 11:35:51 +02:00
562e52f68e Merge branch 'show-ip-for-unknown-http-requests' into fixes 2024-05-28 19:36:39 +02:00
b2e1f274f1 Disable certain logging features to make bootloader with log output small enough to fit into 48kb area 2024-05-28 19:35:46 +02:00
6cdc010f60 Show remote ip address when somebody requests and invalid path to ease debugging 2024-04-23 20:06:51 +02:00
d9fd7e602d feat(log): Add filename, linenumber and function name to log statements 2024-04-22 17:24:10 +02:00
50c3b729a2 Return ESP_ERR_HTTP_EAGAIN in http client perform 2024-04-22 17:24:10 +02:00
b9e1e73880 Less tcp packet fragmentation 2024-04-22 17:24:10 +02:00
48559b6129 Add missing header include to netif ppp 2024-04-22 17:24:10 +02:00
299874f2eb Return EAGAIN in http client perform 2024-04-22 17:24:10 +02:00
f25593c36f Add support for X-WWW-Authenticate header 2024-04-22 17:24:10 +02:00
0a90b8dcd1 Fix compilation under C++ again 2024-04-22 17:24:10 +02:00
f098bf2fcf Fixed compilation errors with sntp 2024-04-22 17:24:10 +02:00
Mahavir Jain
636ff35b52 Merge branch 'fix/incorrect_connection_closure_parttool_test' into 'master'
ci(otatool): fix test failure caused due to closing connection incorrectly

Closes IDFCI-2122

See merge request espressif/esp-idf!30219
2024-04-16 23:07:23 +08:00
Ondrej Kosta
d3e45faf80 Merge branch 'bugfix/dm9051_phy_axs_wait' into 'master'
fix(esp_eth): made access to PHY registers for DM9051 more robust

Closes IDF-9659

See merge request espressif/esp-idf!30043
2024-04-16 22:08:20 +08:00
Alexey Lapshin
c01a842a84 Merge branch 'feature/update-gdb-to-14.2_20240403' into 'master'
feat(tools): update gdb version to 14.2_20240403

See merge request espressif/esp-idf!30037
2024-04-16 20:24:21 +08:00
Armando (Dou Yiwen)
cb0cc9f10e Merge branch 'feat/support_use_internal_buffer_when_no_new_trans_buf' into 'master'
csi: support using internal buffer when there's no new trans buffer

Closes IDF-9694

See merge request espressif/esp-idf!30210
2024-04-16 17:14:35 +08:00
Martin Vychodil
ac7e7065db Merge branch 'fix/pthread_psram_wrong_tags' into 'master'
ci: Added missing generic tag to test

See merge request espressif/esp-idf!30244
2024-04-16 16:49:25 +08:00
Omar Chebib
007a626049 Merge branch 'fix/esp32c5_interrupt_support' into 'master'
fix(esp32c5): add CLIC interrupt controller support for the ESP32-C5 (Beta3 & MP)

Closes IDF-8654 and IDF-8655

See merge request espressif/esp-idf!30017
2024-04-16 16:35:49 +08:00
Alexey Lapshin
851216b1a4 feat(tools): update gdb version to 14.2_20240403 2024-04-16 16:17:28 +08:00
Armando
e7c1f6b3b2 feat(csi): support using internal buffer when there's no new trans buffer
Also when the new trans buffer is not big enough
2024-04-16 16:11:55 +08:00
Mahavir Jain
816af11ba3 Merge branch 'bugfix/cleanup_mpu_ll_ports' into 'master'
fix: cleanup MPU LL files for RISC-V architecture SoCs

See merge request espressif/esp-idf!30260
2024-04-16 15:41:43 +08:00
Jiang Jiang Jian
8f4f21580a Merge branch 'bugfix/esp_supplicant_format' into 'master'
fix(wifi): update coding format of WiFi files

See merge request espressif/esp-idf!28079
2024-04-16 15:23:21 +08:00
Jakob Hasse
bf2bbbde16 ci: Added missing generic tag to psram tests 2024-04-16 09:17:41 +02:00
Jakob Hasse
1e9f52d404 Merge branch 'refactor/p4_rng' into 'master'
refactor(esp_hw_support): removed unneccessary code

See merge request espressif/esp-idf!30064
2024-04-16 15:13:17 +08:00
Rocha Euripedes
f9e81fe6fc Merge branch 'update_mqtt' into 'master'
Update Mqtt client

See merge request espressif/esp-idf!29810
2024-04-16 14:54:16 +08:00
Konstantin Kondrashov
b6c8a139be Merge branch 'feature/linux_improve_delay_func' into 'master'
feat(esp_rom): Improves esp_rom_delay_us for linux target

See merge request espressif/esp-idf!30217
2024-04-16 14:44:21 +08:00
Jiang Jiang Jian
526d33848f Merge branch 'docs/compatibility_c3_v1.1' into 'master'
doc(compatibility): add C3 v1.1

See merge request espressif/esp-idf!30130
2024-04-16 14:02:05 +08:00
Guillaume Souchere
3554fd5665 Merge branch 'fix/fsync-call-propagation-to-secondary-console' into 'master'
fix(console): Fsync not propagated to secondary output

Closes IDFGH-12104

See merge request espressif/esp-idf!30195
2024-04-16 13:50:51 +08:00
Kapil Gupta
58ee771f3c fix(wifi): Run tools/format.sh on WiFi component 2024-04-16 10:58:37 +05:30
Mahavir Jain
c44369de7a fix: cleanup MPU LL files for RISC-V architecture SoCs 2024-04-16 09:50:46 +05:30
Kirill Chalov
ddb6db4bb4 Merge branch 'docs/update_example_readme_template' into 'master'
docs: Update ESP Timer example README

See merge request espressif/esp-idf!29844
2024-04-16 10:40:11 +08:00
Omar Chebib
f6e935e013 fix(esp32c5): add CLIC interrupt controller support for the ESP32-C5 2024-04-16 10:38:14 +08:00
Island
46e0760619 Merge branch 'feat/support_ble_add_device_to_resolving_list' into 'master'
feat(ble/bluedroid): Support BLE add device to resolving list

Closes BLERP-681

See merge request espressif/esp-idf!30216
2024-04-16 10:35:16 +08:00
Shu Chen
ce1e996747 Merge branch 'fix/fix_ot_br_partition_table' into 'master'
fix(openthread): increase factory app size in ot_br partition table

See merge request espressif/esp-idf!30247
2024-04-16 10:20:32 +08:00
Kapil Gupta
d2978ab9d4 fix(ci): Skip spell check for WiFi component 2024-04-15 23:19:06 +05:30
Kapil Gupta
0ba7836bd2 fix(ci): Update coding rules for esp_wifi files 2024-04-15 23:18:33 +05:30
Michael (XIAO Xufeng)
a30375f335 Merge branch 'doc/auto_suspend_disabled_by_default' into 'master'
doc(flash): fix auto suspend enabled by default issue

See merge request espressif/esp-idf!30086
2024-04-15 23:48:37 +08:00
Jakob Hasse
ee6ec3db8d Merge branch 'refactor/linux_true_random_numbers' into 'master'
refactor(esp_hw_support): Linux esp_random impl now returns true random numbers

Closes IDF-8881

See merge request espressif/esp-idf!30063
2024-04-15 22:59:14 +08:00
zhanghaipeng
9ae6007b5b feat(ble/bluedroid): Support create BLE static random address and NRPA 2024-04-15 21:04:52 +08:00
Xu Si Yu
e4746084ea fix(openthread): increase factory app size in ot_br partition table 2024-04-15 20:44:28 +08:00
harshal.patil
f07db4ef4d ci(otatool): fix test failure caused due to closing connection incorrectly 2024-04-15 17:09:39 +05:30
zhanghaipeng
36c9953588 feat(ble/bluedroid): Support BLE add device to resolving list 2024-04-15 19:37:02 +08:00
C.S.M
4a94f9b27c Merge branch 'fix/i2c_pin_short_cut' into 'master'
fix(i2c_master): Modify the behavior from ISR WDT to return timeout when circut get shortcut

See merge request espressif/esp-idf!30188
2024-04-15 19:15:35 +08:00
Jakob Hasse
2e64570975 refactor(esp_hw_support): removed unneccessary code 2024-04-15 12:33:08 +02:00
morris
eff7b32412 Merge branch 'feat/codeowner_vfs_console' into 'master'
change(codeowner): add code owner for esp_vfs_console

See merge request espressif/esp-idf!30230
2024-04-15 18:18:24 +08:00
Michael (XIAO Xufeng)
cf159ddd7e doc(compatibility): add C3 v1.1 2024-04-15 17:52:17 +08:00
Xiao Xufeng
ca93d4e1eb doc(flash): fix auto suspend enabled by default issue 2024-04-15 17:47:31 +08:00
Mahavir Jain
7a283b73f6 Merge branch 'feature/p4_memory_protection' into 'master'
feat: add memory protection support using PMA/PMP for P4 target

Closes IDF-7542

See merge request espressif/esp-idf!29947
2024-04-15 17:24:37 +08:00
kirill.chalov
0dfd78800f docs: Update example README template and other related docs 2024-04-15 17:17:27 +08:00
kirill.chalov
85ea59f417 docs: Update ESP Timer example README 2024-04-15 17:17:26 +08:00
Armando (Dou Yiwen)
116bdf4762 Merge branch 'change/change_esp_cache_aligned_alloc_log_e_to_w' into 'master'
cache: change esp_cache_aligned_alloc_log_e_to_w and update to use heap cap malloc flags

Closes IDF-9666

See merge request espressif/esp-idf!30087
2024-04-15 17:02:02 +08:00
Omar Chebib
91bdbc1708 Merge branch 'fix/esp32p4_l2_cache_configured_from_flash' into 'master'
fix(spi_flash): fix a bug where L2 cache was configured from flash on the ESP32-P4

Closes IDF-9681

See merge request espressif/esp-idf!30189
2024-04-15 16:32:22 +08:00
Ondrej Kosta
60384d4fc0 fix(esp_eth): made access to PHY registers for DM9051 more robust 2024-04-15 15:39:23 +08:00
Armando
e36a396801 change(test): test changes for esp cache malloc 2024-04-15 15:34:51 +08:00
Armando
d341540a5e change(drivers): other driver changes for cache malloc 2024-04-15 15:34:51 +08:00
Armando
0df418facd change(cache): update to use heap cap malloc flags 2024-04-15 15:34:51 +08:00
Jakob Hasse
d297845126 refactor(esp_hw_support): Linux esp_random impl now returns true random numbers 2024-04-15 09:34:02 +02:00
morris
c5389ac2fd Merge branch 'feature/rmt_simple_encoder' into 'master'
RMT simple encoder

See merge request espressif/esp-idf!29874
2024-04-15 15:23:18 +08:00
Guillaume Souchere
3cca8ff905 Merge branch 'fix/heap-trace-on-all-functions' into 'master'
fix(heap): Tracing of all heap_caps API functions

Closes IDF-9385

See merge request espressif/esp-idf!29536
2024-04-15 15:12:12 +08:00
Euripedes Rocha
8849425d71 change(mqtt): Update esp-mqtt submodule
git log --oneline e6afdb4025fe018ae0add44e3c45249ea1974774..aa6f889fb4f6f743b3a550aa587713aabbdca1fc

Detailed description of the changes:
* fix: regard reason codes greater than 0x80 as failures.
  - See merge request espressif/esp-mqtt!205
  - See commit https://github.com/espressif/esp-mqtt/commit/e7b9aa5
* PR: Return on allocation failure
  - See merge request espressif/esp-mqtt!204
  - set last_retransmit to now when first connected (espressif/esp-mqtt@c06f154)
  - add return to faile_message, avoid segment fault (espressif/esp-mqtt@37478a9)
* Minor warning of unused variable
  - See merge request espressif/esp-mqtt!203
  - fix: Minor warning of unused variable (espressif/esp-mqtt@726e5f2)
* Cover the case for SOC without MAC address
  - See merge request espressif/esp-mqtt!202
  - fix: Cover the case for SOC without MAC address (espressif/esp-mqtt@5e3abd4)
* Make state and size atomic
  - See merge request espressif/esp-mqtt!199
  - feat: Make state and size atomic (espressif/esp-mqtt@891380b)
* fix: Adjust the log level on few messages to avoid cluthering the logs
  - See merge request espressif/esp-mqtt!201
  - See commit https://github.com/espressif/esp-mqtt/commit/5c17fc4
* fix: Make automatic client_id soc dependent
  - See merge request espressif/esp-mqtt!200
  - See commit https://github.com/espressif/esp-mqtt/commit/657a2ae
* Clarify data that users need to take care of lifetime.
  - See merge request espressif/esp-mqtt!197
  - docs: Clarify data that users need to take care of lifetime. (espressif/esp-mqtt@371f594)
* Update mqtt_client.h
  - See merge request espressif/esp-mqtt!198
  - add const char * to esp_mqtt_client_subscribe() generic macros (espressif/esp-mqtt@acdb66d)
* client: Report failure on timeout in mid-message timeout (GitHub PR)
  - See merge request espressif/esp-mqtt!165
  - Merges https://github.com/espressif/esp-mqtt/pull/232
  - client: Report failure on timeout in mid-message timeout (espressif/esp-mqtt@ddde502)
* fix: Move buffer initialization to set config
  - See merge request espressif/esp-mqtt!194
  - Closes https://github.com/espressif/esp-mqtt/issues/267
  - See commit https://github.com/espressif/esp-mqtt/commit/ea0df31
* Fix check for message creation when processing publish
  - See merge request espressif/esp-mqtt!195
  - fix: Deliver publish verifies if message was created only for QoS >0
        (espressif/esp-mqtt@6780056)
2024-04-15 15:04:08 +08:00
Armando (Dou Yiwen)
f5a00d7c9b Merge branch 'bugfix/fix_spiram_cap_doesnt_match_with_dma_cap_issue' into 'master'
dma: fixed spiram_cap doesn't match with dma cap issue for esp_dma_malloc

See merge request espressif/esp-idf!30231
2024-04-15 14:59:43 +08:00
Jiang Jiang Jian
25d40a67bc Merge branch 'feature/esp32c5beta3_light_sleep_support_stage_2' into 'master'
feat(esp_hw_support): esp32c5 sleep support (Stage 3:  support system peripheral sleep retention)

Closes IDF-8640

See merge request espressif/esp-idf!29723
2024-04-15 14:40:52 +08:00
Island
8e0714341a Merge branch 'feat/support_qa_test_vendor_hci_esp32c3' into 'master'
Support QA test vendor HCI command and event on ESP32C3

Closes BLERP-578

See merge request espressif/esp-idf!29282
2024-04-15 14:08:40 +08:00
Island
caf0712174 Merge branch 'feat/support_qa_test_vendor_hci_esp32' into 'master'
Support QA test vendor HCI command and event on ESP32

Closes BLERP-578

See merge request espressif/esp-idf!29372
2024-04-15 14:08:34 +08:00
Omar Chebib
6f888390ab fix(spi_flash): fix a bug where l2 cache was configured from flash 2024-04-15 13:55:38 +08:00
Zhang Xiao Yan
69972b2a1e Merge branch 'docs/update_deep_sleep_stub' into 'master'
docs: update api-guides/deep-sleep-stub

See merge request espressif/esp-idf!25258
2024-04-15 12:45:35 +08:00
Linda
2dc0be81fb docs: update api-guides/deep-sleep-stub 2024-04-15 11:43:19 +08:00
Armando
c3f60522cf bugfix(dma): fixed spiram_cap doesn't match with dma cap issue for esp_dma_malloc 2024-04-15 11:37:17 +08:00
Cao Sen Miao
4ba3a4e482 fix(i2c_master): Fix the issue that probe cannot work properly after a general call,
Closes https://github.com/espressif/esp-idf/issues/13547
2024-04-15 11:29:13 +08:00
Cao Sen Miao
a69c6e8f41 fix(i2c_master): Modify the behavior from ISR WDT to return timeout when circut get shortcut,
Closes https://github.com/espressif/esp-idf/issues/13587
2024-04-15 11:05:43 +08:00
morris
0e52fdb7fb change(codeowner): add code owner for esp_vfs_console 2024-04-15 09:54:53 +08:00
Armando
b658c712e7 change(cache): change esp_cache_aligned_alloc_log_e_to_w 2024-04-15 09:49:25 +08:00
Mahavir Jain
024b040300 test(memprot): enable memory protection tests for P4 2024-04-14 21:16:42 +05:30
Mahavir Jain
46c453ae1e feat: add memory protection support using PMA/PMP for P4 target 2024-04-14 21:16:40 +05:30
Mahavir Jain
433825d385 fix(hal): integer overflow warning in the cache LL macro 2024-04-14 21:16:38 +05:30
Mahavir Jain
166fa7acac fix: minor warning related to missing parenthesis 2024-04-14 21:16:34 +05:30
Adam Múdry
baa42be64c Merge branch 'fix/possible_name_collision_nvs_with_sysview' into 'master'
fix(nvs): Fix possible collision with app trace sysview defines

Closes IDF-9701

See merge request espressif/esp-idf!30222
2024-04-14 19:44:17 +08:00
Erhan Kurubas
72f463afc6 Merge branch 'doc_update_esp32p4_jtag' into 'master'
Update esp32p4 jtag debugging guide

Closes IDF-7758

See merge request espressif/esp-idf!26527
2024-04-13 02:10:21 +08:00
Guillaume Souchere
429d72fcb8 Merge branch 'fix/heap-init-iteration-on-failed-alloc' into 'master'
fix(heap): Loop shouldn't break on failed allocation in heap_caps_init()

See merge request espressif/esp-idf!30218
2024-04-13 01:46:33 +08:00
Mahavir Jain
bf63862c4a Merge branch 'fix/enable_crypto_periphs_before_rom_exec' into 'master'
fix(esp_system): enable crypto periphs before rom execution

See merge request espressif/esp-idf!30116
2024-04-13 00:14:16 +08:00
Rahul Tank
c8e454b4fa Merge branch 'bugfix/fix_cccd_compilation_warning' into 'master'
fix(nimble): Fix compilation issues when CCCD is set to 0

See merge request espressif/esp-idf!30067
2024-04-12 20:05:25 +08:00
Adam Múdry
8e43afef3b fix(nvs): Fix possible collision with app trace sysview defines
Global.h defines U8, I8, U16, etc. symbols, which are also used in NVS
as a part of custom enum class and this can cause a compilation error
during macro expansion, when sysview is enabled and FreeRTOS.h is included in NVS
2024-04-12 13:46:51 +02:00
Guillaume Souchere
52ebac9c62 fix(heap): Loop break on failed alloc
don't check for heaps_array != NULL in the loop.
The check is done after the loop since it is allowed
for the allocation to fail until finding aa ssuitable
heap.
2024-04-12 12:21:13 +02:00
Konstantin Kondrashov
b3d1b1783b feat(esp_rom): Improves esp_rom_delay_us for linux target 2024-04-12 12:52:38 +03:00
morris
94580bb14a Merge branch 'fix/fix_logic_error_in_peri_clk_init' into 'master'
fix(esp_hw_support): fix bad logic in esp_perip_clk_init

Closes IDF-9518

See merge request espressif/esp-idf!30208
2024-04-12 17:44:43 +08:00
Roland Dobai
cf27cccbd2 Merge branch 'doc/readme_chip_support' into 'master'
Docs: Update the chip support matrix in the README

Closes IDF-8612

See merge request espressif/esp-idf!29910
2024-04-12 17:38:42 +08:00
harshal.patil
6ec486e351 fix(esp_system): Enable crpyto peripherals related clocks for specific ESP32-P4 ECOs 2024-04-12 14:56:53 +05:30
harshal.patil
5ba9b53667 fix(hal): Clear reset on parent crpyto lock while resetting a crypto peripheral 2024-04-12 14:55:11 +05:30
Ivan Grokhotkov
e0cb43b9ab Merge branch 'feature/sdmmc_test_p4_updates' into 'master'
change(sdmmc,sdspi): add P4 board defs, enable LDO in sdspi tests, simplify LDO in sdmmc tests

See merge request espressif/esp-idf!30042
2024-04-12 17:04:07 +08:00
Jakob Hasse
d9a6ae2b3c Merge branch 'refactor/simplify_mock_build_tests' into 'master'
refactor(cmock): simplified mock build tests

See merge request espressif/esp-idf!30038
2024-04-12 16:09:39 +08:00
Roland Dobai
4be11ad49d Merge branch 'change/update_elf2image' into 'master'
change(esptool_py/project_include): Updated esptool_elf2image_args

Closes IDF-9388

See merge request espressif/esp-idf!30163
2024-04-12 15:45:27 +08:00
Konstantin Kondrashov
e6d153f06b Merge branch 'feature/support_utilities_in_cpu' into 'master'
feat(esp_hw_support): Support utilities in cpu.c

Closes IDF-7848

See merge request espressif/esp-idf!29661
2024-04-12 15:30:33 +08:00
Guillaume Souchere
7639933eeb Merge branch 'fix/missing-block-owner-in-heap-init-alloc' into 'master'
fix(heap): Add block owner to allocs in heap_caps_init()

Closes IDFGH-12450

See merge request espressif/esp-idf!30139
2024-04-12 15:23:16 +08:00
Roland Dobai
ef36e84264 Merge branch 'feature/idf_tools_stop_install_on_error' into 'master'
feat(tools): stop installation if tool is failed

Closes IDF-9030

See merge request espressif/esp-idf!28491
2024-04-12 15:07:17 +08:00
Lou Tianhao
e3ec2724e7 remove(wifi): sleep_retention member in struct wifi_osi_funcs_t 2024-04-12 14:14:13 +08:00
Lou Tianhao
4061e282dd draft(i2c): need to support regdma_i2c for esp32c5beta3 2024-04-12 14:14:06 +08:00
Roland Dobai
34f1076711 Merge branch 'fix/exit_asyncio_gracefully' into 'master'
fix: exit gracefully when process started via asyncio is terminated

Closes IDFGH-12390

See merge request espressif/esp-idf!30036
2024-04-12 14:12:18 +08:00
wuzhenghui
e7046e2abf fix(esp_hw_support): fix bad logic in esp_perip_clk_init 2024-04-12 14:08:07 +08:00
Anton Maklakov
e1ef214203 feat(tools): stop installation if tool is invalid
install/check commands - stop on error
export/list commands - print a warning
2024-04-12 14:03:49 +08:00
Rahul Tank
f2fd8192fc fix(nimble): Fix compilation issues when CCCD is set to 0 2024-04-12 11:01:47 +05:30
Rahul Tank
052e884f34 Merge branch 'bugfix/fix_cve_2024_24746' into 'master'
fix(nimble): Fix for Vulnerability CVE_2024_24746

See merge request espressif/esp-idf!30106
2024-04-12 13:12:35 +08:00
Lou Tianhao
534e7a528f feat(pm): support pd top for esp32c5beta3 2024-04-12 11:34:54 +08:00
morris
7079c09c5a Merge branch 'feat/mipi_dsi_vsync_end' into 'master'
feat(mipi_dsi): add callback to notify vsync end

See merge request espressif/esp-idf!30140
2024-04-12 11:28:20 +08:00
morris
a6fbe06910 Merge branch 'feature/gptimer_c5_mp' into 'master'
feat(gptimer): support timer group driver on c5 mp

Closes IDF-8705

See merge request espressif/esp-idf!30126
2024-04-12 11:17:28 +08:00
Mahavir Jain
e32211d605 Merge branch 'bugfix/howsmyssl_cert_update' into 'master'
fix(examples): update root certificate for howsmyssl endpoint

Closes IDFCI-2124

See merge request espressif/esp-idf!30194
2024-04-12 11:10:20 +08:00
Armando (Dou Yiwen)
9e9f76d88d Merge branch 'feat/lp_i2s_ll_support' into 'master'
lp_i2s: added lp_i2s ll layer

See merge request espressif/esp-idf!30158
2024-04-12 10:37:54 +08:00
Jiang Jiang Jian
9aa1bc6253 Merge branch 'bugfix/fix_lmac_stop_transmit_issue' into 'master'
fix(wifi): fix lmacStopTransmit issue

Closes WIFI-6519 and WIFIBUG-401

See merge request espressif/esp-idf!30147
2024-04-12 09:08:07 +08:00
Wang Meng Yang
d4552c6274 Merge branch 'bugfix/bt_bss_in_extram' into 'master'
BT: Fix non-existent linker symbol when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY enabled

Closes IDFGH-9017

See merge request espressif/esp-idf!21790
2024-04-12 08:57:10 +08:00
Rahul Tank
1e8c5fb247 fix(nimble): Fix for Vulnerability CVE_2024_24746 2024-04-11 19:28:44 +05:30
Rahul Tank
8a061af163 Merge branch 'feat/add_data_len_chg_evt' into 'master'
fix(nimble): Add support for data length change evt

Closes BLERP-666 and BLERP-665

See merge request espressif/esp-idf!29799
2024-04-11 21:09:53 +08:00
Armando
a8406659db feat(lp_i2s): added lp_i2s ll layer 2024-04-11 20:18:45 +08:00
David Čermák
952bdbde06 Merge branch 'fix/examples_sta2eth_hostname_clarify' into 'master'
fix(examples): Fix sta-2-eth README to clarify wifi.settings is hostname

See merge request espressif/esp-idf!29625
2024-04-11 19:58:33 +08:00
Island
0545816211 Merge branch 'bugfix/fix_ble_max_attribute_value' into 'master'
fix(ble/bluedroid): Fixed BLE GATT max length of an attribute value

Closes IDFGH-12362

See merge request espressif/esp-idf!30155
2024-04-11 19:11:20 +08:00
Guillaume Souchere
6e628a341a fix(console): Fsync not propagated to secondary output
Calls to fsync need to also be propagated to secondary
output when CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG
is enabled.

Closes https://github.com/espressif/esp-idf/issues/13162
2024-04-11 13:01:34 +02:00
Mahavir Jain
ebbcf074fc fix(examples): update root certificate for howsmyssl endpoint
This fixes CI failure seen because of cert migration of howsmyssl
endpoint from previous "DST Root CA X3" (cross-signed) to "ISRG Root X1".
2024-04-11 16:06:00 +05:30
Zhang Xiao Yan
4018c719e9 Merge branch 'docs/add_example_code_snippet_ota' into 'master'
docs: add code snippet for checking OTA state

See merge request espressif/esp-idf!30157
2024-04-11 18:23:20 +08:00
Konstantin Kondrashov
06c28f0ee9 feat(hal): Adds hal funcs for cpu.c 2024-04-11 13:07:04 +03:00
morris
b6a1d242d8 feat(mipi_dsi): measure FPS by toggling GPIO 2024-04-11 18:02:09 +08:00
morris
588bbac564 feat(mipi_dsi): add callback to notify refresh done 2024-04-11 18:02:09 +08:00
Konstantin Kondrashov
0b5a6e33fc Merge branch 'feature/adds_esp_exit_macros' into 'master'
feat(esp_common): Add ESP_RETURN_VOID_ON_ERROR and ESP_RETURN_VOID_ON_FALSE macros

Closes IDFGH-12532

See merge request espressif/esp-idf!30148
2024-04-11 17:10:07 +08:00
Linda
b4be134ca3 docs: add code snippet for checking OTA state 2024-04-11 16:04:07 +08:00
Jeroen Domburg
0078680e88 feat(rmt): Add simple callback encoder 2024-04-11 15:54:52 +08:00
morris
a615180bc0 feat(gptimer): support timer group driver on c5 mp
there's no change between mpw and mp as far as I can tell from the
register
2024-04-11 15:52:34 +08:00
Jakub Kocka
72896395f7 change(esptool_py/project_include): Updated esptool_elf2image_args
Since esptool v4.8 "--dont-append-digest" argument of elf2image is not needed anymore.
2024-04-11 09:33:48 +02:00
Roland Dobai
19700a57e6 Merge branch 'fix/gcov_win_mixed_path' into 'master'
fix(gcov): Fixed mixed path separators on Windows

Closes IDF-868 and IDF-3358

See merge request espressif/esp-idf!29917
2024-04-11 13:56:10 +08:00
Duco Sebel
69f6170f27 feat(esp_common): Add macros that check the condition and return from void function
Merges: https://github.com/espressif/esp-idf/pull/13536
2024-04-11 08:51:03 +03:00
C.S.M
df842f9f75 Merge branch 'docs/jpeg_final' into 'master'
docs(jpeg): Add full-content of jpeg decoder and encoder programming guide

See merge request espressif/esp-idf!30122
2024-04-11 13:45:57 +08:00
Rahul Tank
beb87e30f0 fix(nimble): Add support for data length change evt 2024-04-11 11:01:59 +05:30
Rahul Tank
f44f06597f Merge branch 'bugfix/fix_dtm_num_pkt_size' into 'master'
fix(nimble): Fix the size of num_packets in dtm event

Closes BLERP-670 and BLERP-672

See merge request espressif/esp-idf!30143
2024-04-11 13:22:12 +08:00
Cao Sen Miao
2f7cd31279 fix(jpeg): Fix issue that jpeg acquire return NULL when acquire twice 2024-04-11 12:03:16 +08:00
muhaidong
6d97ebf35c fix(wifi): fixed task watchdog got triggered by esp_wifi_stop issue 2024-04-11 12:03:11 +08:00
Wu Zheng Hui
ec37cbf157 Merge branch 'feature/esp32c5beta3_light_sleep_support_stage_1' into 'master'
feat(esp_hw_support): esp32c5 sleep support (Stage 2: support basic pmu sleep function)

See merge request espressif/esp-idf!29549
2024-04-11 10:38:17 +08:00
Cao Sen Miao
896cebaf8b docs(jpeg): Add full-content of jpeg decoder and encoder programming guide 2024-04-11 10:22:01 +08:00
Rahul Tank
fdd630425d fix(nimble): Fix the size of num_packets in dtm event 2024-04-10 19:26:07 +05:30
Lou Tianhao
2c59c4fbf2 fix(ci): bypass c5mp ci check 2024-04-10 20:45:49 +08:00
Jiang Jiang Jian
4e79288891 Merge branch 'bugfix/fix_coded_phy_s8_tx_issue' into 'master'
fix(esp_phy): fixed BLE coded phy s8 tx issue in coexistence scenarios

Closes BT-3457, BT-3656, and WIFI-5934

See merge request espressif/esp-idf!29579
2024-04-10 20:45:15 +08:00
Xu Xiao
f0365ba6b5 Merge branch 'chip/esp32c5_beta3_support_wifi_rebase_master' into 'master'
feat(wifi): add esp32c5 beta3 wifi support

See merge request espressif/esp-idf!29296
2024-04-10 20:21:47 +08:00
Zhi Wei Jian
48464e91bd Merge branch 'feature/move_vendor_hci_api_to_ble_part' into 'master'
feat(ble/bluedroid): move vendor hci api to ble internal code

Closes BLERP-669

See merge request espressif/esp-idf!30117
2024-04-10 19:43:36 +08:00
zhanghaipeng
20a780da8c fix(ble/bluedroid): Fixed BLE GATT max length of an attribute value 2024-04-10 19:41:46 +08:00
Zhu Li Qun
200fe57693 Merge branch 'bugfix/fix_rtc_cntl' into 'master'
fix(rtc_cntl_reg.h): fix RTC_CNTL_SLAVE_PD_M

See merge request espressif/esp-idf!30161
2024-04-10 19:35:13 +08:00
Wang Mengyang
d69767fcb8 change(bt): Follow the same implementation of esp_bt_mem_release on ESP32-C5 2024-04-10 19:13:17 +08:00
Wang Mengyang
745922ac72 change(bt): Add a test for release bt .bss and .data memory to heap
1. use nimble host, initialize and then deinitialize bt stack in the test
2. support tests for different SoC targets and multiple configuration options
2024-04-10 19:13:17 +08:00
Wang Mengyang
95a249e3f6 change(bt): Modify test_app directory layout
- Existing test app is put in a new subdirectory "basic_unit_test"
2024-04-10 19:13:17 +08:00
Wang Mengyang
1d9559cc9d change(bt): Rename linker script file names and symbol names
1. rename linker files
2. support memory release in case that ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY is enabled
3. improve the implementation of memory release
2024-04-10 19:13:17 +08:00
Wang Mengyang
0aca5ec357 fix(bt): Fix missing linker symbol when ESP_ALLOW_BSS_SEG_EXTERNAL_MEMORY enabled
1. Closes https://github.com/espressif/esp-idf/issues/10427
2. add two linker script to unify linker script symbols for BT libraries
3. The memory release functions have also been simplified
2024-04-10 19:13:17 +08:00
Jiang Jiang Jian
127873b163 Merge branch 'bugfix/config_sae_compile_error' into 'master'
fix(wpa_supplicant): Compile error when CONFIG_SAE is disabled

See merge request espressif/esp-idf!30101
2024-04-10 18:56:56 +08:00
Zhang Xiao Yan
ee2fbbc7aa Merge branch 'docs/update_usb_jtag_gpio_description' into 'master'
docs: update description of USB-JTAG GPIOs

See merge request espressif/esp-idf!30159
2024-04-10 18:08:55 +08:00
Jiang Jiang Jian
9081d54aa7 Merge branch 'fix/fix_pmu_power_domain_initialize_order' into 'master'
fix(esp_hw_support): fix pmu power domain initialize order

See merge request espressif/esp-idf!30095
2024-04-10 17:23:47 +08:00
Guillaume Souchere
bd0dbbe767 test(heap): Extend task tracking test with task handle check
Add a test to make sure that the task handles returned in the
task tracking information are valid task handles.

To verify that, feed the task name returned by pcTaskGetName()
using the task handle under test to xTaskGetHandle() and make
sure the task handle returned matches the one under test.
2024-04-10 11:23:07 +02:00
Zhi Wei Jian
87cd5a91c4 Merge branch 'feature/add_bluetooth_hci_log_record' into 'master'
feat(bt/common): Add bluerooth hci layer data stream record

Closes BLERP-632

See merge request espressif/esp-idf!29703
2024-04-10 16:49:43 +08:00
zlq
91668e17be fix(rtc_cntl_reg.h): fix RTC_CNTL_SLAVE_PD_M 2024-04-10 16:25:18 +08:00
Linda
28f12230ae docs: update description of USB-JTAG GPIOs 2024-04-10 15:58:01 +08:00
xuxiao
ec872c0c81 fix(wifi): fix code review comments 2024-04-10 15:27:50 +08:00
Xu Si Yu
2768d33be2 Merge branch 'ci/re-enable_ot_runner' into 'master'
ci: re-enable openthread runner

See merge request espressif/esp-idf!30142
2024-04-10 14:38:35 +08:00
chenjianhua
765af1aba4 feat(bt): Update bt lib for ESP32-C3 and ESP32-S3(c23ab4c)
- Support QA test vendor HCI command and event
2024-04-10 14:24:07 +08:00
chenjianhua
10735b7ea5 feat(bt): Update bt lib for ESP32(e314148)
- Support QA test vendor HCI command and event
2024-04-10 14:23:00 +08:00
Guillaume Souchere
6351771733 fix(heap): Add block owner to allocs in heap_caps_init
Add the block owner field in the  memory allocated in
heap_caps_init() to avoid parsing error wheen using
the task tracking feature.

Closes https://github.com/espressif/esp-idf/issues/13467
2024-04-10 08:20:09 +02:00
zhiweijian
0b4695435f feat(bt/common): Add bluerooth hci layer data stream record 2024-04-10 14:17:31 +08:00
zhiweijian
379484f4db feat(ble/bluedroid): move vendor hci api to ble internal code 2024-04-10 14:17:01 +08:00
liuning
9783bddde1 feat(coex): support esp32c5 beta3 coexist 2024-04-10 14:09:40 +08:00
xuxiao
27f61966cd feat(wifi): add esp32c5 beta3 wifi support 2024-04-10 14:09:40 +08:00
Island
8ea943e258 Merge branch 'bugfix/fixed_bt_cmakelist_err_when_use_nimblehost_only' into 'master'
ble: fixed the bt cmakelist error when use nimble host only

Closes IDFCI-2123

See merge request espressif/esp-idf!30154
2024-04-10 14:08:29 +08:00
Lou Tianhao
22c66db66b draft(esp_hw_support): need to support rtcio for c5beta3 2024-04-10 11:45:15 +08:00
Lou Tianhao
3fb4909483 feat(example): support esp32c5 timer/gpio/uart wakeup 2024-04-10 11:45:04 +08:00
morris
57696a437d Merge branch 'feat/ast_grep_lint_tool' into 'master'
Use ast-grep to create customized lint rules

See merge request espressif/esp-idf!30050
2024-04-10 10:50:09 +08:00
Michael (XIAO Xufeng)
1ca9a46737 Merge branch 'bugfix/forbid_uart_suspend_auto_lightsleep' into 'master'
uart: Fixed issue that TX be blocked by auto-lightsleep

Closes IDF-5518

See merge request espressif/esp-idf!21719
2024-04-10 10:49:24 +08:00
zwl
a99d1739b6 ble: fixed the bt cmakelist error when use nimble host only 2024-04-10 10:26:59 +08:00
Roland Dobai
324dcbc080 Merge branch 'feat/fix_idf_build_spaces' into 'master'
fix(system): fix ulp examples containing spaces in path on Win

Closes IDF-9151

See merge request espressif/esp-idf!30060
2024-04-09 21:54:39 +08:00
Lou Tianhao
86221b2ed7 change(esp_hw_support): remove fast osc calibration during light sleep(need c5mp to fix) 2024-04-09 20:58:42 +08:00
Lou Tianhao
8b3b1470b5 change(esp_hw_support): support cpu retention and power off during sleep for esp32c5 beta3 2024-04-09 20:58:42 +08:00
Li Shuai
f6478e3ced change(soc): update pmu register map struct for esp32c5 beta3 2024-04-09 20:58:42 +08:00
Xu Si Yu
0d01a3ed72 ci: re-enable openthread runner 2024-04-09 20:52:05 +08:00
David Čermák
f7fceb55d3 Merge branch 'fix/newlib_timefunc_weak' into 'master'
fix(newlib): Allow for timefunc customization if not implemented

See merge request espressif/esp-idf!30059
2024-04-09 20:11:19 +08:00
Marek Fiala
f2b75d81b3 fix(system): fix idf.py build ulp examples containing spaces in path on Win 2024-04-09 14:00:34 +02:00
Guillaume Souchere
dd1dde5fb9 fix(heap): Tracing of all heap_caps API
This commit fixes the missing tracing on all
heap_caps_xx_prefer and heap_caps_xx_aligned
functions.
2024-04-09 13:27:45 +02:00
morris
c4c8965513 feat(tool): use ast-grep to lint code base 2024-04-09 18:45:18 +08:00
Zhang Xiao Yan
96c81c87bf Merge branch 'docs/add_two_terms_flash_psram_config' into 'master'
docs: add two terms to api-guides/flash_psram_config

See merge request espressif/esp-idf!30100
2024-04-09 18:45:06 +08:00
Fu Hanxi
a223bb04d0 Merge branch 'ci/update_submodule_patterns' into 'master'
ci: add c5-bt-lib in submodule patterns

See merge request espressif/esp-idf!30138
2024-04-09 18:41:55 +08:00
Fu Hanxi
d60c435935 ci: add c5-bt-lib in submodule patterns
also fix the pattern that triggers the check
2024-04-09 12:37:30 +02:00
Shen Meng Jing
4050927f5f Merge branch 'docs/translate_cloud-framework' into 'master'
docs: Provide translation for cloud-framework.rst

Closes DOC-7507

See merge request espressif/esp-idf!29807
2024-04-09 18:37:09 +08:00
Shen Meng Jing
35c4b059e4 Merge branch 'docs/translate_usb_host_notes_index' into 'master'
docs: Provide translation for usb_host_notes_index.rst in api-reference

Closes DOC-7527

See merge request espressif/esp-idf!29877
2024-04-09 17:38:04 +08:00
shenmengjing
e445141b10 docs: Provide translation for cloud-framework.rst 2024-04-09 17:37:00 +08:00
David Cermak
b1ea47af4c fix(newlib): Allow for timefunc customization if not impl
Related https://github.com/espressif/esp-idf/issues/11873
2024-04-09 16:49:16 +08:00
Zhang Xiao Yan
d7de67bd36 Merge branch 'docs/update_description_uart_interrupt' into 'master'
docs: update the description of UART interrupt

See merge request espressif/esp-idf!30118
2024-04-09 16:34:55 +08:00
Tomas Rohlinek
f5d49570ee Merge branch 'feature/optimize_fatfs_on_sdmmc' into 'master'
feat(examples/storage): update perf benchmark example

Closes IDF-8420

See merge request espressif/esp-idf!27678
2024-04-09 15:02:06 +08:00
Tomas Rohlinek
0c9937570f feat(examples/storage): update perf benchmark example 2024-04-09 15:02:05 +08:00
morris
0631176812 Merge branch 'feat/codeowner_lowpower' into 'master'
change(codeowner): add power management team as the code owner for lowpower folder

See merge request espressif/esp-idf!30119
2024-04-09 14:27:04 +08:00
Erhan Kurubas
0da5dae9a6 Merge branch 'fix_coredump_build_error' into 'master'
Fix coredump build error

Closes IDFGH-12547

See merge request espressif/esp-idf!30099
2024-04-09 14:21:45 +08:00
Erhan Kurubas
483b4cd65b ci(coredump): enable custom stack tests for riscv chips 2024-04-09 13:36:30 +08:00
Erhan Kurubas
1503b5fcf2 fix(coredump): fix build error with the custom stack config
Closes https://github.com/espressif/esp-idf/issues/13551
2024-04-09 13:36:30 +08:00
C.S.M
e867b129f0 Merge branch 'cleanup/jpeg_encoder' into 'master'
change(jpeg): Clean up some mess code in jpeg encoder

See merge request espressif/esp-idf!30075
2024-04-09 13:30:55 +08:00
Island
21f5fda319 Merge branch 'bugfix/ble_mesh_heartbeat_filter_add' into 'master'
Fix(ble_mesh):fix error condition for heartbeat filter adding node address

Closes BLERP-654

See merge request espressif/esp-idf!29985
2024-04-09 12:05:21 +08:00
Cao Sen Miao
ca23d58cf3 change(jpeg): Clean up some mess code in jpeg encoder 2024-04-09 11:33:29 +08:00
morris
35ac950e10 change(codeowner): add power management team as the code owner for lowpower folder 2024-04-09 11:23:55 +08:00
Xu Si Yu
331a696d50 Merge branch 'ci/ignore_ot_runner' into 'master'
ci: ignore openthread runner temporarily

See merge request espressif/esp-idf!30113
2024-04-09 11:18:30 +08:00
morris
906ce8e0ff Merge branch 'bugfix/gptimer_alarm_config_in_sram' into 'master'
feat(gptimer): check the alarm config is not in flash

See merge request espressif/esp-idf!30098
2024-04-09 11:16:06 +08:00
Linda
8d36c6257e docs: add two terms to api-guides/flash_psram_config 2024-04-09 11:09:28 +08:00
Linda
544b655a40 docs: update the description of UART interrupt 2024-04-09 10:52:53 +08:00
Fu Hanxi
8f2aebdc20 ci: ignore openthread runner temporarily 2024-04-08 14:44:17 +02:00
Rahul Tank
60156a4006 Merge branch 'bugfix/set_correct_addr_type' into 'master'
fix(nimble): Set correct peer_addr during reattempt connection

See merge request espressif/esp-idf!30051
2024-04-08 20:32:43 +08:00
Island
e3839a31bf Merge branch 'bugfix/fix_ble_scan_assert' into 'master'
fix(bt/controller): Update bt lib for ESP32(5838b68)

Closes IDFGH-6912, BLERP-628, BLERP-400, IDFCI-2016, BLERP-629, BLERP-634, IDFGH-12506, and FCS-1421

See merge request espressif/esp-idf!29686
2024-04-08 20:12:29 +08:00
Yogesh Mantri
3a1b5689aa Merge branch 'fix/build_esp_wifi_remote' into 'master'
fix(esp_wifi_remote): Build issue for softAP

See merge request espressif/esp-idf!30000
2024-04-08 20:11:08 +08:00
Yogesh Mantri
a3abdb9176 fix(esp_wifi_remote): Build issue for softAP 2024-04-08 20:11:08 +08:00
Shreyas Sheth
e3338a3103 fix(wpa_supplicant): Compile error when CONFIG_SAE is disabled
Closes https://github.com/espressif/esp-idf/issues/13553
2024-04-08 17:29:48 +05:30
Shen Wei Long
ca71f7737e Merge branch 'bugfix/add_workaround_for_ble_rtc_hw_issue' into 'master'
fix(ble): add workaround for ble RTC not enabled issue

Closes BLERP-382 and BLERP-383

See merge request espressif/esp-idf!28085
2024-04-08 19:59:04 +08:00
Zhi Wei Jian
b9ea883781 Merge branch 'bugfix/fix_adv_not_resatrt_due_to_dis_reason' into 'master'
fix(ble/bluedroid): Fixed adv do not restart due to disconnection reason 0x3e

Closes BLERP-635

See merge request espressif/esp-idf!29733
2024-04-08 19:58:42 +08:00
Wang Meng Yang
02fe8fc671 Merge branch 'bugfix/loadprohibited_after_bluetooth_deinit' into 'master'
fix(ble/controller): Fixed LoadProhibited after bluetooth deinit

Closes BT-3672

See merge request espressif/esp-idf!30074
2024-04-08 19:15:11 +08:00
Shen Wei Long
4ec0e7bc43 Merge branch 'feature/support_ble_on_esp32c5beta3_master' into 'master'
feat(ble): Support BLE on esp32c5beta3

See merge request espressif/esp-idf!29992
2024-04-08 19:13:43 +08:00
Zhang Xiao Yan
72c492bdee Merge branch 'docs/fix_typo_freertos_idf' into 'master'
docs: fix a typo in api-reference/system/freertos_idf

See merge request espressif/esp-idf!30088
2024-04-08 18:21:56 +08:00
Wang Meng Yang
6b453b803f Merge branch 'feat/set_get_lpclk_src' into 'master'
feat(ble): Added API to get low power clock source

Closes BTQABR2023-133, BTQABR2023-163, BTQABR2023-182, BTQABR2023-179, and BTQABR2023-178

See merge request espressif/esp-idf!28997
2024-04-08 17:59:23 +08:00
Suren Gabrielyan
8d594e353e Merge branch 'fix/websocket_first_packet_2' into 'master'
[ws_transport]: fix of first fragment loosing during HTTP handshake

See merge request espressif/esp-idf!28654
2024-04-08 17:50:03 +08:00
morris
e8b6d2280d change(gptimer): use private unsafe RCC LL functions in bootloader 2024-04-08 17:48:20 +08:00
morris
1ca8de6e89 feat(gptimer): check the alarm config is not in flash
related to https://github.com/espressif/esp-idf/issues/13543
2024-04-08 17:48:20 +08:00
Fu Hanxi
8248477524 Merge branch 'feat/reduce-pytest-job-log' into 'master'
ci: reduce pytest job log

See merge request espressif/esp-idf!26790
2024-04-08 17:28:19 +08:00
morris
b2afd70b32 Merge branch 'refactor/remove_legacy_ldo_driver' into 'master'
refactor(ldo): remove legacy private ldo driver

Closes IDF-9566

See merge request espressif/esp-idf!29834
2024-04-08 17:11:49 +08:00
Li Shuai
3698d0a408 Merge branch 'bugfix/sleep_clock_domain_pd_allowed' into 'master'
fix some errors with sleep's power domain management

See merge request espressif/esp-idf!30076
2024-04-08 16:18:02 +08:00
Linda
0866b63aa9 docs: fix a typo in api-reference/system/freertos_idf 2024-04-08 16:11:39 +08:00
wuzhenghui
24244f04f2 fix(esp_hw_support): fix pmu power domain initialize order 2024-04-08 15:47:59 +08:00
Island
4726afa3e6 Merge branch 'feat/support_ble_set_rpa_timeout_by_api' into 'master'
feat(ble/bluedroid): Support set resolvable provate address timeout by api

Closes BLERP-650

See merge request espressif/esp-idf!29935
2024-04-08 15:23:20 +08:00
Island
636f900b43 Merge branch 'bugfix/fix_ble_spp_example' into 'master'
fix(ble/bluedroid): Optimized BLE SPP example for improved compatibility

Closes BLERP-653

See merge request espressif/esp-idf!29961
2024-04-08 15:23:09 +08:00
zhiweijian
adde5a3dd6 fix(ble/bluedroid): Fixed adv not restart due to disconnection reason 0x3e 2024-04-08 14:51:33 +08:00
zhanghaipeng
9c6869fbf8 fix(bt/controller): Update bt lib for ESP32(5838b68)
- Fixed BLE scan assert
 - Fixed assert(10,0) in lld_pdu
 - Add BLE scan backoff in menuconfig
2024-04-08 14:49:06 +08:00
luoxu
0e21cdd18a fix(ble_mesh): fix error condition for heartbeat filter adding node address 2024-04-08 14:25:18 +08:00
linruihao
e0dbcfae00 fix(esp_phy): update phylib for C3, S3, C2 and C6
- fixed BLE coded phy s8 tx issue in coexistence scenarios
- fixed ESP32-C3 and ESP32-S3 BLE RX issue
- optimize ESP32-C3 and ESP32-S3 light sleep current
2024-04-08 14:16:26 +08:00
Kevin (Lao Kaiyao)
432864e917 Merge branch 'ci/enable_c5_mp_ci_jobs' into 'master'
ci(esp32c5mp): enable esp32c5 build on CI

See merge request espressif/esp-idf!29895
2024-04-08 12:16:16 +08:00
baohongde
d60c0441f0 fix(ble/controller): Fixed LoadProhibited after bluetooth deinit 2024-04-08 11:49:05 +08:00
Mahavir Jain
b185b2b3c2 Merge branch 'feature/mbedtls_error_str_config' into 'master'
feat(mbedtls): add kconfig option for MBEDTLS_ERROR_C

See merge request espressif/esp-idf!30031
2024-04-08 11:10:59 +08:00
Island
f36a16bea7 Merge branch 'bugfix/fix_some_ble_bugs_240401' into 'master'
Fixed some BLE bugs 240401 on ESP32C3(5274796)

Closes BLERP-656, BLERP-657, BLERP-535, BLERP-644, BLERP-645, BLERP-658, BLERP-659, and BLERP-660

See merge request espressif/esp-idf!29998
2024-04-08 11:06:56 +08:00
zhanghaipeng
8c42f6a891 feat(ble/bluedroid): Support set resolvable provate address timeout by api 2024-04-07 20:40:29 +08:00
Xiong Wei Chao
d4234309a5 Merge branch 'bugfix/spp_crash_after_deint' into 'master'
fix(bt/bluedroid):  Fixed SPP crash due to the connection not being disconnected before esp_spp_deinit was called

Closes BT-3657

See merge request espressif/esp-idf!29999
2024-04-07 19:53:45 +08:00
C.S.M
6224fca8a0 Merge branch 'feature/support_lp_i2c_in_drv' into 'master'
feat(i2c_master): Add feature for support using lp_i2c in i2c_master driver

See merge request espressif/esp-idf!29907
2024-04-07 19:27:04 +08:00
morris
15f356bf55 Merge branch 'bugfix/unsupport_partial_receive_on_esp32' into 'master'
fix(rmt): Fix the RMT RX filter not working correctly on esp32/s2

Closes IDFGH-12500

See merge request espressif/esp-idf!29951
2024-04-07 17:50:09 +08:00
Li Shuai
75cf573637 fix(esp_hw_support): fix some errors with sleep's power domain management 2024-04-07 17:39:48 +08:00
Jiang Jiang Jian
b3a40cdfb2 Merge branch 'bugfix/2g_bitamp_error_log' into 'master'
fix(wifi): Fix print for 2g bitmap in scan path

Closes WIFIBUG-481

See merge request espressif/esp-idf!30062
2024-04-07 17:38:49 +08:00
xiongweichao
3d19c3db13 feat(ble): Added API to get low power clock source 2024-04-07 17:30:55 +08:00
Chen Yu Dong
8ff53713fa Merge branch 'ci/fix_generic_env_markers' into 'master'
ci: fix pytest generic env markers

See merge request espressif/esp-idf!30021
2024-04-07 16:44:57 +08:00
xiongweichao
cca828d03a fix(bt/bluedroid): Fix SPP crash after deinit
- The disconnection event comes up after spp disable is completed, so a null pointer is used.
2024-04-07 15:51:43 +08:00
morris
9ada0b029a fix(rmt): fix the counting clock used by rx filter on esp32/s2
is always APB, independent to the channel clock selection

Closes https://github.com/espressif/esp-idf/issues/13510
2024-04-07 15:05:28 +08:00
Ivan Grokhotkov
279b67cc5e Merge branch 'bugfix/check_callgraph_ignore_indirect_calls' into 'master'
fix(check_callgraph): rework --ignore-symbols to be more generic

See merge request espressif/esp-idf!29850
2024-04-07 15:05:08 +08:00
morris
d908150adc fix(rmt): calarify partial receive is not support on esp32
because of lack hardware support
2024-04-07 14:33:39 +08:00
Kevin (Lao Kaiyao)
71ceedc54f Merge branch 'feature/support_gpio_reservation_check_in_i2s' into 'master'
feat(i2s): support i2s gpio reservation

Closes IDF-9099

See merge request espressif/esp-idf!29994
2024-04-07 14:25:44 +08:00
Roland Dobai
54fd736bcd Merge branch 'docs/external_flash' into 'master'
docs(idf_py): Describe the option to configure esptool.py with --extra-args

Closes IDFGH-4513

See merge request espressif/esp-idf!29851
2024-04-07 13:50:05 +08:00
Wu Zheng Hui
a759bc0f52 Merge branch 'feat/set_cpu_freq_after_pm_config_changed' into 'master'
fix(esp_pm): update CPU frequency immediately after updating pm_config

Closes IDFGH-12481

See merge request espressif/esp-idf!29963
2024-04-07 13:47:20 +08:00
Shen Meng Jing
328247d89c Merge branch 'docs/translate_system.rst' into 'master'
Provide translation for system.rst in migration-guides

Closes DOC-7488

See merge request espressif/esp-idf!29793
2024-04-07 13:37:34 +08:00
shenmengjing
ce709de0f4 docs: Edit the CN Translation of usb_host_notes_index 2024-04-07 12:19:18 +08:00
Fu Hanxi
290e3c3156 ci: fix bypass target test warnings 2024-04-07 12:13:29 +08:00
laokaiyao
65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +08:00
laokaiyao
033c101f90 ci(esp32c5mp): enable esp32c5 job on CI 2024-04-07 12:13:29 +08:00
shenmengjing
fb7823f7f3 docs: Provide translation for system.rst in migration-guides 2024-04-07 12:11:44 +08:00
Wu Zheng Hui
b570afd6e8 Merge branch 'bugfix/fix_esp332p4_bus_stuck_in_dfs' into 'master'
fix(esp_hw_support): fix esp32p4 stuck in dfs issue

Closes IDF-9628

See merge request espressif/esp-idf!30013
2024-04-07 11:43:04 +08:00
laokaiyao
e4f28fcb7f feat(i2s): support i2s gpio reservation 2024-04-07 11:33:23 +08:00
Gao Xiao Jie
f1babb9074 Merge branch 'bugfix/clic_edge_type_interrupt_config' into 'master'
fix(esp_rom): patch esprv_intc_int_set_type for esp32p4

See merge request espressif/esp-idf!28161
2024-04-07 11:09:19 +08:00
cjin
21ad1b393f bugfix(ble): workaround to avoid ble rtc not work when power up 2024-04-07 10:53:00 +08:00
Alexey Lapshin
5a40bb8746 Merge branch 'feature/update-esp32ulp-elf-to-2.38_20240113' into 'master'
feat(tools): update esp32ulp-elf version to 2.38_20240113

See merge request espressif/esp-idf!28451
2024-04-06 03:23:43 +08:00
Rahul Tank
d0853d70ce fix(nimble): Remove extra code in reattempt connection 2024-04-05 21:33:12 +05:30
Shreyas Sheth
aee2197563 fix(wifi): Fix print for 2g bitmap in scan path 2024-04-05 17:46:36 +05:30
David Čermák
999d3e0d91 Merge branch 'fix/linux_console_macos' into 'master'
fix(console): Fix linux target build on MacOS

See merge request espressif/esp-idf!30005
2024-04-05 13:00:09 +08:00
Xiao Xufeng
72a001b851 fix(soc): fixed uart_periph.h not including reg.h issue
This will cause rom/uart.h can't compile.
2024-04-05 03:01:24 +08:00
Michael (XIAO Xufeng)
f251e32f48 feat(uart_test): add test case for uart tx blocked by auto-suspend 2024-04-05 03:01:24 +08:00
LiPeng
235bb6f294 fix(uart): Fixed issue that TX be blocked by auto-lightsleep 2024-04-05 03:01:24 +08:00
Erhan Kurubas
9e80e127ac doc(jtag): update esp32p4 jtag debugging guide 2024-04-04 21:37:56 +03:00
Erhan Kurubas
9c99a385ad Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20240318' into 'master'
feat(tools): update openocd version to v0.12.0-esp32-20240318

See merge request espressif/esp-idf!29759
2024-04-05 01:53:12 +08:00
Jakob Hasse
51f6bb8931 refactor(cmock): simplified mock build tests 2024-04-04 16:14:13 +02:00
Ivan Grokhotkov
6b6de47308 feat(sdspi): add LDO (power control) in sdspi tests 2024-04-04 15:03:27 +02:00
Ivan Grokhotkov
344439dfaa change(sdmmc): move SD power control logic into sdmmc_test_sd_begin
This simplifies the code a bit,
- removing SOC_SDMMC_IO_POWER_EXTERNAL ifdefs from error paths
- moving the LDO code next to where sdmmc_test_board_card_power_set
  is called for the same purpose
2024-04-04 15:02:11 +02:00
Ivan Grokhotkov
2bd1a8706d feat(sdmmc): add test config for ESP32-P4 EV board 2024-04-04 14:59:28 +02:00
Jakub Kocka
8e0a1e8039 fix(gcov): Fixed mixed path separators on Windows 2024-04-04 13:56:15 +02:00
Alexey Lapshin
4879bac36c feat(ulp): use --mcpu=esp32s3 for esp32s3 2024-04-04 16:12:39 +08:00
Alexey Lapshin
68464aad11 feat(tools): update esp32ulp-elf version to 2.38_20240113 2024-04-04 16:12:39 +08:00
David Čermák
295f908ef2 Merge branch 'fix/netif_ip_changed' into 'master'
fix(esp_netif): Post IP_CHANGE event also if mask and GW is ANY

Closes IDFGH-11836

See merge request espressif/esp-idf!29719
2024-04-04 16:01:20 +08:00
Frantisek Hrbata
75c765ff42 fix: exit gracefully when process started via asyncio is terminated
Currently when process is started through asyncio Runner and it is termited
e.g. with SIGINT(ctrl+c) a traceback is printed instead of gracefully
exit.

Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x7fe980970900>
Traceback (most recent call last):
  File "/usr/lib64/python3.12/asyncio/base_subprocess.py", line 129, in __del__
    self.close()
  File "/usr/lib64/python3.12/asyncio/base_subprocess.py", line 107, in close
    proto.pipe.close()
  File "/usr/lib64/python3.12/asyncio/unix_events.py", line 568, in close
    self._close(None)
  File "/usr/lib64/python3.12/asyncio/unix_events.py", line 592, in _close
    self._loop.call_soon(self._call_connection_lost, exc)
  File "/usr/lib64/python3.12/asyncio/base_events.py", line 793, in call_soon
    self._check_closed()
  File "/usr/lib64/python3.12/asyncio/base_events.py", line 540, in _check_closed
    raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed

This is caused because asyncio Runner context in asyncio.run is closing the event
loop and if exception is unhandled in coroutine(run_command) the transport is not
closed before the even loop is closed and we get RuntimeError: Event loop is closed
in the transport __del__ function because it's trying to use the closed
even loop.

Let's catch asyncio.CancelledError in case the process we are trying to
read from is terminated, print message, let the asyncio finish and exit
gracefully.

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

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-04-04 09:58:01 +02:00
David Čermák
5c97c40689 Merge branch 'fix/ci_check_public_headers' into 'master'
fix(ci): Simplify public header checker

See merge request espressif/esp-idf!29446
2024-04-04 15:13:09 +08:00
Alexey Gerenkov
c9b649779e feat(tools): update openocd version to v0.12.0-esp32-20240318 2024-04-04 14:50:06 +08:00
David Cermak
4d40751158 fix(ci): Simplify and document public header checker
Documented specific checks/subchecks for header file verification
Simplified the process, now we use simple regex to remove macros from
the current header. Before, we re-ran preprocess_one_header()
function with removed `#include ...`s from the header under test, so
we were looking into the actual header (rather than included headers)
when checking for `extern "C"` keyword.
The procedure is easier to follow without this recursion (mostly because
in the second execution we might encounter compilation failers and
ignore them).
Note that this procedure is not 100% correct (we might see some false
positive and false negatives)
2024-04-04 08:45:15 +02:00
David Cermak
965ba606a7 fix(esp_netif): Post IP_CHANGE event also if mask and GW is ANY
Closes https://github.com/espressif/esp-idf/issues/12927
2024-04-04 08:12:43 +02:00
Darian
c8c3d4b28a Merge branch 'refactor/usb_new_phy_hal_api' into 'master'
refactor(hal/usb): Update USB WRAP/USJ P4 LL, add new USB PHY HAL API

See merge request espressif/esp-idf!29853
2024-04-04 14:09:03 +08:00
Mahavir Jain
78ff15602e docs: add note about newly added mbedtls config to reduce app size footprint 2024-04-04 09:23:05 +05:30
Mahavir Jain
64fd14e787 feat(mbedtls): add kconfig option for MBEDTLS_ERROR_C
Disabling this config can reduce footprint for the cases where
mbedtls_strerror() is used and hence the debug strings are getting
pulled into the application image.
2024-04-04 09:20:28 +05:30
Alexey Lapshin
bcd753994b Merge branch 'feature/introduce-esp_rom_libc_stubs_h' into 'master'
feat(esp_rom): add esp_rom_libc_stubs.h

See merge request espressif/esp-idf!29769
2024-04-04 03:18:15 +08:00
Darian Leung
778c2e6863 refactor(hal/usb): Add new USB PHY related HAL API
This commit adds/updates the USB PHY related HAL APIs. The following changes
are made:

- Updated 'usb_wrap_hal.h' API
- Added 'usb_serial_jtag_hal.h' API
2024-04-04 02:47:00 +08:00
Darian Leung
023eae4f0b feat(hal/usb): Update USB WRAP and USJ LL, add missing ESP32-P4 LL
This commit updates updates the LLs of USB WRAP and USJ as follows:

- Added missing 'usb_wrap_ll.h' and 'usb_serial_jtag_ll.h' for the ESP32-P4
- Added LL cap macros to distinguish feature differences between the LLs of
  different targets:
    - '..._LL_EXT_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      routing to an external FSLS PHY.
    - '..._LL_SWAP_PHY_SUPPORTED' indicates whether the USB WRAP/USJ supports
      swapping between multiple internal FSLS PHYs.
- Tidied up some RCC LL functions and their callers.
- Added 'usb_wrap_types.h' and 'usb_serial_jtag_types.h' to provide types used
  in LLs.
- Fixed some spelling/naming issues as part of code-spell pre-commit
2024-04-04 02:47:00 +08:00
Darian Leung
84ba2ef2e8 feat(soc/usb): Add USB UTMI PHY struct and LL for the ESP32-P4 2024-04-04 01:47:35 +08:00
Roland Dobai
ffbcbccf61 docs(readme): Update the chip support matrix in the README 2024-04-03 17:31:20 +02:00
Alexey Lapshin
9ff7ad2173 feat(esp_rom): add esp_rom_libc_stubs.h 2024-04-03 18:34:44 +04:00
Suren Gabrielyan
2267d4b6b5 fix(ws_transport): fix first fragment losting during websocket connection 2024-04-03 17:57:37 +04:00
wuzhenghui
2b4a2da52d fix(esp_hw_support): fix esp332p4 stuck in dfs issue 2024-04-03 19:47:09 +08:00
Konstantin Kondrashov
f909dddde7 Merge branch 'feature/mac_esp32p4_support' into 'master'
feat(esp_hw_support): Adds MAC address support for esp32p4

Closes IDF-8949

See merge request espressif/esp-idf!28704
2024-04-03 19:01:29 +08:00
Chen Yudong
7d13f8210f ci: fix pytest generic env markers 2024-04-03 18:10:43 +08:00
chenjianhua
ae95ad5958 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(5274796)
- Fixed extended uncoded and coded scan scheduling
- Add config for channel assessment and ping procedure
- Clear random address for extended advertising
- Add periodic advertising list check
- Fixed periodic advertising data setting with zero length
2024-04-03 17:56:21 +08:00
Rahul Tank
23bae90070 Merge branch 'contrib/github_pr_11497' into 'master'
Nimble: Added blecsc (Cycling Speed and Cadence) profile support for nimble examples.

Closes IDFGH-10233

See merge request espressif/esp-idf!26631
2024-04-03 17:12:34 +08:00
Ivan Grokhotkov
dd35ded06a Merge branch 'maint/supported_targets_update' into 'master'
readme, tools: supported targets update

See merge request espressif/esp-idf!29425
2024-04-03 16:58:00 +08:00
Armando (Dou Yiwen)
fd11a0e85a Merge branch 'change/remove_no_longer_public_spi_reg' into 'master'
spi: remove no longer public spi reg

Closes DOC-7416

See merge request espressif/esp-idf!30010
2024-04-03 16:57:31 +08:00
Konstantin Kondrashov
dc4bf7d3e3 Merge branch 'bugfix/esp_timer_improve_tests' into 'master'
fix(esp_timer): Fix tests when esp_timer is running on CPU1

See merge request espressif/esp-idf!29901
2024-04-03 15:42:46 +08:00
Ivan Grokhotkov
9e279a3c07 change(ci): temporarily skip failures in macOS tests 2024-04-03 09:21:19 +02:00
Armando
2c81664fa3 change(spi): remove no longer public spi reg 2024-04-03 13:37:09 +08:00
ESPAbhinav
f8b2ab7955 feat(nimble): Added blecsc profile support for nimble examples 2024-04-03 10:50:02 +05:30
Island
28f68a0376 Merge branch 'feat/adjust_ble_log_init_order' into 'master'
Feat/adjust ble log init order

Closes BLERP-649, BLERP-651, BLERP-631, BLERP-652, and BLERP-655

See merge request espressif/esp-idf!29931
2024-04-03 12:39:49 +08:00
Mahavir Jain
2bfef64fc6 Merge branch 'fix/pmp_idcache_prot_c6_h2' into 'master'
fix(esp_hw_support): Fix the flash I/DROM region PMP protection

See merge request espressif/esp-idf!29933
2024-04-03 12:09:28 +08:00
Cao Sen Miao
d16e890993 docs(i2c_master): Add docs for lp_i2c support in i2c master driver 2024-04-03 11:39:10 +08:00
Cao Sen Miao
1fe7cc8d13 test(i2c_master): Add test for lp_i2c support in i2c master driver 2024-04-03 11:39:07 +08:00
Cao Sen Miao
0985bfbe27 feat(i2c_master): Add lp_i2c support in i2c master driver 2024-04-03 11:39:04 +08:00
Shen Weilong
f09dcff91e feat(ble): Support BLE on esp32c5beta3 2024-04-03 10:58:06 +08:00
shenmengjing
b8808f4211 docs: Edit the CN Translation and EN Source of usb-host 2024-04-03 10:45:06 +08:00
gaoxiaojie
aa3d3835ab fix(esp_rom): patch esprv_intc_int_set_type for esp32p4 2024-04-03 10:09:47 +08:00
Konstantin Kondrashov
d902a023ba fix(esp_timer): Fix tests when esp_timer is running on CPU1 2024-04-02 21:00:42 +03:00
Gao Xu
db3e43908a Merge branch 'feat/add_esp_dma_capable_malloc' into 'master'
dma_utils: add esp dma capable malloc function

Closes IDF-9638

See merge request espressif/esp-idf!29869
2024-04-02 21:31:45 +08:00
David Cermak
bd8b1eca9e fix(console): Fix linux target build on MacOS
We're correctly checking for the CONFIG_IDF_TARGET_LINUX macro, but before including sdkconfig.h
2024-04-02 15:14:19 +02:00
Laukik Hase
48503dd39f fix(esp_hw_support): Fix the flash I/DROM region PMP protection 2024-04-02 18:41:07 +05:30
Roman Leonov
fc326374e0 Merge branch 'refactor/usb_host_add_hcd_mps_request' into 'master'
refactor(hcd_dwc): Added mps request from hcd_dwc

See merge request espressif/esp-idf!29904
2024-04-02 20:49:29 +08:00
Alexey Lapshin
11eeca6c98 Merge branch 'fix/gcov_fault' into 'master'
fix(gcov): fix exceptions on gcov task_tick_hook

Closes IDFGH-12501

See merge request espressif/esp-idf!29962
2024-04-02 20:24:07 +08:00
Jiang Jiang Jian
ce6363095e Merge branch 'bugfix/wpa3_ap_ci_crash' into 'master'
fix(esp_wifi): Fix crash when assoc req comes before confirm is processed

Closes IDFCI-2090

See merge request espressif/esp-idf!29805
2024-04-02 20:05:06 +08:00
Aditya Patwardhan
0dcd692d59 Merge branch 'fix/fix_esp32p4_flash_encryption' into 'master'
fix(bootloader_support): Fix default key usage for flash encryption

See merge request espressif/esp-idf!29968
2024-04-02 19:57:38 +08:00
Aditya Patwardhan
727d99e2a7 Merge branch 'docs/update_esp32p4_security_docs' into 'master'
docs(security): Update security-related docs for ESP32-P4

See merge request espressif/esp-idf!29970
2024-04-02 19:50:44 +08:00
Wu Zheng Hui
601a086b16 Merge branch 'fix/add_phy_private_dslp_callback' into 'master'
fix(esp_hw_support): move deepsleep phy callback before PLL disable

See merge request espressif/esp-idf!29952
2024-04-02 19:37:39 +08:00
Jiang Jiang Jian
597168303d Merge branch 'bugfix/aud-5252' into 'master'
fix the issue of modem hang caused by incorrect configuration of power and isolate signals

Closes AUD-5252

See merge request espressif/esp-idf!29960
2024-04-02 19:30:32 +08:00
Shreyas Sheth
73ec4a74fd fix(esp_wifi): Fix crash when assoc req comes before confirm is processed 2024-04-02 14:28:59 +05:30
Zhang Wen Xu
d41172853b Merge branch 'fix/phy_init_variables_in_header_file' into 'master'
fix(esp_phy): header file produces non-zero object

See merge request espressif/esp-idf!29930
2024-04-02 16:50:54 +08:00
wuzhenghui
cbc66bd365 fix(esp_hw_support): move deepsleep phy callback before PLL disable 2024-04-02 16:38:01 +08:00
Roman Leonov
dbad0df765 refactor(hcd_dwc): Added mps request from hcd_dwc 2024-04-02 10:23:52 +02:00
Jiang Jiang Jian
8ae1d9907f Merge branch 'optimize/bt_make_alarm_num_configurable' into 'master'
optimize(ble_mesh): Make alarm number configurable

Closes BLERP-577

See merge request espressif/esp-idf!28965
2024-04-02 16:18:36 +08:00
gaoxu
c3303c0096 fix(eth): fix defaultip101 tests error on ci 2024-04-02 16:17:10 +08:00
Jiang Jiang Jian
1bcd5bca14 Merge branch 'feature/disable_pmk_caching' into 'master'
feat(esp_wifi): Provide API to disable PMK caching

See merge request espressif/esp-idf!29902
2024-04-02 16:15:34 +08:00
igor udot (horw)
b887f476da ci: reduce pytest job stdout log 2024-04-02 16:14:02 +08:00
Wu Zheng Hui
859d9a89e1 Merge branch 'bugfix/fix_adc_clock_missing_in_startup_calibration' into 'master'
fix(esp_adc): fix adc clock missing in startup calibration

Closes PM-93

See merge request espressif/esp-idf!29993
2024-04-02 15:29:12 +08:00
Aditya Patwardhan
51a91259d7 fix(bootloader_support): Fix default key usage for flash encryption 2024-04-02 12:27:53 +05:30
harshal.patil
e383616503 fix(mbedtls/aes): Fix incorrect dma alignment size 2024-04-02 14:30:14 +08:00
gaoxu
8e9b1501c0 fix(dma): fix s3 dma reg spell error 2024-04-02 14:30:14 +08:00
gaoxu
40f38bea6f feat(dma): refactor dma calloc function 2024-04-02 14:30:14 +08:00
Armando
78f96c4466 change(eth): use new esp_dma_calloc 2024-04-02 14:30:14 +08:00
Armando
f0518b3c16 feat(dma): advanced dma malloc helper 2024-04-02 14:30:14 +08:00
Rahul Tank
9c846916fa Merge branch 'bugfix/revamp_reconn_scheme' into 'master'
fix(nimble): Cleanup code in connection reconnection implementation

Closes BLERP-633

See merge request espressif/esp-idf!29941
2024-04-02 14:23:58 +08:00
Zhang Wen Xu
7963bcba13 Merge branch 'support/esp32c5beta3_ieee802154' into 'master'
feat(802154): add ieee802154 support for C5beta3

See merge request espressif/esp-idf!29948
2024-04-02 14:14:16 +08:00
Wan Lei
7116671f4d Merge branch 'feat/c6lite_c61_final_helloworld' into 'master'
feat(esp32c61): birth and say hello world 🎄 (stage 8/8)

Closes IDF-9290

See merge request espressif/esp-idf!29751
2024-04-02 14:11:36 +08:00
Jiang Jiang Jian
4989cc0d9f Merge branch 'bugfix/directed_bssid_probe_req' into 'master'
Send unicast probe requests if bssid is known during scan

Closes WIFIBUG-458

See merge request espressif/esp-idf!29619
2024-04-02 14:09:12 +08:00
Shu Chen
15474b4f97 Merge branch 'fix/openthread_mtd_joiner_config' into 'master'
fix(openthread) fix openthread mtd joiner config

Closes IDFGH-12457

See merge request espressif/esp-idf!29959
2024-04-02 14:08:41 +08:00
Island
aa3c7e1030 Merge branch 'bugfix/IDFGH-11775' into 'master'
bugfix(ble_mesh): fix NRF mesh(android) provisioning node failed

Closes BLERP-636

See merge request espressif/esp-idf!29737
2024-04-02 14:03:35 +08:00
Kapil Gupta
00ab1ef500 feat(esp_wifi): Provide API to disable PMK caching 2024-04-02 10:21:26 +05:30
Kevin (Lao Kaiyao)
61cf08fcc8 Merge branch 'feature/update_rom_for_esp32c5mp' into 'master'
change(rom): update the frozen rom for esp32c5mp

See merge request espressif/esp-idf!29971
2024-04-02 12:18:50 +08:00
Dávid Fehér
70329ed770 fix(openthread): Fix openthread mtd joiner config
* Fix openthread-core-esp32x-mtd-config.h: OPENTHREAD_CONFIG_JOINER_ENABLE macro value

* On ESP32 MTD devices Joiner role functionality was not working even if 'Joiner enable' was checked in SDK config because 0 was defined in OPENTHREAD_CONFIG_JOINER_ENABLE macro. Value modified to 1 to resolve the issue. Tested and working on ESP32 H2 MTD device.

* Closes: https://github.com/espressif/esp-idf/pull/13473
2024-04-02 12:17:57 +08:00
wuzhenghui
11e7091967 fix(esp_adc): fix adc clock missing in startup calibration 2024-04-02 12:14:44 +08:00
zwx
6d2f9c2991 fix(esp_phy): header file produces non-zero object 2024-04-02 12:14:17 +08:00
Shen Meng Jing
4494fc9829 Merge branch 'doc/translate_visualgdb.rst' into 'master'
Doc/translate visualgdb.rst

Closes DOC-7490

See merge request espressif/esp-idf!29801
2024-04-02 11:51:20 +08:00
Kapil Gupta
464fd689a1 fix(esp_wifi): Send unicast probe requests if bssid is known during scan 2024-04-02 11:23:32 +08:00
Shen Meng Jing
023c17c49a Merge branch 'docs/translate_clion.rst' into 'master'
docs: Provide translation for clion.rst

Closes DOC-7489

See merge request espressif/esp-idf!29794
2024-04-02 11:21:16 +08:00
Armando (Dou Yiwen)
fa369d0f3b Merge branch 'change/add_build_test_rules_to_flash_mmap' into 'master'
mmap: added built-test-rules.yml contents to flash_mmap test_app

See merge request espressif/esp-idf!29975
2024-04-02 11:13:29 +08:00
Marius Vikhammer
222a010f89 Merge branch 'bugfix/ulp_lp_mem_size_p4' into 'master'
fix(lp_core): fix kconfig not allowing using all of LP mem for lp core

Closes IDF-9627

See merge request espressif/esp-idf!29900
2024-04-02 10:51:26 +08:00
wanlei
20c18ac52b feat(esp32c61): final introduce helloworld support 2024-04-02 10:50:52 +08:00
Dai Zi Yan
2545edc255 Merge branch 'docs/sync_up_trans' into 'master'
docs: sync up translation for several documents

Closes DOC-7456 and DOC-7534

See merge request espressif/esp-idf!29908
2024-04-02 10:46:49 +08:00
luoxu
8160ddee46 fix(ble_mesh): fix NRF mesh(android) provisioning node failed
Closes: https://github.com/espressif/esp-idf/issues/12871
2024-04-02 10:41:57 +08:00
shenmengjing
63df2749c6 docs: Provide translation for visualgdb.rst 2024-04-02 10:31:15 +08:00
shenmengjing
6e3eab1b7c docs: Provide translation for clion.rst 2024-04-02 10:11:14 +08:00
Armando
1dfc443b5b change(mmap): added built-test-rules.yml contents to flash_mmap test_app 2024-04-02 09:48:07 +08:00
Jiang Jiang Jian
8fcf5270a2 Merge branch 'fix/exception_vectors' into 'master'
fix: mark .exception_vectors* as executable and allocatable

Closes IDF-9554

See merge request espressif/esp-idf!29782
2024-04-02 00:08:07 +08:00
Jiang Jiang Jian
d885808b9f Merge branch 'feature/advanced_roaming_support' into 'master'
Add advanced Wi-Fi roaming support through Wi-Fi app

Closes WIFI-6169, WIFI-4212, WIFIBUG-314, and IDFGH-10713

See merge request espressif/esp-idf!26126
2024-04-02 00:02:41 +08:00
C.S.M
4921c63b70 Merge branch 'feature/jpeg_encoder' into 'master'
feat(jpge): Add basic support for jpeg encoder 🖼️

See merge request espressif/esp-idf!29411
2024-04-01 23:24:21 +08:00
Jiang Jiang Jian
b18a039263 Merge branch 'doc/update_espnow_example' into 'master'
docs(wifi): change the magic varible from int to uint32_t on the receiving side

Closes IDFGH-9560 and IDFGH-9366

See merge request espressif/esp-idf!29845
2024-04-01 23:13:13 +08:00
Jiang Jiang Jian
8da9eb5168 Merge branch 'ci/reenable_bootloader_sections_test_esp32c2' into 'master'
ci(system): re-enable bootloader_sections test for ESP32-C2

See merge request espressif/esp-idf!29852
2024-04-01 23:13:00 +08:00
Jiang Jiang Jian
7fcac31dce Merge branch 'bugfix/addd_dport_protection_for_some_registers' into 'master'
fix(bt/controller): Use embedded assembly to get access to DPORT registers

See merge request espressif/esp-idf!29932
2024-04-01 23:09:51 +08:00
Jiang Jiang Jian
14de0d5e73 Merge branch 'ci/fix_c_file_api_test' into 'master'
test(storage): fixed failing c-file api test

Closes IDFCI-2115

See merge request espressif/esp-idf!29958
2024-04-01 23:09:26 +08:00
Kapil Gupta
431a2a7d1c fix(esp_wifi): Address review comments 2024-04-01 23:00:01 +08:00
jgujarathi
c5d8acc40a feat(esp_wifi): Showcase roaming_app capabalities through dedicated example
- Shows use of roaming app through dedicated example : roaming_app_example.
- Changes the location of the earlier roaming example by moving it into the roaming_11kvr.
- Please note that this feature is still experimental and still being optimised
and tuned.
2024-04-01 23:00:01 +08:00
jgujarathi
0d7c909e87 feat(esp_wifi): Showcases the new scan by bitmap config
- Showcases the ability to scan by the bitmap config newly added
to the wifi_scan_config_t by implementing it in the scan config
2024-04-01 23:00:01 +08:00
jgujarathi
9a88dab748 feat(esp_wifi): Add support for advanced roaming as a wifi app
- Adds support for advanced roaming as a wifi app.
2024-04-01 23:00:01 +08:00
jgujarathi
71e6c10f7c fix(wpa_supplicant): Update supplicant last scan time when application scanning
- Any scanning currently updates the bss table held by supplicant anyway,
  but the time record used to maintain the recency of the last scan is
  only updated by supplicant issued scans. Updating the last scan time
  for application trigerred scanning will prevent the needless scanning
  by supplicant if there has been an application trigerred scan in
  the time diff threshold(currently 10s).
2024-04-01 23:00:01 +08:00
jgujarathi
b23e29d5ae fix(wpa_supplicant): Add current bss channel as hint to scanning
- Add current bss channel as hint to scanning during supplicant connect
  making the process faster.
2024-04-01 23:00:01 +08:00
jgujarathi
560c951e33 fix(wpa_supplicant): Add default durations to supplicant issued scans
- Add default durations to supplicant issued scans based on results from
  initial experiments where probe response times were recorded in a
  significantly noisy environment. It was noticed  that  within 70ms
  we receive over 80% of the responses 90% of the time
2024-04-01 23:00:01 +08:00
jgujarathi
84d7ab5c0c fix(wpa_supplicant): Clear bssid flag and channel in supplicant disconnect handler
- Clear the bssid set flag and channel in supplicant disconnect handler as this
  can cause the station to recursively connect to the wrong AP in case
  roaming through BTM mechanisms fails.
- Fix issue with incorrect blocking time calculation when blocking scan
  issued for a single channel.
2024-04-01 23:00:01 +08:00
jgujarathi
ff622e4428 fix(wpa_supplicant): Apply the Neighbor report event in roaming example
- Apply the neighbor report event structure in the roaming example.
- This replaces the existing callback structure that existed earlier.
2024-04-01 23:00:01 +08:00
jgujarathi
c6134a23dd fix(wpa_supplicant): Replace Neighbor Report callback with an event
- Deprecate the existing esp_rrm_send_neighbor_rep_request() API
- Adds a new API to send neighbor report requests esp_rrm_send_neighbor_report_request().
  This replaces the older API's callback procedure with a new Wi-Fi
  event that is posted when the neighbor report is received.
  This moves the execution of the callback from supplicant
  context to freertos context.
2024-04-01 23:00:01 +08:00
jgujarathi
743772fb76 fix(btm): Improve BTM scanning effiency by using channel bitmap
- Improve the BTM scanning efficiency by using channel bitmap feature in
  scanning. This sets only the channels we need to scan instead of all.
2024-04-01 23:00:01 +08:00
jgujarathi
c3f1c3fcde feat(esp_wifi): Add channel bitmaps to the scan config
- Add the ability to specify the specific channels and the
  in wifi_config_t.
- Adds warning that discourages setting bssid and channel in sta_config
  when btm/mbo is enabled and supported by the network.
- Fix issues with reporting authmodes of FT supporting APs during scanning.
- Additional typo fixes in the public header files
2024-04-01 23:00:01 +08:00
Aditya Patwardhan
fb28b42c94 Merge branch 'feature/support_ecdsa_key_using_key_manager' into 'master'
Feature/support ecdsa key using key manager

Closes IDF-7992

See merge request espressif/esp-idf!28908
2024-04-01 22:10:34 +08:00
laokaiyao
0cb1057915 change(rom): update the frozen rom for esp32c5mp 2024-04-01 20:53:49 +08:00
Aditya Patwardhan
051048d261 Merge branch 'feature/p4_rng' into 'master'
feat(esp_hw_support): brought up RNG on ESP32-P4

Closes IDF-6522

See merge request espressif/esp-idf!29614
2024-04-01 20:24:36 +08:00
harshal.patil
1975c1c69e docs(security): Update security-related docs for ESP32-P4 2024-04-01 17:34:28 +05:30
Cao Sen Miao
69835ebaac docs(jpeg_encoder): Add the documents support for jpeg encoder 2024-04-01 20:03:41 +08:00
Cao Sen Miao
e8e7166a4c feat(jpeg_encoder): Add the example support for jpeg encoder 2024-04-01 20:03:38 +08:00
Cao Sen Miao
58acf93da2 test(jpeg_encoder): Add the test support for jpeg encoder 2024-04-01 20:03:35 +08:00
Cao Sen Miao
22ec65adef feat(jpeg_encoder): Add the basic support for jpeg encoder 2024-04-01 20:03:31 +08:00
Jiang Jiang Jian
b02a2eaf1a Merge branch 'bugfix/fix_call_to_header_event_callback' into 'master'
fix: Fix call to event_handler on on_header state of HTTP Client

Closes IDFGH-12486

See merge request espressif/esp-idf!29953
2024-04-01 19:48:47 +08:00
wuzhenghui
1a676d1e77 fix(esp_pm): update CPU frequency immediately after updating pm_config
Closes https://github.com/espressif/esp-idf/issues/13492
2024-04-01 19:15:28 +08:00
Jin Cheng
98230244df fix(bt/controller): Use embedded assembly to get access to DPORT registers 2024-04-01 18:53:47 +08:00
Rahul Tank
7e34300a1b fix(nimble): Change reconnection scheme 2024-04-01 16:05:41 +05:30
Jiang Jiang Jian
d954057ed8 Merge branch 'feat/coex_schm_ble' into 'master'
feat(ble/controller): Add coexist schm for BLE

See merge request espressif/esp-idf!29740
2024-04-01 18:26:52 +08:00
Wang Meng Yang
ef30e40151 Merge branch 'fix/rd_stored_link_key_error' into 'master'
fix(bt/controller): fix some issues in bt controller

Closes CBI-722, CBI-709, and BTQABR2023-210

See merge request espressif/esp-idf!29454
2024-04-01 18:17:37 +08:00
Jiang Jiang Jian
7347042d9a Merge branch 'feat/multi_antenna_support' into 'master'
feat(phy): refactor multiple antenna, support for WIFI/BT/BLE

Closes FCS-1279

See merge request espressif/esp-idf!26534
2024-04-01 17:36:11 +08:00
Jiang Jiang Jian
fde8c8d0f8 Merge branch 'feat/sntp_init_delay' into 'master'
feat(lwip): SNTP: Add support for adjusting startup delay

Closes IDF-8790

See merge request espressif/esp-idf!29688
2024-04-01 17:16:28 +08:00
daiziyan
5fb96ec687 docs: sync up translation for several documents 2024-04-01 17:13:47 +08:00
Dai Zi Yan
d125ce0e44 Merge branch 'docs/update_mr_template' into 'master'
docs: update the mr template for adding translation related labels

Closes DOC-6831

See merge request espressif/esp-idf!29636
2024-04-01 17:09:44 +08:00
Aditya Patwardhan
d0a23799e8 feat(mbedtls): Added support for using ECDSA key through key manager 2024-04-01 14:37:12 +05:30
Alexey Lapshin
26b728a5f8 fix(gcov): fix exceptions on gcov task_tick_hook
Closes https://github.com/espressif/esp-idf/issues/13511
2024-04-01 13:06:21 +04:00
Mahavir Jain
999f3f69c0 Merge branch 'esp32p4/deterministic_ecdsa_support' into 'master'
Add deterministic ECDSA support

Closes IDF-8507

See merge request espressif/esp-idf!29010
2024-04-01 16:45:14 +08:00
zhanghaipeng
b0a84f76a2 fix(ble/bluedroid): Optimized BLE SPP example for improved compatibility 2024-04-01 16:31:26 +08:00
daiziyan
87c29178da docs: update the mr template for adding translation related labels 2024-04-01 16:30:28 +08:00
Harshit Malpani
2814b5a330 Revert "fix(esp_http_client): Call event_handler after header value is received"
This reverts commit 04ac8e43db.

When `http_on_header_event` is called, event_handler is invoked and
then the current header key and header value are freed. In the previous
approach, `http_on_header_event` was called from `http_on_header_value`,
but it lead to an issue where if the value is received in multiple chunks,
then the current header key and value were freed and thus header was not
processed correctly which might result in connection issues. Calling
`http_on_heaher_event` from `http_on_header_field` ensures that the current
header field and value are processed properly

Fixes https://github.com/espressif/esp-idf/issues/13497
Fixes https://github.com/espressif/esp-idf/issues/13097
2024-04-01 13:41:47 +05:30
Armando (Dou Yiwen)
99efa9504c Merge branch 'change/merge_isp_env_into_isp_af' into 'master'
(isp): merge isp env into isp af

See merge request espressif/esp-idf!29946
2024-04-01 16:05:44 +08:00
cjin
2f60e19696 feat(ble): add cca related config in c6, h2 and c2 2024-04-01 15:57:06 +08:00
cjin
edb3f70562 change(ble): support ble light sleep using ext 32k xtal on C2 2024-04-01 15:57:06 +08:00
zwl
5e443311da ble: update esp32c2 lib to 7a428d35 2024-04-01 15:57:06 +08:00
zwl
f2da3c12e9 ble: update esp32h2 and esp32c6 lib to 39c6e050 2024-04-01 15:57:06 +08:00
zhaoweiliang
29eb1400ae ble : adjust the log initialization sequence of ESP32C6 and ESP32H2 2024-04-01 15:57:06 +08:00
Jiang Jiang Jian
0301125fbd Merge branch 'bugfix/typo_bootloader_kconfig' into 'master'
fix(bootloader): fix spelling mistakes  in /components/bootloader/Kconfig.projbuild

See merge request espressif/esp-idf!29899
2024-04-01 15:36:10 +08:00
Li Shuai
608713a72a fix(esp_hw_support): fixed modem hang caused by incorrect configuration of power and isolate signals 2024-04-01 15:21:07 +08:00
Marius Vikhammer
b8a254f33f test(storage): fixed failing c-file api test 2024-04-01 15:14:22 +08:00
alanmaxwell
ffd0c8ecef fix(soc): update gpio_sig_map.h for esp32c5 beta3 2024-04-01 15:07:38 +08:00
alanmaxwell
565660db87 docs: disable build phy.rst for esp32p4 2024-04-01 14:59:57 +08:00
alanmaxwell
21693c3c7c fix(ci): disable phy antenna example build for h2 and fix typo and format 2024-04-01 14:59:57 +08:00
alanmaxwell
1d763691ea docs(phy): rewrite multi antenna docs 2024-04-01 14:59:57 +08:00
alanmaxwell
2b8b3f49bf feat(phy): support async update phy antenna config 2024-04-01 14:59:57 +08:00
alanmaxwell
408a4675ee fix(wifi): fix multi antenna issue for C6 2024-04-01 14:59:55 +08:00
alanmaxwell
85bf5f8aba change(phy): change wifi multi ant api to phy multi ant 2024-04-01 14:59:27 +08:00
alanmaxwell
583c0d71ad change(phy): move antenna example from wifi to phy 2024-04-01 14:59:27 +08:00
alanmaxwell
a6cc70e6e7 docs: seperate multiple antennas from Wi-Fi to PHY 2024-04-01 14:59:27 +08:00
alanmaxwell
0f73cf50fb refactor(wifi): Add deprecated attribute for WiFi multiple antennas api 2024-04-01 14:59:27 +08:00
alanmaxwell
92e76a3434 refactor(phy): refactor multiple antenna, support for WIFI/BT/BLE/15.4 2024-04-01 14:59:27 +08:00
zwx
81b6bae194 feat(802154): add ieee802154 support for C5beta3 2024-04-01 14:50:07 +08:00
Aditya Patwardhan
f231b262b9 Merge branch 'fix/key_manager_hw_support' into 'master'
Fix/key manager hw support

See merge request espressif/esp-idf!29508
2024-04-01 14:34:42 +08:00
Jiang Jiang Jian
3f486c4477 Merge branch 'feature/support_ext_conn' into 'master'
Feature/support ext conn

Closes IDF-7865

See merge request espressif/esp-idf!29884
2024-04-01 13:20:33 +08:00
Armando
e62e8844c7 doc(isp): updated isp evn detector doc 2024-04-01 12:00:54 +08:00
Armando
b40cf7508c test(isp): remove isp env detector allocation test 2024-04-01 12:00:36 +08:00
Armando
ad3087fa20 change(isp): merge isp af env into isp af controller 2024-04-01 11:59:43 +08:00
wangjialiang
6df1997db5 feat(ble_mesh): Make alarm number configurable 2024-04-01 11:57:07 +08:00
xiehang
f3c5047638 feat(extconn): Supports external WiFi connections for ESP32p4 and other espressf chips 2024-04-01 11:44:52 +08:00
gongyantao
9e2ffff9b6 fix(bt): fix some issues in bt controller
1: fixed the incorrect timeing in reporting HCI_Link_Key_Type_Changed.
2: fixed the incorrect iv value during resuming encryption.
3: fixed the incorrect return with hci command rd_stored_link_key.
2024-04-01 11:40:10 +08:00
xiehang
9d7bd6a8dd change(esp_phy): Add SOC_PHY_SUPPORTED to control phy mode 2024-04-01 11:36:55 +08:00
Chen Jian Xing
d5c6e53e8a Merge branch 'bugfix/fix_coex_ld_issue' into 'master'
fix(wifi): fix coex ld issue

See merge request espressif/esp-idf!29914
2024-04-01 11:30:38 +08:00
Armando (Dou Yiwen)
9e8f5364eb Merge branch 'feat/isp_af_driver' into 'master'
isp: added isp driver framework and isp af driver

See merge request espressif/esp-idf!27937
2024-04-01 10:44:48 +08:00
Xiong Wei Chao
7915aee213 Merge branch 'bugfix/sdp_remove_record_no_evt' into 'master'
fix(bt/bluedroid): Fixed the crash caused by using illegal pointers during SDP deinit

Closes BTQABR2023-201

See merge request espressif/esp-idf!29288
2024-04-01 10:17:31 +08:00
Jakob Hasse
9c108f2da6 feat(esp_hw_support): brought up RNG on ESP32-P4 2024-04-01 07:09:11 +05:30
Armando
da1550d074 change(codespell): fix some wrong spell 2024-04-01 09:30:07 +08:00
Armando
c50e42b7d5 doc(isp): added isp programming guide 2024-04-01 09:30:07 +08:00
Armando
a26ab5118c test(isp): added isp csi share test 2024-04-01 09:30:07 +08:00
Armando
ff9b88d827 feat(isp_af): added af scheme driver and stepping approx scheme driver 2024-04-01 09:30:07 +08:00
Armando
bf1275d700 feat(isp): added isp driver framework and isp af driver 2024-04-01 09:30:07 +08:00
Jiang Jiang Jian
0c68b9b06c Merge branch 'feat/sleep_retention_depends_power_state_management' into 'master'
sleep retention multiple modules initialization and dependency management

Closes WIFI-5252 and IDFGH-11302

See merge request espressif/esp-idf!28941
2024-04-01 09:28:42 +08:00
Jakob Hasse
f5ee19f01e fix(soc): corrected register base definition in rtcadc_reg.h 2024-04-01 06:52:29 +05:30
wuzhenghui
d9682ea8cb fix(hal): use force_inline for lp_sys ll header 2024-03-30 11:51:52 +08:00
Li Shuai
a054f89021 fix: modify some typos to ensure CI pipeline run pass 2024-03-30 11:51:52 +08:00
Li Shuai
7a4d92a7ef fix(example/bluetooth): fix app partition is to small for binary esp_hid_device.bin and esp_hid_host.bin 2024-03-30 11:51:52 +08:00
xiaqilin
7f94f5bf72 change(ieee802154): add sleep deinit API 2024-03-30 11:51:52 +08:00
Li Shuai
fc308a4234 change(driver/i2c): modify i2c sleep retention test case to fix memory leakage issue 2024-03-30 11:51:52 +08:00
Li Shuai
b1540e2470 change(esp_hw_support): use power down peripheral in light sleep option to determine TOP to off 2024-03-30 11:51:52 +08:00
Li Shuai
91bb0e7276 change(driver/i2c): use new retention api to implement i2c retention 2024-03-30 11:51:52 +08:00
Li Shuai
c07be48edb change(esp_hw_support): add adc retention module and it is dependencies on the clock modem 2024-03-30 11:51:52 +08:00
Li Shuai
67f1de5e99 change(esp_hw_support): dump sleep retention context to io stream 2024-03-30 11:51:52 +08:00
Li Shuai
4ffa5c23af change(ieee802154): use new sleep retention api to implement ieee802154 mac retention 2024-03-30 11:51:52 +08:00
Li Shuai
c0f3570237 change(bt): use new retention api to implement BT mac and bb retention 2024-03-30 11:51:52 +08:00
Li Shuai
57c8fdfd86 change(esp_hw_support): use new retention api to implement gdma retention 2024-03-30 11:51:52 +08:00
Li Shuai
a0a343cb13 change(wifi): use new retention api to implement wifi mac and bb retention 2024-03-30 11:51:50 +08:00
Konstantin Kondrashov
557ad147d3 Merge branch 'bugfix/log_wrap_around_cache_generation_counter' into 'master'
fix(log): Fix wrap-around of cache generation counter

Closes IDFGH-4707

See merge request espressif/esp-idf!29918
2024-03-29 22:30:43 +08:00
Aditya Patwardhan
7acc4d4326 fix(esp_hw_support): Fix key manager hw support
1) Added NULL checks for public APIs
2) Added debug prints at necessary places
3) Updated the check for already deployed HUK
2024-03-29 18:53:13 +05:30
Darian
f66a23a8fb Merge branch 'refactor/usb_host_usbh_hub_interaction' into 'master'
refactor(usb/host): Refactor USBH interaction with Hub

See merge request espressif/esp-idf!29783
2024-03-29 21:16:14 +08:00
Rahul Tank
2666391582 Merge branch 'bugfix/handle_missing_free' into 'master'
fix(nimble): Handle missing free in application

See merge request espressif/esp-idf!29886
2024-03-29 21:02:05 +08:00
Jiang Jiang Jian
73b45b8852 Merge branch 'feature/esp_phy_for_c5' into 'master'
feat(phy): add esp32c5 beta3 phy support

See merge request espressif/esp-idf!29825
2024-03-29 20:56:54 +08:00
Rahul Tank
eafad32dc6 fix(nimble): Handle missing free in application 2024-03-29 16:37:11 +05:30
morris
2a65cb1b50 Merge branch 'docs/translate_parlio.rst' into 'master'
docs: Provide translation for parlio.rst

Closes DOC-7491

See merge request espressif/esp-idf!29806
2024-03-29 18:31:14 +08:00
shenmengjing
dbfc2bff84 docs: Provide translation for usb_host_notes_index.rst in api-reference 2024-03-29 17:33:10 +08:00
Li Shuai
262be04b21 change(esp_hw_support): modify system and modem clock to support modem domain power down 2024-03-29 16:13:52 +08:00
shenmengjing
0689c8e233 docs: Provide translation for parlio.rst 2024-03-29 16:13:05 +08:00
zwx
d2e0b9419f fix(CI): fix CI to pass fast build app 2024-03-29 16:03:24 +08:00
xuxiao
d69c25b997 fix(phy): update esp32c5 phy init data 2024-03-29 16:03:24 +08:00
wuzhenghui
a744a2c43f fix(esp_hw_support): fix zb/bt shared bb dependency for ieee154 2024-03-29 16:03:24 +08:00
xuxiao
b1bd9987fe feat(phy): add esp32c5 beta3 phy support 2024-03-29 16:03:24 +08:00
Island
82f70e7ad4 Merge branch 'bugfix/IDFGH-12353' into 'master'
fix(ble_mesh): Free segment tx buffers on tx reset for SAR enhancement

Closes IDFGH-12353 and BLERP-641

See merge request espressif/esp-idf!29779
2024-03-29 16:03:13 +08:00
Kevin (Lao Kaiyao)
f6f7145fec Merge branch 'bugfix/rollback_the_breaking_change_of_i2s_cb_event_data' into 'master'
fix(i2s): rollback the breaking change of i2s cb event data

See merge request espressif/esp-idf!29896
2024-03-29 15:55:17 +08:00
Li Shuai
59115cd2d1 change(esp_hw_support): some system peripherals to use a retention module number 2024-03-29 15:27:08 +08:00
Li Shuai
7092cf7d3e feat(esp_hw_support): implement of sleep retention module initialize and dependency management 2024-03-29 15:22:53 +08:00
Li Shuai
080d09387c change(esp_hw_support): modify the style of module argument from bitmap to number 2024-03-29 15:22:52 +08:00
harshal.patil
272633bde1 fix(mbedtls/ecdsa): Fix dependant peripheral's enable and reset 2024-03-29 12:40:13 +05:30
morris
1ed64afddd Merge branch 'refactor/remove_unused_periph_module_enable' into 'master'
remove orphaned clk_gate_ll.h on esp32p4

Closes IDF-8094

See merge request espressif/esp-idf!29906
2024-03-29 14:50:34 +08:00
harshal.patil
84b6940ce4 feat(mbedtls/ecdsa): Wrapped ecdsa_write_signature to support deterministic ECDSA signatures 2024-03-29 12:14:11 +05:30
harshal.patil
70ef80d974 feat(mbedtls/ecdsa): Add support for deterministic ECDSA signature generation 2024-03-29 12:14:11 +05:30
harshal.patil
cd98dfc3fd feat(hal): Add LL and HAL layer support for deterministic ECDSA 2024-03-29 12:14:11 +05:30
harshal.patil
95fac15698 feat(hal/ecdsa): Add HAL API for operation successful check 2024-03-29 12:14:11 +05:30
Li Shuai
fd421ba9bb change(esp_hw_support): rename interface name of get modules bitmap to get created modules 2024-03-29 14:41:57 +08:00
Li Shuai
b521fb4efe change(esp_hw_support): rename sleep retention module to created module 2024-03-29 14:36:11 +08:00
laokaiyao
94ea9e398e fix(i2s): rollback the breaking change of callback event data
`i2s_event_data_t::data` is deprecated due to the cumbersome usage of secondary pointer
Please use the newly added first-level pointer `i2s_event_data_t::dma_buf` instead
2024-03-29 14:33:25 +08:00
Shen Meng Jing
fc9484785b Merge branch 'docs/translate_a' into 'master'
docs: Provide translation for security.rst in migration-guides

Closes DOC-7475

See merge request espressif/esp-idf!29773
2024-03-29 12:56:15 +08:00
Aditya Patwardhan
43d934ffb2 Merge branch 'feature/ota_buffer_cap_config' into 'master'
feat(esp_https_ota): Add config to configure memory capability for OTA buffer

Closes IDF-8836

See merge request espressif/esp-idf!27927
2024-03-29 12:51:25 +08:00
Aditya Patwardhan
2ad611ad73 fix(esp_hw_support): Fix key mgr hw support
1) Fix re-deployment scenario for key manager

2) Fix magic for key manager APIs

3) Fix key manager eFuse check

4) Fix key manager test case
2024-03-29 09:34:46 +05:30
Jiang Jiang Jian
d434034513 Merge branch 'bugfix/storage_spelling' into 'master'
fix(storage,esp_pm): spelling fixes by codespell pre-commit hook

See merge request espressif/esp-idf!29898
2024-03-29 11:59:48 +08:00
Shen Mengjing
57877a682e docs: Provide translation for security.rst in migration-guides 2024-03-29 11:59:22 +08:00
Wu Zheng Hui
96d99352ea Merge branch 'feature/esp32p4_sleep_peripheral_retention_support' into 'master'
feat(esp_hw_support): esp32p4 sleep support (Stage 3: support system peripheral sleep retention 🔌)

Closes IDF-7531, IDF-7530, IDF-8976, and FV-748

See merge request espressif/esp-idf!28486
2024-03-29 11:15:49 +08:00
Xiaoyu Liu
1db02e48ef fix(bootloader): fix spelling errors in /components/bootloader/Kconfig.projbuild 2024-03-29 10:59:46 +08:00
morris
8e64a59fac refactor(periph_ctrl): remove orphaned clk_gate_ll.h
and deprecate the legacy periph_module_xxx functions for new targets
2024-03-29 10:53:05 +08:00
morris
f29351b99a refactor(spi): use RCC functions to do DMA reset 2024-03-29 10:53:05 +08:00
morris
b55a0e015a feat(sdio_slave): add reset and clock control functions 2024-03-29 10:41:17 +08:00
morris
b4de983dbc feat(dedic_gpio): add reset and clock control functions 2024-03-29 10:41:17 +08:00
morris
1b8e1df648 feat(uhci): add reset and clock control functions 2024-03-29 10:41:17 +08:00
Michael (XIAO Xufeng)
5d6c56c20d Merge branch 'fix/unused_mmap_include' into 'master'
fix(all): remove unused header includes

See merge request espressif/esp-idf!29816
2024-03-29 10:20:08 +08:00
luoxu
22f3006dd1 fix(ble_mesh): Free segment tx buffers on tx reset for SAR enhancement
Closes: https://github.com/espressif/esp-idf/issues/13384
2024-03-29 10:14:14 +08:00
Roman Leonov
ca201b83ec Merge branch 'refactor/usb_device_examples_prereq_for_hs' into 'master'
USB Device examples: Added HS and FS configuration

Closes IDF-9048

See merge request espressif/esp-idf!29580
2024-03-29 03:26:50 +08:00
Konstantin Kondrashov
02d7120d02 feat(esp_hw_support): Adds MAC support for esp32p4 2024-03-29 01:44:39 +08:00
Ivan Grokhotkov
ac010778b9 Merge branch 'contrib/github_pr_12507' into 'master'
change(console): drop the use of open_memstream() (GitHub PR)

Closes IDFGH-11361

See merge request espressif/esp-idf!29878
2024-03-29 01:09:05 +08:00
Konstantin Kondrashov
e0e8050877 fix(log): Fix wrap-around of cache generation counter
Closes https://github.com/espressif/esp-idf/issues/6516
2024-03-28 18:56:19 +02:00
wuzhenghui
a8bcf67cb5 ci: enable esp_pm pytest for esp32p4 2024-03-29 00:38:57 +08:00
wuzhenghui
4a64d2fe2c change(hal): control PAU bus clock by hal layer 2024-03-29 00:36:46 +08:00
Roman Leonov
d734f150ee docs(usb_device): Added HighSpeed description for tinyusb config structure 2024-03-28 16:40:55 +01:00
Roman Leonov
a3191451bc refactor(usb_device): Fixed examples with esp_tinyusb v1.4.4 2024-03-28 16:40:49 +01:00
liuning
bd98ade2a8 fix(wifi): fix coex ld issue 2024-03-28 21:28:10 +08:00
Alon Bar-Lev
93706028de change(console): drop the use of open_memstream()
the argtable3 provides string based output return, there is no need to go via
stdio structures.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
Closes https://github.com/espressif/esp-idf/pull/12507
2024-03-28 14:09:01 +01:00
Ivan Grokhotkov
d7436d1365 change(codeowners): add a codeowners entry for .codespellrc 2024-03-28 13:00:55 +01:00
Ivan Grokhotkov
15e63f4222 fix(esp_pm): applied spelling fixes by codespell 2024-03-28 13:00:55 +01:00
Ivan Grokhotkov
10cc15b150 fix(storage): applied spelling fixes by codespell pre-commit hook 2024-03-28 13:00:54 +01:00
wuzhenghui
38fe4e136a feat(esp_hw_support): support esp32p4 sleep peripheral retention 2024-03-28 19:18:25 +08:00
wuzhenghui
f1beed90ff feat(esp_hw_support): support esp32p4 sleep clock retention 2024-03-28 19:18:24 +08:00
wuzhenghui
194c38479e refactor(esp_hw_support): split pd_top clock retention initialization by target 2024-03-28 19:18:24 +08:00
wuzhenghui
5d24a818eb feat(esp_hw_support): add esp32p4 pau initial support 2024-03-28 19:18:24 +08:00
wuzhenghui
acd263d006 fix(esp_hw_support): fix pmu analog parameter configuration missing 2024-03-28 19:18:20 +08:00
Radim Karniš
cb4b433ddc docs(idf_py): Describe the option to configure esptool.py with --extra-args
Closes https://github.com/espressif/esp-idf/issues/6337
2024-03-28 12:09:50 +01:00
Aditya Patwardhan
34f0a0d6e5 Merge branch 'fix/fix_bootloader_support_public_api_not_defined' into 'master'
fix(bootloader_support): Fix public APIs not being defined

See merge request espressif/esp-idf!29552
2024-03-28 18:23:49 +08:00
wuzhenghui
4bcb88c482 change(rtc): rename sleep mode related regs defination 2024-03-28 17:49:14 +08:00
Martin Vychodil
abf2d13f74 Merge branch 'feat/vfs_fd_dump' into 'master'
feat(vfs): Add function to dump VFS file descriptors

See merge request espressif/esp-idf!29148
2024-03-28 17:46:50 +08:00
Aditya Patwardhan
9be1c9f03e fix(bootloader_support): Fix API not defined for application 2024-03-28 15:05:10 +05:30
Marius Vikhammer
ae6a41298d Merge branch 'docs/run_spellcheck_on_docs' into 'master'
docs(misc): fixed typos found with codespell

See merge request espressif/esp-idf!29893
2024-03-28 17:00:25 +08:00
Marius Vikhammer
cbc632bd04 fix(lp_core): fix kconfig not allowing using all of LP mem for P4 lp core 2024-03-28 16:39:16 +08:00
Aditya Patwardhan
4d764caba1 Merge branch 'feature/ssl_ds_example_p4_support' into 'master'
feat(examples): add support for ESP32-P4 in ssl_ds example

Closes IDF-7977

See merge request espressif/esp-idf!29858
2024-03-28 13:54:03 +08:00
Harshit Malpani
8f8528a10c feat(esp_https_ota): Add config to configure memory capability for OTA buffer
Add `Tuning OTA Performance` section in OTA documentation
2024-03-28 11:11:07 +05:30
Jiang Jiang Jian
277bec6d04 Merge branch 'bugfix/fix_group_address_qos_frames_issue' into 'master'
fix(wifi): fix multicast address qos frames issue

Closes ESPCS-940 and WIFI-6500

See merge request espressif/esp-idf!29694
2024-03-28 12:55:02 +08:00
Jiang Jiang Jian
969a43cf6d Merge branch 'bugfix/fix_bt_cmakefile_error_on_c2' into 'master'
fix(bt): fixed cmakelist error on c2

Closes IDFGH-12430

See merge request espressif/esp-idf!29880
2024-03-28 12:00:53 +08:00
Jiang Jiang Jian
999bfcac6f Merge branch 'fix/wifi_without_remote' into 'master'
fix(wifi): Remove optional dependency on esp_wifi_remote if !ESP_WIFI_ENABLED

See merge request espressif/esp-idf!29891
2024-03-28 11:59:53 +08:00
Marius Vikhammer
f1e65b8373 docs(misc): fixed typos found with codespell 2024-03-28 11:50:58 +08:00
Kevin (Lao Kaiyao)
2a121e92e8 Merge branch 'feature/i2s_support_asynch_read_write_via_callback' into 'master'
feat(i2s): support asynchronous read write via callback

See merge request espressif/esp-idf!29870
2024-03-28 11:50:13 +08:00
Wan Lei
e84c7f00a5 Merge branch 'feat/c6lite_c61_ci_header_tmp_app' into 'master'
feat(esp32c61): ci enable header check (stage 7/8)

See merge request espressif/esp-idf!29775
2024-03-28 11:45:20 +08:00
Omar Chebib
1683e9a92c Merge branch 'fix/unused_interrupts' into 'master'
fix(esp_hw_ ‎support): clear reserved interrupts that are unused or not applicable anymore

Closes IDF-7821 and IDF-9428

See merge request espressif/esp-idf!29639
2024-03-28 11:27:20 +08:00
Marius Vikhammer
1c73c657c9 Merge branch 'ci/console_test_coverage' into 'master'
ci(console): improve esp-system console test-coverage

Closes IDFCI-1856, IDF-9576, and IDF-9577

See merge request espressif/esp-idf!29748
2024-03-28 11:14:57 +08:00
morris
3ca37f9a77 Merge branch 'feat/typos_pre_commit' into 'master'
RFC: add spell checker in pre-commit

See merge request espressif/esp-idf!29819
2024-03-28 10:37:03 +08:00
morris
c0289ee6eb fix(drivers): fix typos found by codespell
codespell components/esp_driver*
2024-03-28 10:01:27 +08:00
morris
2ee266c0d6 feat(pre-commit): add codespell to detect and fix typos 2024-03-28 10:00:02 +08:00
Armando (Dou Yiwen)
8d6e8f6051 Merge branch 'doc/csi_programming_guide_change' into 'master'
doc(camera): camera_driver.rst change

See merge request espressif/esp-idf!29864
2024-03-28 09:21:22 +08:00
Wang Meng Yang
10d4843b02 Merge branch 'feat/add_vsc_to_set_min_enc_key_sz' into 'master'
feat(bt/bluedroid): added a VSC to set minimal encryption key size

Closes BT-3590 and BTQABR2023-211

See merge request espressif/esp-idf!28263
2024-03-28 08:27:35 +08:00
David Cermak
132135519d fix(wifi): Remove optional dependency on esp_wifi_remote if !ESP_WIFI_ENABLED
The dependency could be introduced from dependent component if needed.
The else() part of the condition wasn't correct, as it didn't check for
esp_wifi_remote from component manager, which is prefixed by Espressif
namespace, so the correct statement would be:
if(espressif__esp_wifi_remote IN_LIST build_components)
2024-03-27 16:50:38 +01:00
Harshal Patil
4ef1bf8031 Merge branch 'fix/esp32c5_sha_api_definitions' into 'master'
fix(hal/sha): Add RCC enable and reset API definitions for ESP32-C5 SHA

Closes IDFCI-2111

See merge request espressif/esp-idf!29883
2024-03-27 21:46:22 +08:00
harshal.patil
e454fa4026 fix(hal/sha): Add RCC enable and reset API definitions for ESP32-C5 SHA 2024-03-27 18:09:33 +05:30
Harshal Patil
5274bf88e4 Merge branch 'esp32p4/add_sha_support' into 'master'
feat: add SHA support for ESP32-P4

Closes IDF-7541 and IDF-7882

See merge request espressif/esp-idf!24865
2024-03-27 20:08:28 +08:00
wanlei
535afdd7f4 feat(esp32c61): ci enable header check, fix c61 build 2024-03-27 19:39:59 +08:00
linruihao
4a61fda5fb fix(bt): fixed cmakelist error on c2
Closes https://github.com/espressif/esp-idf/issues/13451
2024-03-27 19:38:45 +08:00
xiongweichao
eabd31e849 fix(bt/bluedorid): Fixed crash caused by using illegal pointer 2024-03-27 19:05:39 +08:00
xiongweichao
1c30191ac4 fix(bt/bluedorid): Fixed no event when removing an invalid SDP record 2024-03-27 19:05:39 +08:00
C.S.M
bd7f870c21 Merge branch 'bugfix/usj_stask_size' into 'master'
fix(usb_serial_jtag): Increase stack size on serial_jtag example

Closes IDFGH-12190

See merge request espressif/esp-idf!29866
2024-03-27 18:49:55 +08:00
C.S.M
333e8aa19e Merge branch 'feature/support_i2c_timeout' into 'master'
feature(i2c_master): Add a parameter for config the scl await value

See merge request espressif/esp-idf!29787
2024-03-27 18:14:58 +08:00
Fu Hanxi
9f93ee1fba Merge branch 'ci/move_check_public_headers_to_host_test' into 'master'
ci: move check_public_headers from pre_check stage to host_test

See merge request espressif/esp-idf!29848
2024-03-27 17:59:08 +08:00
Wu Zheng Hui
520ed675d7 Merge branch 'feature/support_esp32p4_deepsleep' into 'master'
feature(esp_hw_support): support esp32p4 deepsleep example and tests

Closes IDF-7529

See merge request espressif/esp-idf!29789
2024-03-27 17:43:05 +08:00
Mahavir Jain
f5fc636790 Merge branch 'feature/enable_aes_sha_support_for_c5' into 'master'
feat: enabled aes and sha support for esp32c5

Closes IDF-8627 and IDF-8624

See merge request espressif/esp-idf!29052
2024-03-27 17:30:45 +08:00
Armando
38d6e84ec2 doc(camera): camera_driver.rst change 2024-03-27 16:41:20 +08:00
Omar Chebib
a79c6f7f67 fix(esp_hw_support): clear reserved interrupts that are not applicable for each target 2024-03-27 16:21:25 +08:00
wuzhenghui
7408732688 fix(freertos): Updated threshold for scheduling time test for esp32p4
This commit increases the pass threshold for the scheduling time test on
esp32p4.
2024-03-27 16:19:19 +08:00
laokaiyao
fd27cef045 feat(i2s): support asynchronous read write via callback
Split the TX DMA buffer `auto_clear` into `auto_clear_after_cb` and `auto_clear_before_cb`,
so that allow user to update the DMA buffer directly in the `on_sent` callback
2024-03-27 16:04:13 +08:00
Marc CAPDEVILLE
fcd1f1c808 change(esp_driver_i2s) : Some hack on I2S callback
mod for event data to contain the pointer to the dma buffer.
mod for clearing data on send buffer before calling tx callback
2024-03-27 16:04:03 +08:00
Cao Sen Miao
569c75258f fix(usb_serial_jtag): Increase stack size on serial_jtag example,
Closes https://github.com/espressif/esp-idf/issues/13245
2024-03-27 15:47:25 +08:00
Lou Tian Hao
5fa57d12b2 Merge branch 'feature/esp32c5beta3_light_sleep_support_stage_0' into 'master'
feat(esp_hw_support): esp32c5 sleep support (Stage 1: support modem clock)

Closes IDF-8845

See merge request espressif/esp-idf!29839
2024-03-27 14:33:04 +08:00
Armando (Dou Yiwen)
bfd3586f03 Merge branch 'doc/csi_programming_guide' into 'master'
doc(camera): added camera controller driver programming guide

Closes IDF-9563

See merge request espressif/esp-idf!29802
2024-03-27 14:04:36 +08:00
wuzhenghui
621effce5b fix(esp_system): workaround for CI pass
1. workaround esp32p4 rev0 wrong deepsleep wakeup cause

2. workaround esp32p4 lightsleep stuck issue with PSRAM enabled
2024-03-27 13:59:37 +08:00
wuzhenghui
65d4e79f80 feat(esp_hw_support): support esp32p4 ext1 wakeup 2024-03-27 13:59:37 +08:00
wuzhenghui
ccaae61fee feat(esp_hw_support): support esp32p4 deepsleep 2024-03-27 13:59:36 +08:00
wuzhenghui
299199c5a5 feat(soc): add ESP_ROM_SUPPORT_DEEP_SLEEP_WAKEUP_STUB rom caps 2024-03-27 13:59:36 +08:00
harshal.patil
22857529dd ci(hal/crypto): Update crypto test app to use SHA-DMA process API from mbedtls 2024-03-27 11:23:30 +05:30
harshal.patil
9cd10e196b feat(hal/sha): use RCC atomic block to enable/reset the SHA peripheral 2024-03-27 11:23:30 +05:30
harshal.patil
211a2a5477 feat(mbedtls/sha): Support SHA-DMA operations by satisfying L1 cache alignment requirements
- Use block mode as default SHA operation mode instead of DMA
2024-03-27 11:23:29 +05:30
harshal.patil
d737625215 feat(mbedtls/sha): Support in AXI-DMA SHA driver layer 2024-03-27 11:23:29 +05:30
harshal.patil
853bff88c5 change(mbedtls/sha): replace Cache ROM APIs usage with APIs from esp_cache.h 2024-03-27 11:23:29 +05:30
harshal.patil
507b5fd2b6 fix(soc/sha_struct): fix register name continue to conti
- As contnue being a reserved keyword in C, the register name
continue is not valid
2024-03-27 11:23:28 +05:30
harshal.patil
e6782156c4 feat(hal/sha): add SHA peripheral support for esp32p4 2024-03-27 11:23:28 +05:30
Mahavir Jain
421a1ee931 feat(examples): add support for ESP32-P4 in ssl_ds example 2024-03-27 10:56:13 +05:30
zhangyanjiao
ff2862b747 docs(wifi): update the docmentation for sniffer API
Closes https://github.com/espressif/esp-idf/issues/10740
2024-03-27 12:15:09 +08:00
Lou Tianhao
85e803ded4 docs(pm): add description for newly added filed in modem_syscon 2024-03-27 11:40:32 +08:00
Mahavir Jain
c658351eab Merge branch 'esp32p4/add_aes_gcm_support' into 'master'
feat: add AES-GCM support for ESP32-P4

See merge request espressif/esp-idf!29516
2024-03-27 11:40:26 +08:00
Armando
8cef97beac change(csi): changed the clk_freq_hz to lane_bit_rate_mbps 2024-03-27 10:40:59 +08:00
Armando
699f3e1245 fix(jpeg): fixed lack of the jpeg_types.h include in Doxyfile_esp32p4 file 2024-03-27 10:40:59 +08:00
Armando
bdceef252b doc(camera): added camera controller driver programming guide 2024-03-27 10:40:58 +08:00
Armando (Dou Yiwen)
f85ddd17ce Merge branch 'feature/prefer_cache_alloc' into 'master'
cache: added prefer cache alloc

Closes IDF-9562

See merge request espressif/esp-idf!29797
2024-03-27 10:36:12 +08:00
Cao Sen Miao
ede1df51b0 feat(i2c_master): Add parameter to config I2C scl await time 2024-03-27 10:35:11 +08:00
Island
4505ddc8a9 Merge branch 'bugfix/fix_ble_power_save_ci' into 'master'
fix(ble): fix conn error of ble power save ci test

Closes BLERP-642

See merge request espressif/esp-idf!29712
2024-03-27 10:30:40 +08:00
Jiang Jiang Jian
6b1451050d Merge branch 'fix/heap-calloc-fail-wrong-size' into 'master'
fix(heap): Wrong size propagated in alloc fail callback of heap_caps_calloc()

See merge request espressif/esp-idf!29841
2024-03-27 10:15:50 +08:00
morris
de3ff6bff1 Merge branch 'fix/usb_host_msync' into 'master'
fix(usb/host): Do not allow unaligned cache access for M2C direction

See merge request espressif/esp-idf!29855
2024-03-27 10:14:12 +08:00
muhaidong
fedfac470a fix(wifi): fix multicast address qos frames issue 2024-03-27 10:13:14 +08:00
Ivan Grokhotkov
64757e9fea fix(check_callgraph): rework --ignore-refs to be more generic 2024-03-26 17:05:39 +01:00
Tomas Rezucha
e9daf4912b fix(usb/host): Do not allow unaligned cache access for M2C direction 2024-03-26 16:41:12 +01:00
Ivan Grokhotkov
ce2ce972b8 ci(system): re-enable bootloader_sections test for ESP32-C2 2024-03-26 16:04:09 +01:00
Konstantin Kondrashov
73041ea10a Merge branch 'bugfix/esp_timer_test_fail' into 'master'
fix(esp_timer): Force test to go light sleep ignoring ESP_ERR_SLEEP_REJECT

Closes IDFCI-2091, IDFCI-2092, and IDFCI-2093

See merge request espressif/esp-idf!29814
2024-03-26 22:22:48 +08:00
Bogdan Kolendovskyy
c6002f7dfd Merge branch 'feature/iperf_for_all_phys' into 'master'
add(examples/ethernet/iperf): capability to run iperf test on all supported phys

See merge request espressif/esp-idf!29348
2024-03-26 21:15:50 +08:00
Jiang Jiang Jian
22537f1d6b Merge branch 'bugfix/variable_length_rsnxe' into 'master'
Expands maximum size of RSNXE IE to 255

Closes WIFI-6435

See merge request espressif/esp-idf!28643
2024-03-26 20:35:14 +08:00
Fu Hanxi
b5318eee59 ci: move check_public_headers from pre_check stage to host_test
this job is the bottleneck of the pre_check stage
2024-03-26 13:18:41 +01:00
Lou Tianhao
4535dfdd49 change(pm): esp32c5 hardware does not have clk_fe_cal_160m_en 2024-03-26 19:59:05 +08:00
Lou Tianhao
bd4147b5ef fix(ci): add sdkconfig head and change some macro 2024-03-26 19:59:00 +08:00
Lou Tianhao
f5487c72ab change(pm): move the modem_clock-related code outside SOC_PM_SUPPORT_PMU_MODEM_STATE 2024-03-26 19:55:06 +08:00
wuzhenghui
29076a43f6 bringup esp32c5beta3 modem clock 2024-03-26 19:54:32 +08:00
Jiang Jiang Jian
38733a752d Merge branch 'feat/move_iperf_component' into 'master'
feat: move iperf to component registry

Closes RDT-618

See merge request espressif/esp-idf!29537
2024-03-26 19:53:40 +08:00
Fu Hanxi
7fc82f7d74 Merge branch 'ci/increase_ccache_size' into 'master'
ci: increase ccache size limit and decrease test case amount per job

Closes IDFCI-2102

See merge request espressif/esp-idf!29847
2024-03-26 19:51:46 +08:00
Konstantin Kondrashov
b463748bfb fix(esp_timer): Force to go light sleep ignoring ESP_ERR_SLEEP_REJECT 2024-03-26 13:49:24 +02:00
Bogdan Kolendovskyy
934f741361 test(examples/ethernet/iperf): Add default configurations for all supported PHYs
Created default configurations to run iperf test on all supported phys and adpated test code appropriately
2024-03-26 11:37:30 +01:00
Armando
be5af1c737 test(cache): added test for cache_prefer_m/calloc 2024-03-26 18:03:15 +08:00
Armando
de70ed1c84 feat(cache): added cache_prefer_m/calloc 2024-03-26 18:03:15 +08:00
Fu Hanxi
85f63f7ad2 ci: decrease test case amount per job
for now some jobs are reaching 1 hour timeout
2024-03-26 10:59:16 +01:00
Fu Hanxi
201d7d19ba ci: increase ccache size from 20GB to 50GB 2024-03-26 10:58:49 +01:00
Sudeep Mohanty
2cbdd2fee8 Merge branch 'feature/lp_core_lp_i2c_support' into 'master'
feat(lp_core): Added LP I2C support for esp32p4

Closes IDF-7540

See merge request espressif/esp-idf!29821
2024-03-26 17:37:29 +08:00
jgujarathi
7ef11a1409 fix(rsnxe): Expands maximum size of RSNXE IE to 255
- Allows for RSNXE IE to be processed as a variable length upto
255 bytes, changing the earlier max of 20.
2024-03-26 15:06:36 +05:30
Fu Hanxi
351453c551 Merge branch 'ci/git_describe_exclude_qa_tags' into 'master'
ci: check idf version excluding qa tags

Closes IDFCI-2097

See merge request espressif/esp-idf!29781
2024-03-26 17:30:45 +08:00
nilesh.kale
18d2c57542 feat: enabled aes and sha support for esp32c5
This commit enabled AES and SHA support for esp32c5.
2024-03-26 14:52:06 +05:30
zhangyanjiao
819244b521 docs(wifi): change the magic varible from int to uint32_t on the receiving side
Closes https://github.com/espressif/esp-idf/issues/10912
2024-03-26 16:45:04 +08:00
Abhinav Kudnar
6e4eeec97c Merge branch 'nimble-1.6.0-idf' into 'master'
fix(nimble): Migrate to nimble-1.6.0

Closes BLERP-558

See merge request espressif/esp-idf!29075
2024-03-26 16:42:41 +08:00
Sudeep Mohanty
5228dc348b feat(lp_i2c): Added LP I2C support on the esp32p4
This commit adds support for the LP I2C peripheral to be used from the
LP core on the esp32p4.
2024-03-26 08:31:54 +01:00
Sudeep Mohanty
2b5517ed47 change(lp_i2c): Added LP I2C low-level control functions for esp32p4
This MR adds ll functions for clock and reset settings for the LP I2C
peripheral for the esp32p4.
2024-03-26 08:31:54 +01:00
Sudeep Mohanty
cd49273d7a change(clk_tree): Added clock tree definitions for LP I2C for esp32p4
This commit adds the clock tree definitions for the LP I2C peripheral
for the esp32p4.
2024-03-26 08:31:54 +01:00
baohongde
4207909f5c feat(ble/controller): Add coexist schm for BLE 2024-03-26 14:44:46 +08:00
Marius Vikhammer
9e62e32a5b fix(system_console): fixed unity output not working with usb jtag serial 2024-03-26 14:25:36 +08:00
harshal.patil
c4f052cee4 feat(mbedtls/aes): Satisfy L1 cache alignment for AES-GCM DMA operations 2024-03-26 11:38:33 +05:30
harshal.patil
07f7b06d8d change(mbedtls/aes): Move aad desc population into the internal AES-GCM DMA process API 2024-03-26 11:31:11 +05:30
harshal.patil
80b33ed3e7 fix(soc/sha_struct): fix register name continue to conti
- As continue being a reserved keyword in C, the register name continue is not valid
2024-03-26 11:31:11 +05:30
harshal.patil
0eb52a8fbf feat(hal/aes): Add LL layer support for ESP32-P4 AES-GCM 2024-03-26 11:31:11 +05:30
Guillaume Souchere
497c840172 fix(heap): Wrong size propagated in alloc fail callback
Propagate `n * size` as the size of the failed allocation
instead of just `size` when heap_caps_calloc() fails since
`n * size` is the actual number of bytes that the heap
component tried to allocate.
2024-03-26 06:48:33 +01:00
Marius Vikhammer
42fc463c81 fix(console): fixed CONSOLE_NONE not working on C2/C3 2024-03-26 13:39:10 +08:00
Abhinav Kudnar
1bc6570b1f fix(nimble): Migrate to nimble 1.6 2024-03-26 10:50:24 +05:30
Marius Vikhammer
aa6a7bec76 ci(console): improve esp-system console test-coverage 2024-03-26 12:22:35 +08:00
morris
3bb51ae975 refactor(ldo): remove legacy private ldo driver
as esp-idf has introduced a new public one: esp_ldo_regulator.h

Note, this is not a breaking change as the legacy driver doesn't exist
on any release branch.
2024-03-26 11:36:54 +08:00
morris
52137a2b55 Merge branch 'feat/esp_ldo_regulator_public_api' into 'master'
Introduce esp ldo regulator public API

See merge request espressif/esp-idf!29691
2024-03-26 11:24:06 +08:00
Wu Zheng Hui
a6400e2aed Merge branch 'fix/freertos_spinlock_perf_test' into 'master'
change(freertos): Updated spinlock performance test threshold

See merge request espressif/esp-idf!29827
2024-03-26 11:03:08 +08:00
Armando (Dou Yiwen)
fec8e10f4c Merge branch 'bugfix/correct_csi_fsm_check' into 'master'
csi: fix wrong fsm state check in s_ctlr_csi_stop

See merge request espressif/esp-idf!29829
2024-03-26 10:28:57 +08:00
Armando
00fe6479e4 bugfix(csi): fix wrong fsm state check in s_ctlr_csi_stop 2024-03-26 08:22:45 +08:00
morris
5369b68bc8 change(flash): acquire the LDO channel used by flash
so that even if the same channel has other consumers, the voltage won't
be changed
2024-03-25 22:04:01 +08:00
morris
cf59c00564 change(mpll): clean up mpll clock acquire with ldo driver 2024-03-25 22:03:49 +08:00
Ivan Grokhotkov
60fdf8dd74 docs(readme): remove v4.3 support info 2024-03-25 14:39:40 +01:00
Ivan Grokhotkov
c0ff293bf8 feat(idf.py): add ESP32-P4 ROM info 2024-03-25 14:39:36 +01:00
Sudeep Mohanty
afee830278 change(freertos): Updated spinlock performance test threshold
This commit relaxes the passing threshold for spinlock performance tests
for the esp32p4.
2024-03-25 14:25:35 +01:00
Ivan Grokhotkov
d9fb9a5500 feat(tools): add ESP32-P4 to the supported targets list 2024-03-25 14:24:55 +01:00
morris
4c2569e2fc change(sdmmc): update ldo acquire driver to new API 2024-03-25 21:19:12 +08:00
morris
56b40a028d change(mipi): use public ldo driver for powering dphy 2024-03-25 21:19:12 +08:00
morris
7de228d0a3 docs(ldo): add api reference for ldo regulator driver 2024-03-25 21:19:12 +08:00
morris
061e5dc695 feat(ldo): add ldo regulator driver for public use 2024-03-25 21:19:12 +08:00
Sudeep Mohanty
950740dc62 Merge branch 'fix/freertos_scheduling_time_test' into 'master'
fix(freertos): Updated threshold for scheduling time test for esp32p4

Closes IDF-8981 and IDF-8090

See merge request espressif/esp-idf!29812
2024-03-25 19:22:33 +08:00
Sudeep Mohanty
c6efc57e6e fix(freertos): Re-enabled FreeRTOS unit tests for esp32p4
This commit reenables the FreeRTOS unit tests to be run during CI
pipelines for esp32p4.
2024-03-25 09:03:09 +01:00
Sudeep Mohanty
68dbbf339d fix(freertos): Updated unstable FreeRTOS unit tests
This commit fixes some flaky FreeRTOS unit tests.
2024-03-25 09:03:09 +01:00
Sudeep Mohanty
33dec4175a fix(freertos): Updated threshold for scheduling time test for esp32p4
This commit increases the pass threshold for the scheduling time test on
esp32p4.
2024-03-25 09:03:09 +01:00
Zhang Wen Xu
8edaa94e89 Merge branch 'feature/config_csmabackoff_in_spinel' into 'master'
feat(openthread): add max csmabackoffs for transmission

Closes TZ-627

See merge request espressif/esp-idf!29767
2024-03-25 14:41:26 +08:00
Armando (Dou Yiwen)
0899751e09 Merge branch 'feature/sdmmc_power_ctrl' into 'master'
sdmmc: power ctrl driver

Closes IDF-6751

See merge request espressif/esp-idf!28270
2024-03-25 14:31:59 +08:00
Xiao Xufeng
313c4f2cdc fix(all): remove unused header includes 2024-03-25 13:58:40 +08:00
Song Ruo Jing
49a3bba4b2 Merge branch 'bugfix/gpio_drive_cap' into 'master'
fix(gpio): add workaround to ensure correct IO drive strength for C3 and S3

Closes FV-752

See merge request espressif/esp-idf!29808
2024-03-25 12:23:04 +08:00
Song Ruo Jing
6f9a866f9d Merge branch 'bugfix/uart_bitrate_max_value_c2' into 'master'
fix(uart): correct C2 UART_BITRATE_MAX value

See merge request espressif/esp-idf!29795
2024-03-25 11:56:49 +08:00
Armando
ec44556a07 feat(sd): added power control driver and implementation layer with ldo 2024-03-25 11:32:56 +08:00
Jin Cheng
82542d2e96 feat(bt/bluedroid): added a VSC to set minimal encryption key size 2024-03-25 10:50:06 +08:00
Armando (Dou Yiwen)
f886bbc848 Merge branch 'bugfix/add_unaligned_check_to_mysnc_api' into 'master'
cache: add unaligned check to mysnc api

Closes IDF-9520

See merge request espressif/esp-idf!29674
2024-03-25 10:17:55 +08:00
Marius Vikhammer
5154be52ac Merge branch 'bugfix/yield_issue_c5' into 'master'
fix(interrupt): fixed exit critical section on P4/C5

See merge request espressif/esp-idf!29798
2024-03-24 14:30:15 +08:00
Marius Vikhammer
be839733ed fix(interrupt): fixed exit critical section on P4/C5
When adjusting the interrupt level treshold on P4/C6 during a critical section exit
it would take a few cycles before this is taken into account by the CPU.

This meant that under some circumstances, e.g. 02, we could do
yield()->vPortExitCritical()->vPortEnterCritical()
without getting rescheduled.
This causes issues for freertos as it assumes the task will not continue into the
vPortEnterCritical before the scheduler has schedulded it again.

This meant that e.g. xTaskNotifyWait would yield, but then immeditaly continue as if
it was already notified.
2024-03-24 13:13:42 +08:00
Fu Hanxi
821d3e2cee Merge branch 'ci/test_improve_ccache_hits' into 'master'
ci: improve ccache hits

See merge request espressif/esp-idf!29406
2024-03-24 02:00:41 +08:00
morris
79897ccd10 Merge branch 'feature/fast_gpio_esp32p4' into 'master'
feat(fast_gpio): support fast GPIO and glitch filter on esp32p4

Closes IDF-7552, IDF-8974, IDF-7721, and IDF-7481

See merge request espressif/esp-idf!28642
2024-03-23 22:25:58 +08:00
Konstantin Kondrashov
3df89ebee7 Merge branch 'feature/ipc_noblocking_call' into 'master'
feat(ipc): Adds a new no blocking IPC call

Closes IDF-7972 and IDFGH-11879

See merge request espressif/esp-idf!28157
2024-03-23 04:46:57 +08:00
KonstantinKondrashov
8dc21afcfe fix(spi_flash): Fix stuck during flash operation
When a task was not pinned to a certain CPU.
2024-03-22 19:49:42 +02:00
KonstantinKondrashov
a3bfb3f857 feat(ipc): Adds a new no blocking IPC call 2024-03-22 19:49:42 +02:00
Rahul Tank
004b037743 Merge branch 'bugfix/add_peer_addr_field_for_ext' into 'master'
fix(nimble): Correctly handle auto connection flag for extended connect

Closes BLERP-633

See merge request espressif/esp-idf!29726
2024-03-22 19:51:00 +08:00
Mo Fei Fei
6f5c960684 Merge branch 'docs/update_cn_trans_spiffs' into 'master'
docs: update cn trans for spiffs.rst

Closes DOC-7305

See merge request espressif/esp-idf!29758
2024-03-22 18:55:45 +08:00
Darian Leung
64f5d7d983 refactor(usb/host): Simplify USBH and Hub interaction
Previously, on a device disconnection, the USBH and Hub would the require the
following 2-way interaction:

- Hub -> usbh_hub_pass_event() -> USBH to indicate a port error
- USBH -> usbh_hub_req_cb_t -> Hub to request port recovery after the device
has been freed.

The 2-way interaction has been simplified:

- USBH now nofities upper layers of devices being freed via the
USBH_EVENT_DEV_FREE event
- Hub now handles port recovery only after a device has been freed
2024-03-22 18:14:50 +08:00
Song Ruo Jing
90a3107bfd fix(gpio): add workaround to ensure correct IO drive strength for C3 and S3 2024-03-22 18:06:29 +08:00
Konstantin Kondrashov
8d6562d1f1 Merge branch 'feature/c5_c61_efuse_update' into 'master'
feat(efuse): Update efuses for C5 and C61

Closes IDF-8629 and IDF-8674

See merge request espressif/esp-idf!29627
2024-03-22 18:02:37 +08:00
Ondrej Kosta
f7984936e3 Merge branch 'bugfix/eth_l2_test_conn_wait_tmo' into 'master'
ci(esp_eth): increased L2 test wait for connection timeout

See merge request espressif/esp-idf!29576
2024-03-22 17:49:53 +08:00
harshal.patil
0b16999093 fix(mbedtls/aes): Remove ESP_CACHE_MSYNC_FLAG_UNALIGNED flag for the cache M2C operation 2024-03-22 14:45:34 +05:30
morris
529b6bf97c fix(ana_cmpr): fix wrong set up in the etm test case 2024-03-22 17:13:19 +08:00
morris
ddece8f7e9 feat(glitch_filter): support GPIO glitch filter on esp32p4 2024-03-22 17:13:19 +08:00
morris
f71044c877 feat(fast_gpio): support CPU controlled fast GPIO driver on esp32p4 2024-03-22 17:13:19 +08:00
Song Ruo Jing
3da77e2d1b fix(uart): correct C2 UART_BITRATE_MAX value 2024-03-22 16:24:24 +08:00
mofeifei
0a274639a8 docs: update cn trans for spiffs.rst 2024-03-22 16:13:45 +08:00
Guillaume Souchere
573bd1bcc9 Merge branch 'feat/add-heap-walker-api' into 'master'
feat(heap): Add walker to the heap component

Closes IDF-9189

See merge request espressif/esp-idf!29047
2024-03-22 15:58:34 +08:00
Roman Leonov
de2486bff0 Merge branch 'refactor/usb_host_hub_driver_state' into 'master'
refactor(usb_host): Renamed hub driver_state to root_port_state

See merge request espressif/esp-idf!29788
2024-03-22 15:43:16 +08:00
Armando
905b427479 test(cache): added test for M2C with ESP_CACHE_MSYNC_FLAG_UNALIGNED 2024-03-22 15:38:50 +08:00
Armando
9e36994a7b bugfix(cache): don't allow M2C direction ESP_CACHE_MSYNC_FLAG_UNALIGNED 2024-03-22 15:38:50 +08:00
Kevin (Lao Kaiyao)
d7d4229b7b Merge branch 'bugfix/fix_public_header_check_of_mpi_on_c5mp' into 'master'
fix(mpi): fix the public header check for esp32c5 mp

See merge request espressif/esp-idf!29796
2024-03-22 15:08:46 +08:00
morris
5126526ffc Merge branch 'bugfix/mipi_dsi_write_back_size_check' into 'master'
docs: Add MIPI DSI API reference

Closes IDF-7714

See merge request espressif/esp-idf!29768
2024-03-22 14:17:45 +08:00
laokaiyao
31b01005f8 fix(mpi): fix the public header check for esp32c5 mp 2024-03-22 14:15:41 +08:00
Jakob Hasse
112e7f1085 Merge branch 'refactor/console_sorted_help' into 'master'
refactor(console): made help command sorting depend on Kconfig option

Closes IDF-9406

See merge request espressif/esp-idf!29593
2024-03-22 14:01:35 +08:00
Jiang Jiang Jian
52380e3052 Merge branch 'bugfix/wps_reg_regression' into 'master'
fix(esp_wifi): Fixed regression caused by fe35466c when wpa_supplicant debug logs enabled (!28521)

See merge request espressif/esp-idf!29753
2024-03-22 13:53:18 +08:00
Kevin (Lao Kaiyao)
4cd30f9b8f Merge branch 'feature/esp32c5_mp_bringup' into 'master'
feat(esp32c5): bringup esp32c5 mp (Stage 7/7: hello world)

See merge request espressif/esp-idf!29093
2024-03-22 11:18:52 +08:00
Chen Yudong
c48eb1055b feat: move iperf to component registry 2024-03-22 10:53:24 +08:00
Mahavir Jain
cdc1a2551b Merge branch 'feature/enable_rsa_support_for_c5' into 'master'
feat: enable RSA support for c5

See merge request espressif/esp-idf!29189
2024-03-22 10:10:47 +08:00
Konstantin Kondrashov
25bc10e143 feat(efuse): Update efuses for C5 and C61 2024-03-21 18:37:46 +02:00
Jiang Jiang Jian
be06a6f5ff Merge branch 'bugfix/fix_softap_coex_start_issue' into 'master'
fix(wifi): fix softap coex start issue, no wifi request if wifi is not used at idle

See merge request espressif/esp-idf!29772
2024-03-21 21:22:54 +08:00
Alexey Lapshin
0e3673a2bd Merge branch 'feature/esp32p4-coredump-support' into 'master'
esp32p4: panic tests support

Closes IDF-7565, IDF-7861, IDF-9035, and IDF-9075

See merge request espressif/esp-idf!28586
2024-03-21 21:12:25 +08:00
Jiang Jiang Jian
9971413b60 Merge branch 'feature/eap_tls_v1.3_support' into 'master'
wpa_supplicant: Add TLS v1.3 support in WiFi Enterprise Authentication

Closes WIFI-6135

See merge request espressif/esp-idf!24975
2024-03-21 21:10:38 +08:00
Roman Leonov
b90c7e585a refactor(usb_host): Renamed hub_driver_state to root_port_state 2024-03-21 13:16:28 +01:00
Alexey Lapshin
e845d9e0eb feat(esp_system): allow .data to spill over into L2MEM above 0x4ff40000
It may be usefull when .rodata placed into .dram1.data
2024-03-21 15:36:39 +04:00
Alexey Lapshin
cb82161dae feat(system): esp32p4: support panic tests 2024-03-21 15:36:36 +04:00
liuning
81b86f657c fix(wifi): fix softap coex start issue, no wifi request if wifi is not used at idle 2024-03-21 19:35:27 +08:00
Wan Lei
cfcdacaaac Merge branch 'feature/spi_dma_segmented_configure_transfer' into 'master'
feat(spi_master): new feature dma controlled segmented configure transfer(sct) mode (part_1)

Closes IDF-4998

See merge request espressif/esp-idf!22684
2024-03-21 18:50:03 +08:00
Alexey Lapshin
13b55386bf feat(system): esp32p4: support hw stack guard 2024-03-21 14:30:21 +04:00
morris
7d37e5655c docs(lcd): add api reference for mipi dsi lcd
docs(lcd): add api reference for mipi dsi lcd
2024-03-21 18:19:58 +08:00
morris
f4ff026e3e change(mipi_dsi): allow cache sync with unaligned size 2024-03-21 18:19:58 +08:00
Tomas Rezucha
ba1ce22b6c Merge branch 'fix/usb_uvc_example_p4' into 'master'
USB Host UVC example fixes for P4

Closes IEC-94, IDF-4942, and IDF-6505

See merge request espressif/esp-idf!29560
2024-03-21 17:47:51 +08:00
Wan Lei
751d50a19a Merge branch 'feat/c6lite_c61_system_step5' into 'master'
feat(esp32c61): system and esp_timer related support (stage 5/8)

See merge request espressif/esp-idf!29652
2024-03-21 17:25:37 +08:00
C.S.M
eeb9aa988c Merge branch 'bugfix/fix_i2c_timing_accuracy' into 'master'
fix(i2c_master): Fix issue that i2c clock got wrong after clearing bus

Closes IDFGH-12366

See merge request espressif/esp-idf!29715
2024-03-21 16:45:50 +08:00
Jakob Hasse
0b246b8c0b refactor(console): made help command sorting depend on Kconfig option 2024-03-21 16:33:44 +08:00
laokaiyao
5a4f040def ci(esp32c5): support to build template app for beta3 and mp 2024-03-21 16:19:21 +08:00
laokaiyao
c9d6a11d1d feat(esp32c5mp): support to run hello world on esp32c5 mp 2024-03-21 16:18:03 +08:00
Frantisek Hrbata
359af26736 fix: mark .exception_vectors* as executable and allocatable
It seems gcc is not producing debug information for sections which
are not properly marked as "ax", resulting in missing debug info
for _vector_table, _interrupt_handler and _panic_handler. This can be
verified e.g. with

readelf --debug=info ./build/esp-idf/riscv/CMakeFiles/__idf_riscv.dir/vectors.S.obj
readelf -SW ./build/esp-idf/riscv/CMakeFiles/__idf_riscv.dir/vectors.S.obj

for hello_world example on esp32c3 target. Mark the .exception_vectors.text and
.exception_vectors_table.text sections as writable and allocatable so the debug
info sections are generated.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-03-21 08:53:09 +01:00
Fu Hanxi
745ec15c2b ci: check idf version excluding qa tags 2024-03-21 08:40:13 +01:00
Rahul Tank
0883569b6f fix(nimble): Handle auto connection flag for extended connect 2024-03-21 12:33:50 +05:30
Guillaume Souchere
39f789df93 feat(esp_rom): patch heap walker to the ROM implementation
modify existing patch of TLSF rom and add multi heap patch
to add the walker feature to the ROM implementation of the
heap component.
2024-03-21 07:41:04 +01:00
Cao Sen Miao
c0e5f2b73a fix(i2c_master): Fix issue that i2c clock got wrong after reset,
Closes https://github.com/espressif/esp-idf/issues/13397
2024-03-21 13:13:53 +08:00
Rahul Tank
22ee3e8aa6 Merge branch 'bugfix/bonding_across_reboot' into 'master'
fix(nimble): Added support for deleting the oldest bonded device across reboot

See merge request espressif/esp-idf!29612
2024-03-21 12:00:42 +08:00
morris
1f6abf9e7b Merge branch 'feature/mipi_dcs_short_packet' into 'master'
feat(mipi_dsi): use DCS short packet when possible

Closes IDF-9349

See merge request espressif/esp-idf!29441
2024-03-21 11:46:01 +08:00
wanlei
a611e91b2f feat(esp32c61): new chip add system and esp_timer support 2024-03-21 11:31:15 +08:00
Jakob Hasse
25400ca351 Merge branch 'feature/log_priusize_macro' into 'master'
feat(log): Added PRIuSIZE printf formatter macro

See merge request espressif/esp-idf!29725
2024-03-21 10:41:49 +08:00
Jakob Hasse
f482a9153a Merge branch 'fix/add_libbsd_string_h' into 'master'
refactor(linux): Unified libbsd handling

See merge request espressif/esp-idf!29457
2024-03-21 10:11:25 +08:00
Roland Dobai
22b5f69f7b Merge branch 'refactor/idf_tools_version' into 'master'
refactor(idf_tools): IDF version is acquired only from version or header file

Closes IDFGH-12354

See merge request espressif/esp-idf!29711
2024-03-20 20:12:51 +08:00
Roland Dobai
5da7c6e3b2 Merge branch 'docs/docker_groupid' into 'master'
docs(docker): add note about group ID when host device is added to container

Closes IDFGH-12342

See merge request espressif/esp-idf!29717
2024-03-20 19:54:39 +08:00
Frantisek Hrbata
6554cac7dc docs(docker): add note about group ID when host device is added to container
Closes https://github.com/espressif/esp-idf/issues/13373

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-03-20 11:15:36 +01:00
Xu Si Yu
fd78d418dd feat(openthread): add max csmabackoffs for transmission 2024-03-20 18:00:33 +08:00
Fu Hanxi
b47c9e9c21 Merge branch 'ci/support_full_pipeline_by_components' into 'master'
CI: Support full pipeline by components

See merge request espressif/esp-idf!29760
2024-03-20 17:53:32 +08:00
Fu Hanxi
7928f46f2d ci: use host mapping volumes to improve the ccache hits 2024-03-20 17:26:19 +08:00
Fu Hanxi
6acd57df02 ci: support trigger full pipeline by components 2024-03-20 10:03:48 +01:00
Jakob Hasse
e4aa326c3a feat(log): Added PRIuSIZE printf formatter macro 2024-03-20 16:41:22 +08:00
wanlei
51ffd40843 feat(spi_master): rebase dma sct mode support, rename APIs, use malloc conf_buffer 2024-03-20 16:06:43 +08:00
Sudeep Mohanty
4f3cd0deb9 Merge branch 'fix/freertos_task_c_add_coverity_fix' into 'master'
fix(freertos): Fixed an issue where accessing task lists could overrun memory

Closes IDF-9412

See merge request espressif/esp-idf!29746
2024-03-20 15:54:39 +08:00
wanlei
a307096ec0 spi_master: sct mode supported on c6 2024-03-20 15:42:03 +08:00
wanlei
1e6c61daa6 spi_master: sct mode support set line mode, transaction interval time
support line mode 1-2-4-8 depend on targets.
fix sct mode dma descriptor counter compute issue.
add conf_bits_len setting API to control interval time.
2024-03-20 15:42:03 +08:00
Armando
30760a95bb spi_master: spi master sct test app 2024-03-20 15:42:03 +08:00
Armando
b303e4b7a6 spi_master: new segmented-configure-transfer mode 2024-03-20 15:42:03 +08:00
Fu Hanxi
1f3160cd78 Merge branch 'fix/component_manager_load_all_local_components' into 'master'
fix: component manager load all component dirs even set(COMPONENTS ...)

Closes PACMAN-771

See merge request espressif/esp-idf!28797
2024-03-20 15:38:10 +08:00
Guillaume Souchere
34fb83ffbc feat(heap): Add return value to walker callback
This return value is used by the tlsf_walk_pool
function to be notified of the need to interrupt
the ongoing traversal of the currently traversed
heap.
2024-03-20 08:33:48 +01:00
Guillaume Souchere
5cc69ce12b feat(heap): Add walker to the heap component
Introduce new APIs in essp_heap_caps.h:
- heap_caps_walk()
- heap_caps_walk_all()

Those functions are triggering a callback for all blocks
(allocated or free) of memory present in heaps meeting
the set of capabilities passed as parameter (or all heaps
for heap_caps_walk_all() function)

test_walker.c added to test the new functionality in
test_apps/heap_test/
2024-03-20 08:33:48 +01:00
Harshal Patil
03756359b2 Merge branch 'update/qemu_release_versions' into 'master'
Update QEMU release versions

See merge request espressif/esp-idf!29706
2024-03-20 14:26:07 +08:00
cjin
af94db4934 fix(ble): fix ci ble powe save test addresss error 2024-03-20 14:12:59 +08:00
Sarvesh Bodakhe
72f0c47526 fix(esp_wifi): Fix regression caused by fe35466c when supplicant logs enabled 2024-03-20 10:53:30 +05:30
Sarvesh Bodakhe
1d71178193 fix(wpa_supplicant): Add bugfixes related to ciphersuites in wifi enterprise
- Avoid downgrading TLS ciphersuites when client RSA keys are larger than RSA-2048 bit.
- Note that when using bigger certificates on low-power chips without crypto
  hardware acceleration, it is recommended to adjust the task watchdog timer (TWDT)
  if it is enabled. For precise information on timing requirements, you can check
  performance numbers at https://github.com/espressif/mbedtls/wiki/Performance-Numbers.
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
05b882baea fix(wpa_supplicant): Update cipher suite list for TLSv1.3 suiteb and some refactoring
- Use MBEDTLS_TLS1_3_AES_256_GCM_SHA384 cipher for TLSv1.3-suiteb
- Call psa_crypto_init() in tls_connection_init() to reduce redundancy
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
5903e9ea2b feat(wpa_supplicant): Make CONFIG_ESP_WIFI_EAP_TLS1_3 an experimental feature 2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
5ce95cae91 fix(esp_wifi): Enable Server certificate validation when using mbedtls TLS v1.3
In TLS v1.2, It was possible to disable server certificate validation simply by using
API 'mbedtls_ssl_conf_authmode'. But this behaviour is changed in TLS v1.3. We can not
disable server certificate validation in TLS v1.3 using this API anymore.

For more details, refer https://github.com/Mbed-TLS/mbedtls/issues/7075
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
ec09cdf885 feat(wpa_supplicant): Add TLS v1.3 support for WiFi enterprise
* Add TLS v1.3 support for following EAP methods:
  - EAP-TLS  (RFC 9190)
  - EAP-PEAP (RFC 9427)
  - EAP-TTLS (RFC 9427)
* Add mbedtls porting for TLS v1.3 exporter (RFC 8446 Section 7.5)
* Add new Kconfig flag to enable TLS v1.3 for EAP methods
* Advertise TLS v1.3 signature algorithms if TLS 1.3 is enabled for EAP
  methods
* Advertise TLS v1.3 cipher suites if CONFIG_ESP_WIFI_EAP_TLS1_3 enabled
* Add support to Ack protected success indication
  (workaround for EAP-TLS 1.3 and 1.2 compatibilty)
2024-03-20 09:33:52 +05:30
Glenn Strauss
b3e4aae7bb TLS: Fix unsigned int underflow in internal TLS 1.0/1.1 implementation
Taking sizeof(ptr) is incorrect to determine size of passed in hash and
results in hlen getting set to a very large value since MD5_MAC_LEN >
sizeof(ptr). Provide the actual size of the hash buffer from the caller
to fix this.

tls_key_x_server_params_hash() callers src/tls/tlsv1_client_read.c and
src/tls/tlsv1_server_write.c both pass in a large enough hash (hash[64]
or hash[100]) that this does not appear to have an impact, though it is
still wrong.

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
2024-03-20 09:33:52 +05:30
Glenn Strauss
b58dbf2808 Update tls_connection_set_verify() documentation to verify_peer=2
This new value was added to verify peer certificate if it is provided,
but not reject the TLS handshake if no peer certificate is provided.

Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
2024-03-20 09:33:52 +05:30
Jouni Malinen
8ff4837830 Fix tls_connection_set_success_data() in TLS library wrappers
Some of the TLS library wrappers defined only an empty function for
tls_connection_set_success_data(). That could result in memory leaks in
TLS server cases, so update these to do the minimal thing and free the
provided buffer as unused.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-03-20 09:33:52 +05:30
Jouni Malinen
6658c3ed63 Remove useless DH file configuration from TLS library wrappers
These operations do not really have any effect since
tls_connection_set_params() is used only in the TLS client case and the
client receives the DH parameters from the server instead of local
configuration.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
89fc940ec0 EAP-TLS: Do not allow TLSv1.3 success without protected result indication
RFC 9190 requires protected result indication to be used with TLSv1.3,
so do not allow EAP-TLS to complete successfully if the server does not
send that indication.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-03-20 09:33:52 +05:30
Jouni Malinen
98183fe062 EAP-TLS: Replace the Commitment Message term with RFC 9190 language
While the drafts for RFC 9190 used a separate Commitment Message term,
that term was removed from the published RFC. Update the debug prints to
match that final language.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-03-20 09:33:52 +05:30
Jouni Malinen
9cb8c0545f EAP-TLS: Update specification references to RFC 5216 and 9190
The previously used references were pointing to an obsoleted RFC and
draft versions. Replace these with current versions.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
2024-03-20 09:33:52 +05:30
Alexander Clouter
b17d6a1b3a EAP-TTLS peer: Handle Commitment Message for TLS 1.3
Recognize the explicitly defined Commitment Message per
draft-ietf-emu-eap-tls13-13 at the conclusion of the EAP-TTLS with TLS
1.3.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
65248148f0 EAP-TLS peer: Handle Commitment Message for TLS 1.3
Recognize the explicitly defined Commitment Message per
draft-ietf-emu-eap-tls13-13 at the conclusion of the EAP-TLS with TLS
1.3.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
a5ee253d62 EAP: Extend Session-Id derivation with TLS 1.3 to PEAP and EAP-TTLS
This newer Session-Id/Method-Id derivation is used with PEAP and
EAP-TTLS when using TLS 1.3 per draft-ietf-emu-tls-eap-types-00, so do
not limit this to only EAP-TLS.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
42e37285e5 EAP-TTLS: Key derivation per draft-ietf-emu-tls-eap-types-00
Use the TLS-Exporter with the label and context as defined in
draft-ietf-emu-tls-eap-types-00 when deriving keys for EAP-TTLS with TLS
1.3.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
0d90484018 EAP-PEAP: Key derivation per draft-ietf-emu-tls-eap-types-00
Use the TLS-Exporter with the label and context as defined in
draft-ietf-emu-tls-eap-types-00 when deriving keys for PEAP with TLS
1.3.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Alexander Clouter
252dd1b976 EAP-TTLS/PEAP peer: Fix failure when using session tickets under TLS 1.3
EAP peer does not expect data present when beginning the Phase 2 in
EAP-{TTLS,PEAP} but in TLS 1.3 session tickets are sent after the
handshake completes.

There are several strategies that can be used to handle this, but this
patch picks up from the discussion[1] and implements the proposed use of
SSL_MODE_AUTO_RETRY. SSL_MODE_AUTO_RETRY has already been enabled by
default in OpenSSL 1.1.1, but it needs to be enabled for older versions.

The main OpenSSL wrapper change in tls_connection_decrypt() takes care
of the new possible case with SSL_MODE_AUTO_RETRY for
SSL_ERROR_WANT_READ to indicate that a non-application_data was
processed. That is not really an error case with TLS 1.3, so allow it to
complete and return an empty decrypted application data buffer.
EAP-PEAP/TTLS processing can then use this to move ahead with starting
Phase 2.

[1] https://www.spinics.net/lists/hostap/msg05376.html

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
2024-03-20 09:33:52 +05:30
Jouni Malinen
a5b01a93ff EAP-TTLS peer: Support vendor EAP method in Phase 2
The implementation was previously hardcoded to use only the non-expanded
IETF EAP methods in Phase 2. Extend that to allow vendor EAP methods
with expanded header to be used.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
a9170c6a20 EAP-TLS peer: Handle possible application data at the end
EAP-TLS with TLS 1.3 uses an empty application data record from the
server to indicate end of the exchange, so EAP-TLS peer will need to
check for this special case and finish the exchange with an empty
EAP-TLS (ACK) so that the server can send out EAP-Success.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Ervin Oro
caf49e8c10 Add Type-Code context to EAP-TLS 1.3 exported Key_Material and Method-Id
Change to require the Type-Code in context for Key_Material and
Method-Id has now been published as draft-ietf-emu-eap-tls13-04.
https://tools.ietf.org/html/draft-ietf-emu-eap-tls13-04#section-2.3

Signed-off-by: Ervin Oro <ervin.oro@aalto.fi>
2024-03-20 09:33:52 +05:30
Sarvesh Bodakhe
886bf9e82f feat(wpa_supplicant): Add support for RFC 5705 TLS exporter context with mbedTLS 2024-03-20 09:33:52 +05:30
Ervin Oro
562bc59576 Add support for an optional context parameter to TLS exporter
Allow an additional context value to be passed to TLS exporter as
specified in RFC 5705 section 4.

This does not yet implement it for the internal TLS implementation.
However, as currently nothing uses context yet, this will not break
anything right now. WolfSSL maintainers also stated that they are not
going to add context support yet, but would look into it if/when this is
required by a published draft or a standard.

Signed-off-by: Ervin Oro <ervin.oro@aalto.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
1e38fa2c12 EAP peer: Clear temporary message buffers before freeing
These buffers in TLS-based EAP methods might contain keys or password
(e.g., when using TTLS-PAP or PEAP-GTC), so clear them explicitly to
avoid leaving such material into heap memory unnecessarily.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
2024-03-20 09:33:52 +05:30
Jouni Malinen
aa987d418e EAP-PEAP: Derive EMSK and use 128-octet derivation for MSK
Derive EMSK when using EAP-PEAP to enable ERP. In addition, change the
MSK derivation for EAP-PEAP to always derive 128 octets of key material
instead of the 64 octets to cover just the MSK. This is needed with the
PRF used in TLS 1.3 since the output length is mixed into the PRF
context.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
f4d7329ae6 EAP peer: Clear keying material on deinit
Reduce the amount of time keying material (MSK, EMSK, temporary private
data) remains in memory in EAP methods. This provides additional
protection should there be any issues that could expose process memory
to external observers.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
bb16734aa9 EAP-TLS: Update Session-Id derivation with TLS v1.3
Move to the version used in draft-ietf-emu-eap-tls13-03.txt, i.e.,
include the 0x0D prefix and use a different TLS-Exporter() label string.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:52 +05:30
Jouni Malinen
ed8452d53f EAP-TLS: Derive Session-Id using TLS-Exporter when TLS v1.3 is used
This updates Session-Id derivation with TLS v1.3 per
draft-ietf-emu-eap-tls13-00.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
a2336b74f9 EAP-TLS: Update key derivation label per draft-ietf-emu-eap-tls13-00
The label strings used for deriving Key_Material with TLS v1.3 were
changed, so update the implementation to match the new values.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
e9f6949d7e EAP-TLS peer: MSK/EMSK derivation with TLS v1.3
Use new MSK/EMSK derivation mechanism if TLS v1.3 or newer is used per
draft-mattsson-eap-tls13-02.txt.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
34a8628d4e EAP-TLS peer: Allow NewSessionTicket after Client Finished with TLS v1.3
The EAP session cannot be marked fully completed on sending Client
Finished with TLS v1.3 since the server may still send NewSessionTicket
before EAP-Success.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
6a83540ae0 EAP-TLS peer: Support fragmentation of last message
With TLS v1.3, the Finished message from the client can require
fragmentation. Postpone key derivation and marking of the EAP session
fully completed until all the fragments of that last message are sent to
avoid losing all the subsequent fragments.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:51 +05:30
Jouni Malinen
77d87edbb2 EAP-TLS peer: Determine whether TLS v1.3 or newer is used
This is needed to be able to handle different key derivation and message
handshakes in EAP implementation.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:33:48 +05:30
Ilan Peer
a539c63d68 EAP-TTLS: Fix possible memory leak in eap_ttls_phase2_request_mschap()
The msg buffer needs to be freed on these two error paths.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
2024-03-20 09:32:32 +05:30
Jouni Malinen
5c0fb10902 EAP peer: External server certificate chain validation
This adds support for optional functionality to validate server
certificate chain in TLS-based EAP methods in an external program.
wpa_supplicant control interface is used to indicate when such
validation is needed and what the result of the external validation is.

This external validation can extend or replace the internal validation.
When ca_cert or ca_path parameter is set, the internal validation is
used. If these parameters are omitted, only the external validation is
used. It needs to be understood that leaving those parameters out will
disable most of the validation steps done with the TLS library and that
configuration is not really recommend.

By default, the external validation is not used. It can be enabled by
addingtls_ext_cert_check=1 into the network profile phase1 parameter.
When enabled, external validation is required through the CTRL-REQ/RSP
mechanism similarly to other EAP authentication parameters through the
control interface.

The request to perform external validation is indicated by the following
event:
CTRL-REQ-EXT_CERT_CHECK-<id>:External server certificate validation needed for SSID <ssid>

Before that event, the server certificate chain is provided with the
CTRL-EVENT-EAP-PEER-CERT events that include the cert=<hexdump>
parameter. depth=# indicates which certificate is in question (0 for the
server certificate, 1 for its issues, and so on).

The result of the external validation is provided with the following
command:
CTRL-RSP-EXT_CERT_CHECK-<id>:<good|bad>

It should be noted that this is currently enabled only for OpenSSL (and
BoringSSL/LibreSSL). Due to the constraints in the library API, the
validation result from external processing cannot be reported cleanly
with TLS alert. In other words, if the external validation reject the
server certificate chain, the pending TLS handshake is terminated
without sending more messages to the server.

Signed-off-by: Jouni Malinen <j@w1.fi>
2024-03-20 09:32:32 +05:30
Jin Cheng
45af060963 change(bt/bluedroid): Use BTC util to convert HCI status to ESP status 2024-03-20 10:38:44 +08:00
Wan Lei
a7355d3aba Merge branch 'feat/c6lite_c61_g0_component_s4' into 'master'
feat(esp32c61): add G0 component (hal, riscv) support (stage 4/8)

See merge request espressif/esp-idf!29551
2024-03-20 10:09:42 +08:00
Darian
53e3833f44 Merge branch 'refactor/usb_fsls_phy_hal' into 'master'
refactor(hal/usb): Update USB PHY related HAL/LL API

See merge request espressif/esp-idf!29659
2024-03-20 06:07:29 +08:00
Jiang Jiang Jian
8a06233051 Merge branch 'feature/updates_for_wpa3_spec_v3.3' into 'master'
feat(esp_wifi): Update Wi-Fi WPA3 authmodes as per WPA Specification v3.3

See merge request espressif/esp-idf!29608
2024-03-20 02:31:01 +08:00
Alexey Lapshin
00b55a654c Merge branch 'feature/cleanup-linker-scripts' into 'master'
feat(system): refactor linker scripts

See merge request espressif/esp-idf!29515
2024-03-20 02:25:11 +08:00
Darshan Dobariya
e0e89b8bde fix(nimble): Added support for deleting the oldest bonded device across reboot 2024-03-19 22:26:22 +05:30
Sudeep Mohanty
42c935e2c3 fix(freertos): Fixed an issue where accessing task lists could overrun memory
This commit fixes a potential issue of illegal memory access when
accessing the various task lists in FreeRTOS while fetching tasks using
the xTaskGetNext() function.
2024-03-19 17:33:18 +01:00
Rahul Tank
dd737f9821 Merge branch 'bugfix/fixed_task_invokation_after_pairing' into 'master'
fix(nimble): Fixed the call to ble_hid_task_startup after pairing

See merge request espressif/esp-idf!29655
2024-03-19 23:26:27 +08:00
Sudeep Mohanty
ca07ef3837 Merge branch 'contrib/github_pr_13180' into 'master'
ulp_riscv_print: Add convenience function that supports different widths (GitHub PR)

Closes IDFGH-12124

See merge request espressif/esp-idf!29716
2024-03-19 22:52:50 +08:00
Ivan Grokhotkov
5fee4b0f72 Merge branch 'feature/move_fatfs_scripts_to_storage' into 'master'
feat(storage/fatfs): move fatfs related scripts under control of the storage team

Closes IDF-9544

See merge request espressif/esp-idf!29738
2024-03-19 22:51:29 +08:00
Jakub Kocka
3ad5e5c722 refactor(idf_tools): IDF version is acquired only from version or header file
Closes https://github.com/espressif/esp-idf/issues/13385
2024-03-19 15:40:45 +01:00
Song Ruo Jing
34f05287ab Merge branch 'bugfix/dma2d_various_small_fixes' into 'master'
fix(dma2d): correct a few 2D-DMA driver issues

See merge request espressif/esp-idf!29705
2024-03-19 21:36:45 +08:00
Ondrej Kosta
9d0b8d62b0 Merge branch 'feature/emac_intr_prio' into 'master'
feat(esp_eth): added option to configure interrupt priority

Closes IDF-7969

See merge request espressif/esp-idf!29300
2024-03-19 21:09:30 +08:00
Tomáš Rohlínek
a17ef2f8d8 feat(storage/fatfs): move fatfs related scripts under control of the storage team 2024-03-19 13:36:40 +01:00
Fu Hanxi
129eb33dd8 Merge branch 'ci/run_full_pipeline_while_testing_constraint_file' into 'master'
CI: run full pipeline while testing constraint file

See merge request espressif/esp-idf!29731
2024-03-19 20:17:31 +08:00
Fu Hanxi
74843a442b fix: component manager load all component dirs even set(COMPONENTS ...) 2024-03-19 19:52:20 +08:00
Fu Hanxi
d2542dd5c5 test: improve test_dependency_lock test case 2024-03-19 19:52:20 +08:00
Roshan Bangar
23c702cdc1 fix(nimble): Fix compilation issues and Minor enhancements to esp_hid 2024-03-19 16:27:17 +05:30
Rahul Tank
1a9f9d69ea Merge branch 'bugfix/compilation_issue_on_disabling_security' into 'master'
fix(nimble): Fixed compilation issues on disabling security

See merge request espressif/esp-idf!29582
2024-03-19 17:44:50 +08:00
Jiang Jiang Jian
5f969c71be Merge branch 'bugfix/dpp_auth_deinit_crash' into 'master'
Fix issues with DPP stop listen and DPP auth data deinit

Closes WIFIBUG-443, WIFIBUG-442, WIFIBUG-421, and WIFIBUG-423

See merge request espressif/esp-idf!29404
2024-03-19 17:36:28 +08:00
Alexey Lapshin
40be44f827 feat(system): refactor linker scripts
- move .tbss to NOLOAD section
- remove xtensa-specific entities from riscv scripts
- explicit eh_frame terminator instead of "align magic"
- 80 characters line length limit
- refactor comments
- discard .rela sections (the rela data will go to relates sections)
2024-03-19 13:27:11 +04:00
Kevin (Lao Kaiyao)
a77a7ab550 Merge branch 'feature/add_system_components_to_esp32c5mp' into 'master'
feat(esp32c5mp): add system related components (Stage 5/7)

See merge request espressif/esp-idf!29603
2024-03-19 16:48:56 +08:00
Fu Hanxi
5de124f777 ci: run full pipeline while testing constraint file 2024-03-19 09:47:21 +01:00
Dr. Michael Lauer
08dead4b31 feat(ulp-riscv): Add convenience print function that supports different widths
This commit adds a convenience function to print hex numbers of
different widths on the ULP RISC-V core.

Closes https://github.com/espressif/esp-idf/pull/13180
2024-03-19 09:41:05 +01:00
Tomas Rohlinek
f8054b1e66 Merge branch 'fix/wl_fatfsgen_safe_mode' into 'master'
fix(storage/fatfs): make wl_fatfsgen.py safe mode aware

Closes IDF-9379

See merge request espressif/esp-idf!29621
2024-03-19 16:19:24 +08:00
nilesh.kale
b11f286555 feat(esp_system/esp32c5): revised cypto clock to be used
This commit updated crypto clock to use 160M SPLL clock
2024-03-19 13:47:04 +05:30
nilesh.kale
ef3b40c5f1 feat: enable RSA support for c5
This commit enables RSA peripheral support for ESP32-C5.
2024-03-19 13:46:49 +05:30
Sarvesh Bodakhe
0ed1cadcf1 feat(esp_wifi): Update Wi-Fi WPA3 authmodes as per WPA Specification v3.3
* Merge 'WIFI_AUTH_WPA3_EXT_PSK' and 'WIFI_AUTH_WPA3_EXT_PSK_MIXED_MODE'
  into 'WIFI_AUTH_WPA3_PSK' as per specification.
2024-03-19 11:33:55 +05:30
C.S.M
5e47ed70c2 Merge branch 'bugfix/i2c_no_pull_up' into 'master'
fix(i2c_master): Fix issue that initialize esp32 fails and using i2c_master_probe issue IF NO PULL-UP ON PINS. And add nack check

Closes IDFGH-11838, IDFGH-13142, and IDFGH-13398

See merge request espressif/esp-idf!29667
2024-03-19 12:25:34 +08:00
Island
3cc70e8d76 Merge branch 'doc/update_ble_document_2403' into 'master'
Doc/update ble document 2403

See merge request espressif/esp-idf!29557
2024-03-19 11:39:16 +08:00
Marius Vikhammer
4700f709ca Merge branch 'feature/c5_ulp' into 'master'
feat(ulp): add basic support for running lp core on C5

Closes IDF-8637

See merge request espressif/esp-idf!29496
2024-03-19 11:33:51 +08:00
Cao Sen Miao
016877b7ce fix(i2c_master): Fix issue that initialize esp32 and using i2c_master_probe issue,
and probe might failed.
Fixed I2C cannot return err code when nack detected
Closes https://github.com/espressif/esp-idf/issues/13213,
Closes https://github.com/espressif/esp-idf/issues/12929,
Closes https://github.com/espressif/esp-idf/issues/13398,
2024-03-19 11:07:13 +08:00
C.S.M
61bb752cdb Merge branch 'bugfix/improve_jpeg_dec' into 'master'
fix(jpeg_decoder): Improve apis for better align strategy and provide buffer size parameter

See merge request espressif/esp-idf!29687
2024-03-19 10:10:52 +08:00
morris
3a9d082523 Merge branch 'bugfix/parlio_coverity_issue' into 'master'
feat(parlio_tx): minor clean up and fix

Closes IDF-9420

See merge request espressif/esp-idf!29663
2024-03-19 10:08:54 +08:00
Jiang Jiang Jian
be73c442ab Merge branch 'feature/refactor_ftm_code' into 'master'
Refactor and improve FTM code

Closes WIFI-6133, WIFI-5144, WIFI-6365, and IDFGH-5024

See merge request espressif/esp-idf!26783
2024-03-19 00:54:12 +08:00
Nachiket Kukade
4971764917 feat(esp_wifi): Refactor and improve FTM code
Enable FTM Responder mode for ESP32C6. Update wifi libs with below -

1. Break FTM State Machine code into separate functions
2. Use dynamic allocation for FTM session to save memory
3. Add API to get FTM report instead of event based mechanism
4. Add FTM Request retry and comeback support

Closes https://github.com/espressif/esp-idf/issues/6810
2024-03-18 22:01:36 +08:00
Jiang Jiang Jian
3fd985e276 Merge branch 'bugfix/wps_crash_issue' into 'master'
fix(wpa_supplicant): Avoid dereferencing a dangling function pointer in WPS

Closes WIFI-6373, WIFIBUG-301, and WIFIBUG-163

See merge request espressif/esp-idf!28521
2024-03-18 21:23:15 +08:00
Wu Zheng Hui
c6b884d2af Merge branch 'feature/esp32p4_sleep_cpu_retention_support' into 'master'
feat(esp_hw_support): esp32p4 sleep support (Stage 2: support dualcore software sleep retention 🔋)

See merge request espressif/esp-idf!28485
2024-03-18 20:12:00 +08:00
Song Ruo Jing
12325ff47e fix(dma2d): correct a few 2D-DMA driver issues
1. mem_burst_length register field correction
2. remove dma buffer addr range restriction
3. M2M periph sel ID no need to be identical for TX and RX channels
4. correct rx descriptor owner field auto clear
5. remove fsm idle assertion for ERR_EOF
2024-03-18 20:11:57 +08:00
Darian Leung
6d40e191f8 refactor(hal/usb): Refactor usb_wrap_ll.h
This commit rewrite the 'usb_wrap_ll.h' API as follows:

- All APIs renamed from 'usb_fsls_phy_ll_...()' to 'usb_wrap_ll_...()'
- APIs now match their equivalent counter parts in 'usb_serial_jtag_ll.h'
2024-03-18 19:23:44 +08:00
Darian Leung
a77e5cc718 refactor(hal/usb): Remove usb_fsls_phy_ll.h
For targets that only contain a USJ peripheral (and not a DWC OTG), their
'usb_fsls_phy_ll.h' headers only contain a single function
('usb_fsls_phy_ll_int_jtag_enable()') whose feature is already covered by
functions in 'usb_serial_jtag_ll.h'. Thus, this header is redundant.

This commit does the following:

- Remove 'usb_fsls_phy_ll.h' for targets that only contain a USJ peripheral
- Rename 'usb_fsls_phy_[hal|ll].[h|c]' to `usb_wrap_[hal|ll].[h|c]` for targets
that contain a DWC OTG peripheral. This better reflects the underlying peripheral
that the LL header accesses.
2024-03-18 19:23:43 +08:00
Darian Leung
5d091a9bb3 refactor(hal/usj): Add USB PHY related functions to USJ LL 2024-03-18 19:23:42 +08:00
Cao Sen Miao
ba6a0d59b0 fix(jpeg_decoder): Improve apis for better align strategy and provide buffer size parameter 2024-03-18 18:32:22 +08:00
Armando (Dou Yiwen)
9ffebf3cf2 Merge branch 'feature/esp32c5_beta3_mmap' into 'master'
cache / mmu: c5 support

Closes IDF-8646 and IDF-8658

See merge request espressif/esp-idf!29693
2024-03-18 18:05:36 +08:00
Armando (Dou Yiwen)
30ab38c791 Merge branch 'bugfix/fix_csi_driver_cache_msync_usage' into 'master'
csi: fix wrong cache invalidate location

Closes IDF-9519

See merge request espressif/esp-idf!29700
2024-03-18 18:00:05 +08:00
laokaiyao
24d6dcb829 feat(esp32c5mp): add system related components 2024-03-18 17:34:56 +08:00
Espressif BOT
5abde54709 change(tools/qemu): Update QEMU release versions 2024-03-18 17:05:03 +08:00
jgujarathi
40ccd1525f fix(wpa_supplicant): Cancel offchannel listen operations before sending dpp fail
- Ensure that offchannel listening operations are cancelled before sending dpp
  fail event
2024-03-18 14:33:57 +05:30
jgujarathi
537cf9bfc0 fix(wpa_supplicant): Ensure dpp auth structure is deinited in dpp task context
- Ensure that the dpp auth data gets deinited only in DPP task context to ensure
  that there are no concurrency issues in usage of DPP auth data.
2024-03-18 14:33:57 +05:30
Alexey Lapshin
994b4ed459 Merge branch 'feature/update-toolchain-to-esp-13.2.0_20240305' into 'master'
feat(tools): update toolchain version to esp-13.2.0_20240305

Closes IDFGH-2549

See merge request espressif/esp-idf!29430
2024-03-18 16:58:39 +08:00
zhanghaipeng
bce1715dfd fix(ble/bluedroid): Optimize BLE documentation comments to comply with Doxygen syntax 2024-03-18 16:10:02 +08:00
Sarvesh Bodakhe
fe35466cdd fix(wpa_supplicant): Improve execution flow for WPS registrar public APIs
Make sure that WPS registrar public APIs do not modify supplicant
data in application task context. Execute API functionlity in eloop
context to prevent protential race conditions.
2024-03-18 12:43:39 +05:30
Sarvesh Bodakhe
aad6f44c25 fix(wifi): Avoid dereferencing a dangling function pointer in WPS supplicant
Avoid dereferencing a dangling function pointer in 'eap_server_sm_deinit()'.
This issue arises when hostap unregisteres EAP methods before it removes
the server state machine for station.
2024-03-18 12:43:38 +05:30
Guillaume Souchere
a62b13e3d7 Merge branch 'feat/add-c5-ringbuffer-support' into 'master'
feat(esp_ringbuf): Add support on esp32c5 target

Closes IDF-8659

See merge request espressif/esp-idf!29602
2024-03-18 15:02:30 +08:00
Armando
571855d4dd bugfix(csi): fix wrong cache invalidate location 2024-03-18 14:54:25 +08:00
wanlei
37dfd8fb52 feat(esp32c61): add G0 component support 2024-03-18 14:28:27 +08:00
Marius Vikhammer
cd1b0dafa7 Merge branch 'docs/p4_misc_docs' into 'master'
docs(ulp): updated lp core docs with P4 related info

Closes IDF-7752, IDF-7741, IDF-7740, IDF-9485, IDF-9473, and IDF-9474

See merge request espressif/esp-idf!29592
2024-03-18 14:12:26 +08:00
Roshan Bangar
ee75e6cc63 fix(nimble): Fixed compilation issues on disabling security 2024-03-18 09:56:19 +05:30
Jiang Jiang Jian
b05b19abc7 Merge branch 'feature/sae_pk_transition_disable' into 'master'
Add support for SAE-PK, WPA3-Enterprise and OWE transition disable indication

Closes WIFIBUG-287

See merge request espressif/esp-idf!27783
2024-03-18 11:38:50 +08:00
Armando
5efcd8979e feat(cache mmu): c5 support 2024-03-18 11:31:10 +08:00
Wu Zheng Hui
ba4b493df8 Merge branch 'fix/lp_core_uart_clk_init' into 'master'
fix(lp_uart): Fixed LP UART bus clock initialization flow

See merge request espressif/esp-idf!29680
2024-03-18 10:21:42 +08:00
Song Ruo Jing
6b9c2fca79 Merge branch 'fix/uart_wakeup_threshold' into 'master'
fix(uart): Fix mismatch wakeup rising edges required with the threshold configured

See merge request espressif/esp-idf!29474
2024-03-16 22:50:28 +08:00
Wan Lei
9a7eb78328 Merge branch 'feat/c6lite_c61_stage3_rom' into 'master'
feat(esp32c61): new chip add rom support (stage 3/8)

See merge request espressif/esp-idf!29497
2024-03-16 10:56:52 +08:00
Michael (XIAO Xufeng)
1db17508e7 Merge branch 'bugfix/i2c_timeout_issue' into 'master'
fix(i2c): fix issues related to timeout and alive interval tick

Closes IDFGH-2966

See merge request espressif/esp-idf!25608
2024-03-16 02:27:58 +08:00
David Cermak
199d416bc5 feat(lwip): SNTP: Add support for adjusting startup delay 2024-03-15 16:58:54 +01:00
Fu Hanxi
8ed66457e6 Merge branch 'ci/add_idf_ci_build_while_building_apps_locally' into 'master'
ci: add "IDF_CI_BUILD=1" while building apps locally

See merge request espressif/esp-idf!29679
2024-03-15 22:31:24 +08:00
Wan Lei
9327f1b856 Merge branch 'fix/sdspi_esp32_temp_skip_master' into 'master'
fix(sdspi): temp skip run high falure job on esp32 due to lack runner

See merge request espressif/esp-idf!29410
2024-03-15 21:58:32 +08:00
Ondrej Kosta
333e94eeb0 Merge branch 'bugfxi/openeth_format' into 'master'
fix(esp_eth): fixed build for openeth due to incorrect printf format

See merge request espressif/esp-idf!29651
2024-03-15 20:19:22 +08:00
Jiang Jiang Jian
00dd3260ee Merge branch 'bugfix/cve-2023-52160' into 'master'
fix(wpa_supplicant): (PEAP client) Update Phase 2 auth requirements

Closes WIFI-6478

See merge request espressif/esp-idf!29240
2024-03-15 20:12:16 +08:00
zhanghaipeng
f812863827 fix(ble/bluedroid): Optimize the BLE documentation 2024-03-15 20:02:13 +08:00
C.S.M
812d197011 Merge branch 'bugfix/i2c_slave_bugs' into 'master'
fix(i2c_slave): Fix multiple issues on i2c slave

Closes IDFGH-12343 and IDFGH-12319

See merge request espressif/esp-idf!29566
2024-03-15 19:36:56 +08:00
C.S.M
db857c362b Merge branch 'contrib/github_pr_13388' into 'master'
fix(i2c_master): fix deadlock on s_i2c_transaction_start failure (GitHub PR)

Closes IDFGH-12357 and IDFGH-12356

See merge request espressif/esp-idf!29664
2024-03-15 19:31:33 +08:00
Wang Meng Yang
36e4ba10f5 Merge branch 'bugfix/make_coexist_callback_safe' into 'master'
fix(bt/controller): Fixed some bugs in esp32 bt controller

Closes BT-3625

See merge request espressif/esp-idf!29543
2024-03-15 18:53:10 +08:00
Guillaume Souchere
fe2e1b05ac change(esp_ringbuf): Format pytest_esp_ringbuf.py 2024-03-15 11:22:00 +01:00
wuzhenghui
bbc8fd5c9c feat(esp_hw_support): support esp32p4 sleep cpu retention 2024-03-15 18:13:25 +08:00
wuzhenghui
03e5e4970d refactor(esp_hw_support): split pd_cpu retention initialization by target 2024-03-15 18:13:24 +08:00
morris
ce041640ca change(parlio_tx): plenty of driver clean up 2024-03-15 18:02:44 +08:00
Guillaume Souchere
81c49583ec Merge branch 'test/enable-intr-dump-esp32p4' into 'master'
test(esp_intr_dump): Enable test for esp32p4

Closes IDF-8991

See merge request espressif/esp-idf!29620
2024-03-15 18:01:12 +08:00
Sudeep Mohanty
05db166e5d Merge branch 'feature/lp_core_lp_uart_support' into 'master'
feat(lp_core): Added support for LP UART on LP core for esp32p4

Closes IDF-7533

See merge request espressif/esp-idf!29555
2024-03-15 17:57:50 +08:00
Fu Hanxi
b50dbd31b5 ci: add "IDF_CI_BUILD=1" while building apps locally 2024-03-15 10:55:08 +01:00
Sudeep Mohanty
b15cfab6f3 Merge branch 'fix/gdbstub_enables_freertos_task_wrapper' into 'master'
fix(freertos): Updated dependency list for CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER option

See merge request espressif/esp-idf!29609
2024-03-15 17:51:55 +08:00
Song Ruo Jing
90bf2772ac fix(uart): Fix mismatch wakeup rising edges required with the threshold configured
Closes https://github.com/espressif/esp-idf/issues/12586
2024-03-15 16:58:33 +08:00
Kapil Gupta
59a62f2af6 fix(wpa_supplicant): (PEAP client) Update Phase 2 auth requirements
The previous PEAP client behavior allowed the server to skip Phase 2
authentication with the expectation that the server was authenticated
during Phase 1 through TLS server certificate validation. Various PEAP
specifications are not exactly clear on what the behavior on this front
is supposed to be and as such, this ended up being more flexible than
the TTLS/FAST/TEAP cases. However, this is not really ideal when
unfortunately common misconfiguration of PEAP is used in deployed
devices where the server trust root (ca_cert) is not configured or the
user has an easy option for allowing this validation step to be skipped.

Change the default PEAP client behavior to be to require Phase 2
authentication to be successfully completed for cases where TLS session
resumption is not used and the client certificate has not been
configured. Those two exceptions are the main cases where a deployed
authentication server might skip Phase 2 and as such, where a more
strict default behavior could result in undesired interoperability
issues. Requiring Phase 2 authentication will end up disabling TLS
session resumption automatically to avoid interoperability issues.

Allow Phase 2 authentication behavior to be configured with a new phase1
configuration parameter option:
'phase2_auth' option can be used to control Phase 2 (i.e., within TLS
tunnel) behavior for PEAP:
 * 0 = do not require Phase 2 authentication
 * 1 = require Phase 2 authentication when client certificate
   (private_key/client_cert) is no used and TLS session resumption was
   not used (default)
 * 2 = require Phase 2 authentication in all cases
2024-03-15 16:57:26 +08:00
Alexey Lapshin
31a951268a feat(newlib): get rid of dirent.h in favor of toolchain 2024-03-15 12:36:00 +04:00
Alexey Lapshin
4ac07fc575 feat(cxx): get rid of _Unwind_SetEnableExceptionFdeSorting 2024-03-15 12:36:00 +04:00
Alexey Lapshin
4f09fba127 fix(newlib): fix esp32/esp32s3 atomics on PSRAM
Closes https://github.com/espressif/esp-idf/issues/4635
2024-03-15 12:36:00 +04:00
Alexey Lapshin
174e9f582b feat(tools): update toolchain version to esp-13.2.0_20240305 2024-03-15 12:35:09 +04:00
Sudeep Mohanty
6d73dda897 fix(lp_uart): Fixed LP UART bus clock initialization flow
This MR updates the LP UART bus clock initialization flow to avoid
a lock up when accessing the LP UART peripheral.
2024-03-15 09:28:35 +01:00
Shyamal Khachane
fd556dc785 feat(wifi): Add support to handle OWE transition disable indication from AP 2024-03-15 13:56:00 +05:30
Sarvesh Bodakhe
34725cdbfd feat(wifi): Add support SAE-PK and WPA3-Enterprise transition disable 2024-03-15 13:55:31 +05:30
wanlei
ca4153de52 fix(sdspi): temp skip run high falure job on esp32 2024-03-15 16:15:55 +08:00
wanlei
c50cbfe2ed feat(esp32c61): new chip add rom and efuse support 2024-03-15 15:16:14 +08:00
Cao Sen Miao
60419a4892 fix(i2c_slave): Fixed the isr_flags not really parse to the intr_allocate,
Closes https://github.com/espressif/esp-idf/issues/13374
2024-03-15 14:40:55 +08:00
Cao Sen Miao
7b731cae39 fix(i2c_slave): Fix bugs on i2c slave,
1. Fixed read data number smaller than master has sent it will fail
2. Disable interrupt when destroy bus
Closes https://github.com/espressif/esp-idf/issues/13354
2024-03-15 14:40:52 +08:00
Eric Wheeler
6e1bba7430 fix(i2c_master): fix deadlock on s_i2c_transaction_start failure
As pointed out in PR #13134 by @MatthiasKunnen, there is a deadlock in
`s_i2c_synchronous_transaction()` if `s_i2c_transaction_start()` should fail
because, on error, s_i2c_synchronous_transaction() returns before releasing the
lock.

This commit fixes the deadlock without any other changes.

Closes: #13387

Signed-off-by: Eric Wheeler <esp-idf@z.ewheeler.org>
2024-03-15 14:13:13 +08:00
Jiang Jiang Jian
3cd174ab09 Merge branch 'bugfix/wpa3_sta_lock_crash' into 'master'
fix(wifi): Fix wpa3 crash for station added without sta lock

Closes WIFIBUG-302

See merge request espressif/esp-idf!28206
2024-03-15 12:03:26 +08:00
Mahavir Jain
cd47cf46dc Merge branch 'esp32p4/add_aes_support' into 'master'
feat: add AES support for ESP32-P4

Closes IDF-6519

See merge request espressif/esp-idf!26429
2024-03-15 11:43:22 +08:00
linruihao
3d0d4de125 fix(bt/controller): Fixed some bugs in esp32 bt controller
1. fixed crash issue in coexist callback
2. fixed wrong LMP message send when expect peer device increase tx power to max
2024-03-15 11:31:57 +08:00
morris
61a283fdb5 Merge branch 'docs/sync_up_trans' into 'master'
docs:sync up CN translation for several documents

Closes DOC-7339

See merge request espressif/esp-idf!29553
2024-03-15 10:49:29 +08:00
Kevin (Lao Kaiyao)
893226d5c4 Merge branch 'feature/add_temp_rom_to_esp32c5mp' into 'master'
feat(esp32c5mp): add temporary esp-rom & G0 support

See merge request espressif/esp-idf!29613
2024-03-15 10:35:14 +08:00
Dai Zi Yan
f3686dcc73 Merge branch 'docs/add_Chinese_translation_for_api-reference/peripherals/usb_device.rst' into 'master'
docs: provide CN translation for api-reference/peripherals/usb_device.rst

Closes DOC-5759

See merge request espressif/esp-idf!24835
2024-03-15 10:31:59 +08:00
morris
7bd5c62659 Merge branch 'feature/specify_rmt_intr_cpu_affinity' into 'master'
doc(rmt): clarification on payload memory management and isr latency impact

Closes IDFGH-10396 and IDFGH-12068

See merge request espressif/esp-idf!24755
2024-03-15 10:05:58 +08:00
Roman Leonov
4d24ce3e13 Merge branch 'refactor/usb_host_add_ch11_types' into 'master'
refactor(usb_host): Added chapter11 header, refactor chapter9 header

See merge request espressif/esp-idf!29344
2024-03-15 05:14:39 +08:00
Roman Leonov
029c286a21 feat(usb_host): Added KConfig parameter for External HUB support enable 2024-03-14 21:06:34 +01:00
Roman Leonov
8d93d18451 refactor(usb_host): Added chapter11 header, refactor chapter9 header 2024-03-14 21:06:34 +01:00
Sudeep Mohanty
b90a279587 feat(lp-core): Added ability to print from LP ROM on the LP core
This commit adds the ability to use LP ROM functions from the LP core.
This allows the LP core code to utilize standard functions such as those
for printing from the LP ROM and therefore help reduce the code size on
the LP core.
2024-03-14 18:45:02 +01:00
Sudeep Mohanty
26fd843376 feat(lp_core): Added support for LP UART on LP core for esp32p4
This commit enables LP UART support for the LP core on the esp32p4.
2024-03-14 18:45:02 +01:00
Tomas Rezucha
4f900edb06 Merge branch 'feat/esp_hid_clean_interface' into 'master'
refactor(esp_hid): Create one common event loop

See merge request espressif/esp-idf!29449
2024-03-14 21:31:49 +08:00
Shu Chen
ee8fa6a205 Merge branch 'feature/add_led_config_for_ot_device' into 'master'
feat(openthread): support configuring indicator color of OpenThread device

See merge request espressif/esp-idf!29413
2024-03-14 19:17:23 +08:00
Guillaume Souchere
85c2daee5b test(esp_intr_dump): Enable test for esp32p4
Added back intr_dump test on esp32p4 target.
Added esp32p4.txt expected output file containing
the list of interrupts.
2024-03-14 11:35:24 +01:00
Tomas Rezucha
868d375c1d refactor(esp_hid): Create one common event loop
After this change, only one event loop is created.
It is reused by all transport layers (BT, BLE, USB).
2024-03-14 11:34:13 +01:00
Shreyas Sheth
9127a8fb25 fix(wifi): Fix wpa3 crash for station added without sta lock 2024-03-14 15:36:32 +05:30
caixinying-git
cb9df99073 docs: provide CN translation for api-reference/peripherals/usb_device.rst 2024-03-14 17:38:43 +08:00
Ondrej Kosta
93db5a609a fix(esp_eth): fixed build for openeth due to incorrect printf format 2024-03-14 09:44:53 +01:00
Omar Chebib
793ca6d7a4 fix(i2c): fix issues related to timeout and alive interval tick
Fixes https://github.com/espressif/esp-idf/issues/4999

Former usage of I2C_CMD_ALIVE_INTERVAL_TICK macro overrode the ticks_to_wait
parameter when the latter was too big
2024-03-14 16:39:10 +08:00
Fu Hanxi
d3473bed30 Merge branch 'ci/support_filter_pytest_cases_with_sdconfig_name' into 'master'
ci: support filter pytest with sdkconfig name

See merge request espressif/esp-idf!29581
2024-03-14 16:34:31 +08:00
Sudeep Mohanty
abd3a3999f fix(freertos): Updated dependency list for CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER option
This commit updates the dependency for
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER to be dependent explicitly on
CONFIG_ESP_SYSTEM_PANIC_GDBSTUB or CONFIG_ESP_SYSTEM_GDBSTUB_RUNTIME
instead of CONFIG_ESP_GDBSTUB_ENABLED which caused FreeRTOS Task
Function Wrappers to be enabled even if the esp_gdbstub component was
part of the build.
2024-03-14 08:41:51 +01:00
laokaiyao
8de41350eb feat(esp32c5mp): support to build g0 components 2024-03-14 15:09:22 +08:00
laokaiyao
0d8dcd183c feat(esp32c5mp): add temporary esp-rom 2024-03-14 15:09:22 +08:00
Armando (Dou Yiwen)
c539b7cde5 Merge branch 'ci/ignore_c6_restart_test_fail' into 'master'
Ci/ignore c6 restart test fail

Closes IDFCI-2084, IDFCI-2085, and IDFCI-2024

See merge request espressif/esp-idf!29635
2024-03-14 14:52:17 +08:00
Fu Hanxi
6b14ba559a Merge branch 'fix/dynamic_pipeline_workflow_for_tag' into 'master'
ci: fix dynamic pipeline for tag pipelines

See merge request espressif/esp-idf!29370
2024-03-14 14:51:01 +08:00
Chen Jian Xing
a98e252595 Merge branch 'doc/update_espnow_doc' into 'master'
docs(wifi): Updated the LMK description in ESP-NOW

Closes IDFGH-11890

See merge request espressif/esp-idf!29607
2024-03-14 14:31:12 +08:00
morris
7b135c4b8a docs(rmt): clarification on memory and isr lantency
Closes https://github.com/espressif/esp-idf/issues/11651
Closes https://github.com/espressif/esp-idf/issues/13129
2024-03-14 14:23:12 +08:00
Wu Zheng Hui
5a682c3bbb Merge branch 'feature/optimize_chips_active_power' into 'master'
feat(system): Optimize the power consumption of esp32h2 and esp32c6 in the active state

Closes IDF-5658

See merge request espressif/esp-idf!27798
2024-03-14 12:08:33 +08:00
morris
79d8057a8c Merge branch 'feat/rmt_support_esp32c5' into 'master'
Basic RMT driver support on esp32c5

See merge request espressif/esp-idf!29215
2024-03-14 11:52:01 +08:00
gaoxu
03a6347a3a ci(adc): ignore adc restart test fail 2024-03-14 11:14:46 +08:00
gaoxu
b4b05bc4f0 ci(adc): make adc pytest reset 2024-03-14 11:12:20 +08:00
Jiang Jiang Jian
63db118bcc Merge branch 'feat/move_ag_cb_malloc_to_btc' into 'master'
feat(bt/bluedroid): Moved the memory allocation of HF AG control blocks to BTC module

Closes BTQABR2023-208

See merge request espressif/esp-idf!29310
2024-03-14 10:46:01 +08:00
Jiang Jiang Jian
6a879bf2d2 Merge branch 'bugfix/fix_maximum_value_of_config_rtc_clk_cal_cycles_bug' into 'master'
ESP All Chip: fixed the maximum value of config RTC_CLK_CAL_SYCLES bug

See merge request espressif/esp-idf!29423
2024-03-14 10:44:17 +08:00
Jiang Jiang Jian
7b86fe51fd Merge branch 'bugfix/fix_s3_bbpll_cali_fail_bug' into 'master'
fix: fix s3 bbpll calibration fail bug

See merge request espressif/esp-idf!29101
2024-03-14 10:42:57 +08:00
zhangyanjiao
68c887ead7 docs(wifi): Updated the LMK description in ESP-NOW
Closes https://github.com/espressif/esp-idf/issues/12976
2024-03-14 10:39:47 +08:00
Wu Zheng Hui
bb25cc1234 Merge branch 'feature/esp32p4_sleep_support' into 'master'
feat(esp_hw_support): esp32p4 sleep support (Stage 1: support basic pmu sleep function 💤)

Closes IDF-7528 and IDF-7527

See merge request espressif/esp-idf!28196
2024-03-14 10:17:32 +08:00
Martin Vychodil
559854bdac Merge branch 'fix/fatfs_expand_files_api_leak' into 'master'
fix(fatfs): Fix leak of malloced FIL struct

Closes IDF-9422 and IDF-9427

See merge request espressif/esp-idf!29585
2024-03-14 04:21:41 +08:00
David Cermak
b8903e7470 fix(examples): Fix sta-2-eth README to clarify wifi.settings is hostname 2024-03-13 17:54:08 +01:00
Kapil Gupta
97e1afbe67 Merge branch 'bugfix/wps_scan_log_flood' into 'master'
Suppress RSN IE print to Verbose level

Closes WIFIBUG-437

See merge request espressif/esp-idf!29558
2024-03-13 22:51:45 +08:00
morris
8f85035d75 Merge branch 'bugfix/fix_eventfd_select' into 'master'
fix(vfs): fix eventfd select

See merge request espressif/esp-idf!29498
2024-03-13 22:31:08 +08:00
Rahul Tank
11c03bca53 Merge branch 'contrib/github_pr_13034' into 'master'
docs(nimble): Fixed typo in examples/bluetooth/nimble/blehr/README (GitHub PR)

Closes IDFGH-11956

See merge request espressif/esp-idf!29594
2024-03-13 20:40:06 +08:00
Rahul Tank
edc5466a80 Merge branch 'feature/add_doc_for_p4' into 'master'
docs(nimble): Added gpio configuration table for esp32p4

See merge request espressif/esp-idf!29598
2024-03-13 20:37:13 +08:00
Jiang Jiang Jian
c97fc4c282 Merge branch 'bugfix/fix_the_spiram_malloc_issue_in_wifi_mesh' into 'master'
fix(wifi): fixed the spiram malloc issue in wifi mesh

Closes IDFGH-12234

See merge request espressif/esp-idf!29472
2024-03-13 20:18:00 +08:00
Nachiket Kukade
ed704a22a8 fix(wpa_supplicant): Suppress RSN IE print to Verbose level 2024-03-13 20:10:20 +08:00
Jiang Jiang Jian
56c96a0878 Merge branch 'feature/support_to_scan_long_time_at_coexist' into 'master'
feat(coex): support to scan long time on channel, fix coexist sync issue

Closes WIFIBUG-427 and WIFI-6492

See merge request espressif/esp-idf!29590
2024-03-13 19:56:12 +08:00
Tomáš Rohlínek
7854b955a1 fix(storage/fatfs): make wl_fatfsgen.py safe mode aware 2024-03-13 12:49:49 +01:00
Gao Xu
b50a52f17c Merge branch 'refactor/adc_dma_apis_on_32_s2' into 'master'
refactor(ADC): move dma_ll functions  in ADC hal layer to ADC driver layer

Closes IDF-8570

See merge request espressif/esp-idf!27474
2024-03-13 19:47:40 +08:00
morris
2a9c03d2f1 Merge branch 'bugfix/update_esp32p4_rom_caps' into 'master'
fix(esp_rom): Update esp32p4 rom caps

See merge request espressif/esp-idf!28967
2024-03-13 17:53:29 +08:00
harshal.patil
bc899d0bad ci(esp-tls): Fix test-specific leak for ESP32-P4 2024-03-13 15:22:07 +05:30
harshal.patil
e8268d8b6b feat(hal/aes): use RCC atomic block to enable/reset the AES peripheral 2024-03-13 15:22:07 +05:30
harshal.patil
2abb656ba2 feat(mbedtls/aes): Support AES-DMA operations by satisfying L1 cache alignment requirements
- Use DMA RX done interrupt status bit while waiting for DMA rx transfer
2024-03-13 15:22:07 +05:30
harshal.patil
9b15189583 change(mbedtls): replace Cache ROM APIs usage with APIs from esp_cache.h
- Only APIs used in esp_crypto_shared_gdma and aes have been replaced
- Get dcache line size using cache api instead of Kconfig
2024-03-13 15:22:07 +05:30
harshal.patil
a6012c9e5a feat(mbedtls/aes): add AES peripheral support for esp32p4 2024-03-13 15:22:06 +05:30
harshal.patil
83dd60307f feat(mbedtls/esp_crypto_shared_gdma): support AXI-DMA in the crypto shared gdma layer
- In case of AXI-DMA, the DMA descriptors need to be 8 bytes aligned
lldesc_t do not satify this condition thus we need to replace it with
dma_descriptor_t (align(4) and align(8)) in esp_crypto_shared_gdma.

- Added new shared gdma start API that supports the dma_descriptor_t
DMA descriptor.

- Added some generic dma descriptor macros and helper functions

- replace lldesc_t with dma_descriptor_t
2024-03-13 15:22:06 +05:30
harshal.patil
2c570ed53b change(mbedtls/aes): moved esp_aes_internal.h to be a private header
- Also enable AES-GCM test in the hal crypto test app for all targets
2024-03-13 15:22:06 +05:30
morris
9b8fd65221 feat(rmt): basic driver support on esp32c5 2024-03-13 17:37:47 +08:00
Marius Vikhammer
a32fb07e7b feat(ulp): add basic support for running lp core on C5 2024-03-13 17:37:29 +08:00
morris
abb6690f7d change(rmt): cache sync logic enhancement 2024-03-13 17:32:54 +08:00
daiziyan
9ab87226fe docs:sync up CN translation for several documents 2024-03-13 17:19:32 +08:00
Island
556d71b97f Merge branch 'bugfix/BT-3491' into 'master'
bugfix(ble_mesh): Avoid provisioner handling messages from nodes that have...

Closes BT-3491 and BLEMESH-437

See merge request espressif/esp-idf!27087
2024-03-13 17:16:38 +08:00
Island
950b728f5c Merge branch 'bugfix/BLEQABR23-798' into 'master'
bugfix(ble_mesh): Close BLEQABR23-798

Closes BLEQABR23-798 and BLERP-209

See merge request espressif/esp-idf!26776
2024-03-13 17:16:13 +08:00
Island
222f066691 Merge branch 'feature/ble_mesh_update_document_link' into 'master'
feat(ble_mesh): update the link of BLE-MESH 1.1 specification and model specification

See merge request espressif/esp-idf!26042
2024-03-13 17:16:03 +08:00
Mahavir Jain
6dd040a61b Merge branch 'update/update_certs_bundle' into 'master'
Update esp_crt_bundle certificates

See merge request espressif/esp-idf!29562
2024-03-13 15:42:31 +08:00
wangjialiang
ae97d9aecf feat(ble_mesh): update the link of BLE-MESH 1.1 specification and model specification 2024-03-13 15:36:18 +08:00
Island
aad5ee56ec Merge branch 'bugfix/cleanup_ble_mesh_examples_sdkconfig' into 'master'
ci(ble/mesh): cleanup BLE Mesh examples sdkconfig

Closes IDF-8490

See merge request espressif/esp-idf!27224
2024-03-13 15:17:40 +08:00
Marius Vikhammer
a51942ae75 Merge branch 'refactor/esp_rom_cmake' into 'master'
refactor(esp_rom): refactor rom LD inclusions to make it easier to add new targets

Closes IDF-8673

See merge request espressif/esp-idf!29455
2024-03-13 14:18:33 +08:00
Roshan Bangar
e9a866297d docs(nimble): Added gpio configuration table for esp32p4 2024-03-13 11:48:15 +05:30
Shu Chen
c97077c607 Merge branch 'feature/add_cli_in_openthread_sleep_example' into 'master'
feat(openthread): add cli in openthread sleep example

See merge request espressif/esp-idf!29389
2024-03-13 14:15:12 +08:00
Aditya Patwardhan
3312e50006 Merge branch 'fix/aes_gcm_coverity_reports' into 'master'
fix(mbedtls/aes-gcm): Fix null pointer derefernce coverity reports

See merge request espressif/esp-idf!29568
2024-03-13 14:14:08 +08:00
Kevin (Lao Kaiyao)
8b3821ca67 Merge branch 'feature/update_hal_files_for_c5mp' into 'master'
feat(esp32c5mp): update hal files for esp32c5 mp (Stage 3/8)

See merge request espressif/esp-idf!29517
2024-03-13 14:09:59 +08:00
Wan Lei
794eec3483 Merge branch 'feat/c6lite_c61_soc_part3_build' into 'master'
feat(esp32c61): add & modify soc header files to pass build (stage 2/8 part 3/3)

See merge request espressif/esp-idf!29482
2024-03-13 14:03:43 +08:00
Alex Verschoot
3d39291106 Update README.md
Fix typo
2024-03-13 13:39:41 +08:00
Rahul Tank
aa6e49e60f Merge branch 'bugfix/reconnect_host_based' into 'master'
fix(nimble): Added ble_host_rpa_enabled flag for address resoultion for esp32

See merge request espressif/esp-idf!29479
2024-03-13 12:15:21 +08:00
C.S.M
7d59160d50 Merge branch 'fix/cpu_high_occupation' into 'master'
fix(i2c): Fix I2C synchronous transaction cost so much CPU source

See merge request espressif/esp-idf!29443
2024-03-13 12:10:34 +08:00
Marius Vikhammer
1e64c458b2 docs(ulp): updated lp core docs with P4 related info 2024-03-13 12:01:30 +08:00
wuzhenghui
0fc97f0e84 feat(gpio): support LP_IO clock gating management 2024-03-13 11:56:14 +08:00
wangjialiang
4b347ba1ad update invalid links in the ble mesh example documentation 2024-03-13 11:38:27 +08:00
luoxu
36297f93e7 bugfix(ble_mesh): Avoid provisioner handling messages from nodes that have already left the network. 2024-03-13 11:38:27 +08:00
luoxu
99744ec1b9 bugfix(ble_mesh): Close BLEQABR23-798 2024-03-13 11:32:40 +08:00
Mahavir Jain
2b17acb4b0 Merge branch 'bugfix/memprot_cleanup' into 'master'
fix: cleanup memprot files for C6/H2/P4

See merge request espressif/esp-idf!29556
2024-03-13 11:12:52 +08:00
liuning
1cf760b73f feat(coex): support to scan long time on channel, fix coexist sync issue 2024-03-13 10:54:41 +08:00
Jiang Jiang Jian
5469c1b6ab Merge branch 'bugfix/fix_typo' into 'master'
fix(wifi): fix typo in wifi headers

Closes WIFIBUG-447, WIFI-6306, and IDFGH-11564

See merge request espressif/esp-idf!29584
2024-03-13 10:32:07 +08:00
xiaqilin
57189ec1a7 feat(openthread): add cli in openthread sleep example 2024-03-13 10:24:34 +08:00
Island
3dc9d6652b Merge branch 'bugfix/ble_update_lib_20240306' into 'master'
update lib on master

Closes BLERP-562, BLERP-600, BLERP-557, BLERP-601, BLERP-602, and BLERP-603

See merge request espressif/esp-idf!29435
2024-03-13 10:18:05 +08:00
C.S.M
4518a2a48c Merge branch 'bugfix/jpg_memory_lead' into 'master'
fix(jpeg): Fix memory leak on jpeg decoder

Closes IDF-9402

See merge request espressif/esp-idf!29571
2024-03-13 09:53:15 +08:00
Alexey Lapshin
27085260c8 Merge branch 'fix/gdbstub_psram_for_esp32p4' into 'master'
feat(gdbstub): fix access to PSRAM for esp32p4

See merge request espressif/esp-idf!29586
2024-03-13 04:36:24 +08:00
Tomas Rezucha
348d4ef18d fix(usb/examples): Fix UVC example crash on non-UVC device connection 2024-03-12 20:19:12 +01:00
Sonika Rathi
a7d1da94b9 Merge branch 'update/add_esp_vfs_console_component' into 'master'
fix(esp_vfs_console): add esp_vfs_console component

Closes IDFGH-11900

See merge request espressif/esp-idf!28655
2024-03-12 23:37:41 +08:00
Darshan Dobariya
016df4cbde fix(nimble): Added ble_host_rpa_enabled flag for address resoultion for esp32 2024-03-12 20:57:01 +05:30
Darian
eeb71ca1af Merge branch 'feature/freertos_enable_app_task_tag' into 'master'
feat(freertos): Add application task tag support

Closes IDF-6410

See merge request espressif/esp-idf!29514
2024-03-12 22:36:20 +08:00
Alexey Lapshin
18e0fe7842 feat(gdbstub): fix access to PSRAM for esp32p4 2024-03-12 18:10:32 +04:00
Guillaume Souchere
d0b97fbd6b Merge branch 'refactor/decouple-psram-init-from-essp-system' into 'master'
refactor(esp_psram): Decouple psram init from esp_system

Closes IDF-8769

See merge request espressif/esp-idf!29042
2024-03-12 21:01:59 +08:00
muhaidong
7fb8af4e5b fix(doc): update api esp_wifi_sta_get_rssic docs
Closes https://github.com/espressif/esp-idf/issues/12685
2024-03-12 20:33:52 +08:00
Konstantin Kondrashov
c571ad1954 Merge branch 'feature/use_pri_macro_in_all_logs' into 'master'
feat(all): Use PRIx macro in all logs

Closes IDF-9088

See merge request espressif/esp-idf!29276
2024-03-12 20:26:16 +08:00
Adam Múdry
40de3816ec fix(fatfs): Fix leak of malloced FIL struct
In esp_vfs_fat_create_contiguous_file and esp_vfs_fat_test_contiguous_file functions
2024-03-12 13:25:09 +01:00
alanmaxwell
80266a876d fix(wifi): fix typo in wifi headers 2024-03-12 20:16:44 +08:00
Roland Dobai
2973e7acba Merge branch 'feat/add_esp32_p4_test' into 'master'
feat: add first version of tests for P4

Closes IDF-8918

See merge request espressif/esp-idf!29106
2024-03-12 19:50:51 +08:00
wanlei
616c72b96c feat(esp32c61): add & modify soc header files pass build (part 3/3) 2024-03-12 18:53:28 +08:00
Rahul Tank
7636c1d64c Merge branch 'bugfix/fix_strict_prototype_hid' into 'master'
fix(nimble): Address compilation errors when strict-prototype is enabled

See merge request espressif/esp-idf!29513
2024-03-12 18:53:21 +08:00
C.S.M
ff976c3c31 Merge branch 'bugfix/flash_mxic_chip' into 'master'
fix(spi_flash): Fix MXIC chip flash size detected wrong

See merge request espressif/esp-idf!29539
2024-03-12 18:35:38 +08:00
Jakob Hasse
a88dd2b464 Merge branch 'fix/log_buffer' into 'master'
fix(log): Fixed incorrect argument type in hexdump log functions

Closes IDFGH-12312

See merge request espressif/esp-idf!29550
2024-03-12 18:27:06 +08:00
Fu Hanxi
7641776ae2 ci: support filter pytest with sdkconfig name 2024-03-12 11:16:39 +01:00
Konstantin Kondrashov
3f89072af1 feat(all): Use PRIx macro in all logs 2024-03-12 11:15:53 +02:00
wangjialiang
a9c1641792 ci(ble/mesh): cleanup BLE Mesh examples sdkconfig 2024-03-12 16:58:19 +08:00
Marius Vikhammer
08d1460f15 Merge branch 'feature/c5_rom_bootloader' into 'master'
feat(c5): update bootloader component for C5

Closes IDF-8653

See merge request espressif/esp-idf!29458
2024-03-12 16:11:24 +08:00
Marius Vikhammer
02f2f36588 Merge branch 'docs/remove_ulp_deep_sleep_example' into 'master'
docs(deep_sleep): removed mentions of ULP in deep sleep example readme

Closes IDFGH-12305

See merge request espressif/esp-idf!29523
2024-03-12 16:10:03 +08:00
Ondrej Kosta
2d290e5d69 ci(esp_eth): increased L2 test wait for connection timeout 2024-03-12 09:09:40 +01:00
Marius Vikhammer
6497ef3551 Merge branch 'fix/p4_app_boot_cache_issue' into 'master'
fix(bootloader): fixed P4 bootloader being able to boot with certain configs

Closes IDF-8989

See merge request espressif/esp-idf!29484
2024-03-12 16:02:38 +08:00
Jiang Jiang Jian
f92162efd8 Merge branch 'bugfix/dpp_example_init_error' into 'master'
fix(wifi/example): Fix dpp example init error

Closes IDFGH-11656

See merge request espressif/esp-idf!27984
2024-03-12 15:38:21 +08:00
zhangyanjiao
82e8c02efb fix(wifi): fixed the spiram malloc issue in wifi mesh
Closes https://github.com/espressif/esp-idf/issues/13285
2024-03-12 15:37:32 +08:00
harshal.patil
343a6f47ab fix(mbedtls/aes-gcm): Fix null pointer derefernce coverity reports
- Also fixed a tcp_transport and https_server report
2024-03-12 12:36:00 +05:30
Tomas Rezucha
fa2986fdef Merge branch 'feat/usb_host_sync_types' into 'master'
Add synchronization types from USB specs table 9-13

See merge request espressif/esp-idf!29263
2024-03-12 14:48:16 +08:00
Cao Sen Miao
4881a2aca0 fix(jpeg): Fix memory leak on jpeg decoder 2024-03-12 14:45:55 +08:00
Michael (XIAO Xufeng)
4ee54026e3 Merge branch 'bugfix/fix_fastmem_slowmem_lost_data_bug' into 'master'
[C3/S3]Fix sleep fast_mem & slow_mem may lost bug

See merge request espressif/esp-idf!27571
2024-03-12 11:32:00 +08:00
gaoxu
bc98bdc087 refactor(adc): refactor dma ll functions on adc continuous mode 2024-03-12 11:12:48 +08:00
Jakob Hasse
bc46f3ac05 Merge branch 'docs/fix_spiram_mistake' into 'master'
docs(heap): Fixed mistake in the heap allocator docs

Closes IDFGH-12318

See merge request espressif/esp-idf!29526
2024-03-12 11:12:24 +08:00
Jakob Hasse
99e20e83c2 Merge branch 'docs/esp_event_doc_fix' into 'master'
docs(esp_event): Fixed mistake in API docs

Closes IDFGH-12311

See merge request espressif/esp-idf!29524
2024-03-12 10:28:32 +08:00
Jakob Hasse
1deef8bee9 docs(heap): Fixed mistake in the heap allocator docs
Closes https://github.com/espressif/esp-idf/issues/13353
2024-03-12 10:24:35 +08:00
wuzhenghui
92849e660e fix(mbedtls): fixing ecdsa's dependence on ecc_mult clock 2024-03-12 10:10:42 +08:00
wuzhenghui
0b920ec08a change(esp_phy): close esp32h2 rf pll by default 2024-03-12 10:10:41 +08:00
wuzhenghui
9e8e20227f feat(system): disable RNG module clock by default for save power 2024-03-12 10:10:41 +08:00
wuzhenghui
2a251982fc feat(system): add option to allow user disable assist_debug module to save power 2024-03-12 10:10:40 +08:00
wuzhenghui
b0fa4565a1 feat(system): add option to allow user disable USJ module to save power 2024-03-12 10:10:36 +08:00
Espressif BOT
bebdf7b989 change(mbedtls/crt_bundle): Update esp_crt_bundle certificates 2024-03-12 10:00:36 +08:00
Marius Vikhammer
83d1c2f054 refactor(esp_rom): refactor rom LD inclusions to make it easier to add new targets 2024-03-12 09:48:46 +08:00
laokaiyao
b1a3e92f2a fix(esp32c5mp): fix public headers 2024-03-11 20:45:09 +08:00
Mahavir Jain
fd6c710b27 fix: cleanup memprot files for C6/H2/P4
There is no separate permission control peripheral in C6/H2/P4.
Memory protection is achieved using built-in PMA/PMP and hence
removing permission control specific files.
2024-03-11 17:10:40 +05:30
Jakob Hasse
6317789c59 fix(log): Fixed incorrect argument type in hexdump log functions
Closes https://github.com/espressif/esp-idf/issues/13347
Thanks @matthew-8925
2024-03-11 18:54:06 +08:00
Guillaume Souchere
8a8ed00852 refactor(esp_psram): Decouple psram init from esp_system 2024-03-11 11:50:43 +01:00
laokaiyao
71257c6ef4 feat(esp32c5mp): update hal files for esp32c5 mp 2024-03-11 17:23:43 +08:00
sonika.rathi
e162903615 fix(esp_vfs_console): add esp_vfs_console component
move vfs_console related init steps from vfs component to new esp_vfs_console component
2024-03-11 10:18:10 +01:00
Roland Dobai
0bbee51829 Merge branch 'contrib/github_pr_13339' into 'master'
docs(kconfig): Correct typo "boolens" to "Booleans" (GitHub PR)

Closes IDFGH-12304

See merge request espressif/esp-idf!29538
2024-03-11 17:03:50 +08:00
Jan Beran
4adc52f94e feat(test_idf_tools): Add tests for esp32p4 for linux and win 2024-03-11 09:33:05 +01:00
Cao Sen Miao
68462ef241 fix(spi_flash): Fix MXIC chip flash size detected wrong,
Closes https://github.com/espressif/esp-idf/issues/12222
2024-03-11 15:19:30 +08:00
Mahavir Jain
8ce8a9e75e Merge branch 'ci/fix_pre_encrytped_ota_failure_in_ci' into 'master'
ci: Fix pre_encrypted_ota example failure in CI

Closes IDFCI-2082

See merge request espressif/esp-idf!29504
2024-03-11 14:03:19 +08:00
Jakob Hasse
11d77d54e8 docs(esp_event): Fixed mistake in API docs
Closes https://github.com/espressif/esp-idf/issues/13346
2024-03-11 11:06:18 +08:00
Shu Chen
54e7b73b44 Merge branch 'bugfix/openthread_rxbuf_using_atomic_variable' into 'master'
fix(openthread): using atomic variable for buffer count

See merge request espressif/esp-idf!29392
2024-03-11 10:32:26 +08:00
Marius Vikhammer
10cd7db12d docs(deep_sleep): removed mentions of ULP in deep sleep example readme
Updated readme to reflect that ULP is no longer a part of this examples
functionality.

Closes https://github.com/espressif/esp-idf/issues/13340
2024-03-11 10:15:37 +08:00
Ethan Bowering
6ed5e98787 docs(kconfig): Correct typo "boolens" to "Booleans" 2024-03-10 12:25:44 -04:00
wuzhenghui
174386f133 ci: enable lightsleep related tests 2024-03-10 10:51:28 +08:00
wuzhenghui
129bfce02e feat(esp_hw_support): support esp32p4 pll start/stop event callback 2024-03-10 10:51:28 +08:00
wuzhenghui
1e17cecd24 feat(example): support esp32p4 timer/gpio/uart sleep wakeup 2024-03-10 10:51:28 +08:00
wuzhenghui
65e9d0ddb9 feat(esp_hw_support): add esp32p4 sleep initial support 2024-03-10 10:51:28 +08:00
wuzhenghui
856f043331 feat(esp_hw_support): add esp32p4 pmu initial support 2024-03-10 10:51:28 +08:00
morris
60a2bf6a68 Merge branch 'feat/gpio_reserve_rmt' into 'master'
Check GPIO reservation in the RMT driver

Closes IDF-9199 and IDF-9104

See merge request espressif/esp-idf!29130
2024-03-09 23:58:52 +08:00
morris
391a187c11 feat(rmt): check if the gpio number is reserved by others 2024-03-09 10:33:58 +08:00
morris
c952cfb673 feat(gpio): reserve gpio output atomically 2024-03-09 10:33:58 +08:00
Darian Leung
1332f2934a feat(freertos): Add application task tag support
This commit enables support for application task tag.

- Added CONFIG_FREERTOS_USE_APPLICATION_TASK_TAG option
- Added basic unit test
2024-03-09 00:57:37 +08:00
Rahul Tank
c460e1cd7e Merge branch 'bugfix/expose_baud_rate_in_menu' into 'master'
fix(nimble): Exposed the baud rate for hci uart in menuconfig

See merge request espressif/esp-idf!29412
2024-03-08 22:51:20 +08:00
Rahul Tank
d8ab10c978 Merge branch 'features/uart_host_only_tut' into 'master'
docs(nimble): Improved documentation for uart host only example

See merge request espressif/esp-idf!29401
2024-03-08 22:49:46 +08:00
Rahul Tank
9921d5bcfe Merge branch 'bugfix/gap_connect_failed_with_0x0d' into 'master'
fix(nimble): Revise the help section for the Kconfig macro BLE_RPA_TIMEOUT

See merge request espressif/esp-idf!29475
2024-03-08 22:43:22 +08:00
Rahul Tank
de9434549c fix(nimble): Address compilation errors when strict-prototype is enabled 2024-03-08 20:09:30 +05:30
Martin Vychodil
562733365c Merge branch 'update/bump_littlefs_to_1.14.2' into 'master'
feat: LittleFS bump version to 1.14.2

See merge request espressif/esp-idf!29452
2024-03-08 19:45:59 +08:00
Rahul Tank
a93a6ef447 Merge branch 'feat/read_multiple_variable_length' into 'master'
feat(nimble): read multiple variable length characteristics

Closes BLERP-423

See merge request espressif/esp-idf!29054
2024-03-08 19:40:02 +08:00
Omar Chebib
67a2d48940 Merge branch 'bugfix/coredump_switch_stack' into 'master'
fix(espcoredump): Reconfigure the stack guard when using custom coredump stack

See merge request espressif/esp-idf!29355
2024-03-08 19:30:42 +08:00
Harshal Patil
ff3e51885a Merge branch 'fix/incorrect_parent_crypto_clk_reset' into 'master'
fix(hal/crypto): Do not reset parent crypto clk when resetting a crypto peripheral

See merge request espressif/esp-idf!29422
2024-03-08 18:28:54 +08:00
Martin Vychodil
68fe7d6e80 Merge branch 'bugfix/nvs_find_performance' into 'master'
fix(nvs): Fixed Page::findItem performance degradation

See merge request espressif/esp-idf!29483
2024-03-08 18:22:13 +08:00
Dai Zi Yan
23d1cd577d Merge branch 'docs/add_CN_trans_for_system/ulp_instruction_set.rst' into 'master'
docs: Provide Chinese translation for api-reference/system/ulp_instruction_set.rst

Closes DOC-6205

See merge request espressif/esp-idf!25872
2024-03-08 17:43:37 +08:00
Ren Pei Ying
3a9dd08979 docs: Provide Chinese translation for api-reference/system/ulp_instruction_set.rst 2024-03-08 17:43:36 +08:00
Kevin (Lao Kaiyao)
e5c7820fd6 Merge branch 'feature/add_c5mp_soc_files_part2' into 'master'
feat(esp32c5mp): add soc files (stage 2/8, part 2/2)

See merge request espressif/esp-idf!29420
2024-03-08 17:26:09 +08:00
Omar Chebib
9046bf1645 fix(espcoredump): Reconfigure the stack guard when using custom coredump stack 2024-03-08 17:25:42 +08:00
Harshit Malpani
31d30e7eb7 ci: Fix pre_encrypted_ota example failure in CI 2024-03-08 14:49:24 +05:30
Island
56756a799e Merge branch 'bugfix/fix_ble_periodic_adv_params_check' into 'master'
fix(ble/bluedroid): Fixed BLE  periodic advertising create sync parameter check

Closes BLERP-599

See merge request espressif/esp-idf!29442
2024-03-08 16:48:31 +08:00
Xu Si Yu
21c7d7a9d2 fix(vfs): fix eventfd select 2024-03-08 16:11:39 +08:00
Zhang Hai Peng
e7d88505e5 Merge branch 'bugfix/fix_ble_host_crash_on_deinitialization' into 'master'
fix(ble/bluedroid): Fixed BLE crash when repeatedly iniitialize and deinitialize host

Closes BLERP-584 and BLERP-583

See merge request espressif/esp-idf!29319
2024-03-08 15:21:52 +08:00
Roshan Bangar
f95784e4a9 fix(nimble): Exposed the baud rate for hci uart in menuconfig 2024-03-08 13:06:11 +08:00
Jakob Hasse
4d629be602 refactor(linux): Unified libbsd handling
* Users can now use libbsd string.h and sys/cdefs.h functionality
  (e.g., strlcpy, containerof) on Linux by just including
  string.h or sys/cdefs.h. In other words, the includes are the same
  on the Linux target as well as on chips targets (ESP32, etc.).
* libbsd linking is done by the linux component (belongs to common
  components) now instead of handling it separately in each component
2024-03-08 12:26:54 +08:00
Michael (XIAO Xufeng)
2103c3b943 Merge branch 'docs/spi_master_gpio_matrix_esp32_only' into 'master'
docs(spi_master): fixed timing comments that only apply for ESP32

See merge request espressif/esp-idf!29335
2024-03-08 12:20:33 +08:00
laokaiyao
881782f83d feat(esp32c5mp): add soc files part 2 2024-03-08 10:48:25 +08:00
Marius Vikhammer
c90681a167 feat(bootloader): check and update bootloader/bootloader support component for C5 2024-03-08 10:25:21 +08:00
Wan Lei
966f47f5c1 Merge branch 'feat/c5_spi_support' into 'master'
feat(spi): bring up c5 spi master/slave/hd driver

Closes IDF-8698, IDF-8699, and IDF-8700

See merge request espressif/esp-idf!29133
2024-03-08 09:41:21 +08:00
Marius Vikhammer
503b917ca5 fix(bootloader): fixed P4 bootloader being able to boot with certain configs
Due to internal memory being behind a cache on P4 we need to make sure we do
cache write backs when manipulating IRAM over the dcache.
2024-03-08 09:40:32 +08:00
radek.tandler
508d9a6a22 fix(nvs): Fixed Page::findItem performance degradation
Wrong condition gating the hash map use causing performance degradation was corrected

The condition enabling use of hash map when page is searched for Item was modified
to correct the bug introduced by commit addressing delete of any BLOB_INDEX Items.
This correction returns the performance of findItem to the state before previous change.
2024-03-07 19:47:33 +01:00
Sumeet Singh
9f34e4e9d9 feat(nimble): read multiple variable length characteristics 2024-03-07 19:46:54 +05:30
Rahul Tank
8e863fa9a8 Merge branch 'bugfix/handle_callout_free_in_deinit' into 'master'
fix(nimble): Handle memory leak in callout deinit

See merge request espressif/esp-idf!29433
2024-03-07 22:02:17 +08:00
Rahul Tank
b6e0ef0297 Merge branch 'bugfix/add_esp_timer_get_expiry_time' into 'master'
fix(nimble): Add support for esp_timer_get_expiry_time to nimble porting layer

See merge request espressif/esp-idf!29414
2024-03-07 21:48:23 +08:00
Roland Dobai
1f3493da43 Merge branch 'docs/add_qemu_system_deps' into 'master'
docs(qemu): add system dependencies list

See merge request espressif/esp-idf!28433
2024-03-07 21:34:18 +08:00
Erhan Kurubas
4462a2040f Merge branch 'coredump_refactoring' into 'master'
Coredump refactoring

See merge request espressif/esp-idf!29268
2024-03-07 21:23:39 +08:00
Anton Maklakov
686a0e4f0f docs(qemu): add system dependencies list 2024-03-07 20:37:24 +08:00
Tomas Rezucha
c5dd4a827c Merge branch 'fix/bbpll_usb_link_error' into 'master'
fix(esp_phy): Allow "Enable USB when phy init" option only on supported targets

Closes IDFGH-10996 and IDFGH-11554

See merge request espressif/esp-idf!27364
2024-03-07 19:43:01 +08:00
wuzhenghui
85b246ac88 feat(system): gate the debug clock source by default for esp32c6 and esp32h2 2024-03-07 19:26:39 +08:00
wuzhenghui
f5707c6ab8 feat(system): gate the REF_TICK clock by default for esp32c6 and esp32h2 2024-03-07 19:26:38 +08:00
wuzhenghui
60e985e7af feat(system): gate the LP peripheral clock by default for esp32c6 and esp32h2 2024-03-07 19:26:38 +08:00
wuzhenghui
0528c8b4f4 feat(system): gate the HP peripheral clock by default for esp32c6 and esp32h2 2024-03-07 19:26:37 +08:00
wuzhenghui
48e6629987 change(hal): redefine some ll for unsafe calling 2024-03-07 19:26:37 +08:00
Kevin (Lao Kaiyao)
0766d73e5e Merge branch 'bugfix/fix_the_crash_of_ana_cmpr_etm_example' into 'master'
fix(ana_cmpr): fix the crash of the etm example

See merge request espressif/esp-idf!29469
2024-03-07 19:21:23 +08:00
Mo Fei Fei
e9241fd269 Merge branch 'docs/update_cn_trans_intr_alloc.rst' into 'master'
doc: update cn trans intr_alloc.rst

Closes DOC-7265

See merge request espressif/esp-idf!29103
2024-03-07 19:12:31 +08:00
Mo Fei Fei
3812d314d2 doc: update cn trans intr_alloc.rst 2024-03-07 19:12:31 +08:00
laokaiyao
9659a6f2c5 ci(ana_camr): enable example test on p4 2024-03-07 18:36:36 +08:00
wanlei
8625ed252e fix(spi): test_apps mv idf_perform_test to esp_driver_spi domain 2024-03-07 18:16:27 +08:00
wanlei
0cf11e5b87 feat(spi): add esp32c5 spi support 2024-03-07 18:11:48 +08:00
Cao Sen Miao
1517d61add fix(i2c): Fix I2C synchronous transaction cost so much CPU source,
Closes https://github.com/espressif/esp-idf/issues/13137,
Closes https://github.com/espressif/esp-idf/pull/13322
2024-03-07 17:51:23 +08:00
Ondrej Kosta
6a09d98089 feat(esp_eth): added option to configure interrupt priority 2024-03-07 10:30:32 +01:00
Abhinav Kudnar
20ba589f1c fix(nimble): Revise the help section for the Kconfig macro BLE_RPA_TIMEOUT. 2024-03-07 14:40:12 +05:30
Sudeep Mohanty
0de2912f91 Merge branch 'fix/esp_system_requires_esp_gdbstub' into 'master'
fix(esp_system): Updated the CMakeLists.txt to add requirement for esp_gdbstub component

Closes IDFGH-12162

See merge request espressif/esp-idf!29132
2024-03-07 16:24:46 +08:00
Erhan Kurubas
434b096c72 refactor(espcoredump): simplify uart/flash write flow 2024-03-07 16:10:50 +08:00
Erhan Kurubas
91586bbc85 refactor(espcoredump): replace uart and flash callbacks with aliases 2024-03-07 16:10:50 +08:00
Erhan Kurubas
18fc19faf2 refactor(espcoredump): keep checksum context in coredump stack 2024-03-07 16:10:50 +08:00
laokaiyao
5e2c83332f fix(ana_cmpr): fix the crash of the etm example 2024-03-07 15:34:35 +08:00
Darian
dc86c17b38 Merge branch 'feature/freertos_smp_update_to_v11' into 'master'
FreerTOS: Update Amazon SMP FreeRTOS files to V11.0.1

See merge request espressif/esp-idf!28352
2024-03-07 15:03:21 +08:00
Wan Lei
cac16a083f Merge branch 'feat/c6lite_c61_introduce_step2_soc_2' into 'master'
feat(esp32c61): add soc header files (stage 2/8, part 2/3)

See merge request espressif/esp-idf!29431
2024-03-07 14:42:28 +08:00
Guillaume Souchere
e6218d6fb2 Merge branch 'feat/newlib-add-aligned-alloc' into 'master'
feat(newlib): Add definition of aligned_alloc to heap.c

Closes IDF-9112

See merge request espressif/esp-idf!28815
2024-03-07 14:22:38 +08:00
Chen Jian Hua
9c075b9ab0 Merge branch 'bugfix/fix_idfci_1944' into 'master'
Fixed HCI command status event sending for disconnect command on ESP32

Closes BLERP-595 and BLERP-596

See merge request espressif/esp-idf!29373
2024-03-07 10:41:07 +08:00
Chen Jian Hua
d76ac4527d Merge branch 'bugfix/fix_fcs_1385' into 'master'
fix(bt/bluedroid): Fixed crash when calculating GATTS database hash

See merge request espressif/esp-idf!28788
2024-03-07 10:40:32 +08:00
Adam Múdry
5136081cf3 feat: LittleFS bump version to 1.14.2 2024-03-07 01:25:52 +01:00
Darian
64c1ed24af Merge branch 'refactor/usbh_event_callback_api' into 'master'
refactor(usb): Update USBH event callback arguments

See merge request espressif/esp-idf!29199
2024-03-07 02:55:48 +08:00
Darian Leung
411e5481e7 refactor(usb): Remove USBH control transfer callback
This commit merges the USBH control transfer callback into the USBH event
callback. This simplifies the code as the USBH now uses a single callback.
2024-03-06 23:09:17 +08:00
Darian Leung
ec2f08ace6 refactor(usb): Update USBH event callback arguments
This commit does the following:

- Updates the USBH event callback arguments to now pass a usbh_event_data_t
which can contain different data for each event
- Updated event names
2024-03-06 23:09:16 +08:00
Jiang Guang Ming
60894143d7 Merge branch 'bugfix/update_esp32p4lp_rom_ld_files' into 'master'
fix(esp_rom): Update esp32p4lp rom ld files

See merge request espressif/esp-idf!28966
2024-03-06 20:40:53 +08:00
morris
3f76aca0a3 Merge branch 'contrib/github_pr_13256' into 'master'
Use __builtin_unreachable in HAL_ASSERT no-assert mode (GitHub PR)

Closes IDFGH-12202

See merge request espressif/esp-idf!29237
2024-03-06 18:45:29 +08:00
zhanghaipeng
2c3d9ae5de fix(ble/bluedroid): Fixed BLE BLE periodic advertising parameter check 2024-03-06 18:10:30 +08:00
Rahul Tank
20eda4bb26 fix(nimble): Handle memory leak in callout deinit 2024-03-06 15:40:22 +05:30
Guillaume Souchere
a7bd00eacc feat(newlib): Add definition of aligned_alloc to heap.c
Add the definition of aligned_alloc to the list of
definitions provided by heap.c.

Note that memalign (strictly equivalent) to aligned_alloc
is already defined in heap.c.
2024-03-06 11:06:14 +01:00
Alexey Lapshin
3359694717 Merge branch 'update/rom-elfs-to-20240305' into 'master'
feat(tools): update esp-rom-elf to version 20240305

See merge request espressif/esp-idf!29428
2024-03-06 18:01:06 +08:00
Jakob Hasse
d55333cb78 Merge branch 'refactor/format_cxx' into 'master'
refactor(cxx): formatted according to IDF astyle rules

See merge request espressif/esp-idf!29417
2024-03-06 17:45:57 +08:00
Rahul Tank
06dc388b21 Merge branch 'bugfix/addr_resol_for_esp32' into 'master'
fix(nimble): Added the check to prevent address resolution in case of identity addr for esp32

Closes BLERP-580 and BLERP-594

See merge request espressif/esp-idf!29297
2024-03-06 17:37:17 +08:00
Guillaume Souchere
2ade4d3458 Merge branch 'feat/movee_heap_init_into_component' into 'master'
refactor(heap): decouple heap_init from esp_system

Closes IDF-8754

See merge request espressif/esp-idf!29024
2024-03-06 17:36:59 +08:00
morris
d0509988a2 feat(mipi_dsi): use DCS short packet when possible 2024-03-06 17:25:09 +08:00
zhanghaipeng
82c2602afa fix(ble/bluedroid): Fixed BLE crash when repeatedly initialize and deinitialize host 2024-03-06 15:49:01 +08:00
Kevin (Lao Kaiyao)
9d381c2ae8 Merge branch 'feature/i2s_support_more_mclk_multiples' into 'master'
feat(i2s): support more mclk_multiples

See merge request espressif/esp-idf!29177
2024-03-06 15:47:57 +08:00
Kevin (Lao Kaiyao)
413c53d39a Merge branch 'feature/support_esp32c5_mp_target' into 'master'
feat(esp32c5mp): add soc files (stage 2/8, part 1/2)

See merge request espressif/esp-idf!29369
2024-03-06 14:19:40 +08:00
zwl
bc3bb46f13 ble(update):
Update h2 lib to d0218de8
Update c6 lib to d0218de8
2024-03-06 14:17:14 +08:00
Marius Vikhammer
efc3f9fa88 Merge branch 'bugfix/rom_systimer_config' into 'master'
fix(rom): fixed systimer always using ROM implementation

See merge request espressif/esp-idf!29354
2024-03-06 12:26:06 +08:00
Marius Vikhammer
501628e5e8 Merge branch 'bugfix/linux_target_esp_common_strlcpy' into 'master'
fix(linux_target): fix esp_err_to_name failing to compile on linux

See merge request espressif/esp-idf!29285
2024-03-06 11:55:58 +08:00
morris
be8033701c fix(hal): use __builtin_unreachable in no-assert mode
otherwise due to esp-idf using -Werror, we can get errors in code which
uses HAL_ASSERT if for example the compiler believes that a variable is
used uninitialised, or similar.

Inspired by https://github.com/espressif/esp-idf/pull/13256
2024-03-06 11:50:32 +08:00
wanlei
aec7aa3416 feat(esp32c61): add soc header files (2/2) 2024-03-06 11:42:14 +08:00
Island
7b32d26e8b Merge branch 'feat/support_get_bluedroid_status' into 'master'
feat(bt/bluedroid): Add ext adv and privacy status check

Closes BLERP-468

See merge request espressif/esp-idf!29218
2024-03-06 11:41:55 +08:00
Island
be29217eeb Merge branch 'bugfix/fix_some_bluedroid_bugs_2402' into 'master'
fix(bt/blufi): Fixed BluFi module link error(C++ hybrid compilation)

See merge request espressif/esp-idf!29220
2024-03-06 11:41:50 +08:00
Omar Chebib
eeb5e2f080 Merge branch 'refactor/cpu_interrupt_table' into 'master'
refactor(Core System/Interrupts): changed reserved interrupt functions to be now defined per SoC

Closes IDF-5728

See merge request espressif/esp-idf!29020
2024-03-06 11:26:17 +08:00
Mo Fei Fei
c42b8399c4 Merge branch 'docs/update_cn_trans_fatal_errors' into 'fix/esp_system_requires_esp_gdbstub'
docs: update cn trans fatal-errors

See merge request espressif/esp-idf!29419
2024-03-06 10:35:02 +08:00
Wan Lei
84f27d65f6 Merge branch 'feat/c6lite_c61_introduce_step2_soc' into 'master'
feat(esp32c61): add soc peripheral header files (stage 2/8, part 1/2)

See merge request espressif/esp-idf!29353
2024-03-06 10:30:39 +08:00
laokaiyao
97835c3c92 feat(i2s): support more mclk_multiples 2024-03-06 10:22:27 +08:00
Jiang Jiang Jian
b25cd5232a Merge branch 'bugfix/fix_pbuf_assert_when_recycle_cache_sub_amsdu_eb_issue' into 'master'
fix(wifi): fix some amsdu issue

Closes WIFIBUG-4 and WIFIBUG-317

See merge request espressif/esp-idf!29403
2024-03-06 10:20:39 +08:00
C.S.M
831c354cf6 Merge branch 'contrib/github_pr_13090' into 'master'
Update temp_sensor.rst documentation to match example (GitHub PR)

Closes IDFGH-12025

See merge request espressif/esp-idf!28846
2024-03-06 10:11:40 +08:00
BOT
c07862cee8 Update temp_sensor.rst documentation to match example (GitHub PR) 2024-03-06 10:11:40 +08:00
Guillaume Souchere
32db5e4f6b Merge branch 'tests/esp32p4-console-support' into 'master'
test(console): add esp32p4 target support to console tests and example

Closes IDF-8105 and IDF-8078

See merge request espressif/esp-idf!28834
2024-03-06 10:09:03 +08:00
Marius Vikhammer
b809267359 fix(rom): fixed systimer always using ROM implementation 2024-03-06 09:47:12 +08:00
Roland Dobai
9b02e86ca6 Merge branch 'ci/full_fetch_while_check_version' into 'master'
ci: use full fetch while checking git tags

See merge request espressif/esp-idf!29426
2024-03-05 23:45:58 +08:00
Alexey Lapshin
044f667a9b feat(tools): update esp-rom-elf to version 20240305 2024-03-05 19:32:53 +04:00
Fu Hanxi
4b17811c86 ci: use full fetch while checking git tags 2024-03-05 15:38:02 +01:00
Mahavir Jain
9f4e8eb0cd Merge branch 'feature/re_enable_mbedtls_testapp_on_p4' into 'master'
feat: re enables tests on p4

Closes IDF-8982

See merge request espressif/esp-idf!29150
2024-03-05 22:08:28 +08:00
Tomas Rezucha
65515487a9 Merge branch 'revert-f68c131e' into 'master'
Revert "Merge branch 'ci/disable_p4_cdc_acm_host' into 'master'"

Closes IDFCI-2042

See merge request espressif/esp-idf!29418
2024-03-05 21:26:25 +08:00
hongshuqing
d78805670a fix: fix_maximum_value_of_config_rtc_clk_cal_cycle_bug 2024-03-05 19:33:30 +08:00
Darian
b7428bcf7d Merge branch 'bugfix/freertos_tick_hook_build_issue' into 'master'
fix(freertos/idf): Fix build error when CONFIG_FREERTOS_USE_TICK_HOOK is enabled

Closes IDFGH-12247

See merge request espressif/esp-idf!29380
2024-03-05 19:26:58 +08:00
muhaidong
736e4f2fe5 fix(wifi): fix some amsdu issue
1. limit the number of sub amsdu
2. fix recycle cache sub amsdu eb issue
2024-03-05 19:06:09 +08:00
sonika.rathi
0e5793b270 feat(vfs): Add function to dump VFS file descriptors 2024-03-05 18:03:27 +08:00
Ondrej Kosta
131dfbef9b Merge branch 'feature/p4_spi_eth' into 'master'
Ethernet Examples: added default GPIO for SPI

Closes IDF-8073 and IDF-7488

See merge request espressif/esp-idf!29407
2024-03-05 17:57:02 +08:00
Mahavir Jain
842a658322 Merge branch 'feature/add_jtag_re_enable_example' into 'master'
feat: add example to re-enable jtag using hmac peripheral

Closes IDF-6909 and IDF-6910

See merge request espressif/esp-idf!26672
2024-03-05 17:52:59 +08:00
nilesh.kale
f6a7fb13cd feat: re enables tests on p4
This commit re-enables mbedtls and hal/crypto testapos on p4.
2024-03-05 17:48:05 +08:00
harshal.patil
2b6f12ba51 fix(hal/crypto): Do not reset parent crypto clk when resetting a crypto peripheral 2024-03-05 15:08:08 +05:30
Abhinav Kudnar
2bd7f672cb fix(nimble): Added the check to prevent address resolution in case of identity addr for esp32 2024-03-05 14:56:02 +05:30
Tomas Rezucha
832a706eb5 revert(usb_host): Revert temporary disable cdc_acm_vcp test for P4
This reverts commit b1bbca60ee
2024-03-05 10:04:10 +01:00
Rahul Tank
b2c9d7a834 fix(nimble): Add support for esp_timer_get_expiry_time to nimble porting layer 2024-03-05 14:28:24 +05:30
Mahavir Jain
c8651c1041 Merge branch 'docs/custom_endpoint_response_memory_allocation' into 'master'
docs(wifi_provisioning): Use heap to allocate memory for the response

Closes IDFGH-12210

See merge request espressif/esp-idf!29402
2024-03-05 16:30:36 +08:00
laokaiyao
a56b575535 feat(esp32c5mp): add soc files part 1
The files in this part are auto generated
2024-03-05 16:18:02 +08:00
laokaiyao
cfc1584594 feat(esp32c5): support to set esp32c5 mp target in Kconfig 2024-03-05 16:17:53 +08:00
mofeifei
3dc5bfd58b docs: update cn trans fatal-errors 2024-03-05 15:52:37 +08:00
Darian Leung
48a7f053d5 feat(freertos/smp): Update other IDF components to be compatible with FreeRTOS v11.0.1 2024-03-05 15:44:12 +08:00
Darian Leung
83c686c744 feat(freertos/smp): Update ports to support Amazon FreeRTOS v11.0.1
- vTaskPreemptionDisable()/vTaskPreemptionEnable() are no longer available in
single-core builds.
- xTaskIncrementTick() calls must now be wrapped by critical section
- Minimal Idle Task renamed to Passive Idle Task
- Port critical section APIs updated
2024-03-05 15:44:12 +08:00
Darian Leung
888678d102 feat(freertos/smp): Add ESP-IDF specific modifications
- Add ESP-IDF specific modifications to FreeRTOS-Kernel-SMP source code
- Update IDF addition source files to support V11 kernel
2024-03-05 15:44:12 +08:00
Darian Leung
421dab29fa feat(freertos/smp): Update SMP FreeRTOS files to V11.0.1
This commit updates the source files of Amazon SMP FreeRTOS to upstream
V11.0.1 (https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/V11.0.1).

This version contains SMP support.
2024-03-05 15:44:11 +08:00
Peter Marcisovsky
0286a78ca4 Merge branch 'ci/usb_host_add_esp32s3_runners' into 'master'
ci(USB): Add ESP32-S3 runners to USB CI:

Closes IDF-9365 and IDFCI-2074

See merge request espressif/esp-idf!29219
2024-03-05 15:39:49 +08:00
Jakob Hasse
0c01c5965e refactor(cxx): formatted according to IDF astyle rules 2024-03-05 14:49:04 +08:00
Guillaume Souchere
e2144e01c1 refactor(heap): decouple heap_init from esp_system 2024-03-05 07:30:38 +01:00
Xu Si Yu
89962a16ab feat(openthread): support configuring indicator color of openthread device 2024-03-05 14:26:24 +08:00
Guillaume Souchere
0b9f01ac20 feat(soc): Add soc_caps macros for sleep support
- modify console example to use the new SOC_LIGHT_SLEEP_SUPPORTED
and SOC_DEEP_SLEEP_SUPPORTED macros when registering sleep commands

- remove exclusion of esp32p4 in basic and advanced example in
.build-test-rules.yml

- replace exclusion of esp32p4 for deep and light sleep tests with newly introduced macro

- remove the temporary disable check for esp32p4 and uses the
SOC_LIGHT_SLEEP_SUPPORTED maccro instead.
2024-03-05 07:05:40 +01:00
Marius Vikhammer
5f85aefe0d Merge branch 'reformat/astyle_misc_core_comps' into 'master'
refactor(core): reformat newlib and pthread with astyle

See merge request espressif/esp-idf!29277
2024-03-05 12:54:20 +08:00
Shang Zhou
c3d7ef1a0f Merge branch 'docs/sync_api-guides_files' into 'master'
docs: sync low-power-mode and usb-serial-jtag-console

Closes DOC-7008

See merge request espressif/esp-idf!29368
2024-03-05 11:48:56 +08:00
Wan Lei
3459db1bbb Merge branch 'feat/c6lite_c61_introduce_step1_target' into 'master'
feat(esp32c61): introduce target esp32c61 (1/8) 🌱

See merge request espressif/esp-idf!29238
2024-03-05 11:36:17 +08:00
Jakob Hasse
64d37664b4 Merge branch 'refactor/cxx_startup_function_cleanup' into 'master'
refactor(cxx): moved C++ init functions to cxx component

Closes IDF-8768

See merge request espressif/esp-idf!29095
2024-03-05 10:17:42 +08:00
C.S.M
0f03434119 Merge branch 'feature/tsens_etm' into 'master'
feature(temperature sensor): Temperature sensor ETM support.

Closes IDF-6357

See merge request espressif/esp-idf!28880
2024-03-05 10:09:25 +08:00
Jakob Hasse
32ecb0411c Merge branch 'fix/console_linux_target_mac' into 'master'
fix(linux): prevent build error on MacOS and optimize buffer usage on Linux

See merge request espressif/esp-idf!29176
2024-03-05 09:59:55 +08:00
Tomas Rezucha
ea086840a4 fix(esp_phy): Allow WiFi/USB interference workaround option only on supported targets
"Enable USB when phy init" Kconfig option would call esp_phy function
`phy_bbpll_en_usb()` that is not implemented for all targets.
Selecting this option for unsupported target results in linking error.

The necessity of this workaround is now defined soc_caps.h rather than
in the Kconfig.

Closes https://github.com/espressif/esp-idf/issues/12185
2024-03-04 16:35:51 +01:00
Ondrej Kosta
6643798227 feat(esp_eth): added configuration of SPI ETH for ESP32P4 ETH examples 2024-03-04 16:23:40 +01:00
Darian Leung
f9965e3092 change(freertos): Test tick and idle hooks in options test
Add CONFIG_FREERTOS_USE_TICK_HOOK and CONFIG_FREERTOS_USE_IDLE_HOOK to
sdkconfig.ci.freertos_options to ensure those options are tested.
2024-03-04 22:34:13 +08:00
Darian Leung
dec3786d30 fix(freertos/idf): Fix build error when CONFIG_FREERTOS_USE_TICK_HOOK is enabled
Closes https://github.com/espressif/esp-idf/issues/13297
2024-03-04 22:34:12 +08:00
chenjianhua
66df2b9dd5 fix(bt): Update bt lib for ESP32(5ea2fca)
- Fixed HCI command status event sending for disconnect command
- Fixed LE transmitter test command param check
2024-03-04 21:19:33 +08:00
Adam Múdry
b76123af06 Merge branch 'feature/fatfs_expand_files_api' into 'master'
feat(fatfs): Allow expanding files with seeking and truncating functions

Closes IDFGH-12035

See merge request espressif/esp-idf!28945
2024-03-04 20:56:44 +08:00
Ondrej Kosta
292e5d2cf4 Merge branch 'bugfix/esp_eth_format_warning' into 'master'
fix(esp_eth): Removed -Wno-format in esp_eth component

Closes IDF-5768

See merge request espressif/esp-idf!29385
2024-03-04 19:44:13 +08:00
Rahul Tank
f723b18d86 Merge branch 'bugfix/increase_reattempt_conn_count' into 'master'
fix(nimble): Increase range of reattempt connection count

See merge request espressif/esp-idf!29311
2024-03-04 19:43:21 +08:00
harshal.patil
483b87750c docs(wifi_provisioning): Use heap to allocate memory for the response
Added a note to specify that the memory for the response of a custom endpoint
should be allocated using the heap, as this memory gets freed by the protocomm layer
once it has been passed to the transport layer.

Closes https://github.com/espressif/esp-idf/issues/13263
2024-03-04 16:34:27 +05:30
nilesh.kale
37adea9a14 feat: add example to re-enable jtag using hmac peripheral 2024-03-04 15:42:33 +05:30
Aditya Patwardhan
acb733845f Merge branch 'bugfix/update_disabling_hmac_jtag_method' into 'master'
fix(esp_hw_support): update hmac toggle method due to discrepency in ROM code

See merge request espressif/esp-idf!29131
2024-03-04 17:55:59 +08:00
Konstantin Kondrashov
43c604f145 Merge branch 'feature/move_efuse_related_inits_into_component' into 'master'
feat(efuse): Move efuse-related init steps into the component

Closes IDF-8759 and IDF-8761

See merge request espressif/esp-idf!28422
2024-03-04 17:34:44 +08:00
Roshan Bangar
87b47b461d docs(nimble): Improved documentation for uart host only example 2024-03-04 15:04:30 +05:30
Tomas Rezucha
33425140bf Merge branch 'feature/usb_hs_periodic_scheduler' into 'master'
feat(usb/host): Update ISOC scheduler for HS endpoints

Closes IDF-7473

See merge request espressif/esp-idf!27804
2024-03-04 16:45:26 +08:00
morris
19a4d3bab6 Merge branch 'contrib/github_pr_13294' into 'master'
Flush rgb lcd PSRAM framebuffers after allocation (GitHub PR)

Closes IDFGH-12244 and IDFGH-12243

See merge request espressif/esp-idf!29374
2024-03-04 15:53:40 +08:00
Tomas Rezucha
93fc17575f Merge branch 'refactor/esp_hid_astyle' into 'master'
refactor(esp_hid): Format the code with astyle

See merge request espressif/esp-idf!29302
2024-03-04 15:41:10 +08:00
zwx
9458456b02 fix(openthread): using atomic variable for buffer count 2024-03-04 15:06:46 +08:00
Marius Vikhammer
efb87efbb4 Merge branch 'docs/wdt_typo' into 'master'
docs(wdt): fixed spelling mistakes in wdt doc

See merge request espressif/esp-idf!29306
2024-03-04 14:39:05 +08:00
Jiang Jiang Jian
0e5e2ffb3c Merge branch 'bugfix/fix_phy_pll_track_corner_case' into 'master'
fix(phy): fix pll track when enabling and disabling PHY frequently

See merge request espressif/esp-idf!28547
2024-03-04 14:27:46 +08:00
Shang Zhou
4e4be31b4a docs: sync low-power-mode and usb-serial-jtag-console 2024-03-04 14:24:17 +08:00
Mahavir Jain
0c47128627 Merge branch 'contrib/github_pr_13132' into 'master'
[SECURITY] [docs] Add warning about integrity of pre_encrypted_ota (GitHub PR)

Closes IDFGH-12071

See merge request espressif/esp-idf!29384
2024-03-04 11:42:08 +08:00
Cao Sen Miao
943ebe2ca2 docs(temperature_sensor): Add new documents for temperature sensor ETM on ESP32C6/H2 2024-03-04 11:36:18 +08:00
Gao Xu
3e54584e61 Merge branch 'docs/add_p4_uart_programming_guide' into 'master'
docs(uart): update lp uart and p4 uart programming guide

Closes IDF-7737

See merge request espressif/esp-idf!29179
2024-03-04 11:00:05 +08:00
Michael (XIAO Xufeng)
69d4893e85 docs(spi_master): fixed timing comments that only apply for ESP32 2024-03-04 00:41:54 +08:00
KonstantinKondrashov
f9800e0726 feat(efuse): Move efuse-related init steps into the component 2024-03-01 21:07:03 +02:00
Tomas Rezucha
72f00d7c6d feat(usb/host): Update ISOC scheduler for HS endpoints
USB-OTG uses 'sched_info' field of HCTSIZ register to schedule transactions
in USB microframes.
2024-03-01 18:05:40 +01:00
Ondrej Kosta
edf49a92b7 fix(esp_eth): Removed -Wno-format in esp_eth component 2024-03-01 17:01:28 +01:00
Roland Dobai
b3f35cf590 Merge branch 'feature/export_bat_exit_codes' into 'master'
feat(tools): produce correct err code in install/export .bat scripts

Closes IDFGH-9295

See merge request espressif/esp-idf!29231
2024-03-01 23:49:37 +08:00
wanlei
ee02b71f1c feat(esp32c61): introduce target esp32c61 2024-03-01 21:12:25 +08:00
Marek Fiala
c21cdf0a1f feat(tools): produce correct err code in export/install .bat scripts
Plus unify labels to begin with underscore
2024-03-01 13:00:09 +01:00
Xu Si Yu
d183000311 Merge branch 'feature/ot_enable_rcp_uart_for_br_by_default' into 'master'
feat(Thread): enable RCP uart configuration for BR by default

See merge request espressif/esp-idf!28897
2024-03-01 19:28:38 +08:00
Roland Dobai
dc987dab7f Merge branch 'fix/idf_tools_diff_python_dir' into 'master'
fix(tools): Add additional Python environment checks

Closes IDFGH-12140

See merge request espressif/esp-idf!29162
2024-03-01 19:20:44 +08:00
Cao Sen Miao
c6be2584a7 test(temperature_sensor): Add new test for temperature sensor ETM on ESP32C6/H2 2024-03-01 18:52:42 +08:00
Cao Sen Miao
2b2b3be98f feat(temperature_sensor): Add new support for temperature sensor ETM on ESP32C6/H2 2024-03-01 18:52:39 +08:00
wanlei
5fef81609a feat(esp32c61): add soc peripheral header files (1/2) 2024-03-01 18:09:13 +08:00
Markus Ebner
c755a62329 fix(esp_lcd): Flush rgb lcd PSRAM framebuffers after allocation
Flush PSRAM framebuffers after allocation to avoid visual corruption.

Merges https://github.com/espressif/esp-idf/pull/13294
Closes https://github.com/espressif/esp-idf/issues/13293
2024-03-01 18:05:22 +08:00
Sudeep Mohanty
e4f167df25 Merge branch 'fix/freertos_optimize_critical_sections' into 'master'
fix(riscv): Updated RISC-V functions to set interrupt threshold for CLIC targets

Closes IDFCI-2033, IDFCI-2034, IDF-8090, and IDF-8117

See merge request espressif/esp-idf!29055
2024-03-01 17:51:14 +08:00
morris
c5f81bb2f3 Merge branch 'feat/mipi_dsi_lvgl_9' into 'master'
feat(lcd): update mipi dsi example with lvgl v9

See merge request espressif/esp-idf!29303
2024-03-01 17:45:51 +08:00
David Čermák
9e0ad656c9 Merge branch 'fix/sntp_getreachability' into 'master'
fix(netif): Add missing SNTP get-reachablitiy API

Closes DOC-7124

See merge request espressif/esp-idf!28659
2024-03-01 16:22:33 +08:00
gaoxu
7075b61a6a docs(uart): update lp uart and p4/c5 uart programming guide 2024-03-01 16:21:22 +08:00
Konstantin Kondrashov
9a5d6c844c Merge branch 'feature/efuse_destroy_block' into 'master'
feat(efuse): Adds destroy_block API

Closes IDF-8354

See merge request espressif/esp-idf!29200
2024-03-01 15:51:20 +08:00
Kevin (Lao Kaiyao)
31437c34a9 Merge branch 'refactor/support_esp32c5_beta3_mp_coexistence' into 'master'
refactor(esp32c5): support esp32c5 beta3 & mp coexistence

See merge request espressif/esp-idf!29248
2024-03-01 15:50:05 +08:00
Zhang Xiao Yan
c6268b7b6a Merge branch 'docs/add_command_example_get_started' into 'master'
docs: add command example to get-started/establish-serial-connection

See merge request espressif/esp-idf!29125
2024-03-01 15:21:04 +08:00
Armando (Dou Yiwen)
7b414002f6 Merge branch 'change/psram_200m_update' into 'master'
change(psram): update voltage configurations

See merge request espressif/esp-idf!28933
2024-03-01 15:17:24 +08:00
Fu Hanxi
d2b95201c3 ci: fix dynamic pipeline for tag pipelines 2024-03-01 08:17:20 +01:00
Gao Xu
e1ec760daf Merge branch 'contrib/github_pr_13025' into 'master'
Missing include for rom/uart.h (GitHub PR)

Closes IDFGH-11947

See merge request espressif/esp-idf!28591
2024-03-01 14:33:54 +08:00
Darian
6f3ebe5a68 Merge branch 'change/twai_examples_message_obj_init' into 'master'
change(driver/twai): Update TWAI message object initialization examples

Closes DOC-7309

See merge request espressif/esp-idf!29278
2024-03-01 13:43:37 +08:00
morris
49c43a7ff7 feat(lcd): update mipi dsi example with lvgl v9 2024-03-01 13:39:11 +08:00
laokaiyao
01e3c85322 refactor(esp32c5): change beta3 path in esp_system and bootloader 2024-03-01 11:12:36 +08:00
chenjianhua
2e122313c2 feat(bt/bluedroid): Add ext adv and privacy status check 2024-03-01 11:07:37 +08:00
Jakob Hasse
f9c9e18bca fix(linux): prevent build error on MacOS and optimize buffer usage on Linux 2024-03-01 11:01:15 +08:00
Jakob Hasse
bafaf07c18 refactor(cxx): moved C++ init functions to cxx component
* Also fixed setting the C++ exception emergency pool size
  correctly when C++ exceptions are disabled:
  __cxx_eh_arena_size_get() is now called again even if
  CONFIG_COMPILER_CXX_EXCEPTIONS=n
2024-03-01 11:00:09 +08:00
laokaiyao
db2435fd14 feat(soc_cap_kconfig): support to search recursively 2024-03-01 10:17:17 +08:00
laokaiyao
45a094367d change(doxyfile): move soc files to target specific doxygen
soc files relies on target variable, which not correct while there are multiple versions for one target
2024-03-01 10:16:45 +08:00
laokaiyao
319e30ac38 refactor(esp32c5): change beta3 path in soc 2024-03-01 10:16:14 +08:00
laokaiyao
3a5d080ec0 refactor(esp32c5): change beta3 path in esp_rom 2024-03-01 10:13:45 +08:00
laokaiyao
1b91e84544 feat(esp32c5): add esp32c5 mp target 2024-03-01 10:13:45 +08:00
Ivan Grokhotkov
293f529cd7 Merge branch 'bugfix/sdspi_acmd41_arg' into 'master'
fix(sdmmc): fixes for card initialization (ACMD41)

Closes IDFGH-4892 and IDFGH-9144

See merge request espressif/esp-idf!29298
2024-03-01 08:42:01 +08:00
C.S.M
3e0a672d91 Merge branch 'feature/jpeg_decoder' into 'master'
feat(jpgd): Add jpeg decode support on esp32p4 🖼️ (goal: Trying to merge in March 🛰️ )

See merge request espressif/esp-idf!28639
2024-02-29 23:43:05 +08:00
David Cermak
c30f2825d5 fix(netif): Add missing SNTP get-reachablitiy API 2024-02-29 23:37:45 +08:00
Peter Marcisovsky
1302fd70ba ci: Add esp32s3 runner for usb device example tests
- CI USB device tests are run on esp32s3
    - usb_host env_marker removed - not used anymore
    - failing usb_device_ncm test fixed
2024-02-29 15:10:18 +01:00
C.S.M
1360f1b0a9 Merge branch 'feature/i2c_support_esp32c5' into 'master'
feat(i2c): Add I2C support on ESP32C5

Closes IDF-8694 and IDF-8696

See merge request espressif/esp-idf!29196
2024-02-29 21:51:45 +08:00
Mahavir Jain
e18fd01d0d Merge branch 'fix/pmp_idcache_reg_prot' into 'master'
fix(esp_hw_support): Fix the I/DCACHE region PMP protection

See merge request espressif/esp-idf!28525
2024-02-29 21:39:11 +08:00
Mahavir Jain
7adbc9cf4b Merge branch 'fix/fix_key_manager_clock_changes' into 'master'
fix(hal): Fix Key Manager clock changes

See merge request espressif/esp-idf!28890
2024-02-29 21:38:18 +08:00
Mahavir Jain
d62f7aa643 Merge branch 'refactor/protocomm_public_hdr' into 'master'
refactor(protocomm): Make the protocomm `proto-c` headers public

See merge request espressif/esp-idf!29312
2024-02-29 21:38:03 +08:00
Mahavir Jain
eac860a057 Merge branch 'ci/fix_otatool_example' into 'master'
ci: Fix otatool example failure in CI for ESP32-C2

Closes IDFCI-2057

See merge request espressif/esp-idf!29332
2024-02-29 21:33:50 +08:00
Xu Si Yu
1e01517657 Merge branch 'feature/add_led_for_ot_device' into 'master'
feat(openthread): add different led color for openthread devices

Closes TZ-597

See merge request espressif/esp-idf!28779
2024-02-29 21:14:29 +08:00
Gao Xu
46cd7a393f Merge branch 'feature/esp32c5_uart_support' into 'master'
feat(uart): add HP/LP uart support on ESP32C5

Closes IDF-8722 and IDF-8723

See merge request espressif/esp-idf!28899
2024-02-29 19:37:34 +08:00
Roland Dobai
907669fc3a Merge branch 'fix/fix_install_ps1_script' into 'master'
Tools: ReferenceError in install.ps1 script

See merge request espressif/esp-idf!29293
2024-02-29 18:43:56 +08:00
Tomas Rezucha
6529f7e3ec Merge branch 'ci/usb_host_add_p4_examples_ci' into 'master'
ci(USB): add ESP32-P4 runners to existing USB CI

Closes IDF-9127

See merge request espressif/esp-idf!28795
2024-02-29 18:43:16 +08:00
redfast00
836516b409 docs(esp32): add warning about authenticity of pre-encrypted ota 2024-02-29 10:40:36 +00:00
Roland Dobai
185e49b53f fix(tools): Add additional Python installation checks
Warn if IDF_PYTHON_ENV_PATH set to a suspicious path with
different ESP-IDF version and/or Python version.

Fail if the virtual environment was created for a different ESP-IDF
version.

Closes https://github.com/espressif/esp-idf/issues/13196
2024-02-29 11:28:03 +01:00
Wang Meng Yang
09c504687b Merge branch 'bugfix/incr_coex_request_queue' into 'master'
fix(bt/controller): Fixed some esp32 bt controller bugs in coexistence scheme which affected the allocation of RF

Closes BT-3540

See merge request espressif/esp-idf!29309
2024-02-29 17:55:39 +08:00
Peter Marcisovsky
51d6296fde ci: Added esp32p4 usb tests to CI:
- added new test for usb_host_lib example for all targets
    - CI USB host test are run on esp32p4
    - CI USB device tests temporarily disabled until usb_device runner is fixed
    - hcd and usb_host tests which do not require PHY are run on esp32p4
2024-02-29 10:35:09 +01:00
Cao Sen Miao
d11030ade6 docs(jpeg): Add basic programming guide for jpeg decoder 2024-02-29 17:20:09 +08:00
Xu Si Yu
48a65ae18f feat(openthread): add different led color for openthread devices 2024-02-29 17:04:13 +08:00
Jan Beran
615285f6de fix(install.ps1): fix ReferenceError in install.ps1 script
This fix preventing RefferenceError when accessing g.idf_path
before initialization
2024-02-29 09:57:10 +01:00
Harshit Malpani
e02801caad ci: Fix otatool example failure in CI for ESP32-C2 2024-02-29 14:09:36 +05:30
Alexey Lapshin
fdb7a43752 Merge branch 'feature/esp32p4_concontiguous_mem_mvp' into 'master'
feat(esp_system): allow .bss to spill over into L2MEM above 0x4ff40000 on P4

See merge request espressif/esp-idf!28783
2024-02-29 16:28:13 +08:00
Jiang Jiang Jian
83f40382b6 Merge branch 'bugfix/fix_c2_disconnect_reason_code_wrong_issue' into 'master'
fix(wifi): fix esp32c2 disconnect reason code wrong issue

Closes WIFIBUG-435

See merge request espressif/esp-idf!29299
2024-02-29 14:50:21 +08:00
nilesh.kale
152f172367 fix(esp_hw_support): update hmac toggle method due to discrepency in ROM code
Need to update the HMAC enable/disable method due to discrepancy in ROM code
across different targets for the esp_hmac_disable() API.
2024-02-29 12:01:09 +05:30
gaoxu
1b1e4d2f76 feat(uart): change fifo.byte to fifo.val when uart_ll_write_txfifo 2024-02-29 14:20:10 +08:00
gaoxu
f9109beda2 feat(uart): add HP/LP uart support on ESP32C5 2024-02-29 14:12:51 +08:00
Cao Sen Miao
518c7f5b14 test(jpeg): Add basic test_app for jpeg_decoder 2024-02-29 13:51:21 +08:00
Cao Sen Miao
e3a12a9ad6 feat(jpeg): Add jpeg decoder example for esp32p4 2024-02-29 13:51:19 +08:00
Cao Sen Miao
abc2971d95 feat(jpeg): Add basic jpeg decoder support on esp32p4 2024-02-29 13:51:16 +08:00
Darian
6817e9f07c Merge branch 'fix/console_none_build_issues' into 'master'
fix(console): Fix build issues when CONFIG_ESP_CONSOLE_NONE is enabled

Closes IDFGH-11900

See merge request espressif/esp-idf!29295
2024-02-29 12:17:21 +08:00
Cao Sen Miao
ddb0c21d4c feat(i2c): Add I2C support on ESP32C5 2024-02-29 12:13:39 +08:00
Aditya Patwardhan
4636ef946b fix(esp_hw_support): Update key manager locking mechanism 2024-02-29 12:00:30 +08:00
Aditya Patwardhan
3ffb811d18 fix(hal): Fix Key Manager clock changes 2024-02-29 12:00:30 +08:00
Mahavir Jain
afbed25c6f Merge branch 'bugfix/update_crypto_test_apps_for_sha' into 'master'
fix(hal/test_apps): update sha testcases flow

See merge request espressif/esp-idf!29050
2024-02-29 11:58:05 +08:00
Mahavir Jain
bbac5a738d Merge branch 'docs/update_restful_server_readme' into 'master'
docs: Update restful server example README file

See merge request espressif/esp-idf!29318
2024-02-29 11:57:33 +08:00
Song Ruo Jing
091fe38835 Merge branch 'feature/esp32c5_gdma_support' into 'master'
feat(gdma): add GDMA support for ESP32C5

Closes IDF-8710, IDF-8712, and IDF-8716

See merge request espressif/esp-idf!28968
2024-02-29 11:44:05 +08:00
Ricardo Quesada
f082788957 fix(uart): add missing include for rom/uart.h
Without this include it fails to compile with this error:

```
esp/esp-idf-v5.2/components/esp_rom/include/esp32/rom/uart.h:262:32: error: implicit declaration of function 'UART_STATUS_REG' [-Werror=implicit-function-declaration]
  262 |         status = READ_PERI_REG(UART_STATUS_REG(uart_no));
```

Merges https://github.com/espressif/esp-idf/pull/13025
2024-02-29 11:05:50 +08:00
Jin Cheng
cdb2f2c570 fix(bt/controller): Fixed 3 esp32 bt controller bugs
update esp32 bt-lib (952debf4)

1. Increased the length of queue for coexist requestions
2. fix(bt/controller): Cleared BT SNIFF when no connections exists
3. fix(bt/controller): Corrected a typo in coex module
2024-02-29 11:02:37 +08:00
Wang Meng Yang
e99abdd6de Merge branch 'bugfix/fix_hci_cmd_status_evt_sent' into 'master'
Fixed HCI command status event send when LLCP busy on ESP32

Closes BLERP-333

See merge request espressif/esp-idf!27858
2024-02-29 10:48:06 +08:00
Armando
62440e5b12 change(psram): update voltage configurations 2024-02-29 10:42:37 +08:00
muhaidong
eb54a4698c fix(wifi): fix esp32c2 disconnect reason code wrong issue 2024-02-29 09:58:24 +08:00
Adam Múdry
35e312c48e feat(fatfs): Allow expanding files with seeking and truncating functions
Closes https://github.com/espressif/esp-idf/issues/13100
2024-02-29 01:01:32 +01:00
Alexey Lapshin
97702b3579 Merge branch 'fix/xtensa-memset-memcpy_inlining' into 'master'
fix(tools): do not use builtin memcpy/memset/strcpy on xtensa chips

Closes IDFGH-12173

See merge request espressif/esp-idf!29232
2024-02-29 07:39:13 +08:00
Anton Maklakov
b1114cfec1 Merge branch 'ci/fix_git_strategy_env_var' into 'master'
ci: fix git strategy env var

See merge request espressif/esp-idf!29326
2024-02-29 02:56:27 +08:00
C.S.M
0b9b928ce9 Merge branch 'bugfix/fix_flash_encryption_rom_c3' into 'master'
fix(spi_flash): Fix issue that flash encryption failed while rom_impl config is enabled

Closes IDF-9192

See merge request espressif/esp-idf!29188
2024-02-29 01:13:20 +08:00
Rahul Tank
2e2b828555 Merge branch 'bugfix/example_uart_data_handling' into 'master'
fix(nimble): Corrected acl data handling code in bleprph_host_only

See merge request espressif/esp-idf!29006
2024-02-29 00:05:50 +08:00
Alexey Lapshin
824c8e0593 feat(esp_system): allow .bss to spill over into L2MEM above 0x4ff40000
This commit introduce SOC_MEM_NON_CONTIGUOUS_SRAM flag (that enebled for
esp32p4). If SOC_MEM_NON_CONTIGUOUS_SRAM is enabled:

- LDFLAGS+=--enable-non-contiguous-regions
- ldgen.py replaces "arrays[*]" from sections.ld.in with objects under
  SURROUND keyword. (e.g. from linker.lf: data -> dram0_data SURROUND(foo))
- "mapping[*]" - refers to all other data

If SOC_MEM_NON_CONTIGUOUS_SRAM, sections.ld.in file should contain at
least one block of code like this (otherwise it does not make sense):

  .dram0.bss (NOLOAD) :
  {
    arrays[dram0_bss]
    mapping[dram0_bss]
  } > sram_low

  .dram1.bss (NOLOAD) :
  {
    /* do not place here arrays[dram0_bss] because it may be splited
     * between segments */
    mapping[dram0_bss]
  } > sram_high
2024-02-28 19:41:25 +04:00
Roland Dobai
b079552f8b Merge branch 'contrib/github_pr_13266' into 'master'
Updated Dockerfile for devcontainer usage (GitHub PR)

Closes IDFGH-12213

See merge request espressif/esp-idf!29314
2024-02-28 22:35:50 +08:00
Roshan Bangar
51d571c498 fix(nimble): Corrected acl data handling code in bleprph_host_only 2024-02-28 19:48:34 +05:30
Fu Hanxi
5af630da20 ci: fix git strategy env var 2024-02-28 15:04:34 +01:00
Roland Dobai
88a41e85c9 Merge branch 'python_check_win_msg' into 'master'
fix(tools): fix python dependecy test on windows

Closes IDFCI-2051

See merge request espressif/esp-idf!29313
2024-02-28 21:04:13 +08:00
Darian Leung
87e2d842ab change(console): Add build test for no console output
This commit adds a build test to test the scenario where both the primary and
secondary console outputs are disabled by Kconfig.
2024-02-28 20:39:52 +08:00
Jin Cheng
f4f26e94bd feat(bt/bluedroid): Moved the memory allocation of HF AG control blocks to BTC module 2024-02-28 20:30:38 +08:00
Darian Leung
4e4278477d fix(console): Fix build issues when CONFIG_ESP_CONSOLE_NONE is enabled
This commit fixes the following build issues when CONFIG_ESP_CONSOLE_NONE is
enabled:

- vfs_console.c will attempt to register a VFS entry for STDIO console even if
CONFIG_ESP_CONSOLE_NONE is enabled. This results in "undeclared `primary_path`"
error.
- esp_console_repl_chpi.c does not use "TAG" when CONFIG_ESP_CONSOLE_NONE is
enabled, leading to a "defined by not used" warning.

Closes https://github.com/espressif/esp-idf/issues/12984
2024-02-28 20:28:27 +08:00
Konstantin Kondrashov
b123f62b78 feat(efuse): Adds destroy_block API 2024-02-28 14:27:08 +02:00
Ondrej Kosta
4ddc947d1c Merge branch 'bugfix/eth_link_reset' into 'master'
fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped

Closes IDF-9195

See merge request espressif/esp-idf!29058
2024-02-28 20:26:29 +08:00
Darian
f5b08b29ea Merge branch 'bugfix/usb_host_usbh_callback_misses_action' into 'master'
fix(usb): Fix bug where usbh_process() misses an event

See merge request espressif/esp-idf!29233
2024-02-28 20:16:25 +08:00
Harshit Malpani
1b7d8fafc5 docs: Update restful server example README file
Closes https://github.com/espressif/esp-idf/issues/13230
2024-02-28 16:52:11 +05:30
timoxd7
626aa9f4ca ci(docker): Added get_idf alias to .bashrc 2024-02-28 10:31:32 +01:00
Peter Dragun
a6c62bdfb6 fix(tools): fix python dependecy test on windows 2024-02-28 10:30:57 +01:00
Laukik Hase
379e02ec9c refactor(protocomm): Make the protocomm proto-c headers public 2024-02-28 14:35:04 +05:30
Island
28b4ad2b53 Merge branch 'bugfix/ble_update_lib_20240223' into 'master'
update lib on master

Closes BLERP-563, BLERP-567, BLERP-548, BLERP-561, BLERP-569, BLERP-542, BLERP-541, BLERP-543, BLERP-540, BLERP-570, BLERP-571, BLERP-572, and BLERP-573

See merge request espressif/esp-idf!29207
2024-02-28 16:54:14 +08:00
Ivan Grokhotkov
fb95daab06 fix(sdmmc): extend the maximum number of retries of ACMD41
According to the application note in SD Card Physical Specification:

> The host shall set ACMD41 timeout more than 1 second to abort repeat
of issuing ACMD41 when the card does not indicate ready. The timeout
count starts from the first ACMD41 which is set voltage window
in the argument.

Previously, the timeout was exactly one second, and this caused
certain larger-capacity cards to "time out", because they couldn't
finish initialization process in time.
2024-02-28 09:33:24 +01:00
Ivan Grokhotkov
47ba4d639a fix(sdmmc): use correct argument for ACMD41 in SPI mode
ACMD41 argument is different between SD mode and SPI mode.
In SPI mode, the only non-zero bit may be the HCS bit. Unlike the SD
mode, the bits reflecting the host's OCR should be zero.
Previously, we used to set these bits the same way as for the SD mode.
This has caused certain cards to fail initializing, apparently their
controllers have checked the ACMD41 argument more strictly and refused
to finish initialization, resulting in an error such as

    sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107

(Note that this error may have other causes than the one fixed in
this commit. For example, if the card doesn't have a sufficient and
stable power supply, it may also fail to complete the internal
initialization process, and will never clear the busy flag in R1
response.)

Closes https://github.com/espressif/esp-idf/issues/6686
Closes https://github.com/espressif/esp-idf/issues/10542
2024-02-28 09:33:23 +01:00
Bogdan Kolendovskyy
f02fadda87 Merge branch 'bugfix/ip101_hw_reset_include' into 'master'
fix(esp_eth): explicitly include FreeRTOS headers into ip101 driver

See merge request espressif/esp-idf!29063
2024-02-28 16:20:35 +08:00
Sudeep Mohanty
f65a55952c Merge branch 'bugfix/ulp_rtc_i2c_doesnt_work_with_interrupts' into 'master'
RTC I2C does not work when interrupts are enabled on ULP RISC-V

See merge request espressif/esp-idf!28844
2024-02-28 16:12:34 +08:00
Jin Cheng
20f2207d5f Merge branch 'bugfix/mem_leak_op_dev_name' into 'master'
fix(bt/bluedroid): Avoided possible memory leak in the module of BT device

See merge request espressif/esp-idf!29141
2024-02-28 15:54:24 +08:00
Sudeep Mohanty
459ff8348f fix(riscv): Added RISC-V functions to set interrupt threshold for CLIC targets
This commit added the RISC-V utility functions to set the interrupt
threshold for CLIC targets by using direct register value writes.
This makes the functions more efficient during run-time.
This is done to improve the critical section enter and exit performance on esp32p4.
2024-02-28 08:51:37 +01:00
Island
5e658f5d10 Merge branch 'bugfix/fix_ble_max_reconnect' into 'master'
fix(ble/bluedroid): Update maximum BLE reconnection attempts configuration

Closes BLERP-568, BLERP-581, and BLERP-582

See merge request espressif/esp-idf!29186
2024-02-28 15:41:02 +08:00
Sudeep Mohanty
7444890a03 fix(esp_system): Updated the conditions for the GDBStub on Panic Kconfig option
This commit updates the Panic handler behavior Kconfig setting to make
the GDBStub on Panic (CONFIG_ESP_SYSTEM_PANIC_GDBSTUB) option to be only
available when esp_gdbstub is part of the component list of the build.

Closes https://github.com/espressif/esp-idf/issues/13218
2024-02-28 08:34:08 +01:00
Rahul Tank
30d5c36aac fix(nimble): Increase range of reattempt connection count 2024-02-28 12:56:57 +05:30
Omar Chebib
c1849df791 refactor(esp_hw_support): changed reserved interrupt functions to be now defined per SoC 2024-02-28 15:21:10 +08:00
Jiang Guang Ming
73c60401af fix(esp_rom): Update esp32p4lp rom ld files 2024-02-28 14:14:05 +08:00
Jiang Guang Ming
3117659bed fix(esp_rom): Update esp32p4 rom caps 2024-02-28 14:13:16 +08:00
Laukik Hase
2265c0f230 feat(tools/test_apps): Add violation tests for the flash I/DROM region
- For SoCs supporting PMP
2024-02-28 10:54:38 +05:30
Laukik Hase
366e4ee944 refactor(esp_hw_support): Remove redundant PMP entry for ROM region
- The ROM text and data sections share the address range
    (see SOC_I/DROM_MASK_LOW - SOC_I/DROM_MASK_HIGH).
  - Initially, we had two PMP entries for this address range - one marking the
    region as RX and the other as R.
  - However, the latter entry is redundant as the former locks the PMP settings.
  - We can divide the ROM region into text and data sections later when we
    define boundaries marking these regions from the ROM.
2024-02-28 10:54:38 +05:30
Laukik Hase
ff839be31d fix(esp_hw_support): Fix the I/DCACHE region PMP protection 2024-02-28 10:54:37 +05:30
Song Ruo Jing
98d9f04b00 feat(gdma): add GDMA support for ESP32C5 2024-02-28 12:38:02 +08:00
chenjianhua
7df536d325 fix(bt): Update bt lib for ESP32(2de69f3)
- Fixed HCI command status event send when LLCP busy
2024-02-28 12:09:03 +08:00
Wu Zheng Hui
f3b95059f9 Merge branch 'bugfix/fix_sleep_cache_safe_assertion' into 'master'
fix(esp_hw_support): fix cache safe check function

See merge request espressif/esp-idf!29246
2024-02-28 10:50:52 +08:00
Marius Vikhammer
455dd4e786 docs(wdt): fixed spelling mistakes in wdt doc 2024-02-28 10:13:24 +08:00
Cao Sen Miao
44e16a6401 fix(spi_flash): Fix issue that flash encryption failed while rom_impl config is enabled
The issue is `esp_flash_write_encryped` function in ROM on ESP32C3, ESP32S3
calls legacy implementation, which uses old configuration. And this causes
write fails.
The solution in this commit is to compile and link this function(and related)
in IRAM instead of the ROM one.
The IRAM cost increases around 1.2KB after the fix
2024-02-28 10:07:53 +08:00
zwl
7b8b85e140 bugfix(ble) : fixed some ble issues on ESP32-C2 2024-02-27 23:28:25 +08:00
zwl
093bc1a4f5 ble(update):
Update c2 lib to 79be7ec9
Update h2 lib to c6f7cb08
Update c6 lib to c6f7cb08
2024-02-27 23:28:25 +08:00
C.S.M
7cf8cc79a1 Merge branch 'fix/ci_i2c_sleep_retention' into 'master'
fix(i2c): Modify the test memory leak check threshold and add more file pattern

See merge request espressif/esp-idf!29290
2024-02-27 23:00:29 +08:00
Joshua
09503600f2 fix(bt/blufi): Fixed BluFi module link error(C++ hybrid compilation) 2024-02-27 22:32:14 +08:00
Raghu Saxena
82a711d4e2 fix(bt/example): Use correct struct type 2024-02-27 22:32:14 +08:00
thekurtovic
3e74922c9e fix(bt/bluedroid): Fixed "reprot" typo in esp_ble_gap_ext_adv_reprot_t 2024-02-27 22:32:14 +08:00
zhanghaipeng
3eec662473 fix(ble/bluedroid): Update maximum BLE reconnection attempts configuration 2024-02-27 22:03:37 +08:00
Tomas Rezucha
7f22c235db refactor(esp_hid): Format the code with astyle 2024-02-27 14:48:43 +01:00
morris
5d812b5ae5 Merge branch 'feature/mipi_dpi_multi_frame_buffer' into 'master'
feat(mipi_dsi): support multiple frame buffers

See merge request espressif/esp-idf!28862
2024-02-27 21:29:36 +08:00
Gao Xu
f3ebfaef53 Merge branch 'feat/add_gpio_fun_sel_api' into 'master'
feat(gpio): add gpio fun select api

See merge request espressif/esp-idf!29198
2024-02-27 21:04:31 +08:00
Darian Leung
3887441b37 fix(usb): Fix bug where usbh_process() misses an event
This commit fixes a bug where if multiple concurrent USBH API calls trigger
multiple events on the same device, some events will be lost. As a result,
those lost events don't get processed by the subsequent usbh_process() call.
2024-02-27 18:22:48 +08:00
Bogdan Kolendovskyy
eb8985886d fix(esp_eth): explicitly include FreeRTOS headers into ip101 driver to ensure availability of vTaskDelay 2024-02-27 18:13:07 +08:00
morris
cf20dfee1d feat(mipi_dsi): support multiple frame buffers 2024-02-27 17:49:04 +08:00
morris
f0342d6b59 feat(dw_gdma): support change link list item connection
by dw_gdma_lli_set_next
2024-02-27 17:49:04 +08:00
Cao Sen Miao
28a0548c67 fix(i2c): Modify the test memory leak check threshold and add more file pattern 2024-02-27 17:30:59 +08:00
wuzhenghui
4e731e8612 fix(esp_hw_support): fix cache safe check function 2024-02-27 17:29:24 +08:00
Fu Hanxi
12de4603c0 Merge branch 'ci/fix_multi_dut_without_param' into 'master'
ci(pytest): fix multi dut wrongly be picked issue

See merge request espressif/esp-idf!28793
2024-02-27 17:02:12 +08:00
gaoxu
e9ce63532b feat(gpio): add gpio fun sellect api 2024-02-27 17:01:53 +08:00
Marius Vikhammer
3c9463bc75 fix(linux_target): fix esp_err_to_name failing to compile on linux 2024-02-27 16:55:43 +08:00
Jiang Jiang Jian
be7fe58971 Merge branch 'feature/improve_coex_connect_compatibility' into 'master'
feat(coex): improve Wi-Fi connecting compatibility at coexistence

Closes WIFI-6362, WIFI-6320, WIFIBUG-216, FCC-60, and FCC-59

See merge request espressif/esp-idf!28195
2024-02-27 16:53:21 +08:00
Konstantin Kondrashov
11d44e82eb Merge branch 'feature/efuse_esp32p4_add_new' into 'master'
feat(efuse): Adds new efuses for esp32p4

See merge request espressif/esp-idf!29085
2024-02-27 15:37:39 +08:00
Chen Yu Dong
0c55596e26 Merge branch 'revert-57955cc1' into 'master'
Revert "Merge branch 'ci/ignore_c6_wifi_two_dut_runners' into 'master'"

See merge request espressif/esp-idf!29280
2024-02-27 14:39:57 +08:00
Chen Yu Dong
6af93c154b Revert "Merge branch 'ci/ignore_c6_wifi_two_dut_runners' into 'master'"
This reverts merge request !28944
2024-02-27 14:24:37 +08:00
Darian Leung
b18a787469 change(driver/twai): Update TWAI message object initialization examples
This commit updates how examples and code snippets initialize the
twai_message_t for transmission. Examples/snippets now explicitly demonstrate
how to initialize every member/bit-field of the object.
2024-02-27 11:52:51 +08:00
Linda
ecddca6582 docs: add command example to get-started/establish-serial-connection 2024-02-27 11:28:40 +08:00
Marius Vikhammer
f2fe408b99 refactor(core): reformat newlib and pthread with astyle 2024-02-27 10:00:06 +08:00
liuning
5314cf8aee example: add custom partition table for mesh manual networking 2024-02-27 09:45:21 +08:00
liuning
7440e302be feat(coex): improve Wi-Fi connecting compatibility at coexistence 2024-02-27 09:43:00 +08:00
Martin Vychodil
4cb3a75436 Merge branch 'bugfix/nvs_lock_initi_and_multipage_blob' into 'master'
Bugfix/nvs Improved handling of BLOB during unreliable power environment and concurrent data access scenarios

Closes IDF-8839

See merge request espressif/esp-idf!28843
2024-02-27 04:50:56 +08:00
Alexey Lapshin
04b73368e5 fix(tools): do not use builtin memcpy/memset/strcpy on xtensa chips
Closes https://github.com/espressif/esp-idf/issues/13228
2024-02-27 02:09:54 +08:00
Alexey Lapshin
5eb058ea0f Merge branch 'ci/fix_p4_build_failures' into 'master'
ci: fix ESP32-P4 build failures in CI

See merge request espressif/esp-idf!29249
2024-02-27 02:09:08 +08:00
Harshit Malpani
19104b430f ci: fix ESP32-P4 build failures in CI 2024-02-26 22:59:01 +08:00
Erhan Kurubas
b71dabf08b Merge branch 'register_gcov_tick_hook_once' into 'master'
fix(gcov): avoid multiple tick hook registration

See merge request espressif/esp-idf!29087
2024-02-26 20:47:46 +08:00
Shu Chen
cd3c813aa6 Merge branch 'bugfix/fix_ot_ci_config' into 'master'
fix(openthread): configurations for openthread examples

See merge request espressif/esp-idf!29243
2024-02-26 19:54:30 +08:00
Ondrej Kosta
6013d0e1e6 Merge branch 'ci/bridge_pytest' into 'master'
ci(esp_eth): run iperf over longer period for SPI ETH bridge

See merge request espressif/esp-idf!28842
2024-02-26 19:17:18 +08:00
morris
82c0e18dd8 Merge branch 'refactor/astyle_driver' into 'master'
change(driver): reformat driver component with astyle_py

See merge request espressif/esp-idf!29217
2024-02-26 18:36:31 +08:00
Tomas Rezucha
5863a27bd2 feat(usb/host): Add missing sync types from USB specification 2024-02-26 10:50:20 +01:00
Shu Chen
cda92ca0e9 Merge branch 'fix/openthread_alarm_timer_overflow' into 'master'
fix(openthread): fix openthread alarm timer calculation remaining_us overflow issue

See merge request espressif/esp-idf!29146
2024-02-26 17:25:42 +08:00
Xu Si Yu
fbe6b5f194 fix(openthread): configurations for openthread examples 2024-02-26 17:06:01 +08:00
morris
c65fbbdf71 change(driver): reformat driver component with astyle_py 2024-02-26 11:47:05 +08:00
Mahavir Jain
603bc0536c Merge branch 'fix/support_gcm_soft_fallback_for_non_aes_ciphers' into 'master'
fix(mbedtls/gcm): Add support for software fallback for non-AES ciphers in a GCM operation

Closes IDF-8494

See merge request espressif/esp-idf!28007
2024-02-26 11:18:11 +08:00
Ivan Grokhotkov
b39f13d685 Merge branch 'ci/ignore_c3_flash_multi_cases' into 'master'
ci: ignore c3 flash_multi cases

See merge request espressif/esp-idf!29229
2024-02-24 16:52:44 +08:00
radek.tandler
fc6951e193 fix(nvs): Improved lockig mechanism for initialization phase 2024-02-24 07:55:32 +01:00
radek.tandler
635e6b154e fix(nvs): eraseMultiPageBlob to robustly delete all related BLOB_DATA records and respect VER_ANY 2024-02-24 07:55:32 +01:00
radek.tandler
cad09ea461 fix(nvs): corrected findItem to return BLOB_DATA when chunkIndex = CHUNK_ANY 2024-02-24 07:55:22 +01:00
Roland Dobai
ceff9566ad Merge branch 'feature/unsupported_platfomr_list' into 'master'
feat(tools): idf_tools.py unsupported platforms list

Closes IDFGH-11767, IDFGH-11873, and IDFGH-12090

See merge request espressif/esp-idf!29016
2024-02-24 14:27:28 +08:00
C.S.M
2302dd5a91 Merge branch 'feature/i2c_sleep' into 'master'
feat(i2c): Support i2c sleep retention on esp32c6/h2

Closes IDF-8458

See merge request espressif/esp-idf!28885
2024-02-24 09:58:35 +08:00
Fu Hanxi
0df25d5229 ci: ignore c3 flash_multi cases 2024-02-23 14:15:35 +01:00
Harshit Malpani
ff94741cd1 Merge branch 'docs/update_app_utils_docs_for_esp32p4' into 'master'
docs: Update App Utils programming guide docs for ESP32P4

Closes IDF-7768 and IDF-8076

See merge request espressif/esp-idf!29051
2024-02-23 20:09:38 +08:00
Wang Meng Yang
e265484084 Merge branch 'change/reduce_usage_of_iram_when_bt_in_single_mode' into 'master'
change(bt/bluedroid): reset the app  redirected functions in controller based on the bluetooth mode

Closes BT-3546

See merge request espressif/esp-idf!28040
2024-02-23 17:59:34 +08:00
Fu Hanxi
859bd52131 Merge branch 'ci/upload_size_info_and_build_junit_report' into 'master'
ci: upload size info, and build junit report

See merge request espressif/esp-idf!28803
2024-02-23 16:16:26 +08:00
Lin Rui Hao
00df222cdf Merge branch 'docs/rf_coexistence_api_guides_support_esp32c2' into 'master'
Docs: RF coexistence api guides support esp32c2

Closes BT-3582

See merge request espressif/esp-idf!28780
2024-02-23 15:20:45 +08:00
Harshit Malpani
bae89606c3 feat: Update esp_local_ctrl example for ESP32P4 2024-02-23 12:33:11 +05:30
Harshit Malpani
2df1ba8535 docs: Update App Utils programming guide docs for ESP32P4
Re-enable protocol and ota examples for ESP32P4
2024-02-23 12:33:11 +05:30
Zhang Xiao Yan
bef0b16dba Merge branch 'docs/add_windows_link_to_jtag_debugging' into 'master'
docs: add a link for Windows users to JTAG debugging

See merge request espressif/esp-idf!29104
2024-02-23 14:26:07 +08:00
Jin Cheng
a288640655 fix(bt/bluedroid): Avoided possible memory leak in the module of BT device 2024-02-23 14:14:50 +08:00
Lou Tian Hao
ebbff30163 Merge branch 'docs/add_internal_inspection_mechanism_description_for_ext1' into 'master'
docs(pm): add internal inspection mechanism description doc for ext1

See merge request espressif/esp-idf!29149
2024-02-23 13:24:11 +08:00
harshal.patil
a21a16f34f ci(mbedtls/gcm): Added test to verify software fallback for non-AES cipher GCM operations 2024-02-23 10:47:30 +05:30
harshal.patil
8977be856d fix(mbedtls/gcm): Add support for software fallback for non-AES ciphers in a GCM operation
- Even if the config MBEDTLS_HARDWARE_AES is enabled, we now support fallback
to software implementation of GCM operations when non-AES ciphers are used.
2024-02-23 10:47:30 +05:30
Mahavir Jain
98373a3c2a Merge branch 'bugfix/encrypted_flash_write_safe_addr' into 'master'
fix(spi_flash): check for safe write address in encrypted flash API

See merge request espressif/esp-idf!29043
2024-02-23 12:30:30 +08:00
Cao Sen Miao
27b2f7a10b feat(i2c): Add test cases for i2c sleep retention with 802154 2024-02-23 11:28:17 +08:00
Cao Sen Miao
cf521b60ea feat(i2c): Support i2c sleep retention on esp32c6/h2 2024-02-23 11:28:14 +08:00
Mahavir Jain
000d1407ea Merge branch 'bugfix/host_security_workflow_docs_update' into 'master'
fix(docs): correct the UART ROM DL mode disable section for ESP32

See merge request espressif/esp-idf!29046
2024-02-23 11:24:29 +08:00
Lou Tian Hao
5e9d02549f docs(pm): improve chinese description 2024-02-23 11:05:49 +08:00
Song Ruo Jing
bbe4d602e1 doc(pm): improve english description 2024-02-23 10:45:15 +08:00
Zhi Wei Jian
76c4cfc834 Merge branch 'feature/add_api_to_send_vendor_hci_cmd' into 'master'
Add api to send vendor hci command

Closes BLERP-546

See merge request espressif/esp-idf!28855
2024-02-23 10:29:42 +08:00
Rahul Tank
c5e92ac4ce Merge branch 'bugfix/move_count' into 'master'
fix(nimble): Fix compilation issue in nimble for -O2 flag

See merge request espressif/esp-idf!29035
2024-02-23 09:14:47 +08:00
Darshan Dobariya
e6bf35b3c9 fix(nimble): Change 'move_count' to uint8_t type 2024-02-22 21:34:11 +05:30
Jiang Jiang Jian
8e06aedcb3 Merge branch 'bugfix/fix_dhcp_offer_and_dhcp_ack_use_ampdu_lead_dhcp_easy_fail_issue' into 'master'
fix(wifi): fixed dhcp offer and dhcp ack data rates

Closes WIFIBUG-142, AUD-5080, FCS-1347, and WIFI-6385

See merge request espressif/esp-idf!27459
2024-02-23 00:01:50 +08:00
Rahul Tank
2bec5d70b6 Merge branch 'bugfix/remove_namespace_variable_name' into 'master'
fix(nimble): update variable name to avoid using keyword

See merge request espressif/esp-idf!28972
2024-02-22 23:31:38 +08:00
Adam Múdry
8d3e79971e feat(fatfs): Add f_expand function as esp_vfs_fat_create_contiguous_file
Add esp_vfs_fat_test_contiguous_file to test it
2024-02-22 16:05:28 +01:00
muhaidong
41ce6211d3 fix(wifi): fix lmac_stop_hw_txq issue 2024-02-22 22:56:02 +08:00
muhaidong
e7625eb189 fix(wifi): fix some wifi issues
1. fix qos encapsulated eapol issue
2. fixed dhcp offer and dhcp ack data rates
2024-02-22 22:56:02 +08:00
muhaidong
d1838da407 fix(example): fixed app partion is too small for binary size 2024-02-22 22:56:02 +08:00
Martin Vychodil
0b4f451470 Merge branch 'fix/undeprecate_esp_vfs_fat_register' into 'master'
fix(fatfs): temp remove deprecated attribute from esp_vfs_fat_register

Closes IDFCI-2045

See merge request espressif/esp-idf!29168
2024-02-22 22:54:13 +08:00
radek.tandler
d879ec5248 fix(nvs): added check and erase of mismatched BLOB_DATA on init 2024-02-22 15:15:10 +01:00
Ivan Grokhotkov
5b53fb07fb fix(nvs): prevent out of bounds write if blob data is inconsistent 2024-02-22 15:15:10 +01:00
Marek Fiala
54be450c4a feat(tools): detect linux platform only on linux systems
Closes https://github.com/espressif/esp-idf/issues/13148
2024-02-22 19:30:11 +08:00
Marek Fiala
da43126f02 feat(tools): idf_tools.py unsupported platforms
Plus improved error messages about platform detection.

Closes https://github.com/espressif/esp-idf/issues/12959
Closes https://github.com/espressif/esp-idf/issues/12865
2024-02-22 19:30:11 +08:00
Lou Tianhao
71c8879099 docs(pm): add internal inspection mechanism description doc 2024-02-22 19:24:08 +08:00
Jiang Jiang Jian
c7a02cbe55 Merge branch 'c6_auto_dbias_master_hsq' into 'master'
ESP32C6: Active & sleep dbg and dbias get from efuse to fix the voltage

See merge request espressif/esp-idf!27696
2024-02-22 19:12:28 +08:00
Konstantin Kondrashov
0d90a91e12 Merge branch 'bugfix/esp_intr_free' into 'master'
fix(esp_hw_support): Fix esp_intr_free when task has no core affinity

See merge request espressif/esp-idf!27328
2024-02-22 18:58:10 +08:00
zhiweijian
7ea7f1536f feat(bt/bluedroid): add api to setnd vendor hci command 2024-02-22 18:00:30 +08:00
Marius Vikhammer
af6657b43b fix(fatfs): temp remove deprecated attribute from esp_vfs_fat_register
Causes build-errors internally in CI, should deprecate after external
components have been upgraded
2024-02-22 17:48:32 +08:00
Rahul Tank
dd38f2406b fix(nimble): update variable name to avoid using keyword 2024-02-22 15:14:33 +05:30
Roland Dobai
df390159f6 Merge branch 'fix/ci_test_cli_installer' into 'master'
fix(ci): Change expected message in tests after dependency checker update

Closes IDFCI-2046

See merge request espressif/esp-idf!29183
2024-02-22 17:11:18 +08:00
Mahavir Jain
b44387fd9b Merge branch 'feature/enable_ecc_support_for_c5' into 'master'
feat: added ecc peripheral support for esp32c5

Closes IDF-8625

See merge request espressif/esp-idf!29053
2024-02-22 16:36:30 +08:00
Wu Zheng Hui
3560d20a2e Merge branch 'docs/add_description_for_pd_top_gpio_configuration' into 'master'
docs(esp_pm): Adding notes on configuring GPIOs when using PD_TOP sleep

Closes IDFGH-12085 and IDFGH-13186

See merge request espressif/esp-idf!29097
2024-02-22 16:11:47 +08:00
Konstantin Kondrashov
b8e2342bf8 Merge branch 'bugfix/bootloader_flash_update_size' into 'master'
fix(bootloader_support): Adds bootloader_flash_update_size() for the rest chips

Closes IDFGH-12123

See merge request espressif/esp-idf!29049
2024-02-22 15:49:22 +08:00
Roland Dobai
0e318fb6fc fix(ci): Change expected message in tests after dependency checker update
This should fix the tests after 5f798eb78b
has changed the error message.
2024-02-22 08:03:29 +01:00
morris
47c575d30c Merge branch 'feat/oled_example_use_new_i2c_master_driver' into 'master'
feat(i2c_lcd): use new i2c master driver in oled example

Closes IDFGH-12145

See merge request espressif/esp-idf!29094
2024-02-22 11:55:20 +08:00
Island
6790a5f79f Merge branch 'bugfix/ble_mesh_pb_adv_compile_error' into 'master'
fix(ble_mesh): Fix compiling error when PB-ADV is disabled

Closes IDFGH-12147

See merge request espressif/esp-idf!29126
2024-02-22 11:33:59 +08:00
Marius Vikhammer
c3ecd6d1f7 Merge branch 'bugfix/reset_reasons' into 'master'
Update reset reasons for C6, H2, P4 and C5

Closes IDF-5719 and IDF-8660

See merge request espressif/esp-idf!28999
2024-02-22 11:02:29 +08:00
Jiang Jiang Jian
2a6b3df49f Merge branch 'feature/support_DPP_AKM_v1' into 'master'
Add support of Network Introduction Protocol in DPP.

Closes WIFI-6171 and WIFIBUG-156

See merge request espressif/esp-idf!20856
2024-02-22 10:35:07 +08:00
Rahul Tank
9c0714fae7 Merge branch 'bugfix/missing_controller_disabled_guard' into 'master'
fix(nimble): Fixes related to nimble host only

See merge request espressif/esp-idf!29034
2024-02-22 02:02:18 +08:00
Adam Múdry
b13f414be7 Merge branch 'feature/vfs_fat_config_register' into 'master'
feat(storage/fatfs): Switch to a config struct for VFS FAT registration

Closes IDF-9174

See merge request espressif/esp-idf!28977
2024-02-21 23:39:56 +08:00
Guillaume Souchere
3fa2450b2c Merge branch 'fix/esp32c2-rom-patch-kconfig' into 'master'
fix(heap): Hide check patch config if no tlsf rom used

Closes IDF-9196

See merge request espressif/esp-idf!29071
2024-02-21 21:30:11 +08:00
Roland Dobai
f0796406a5 Merge branch 'fix/py_dep_check' into 'master'
fix(tools): catch more general errors in python dependency checker

Closes IDF-9181

See merge request espressif/esp-idf!29048
2024-02-21 20:57:08 +08:00
Jiang Jiang Jian
be2ccdcc50 Merge branch 'bugfix/fix_double_free_coc' into 'master'
fix(nimble): Removed double free of packet

See merge request espressif/esp-idf!29030
2024-02-21 20:37:03 +08:00
Roland Dobai
d25980cac7 Merge branch 'feat/idf_tools_py_remove_global_vars' into 'master'
feat(idf_tools): Switch from global variables to singleton store

Closes IDF-4918

See merge request espressif/esp-idf!28907
2024-02-21 20:32:09 +08:00
Lin Rui Hao
6c9f50343d Merge branch 'bugfix/fix_coex_lib_circular_dependency' into 'master'
fix(esp_coex): fix circular dependency issue on esp32

Closes IDFGH-12049

See merge request espressif/esp-idf!29099
2024-02-21 19:04:28 +08:00
Sudeep Mohanty
1c015a3f0d feat(ulp-riscv): Added unit test for RTC I2C
This commit adds a unit-test for RTC I2C operation on the ULP RISC-V.
2024-02-21 11:46:19 +01:00
Konstantin Kondrashov
281031e24d feat(efuse): Adds new efuses for esp32p4 2024-02-21 12:45:31 +02:00
Sudeep Mohanty
993c8d4f0e fix(ulp-riscv): Wrapped all RTC I2C and UART operations in critical sections
This commit adds a workaround for a bug where the RTC I2C operations
result in a Bus Error when interrupts are enabled. The commit also adds
a critical section protection for UART print operations.
2024-02-21 11:45:06 +01:00
Sudeep Mohanty
d352ec615a feat(ulp-riscv): Added utility functions for atomicity
This commit adds utility functions to enter and exit critical sections
in the code flow by disabling and enabling interrupts.
2024-02-21 11:45:06 +01:00
Sudeep Mohanty
bc74cf808d feat(ulp-riscv): Added Kconfig option to enable ULP RISC-V interrupts
This commit adds a Kconfig option, CONFIG_ULP_RISCV_INTERRUPT_ENABLE, to
enable interrupts on the ULP RISC-V core on the esp32s2 and esp32s3.
2024-02-21 11:45:06 +01:00
nilesh.kale
747ee60dd5 feat: added ecc peripheral support for esp32c5
This commits adds support for ECC peripheral for ESP32C5
This is tested on mbedtls and hal testapps.
2024-02-21 14:52:56 +05:30
Fu Hanxi
85372fb1ce ci(pytest): fix multi dut wrongly be picked issue
This issue will happen to multi-dut test cases
- without `target` defined in param
- and with `app_path` defined in param
- and with `pytest.mark.target` markers
2024-02-21 10:18:21 +01:00
linruihao
e418e8ec21 docs: update rf coexistenct api guides
1. support esp32c2
2. fix inconsistency between CN and EN docs of rf coexistence
3. adjust the visibility of some contents based on soc_caps
2024-02-21 16:57:33 +08:00
linruihao
1d34bb5e8a fix(esp_coex): add support_coexistence soc_caps for esp32c2 and esp32h2 2024-02-21 16:38:46 +08:00
wuzhenghui
d688492fe9 docs(gpio): add description for gpio_force_hold_all & gpio_force_unhold_all
Closes https://github.com/espressif/esp-idf/issues/13186
2024-02-21 16:21:03 +08:00
wuzhenghui
cfd8c6fb94 docs(esp_pm): Adding notes on configuring GPIOs when using PD_TOP sleep
Closes https://github.com/espressif/esp-idf/issues/13143
2024-02-21 16:20:59 +08:00
aditi_lonkar
90cc61588e feat(esp_wifi): Add support of Network Introduction Protocol in DPP 2024-02-21 12:47:32 +05:30
Jiang Jiang Jian
03d6b092c0 Merge branch 'bugfix/fix_task_wdt_in_mplen_clear_rebase_master' into 'master'
fix(wifi):fix issues that in mplen clear and esp_wifi_set_mode

Closes WIFIBUG-401 and WIFI-6358

See merge request espressif/esp-idf!29120
2024-02-21 15:13:28 +08:00
xiaqilin
4d7e86eeb6 fix(openthread): fix openthread alarm timer calculation remaining_us overflow issue 2024-02-21 15:09:36 +08:00
KonstantinKondrashov
eeeebdf1cd fix(esp_hw_support): Fix esp_intr_free when taks has no core affinity
Closes https://github.com/espressif/esp-idf/issues/12608
2024-02-21 14:54:32 +08:00
Roshan Bangar
167c663542 fix(nimble): fixed missing controller disabled guard in esp_nimble_deinit 2024-02-21 11:55:41 +05:30
Rahul Tank
01bc97ab04 Merge branch 'bugfix/signed_write_fix' into 'master'
fix(nimble): Message to be signed is corrected in signed write

See merge request espressif/esp-idf!28816
2024-02-21 14:19:01 +08:00
Mahavir Jain
d99a715568 test: add encrypted flash write test for dangerous regions 2024-02-21 10:31:27 +05:30
Marius Vikhammer
4ce4af61ad fix(system): update reset reasons for P4 and C5 2024-02-21 11:59:28 +08:00
Gao Xu
a0532e1dce Merge branch 'bugfix/workaround_reset_eof_counter_c3' into 'master'
fix(adc): workaround to fix adc continuous get less results on c3

See merge request espressif/esp-idf!27414
2024-02-21 11:55:25 +08:00
yinqingzhao
8b8d0f886d fix(wifi):fix issues that in mplen clear and esp_wifi_set_mode 2024-02-21 11:18:39 +08:00
Kapil Gupta
3a2e0dcbfb Merge branch 'bugfix/mbo_api_flag' into 'master'
fix(wpa_supplicant):Add CONFIG_MBO flag for mbo apis.

Closes WIFIBUG-390

See merge request espressif/esp-idf!28560
2024-02-21 10:54:46 +08:00
Omar Chebib
345bf79b4e Merge branch 'bugfix/esp32p4_remove_fence' into 'master'
fix(riscv): Remove the memory barrier when changing interrupt threshold

Closes IDF-7898

See merge request espressif/esp-idf!29119
2024-02-21 10:49:18 +08:00
Jiang Jiang Jian
e1a5633e18 Merge branch 'bugfix/bootloader_custom_rtc_data_crc_master' into 'master'
fix(bootloader): add legacy retained memory CRC calculation

Closes IDFGH-11747

See merge request espressif/esp-idf!28934
2024-02-21 10:39:14 +08:00
Gao Xu
9c14a3345f Merge branch 'feature/esp32p4_gpio_support' into 'master'
feat(gpio): add gpio support on ESP32C5

Closes IDF-8717

See merge request espressif/esp-idf!28669
2024-02-21 10:26:34 +08:00
Marius Vikhammer
ffd62352de Merge branch 'ci/test_limit_main_cleanup' into 'master'
ci(test_apps): limit dependencies for misc test_apps

See merge request espressif/esp-idf!29088
2024-02-21 09:26:25 +08:00
Erhan Kurubas
5f42493573 Merge branch 'astyle_format_coredump' into 'master'
refactor(espcoredump): format coredump component with astyle

See merge request espressif/esp-idf!29114
2024-02-20 17:59:23 +08:00
Island
41ee4ad23f Merge branch 'bugfix/fix_ble_free_all_crash_issue' into 'master'
fix(ble): Fixed the free_all crash on esp32c6 and esp32h2

Closes BLERP-565

See merge request espressif/esp-idf!29107
2024-02-20 17:56:54 +08:00
Fu Hanxi
0a5eec08ef Merge branch 'ci/fix_wrongly_build_all_test_related_apps_issue' into 'master'
Ci/fix wrongly build all test related apps issue

See merge request espressif/esp-idf!29078
2024-02-20 17:40:59 +08:00
Chen Jian Xing
90035d3588 Merge branch 'bugfix/update_scan_ap_num_when_clear_ap_list' into 'master'
fix(wifi): fixed scan and home channel change issues

Closes WIFI-6456 and IDFGH-11976

See merge request espressif/esp-idf!28895
2024-02-20 17:14:19 +08:00
Mahavir Jain
277c925e6a Merge branch 'bugfix/anti_rollback_check_regression' into 'master'
fix(bootloader_support): check the secure version only for app image

See merge request espressif/esp-idf!29102
2024-02-20 17:13:12 +08:00
Konstantin Kondrashov
1253ab6e27 Merge branch 'feature/move_esp_timer_related_inits_into_component' into 'master'
feat(esp_timer): Move esp_timer-related init steps into the component

Closes IDF-8755

See merge request espressif/esp-idf!28664
2024-02-20 16:49:31 +08:00
Liu Linyan
2d25ef62d1 fix(ble_mesh): Fix compiling error when PB-ADV is disabled
Closes https://github.com/espressif/esp-idf/issues/13203
2024-02-20 16:40:30 +08:00
Jan Beran
9ebba1b5c2 change(idf_tools): switch from old string formatting to f-strings and parentheses 2024-02-20 09:00:33 +01:00
Jan Beran
6e88ba4832 feat(idf_tools): Switch from global variables to global singleton 2024-02-20 09:00:33 +01:00
Fu Hanxi
b5e6b883a5 ci: fix test related apps are force been built 2024-02-20 08:30:22 +01:00
Sudeep Mohanty
9605f9be3f Merge branch 'contrib/github_pr_12800' into 'master'
feat(freertos): Added new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES

Closes IDFGH-11693 and IDF-8785

See merge request espressif/esp-idf!28505
2024-02-20 15:21:47 +08:00
linruihao
6604417b45 fix(esp_coex): fix circular dependency issue on esp32
Closes https://github.com/espressif/esp-idf/issues/13113
2024-02-20 15:12:20 +08:00
gaoxu
3ac736bc95 feat(gpio): add gpio support on ESP32C5 2024-02-20 14:57:25 +08:00
Sudeep Mohanty
ce4b49ae37 Merge branch 'docs/esp_event_minor_update' into 'master'
fix(docs): Minor update to esp_event.rst for improved user experience

Closes IDFGH-12098

See merge request espressif/esp-idf!29109
2024-02-20 14:50:11 +08:00
nilesh.kale
7ce39ffa8a fix(hal/test_apps): update sha testcases flow
This commit updates the flow of sha testcases.
Previously, DMA test cases were still executed even after disabling the related feature.
2024-02-20 11:53:58 +05:30
Guillaume Souchere
7938ac4104 fix(heap): Hide check patch config if no tlsf rom used
HEAP_TLSF_CHECK_PATCH needs to be hiden in menuconfig if
HEAP_TLSF_USE_ROM_IMPL is not enabled.
2024-02-20 06:47:42 +01:00
SumeetSingh19
14221b74f4 fix(nimble): message to be signed is corrected in signed write 2024-02-20 11:14:53 +05:30
morris
0a25176282 Merge branch 'feat/gptimer_support_esp32c5' into 'master'
feat(gptimer): basic driver support on esp32c5

Closes IDF-8705

See merge request espressif/esp-idf!29096
2024-02-20 13:33:15 +08:00
Rahul Tank
045884a899 Merge branch 'feat/ble_gap_dev_auth' into 'master'
feat(nimble): Authorize or deauthorize a BLE device for a connection

Closes BLERP-555

See merge request espressif/esp-idf!28902
2024-02-20 12:34:45 +08:00
Marius Vikhammer
c0a2043562 fix(system): update reset reasons for C6 and H2 2024-02-20 12:27:09 +08:00
Omar Chebib
2217854092 fix(riscv): Remove the memory barrier when changing interrupt threshold 2024-02-20 12:19:08 +08:00
Mahavir Jain
4a52733610 Merge branch 'docs/update_provisioning_docs_for_esp32p4' into 'master'
docs: Update provisioning API refs and guides for ESP32P4

Closes IDF-7766

See merge request espressif/esp-idf!29018
2024-02-20 12:12:03 +08:00
gongyantao
112ad700fc change(bt/bluedroid): Redirect app functions in controller based on the bluetooth mode 2024-02-20 10:24:59 +08:00
Erhan Kurubas
f4acf0b378 refactor(espcoredump): format coredump component with astyle 2024-02-19 21:57:28 +01:00
Martin Vychodil
ce266c3cd7 Merge branch 'docs/spiffs_doc_update' into 'master'
docs(spiffs): update api-reference document for SPIFFS

See merge request espressif/esp-idf!29105
2024-02-20 01:04:46 +08:00
Adam Múdry
5f961537cc feat(storage/fatfs): Switch to a config struct for VFS FAT registration 2024-02-19 14:05:50 +01:00
Sudeep Mohanty
a2d40b688f fix(docs): Minor update to esp_event.rst for improved user experience
This commit adds semicolons in c-code blocks in esp_event.rst for
improved user experience when directly copying and pasting code.

Closes https://github.com/espressif/esp-idf/issues/13156
2024-02-19 13:49:46 +01:00
ShenWeilong
d200f0f0e4 fix(ble): Fixed the free_all crash on esp32c6 and esp32h2 2024-02-19 20:00:29 +08:00
Konstantin Kondrashov
d348258f2c fix(test_apps): Fix coredump_uart_bin_crc.test_hw_stack_guard_cpu0 test 2024-02-19 19:21:40 +08:00
Konstantin Kondrashov
49ba674fb5 feat(esp_timer): Move esp_timer-related init steps into the component 2024-02-19 19:21:40 +08:00
Darshan Dobariya
169ee08c04 feat(nimble): Authorize or deauthorize a BLE device for a connection 2024-02-19 18:54:41 +08:00
Island
10f14d5cca Merge branch 'bugfix/ble_update_lib_20240207' into 'master'
update lib on master

See merge request espressif/esp-idf!28969
2024-02-19 18:11:19 +08:00
Linda
f288a81723 docs: add a link for Windows users to JTAG debugging 2024-02-19 17:33:24 +08:00
sonika.rathi
fe4ee63a4e docs(spiffs): update api-reference document for SPIFFS
Closes https://github.com/espressif/esp-idf/issues/10608
2024-02-19 10:28:05 +01:00
Mahavir Jain
c33b9e1426 fix(bootloader_support): check the secure version only for app image
Secure version in the image header is only available for the application
image. However, for certain security workflows, bootloader verifies
itself (own image) and hence the secure version check during that must be
avoided.

Regression introduced in recent commit-id: 3305cb4d

Tested that both secure boot and flash-enc workflows work correctly
with the anti-rollback scenario.
2024-02-19 14:54:17 +05:30
Fu Hanxi
fe0b63ff65 Merge branch 'ci/fix_default_artifacts' into 'master'
ci: always set `expire_in` and `when` with `artifacts`

See merge request espressif/esp-idf!29083
2024-02-19 17:06:19 +08:00
Harshit Malpani
48ca895e3c docs: Update provisioning API refs and guides for ESP32P4 2024-02-19 13:24:57 +05:30
zhangyanjiao
8bfab29f8d fix(wifi): fixed scan and home channel change issues
1. update scan ap number when clear scan ap records
2. fixed the old_snd filed error in WIFI_EVENT_HOME_CHANNEL_CHANGE event

Closes https://github.com/espressif/esp-idf/issues/13051
2024-02-19 14:57:41 +08:00
hongshuqing
15629e30ee fix: fix s3 bbpll cali fail bug 2024-02-19 14:33:40 +08:00
gaoxu
2eccde88f3 fix(adc): workaround to fix adc continuous get less results on c3 2024-02-19 10:34:54 +08:00
morris
49e7228be9 feat(gptimer): basic driver support on esp32c5 2024-02-19 10:27:18 +08:00
Marius Vikhammer
f68c131e56 Merge branch 'ci/disable_p4_cdc_acm_host' into 'master'
ci(usb_host): disable cdc_acm_vcp example for P4

See merge request espressif/esp-idf!29091
2024-02-18 17:23:55 +08:00
morris
ce8f9a0a00 feat(i2c_lcd): use new i2c master driver in oled example
Closes https://github.com/espressif/esp-idf/issues/13201
2024-02-18 17:15:44 +08:00
Yuan Ming Fu
e6dba934bd Merge branch 'bugfix/blemesh_lightbulb' into 'master'
fix: example: blemesh lightbulb driver

See merge request espressif/esp-idf!28870
2024-02-18 16:52:37 +08:00
Marius Vikhammer
1f7c666701 ci(test_apps): limit dependencies for misc test_apps
Only pull in direct dependencies for the test apps, reducing build time
as well making it possible for CI to determine if the test should run or not
when dependencies are changed.
2024-02-18 16:01:58 +08:00
Marius Vikhammer
b1bbca60ee ci(usb_host): disable cdc_acm_vcp example for P4 2024-02-18 15:22:43 +08:00
Armando (Dou Yiwen)
6b278ac406 Merge branch 'change/remove_idf7890_todo' into 'master'
change(memory): remove `IDF-7890` todo

Closes IDF-7890

See merge request espressif/esp-idf!28766
2024-02-18 14:08:06 +08:00
Wang Meng Yang
28ff8e3788 Merge branch 'feat/add_test_api_for_sec' into 'master'
Feat/add test api for sec

Closes BT-3578 and BT-3579

See merge request espressif/esp-idf!28191
2024-02-18 09:57:37 +08:00
Erhan Kurubas
59cab6dd40 fix(gcov): avoid multiple tick hook registration 2024-02-18 00:10:18 +01:00
Ondrej Kosta
1ae315e1ed fix(esp_eth): Fixed Ethernet link reset when Ethernet is stopped 2024-02-16 16:36:26 +01:00
Fu Hanxi
b70d65444a ci: always set expire_in and when with artifacts
set it under `default` does not work due to gitlab bugs.
will use `default` back once the bugs are resolved.
2024-02-16 13:43:53 +01:00
Ondrej Kosta
dee34c2a48 Merge branch 'bugfix/spi_eth_recv_alloc' into 'master'
fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling

Closes IDF-8601

See merge request espressif/esp-idf!29040
2024-02-16 19:52:48 +08:00
Martin Vychodil
db56ade0f5 Merge branch 'fix/cleanup_storage_sdkconfigs' into 'master'
fix(storage): cleanup storage examples/test_apps sdkconfigs

See merge request espressif/esp-idf!28998
2024-02-16 19:28:37 +08:00
Bogdan Kolendovskyy
c11e12c8c4 Merge branch 'bugfix/mmd_access_use_uint32' into 'master'
fix(esp_eth): Use uint32_t in mmd access functions

See merge request espressif/esp-idf!29036
2024-02-16 19:12:09 +08:00
Sudeep Mohanty
e80cf6f414 Merge branch 'contrib/github_pr_13191' into 'master'
Minor documentation fixes

Closes IDFGH-12135

See merge request espressif/esp-idf!29077
2024-02-16 17:21:04 +08:00
Marcel Petrick
36bbaa0a12 fix(docs): Updated .readthedocs.yml
Minor typing error fix in .readthedocs.yml file.

Closes https://github.com/espressif/esp-idf/pull/13191
2024-02-16 10:12:25 +01:00
Marcel Petrick
98d6c096d0 fix(docs): Minor fixes to light_sleep example README.md
This commit fixes minor issues with the README.md file in
examples/system/light_sleep.
2024-02-16 08:48:02 +01:00
Mahavir Jain
43522eee16 Merge branch 'update/sb_v2_key_revocation_documentation' into 'master'
docs(secure_boot_v2): Specify the workflow to disable revocation of unused key digests slots

See merge request espressif/esp-idf!29026
2024-02-16 10:59:45 +08:00
Peter Dragun
5f798eb78b fix(tools): catch more general errors in python dependency checker 2024-02-15 10:47:02 +01:00
harshal.patil
f4581d7103 docs(secure_boot_v2): Specify the workflow to disable revocation of unused key digests slots 2024-02-15 14:31:41 +05:30
Mahavir Jain
f460cc731f Merge branch 'bugfix/error_logging_in_https_server' into 'master'
fix(esp_https_server): Add error logs in https server

Closes IDFGH-10815

See merge request espressif/esp-idf!27970
2024-02-15 12:03:06 +08:00
Konstantin Kondrashov
9ffafd53b2 fix(bootloader_support): Adds bootloader_flash_update_size() for the rest chips
Closes https://github.com/espressif/esp-idf/issues/13179
2024-02-14 17:41:20 +02:00
Ondrej Kosta
b0259f59c2 fix(esp_eth): improved SPI Ethernet _alloc_recv_buf error handling 2024-02-14 12:40:04 +01:00
Mahavir Jain
2238e11e90 fix(docs): correct the UART ROM DL mode disable section for ESP32 2024-02-14 14:46:51 +05:30
Harshit Malpani
d52955efdd feat: Add event handler in simple https_server example 2024-02-14 14:36:14 +05:30
Harshit Malpani
3e1a95a0a7 feat(esp_https_server): Get the error codes on https_server error
Closes https://github.com/espressif/esp-idf/issues/12026
2024-02-14 14:36:14 +05:30
Harshit Malpani
9274e3e620 fix(esp-tls): capture errors in error handle 2024-02-14 14:36:14 +05:30
Mahavir Jain
58efbf4894 fix(spi_flash): check for safe write address in encrypted flash API 2024-02-14 13:45:11 +05:30
Konstantin Kondrashov
07980dba2f Merge branch 'feature/secure_boot_dev_approach' into 'master'
feat(bootloader_support): Support SB-on app can do OTA on SB-off chip

Closes IDFGH-12079

See merge request espressif/esp-idf!29027
2024-02-14 15:11:52 +08:00
Bogdan Kolendovskyy
748c215c63 fix(esp_eth): Use uint32_t in mmd access functions 2024-02-13 12:53:11 +01:00
Rahul Tank
3d03c07c84 fix(nimble): Removed double free of packet 2024-02-13 14:14:03 +05:30
Mahavir Jain
4d90eedb6e Merge branch 'feature/add_dma_suppport_for_aes_and_sha' into 'master'
feat(hal/testapps): Added AES and SHA testcases with DMA support

Closes IDF-7986 and IDF-7987

See merge request espressif/esp-idf!26497
2024-02-13 16:12:07 +08:00
Laukik Hase
70b1ebe948 Merge branch 'refactor/move_esp_app_format_init_to_component' into 'master'
refactor(esp_app_format): Move esp_app_format-related init steps into the component

Closes IDF-8753

See merge request espressif/esp-idf!28896
2024-02-13 14:57:54 +08:00
Konstantin Kondrashov
9b0eefee73 feat(bootloader_support): Support SB-on app can do OTA on SB-off chip
Closes: https://github.com/espressif/esp-idf/issues/13139
2024-02-12 17:27:50 +02:00
Adam Múdry
7e7b1fc65f Merge branch 'fix/suppress_c++11_invalid_suffix_on_literal' into 'master'
fix: Fix PRI inttypes error due to C++ invalid suffix on literal in SPIFFS

Closes IDF-9000

See merge request espressif/esp-idf!28772
2024-02-12 18:25:50 +08:00
sonika.rathi
f7e4b9a132 fix(storage): cleanup storage examples/test_apps sdkconfigs 2024-02-12 10:57:46 +01:00
Tomas Rezucha
c24dcd02c1 Merge branch 'feature/esp_hid_usb_preparation' into 'master'
refactor(esp_hid): Prepare for USB transport layer

See merge request espressif/esp-idf!28472
2024-02-12 16:29:12 +08:00
Omar Chebib
6d045937d3 Merge branch 'feat/ulp_add_cycle_function' into 'master'
feat(lp_core): add a public function to get the timer cycle count

Closes IDFGH-12036

See merge request espressif/esp-idf!28910
2024-02-12 14:19:17 +08:00
Laukik Hase
5430e2ff4c refactor(esp_app_format): Move esp_app_format-related init steps into the component 2024-02-12 11:12:37 +05:30
Marius Vikhammer
4b5b064caf Merge branch 'bugfix/heap_task_includes' into 'master'
fix(heap): fixed missing include in esp_heap_task_info.h

See merge request espressif/esp-idf!29007
2024-02-10 14:37:27 +08:00
Marius Vikhammer
a8d39ab4e4 Merge branch 'bugfix/missing_linux_include' into 'master'
fix(linux_target): added missing include file when CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS

See merge request espressif/esp-idf!29008
2024-02-10 11:44:51 +08:00
Marius Vikhammer
b8e6b4601c fix(linux_target): added missing include file when CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS 2024-02-09 16:58:06 +08:00
nilesh.kale
aab3f604ec feat(hal/testapps): Added AES and SHA testcases with DMA support 2024-02-09 14:23:06 +05:30
Omar Chebib
5a32ca10ad feat(lp_core): add a public function to get the timer cycle count
Closes https://github.com/espressif/esp-idf/issues/13101
2024-02-09 16:50:02 +08:00
Omar Chebib
75eb489105 fix(bootloader): add legacy retained memory CRC calculation
* Closes https://github.com/espressif/esp-idf/issues/12849

In former versions of ESP-IDF, the user custom memory data in the retained memory
was taken into account during the CRC calculation. This was changed in a later
commit, the custom memory was ignored, therefore this can seen as a breaking change.
This commit gives the possibility to choose between the former (legacy) or
new way of calculating the CRC.
2024-02-09 16:49:56 +08:00
Bogdan Kolendovskyy
91630fab36 Merge branch 'bugfix/ip101_reset_timing' into 'master'
fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet

Closes IDF-9160

See merge request espressif/esp-idf!28906
2024-02-09 16:44:24 +08:00
fl0wl0w
90d1dcfd76 feat(freertos): Introduced new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES
This commit replaces the use of portNUM_PROCESSORS and configNUM_CORES
macros in all of ESP-IDF. These macros are needed to realize an SMP
scenario by fetching the number of active cores FreeRTOS is running on.
Instead, a new Kconfig option, CONFIG_FREERTOS_NUMBER_OF_CORES, has been
added as a proxy for the FreeRTOS config option, configNUMBER_OF_CORES.
This new commit is now used to realize an SMP scenario in various places
in ESP-IDF.

[Sudeep Mohanty: Added new Kconfig option CONFIG_FREERTOS_NUMBER_OF_CORES]

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2024-02-09 09:11:28 +01:00
Marius Vikhammer
51ceeca03b fix(heap): fixed missing include in esp_heap_task_info.h
Would fail to compile if esp_heap_task_info.h was included without/before freertos includes
2024-02-09 15:52:08 +08:00
Roland Dobai
b8abf75a11 Merge branch 'feature/fix_build_system_win_tests' into 'master'
feat(tools): Run skipped build system pytests on Win

Closes IDF-8582 and IDFCI-896

See merge request espressif/esp-idf!28800
2024-02-09 15:33:26 +08:00
Mahavir Jain
f9cb559dfe Merge branch 'bugfix/update_ota_docs_and_solve_pytest_error' into 'master'
fix: fixed issue faced while starting python server and updated ota readme

See merge request espressif/esp-idf!27918
2024-02-08 23:32:32 +08:00
Mahavir Jain
34723ad12c Merge branch 'bugfix/ota_anti_rollback_checks_2' into 'master'
feat(bootloader_support): Read secure_version under sha256 protection

Closes IDF-9013

See merge request espressif/esp-idf!28740
2024-02-08 23:10:08 +08:00
Ondrej Kosta
5df5f0cf80 Merge branch 'feature/spi_eth_no_int' into 'master'
feat(esp_eth): added SPI Ethernet module polling mode

Closes IDFGH-11561

See merge request espressif/esp-idf!28782
2024-02-08 22:34:47 +08:00
Adam Múdry
88e4fd9ac1 fix(vfs): Add missing lock release in vfs_fat_truncate 2024-02-08 14:16:19 +01:00
Adam Múdry
dad8fd4500 Merge branch 'fix/examples_format_sd_card_disable' into 'master'
fix(examples): Disable formatting SD cards in storage examples by default

Closes IDF-9173

See merge request espressif/esp-idf!28975
2024-02-08 21:03:31 +08:00
Marek Fiala
65db8bf7a9 refactor(tools): Split build pytest into multiple jobs 2024-02-08 13:49:28 +01:00
Marek Fiala
52da5b765f feat(tools): Run skipped build system pytests on Win 2024-02-08 11:23:51 +01:00
Kirill Chalov
a55a0354e6 Merge branch 'docs/rewrite-api-ref-esp-timers' into 'master'
docs(rewrite): Rewrite esp_timer api ref and related docs

See merge request espressif/esp-idf!27034
2024-02-08 14:13:08 +08:00
Marius Vikhammer
6afb652626 Merge branch 'refactor/decouple_esp_system_pthread' into 'master'
refactor(pthread): decouple pthread_init from esp_system

Closes IDF-8757

See merge request espressif/esp-idf!28909
2024-02-08 13:30:59 +08:00
Jakob Hasse
c3aaebd366 Merge branch 'feature/add_bsd_fls' into 'master'
feat(linux): added fls() on Linux

See merge request espressif/esp-idf!28807
2024-02-08 13:06:57 +08:00
kirill.chalov
8154150188 docs(esp_timer): Rewrite esp_timer api ref and related docs 2024-02-08 12:13:18 +08:00
Song Ruo Jing
d556fee5c4 Merge branch 'feature/esp32c5_clock_preliminary_support' into 'master'
Feature/esp32c5 clock preliminary support

See merge request espressif/esp-idf!28808
2024-02-08 11:54:35 +08:00
Marius Vikhammer
2bb16ed45b refactor(pthread): decouple pthread_init from esp_system 2024-02-08 09:40:46 +08:00
Zhang Xiao Yan
ae31dfe4b8 Merge branch 'docs/add_gpio_dump_io_configuration_example' into 'master'
docs: Add an example for the function gpio_dump_io_configuration()

See merge request espressif/esp-idf!28873
2024-02-08 09:31:47 +08:00
Erhan Kurubas
4c6f3fbf23 Merge branch 'feature/move_espcordump_init_into_component' into 'master'
feat(coredump): move esp_core_dump_init into component

Closes IDF-8766

See merge request espressif/esp-idf!28665
2024-02-08 06:17:52 +08:00
David Čermák
403b4fdcfe Merge branch 'fix/esp_netif_sntp' into 'master'
fix(esp_netif): Prevent running esp_netif_sntp_init() multiple times

Closes IDFGH-11754

See merge request espressif/esp-idf!28338
2024-02-08 00:12:03 +08:00
Adam Múdry
a5630c8277 fix: PRI inttypes error due to C++ invalid suffix on literal in SPIFFS 2024-02-07 23:52:49 +08:00
Mahavir Jain
3305cb4d23 fix(ota): additional checks for secure version in anti-rollback case
Some additional checks related to secure version of the application in
anti-rollback case have been added to avoid any attempts to boot lower
security version but valid application (e.g., passive partition image).

- Read secure_version under sha256 protection

- First check has been added in the bootloader to ensure correct secure
  version after application verification and loading stage. This check
  happens before setting up the flash cache mapping and handling over
  the final control to application. This check ensures that application
  was not swapped (e.g., to lower security version but valid image) just
  before the load stage in bootloader.

- Second check has been added in the application startup code to ensure
  that currently booting app has higher security version than the one
  programmed in the eFuse for anti-rollback scenario. This will ensure
  that only the legit application boots-up on the device for
  anti-rollback case.
2024-02-07 22:23:10 +08:00
Adam Múdry
e2da3a4259 fix(examples): Disable formatting SD cards in storage examples by default 2024-02-07 13:40:40 +01:00
Song Ruo Jing
2a585f58a0 Merge branch 'refactor/add_lp_uart_test' into 'master'
Refactor/add lp uart test

See merge request espressif/esp-idf!28681
2024-02-07 20:02:46 +08:00
Erhan Kurubas
0d22b99946 feat(coredump): move esp_core_dump_init into component 2024-02-07 19:39:36 +08:00
Roland Dobai
1a80217af5 Merge branch 'bugfix/kconcheck_file_checks' into 'master'
bugfix: Fixed KConfig files that were not succesfully checked

Closes IDF-9028 and IDF-9027

See merge request espressif/esp-idf!28385
2024-02-07 19:12:25 +08:00
Roland Dobai
63f359e684 Merge branch 'feat/bump_up_pre_commit_hook' into 'master'
fix: Bump up pre-commit hooks version

See merge request espressif/esp-idf!28943
2024-02-07 18:40:56 +08:00
Bogdan Kolendovskyy
222f67f043 fix(esp_eth): ip101-specific reset_hw to match reset timings from datasheet
IP101 requires 10ms reset assertion time and 10ms post-reset delay to properly initialize.
2024-02-07 11:24:17 +01:00
Ondrej Kosta
fd0a1dc53c feat(esp_eth): added SPI Ethernet module polling mode
Closes https://github.com/espressif/esp-idf/issues/12682
2024-02-07 11:21:57 +01:00
chaijie@espressif.com
17ac4cd909 fix: fix sleep fast_mem & slow_mem may lost bug 2024-02-07 18:06:04 +08:00
Jakob Hasse
48d121653b feat(linux): added fls() on Linux 2024-02-07 17:56:16 +08:00
Jiang Jiang Jian
170b46e331 Merge branch 'bugfix/fix_coex_wifi_restart_issue' into 'master'
fix(coex): fix wifi issue after coex restart

Closes FCS-1380, FCW-169, and WIFI-6265

See merge request espressif/esp-idf!28565
2024-02-07 17:48:50 +08:00
luomanruo
b037585852 ble(update):
Update h2 lib to eb112893
Update c6 lib to eb112893
2024-02-07 17:29:25 +08:00
David Cermak
feef14b43b fix(esp_netif): Prevent running esp_netif_sntp_init() multiple times
Closes https://github.com/espressif/esp-idf/issues/12854
2024-02-07 09:09:59 +01:00
Tomas Rezucha
6f30198ca3 feat(esp_hid): Add Connection Request event
This event is useful for situations where the HID device
requests connection. Typically in USB transport.
2024-02-07 15:34:55 +08:00
Tomas Rezucha
f7bff8b1fc refactor(esp_hid): Create new esp_hid_addr_t type 2024-02-07 15:34:55 +08:00
Tomas Rezucha
56a159a7d5 refactor(esp_hid): Move header files to esp_private directory
esp_hidd_private.h and esp_hidh_private.h are required by components
that extend esp_hid with a new transport layer, such as USB
2024-02-07 15:34:55 +08:00
Wang Meng Yang
4fb231088d Merge branch 'bugfix/fix_dangling_pointer_in_remove_bond_list_section' into 'master'
fix(bt/bluedroid): fix dangling pointer issue when logging removed section

See merge request espressif/esp-idf!28734
2024-02-07 14:51:17 +08:00
Song Ruo Jing
95133c179f feat(clk): preliminary clock tree support for ESP32C5 2024-02-07 14:38:15 +08:00
Song Ruo Jing
5276cd4f1d refactor(uart): add support to be able to test LP_UART port
Increase LP_UART_EMPTY_THRESH_DEFAULT value to 4. The original value
could cause the FIFO become empty before filling next data into the FIFO
when the buadrate is high. TX_DONE interrupt would raise before actual
transmission complete in such case.
2024-02-07 14:37:48 +08:00
Song Ruo Jing
dce27c3b09 change(clk_tree): add LP_DYN_FAST_CLK to soc_module_clk_t 2024-02-07 14:37:48 +08:00
liuning
42a0128d9c fix(wifi): fix wifi stop cost too much time 2024-02-07 13:49:18 +08:00
liuning
3fa9c578f9 fix(clk): clear all lpclk source at clk init 2024-02-07 13:49:18 +08:00
Marius Vikhammer
a2e5770bce Merge branch 'bugfix/c5_bringup_rtc_error' into 'master'
fix(system): fixed rtc_sleep not being placed in IRAM

Closes IDFCI-2022

See merge request espressif/esp-idf!28912
2024-02-07 13:16:03 +08:00
Mahavir Jain
e0dd917d31 Merge branch 'bugfix/update_incorrect_refereing_of_function_esp_https_ota_get_img_desc' into 'master'
fix(esp_https_ota): fix incorrect references of API esp_https_ota_get_img_desc()

See merge request espressif/esp-idf!28891
2024-02-07 12:05:58 +08:00
morris
d426036168 Merge branch 'feat/blink_example_refactor' into 'master'
feat(blink): add sdkconfig defaults for each target

Closes IDF-8988, IDF-8074, and IDF-9006

See merge request espressif/esp-idf!28887
2024-02-07 11:04:45 +08:00
morris
e4b655a252 feat(blink): add sdkconfig defaults for each target
based on devkit board design
2024-02-07 10:32:22 +08:00
Marius Vikhammer
bca642f330 Merge branch 'refactor/astyle_timer' into 'master'
refactor(system): reformated esp_timer, linux and log comp with astyle

See merge request espressif/esp-idf!28876
2024-02-07 10:13:03 +08:00
Marius Vikhammer
2d8d87b396 fix(system): fixed rtc_sleep not being placed in IRAM 2024-02-07 09:47:23 +08:00
Jan Beran
dc68d08237 fix: Bump up pre-commit hooks version 2024-02-06 13:59:52 +01:00
Fu Hanxi
57955cc150 Merge branch 'ci/ignore_c6_wifi_two_dut_runners' into 'master'
ci: ignore esp32c6_2,wifi_two_dut test cases

See merge request espressif/esp-idf!28944
2024-02-06 20:45:32 +08:00
Fu Hanxi
80a32713bb ci: ignore esp32c6_2,wifi_two_dut test cases 2024-02-06 13:38:25 +01:00
Martin Vychodil
590ebd3a79 Merge branch 'fix/diskio_format_error_codes_as_hex' into 'master'
fix: diskio format all error message codes to hex

Closes IDFGH-11071

See merge request espressif/esp-idf!28773
2024-02-06 20:23:42 +08:00
Armando (Dou Yiwen)
042cf231a7 Merge branch 'change/esp_driver_cam' into 'master'
change(cam): renamed to esp_driver_cam

See merge request espressif/esp-idf!28889
2024-02-06 19:19:51 +08:00
Tomas Rezucha
81031490dc Merge branch 'fix/usb_example_newlib_nano' into 'master'
fix(usb/example): Fixed MSC compilation with Newlib Nano format

Closes IEC-60

See merge request espressif/esp-idf!28702
2024-02-06 17:42:11 +08:00
Sudeep Mohanty
7acc152f1c Merge branch 'bugfix/rtc_i2c_not_in_od_mode' into 'master'
fix(ulp_riscv): Updated RTC I2C to use open-drain IOs

See merge request espressif/esp-idf!28799
2024-02-06 15:40:24 +08:00
nilesh.kale
318038a746 fix: fixed issue faced while starting python server and updated ota readme
openssl server does not support for range request mechanism.
Consequently, it does not support partial download feature.
So, removing commands and steps required for staring openssl server.
Also, updated pytest file to avoid unnecssary issues while starting server.
2024-02-06 12:12:24 +05:30
Rahul Tank
1741705517 Merge branch 'bugfix/fix_out_of_order_messages_causing_dos' into 'master'
fix(nimble): Out of order messages during SMP causing DOS vulerability

Closes BLERP-498

See merge request espressif/esp-idf!28544
2024-02-06 12:40:12 +08:00
Shang Zhou
f505749144 Merge branch 'docs/update_cn_trans_for_ulp-risc-v' into 'master'
docs: Update CN translation for ulp-risc-v.rst

Closes DOC-7014

See merge request espressif/esp-idf!28738
2024-02-06 12:19:22 +08:00
Jiang Jiang Jian
fe2a5adc93 Merge branch 'contrib/github_pr_12867' into 'master'
fix(esp32): Removed rogue semicolon in #define in esp_smartconfig.h (GitHub PR)

Closes IDFGH-11769

See merge request espressif/esp-idf!28903
2024-02-06 11:57:14 +08:00
Jiang Jiang Jian
88317ed300 Merge branch 'bugfix/wait_for_child_disconnect_when_mesh_deinit' into 'master'
fix(wifi/mesh): wait for child disconnect when mesh deinit

Closes WIFIBUG-194

See merge request espressif/esp-idf!28736
2024-02-06 11:28:24 +08:00
Marius Vikhammer
db65efe0bd Merge branch 'feature/lp_core_lp_timer_p4' into 'master'
feat(lp_core): add support for lp timer and lp gpio on P4

Closes IDF-7536, IDF-7532, and IDF-8986

See merge request espressif/esp-idf!28871
2024-02-06 11:14:24 +08:00
Shang Zhou
dd0cf9e935 docs: Update CN translation for ulp-risc-v.rst 2024-02-06 10:56:46 +08:00
Dai Zi Yan
28eb8239ff Merge branch 'docs/sync_up_cn_trans' into 'master'
docs: update CN translation

Closes DOC-6747, DOC-6656, and DOC-7267

See merge request espressif/esp-idf!28244
2024-02-06 10:45:14 +08:00
morris
4472422358 Merge branch 'contrib/github_pr_13103' into 'master'
Remove validation of pins for LCD output. (GitHub PR)

Closes IDFGH-12038

See merge request espressif/esp-idf!28888
2024-02-06 10:16:41 +08:00
daiziyan
840a281818 docs: update CN translation 2024-02-06 09:55:01 +08:00
zhangyanjiao
7e6295fd75 fix(wifi/mesh): wait for child disconnect when mesh deinit 2024-02-06 09:49:09 +08:00
Marius Vikhammer
dff1e5df88 feat(lp_core): add support for lp timer and lp gpio on P4 2024-02-06 09:41:20 +08:00
Jiang Jiang Jian
b4fe434d2e Merge branch 'bugfix/fix_esp_wifi_scan_start_memory_leakage_issue' into 'master'
fix(wifi): fix esp_wifi_scan_start memory leakage issue

Closes IDFGH-9313

See merge request espressif/esp-idf!28869
2024-02-05 19:23:33 +08:00
Linda
2c8975b2a7 docs: Add an example for the function gpio_dump_io_configuration() 2024-02-05 18:42:52 +08:00
Kevin (Lao Kaiyao)
1458e13b50 Merge branch 'ci/enable_hello_world_build_on_esp32c5' into 'master'
ci(esp32c5): enable template app & hello world build on ci

See merge request espressif/esp-idf!28776
2024-02-05 18:25:37 +08:00
Simon H
4b08c8b000 fix(esp_wifi): Remove semicolon from SMARTCONFIG_START_CONFIG_DEFAULT
Removed rogue semicolon from SMARTCONFIG_START_CONFIG_DEFAULT() macro. This
fixes build issues when this macro is used via C++ brace initialization.

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

[Darian Leung: Updated commit message]
Signed-off-by: Darian Leung <darian@espressif.com>
2024-02-05 17:21:55 +08:00
Fu Hanxi
a1f7f94ef9 ci: upload size info, and build junit report 2024-02-05 10:07:32 +01:00
nilesh.kale
3da0aa2d82 fix(esp_https_ota): fix incorrectly reference of API esp_https_ota_get_img_desc()
esp_https_ota_get_img_desc() is incorrectly referred to as esp_https_ota_read_img_desc()
in some error messages.So, this MR updates related references

Closes https://github.com/espressif/esp-idf/issues/13065
2024-02-05 13:55:42 +05:30
zwx
18f5188f80 feat(openthread): enable RCP uart configuration for BR by default 2024-02-05 15:59:44 +08:00
Island
37f0447961 Merge branch 'bugfix/fix_dtm_tx_count' into 'master'
fix(ble/controller): Fixed tx count in direct test mode

Closes BLERP-537, BLERP-549, and BLERP-550

See merge request espressif/esp-idf!28781
2024-02-05 14:45:05 +08:00
Mahavir Jain
14a54c5ead Merge branch 'feature/update_mbedtls_v3.5.2' into 'master'
feat(mbedtls): updated mbedtls version from 3.5.0 to 3.5.2

Closes IDF-9143

See merge request espressif/esp-idf!28827
2024-02-05 14:19:59 +08:00
laokaiyao
ea14b24048 ci(esp32c5): fix the build of the template app 2024-02-05 12:39:35 +08:00
laokaiyao
c0c6af99e9 fix(esp32c5): fixed the lack of crosscore ll on c5 2024-02-05 12:39:35 +08:00
laokaiyao
eb1fd7365e ci(esp32c5): enable hello world build on ci 2024-02-05 12:39:35 +08:00
SumeetSingh19
78a46316f1 fix(nimble): Out of order messages during SMP causing DOS vulerability 2024-02-05 09:30:55 +05:30
Jiang Jiang Jian
1bfd5cd5c5 Merge branch 'feature/add_api_to_get_controller_status_on_esp32' into 'master'
feat(ble/controller): Add API to get BLE controller status on ESP32

Closes BLERP-549

See merge request espressif/esp-idf!28875
2024-02-05 11:07:07 +08:00
Jiang Jiang Jian
289de9d872 Merge branch 'bugfix/fix_xQueueSemaphoreTask_assert_when_deinit_host' into 'master'
Fixed xQueueSemaphoreTask assert when deinit host during scan

Closes BLERP-536 and BLERP-552

See merge request espressif/esp-idf!28767
2024-02-05 11:03:12 +08:00
Armando
cfe06a7517 change(cam): renamed to esp_driver_cam 2024-02-05 10:30:54 +08:00
Shu Chen
ac76d44a9b Merge branch 'bugfix/fix_tx_pending_issue' into 'master'
fix(openthread): fix some openthread issues related to 5.1.3 release test

Closes TZ-605 and TZ-606

See merge request espressif/esp-idf!28818
2024-02-05 10:16:51 +08:00
gongyantao
3f205d4d85 fix(bt/bluedroid): fix dangling pointer issue when logging remove section 2024-02-05 10:01:44 +08:00
Hello1024
77029676d1 fix(rgb_lcd): remove validation of pins for LCD output
There are a bunch of cases you might want some pins not exposed.

Eg.

  * Reading say 8 bit data and outputting the top 5 bits, discarding the rest by not mapping those data pins to output pins

 * Not using hsync/vsync because sync data is embedded within the data bits for more timing flexibility (eg. interlacing).

 * Using the LCD module as a high speed parallel data output bus, with no need for sync/control pins.

Removing this validation makes these cases work.

Merges https://github.com/espressif/esp-idf/pull/13103
2024-02-05 10:00:35 +08:00
Armando (Dou Yiwen)
116c9494c7 Merge branch 'feat/csi_driver' into 'master'
feat(csi): added csi driver

See merge request espressif/esp-idf!28751
2024-02-05 09:59:35 +08:00
Wu Zheng Hui
5454d37d49 Merge branch 'feature/support_gdma_retention' into 'master'
feature: support gdma retention in pd_top lightsleep

Closes IDF-7704 and IDFGH-11389

See merge request espressif/esp-idf!27246
2024-02-04 20:17:02 +08:00
Jiang Jiang Jian
e00429d691 Merge branch 'feat/wifi_remote' into 'master'
feat(esp_wifi): Add dependency on wifi_remote for chips with no wifi

See merge request espressif/esp-idf!26217
2024-02-04 19:11:05 +08:00
Armando
46cf31eac0 change(cam): added codeowners 2024-02-04 19:06:11 +08:00
Armando
f918079e8e feat(csi): added csi driver 2024-02-04 19:06:11 +08:00
Island
4c190c56e6 Merge branch 'bugfix/fix_hci_uart_with_flow_ctrl_off' into 'master'
fix(bt/example): Fixed UART HCI when flow control is off on ESP32C3

See merge request espressif/esp-idf!27712
2024-02-04 16:00:48 +08:00
Island
24aba63c5b Merge branch 'feat/support_get_bluedroid_status' into 'master'
feat(bt/bluedroid): Support get status of bluedroid host

Closes BLERP-468

See merge request espressif/esp-idf!28555
2024-02-04 16:00:42 +08:00
Marius Vikhammer
77dcb6d46e refactor(system): reformated esp_timer, linux and log comp with astyle 2024-02-04 14:50:54 +08:00
zhiweijian
307b2507f3 feat(ble/controller): Add API to get BLE controller status on ESP32 2024-02-04 14:16:40 +08:00
hongshuqing
35918b89a9 feat(pmu): set fix voltage to different mode for esp32c6 & c6 modify brownout rst2 2024-02-04 14:13:23 +08:00
zwx
970626ec2f feat(openthread): disable the rx on when idle in coex scenario 2024-02-04 13:59:47 +08:00
zwx
ba2350dde8 fix(openthread): fix RCP handle timeout crashing issue
* update openthread upstream
2024-02-04 13:59:47 +08:00
zwx
eb60726c44 fix(openthread): support uart ISR in IRAM 2024-02-04 13:59:47 +08:00
zwx
dcc52cd975 fix(802154): fix pending tx will be delayed issue 2024-02-04 13:59:47 +08:00
Armando
dd5843f490 change(memory): remove IDF-7890 todo 2024-02-04 12:54:13 +08:00
zhanghaipeng
eb92ea3461 fix(ble/controller): Fixed tx count in direct test mode on ESP32-C3 and ESP32-S3
- Fixed tx count in direct test mode on ESP32-C3 and ESP32-S3
- fixed modem sleep enter failed sometimes
2024-02-04 11:49:47 +08:00
Island
adc49dfed7 Merge branch 'bugfix/fix_some_ble_bugs_2401' into 'master'
FIxed some BLE bugs 2401 on ESP32C3(91980c2)

Closes BLERP-513, BLERP-514, BLERP-515, BLERP-516, BLERP-517, BLERP-518, BLERP-519, BLERP-520, BLERP-521, BLERP-522, BLERP-523, BLERP-524, BLERP-525, BLERP-526, and BLERP-527

See merge request espressif/esp-idf!28691
2024-02-04 10:49:23 +08:00
YuanMingFu
ef2935e955 fix: example: blemesh lightbulb driver 2024-02-03 16:40:53 +08:00
muhaidong
d278ffc501 fix(wifi): fix esp_wifi_scan_start memory leakage issue
Closes https://github.com/espressif/esp-idf/issues/10693
2024-02-03 16:32:09 +08:00
Roland Dobai
7e27152bcc Merge branch 'feature/add_host_test_win_runner' into 'master'
feat(tools): idf_tools host tests run on Win runner

Closes IDF-8214 and IDF-8213

See merge request espressif/esp-idf!27803
2024-02-03 02:15:50 +08:00
Rahul Tank
c769dfa7dc Merge branch 'bugfix/nimble_host_clean_up_api' into 'master'
fix(nimble): Added API to get current stack operation status

Closes BLERP-461

See merge request espressif/esp-idf!28476
2024-02-03 01:54:55 +08:00
Marek Fiala
375c22ecdb feat(tools): Update Windows runners tags 2024-02-02 15:04:40 +01:00
Marek Fiala
a97e355e74 feat(tools): Run Tools related host tests on Win 2024-02-02 14:58:04 +01:00
Jakub Kocka
0b00e49ac5 fix: Fixed KConfig files that were not succesfully checked 2024-02-02 14:13:45 +01:00
Adam Múdry
71c6304f71 Merge branch 'feature/vfs_fat_x_little_revamp' into 'master'
feat(fatfs): Add format functions with a config parameter

Closes IDF-9111

See merge request espressif/esp-idf!28683
2024-02-02 18:19:33 +08:00
Jakub Kocka
f7c5969f5e docs(kconfig): Updated config name lenght 2024-02-02 10:32:35 +01:00
chenjianhua
a3f5382eaa feat(bt/bluedroid): Support get status of bluedroid host 2024-02-02 17:29:11 +08:00
Chen Jian Xing
c6405bda6a Merge branch 'bugfix/fix_log_format_resulting_in_compilation_failure_issue' into 'master'
fix(lwip): fix log format resulting in compilation failue issue

Closes IDFGH-11897

See merge request espressif/esp-idf!28494
2024-02-02 16:55:50 +08:00
Chen Yu Dong
566680b48c Merge branch 'ci/fix_protocol_network_pytest_markers' into 'master'
ci: update protocol/ethernet pytest markers

See merge request espressif/esp-idf!28794
2024-02-02 16:51:19 +08:00
Roland Dobai
78ac339972 Merge branch 'fix/add_docstrings_idf_tools_py' into 'master'
refactor(idf_tools.py): add docstrings and type annotations

Closes IDF-889

See merge request espressif/esp-idf!28646
2024-02-02 16:41:44 +08:00
Rahul Tank
4a7db059ba fix(nimble): Added API to get current stack operation status 2024-02-02 13:57:46 +05:30
Roland Dobai
4ed11566f5 Merge branch 'change/gitlab_tools_docs' into 'master'
Docs: Set the tools teams to be the owner of tools documentation

See merge request espressif/esp-idf!28809
2024-02-02 16:17:54 +08:00
Rahul Tank
444c76c886 Merge branch 'bugfix/add_adv_itvl_range_check' into 'master'
fix(nimble): Add adv interval min/max range check

Closes BLERP-474, BLERP-477, BLERP-476, and BLERP-475

See merge request espressif/esp-idf!28580
2024-02-02 14:04:35 +08:00
wuzhenghui
247b4e0574 change(esp_hw_support): collect retention link priority definition 2024-02-02 11:21:44 +08:00
wuzhenghui
6ef9a7f591 ci: enable hardware crypto module for powersave tests 2024-02-02 11:21:44 +08:00
wuzhenghui
0c2f811ca8 feat(esp_hw_support): support gdma register context sleep retention 2024-02-02 11:21:40 +08:00
Marius Vikhammer
ef87256e73 Merge branch 'docs/esp32c5_build_docs' into 'master'
docs(esp32c5): add support for building C5 docs

Closes IDF-8679

See merge request espressif/esp-idf!28753
2024-02-02 09:36:41 +08:00
Chen Yudong
a72d5f4b41 ci: update protocol/ethernet pytest markers 2024-02-01 22:47:18 +08:00
Ondrej Kosta
bd21297c48 ci(esp_eth): run iperf over longer period for SPI ETH bridge 2024-02-01 15:39:57 +01:00
Abhik Roy
a6e2c52a43 Merge branch 'lwip/napt_doc_menu_modify' into 'master'
change(lwip): Remove 'experimental' from NAPT in kconfig, update lwIP doc

See merge request espressif/esp-idf!27849
2024-02-01 21:15:53 +08:00
Sarvesh Bodakhe
0154e81d87 feat(wifi): Sync public header files between ESP-IDF and Wi-Fi driver
- Updated WiFi libraries based on the IDF changes
- Renamed esp_wifi_native.h to esp_wifi_types_native.h
- Reverted forward declarations of native wifi types and HE types
- Forward declare as opaque structs only if we don't have native types (csi and ctrl_packet types)
2024-02-01 12:17:43 +01:00
David Cermak
344cb342b8 fix(esp_wifi): Support for esp_wifi_remote 2024-02-01 12:17:43 +01:00
Sarvesh Bodakhe
c0b3af2292 fix(esp_wifi): Add md5sum validation checks for new public headers and sync headers
Add checks for following public headers:
- esp_wifi_types_generic.h
- esp_wifi_native.h
2024-02-01 12:17:43 +01:00
David Cermak
597f2ce001 fix(esp_wifi): Split public/native, wifi_types.h -> types_generic.h 2024-02-01 12:17:43 +01:00
David Cermak
9088655030 fix(esp_wifi): Separate public and native wifi interface types 2024-02-01 12:17:37 +01:00
David Cermak
07d60b1c04 feat(esp_wifi): Add dependency on wifi_remote for chips with no wifi 2024-02-01 11:26:22 +01:00
morris
fdb597c159 Merge branch 'bugfix/mcpwm_reset_generator_gpio' into 'master'
fix(mcpwm): reset GPIO used by generator after delete

Closes IDFGH-11895

See merge request espressif/esp-idf!28804
2024-02-01 17:40:20 +08:00
Abhik Roy
35fe20da84 change(lwip): Remove 'experimental' from NAPT in kconfig, update lwIP doc 2024-02-01 20:09:08 +11:00
Rahul Tank
ac63f7c9dd fix(nimble): Add adv interval min/max range check 2024-02-01 13:35:28 +05:30
Sudeep Mohanty
bb1bc2afac Merge branch 'task/freertos_astyle_update' into 'master'
refactor(freertos): Updated FreeRTOS component files to astyle format

See merge request espressif/esp-idf!28741
2024-02-01 16:01:04 +08:00
nilesh.kale
8472bcb7d3 feat(mbedtls): updated mbedtls version from 3.5.0 to 3.5.2
This updates the submodule mbedtls to its latest version 3.5.2.
2024-02-01 10:43:16 +05:30
Kapil Gupta
2dc6783c55 Merge branch 'bugfix/esp32c2_eap_auth' into 'master'
fix(wifi): Added low heap usage Kconfig option for eap enterprise

Closes WIFIBUG-227 and WIFIBUG-296

See merge request espressif/esp-idf!26930
2024-02-01 12:33:46 +08:00
Jakob Hasse
ae3196b678 Merge branch 'refactor/esp_event_astyle_format' into 'master'
change(esp_event): formatted files with astyle

See merge request espressif/esp-idf!28801
2024-02-01 11:20:05 +08:00
Rahul Tank
20171bf19d Merge branch 'bugfix/remove_duplicate_hci_common' into 'master'
fix(nimble): Merge hci_common.h file for all chips

Closes BLERP-538

See merge request espressif/esp-idf!28787
2024-02-01 10:46:50 +08:00
morris
99fce2fdcb fix(mcpwm): reset GPIO used by generator after delete
Closes https://github.com/espressif/esp-idf/issues/12980
2024-02-01 10:14:17 +08:00
Marius Vikhammer
4d28524bdb docs(esp32c5): add support for building C5 docs 2024-02-01 10:06:41 +08:00
Erhan Kurubas
d749575648 Merge branch 'feature/move_esp_dbg_stubs_init_into_component' into 'master'
feat(system): move esp_dbg_stubs_init into apptrace component

Closes IDF-8767

See merge request espressif/esp-idf!28684
2024-02-01 07:33:14 +08:00
Erhan Kurubas
7234303e9e feat(system): move esp_dbg_stubs_init into component 2024-01-31 20:12:45 +01:00
Jan Beran
535aa9df84 refactor(tools): add docstrings and type annotations into idf_tools.py 2024-01-31 16:08:32 +01:00
Tomas Rezucha
49f3dae095 Merge branch 'ci/add_p4_usb_host_to_ci' into 'master'
feature(usb): Add USB support for ESP32-P4

Closes IDF-6873

See merge request espressif/esp-idf!28585
2024-01-31 22:04:23 +08:00
Roland Dobai
2e207db65f Merge branch 'feature/add_arguments_ninja_monitor' into 'master'
feat: Propagate arguments when running ninja monitor

Closes IDF-8856

See merge request espressif/esp-idf!28477
2024-01-31 20:09:59 +08:00
chenjianhua
20acc39eb2 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(91980c2)
- Fixed scheduling when modem sleep wakeup delayed
- Fixed IRQ FIFO overflow when enter critical
- Fixed clock sync timeout for modem sleep
- Fixed directed adv with RPA when privacy disabled
- Fixed instant passed for connection update and PHY update
2024-01-31 19:39:04 +08:00
zhiweijian
5b63a473f8 Fixed xQueueSemaphoreTask assert when deinit host during scan 2024-01-31 19:06:22 +08:00
morris
9bdd431fe3 Merge branch 'contrib/github_pr_13020' into 'master'
fix (esp_lcd): Don't assume panels are 16bit in VSYNC restart logic (GitHub PR)

Closes IDFGH-11941

See merge request espressif/esp-idf!28593
2024-01-31 18:49:51 +08:00
Roland Dobai
7812f4dee2 change(gitlab): Set the tools teams to be the owner of tools documentation 2024-01-31 11:47:46 +01:00
Konstantin Kondrashov
8d558a0ea7 Merge branch 'feature/update_config_wdt_desc' into 'master'
feat(bootloader): Update WDT Kconfig description

Closes IDFGH-11913 and IDFGH-7850

See merge request espressif/esp-idf!28568
2024-01-31 18:27:49 +08:00
Chen Yu Dong
d3e34008b6 Merge branch 'ci/support_pre_commit_cache' into 'master'
ci: update pre_commit jobs and gen child

See merge request espressif/esp-idf!28796
2024-01-31 17:58:47 +08:00
Bogdan Kolendovskyy
3ad41ae31a Merge branch 'feature/mmd_access' into 'master'
esp_eth: Add functions to access PHY using MDIO

See merge request espressif/esp-idf!28311
2024-01-31 16:59:42 +08:00
Sudeep Mohanty
061da98124 refactor(freertos): Updated FreeRTOS component files to astyle format
This commit updates the FreeRTOS component source files (excluding
upstream source files) to the astyle coding format.
2024-01-31 16:41:58 +08:00
daiziyan
bd811d6682 docs: add CN translation for idf-monitor 2024-01-31 09:35:44 +01:00
Jan Beran
858e3fe5ec docs(esp-idf-monitor): Add information about ESP_IDF_MONITOR_NO_RESET 2024-01-31 09:35:44 +01:00
Jan Beran
b1d9762205 feat: Propagate arguments when running ninja monitor 2024-01-31 09:35:44 +01:00
Rahul Tank
6c614a50ab fix(nimble): Merge hci_common.h file for all chips 2024-01-31 13:41:31 +05:30
Rahul Tank
b2b84f9b5c Merge branch 'feature/nimble_host_only_uart' into 'master'
feat(nimble): Nimble Host only mode over uart

See merge request espressif/esp-idf!28415
2024-01-31 16:01:03 +08:00
Konstantin Kondrashov
c69466b0b3 Merge branch 'feature/esp_timer_reenable_test_on_p4' into 'master'
feat(esp_timer): Re-enable tests on ESP32P4

Closes IDF-8979

See merge request espressif/esp-idf!28365
2024-01-31 15:49:22 +08:00
Mo Fei Fei
af0d1c6945 Docs: update cn trans for config wdt desc 2024-01-31 15:19:17 +08:00
KonstantinKondrashov
c40afaf4ad feat(doc): Update the WDT article
Closes https://github.com/espressif/esp-idf/issues/12995
2024-01-31 15:19:17 +08:00
C.S.M
afa876fac9 Merge branch 'example/hal_i2c' into 'master'
example(hal_i2c): Add pure I2C master example with only hal, rom, soc, etc. G0 G1 components.

See merge request espressif/esp-idf!28509
2024-01-31 14:51:31 +08:00
Marius Vikhammer
e92b813c80 Merge branch 'docs/add_cannonical_url' into 'master'
docs(build): add cannonical stable url to all docs

Closes DOC-4986

See merge request espressif/esp-idf!28750
2024-01-31 13:39:49 +08:00
Roshan Bangar
51efb20516 feat(nimble): Nimble Host only mode over uart 2024-01-31 09:49:21 +05:30
Cao Sen Miao
62a0efdd7c feat(i2c): Add pure hal i2c master driver example 2024-01-31 11:47:14 +08:00
morris
97cda1a732 Merge branch 'feature/mipi_dpi_2ddma' into 'master'
Use DMA2D in MIPI DSI driver

See merge request espressif/esp-idf!28605
2024-01-31 11:25:32 +08:00
Jakob Hasse
417de470ec change(esp_event): reformat files with astyle 2024-01-31 11:07:07 +08:00
Zhang Xiao Yan
389cf54d52 Merge branch 'docs/format_table_for_generated_pdf' into 'master'
docs: format table for generated pdf document

See merge request espressif/esp-idf!28705
2024-01-31 10:17:19 +08:00
chenjianhua
b99cb002ed fix(bt/bluedroid): Fixed crash when calculating GATTS database hash 2024-01-31 10:08:16 +08:00
Jakob Hasse
b05e432366 Merge branch 'refactor/https_mbedtls_example_linux' into 'master'
Refactor https_mbedtls example for linux target

See merge request espressif/esp-idf!28719
2024-01-31 09:53:31 +08:00
Marius Vikhammer
b9f9e0d9f7 Merge branch 'task/remove_esp_system_astyle' into 'master'
refactor(system): removed esp_system from astyle ignore list and formated it

See merge request espressif/esp-idf!28785
2024-01-31 09:47:28 +08:00
Kapil Gupta
d033c3ebff fix(wifi): add low memory options for eap enterprise 2024-01-30 22:54:22 +08:00
Chen Yudong
b27cf4d444 ci: update pre_commit jobs 2024-01-30 22:45:21 +08:00
Tomas Rezucha
f13ae0fc08 feat(esp32p4): Add USB-OTG support for ESP32-P4 2024-01-30 15:07:11 +01:00
Sudeep Mohanty
e93c3068a0 fix(ulp_riscv): Updated RTC I2C to use open-drain IOs
This commit updates the RTC I2C driver in the ULP RISC-V to initialize
all I2C IOs in open-drain mode.
2024-01-30 14:54:45 +01:00
David Čermák
bc7e87b416 Merge branch 'feat/lwip_ppp_more_opts' into 'master'
lwip: PPP configs to enable/disable: Server side, IP header compression

See merge request espressif/esp-idf!27799
2024-01-30 20:17:50 +08:00
Roland Dobai
195ebe1d3c Merge branch 'refactor/kconfcheck_pre-commit_hook' into 'master'
refactor(pre-commit): Changed esp-idf-kconfig's kconfcheck package to pre-commit hook

Closes IDF-9051

See merge request espressif/esp-idf!28673
2024-01-30 20:07:46 +08:00
Konstantin Kondrashov
2b909f99d5 feat(esp_timer): Re-enable tests on ESP32P4
esp_timer example test requires Light Sleep support.
2024-01-30 13:39:23 +02:00
Bogdan Kolendovskyy
d9e1d69b4e esp_eth: Add functions to access PHY using MDIO
Specifically:
  - Set/get address
  - Read/write data at address with specified MDIO access function
  - Read/write both address and data with a single call
2024-01-30 12:08:18 +01:00
morris
872058f086 feat(mipi_dsi): support draw_bitmap by DMA2D engine
This feature can be enabled at runtime, by setting esp_lcd_dpi_panel_config_t::flags::use_dma2d
2024-01-30 18:45:36 +08:00
morris
b2de1b5665 feat(dma2d): added help driver for copying frame buffer with DMA2D 2024-01-30 18:45:36 +08:00
morris
b10dec96c5 fix(rgb_lcd): relax the check for the data line GPIO
so we allow to leave some RGB data line unconnected by set the GPIO to -1
2024-01-30 18:29:13 +08:00
Brian Whitman
ff840b645d fix(rgb_lcd): don't assume 16 bit width on panels for restart logic
Merges https://github.com/espressif/esp-idf/pull/13020
2024-01-30 18:29:13 +08:00
Fu Hanxi
d92cd1b7ec Merge branch 'ci/ignore_p4_jtag' into 'master'
ci: ignore p4,jtag runner

See merge request espressif/esp-idf!28789
2024-01-30 18:28:01 +08:00
morris
5074cc68c9 Merge branch 'feature/rmt_encoder_memory_allocator' into 'master'
feat(rmt): added a help function for allocating encoder memory

Closes IDFGH-11954

See merge request espressif/esp-idf!28667
2024-01-30 16:52:25 +08:00
Wang Ziyan
2ec161405a Merge branch 'docs/update_cn_for_pthread' into 'master'
docs: Update CN for pthread.rst

Closes DOC-6947

See merge request espressif/esp-idf!28765
2024-01-30 16:45:35 +08:00
Fu Hanxi
ecae464c52 ci: ignore p4,jtag runner 2024-01-30 09:08:35 +01:00
Jiang Jiang Jian
307c53d4ff Merge branch 'feature/add_fall_back_dns_config_in_menuconfig' into 'master'
feat(lwip):add fall back dns config in menuconfig

See merge request espressif/esp-idf!27292
2024-01-30 16:01:29 +08:00
Fu Hanxi
9783207f0b Merge branch 'ci/qemu_respect_all_test_triggerer' into 'master'
ci: fix idf_relpath issue while searching the apps

See merge request espressif/esp-idf!28645
2024-01-30 16:01:24 +08:00
Jiang Jiang Jian
6ebda2a9b4 Merge branch 'bugfix/ble_rtc_slow_clk_drift_err' into 'master'
fix(ble): Fixed macro definition error for 136K clock drift

See merge request espressif/esp-idf!28749
2024-01-30 15:27:32 +08:00
Marius Vikhammer
06850e0e1e refactor(system): removed esp_system from astyle ignore list and reformated it 2024-01-30 15:17:15 +08:00
Jakob Hasse
6ea18dc17a Merge branch 'feature/console_linux' into 'master'
feat(console): Refactored code to support Linux target

Closes IDF-8103

See merge request espressif/esp-idf!28409
2024-01-30 11:26:04 +08:00
Marius Vikhammer
9b4197630a Merge branch 'ci/ignore_build_warnings_build' into 'master'
ci(build): always build apps if ignore_build_warnings.txt changes

See merge request espressif/esp-idf!28764
2024-01-30 09:32:59 +08:00
Marius Vikhammer
da1d587667 Merge branch 'bugfix/format_esp_common' into 'master'
fix(system): format esp_common, app_format and bootloader_format with astyle

See merge request espressif/esp-idf!28748
2024-01-30 09:25:37 +08:00
Fu Hanxi
7913c42996 Merge branch 'ci/known_generate_target_test_issues' into 'master'
ci: add known warnings while generating the target test jobs

Closes IDFCI-1941

See merge request espressif/esp-idf!28551
2024-01-30 00:25:24 +08:00
Fu Hanxi
ceb2ef7208 ci: add init known warnings while generating the test child pipeline 2024-01-29 13:52:40 +01:00
Fu Hanxi
08312412ec ci: check warnings while generating the target test jobs 2024-01-29 13:52:40 +01:00
Fu Hanxi
e9f4d555a6 test: add missing host_test marker for qemu tests 2024-01-29 13:52:40 +01:00
Fu Hanxi
432c5a783d ci: gitlab auth failing hint 2024-01-29 13:52:40 +01:00
Fu Hanxi
d42e3fce04 ci: add sort_yaml.py 2024-01-29 13:52:39 +01:00
Marius Vikhammer
30ba179ace Merge branch 'ci/modbus_tcp_slave_build_failure' into 'master'
ci(modbus): fixed modbus tcp_slave example build failure

See merge request espressif/esp-idf!28763
2024-01-29 20:48:25 +08:00
Fu Hanxi
6895ff11b6 ci: fix get_all_apps for multi targets 2024-01-29 20:45:00 +08:00
Fu Hanxi
142a3c8a7a ci: fix idf_relpath issue while searching the apps
Now `PytestCase`, collect_app_info file, are all using relpath to idf
instead
2024-01-29 20:45:00 +08:00
Fu Hanxi
2d094ab9d3 test: remove succeeded temp projects
also rename `tmp_path` to `work_dirpath` since it's defined in pytest
2024-01-29 20:45:00 +08:00
Rahul Tank
4e5e8a7102 Merge branch 'feat/add_dtm_function_support' into 'master'
feat(nimble): Add APIs to support BLE DTM functions

Closes BLERP-238

See merge request espressif/esp-idf!27121
2024-01-29 19:55:17 +08:00
Aditya Patwardhan
d8cc9d39a2 Merge branch 'fix/esp_tls_fix_arg_check' into 'master'
fix(esp_tls): Fixed input argument check for public APIs

Closes IDF-8542

See merge request espressif/esp-idf!28358
2024-01-29 18:21:42 +08:00
Michael (XIAO Xufeng)
35516652ad Merge branch 'doc/spi_flash_32bit_addr' into 'master'
doc(spi_flash): reorganize optional features

See merge request espressif/esp-idf!27808
2024-01-29 18:16:59 +08:00
Adam Múdry
085cdaa5f7 fix: diskio format all error message codes to hex 2024-01-29 10:32:31 +01:00
Jakob Hasse
a30546cd24 feat(console): Refactored code to support Linux target 2024-01-29 17:13:22 +08:00
Sudeep Mohanty
3465fd8956 Merge branch 'task/ringbuf_astyle_update' into 'master'
fix(esp_ringbuf): Updated esp_ringbuf to follow astyle format

See merge request espressif/esp-idf!28742
2024-01-29 16:56:14 +08:00
Sudeep Mohanty
df00205db3 Merge branch 'bugfix_lp_i2c_not_in_od_mode' into 'master'
fix(lp_i2c): Fixed an issue where the LP_I2C IO lines were not in open-drain mode

Closes IDFGH-11883

See merge request espressif/esp-idf!28739
2024-01-29 16:47:07 +08:00
Peter Marcisovsky
6b41ae3ef9 Merge branch 'docs/usb_host_set_device_config' into 'master'
feat(docs): added usb host enumeration filter description

See merge request espressif/esp-idf!28310
2024-01-29 16:40:53 +08:00
Marius Vikhammer
c66d08063d ci(modbus): fixed modbus tcp_slave example build failure 2024-01-29 15:25:56 +08:00
Jakub Kocka
022034746e refactor(pre-commit): Changed esp-idf-kconfig's kconfcheck package to pre-commit hook 2024-01-29 08:13:28 +01:00
Adam Múdry
376ea7e4ed feat(fatfs): VFS FATFS add format functions with config argument 2024-01-29 15:09:50 +08:00
Jiang Jiang Jian
946fdfce62 Merge branch 'bugfix/fix_ble_tx_2m_problem_causing_by_phy_wifi_enable_set' into 'master'
Fixed BLE TX 2M problem causing by phy_wifi_enable_set()

Closes BT-3441, BLERP-511, and BLERP-512

See merge request espressif/esp-idf!27903
2024-01-29 14:42:34 +08:00
Wang Zi Yan
a4a4504367 docs: Update CN for pthread.rst 2024-01-29 14:37:57 +08:00
Linda
6af8643d06 docs: format table for generated pdf document 2024-01-29 14:36:04 +08:00
Marius Vikhammer
852a33f32d ci(build): always build apps if gnore_build_warnings.txt changes 2024-01-29 14:24:57 +08:00
Island
c3645202da Merge branch 'bugfix/ble_mesh_deinit_reinit' into 'master'
ble mesh: improve ble mesh deinit

See merge request espressif/esp-idf!19199
2024-01-29 13:59:07 +08:00
Rahul Tank
baf9b98cd0 feat(nimble): Add APIs to support BLE DTM functions 2024-01-29 11:20:10 +05:30
Rahul Tank
c8220ad5af Merge branch 'feat/features_and_fixes_for_pts_qualification' into 'master'
feat(nimble): Features and Fixes for PTS Qualification

Closes BLERP-427, BLERP-429, and BLERP-430

See merge request espressif/esp-idf!28608
2024-01-29 13:37:45 +08:00
Wan Lei
18df8fbc9b Merge branch 'fix/spi_clk_div_repaire' into 'master'
fix(spi_master): fix P4 clock src divider calc and 8bit support

See merge request espressif/esp-idf!28699
2024-01-29 12:34:52 +08:00
Marius Vikhammer
85fdca43b7 docs(build): add cannonical stable url to all docs 2024-01-29 11:30:59 +08:00
xiongweichao
dd943fad9a fix(ble): Fixed macro definition error for 136K clock drift 2024-01-29 11:29:01 +08:00
morris
fe2fbc99f7 Merge branch 'fix/esp_ble_mesh_aligenie_build_rules' into 'master'
fix(esp_ble_mesh): Remove separate AliGenie example build rules

See merge request espressif/esp-idf!28612
2024-01-29 11:05:51 +08:00
Marius Vikhammer
043dae211e fix(system): format esp_common, app_format and bootloader_format with astyle 2024-01-29 10:41:25 +08:00
Island
ec807d9127 Merge branch 'bugfix/ble_update_lib_20240125' into 'master'
Update C6 H2 lib to bb9d578e

Closes BLERP-528, BLERP-469, BLERP-530, and BLERP-533

See merge request espressif/esp-idf!28700
2024-01-29 10:40:28 +08:00
Michael (XIAO Xufeng)
6dbb3059f9 Merge branch 'h2_auto_dbias_master_hsq' into 'master'
ESP32H2: Active & sleep dbias get from efuse to fix the voltage

See merge request espressif/esp-idf!27483
2024-01-29 10:16:15 +08:00
Aditya Patwardhan
4d8436b90c fix(esp_tls): Fixed input argument checks for public APIs 2024-01-29 01:24:41 +08:00
Sudeep Mohanty
defd3ec220 fix(esp_ringbuf): Updated esp_ringbuf to follow astyle format
This commit updates the esp_ringbuf component to follow astyle
formatting.
2024-01-26 15:20:19 +01:00
Alex Lisitsyn
e8dee79bb5 Merge branch 'feature/modbus_add_esp32p4_support' into 'master'
feat(modbus): add esp32p4 target support for modbus examples

See merge request espressif/esp-idf!28362
2024-01-26 21:07:59 +08:00
Alex Lisitsyn
f68c3bb710 feat(modbus): add esp32p4 target support for modbus examples 2024-01-26 21:07:59 +08:00
Konstantin Kondrashov
4daaa94593 Merge branch 'feature/cleanup_rom_efuse_header' into 'master'
change(all): Clearing unused efuse rom headers

See merge request espressif/esp-idf!27109
2024-01-26 20:30:44 +08:00
Song Ruo Jing
10b41d7a24 Merge branch 'refactor/soc_rtc_h_file' into 'master'
refactor(rtc): move soc/rtc.h from soc to esp_hw_support component

Closes IDF-8941

See merge request espressif/esp-idf!28238
2024-01-26 20:20:20 +08:00
Jakob Hasse
ee6112b9d7 Merge branch 'docs/document_lethal_hazards' into 'master'
docs(esp_system): Document limitations of esp_execute_shared_stack_function

See merge request espressif/esp-idf!27872
2024-01-26 19:21:30 +08:00
Peter Marcisovsky
f10000f366 feat(docs): added usb host enumeration filter description
- CN and EN docs
2024-01-26 12:03:08 +01:00
Sudeep Mohanty
36ac4631ae fix(lp_i2c): Fixed an issue where the LP_I2C IO lines were not in open-drain mode
This commit fixes an issue where in the LP I2C IO lines were not
initialized in open-drain mode.

Closes https://github.com/espressif/esp-idf/issues/12969
2024-01-26 11:25:25 +01:00
zhiweijian
ef0d856aa8 fix(esp_phy): Fixed BLE TX 2M problem causing by phy_wifi_enable_set()
1. Fixed BLE 2M phy TX problem causing by phy_wifi_enable_set() on ESP32-C3 and ESP32-S3
2. Fixed BLE CCA bug on ESP32-C2
3. Fixed wifi boot bug at low temp on ESP32-C6
4. Fixed BLE and WIFI could not receive packets after entering light sleep for a long time on ESP32-C3, ESP32-S3, ESP32-C2 and ESP32-C6
2024-01-26 16:59:00 +08:00
Erhan Kurubas
ef655cbbd9 Merge branch 'enable_flash_elf_sha_tests' into 'master'
Enable SHA256 coredump flash integrity verification for all targets

Closes IDF-1820

See merge request espressif/esp-idf!28387
2024-01-26 16:28:24 +08:00
wanlei
45cbcad7cd fix(spi_master): fix P4 clock src divider and 8bit support 2024-01-26 14:51:46 +08:00
Jakob Hasse
a04f8d7041 docs(mbedtls): Clarified example README 2024-01-26 14:33:32 +08:00
Jakob Hasse
38846de92b refactor(mbedtls): example https_mbedtls now runs on Linux 2024-01-26 14:27:32 +08:00
Fu Hanxi
94433614dc Merge branch 'ci/fix_missing_artifacts_with_dependencies_and_needs_set' into 'master'
ci: lint yaml files that use `dependencies: []` together with `needs`

See merge request espressif/esp-idf!28707
2024-01-26 14:13:43 +08:00
Shu Chen
b056ac760b Merge branch 'feat/154_enable_receive_done' into 'master'
feat(ieee802154): make the receive done handler feature mandatory

See merge request espressif/esp-idf!28573
2024-01-26 11:54:44 +08:00
Wang Meng Yang
6aa64033bc Merge branch 'bugfix/no_wakeup_sleep_master' into 'master'
fix(ble): Fixed Bluetooth not waking up due to clock drift

Closes BTQABR2023-158 and BLERP-464

See merge request espressif/esp-idf!28376
2024-01-26 11:42:15 +08:00
Igor Udot
f41288ab3e Merge branch 'fix/new-known-failure-cases-workflow' into 'master'
fix: get_known_failure_cases_file has not been found for pytest_build_system ci job.

See merge request espressif/esp-idf!28716
2024-01-26 10:55:10 +08:00
igor.udot
7f36e735a6 ci: fix get_known_failure_cases_file has not been found 2024-01-26 10:44:38 +08:00
Marius Vikhammer
e67f101c5c Merge branch 'bugfix/stack_prot_issue_p4' into 'master'
fix(system): fixed -fstack-protector issue on P4

See merge request espressif/esp-idf!28688
2024-01-26 10:44:26 +08:00
Marius Vikhammer
b5540cfda6 Merge branch 'bugfix/format_ulp_astyle' into 'master'
fix(ulp): enable astyle linter and format ULP component

See merge request espressif/esp-idf!28597
2024-01-26 10:22:18 +08:00
Jakob Hasse
b7184ccf73 Merge branch 'contrib/github_pr_13039' into 'master'
Handle object files with `.*.o` patterns when running Linker Script Generator (GitHub PR)

Closes IDFGH-11962

See merge request espressif/esp-idf!28695
2024-01-26 09:39:22 +08:00
Igor Udot
3cc1d7e837 Merge branch 'ci/new-known_failure_cases_workflow' into 'master'
ci: change known_failure_cases workflow

See merge request espressif/esp-idf!27706
2024-01-26 08:40:06 +08:00
Shu Chen
e358506118 Merge branch 'support/openthread_radio_caps_rx_on_when_idle' into 'master'
feat(openthread): support openthread radio caps rx on when idle

See merge request espressif/esp-idf!28583
2024-01-26 08:09:15 +08:00
Ivan Grokhotkov
a68013ceec Merge branch 'feature/scandir' into 'master'
feat(newlib): implement scandir and alphasort

Closes IDF-2649

See merge request espressif/esp-idf!28068
2024-01-26 04:24:31 +08:00
Roland Dobai
96872a6801 Merge branch 'feat/idf_tools_updater_space' into 'master'
fix(idf_tools): fix delimiter when the updater parsing, ' *' or '  '

See merge request espressif/esp-idf!28694
2024-01-26 01:19:16 +08:00
Erhan Kurubas
f1d5f97719 feat(coredump): use SHA ROM functions for all targets except ESP32
For ESP32, continue using mbedtls due to a required ROM patch for the SHA implementation.
For other targets, we can now leverage the ROM functions.
2024-01-25 15:13:56 +01:00
Fu Hanxi
fc802da68c ci: lint yaml files that use dependencies: [] together with needs 2024-01-25 14:47:53 +01:00
SumeetSingh19
92d20f6708 feat(nimble): client presentation and aggregate format descriptor support 2024-01-25 18:34:55 +05:30
SumeetSingh19
0bd8301755 feat(nimble): signed write support 2024-01-25 18:34:55 +05:30
SumeetSingh19
7ad6df977e feat(nimble): additional AD types for advertisements 2024-01-25 18:34:55 +05:30
SumeetSingh19
7bda1db4f8 feat(nimble): authorization permission on gatt read and write 2024-01-25 18:34:55 +05:30
SumeetSingh19
2d71f64033 fix(nimble): allow auto connection and observer role 2024-01-25 18:34:55 +05:30
Shu Chen
6bc666064a docs(ieee802154): add migration note for the receive done handler feature 2024-01-25 20:27:14 +08:00
Shu Chen
aab24b0dd7 feat(ieee802154): make the receive done handler feature mandatory 2024-01-25 20:27:03 +08:00
zwl
2f7c122c51 Update ble lib to eb473dda on ESP32-C6 and ESP32-H2 2024-01-25 20:26:35 +08:00
Roland Dobai
9a9c8caaaf Merge branch 'fix/harden_hints_parsing' into 'master'
fix: harden input parsing in component_requirements hint module

Closes IDF-9082

See merge request espressif/esp-idf!28661
2024-01-25 20:26:35 +08:00
Fu Hanxi
c44cb5d5c6 Merge branch 'ci/add_missing_gitlab_requirements_for_pytest' into 'master'
ci: add missing python-gitlab requirement for pytest

See merge request espressif/esp-idf!28703
2024-01-25 19:58:27 +08:00
Song Ruo Jing
cf93777077 refactor(rtc): move soc/rtc.h from soc to esp_hw_support component
Deprecated rtc_xtal_freq_t, replaced with soc_xtal_freq_t defined in
clk_tree_defs.h in soc component.
2024-01-25 19:15:33 +08:00
mofeifei
52648f1a41 docs: update cn trans esp-function-with-shared-stack 2024-01-25 19:02:25 +08:00
Jakob Hasse
65e4118893 docs(esp_system): Document limitations of esp_execute_shared_stack_function 2024-01-25 19:02:25 +08:00
Shu Chen
86cf144aa7 feat(ieee802154): remove the ieee802154 lib submodule 2024-01-25 18:59:09 +08:00
morris
08845cf669 feat(rmt): added a help function for allocating encoder memory
The encoder memory location should respect the RMT_MEM_ALLOC_CAPS,
which is affected by some Kconfig options, like ISR_IRAM_SAFE

Closes https://github.com/espressif/esp-idf/issues/13032
2024-01-25 18:44:25 +08:00
Shu Chen
e81932d2b2 Merge branch 'feature/updated-zigbee-examples' into 'master'
feat(zigbee): Updated zigbee examples

See merge request espressif/esp-idf!28693
2024-01-25 18:40:02 +08:00
Ivan Grokhotkov
dee5b087fa feat(newlib): implement scandir and alphasort
Based on https://man7.org/linux/man-pages/man3/scandir.3.html
2024-01-25 11:03:19 +01:00
Jakob Hasse
65373e126a test(ldgen): added test simulating a .*.c file 2024-01-25 17:40:40 +08:00
Abhik Roy
dfb1e0e087 Merge branch 'update_esp_netif_changes' into 'master'
fix(lwip): Corrected NAPT dependency text

See merge request espressif/esp-idf!28546
2024-01-25 17:19:39 +08:00
Fu Hanxi
9fb3a5c1ef ci: add missing python-gitlab requirement for pytest
this lib is to download the artifacts from gitlab locally
2024-01-25 10:12:59 +01:00
zwl
5172a99c9b feat(ble): add ble controller version output on ESP32-C6 and ESP32-H2 2024-01-25 17:04:48 +08:00
zwl
4a5127c029 feat(ble): add ble controller status check api on ESP32-C6 and ESP32-H2 2024-01-25 17:04:48 +08:00
zwl
e1d27c3b5d fix(ble): fixed build error when disable sm feature 2024-01-25 17:04:44 +08:00
Tomas Rezucha
e511905fd2 fix(usb/example): Fixed MSC compilation with Newlib Nano format
https://github.com/espressif/idf-extra-components/issues/254
2024-01-25 09:51:51 +01:00
zwx
5a7e835373 fix(phy): fix pll track when enabling and disabling PHY frequently 2024-01-25 16:19:07 +08:00
zwx
265531c971 feat(openthread): support openthread radio caps rx on when idle 2024-01-25 16:11:50 +08:00
luomanruo
688cbcfa31 Update C6 H2 lib to bb9d578e 2024-01-25 16:09:08 +08:00
Mahavir Jain
a5b261f699 Merge branch 'bugfix/fix_esp_http_client_build_failure_with_wifi' into 'master'
fix: fix esp_http_client_example build failure

See merge request espressif/esp-idf!28601
2024-01-25 15:07:55 +08:00
xieqinan
e666532069 feat(zigbee): Updated Zigbee examples to align with esp-zigbee-lib v1.0.9 2024-01-25 14:52:38 +08:00
Anton Maklakov
352c621cf0 fix(idf_tools): fix delimiter when the updater parsing, ' *' or ' ' 2024-01-25 13:38:38 +07:00
Marius Vikhammer
d90cad70f3 Merge branch 'bugfix/c5_newlib_reent_cleanup_fix' into 'master'
fix(newlib): fix stub_table init on C5

Closes IDF-9093

See merge request espressif/esp-idf!28647
2024-01-25 12:02:46 +08:00
Mahavir Jain
0e7908369f Merge branch 'bugfix/fix_http_auth_without_qop' into 'master'
fix(esp_http_client): Fix http digest auth without qop

Closes IDFGH-11876

See merge request espressif/esp-idf!28570
2024-01-25 11:48:53 +08:00
Marius Vikhammer
21d0c65e52 fix(system): fixed -fstack-protector issue on P4
During cpu_start stack-smashing would errorounsly trigger when compiled
with -Os on P4. This happened due to the stack canary value (stored in bss) changing when
we initialized bss and then getting flagged as a stackoverflow.

Disable fstack-protector for cpu_start to avoid this issue
2024-01-25 11:12:35 +08:00
xiongweichao
3e2ef4f26c fix(ble): Fixed Bluetooth not waking up due to clock drift 2024-01-25 10:23:02 +08:00
Fu Hanxi
cba1665639 Merge branch 'ci/fix_artifacts_object_name' into 'master'
ci: fix job name sanitizer

See merge request espressif/esp-idf!28676
2024-01-24 23:08:50 +08:00
Konstantin Kondrashov
51e9cd4884 Merge branch 'bugfix/efuse_test_apps_for_p4' into 'master'
fix(efuse): Fix test_apps for esp32p4

Closes IDFCI-1972

See merge request espressif/esp-idf!28675
2024-01-24 21:44:20 +08:00
Wu Zheng Hui
55f04b3326 Merge branch 'feature/clean_up_retention_context_definitions' into 'master'
refactor(esp_hw_support): move sleep retention context definition to soc target folder

Closes PM-10

See merge request espressif/esp-idf!26753
2024-01-24 20:24:02 +08:00
Fu Hanxi
87fc492fa6 ci: fix job name sanitizer 2024-01-24 10:49:40 +01:00
Konstantin Kondrashov
5bede51ec8 fix(efuse): Fix test_apps for esp32p4 2024-01-24 11:25:08 +02:00
Roland Dobai
4c4d547115 Merge branch 'fix/runtool_crcrlf' into 'master'
fix: save RunTool command output with correct line endings

Closes IDF-9081

See merge request espressif/esp-idf!28644
2024-01-24 17:18:16 +08:00
hongshuqing
0b79d9bf4c feat(pmu): set fix voltage to different mode for esp32h2
h2 remove include
2024-01-24 13:11:41 +08:00
Harshit Malpani
d85d60b76c fix: fix esp_http_client_example build failure
Fixed the build failure of esp_http_client_example for ESP32-C6 when
build with Wi-Fi enabled
2024-01-24 10:25:11 +05:30
Shu Chen
bbd0142ccb Merge branch 'fix/ieee802154_test_rx_break_issue' into 'master'
fix(ieee802154): add next operation in ieee802154 test when rx abort by tx ack coex

See merge request espressif/esp-idf!28541
2024-01-24 10:43:51 +08:00
Omar Chebib
0db3268713 Merge branch 'bugfix/soft_uart_send_dummy_byte' into 'master'
fix(Peripheral Drivers/Dedicated GPIO): Remove dummy byte from the emulate_uart_send routine

See merge request espressif/esp-idf!28627
2024-01-24 10:38:12 +08:00
Marius Vikhammer
9b1b384ea8 Merge branch 'bugfix/remove_wdt_both_cpus_test' into 'master'
test(panic): remove WDT both CPU test

Closes IDF-9077 and IDF-6560

See merge request espressif/esp-idf!28623
2024-01-24 10:11:28 +08:00
Marius Vikhammer
7823d246c5 Merge branch 'bugfix/p4_rvfp_rom' into 'master'
fix(esp_rom): fixed float to int conversion functions not working on P4

Closes IDF-8977 and IDF-8109

See merge request espressif/esp-idf!28396
2024-01-24 10:10:57 +08:00
Marius Vikhammer
ff51b57b11 Merge branch 'docs/fatfgen_orphan' into 'master'
docs(fatfs): moved orphan dir placement to top of doc

See merge request espressif/esp-idf!28635
2024-01-24 10:10:17 +08:00
Shu Chen
d499ba432b Merge branch 'feature/add_ieee802154_pending_tx' into 'master'
feat(802.15.4): introduce pending tx while rx feature

See merge request espressif/esp-idf!28404
2024-01-24 09:30:54 +08:00
Ivan Grokhotkov
ecccad727f Merge branch 'bugfix/macos_build_linux_target_freertos' into 'master'
fix(freertos): override select function without relying on -Wl,--wrap

See merge request espressif/esp-idf!28065
2024-01-24 04:14:00 +08:00
Erhan Kurubas
1227409c02 Merge branch 'coredump_traverse_state_lists' into 'master'
Improve the probability of accessing healthy TCBs

Closes IDF-2245

See merge request espressif/esp-idf!28114
2024-01-24 01:44:10 +08:00
Frantisek Hrbata
a773072734 fix: harden input parsing in component_requirements hint module
Currently we silently ignore when the original component is not found
in a hope we can provide at least some meaningful hint. As it turned
out it's not true. Instead of providing misleading hint, just return
error. This adds several checks for situations, which should not happen,
but when they do it should be easier to identify the root cause of the
problem.

For example when hint module received malformed output with extra new
lines, e.g. caused by a bug in RunTool, it wrongly reported the original
component as source component.

This should also fix the tests on Windows.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-01-23 18:22:08 +01:00
Ivan Grokhotkov
f5cd3b7ff4 fix(freertos): override select function without relying on -Wl,--wrap
This commit changes the approach used to override select function
in FreeRTOS simulator.

The previous approach relied on '--wrap', which is a feature of GNU
linker that performs symbol substitution at link time. Sadly this
feature is not present in macOS linker.

The alternative solution is to define 'select' wrapper as a regular
(exported) symbol, preventing it from being loaded from system
libraries. To call the "real" select implementation we use dlsym
function and find the function pointer at run time. This solution
works on both Linux and macOS.
2024-01-23 16:57:38 +01:00
Ivan Grokhotkov
66431a62d1 fix(freertos): warning fix for building with IDF_TARGET=linux on macOS 2024-01-23 16:57:37 +01:00
Tomas Rezucha
cb21994358 Merge branch 'fix/common_examples_cmake' into 'master'
fix(examples): Make esp_eth public dependency of protocol_examples_comon

See merge request espressif/esp-idf!28618
2024-01-23 23:55:30 +08:00
Xu Si Yu
ad3e1e3daf Merge branch 'bugfix/set_spinel_interface_buffer_to_static' into 'master'
fix(openthread): set spinel frame buffer to member variables

See merge request espressif/esp-idf!28510
2024-01-23 22:40:43 +08:00
Shu Chen
65c838b68a Merge branch 'support/integrate_console_command_with_ot_command' into 'master'
feat(openthread): integrate console command with ot command

See merge request espressif/esp-idf!28194
2024-01-23 22:03:55 +08:00
Ondrej Kosta
c956e44a9e Merge branch 'feature/ethernet_ci' into 'master'
ci(esp_eth): enable Ethernet tests

See merge request espressif/esp-idf!28566
2024-01-23 21:59:38 +08:00
Valerii Koval
bd56ca48be fix(ldgen): handle object files with .*.o patterns
Currently, only `.o`, `.*.obj` and `.obj` patterns
are taken into account. It would be great to have
object files with the `.*.o` extension pattern
(e.g. `file.cpp.o`) also processed as they're quite
widespread in third-party integrations.
2024-01-23 15:18:23 +02:00
Xu Si Yu
f9f32d4e5f Merge branch 'feature/add_config_for_ot_address_query' into 'master'
feat(openthread): add menuconfig for openthread address query

See merge request espressif/esp-idf!28445
2024-01-23 20:55:48 +08:00
Jakob Hasse
273324c635 Merge branch 'bugfix/linux_wifi_mock' into 'master'
fix(linux): Fixed esp_wifi mock build test

See merge request espressif/esp-idf!28607
2024-01-23 18:43:12 +08:00
Jakob Hasse
c6a570fb37 Merge branch 'feature/pthread_psram' into 'master'
feat(pthread): Allow SPI RAM as stack

Closes IDFGH-9237, IDF-7262, and IDFGH-7045

See merge request espressif/esp-idf!27166
2024-01-23 18:39:32 +08:00
Rahul Tank
bcb8d179dd Merge branch 'bugfix/fix_sm_inject_io_return_val' into 'master'
fix(nimble): Added change to ensure that API execution returns success

See merge request espressif/esp-idf!28402
2024-01-23 18:06:16 +08:00
Marius Vikhammer
4b89e52964 fix(newlib): fix stub_table init on C5 2024-01-23 18:05:53 +08:00
Tomas Rezucha
525bdf26f8 Merge branch 'feature/p4_usb_hal' into 'master'
feature(usb/host): Add HS PHY configuration

See merge request espressif/esp-idf!28549
2024-01-23 17:55:23 +08:00
Kirill Chalov
77770b2cb7 Merge branch 'docs/add_sphinx_lint' into 'master'
docs(sphinx-lint): Add sphinx-lint to pre-commit

See merge request espressif/esp-idf!28578
2024-01-23 17:48:22 +08:00
Fu Hanxi
9bb28ba5e3 Merge branch 'ci/fix_requires_elf_or_map' into 'master'
ci: fix app.requires_elf_or_map. Use absolute paths

See merge request espressif/esp-idf!28603
2024-01-23 17:44:34 +08:00
Mahavir Jain
a02b0968d2 Merge branch 'fix/fix_esp_tls_client_key_parsing' into 'master'
fix(esp_tls): Fixed client key parsing for ECC key

Closes IDF-8894

See merge request espressif/esp-idf!27982
2024-01-23 17:14:49 +08:00
Mahavir Jain
09c9001895 Merge branch 'feature/add_key_manager_hw_support' into 'master'
Feature/add key manager hw support

Closes IDF-7925 and IDF-8041

See merge request espressif/esp-idf!26328
2024-01-23 17:11:05 +08:00
Frantisek Hrbata
cf161304bb fix: save RunTool command output with correct line endings
Currently RunTool reads command's output with asyncio read, which
returns bytes. This is decoded into python's string and the output already
contains OS specific line endings, which on Windows is CRLF. Problem is
that the command output is saved by using python's text stream/file,
which replaces LF, native python's line ending, with OS specific line ending.
On Windows, and in this particular case, the CRLF from the command output is
translated into CRCRLF and saved in the commands output file. When this
file is read in again, e.g. for hint modules, the CRCRLF is replaced
with LFLF. Again the file is open as text file. Meaning a new emply line
is added.

Fix this by opening the output file with "newline=''", which prevents
this translation. We already have the OS specific line ending in the
command's output.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-01-23 10:03:40 +01:00
Zhang Xiao Yan
dd1c1279ef Merge branch 'docs/fix_typo_in_low_power_mode' into 'master'
docs: fix some typos in api-guides/low-power-mode

See merge request espressif/esp-idf!28584
2024-01-23 16:16:09 +08:00
Omar Chebib
8ad898c8ab fix(peripheral_drivers/dedicated_gpio): Remove dummy byte from the emulate_uart_send routine
Let the user application decide for when to send the dummy byte instead of
hardcoding it from the assembly routine.
2024-01-23 15:59:13 +08:00
kirill.chalov
0181f8cc88 docs(sphinx-lint): Add sphinx-lint to pre-commit
Sphinx-lint helps in linting simple formatting issues with virtually
no false positives, such as trailing spaces, missing final newlines,
presence of tabs, absence of spaces and backticks around roles, etc.
2024-01-23 15:22:30 +08:00
kirill.chalov
22a053f1fc docs(sphinx-lint): Fix issues reported by sphinx-lint before adding it to pre-commit 2024-01-23 15:22:29 +08:00
Song Ruo Jing
9ba5f4dab2 Merge branch 'feature/esp32p4_dma2d_support' into 'master'
feat(esp_hw_support/dma2d): Add 2D-DMA support on ESP32P4

Closes IDF-6498

See merge request espressif/esp-idf!25527
2024-01-23 15:19:25 +08:00
Harshit Malpani
bc901c0a3a fix(esp_http_client): Fix http digest auth without qop
Closes https://github.com/espressif/esp-idf/issues/12962
2024-01-23 12:22:35 +05:30
Xu Si Yu
568adfb869 feat(openthread): add menuconfig for openthread address query 2024-01-23 14:43:51 +08:00
Marius Vikhammer
4fac7a6d5b docs(fatfs): moved orphan dir placement to top of doc 2024-01-23 14:16:01 +08:00
Guillaume Souchere
7bb236254e Merge branch 'doc/update-esp-event-instance-register-descrition' into 'master'
docs(esp-event): Update description of esp_event_handler_instance_x

Closes IDFGH-11711

See merge request espressif/esp-idf!28063
2024-01-23 13:48:31 +08:00
Aditya Patwardhan
e2d5b323ca fix(esp_tls): Fixed client key parsing for ECC key
Client key parsing for ECC keys was failing as the
    RNG supplied to the key parsing API was uninitialized.
    This commit fixes that behaviour
2024-01-23 13:40:57 +08:00
wuzhenghui
f3f12e973c refactor(esp_hw_support): separate different chip system peripheral regs context defs to target folder 2024-01-23 13:30:01 +08:00
Mahavir Jain
e3d4b901f9 Merge branch 'bugfix/compilation_failed_in_bootloader_with_sb_fe_verbose' into 'master'
fix(bootloader): Fix compilation issue in bootloader build during verbose+sb+fe

Closes IDF-6373

See merge request espressif/esp-idf!26339
2024-01-23 13:29:02 +08:00
Jakob Hasse
db33f5a52e Merge branch 'fix/console_context_setting' into 'master'
fix(console): Made setting command context less error-prone and clearer

See merge request espressif/esp-idf!28395
2024-01-23 13:25:25 +08:00
Aditya Patwardhan
4dc2ace0b7 fix(esp_hw_support): Update key manager support
1) Added new Key Manager APIs
    2) Added crypto locking layer for Key Manager
    3) Remove support for deploying known key
    4) Format key manager support
    5) Fix build header error
    6) Updated the key_mgr_types.h file
    7) Added key manager tests
2024-01-23 10:24:39 +05:30
Aditya Patwardhan
5a1726c18c feat(hal): Update HAL layer for Key manager
1)Added new clk related changes
2024-01-23 10:24:37 +05:30
Aditya Patwardhan
3eabb62850 feat(esp_hw_support): Add support for Key Manager 2024-01-23 10:24:35 +05:30
Island
9746de97ce Merge branch 'bugfix/struct_init_order_blemesh' into 'master'
ble mesh: Modify the structure initialization order to meet C++ requirements

See merge request espressif/esp-idf!18077
2024-01-23 12:20:18 +08:00
Marius Vikhammer
297607587b test(panic): remove WDT both CPU test
Test never worked on S3/P4 and was flakey on ESP32. Hard to design a reliable test
case that triggers both WDT at the exact same time.
2024-01-23 11:55:18 +08:00
wuzhenghui
9b3dc69908 refactor(esp_hw_support): move regdma structure defination to soc components 2024-01-23 11:51:44 +08:00
wuzhenghui
2bd755c95d refactor(esp_hw_support): move TIMG_WDT_WKEY_VALUE defination from hal to soc 2024-01-23 11:51:44 +08:00
Darian
a114237378 Merge branch 'refactor/core_component_headers_copyright_ignore' into 'master'
Tools/Core: Tidy up core-team releated copyright ignore list entries

See merge request espressif/esp-idf!28514
2024-01-23 11:39:59 +08:00
Xu Si Yu
65a261b290 fix(openthread): set spinel frame buffer to member variables 2024-01-23 10:52:03 +08:00
xueyunfei
4f96d04c9e feat(lwip): add fall back dns config in menuconfig
Closes https://github.com/espressif/esp-idf/issues/12530
2024-01-23 10:49:53 +08:00
Jakob Hasse
99914e1f09 fix(linux): Fixed esp_wifi mock build test 2024-01-23 09:39:03 +08:00
KonstantinKondrashov
b471d9d22c change(all): Clearing unused efuse rom headers 2024-01-22 18:02:55 +02:00
Ondrej Kosta
1688c699db Merge branch 'feature/eth_p4_kconfig' into 'master'
fix(examples): fixed common_connect example to support ESP32P4 internal EMAC

See merge request espressif/esp-idf!28582
2024-01-22 22:45:26 +08:00
Tomas Rezucha
21df64f4a9 fix(examples): Make esp_eth public dependency of protocol_examples_comon 2024-01-22 21:51:37 +08:00
Song Ruo Jing
08eada7301 feat(esp_hw_support/dma2d): Add 2D-DMA support on ESP32P4 2024-01-22 20:51:43 +08:00
Island
a4268b88c5 Merge branch 'bugfix/fix_ble_remove_bond' into 'master'
fix(ble/bluedroid): Fix dangling pointer issue in deletion of bonded devices

Closes BLERP-478

See merge request espressif/esp-idf!28589
2024-01-22 20:35:51 +08:00
Mahavir Jain
8b7d24ad71 Merge branch 'bugfix/soc_cpu_subsys_region' into 'master'
fix(soc): change debug addr range to CPU subsystem range

See merge request espressif/esp-idf!28499
2024-01-22 20:02:21 +08:00
Darian Leung
8f15dd1ce0 fix(esp_ble_mesh): Remove separate AliGenie example build rules
The AliGenie example can run on all targets that support esp_ble_mesh (i.e.,
SOC_BLE_MESH_SUPPORTED). Thus, the example does not require a separate build
rule.
2024-01-22 19:57:54 +08:00
Kevin (Lao Kaiyao)
2e037b8ab5 Merge branch 'feature/support_legacy_i2s_driver_on_p4' into 'master'
feat(i2s): support i2s legacy driver on p4

Closes IDF-8194

See merge request espressif/esp-idf!28474
2024-01-22 19:35:49 +08:00
Tomas Rezucha
ed1f20a972 feat(hal/usb): Add HS PHY configuration 2024-01-22 12:14:11 +01:00
C.S.M
c967dac3a9 Merge branch 'bugfix/one_byte_receive' into 'master'
fix(i2c_master): Fix bug on esp32 that read one byte data fails

See merge request espressif/esp-idf!28523
2024-01-22 18:17:33 +08:00
Fu Hanxi
2ddb0fb3f6 ci: fix app.requires_elf_or_map. Use absolute paths 2024-01-22 11:14:03 +01:00
Darian Leung
f50d83413e refactor(tools): Tidy up core component files copyright ignore
Some files that should have their copyrights checked are still placed on the
copyright ignore list.

- These entries have been tidied up
- Copyrights of those files have been updated.
2024-01-22 18:07:35 +08:00
Darian Leung
06952431a0 refactor(esp_system): Remove intr.c from the esp_system component
This file is empty and not used anywhere, thus can be removed.
2024-01-22 18:01:25 +08:00
Tomas Rezucha
8c1f5e6015 Merge branch 'fix/check_precommit_on_win' into 'master'
fix(pre-commit): Fixed README.md encoding on Windows

See merge request espressif/esp-idf!28587
2024-01-22 17:04:28 +08:00
Linda
042b5a0102 docs: fix some typos in api-guides/low-power-mode 2024-01-22 16:57:39 +08:00
Ondrej Kosta
85c4601ed5 fix(examples): fixed common_connect example to support ESP32P4 internal EMAC 2024-01-22 09:48:15 +01:00
zwx
706005c2e6 feat(802.15.4): introduce pending tx while rx feature 2024-01-22 16:43:41 +08:00
Ondrej Kosta
f732c3b7fd ci(esp_eth): enable Ethernet tests 2024-01-22 09:30:24 +01:00
xiaqilin
0fe78ed468 fix(ieee802154): add next operation in ieee802154 test when rx abort by tx ack coex 2024-01-22 16:04:37 +08:00
zwx
f478d3d81d feat(openthread): integrate console command with ot command 2024-01-22 16:04:04 +08:00
Jakob Hasse
be59c94917 feat(pthread): Pthread can now use PSRAM as stack
Closes https://github.com/espressif/esp-idf/pull/10623
Closes https://github.com/espressif/esp-idf/issues/8662

Thanks to f-hoepfinger-hr-agrartechnik for the contribution
in https://github.com/espressif/esp-idf/pull/10623
2024-01-22 15:33:05 +08:00
InfiniteYuan
728ff8dc99 ble_mesh: example: fix the structure init order to meet C++ requirements
Closes https://github.com/espressif/esp-idf/issues/8110
2024-01-22 14:14:34 +08:00
InfiniteYuan
8191f319a3 ble_mesh: stack: fix the structure init order to meet C++ requirements 2024-01-22 14:12:11 +08:00
Mahavir Jain
9ecd2fd7e3 fix(soc): change debug addr range to CPU subsystem range
For C6/H2/P4/C5, there is no SoC specific debug range. Instead the same
address range is part of CPU Subsystem range which contains debug mode
specific code and interrupt config registers (CLINT, PLIC etc.).

For now the PMP entry is provided with RWX permission for both machine
and user mode but we can save this entry and allow the access to only
machine mode for this range.

For P4/C5 case, this PMP entry can have RW permission as the debug mode
specific code is not present in this memory range.
2024-01-22 13:34:32 +08:00
Xiao Xufeng
ad7cc3ae4b doc(spi_flash): reorganize optional features 2024-01-22 12:44:27 +08:00
Xiao Xufeng
e0856e208e ci(flash): remove hpm-dc configs from octal flash 2024-01-22 12:44:27 +08:00
Jiang Jiang Jian
a047d5d097 Merge branch 'doc/update_bluedroid_init_migration' into 'master'
doc(bt/bluedroid): Update migration docs for new version of API for Bluedroid host stack initialization

See merge request espressif/esp-idf!27857
2024-01-22 12:08:26 +08:00
Marius Vikhammer
1bcfde4e7f fix(ulp): enable astyle linter and format ULP component 2024-01-22 11:43:38 +08:00
morris
01f1434fdd Merge branch 'feature/esp_lcd_mipi_dsi' into 'master'
esp lcd mipi dsi driver

Closes IDF-6499

See merge request espressif/esp-idf!28273
2024-01-22 11:22:00 +08:00
Adam Múdry
3da19a647c Merge branch 'feature/fatfs_2_fat_copies_on_volume' into 'master'
feat(fatfs): Add an option to use 2 FATs (file allocation tables) in FATFS volumes

Closes IDF-8735 and IDF-4091

See merge request espressif/esp-idf!27452
2024-01-22 11:15:04 +08:00
Cao Sen Miao
1e3ffdf628 fix(i2c_master): Fix bug on esp32 that read one byte data fails 2024-01-22 11:13:10 +08:00
Island
ed025da95c Merge branch 'feat/support_ble_aux_when_data_length_zero' into 'master'
feat(bt/bluedroid): Support ext adv aux option

Closes BLERP-253 and BLERP-470

See merge request espressif/esp-idf!28458
2024-01-22 11:06:01 +08:00
Jiang Jiang Jian
54bcaae1ac Merge branch 'bugfix/fix_scan_request_ifs_error' into 'master'
Fixed BLE scan request ifs time error in coexistence scenarios on ESP32

Closes BT-3593, CBLE50Y23-138, and BT-3605

See merge request espressif/esp-idf!28460
2024-01-22 11:00:54 +08:00
Island
f8a12adcf5 Merge branch 'feat/support_ble_get_callback' into 'master'
Feat/support ble get callback

See merge request espressif/esp-idf!28355
2024-01-22 10:43:28 +08:00
Island
44862867a7 Merge branch 'bugfix/fix_ble_memory_leak' into 'master'
fix(ble/bluedroid): Fix ble memory leak when gattc config off

See merge request espressif/esp-idf!28468
2024-01-22 10:42:56 +08:00
Island
b0a58d7080 Merge branch 'ble_dev/added_ble_power_save_pytest' into 'master'
Added pytest case for BLE power save example.

Closes BLERP-449

See merge request espressif/esp-idf!28384
2024-01-22 10:41:19 +08:00
Island
b667d20312 Merge branch 'bugfix/ble_update_lib_20231229' into 'master'
update lib on master

Closes BLERP-414, BLERP-415, BLERP-416, BLERP-418, BLERP-419, BLERP-417, BLERP-355, BLERP-420, BLERP-421, BLERP-422, BLERP-443, BLERP-445, BLERP-444, BLERP-442, BLERP-446, and BT-3558

See merge request espressif/esp-idf!28186
2024-01-22 10:38:16 +08:00
Island
4071984f47 Merge branch 'bugfix/fix_ble_heap_malloc' into 'master'
fix(bt/bluedroid): Fix BLE malloc internal wrapper fail

See merge request espressif/esp-idf!27677
2024-01-22 10:34:07 +08:00
Erhan Kurubas
029a0582e1 feat(coredump): improve the probability of accessing healthy TCBs 2024-01-22 00:18:28 +08:00
igor.udot
f5972ab592 ci: change known_failure_cases workflow 2024-01-21 15:36:25 +08:00
morris
488a2b9fdb feat(dsi): add mipi dsi lcd example with lvgl gui 2024-01-20 17:02:47 +08:00
morris
e0dec99741 feat(dsi): add mipi dsi lcd unit test app 2024-01-20 17:02:28 +08:00
morris
7013815ea7 feat(dsi): add mipi dsi driver to esp_lcd 2024-01-20 16:50:22 +08:00
zhanghaipeng
101bfcd7a1 fix(ble/bluedroid): Fix BLE background connection log level 2024-01-20 16:42:54 +08:00
zhanghaipeng
b491c7bb6f fix(ble/bluedroid): Fix dangling pointer issue in deletion of bonded devices 2024-01-20 16:35:38 +08:00
linruihao
b6d6735190 fix(esp_coex): Fixed potential BLE scan request ifs timer error bug 2024-01-20 11:26:52 +08:00
zhiweijian
5552941e57 Fixed BLE scan request ifs timer error in coexistence scenarios 2024-01-20 11:26:52 +08:00
Konstantin Kondrashov
261651fc19 Merge branch 'feature/efuse_update' into 'master'
feat(efuse): Adds new efuses for H2 and C6 chips

See merge request espressif/esp-idf!27672
2024-01-20 03:10:44 +08:00
David Cermak
73102c60ef fix(lwip): Used dedicated IP4 address type 2024-01-19 17:48:47 +01:00
Tomas Rezucha
c6204343a8 fix(pre-commit): Fixed README.md encoding on Windows
Windows will open the file using 'cp1252' encoding,
which may result in 'UnicodeDecodeError' for unsupported symbols.
2024-01-19 16:08:34 +01:00
Jiang Jiang Jian
984418d0c4 Merge branch 'bugfix/fix_pmk_invalid_wpa_or_wpa2_connect_fail_issue' into 'master'
fix(wifi): fix pmk invalid lead same ssid wpa and wpa2 connect fail issue

Closes WIFIBUG-192 and WIFIBUG-346

See merge request espressif/esp-idf!28571
2024-01-19 19:50:06 +08:00
laokaiyao
b9e44b92b3 ci(i2s): enable i2s ci tests on p4 2024-01-19 19:28:33 +08:00
laokaiyao
62ae0efa54 feat(i2s): support i2s legacy driver on p4 2024-01-19 19:28:33 +08:00
Tomas Rezucha
2ab552a241 Merge branch 'refactor/usb_dependencies' into 'master'
refactor(usb/examples): Depend on new esp_driver_gpio

See merge request espressif/esp-idf!28552
2024-01-19 17:24:13 +08:00
cjin
9533df5c39 feat(ble): added pytest for ble power save example 2024-01-19 17:23:35 +08:00
Darshan Dobariya
35d3306200 fix(nimble): Added change to ensure that API execution returns success 2024-01-19 14:48:43 +05:30
zhanghaipeng
aeeb64966b feat(bt/bluedroid): Support ext adv aux option 2024-01-19 16:48:18 +08:00
luomanruo
dededd1267 change(ble): npl count is zero if nimble host is not used
change(ble): added npl eventq put to front

change(ble): added cache safe check in ble power save example

ble(update):
    Update c2 lib to 91b81332
    Update h2 lib to 620fbe79
    Update c6 lib to 620fbe79

fix(ble): fix stack overflow disable at sleep

Revert "change(ble): added ble cca en and thresh option"

This reverts commit 71901499b9.
2024-01-19 16:13:12 +08:00
Sudeep Mohanty
82f2294bcb Merge branch 'feature/ulp_riscv_interrupt_handling' into 'master'
feat(ulp-riscv): Added interrupt handling for ULP RISC-V

Closes IDFGH-9866 and IDF-1713

See merge request espressif/esp-idf!27802
2024-01-19 15:44:27 +08:00
muhaidong
f268621627 fix(wifi): fix pmk invalid lead same ssid wpa and wpa2 connect fail issue 2024-01-19 11:54:10 +08:00
Jiang Jiang Jian
7f762392cd Merge branch 'bugfix/fix_smart_config_bssid_set_issue' into 'master'
fix(wifi): fix smart config bssid set issue

Closes WIFI-6391

See merge request espressif/esp-idf!28471
2024-01-19 11:27:12 +08:00
zhanghaipeng
0f29b3cef9 fix(bt/bluedroid): Fix BLE malloc internal wrapper fail 2024-01-19 11:22:33 +08:00
zhanghaipeng
ee4d4f1d35 docs(ble/bluedroid): Optimize documentation for BLE duplicate scan 2024-01-19 11:21:42 +08:00
zhanghaipeng
8de484888f feat(ble/bluedroid): Add getter for BLE GATTC calllback 2024-01-19 11:21:42 +08:00
Zeke Gustafson
be47da1962 feat(ble/bluedroid): Add getter for BLE GATTS callback 2024-01-19 11:21:42 +08:00
Zeke Gustafson
6bc5b0069f feat(ble/bluedroid): Add getter for BLE GAP callback 2024-01-19 11:21:42 +08:00
Omar Chebib
cdde05335e Merge branch 'refactor/riscv_interrupt' into 'master'
refactor(riscv): Refactor crosscore interrupts and core interrupt code

Closes IDF-5720, DOC-5177, and IDF-7899

See merge request espressif/esp-idf!27845
2024-01-19 10:51:04 +08:00
Omar Chebib
0d9d004d00 Merge branch 'doc/esp32p4_intr_alloc' into 'master'
docs(soc): add a few details in the `intr_alloc` documentation for the ESP32-P4

Closes IDF-8781

See merge request espressif/esp-idf!28249
2024-01-19 10:50:42 +08:00
Island
45a36b2903 Merge branch 'feature/ble_mesh_example_light_driver' into 'master'
feat: replace light driver and support more chips in ble mesh examples

See merge request espressif/esp-idf!27882
2024-01-19 10:40:47 +08:00
Shu Chen
9a6b0941b0 Merge branch 'bugfix/esp32h2_wakeup_i2c_fail' into 'master'
fix(esp_phy): fix esp32h2 wakeup i2c fail

Closes BLERP-465

See merge request espressif/esp-idf!28462
2024-01-19 10:08:17 +08:00
Omar Chebib
71e7f175ff Merge branch 'bugfix/stack_watermark_fpu_esp32p4' into 'master'
fix(riscv): adjust TCBs lowest stack address when the FPU is used

Closes IDF-8995 and IDF-8423

See merge request espressif/esp-idf!28429
2024-01-19 10:04:29 +08:00
C.S.M
6c5373911a Merge branch 'bugfix/cannot_jump_range' into 'master'
fix(temperature_sensor): Cannot switch the range smoothly on esp32h2

Closes IDF-9054

See merge request espressif/esp-idf!28530
2024-01-19 09:44:26 +08:00
Sudeep Mohanty
de8ee8cc1a feat(ulp-riscv): Updated documentation about ULP RISC-V interrupt handling
This commit updates the documentation to add support for ULP RISC-V
interrupt handling.
2024-01-18 15:59:53 +01:00
Sudeep Mohanty
4230acb971 feat(ulp-riscv): Added new example to demonstrate ULP RISC-V interrupts
This commit adds a new example which demonstrates how the ULP RISC-V
co-processor handles interrupts.
2024-01-18 15:59:49 +01:00
Sudeep Mohanty
94e2516f6c feat(ulp-riscv): Added support for RTC IO interrupts for ULP RISC-V
This commit adds a feature to register RTC IO interrupt handlers for the
ULP RISC-V co-processor.
2024-01-18 15:59:45 +01:00
Sudeep Mohanty
b9ecc1e57a feat(ulp-riscv): Added SW interrupt capability for ULP RISC-V
This commit adds a feature to ULP RISC-V where the user can trigger
a software interrupt on the ULP RISC-V core.
2024-01-18 15:59:40 +01:00
Sudeep Mohanty
70241d13a2 feat(ulp-riscv): Added interrupt allocator and de-allocator
This commit adds methods to allocate and de-allocate interrupt handlers
for the ULP RISC-V.
2024-01-18 15:59:35 +01:00
Sudeep Mohanty
a6461eab77 feat(ulp-riscv): Added interrupt vector handling for ULP RISC-V
This commit adds interrupt vector processing for the ULP RISC-V co-processor.
2024-01-18 15:59:27 +01:00
Shang Zhou
63f317e4ca docs: Update CN translation for fatfs.rst 2024-01-18 14:03:39 +01:00
Adam Múdry
8e50d63fea feat(fatfs): Add an option to use 2 FATs (file allocation tables) in FATFS volumes
Should help with redundancy and data corruption when enabled but uses more space.
2024-01-18 14:03:28 +01:00
Fu Hanxi
813dbe5526 Merge branch 'ci/fix_truncated_backet_names_in_artefact_uploader' into 'master'
ci: fix truncated job name in artifact path

See merge request espressif/esp-idf!28558
2024-01-18 20:25:52 +08:00
Wan Lei
2bd7e67205 Merge branch 'contrib/github_pr_12998' into 'master'
fix(twai): TWAI_GENERAL_CONFIG_DEFAULT initialize controller_id (GitHub PR)

Closes IDFGH-11917

See merge request espressif/esp-idf!28554
2024-01-18 20:03:47 +08:00
Roland Dobai
9a7e88e12d Merge branch 'update/kconfig_pre-commit_version' into 'master'
ci(pre-commit): Update esp-idf-kconfig version

See merge request espressif/esp-idf!28500
2024-01-18 19:24:56 +08:00
Mo Fei Fei
8fdf872068 Merge branch 'docs/update_s3_devkitc_1_note_dimension' into 'master'
Docs: Update s3 devkitc 1 note dimension

Closes DOC-7003

See merge request espressif/esp-idf!28461
2024-01-18 19:03:51 +08:00
Mo Fei Fei
40ac08e7e7 Docs: Update s3 devkitc 1 note dimension 2024-01-18 19:03:50 +08:00
aditi_lonkar
6006568c77 fix(wpa_supplicant):Add MBO config flag for mbo apis 2024-01-18 15:11:30 +05:30
Darian
c1cc22d245 Merge branch 'refactor/usb_remove_unused_files' into 'master'
USB: Remove unused HAL files and deprecate usb_periph

See merge request espressif/esp-idf!28293
2024-01-18 17:01:06 +08:00
Wan Lei
73ff086e21 Merge branch 'fix/p4_spi_master_clock_sourse_sel' into 'master'
fix(spi_master): Fix p4 spi clock source support other than XTAL

See merge request espressif/esp-idf!28392
2024-01-18 16:46:44 +08:00
Omar Chebib
102d5bbf72 refactor(riscv): added a new API for the interrupts 2024-01-18 16:36:53 +08:00
Rahul Tank
041da5cb60 Merge branch 'bugfix/add_minor_fixes_debug' into 'master'
fix(nimble): Add minor debug fixes

See merge request espressif/esp-idf!28518
2024-01-18 16:32:33 +08:00
Omar Chebib
5cdf145f55 refactor(riscv): refactor crosscore interrupt 2024-01-18 16:27:36 +08:00
C.S.M
298931596a Merge branch 'bugfix/wrong_serial_num_2_rom' into 'master'
fix(uart,usj..): Fix wrong serial number that has been parsed to rom functions

Closes IDFGH-11872

See merge request espressif/esp-idf!28414
2024-01-18 16:17:37 +08:00
Wu Zheng Hui
d3df4246d8 Merge branch 'bugfix/fix_systick_lost_in_esp32_dfs' into 'master'
fix(esp_pm): safely check ccompare validity in DFS update_ccompare

Closes IDF-8879

See merge request espressif/esp-idf!28176
2024-01-18 16:16:08 +08:00
Aleksei Apaseev
b43e07d2f3 ci: fix truncated job name in artifact path 2024-01-18 14:45:35 +08:00
nilesh.kale
59c5b5fe6b fix(bootloader): Fix compilation issue in bootloader build during verbose+sb+fe 2024-01-18 12:15:15 +05:30
Tomas Rezucha
a5e647cf7f refactor(usb/examples): Depend on new esp_driver_gpio
This will exclude unneeded drivers from the build.
2024-01-18 07:28:06 +01:00
David Cermak
d707161881 fix(lwip): esp_netif supports esp_netif_get_netif_impl() for PPP 2024-01-18 14:20:39 +08:00
David Cermak
63e8e01646 feat(lwip): Added PPP config option to control VJ header compression 2024-01-18 14:20:39 +08:00
David Cermak
18ff62017a feat(lwip): Add support for PPP server
Added support PPP_SERVER option in LWIP
Added support for configuring preferred addresses of PPP endpoints.
2024-01-18 14:20:39 +08:00
Marius Vikhammer
202bcadfd3 Merge branch 'feature/improve_ulp_examples' into 'master'
fix(ulp): improve ULP examples for users using usb-jtag-serial

See merge request espressif/esp-idf!28459
2024-01-18 13:33:04 +08:00
Omar Chebib
c7e63078b7 fix(riscv): adjust TCBs lowest stack address when the FPU is used 2024-01-18 13:06:29 +08:00
Marius Vikhammer
4f96919039 Merge branch 'bugfix/p4_newlib_test' into 'master'
test(newlib): enable and fix newlib tests on P4

Closes IDF-7862 and IDF-8983

See merge request espressif/esp-idf!28553
2024-01-18 13:02:56 +08:00
Jiang Jiang Jian
48b3f8a198 Merge branch 'bugfix/fix_crash_issue_when_mesh_deinit' into 'master'
fix(wifi/mesh): fix crash issue when mesh deinit

Closes WIFIBUG-194, WIFIBUG-193, WIFIBUG-209, and WIFIBUG-265

See merge request espressif/esp-idf!27570
2024-01-18 11:13:26 +08:00
Cao Sen Miao
6768805d20 fix(uart,usj...): Fix wrong serial number that has been parsed to rom functions,
Closes https://github.com/espressif/esp-idf/issues/12958
2024-01-18 10:51:51 +08:00
Cao Sen Miao
e6b18a13cd fix(tools): Fix cannot generate *_caps to kconfig if int value is negative 2024-01-18 10:51:39 +08:00
wuzhenghui
0dc7cad586 fix(esp_pm): safely check ccompare validity in DFS update_ccompare 2024-01-18 10:34:47 +08:00
Lu Ai Jun
b982b43e9a Merge branch 'ci/add_idf_target_env_var_while_building' into 'master'
ci: add IDF_TARGET env var while building

Closes IDFCI-1957

See merge request espressif/esp-idf!28506
2024-01-18 10:29:20 +08:00
Michael (XIAO Xufeng)
8a5582817e Merge branch 'doc/compatibility_c6h2' into 'master'
docs(compatibility): add information for c6, h2, s3 v0.2

See merge request espressif/esp-idf!27052
2024-01-18 09:57:17 +08:00
Marius Vikhammer
9ab0d95f65 test(newlib): enable and fix newlib tests on P4 2024-01-18 09:52:11 +08:00
Adam Múdry
c6520dc3a5 Merge branch 'feature/littlefs_example_bump_version_lower_idf_version' into 'master'
feat: LittleFS example bump version to 1.13.0

Closes IDF-9045

See merge request espressif/esp-idf!28454
2024-01-18 03:09:19 +08:00
Song Ruo Jing
e45aea723b Merge branch 'feature/esp32p4_ppa_ll_support' into 'master'
feat(ppa): add low level support for PPA

See merge request espressif/esp-idf!28268
2024-01-17 23:18:35 +08:00
Ondrej Kosta
0766bb5f62 Merge branch 'feature/p4_emac' into 'master'
ESP32P4 EMAC

See merge request espressif/esp-idf!27178
2024-01-17 22:22:05 +08:00
Nebojša Cvetković
bd9711dde6 fix(twai): TWAI_GENERAL_CONFIG_DEFAULT initialize controller_id
Fix for C++ warning `-Wmissing-field-initializers`
2024-01-17 13:42:50 +00:00
Darian Leung
19c18845b0 refactor(soc): Remove soc/usb_types.h
This header has been removed for the following reasons:

- Header is misplaced. 'xxx_types.h' headers should be placed in the 'hal'
component.
- The 'usb_xxx_endpoint_t' should be placed in the 'xxx_struct.h' header.
2024-01-17 21:28:25 +08:00
Darian Leung
6a43b623dc refactor(soc): Rename usb_otg_periph to usb_dwc_periph
- Renamed usb_otg_periph.h/c to usb_dwc_periph.h/c to match naming convention
of other DWC OTG related files
- Added compatibility header for usb_otg_periph.h
2024-01-17 21:28:25 +08:00
Darian Leung
01a4a1d7f0 refactor(soc): Deprecate usb pin mappings
usb_pins.h and usb_periph.h/c lists mappings of USB DWC signals to GPIOs used
to connect to external FSLS PHYs. However, those signals can be routed to any
GPIOs via the GPIO matrix. Thus, these mapping are meaningless and have been
deprecated.
2024-01-17 21:28:25 +08:00
Darian Leung
e63bfb24f5 refactor(hal): Remove usb_hal and usb_ll
This commit removes some legacy USB related HAL and LL files that are no longer
used.
2024-01-17 21:28:25 +08:00
Fu Hanxi
6d23026437 ci: add IDF_TARGET env var while building
usually we don't need it, but some sdkconfig files may want to expand
this env var.
2024-01-17 13:48:16 +01:00
Abhik Roy
7004c07e3f fix(lwip): Corrected NAPT dependency text 2024-01-17 23:42:31 +11:00
Rahul Tank
6a7dc27421 fix(nimble): Add minor debug fixes 2024-01-17 17:24:59 +05:30
Rahul Tank
6e860a8a5b Merge branch 'bugfix/address_resolution' into 'master'
fix(nimble): Added support for address resolution during inquiry

Closes IDFCI-1894

See merge request espressif/esp-idf!28294
2024-01-17 19:31:52 +08:00
Erhan Kurubas
bc2650cdca Merge branch 'update_spdx_license_tag' into 'master'
feat(license): update OpenOCD stub source files with additional MIT license

See merge request espressif/esp-idf!28480
2024-01-17 19:26:06 +08:00
xiaqilin
529860dea5 fix(esp_phy): fix esp32h2 wakeup i2c fail 2024-01-17 18:41:43 +08:00
zhangyanjiao
e4c6cec53b fix(wifi): fix the crash and malloc fail issue
1. fix(wifi/mesh): fix the crash issue when mesh deinit
2. fix(wifi):fix when ap recv auth in sa query porcess will memset psq issue
2024-01-17 17:01:35 +08:00
wanlei
4a46d70e9a fix(spi_master): Fix p4 spi clock source support other than XTAL 2024-01-17 17:01:23 +08:00
Cao Sen Miao
2859388f11 fix(temperature_sensor): Cannot switch the range smmothly on esp32h2 2024-01-17 16:55:30 +08:00
Konstantin Kondrashov
fdae1c6a28 Merge branch 'feature/efuse_reenable_test_on_p4' into 'master'
feat(efuse): Re-enable test on ESP32P4

See merge request espressif/esp-idf!28361
2024-01-17 16:49:49 +08:00
Fu Hanxi
c1ee790341 Merge branch 'ci/add_download_custom_apps_fixture' into 'master'
test: fix custom additional app for multicore test cases

Closes IDFCI-1948

See merge request espressif/esp-idf!28507
2024-01-17 16:44:17 +08:00
Sudeep Mohanty
d5993585df Merge branch 'bugfix/linenoise_calculates_negative_prompt_len' into 'master'
fix(console): Fixed linenoise prompt length calculation

Closes IDF-9024 and IDFGH-2867

See merge request espressif/esp-idf!28446
2024-01-17 16:38:06 +08:00
Mahavir Jain
3278317ca5 Merge branch 'feat/support_http_any_in_http_server' into 'master'
feat: support HTTP_ANY method in esp_http_server

Closes IDFGH-11684

See merge request espressif/esp-idf!28347
2024-01-17 16:12:46 +08:00
Mahavir Jain
b52c6b59d4 Merge branch 'ci/fix_check_build_rules_failure' into 'master'
ci(mbedtls): remove duplicated build-rules

Closes IDFCI-1950

See merge request espressif/esp-idf!28503
2024-01-17 16:01:50 +08:00
Roland Dobai
9940087d16 Merge branch 'fix/fatfsparse_construct' into 'master'
fix(fatfsgen): Fix incompatibility with the latest version of construct

Closes IDFCI-1915

See merge request espressif/esp-idf!28374
2024-01-17 15:57:52 +08:00
zhanghaipeng
32290b2475 fix(ble/bluedroid): Fix ble memory leak when gattc config off 2024-01-17 15:20:24 +08:00
Jiang Jiang Jian
ab7281128c Merge branch 'ci/fix_esp_wifi_function_test_markers' into 'master'
ci: fix wifi function test markers

See merge request espressif/esp-idf!28504
2024-01-17 13:47:22 +08:00
Wang Meng Yang
4997c81335 Merge branch 'bugfix/spp_disc_connect_btqabr2023_156_v5.3' into 'master'
fix(bt/bluedroid): Fixed SPP connection failure

Closes BTQABR2023-156

See merge request espressif/esp-idf!28029
2024-01-17 12:11:08 +08:00
Michael (XIAO Xufeng)
1903c51d07 Merge branch 'feat/support_p4_sdmmc_io' into 'master'
feat(sdio): add sdio over sdmmc support for esp32p4

See merge request espressif/esp-idf!28207
2024-01-17 11:28:42 +08:00
muhaidong
85a03b22a7 fix(lwip): fix log format resulting in compilation failue issue
Closes https://github.com/espressif/esp-idf/issues/12982
2024-01-17 10:47:10 +08:00
xiongweichao
a4f228da46 fix(ble): Fixed the issue of being unable to enter light sleep
- Fixed the issue where light sleep cannot be entered when external 32k XTAL does not exist
2024-01-17 10:29:43 +08:00
morris
5fb105a6d9 Merge branch 'feature/add_mipi_dsi_dphy_config_hal' into 'master'
update(mipi_dsi): update hal driver with DPHY PLL configuration

See merge request espressif/esp-idf!28412
2024-01-17 08:38:57 +08:00
Fu Hanxi
23c339e231 ci: raise RuntimeError instead of SystemExit to avoid kill the process
otherwise the pytest process will be killed immediately
2024-01-16 20:21:40 +01:00
Fu Hanxi
4afb86fce3 test: fix custom additional app for multicore test cases 2024-01-16 20:20:42 +01:00
KonstantinKondrashov
452a78de4a feat(efuse): Re-enable test on ESP32P4 2024-01-17 00:56:00 +08:00
Sudeep Mohanty
40db628582 Merge branch 'feature/allow_abs_path_for_partitions_csv' into 'master'
feat(partition_table): Allow configuration of absolute path for custom partitions.csv file

Closes IDFGH-11092

See merge request espressif/esp-idf!27652
2024-01-16 23:46:27 +08:00
Song Ruo Jing
32111c1c4d feat(ppa): add low level support for PPA 2024-01-16 23:20:59 +08:00
Fu Hanxi
b0af857d50 Merge branch 'ci/fix_search_multi_dut_with_markers' into 'master'
ci: fix collect multi-dut test case with markers issue

Closes IDFCI-1945

See merge request espressif/esp-idf!28448
2024-01-16 22:48:09 +08:00
Ondrej Kosta
ce388a4111 feat(esp_eth): Added support of internal EMAC for ESP32P4
Refactored internal EMAC DMA access.

Added MPLL acquire to manage access to the MPLL by multiple periphs.
2024-01-16 14:29:25 +01:00
Darshan Dobariya
fdc5a0ab9f fix(nimble): Added support for address resolution during inquiry. 2024-01-16 17:16:34 +05:30
Kevin (Lao Kaiyao)
4f506a30df Merge branch 'bugfix/fix_incorrect_regbase_name_of_i2s' into 'master'
fix(i2s): fixed incorrect reg base name on C3

Closes IDFGH-11518

See merge request espressif/esp-idf!28421
2024-01-16 19:37:28 +08:00
Roshan Bangar
ed0ba2e29d Merge branch 'feature/gatt_caching_support' into 'master'
feat(nimble): Gatt caching support

See merge request espressif/esp-idf!27074
2024-01-16 19:27:22 +08:00
Roland Dobai
d4d3e83d3c fix(fatfsgen): Fix incompatibility with the latest version of construct 2024-01-16 18:54:15 +08:00
Sudeep Mohanty
0313cbca43 fix(console): Fixed linenoise prompt length calculation
This commit fixes a potential issue where in the prompt length used
for the linenoise based console could be calculated as a negative
integer, leading to a console hang.

Closes https://github.com/espressif/esp-idf/issues/4924
2024-01-16 11:52:24 +01:00
Jakub Kocka
d9ad87c7ea ci(pre-commit): Update esp-idf-kconfig version 2024-01-16 11:41:53 +01:00
KonstantinKondrashov
ba0842a552 feat(efuse): Adds new efuses for esp32c6 2024-01-16 17:46:50 +08:00
KonstantinKondrashov
8802e4d77d feat(efuse): Adds new efuse for esp32h2 2024-01-16 17:46:50 +08:00
morris
d3ebd6bc1c feat(mipi_dsi): added DPHY PLL clock configuration 2024-01-16 17:41:46 +08:00
morris
ad84b61e49 change(esp_lcd): rearrange the esp_lcd folder by types 2024-01-16 17:40:27 +08:00
Kevin (Lao Kaiyao)
0717e0e4a3 Merge branch 'bugfix/fix_integral_div_calc_in_hal_util' into 'master'
fix(hal_utils): add division range check in integral algorithm

See merge request espressif/esp-idf!28431
2024-01-16 17:14:25 +08:00
Marius Vikhammer
a792c24b2a ci(mbedtls): remove duplicated build-rules 2024-01-16 17:14:12 +08:00
Chen Yudong
e99278b6c5 ci: fix wifi function test markers 2024-01-16 17:12:59 +08:00
MinZai97
15583ed635 feat: replace lightdriver, and support more chips in ble mesh examples 2024-01-16 17:07:01 +08:00
Ondrej Kosta
9a3133f22a Merge branch 'bugfix/ci_extra_flags' into 'master'
ci: added bridge test credentials to  PYTEST_EXTRA_FLAGS variable

See merge request espressif/esp-idf!28470
2024-01-16 17:03:55 +08:00
Zhang Wen Xu
3b44a596c4 Merge branch 'feature/support_esp_ot_radio_spinel' into 'master'
feature(openthread): support esp openthread radio spinel

See merge request espressif/esp-idf!28153
2024-01-16 16:55:43 +08:00
Armando (Dou Yiwen)
d7a0aa92f3 Merge branch 'feat/csi_brg_shared_ctrl' into 'master'
csi: added csi bridge share control code

See merge request espressif/esp-idf!28353
2024-01-16 16:30:21 +08:00
Marius Vikhammer
3846cbc599 Merge branch 'ci/fix_esp32_jtag' into 'master'
ci(semihost_vfs): fixed test case failing due to shell quote issues

See merge request espressif/esp-idf!28488
2024-01-16 15:45:33 +08:00
Xu Xiao
a1dc38bc6a Merge branch 'feat/modify_iperf_sdkconfig_to_improve_iperf_performance' into 'master'
feat(example): modify iperf sdkconfig to imporve iperf performance

Closes WIFIBUG-391

See merge request espressif/esp-idf!28482
2024-01-16 14:42:14 +08:00
laokaiyao
c3c72f02af fix(i2s): fixed incorrect reg base name on C3
Closes https://github.com/espressif/esp-idf/issues/12643
2024-01-16 14:12:32 +08:00
Marius Vikhammer
03db29c244 ci(semihost_vfs): fixed test case failing due to shell quote issues 2024-01-16 13:27:51 +08:00
Roshan Bangar
b2a403acc4 feat(nimble): Gatt caching support 2024-01-16 10:46:52 +05:30
C.S.M
ea4498d6c6 Merge branch 'refactor/i2c_example' into 'master'
refactor(i2c): Use new I2C driver in i2c examples.

See merge request espressif/esp-idf!28239
2024-01-16 12:52:12 +08:00
xuxiao
9d1f3d0d16 feat(example): modify iperf sdkconfig to imporve iperf performance 2024-01-16 10:50:18 +08:00
morris
109c1d63ec Merge branch 'bugfix/mcpwm_enable_group_clock_before_hal_init' into 'master'
fix(mcpwm): enable mcpwm core clock before hal init

Closes IDF-8963

See merge request espressif/esp-idf!28372
2024-01-16 10:21:58 +08:00
Shu Chen
abf8d771cc Merge branch 'bugfix/fix_ot_sleep_ci' into 'master'
fix(ci): increase inspection time of openthread sleepy device case

See merge request espressif/esp-idf!28308
2024-01-16 10:09:17 +08:00
Cao Sen Miao
4d71f7c18e refactor(i2c): Use new I2C drivers for I2C exmaple 2024-01-16 10:05:08 +08:00
Cao Sen Miao
0bf2b35b33 fix(i2c): Use hardware fsm reset on esp32c6/h2/p4 2024-01-16 10:05:05 +08:00
Armando
8f097a4629 feat(csi): added csi bridge share control code 2024-01-16 09:57:52 +08:00
C.S.M
251239d59d Merge branch 'bugfix/i2c_async_trans' into 'master'
fix(i2c_master): Fix issue that asyncronous transaction may cause memory problem

Closes IDFGH-11783

See merge request espressif/esp-idf!28197
2024-01-16 09:57:21 +08:00
Marius Vikhammer
0b9c0c188a Merge branch 'docs/ring_buf_get_info_api_wrong' into 'master'
docs(ringbuf): fixed mistake in vRingbufferGetInfo API parameter doc

See merge request espressif/esp-idf!28427
2024-01-16 09:34:20 +08:00
Erhan Kurubas
ca0b112669 feat(license): Dual-license source files built by OpenOCD stub flasher 2024-01-15 23:45:23 +01:00
Fu Hanxi
61aafd1e89 ci: fix download with multi-dut test cases with markers only 2024-01-15 22:36:09 +01:00
Fu Hanxi
c8dffc9378 ci: fix collect multi-dut test case with markers issue
While collecting, we stop registering the new plugin.
Otherwise the new created plugin will override the one we passed

also run the tests inside idf. the behavior is different.
2024-01-15 22:36:09 +01:00
Tomas Rezucha
763d07fd0e Merge branch 'fix/usb_fifo_sizes' into 'master'
feat(usb/host): Calculate FIFO sizes based on USB configuration

Closes IDF-7384

See merge request espressif/esp-idf!28316
2024-01-16 01:36:32 +08:00
Alexey Lapshin
2a9813e19c Merge branch 'fix/esp32p4-cpu-stall' into 'master'
fix(hw_support): fix esp32p4 cpu stall/unstall

See merge request espressif/esp-idf!28426
2024-01-16 00:50:45 +08:00
Tomas Rezucha
488477e0aa feat(usb/host): Calculate FIFO sizes based on USB configuration 2024-01-15 17:25:59 +01:00
Alexey Lapshin
ac2705b60a fix(hw_support): fix esp32p4 cpu stall/unstall 2024-01-15 23:25:07 +08:00
Adam Múdry
616573e09d feat: LittleFS bump version to 1.13.0 2024-01-15 13:15:24 +01:00
morris
15cf11480a Merge branch 'bugfix/dwgdma_link_list_write_back' into 'master'
fix(dw_gdma): write back the link list items after creation

See merge request espressif/esp-idf!28413
2024-01-15 20:07:03 +08:00
Martin Vychodil
0f6d5a4ee6 Merge branch 'feature/built-in_checks_for_sd_pullups' into 'master'
feat(sd_card): add built-in checks for debugging connections to the sd card and pullups

See merge request espressif/esp-idf!27420
2024-01-15 19:54:36 +08:00
Cao Sen Miao
85d0fdabde fix(i2c_master): Fix issue that use callback may cause memory leak,
Closes https://github.com/espressif/esp-idf/issues/12878
2024-01-15 19:09:07 +08:00
Martin Vychodil
06247179b3 Merge branch 'bugfix/i2c_eeprom_init_goto_use_after_free' into 'master'
fix: i2c_eeprom_init use after free when error

Closes IDF-9031

See merge request espressif/esp-idf!28390
2024-01-15 18:30:59 +08:00
sonika.rathi
54647dbbd3 feat(sd_card): add built-in checks for connections to the card and correct pullups 2024-01-15 11:21:30 +01:00
morris
213a599d8b fix(mcpwm): enable mcpwm group clock before hal init 2024-01-15 18:13:56 +08:00
Island
1ad354bff3 Merge branch 'bugfix/ble_mesh_ble_advtype' into 'master'
ble_mesh: update ble mesh ble adv type

See merge request espressif/esp-idf!19200
2024-01-15 17:46:21 +08:00
Harshit Malpani
1d81af367d feat: support HTTP_ANY method in esp_http_server
Closes https://github.com/espressif/esp-idf/issues/12794
2024-01-15 14:32:06 +05:30
morris
ed8d805554 fix(dw_gdma): write back the link list items after creation 2024-01-15 16:56:28 +08:00
Fu Hanxi
9d3abb8686 Merge branch 'ci/fix_no_junit_report_for_failed_target_test_jobs' into 'master'
ci: always upload junit report

See merge request espressif/esp-idf!28435
2024-01-15 16:40:06 +08:00
Ondrej Kosta
e339da981d ci: added bridge test credentials to PYTEST_EXTRA_FLAGS variable 2024-01-15 09:38:11 +01:00
muhaidong
5d866dd3df fix(wifi): fix smart config bssid set issue 2024-01-15 16:37:10 +08:00
Marius Vikhammer
b3dd5cb243 docs(ringbuf): fixed mistake in vRingbufferGetInfo API parameter doc 2024-01-15 16:18:49 +08:00
Fu Hanxi
7be04869d2 Merge branch 'ci/respect_build_only_label_while_generating_test_jobs' into 'master'
ci: support build only label again in dynamic pipeline

See merge request espressif/esp-idf!28434
2024-01-15 16:15:05 +08:00
Wang Meng Yang
f40ebbff1e Merge branch 'bugfix/fix_mac_bb_pd_iwdt_timeout' into 'master'
fix(ble): fixed interrupt timeout in MAC_BB_PD callback

See merge request espressif/esp-idf!28274
2024-01-15 15:48:39 +08:00
Xu Si Yu
ea8799eef7 feat(openthread): support esp openthread radio spinel 2024-01-15 15:27:06 +08:00
Rahul Tank
e084a8f78d Merge branch 'bugfix/handle_task_lock' into 'master'
fix(nimble): Remove unwanted task lock check when HS_DEBUG is enabled

Closes BT-3599

See merge request espressif/esp-idf!28343
2024-01-15 14:56:37 +08:00
Xu Si Yu
e7bdf082e3 fix(ci): increase inspection time of openthread sleepy device case 2024-01-15 14:40:43 +08:00
Marius Vikhammer
9d41418bd2 fix(ulp): improve ULP examples for users using usb-jtag-serial
When using USB-serial-jtag for monitoring idf-monitor will lose connection
during deep sleep (because the peripheral powers down) and will need
some time to reconnect when we wake-up. In the ULP examples this would result in
the chip waking up->printing-> going back to sleep, before idf-monitor is even able
to connect, and users would erroneously assume the chip never woke up.

Add a 1 sec delay at the start of the examples to improve the user experience when
using jtag-serial.
2024-01-15 13:01:59 +08:00
Mahavir Jain
fd9cf82965 Merge branch 'docs/add_read_otadata_documentation' into 'master'
docs: Add documentation for `idf.py read-otadata`

See merge request espressif/esp-idf!28141
2024-01-15 13:00:23 +08:00
Mahavir Jain
3640fd61b3 Merge branch 'docs/renaming_filename_of_partool' into 'master'
fix: renamed partool.py -> parttool.py

See merge request espressif/esp-idf!28430
2024-01-15 12:12:53 +08:00
laokaiyao
1950e7a06b fix(hal_utils): add division range check in integral algorithm 2024-01-15 11:04:37 +08:00
Fu Hanxi
b581d81fc1 ci: support build only label 2024-01-14 21:18:20 +01:00
Xiao Xufeng
216284b767 feat(sdio): add sdio over sdmmc support for esp32p4 2024-01-14 01:05:00 +08:00
Xiao Xufeng
7ecc9c9fc4 docs(compatibility): add information for c6, h2, s3 v0.2 2024-01-13 23:40:08 +08:00
Tomas Rezucha
6f053704dc Merge branch 'feature/usb_device_examples_p4_prep' into 'master'
USB Device examples: prerequisite and refactoring for esp32p4

See merge request espressif/esp-idf!28339
2024-01-13 02:21:45 +08:00
Alexey Lapshin
0ce3de700b Merge branch 'feature/tools_fix_arm64_arm32_detection' into 'master'
fix(idf_tools): Fix platform detection - arm64 hardware but it's running in arm32 environment

See merge request espressif/esp-idf!27987
2024-01-12 23:07:16 +08:00
Roland Dobai
e8509bc929 Merge branch 'feature/python-reorder-imports-instead-isort' into 'master'
feat: Use python-reorder-imports instead of isort

Closes IDF-4311

See merge request espressif/esp-idf!28438
2024-01-12 21:48:11 +08:00
Jan Beran
fa857bc9c3 feat: Use python-reorder-imports instead of isort 2024-01-12 21:43:52 +08:00
Anton Maklakov
c2d6a9e700 fix(idf_tools): Fix platform detection for arm64 machine but arm32 environment 2024-01-12 17:35:37 +04:00
Harshit Malpani
18947904bc docs: Add documentation for idf.py read-otadata 2024-01-12 18:58:14 +05:30
Roman Leonov
da8c926e9d feat(usb/device): Add esp32p4 prerequisites to examples 2024-01-12 13:04:38 +01:00
Fu Hanxi
5a17bf83ff Merge branch 'ci/fix_get_binaries_from_pipeline_via_build_report' into 'master'
ci: fix get binaries from pipeline via the build report

See merge request espressif/esp-idf!28432
2024-01-12 17:25:04 +08:00
Armando (Dou Yiwen)
312a8d38f0 Merge branch 'ci/enable_p4_psram_test' into 'master'
psram: enable psram ci test on p4

See merge request espressif/esp-idf!28411
2024-01-12 17:21:20 +08:00
Fu Hanxi
055f943028 ci: always upload junit report 2024-01-12 09:15:48 +01:00
Chen Yu Dong
024bce27ad Merge branch 'ci/optimize_protocol_examples_build_rules' into 'master'
CI: add dependencies to protocol exampels

See merge request espressif/esp-idf!28155
2024-01-12 16:05:24 +08:00
Fu Hanxi
19efb30536 ci: print report url
master/release pipelines does not have a mr comment, print it here
2024-01-12 08:57:26 +01:00
Fu Hanxi
25e3e3b384 docs: update pipeline_id description 2024-01-12 08:52:55 +01:00
Fu Hanxi
edf735a458 ci: fix get binaries from pipeline via the build report
should extract to IDF_PATH, not the current workdir
2024-01-12 08:43:20 +01:00
nilesh.kale
50ca5227fa fix: renamed partool.py -> parttool.py 2024-01-12 11:15:38 +05:30
Marius Vikhammer
13dd2c9aae Merge branch 'contrib/github_pr_12785' into 'master'
Provide ulp_adc_deinit() API to fix ADC1 handle leakage (GitHub PR)

Closes IDFGH-11673

See merge request espressif/esp-idf!27916
2024-01-12 12:03:52 +08:00
morris
39a994e352 Merge branch 'contrib/github_pr_12963' into 'master'
fix misformatted link (GitHub PR)

Closes IDFGH-11877

See merge request espressif/esp-idf!28428
2024-01-12 11:04:09 +08:00
Wan Lei
88abff03f7 Merge branch 'fix/i2c_test_app_change_gpio' into 'master'
fix(i2c): test app change gpio

See merge request espressif/esp-idf!28425
2024-01-12 10:46:37 +08:00
Armando
96f1853cd0 ci(psram): added esp_psram test dependency 2024-01-12 10:33:38 +08:00
Armando
2a8459b059 ci(psram): enable psram test on p4 2024-01-12 10:33:24 +08:00
Chen Yudong
b4d7879d0b ci: add dependencies to protocol exampels 2024-01-11 23:23:51 +08:00
Fu Hanxi
58fb179845 Merge branch 'ci/update_requirements_txt' into 'master'
ci: update idf-build-apps in requirement txt files

See merge request espressif/esp-idf!28416
2024-01-11 23:19:11 +08:00
Gabor Kiss-Vamosi
d30b78aea7 fix misformatted link 2024-01-11 15:19:14 +01:00
wanlei
b1c2482592 fix(i2c): test app change gpio 2024-01-11 21:44:30 +08:00
Fu Hanxi
f0209338de ci: update idf-build-apps in requirement txt files 2024-01-11 12:57:23 +01:00
morris
32397228d2 Merge branch 'test/enable_pcnt_ci_tests' into 'master'
change(pcnt): reenable the target test for esp32p4

Closes IDF-8965

See merge request espressif/esp-idf!28370
2024-01-11 18:13:21 +08:00
Lou Tian Hao
8bcac0bd7a Merge branch 'change/support_test_io_wakeup' into 'master'
change(pm): change test_io_wakeup

See merge request espressif/esp-idf!28368
2024-01-11 16:53:09 +08:00
Fu Hanxi
72a1f68e76 Merge branch 'ci/fix_build_clang_test' into 'master'
Ci/fix build clang test

See merge request espressif/esp-idf!28397
2024-01-11 16:34:41 +08:00
Kapil Gupta
685fcf4278 Merge branch 'feature/supplicant_bss_extmem' into 'master'
WiFi: Add support to move supplicant BSS to external memory

See merge request espressif/esp-idf!27891
2024-01-11 15:55:14 +08:00
Sudeep Mohanty
236498b040 feat(partition_table): Allow configuration of absolute path for custom partitions.csv file
This commit allows the configuration of an absolute path for the custom
partitions.csv file via the Kconfig option CONFIG_PARTITION_TABLE_CUSTOM_FILENAME.

Closes https://github.com/espressif/esp-idf/issues/12264
2024-01-11 08:37:02 +01:00
Fu Hanxi
a5ece00737 ci: make build_child_pipeline optionally need fast_template_app 2024-01-11 07:21:50 +01:00
Fu Hanxi
dc426ecebd ci: fix MR_MODIFIED_COMPONENTS missing doublequotes for empty string 2024-01-11 07:21:50 +01:00
Jiang Jiang Jian
2eacbbe957 Merge branch 'bugfix/add_authmode_wpa_wpa2_wpa3_psk' into 'master'
esp_wifi: Handle case when AP advertises WPA, WPA2 and WPA3 securities simultaneously and other bugfixes

Closes IDFGH-11372

See merge request espressif/esp-idf!27220
2024-01-11 13:41:20 +08:00
Armando (Dou Yiwen)
44a1a62214 Merge branch 'feature/psram_200mhz_support' into 'master'
psram: 200mhz psram support

Closes IDF-7517

See merge request espressif/esp-idf!28089
2024-01-11 13:19:45 +08:00
Fu Hanxi
37a4c2ea01 Merge branch 'ci/nested_dynamic_pipeline' into 'master'
CI: Dynamic Pipeline!!!

Closes IDFCI-1211, IDFCI-1729, IDF-8500, IDF-8456, IDFCI-1828, RDT-610, and RDT-615

See merge request espressif/esp-idf!26662
2024-01-11 13:08:28 +08:00
Marius Vikhammer
bb6bb82350 fix(esp_rom): fixed float to int conversion functions not working on P4 2024-01-11 12:15:40 +08:00
Lou Tianhao
19f2149390 change(pm): change test_io_wakeup 2024-01-11 11:07:16 +08:00
Jakob Hasse
6031b35803 fix(console): Made setting command context less error-prone and clearer 2024-01-11 10:53:43 +08:00
Li Shuai
28835624d9 fix(example): fixed app partition is too small for binary size 2024-01-11 10:42:38 +08:00
Sarvesh Bodakhe
615d928aa5 fix(esp_wifi): Add support for WPA3 + WPA3_EXT_PSK mixed mode and minor bugfixes
- Add support for WPA3 + WPA3_EXT_PSK mixed mode
- Improvements in scan and connect path as per specifications along with
  minor bugfixes
- When AP advertises all PSK modes (WPA, WPA2 and WPA3), make sure that
  station treats it as WPA2_WPA3_PSK mixed mode.

Closes https://github.com/espressif/esp-idf/issues/12517
2024-01-11 10:42:38 +08:00
Marius Vikhammer
f4532db8a2 Merge branch 'bugfix/remove_o0_bootloader' into 'master'
fix(build): remove CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE option from c6, h2 and p4

See merge request espressif/esp-idf!28371
2024-01-11 10:02:23 +08:00
Tomas Rezucha
260a2c7562 Merge branch 'fix/usb_cache_sync' into 'master'
fix(usb/host): Sync cache for memory shared by CPU and USB-OTG

Closes IDF-9012

See merge request espressif/esp-idf!28255
2024-01-11 00:15:23 +08:00
morris
16049ab6ad change(pcnt): reenable the target test for esp32p4
by changing the GPIO assignment
2024-01-10 23:03:40 +08:00
Fu Hanxi
fba96d58c2 ci: dynamic pipeline
build:
- upgrade idf-build-apps to 2.x
- unify get_pytest_apps and get_cmake_apps to get_all_apps
	- returns (test_apps, non_test_apps) tuple
- add tests for the new get_all_apps

assign:
- generate build report
- generate target test pipeline based on the build report

target test:
- download artifacts from minio server
- users can use `pytest --pipeline-id xxxxx` to download and flash
the binaries from the artifacts

.post:
- generate target test reports
2024-01-10 15:37:34 +01:00
Fu Hanxi
a98923bc85 test: temp disable ip101 test cases 2024-01-10 15:37:34 +01:00
Fu Hanxi
c1301c6145 build: bypass build issues 2024-01-10 15:34:50 +01:00
Fu Hanxi
3f03e56bb8 ci: add --keep-going to build all test apps in build_template_app job 2024-01-10 15:34:50 +01:00
Fu Hanxi
fa34008c61 docs(pytest): improve docs, add new features and changes 2024-01-10 15:31:22 +01:00
Fu Hanxi
114af706bb ci(wifi): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:31:21 +01:00
Fu Hanxi
bb375ee79a ci(ethernet): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:31:11 +01:00
Fu Hanxi
83d4e8c6ab ci(flash_encryption_wifi_high_traffic): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:30:53 +01:00
Fu Hanxi
6f6092ed8d ci(sdio): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:30:52 +01:00
Fu Hanxi
d44f236f7b ci(usb): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:44 +01:00
Fu Hanxi
ed1c892a8a ci(adc): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:44 +01:00
Fu Hanxi
9a9b1cd11f ci(ecdsa): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:43 +01:00
Fu Hanxi
7138b977f8 ci(nvs_encr_hmac): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:43 +01:00
Fu Hanxi
3645c041e2 ci(flash_multi): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:43 +01:00
Fu Hanxi
b6a93bf81e ci(i154): migrate from .gitlab/ci/rules.yml to .build-test-rules.yml 2024-01-10 15:29:42 +01:00
Fu Hanxi
06af021c9f ci(pytest): stop ambiguous markers for multi-dut test case
also add `tools/ci/idf_pytest/tests` for testing
2024-01-10 15:29:42 +01:00
Fu Hanxi
b709c880dd ci: add linter for gitlab yaml files
- remove duplicated artifacts default values
- migrate check_artifacts_expire_time.py
- migrate check_rules_yml.py
2024-01-10 15:29:42 +01:00
Fu Hanxi
96aeead6f5 ci: fix ttfw type hint 2024-01-10 15:29:38 +01:00
Tomas Rezucha
ec004c788b fix(usb/host): Sync cache for memory shared by CPU and USB-OTG
Transfer descriptor list, frame list and transfer data buffers
are accessed by both CPU and USB-OTG. Sync CPU cache between the accesses.
2024-01-10 15:23:24 +01:00
Adam Múdry
4c239a9db6 fix: i2c_eeprom_init use after free when error 2024-01-10 14:53:34 +01:00
Fu Hanxi
1c314f3084 Merge branch 'ci/temp_disable_jobs' into 'master'
ci: remove ip101 jobs and twai_std jobs

See merge request espressif/esp-idf!28375
2024-01-10 21:10:20 +08:00
Erhan Kurubas
f5934dea31 Merge branch 'feature/esp32p4_coredump_support' into 'master'
feat(coredump): add esp32p4 chip support and doc update

Closes IDF-6521 and IDF-7756

See merge request espressif/esp-idf!28226
2024-01-10 20:07:29 +08:00
morris
ead6f7ce0c Merge branch 'feature/bytes_encoder_config_update' into 'master'
feat(rmt): support update bytes encoder configurations at runtime

Closes IDFGH-11662

See merge request espressif/esp-idf!27976
2024-01-10 18:19:43 +08:00
Fu Hanxi
7962746c65 ci: remove ip101 jobs and twai_std jobs 2024-01-10 10:10:53 +01:00
morris
5eed8e0fda feat(rmt): support update bytes encoder configurations at runtime
Closes https://github.com/espressif/esp-idf/issues/12775
2024-01-10 15:34:27 +08:00
Anton Maklakov
42a8eddaaf Merge branch 'feature/idf_tools_fix_err_handling' into 'master'
tools: fix error handling on export

See merge request espressif/esp-idf!27754
2024-01-10 14:55:38 +08:00
Marius Vikhammer
760d711491 fix(build): remove CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE option from c6, h2 and p4
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE doesnt really have many use cases, but it will
force us to keep increasing bootloader segment sizes just to allow for building this options.

Deprecate this config for new chips.
2024-01-10 12:03:37 +08:00
Armando
13167d8479 change(flash): rename spi_timing_is_tuned to spi_flash_timing_is_tuned 2024-01-10 11:52:28 +08:00
Armando
80e18811db feat(psram): support 200mhz psram, experimental feature for now 2024-01-10 11:52:28 +08:00
Jiang Jiang Jian
8d85c08c40 Merge branch 'fix/esp32h2_phy_sleep_wakeup_issue' into 'master'
fix(esp_phy): fix esp32h2 sleep wakeup issue

See merge request espressif/esp-idf!28298
2024-01-10 11:44:31 +08:00
C.S.M
83571fc6a0 Merge branch 'fix/tsens_issues' into 'master'
fix(tsens): 300us delay in phy cause extra power consumption, fix length of soc_caps

See merge request espressif/esp-idf!28360
2024-01-10 10:42:49 +08:00
Cao Sen Miao
bc1478f0b0 fix(tsens): 300us delay in phy cause extra power consumption 2024-01-10 09:46:02 +08:00
morris
ad7b34f258 Merge branch 'test/dw_gdma_psram2sram_memset' into 'master'
test(dw_gdma): add a case to test memset from psram to sram

See merge request espressif/esp-idf!28120
2024-01-09 19:25:23 +08:00
Kevin (Lao Kaiyao)
1e6a76419b Merge branch 'feature/support_hello_world_on_esp32c5' into 'master'
feat(esp32c5): support hello world on esp32c5 beta3 (stage 8/8)

See merge request espressif/esp-idf!27870
2024-01-09 18:41:43 +08:00
Abhik Roy
515ca77e89 Merge branch 'lwip/static_ip6_public' into 'master'
feat(esp_netif): Added code to expose api to add and remove ipv6 address

See merge request espressif/esp-idf!27800
2024-01-09 18:00:48 +08:00
Abhik Roy
325a8d7a6e feat(esp_netif): Added code to expose api to add and remove ipv6 address 2024-01-09 18:00:47 +08:00
Wang Meng Yang
8a76b2e2ec Merge branch 'bugfix/update_spp_doc' into 'master'
docs(bt/bluedroid): update API documents of SPP

Closes BT-3568

See merge request espressif/esp-idf!28111
2024-01-09 15:29:11 +08:00
Wan Lei
85bdf22973 Merge branch 'refactor/spi_hal_iram_rm_dma_ll' into 'master'
refactor(spi): replace dma_ll related in spi hal by using gdma driver (part2)

See merge request espressif/esp-idf!27238
2024-01-09 15:13:12 +08:00
Kevin (Lao Kaiyao)
e87f7990b8 Merge branch 'feature/support_to_get_dma_buffer_size' into 'master'
feat(i2s): support to get total dma buffer size

Closes IDF-9005

See merge request espressif/esp-idf!28345
2024-01-09 14:56:36 +08:00
Fu Hanxi
230243328c Merge branch 'ci/fix_code_quality_report' into 'master'
CI: fix code quality report

Closes IDFCI-1905

See merge request espressif/esp-idf!27988
2024-01-09 14:45:37 +08:00
InfiniteYuan
993882d1d9 feat: ble mesh: improve ble mesh deinit when nimble enable 2024-01-09 14:16:31 +08:00
Marius Vikhammer
f762d81232 Merge branch 'bugfix/bootloader_o0' into 'master'
fix(bootloader): increased iram section length on C6/H2

Closes IDF-8933

See merge request espressif/esp-idf!28184
2024-01-09 14:15:16 +08:00
InfiniteYuan
59a9e8cc7b ble_mesh: update ble mesh ble adv type 2024-01-09 14:05:29 +08:00
laokaiyao
d0a8f3e5c4 feat(esp32c5): support esptool on esp32c5 beta3 2024-01-09 13:11:11 +08:00
laokaiyao
3d459e423a feat(esp32c5): support esp32c5 beta3 48M xtal 2024-01-09 13:11:11 +08:00
laokaiyao
96a4ead083 feat(esp32c5): support to run hello world on esp32c5 beta3 2024-01-09 13:11:11 +08:00
laokaiyao
11e19f40b9 feat(esp32c5): support to build hello world on esp32c5 beta3 2024-01-09 13:11:11 +08:00
Harshit Malpani
e0fdae294b Merge branch 'feat/update_cjson_v1_7_17' into 'master'
feat(cJSON): update submodule to v1.7.17

See merge request espressif/esp-idf!28330
2024-01-09 13:08:30 +08:00
Aditya Patwardhan
f468742d25 Merge branch 'fix/typo_in_key_mgr_hal_layer' into 'master'
fix(hal): Fix typo in hal layer for Key Manger

See merge request espressif/esp-idf!27832
2024-01-09 12:59:22 +08:00
laokaiyao
f254698166 feat(i2s): support to get total dma buffer size 2024-01-09 11:02:37 +08:00
morris
002467d0f6 fix(dw_gdma): free the interrupt handle when deleting the channel 2024-01-09 10:20:24 +08:00
morris
467dce2ffc change(dw_gdma): add a case to test memset from psram to sram 2024-01-09 10:20:24 +08:00
morris
28db901d77 fix(mcp): align the descriptor to cache line size for DMA memory copy 2024-01-09 10:12:36 +08:00
Marius Vikhammer
a04847f77e Merge branch 'bugfix/efuse_rom_control' into 'master'
fix(startup): fixed failing to boot if rom log ctrl efuse was burned

Closes IDFGH-11799

See merge request espressif/esp-idf!28221
2024-01-09 09:47:47 +08:00
Rahul Tank
2b0bcbc545 fix(nimble): Remove unwanted task lock check when HS_DEBUG is enabled 2024-01-08 19:34:17 +05:30
Fu Hanxi
c633ba167d ci: fix code_quality_check 2024-01-08 10:13:08 +01:00
Harshit Malpani
43235e57f9 feat(cjson): update submodule to v1.7.17
Changelog: https://github.com/DaveGamble/cJSON/releases/tag/v1.7.17
2024-01-08 13:14:13 +05:30
Aditya Patwardhan
c0ea892aa5 fix(hal): Fix typo in hal layer for Key Manger
This also fixes type in attribute added in esp_attr
2024-01-08 10:32:41 +05:30
xiaqilin
3b2cbe4363 fix(sleep): fix the issue of asymmetry in suspend/resume cache when skipping sleep. 2024-01-05 19:18:43 +08:00
xiaqilin
e571a37a3c fix(esp_phy): fix esp32h2 sleep wakeup issue 2024-01-05 16:26:52 +08:00
Jin Cheng
057eb7061d feat(bt/bluedroid): Added an event to notify the encryption mode to applicaiton layer 2024-01-05 09:40:38 +08:00
linruihao
cfbd316b77 fix(ble): fixed interrupt timeout in MAC_BB_PD callback 2024-01-04 19:18:58 +08:00
Omar Chebib
9a6791b79d docs(soc): add a few details in the intr_alloc documentation for the ESP32-P4 2024-01-04 11:21:56 +08:00
Marius Vikhammer
c05b6533ce change(ulp): added test for ulp adc init/deinit 2024-01-04 10:55:25 +08:00
Erhan Kurubas
c3916927c9 feat(esp-coredump): add esp32p4 chip support and doc update 2024-01-03 12:05:34 +01:00
Marius Vikhammer
53682edd6d fix(startup): fixed failing to boot if rom log ctrl efuse was burned
Closes https://github.com/espressif/esp-idf/issues/12894
2024-01-03 16:03:58 +08:00
Jin Cheng
6ee9b95960 feat(bt/bluedroid): Added report for the type of link key in ESP_BT_GAP_AUTH_CMPL_EVT 2023-12-29 16:22:04 +08:00
Marius Vikhammer
b958ac700f fix(bootloader): increased iram section length on C6/H2
Bootloader would fail to link if compiled with -O0
2023-12-29 11:36:57 +08:00
wanlei
2baee4fb0f refactor(spi_master): replace dma_ll in spi hal layer (part 2.1) 2023-12-28 19:58:54 +08:00
Anton Maklakov
a3d47a5ba8 feat(tools): error handling, stop if the binary cannot be executed 2023-12-26 15:46:04 +07:00
Jin Cheng
42f19d657a docs(bt/bluedroid): update API documents of SPP 2023-12-26 09:13:20 +08:00
Guillaume Souchere
8f407949c6 docs(esp-event): Update description of esp_event_handler_instance_x
Add a note to esp_event_handler_instance_register_with and
esp_event_handler_instance_register to specify that calling those
functions with the instance parameter set to NULL is equivalent to
calling esp_event_handler_register_with and esp_event_handler_register.

Closes https://github.com/espressif/esp-idf/issues/12818
2023-12-21 13:35:42 +01:00
xiongweichao
71442ef6de fix(bt/bluedroid): Fixed SPP connection failure
The connection failure is caused by the BTU and application layer status being out of sync.
2023-12-21 17:42:26 +08:00
sparker
da9ad7da9d fix(wifi/example): Fix dpp example init error
Set wifi mode before calling esp_supp_dpp_init.

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

Signed-off-by: Shreyas Sheth <shreyas.sheth@espressif.com>
2023-12-18 19:18:58 +08:00
Kapil Gupta
36c38943c8 fix(wifi): Add support to move supplicant BSS to external memory 2023-12-13 16:07:13 +00:00
paul
8596d46774 fix(ulp_adc): Provide ulp_adc_deinit() API to fix ADC1 handle leakage 2023-12-12 23:55:03 +03:00
liqigan
f188f857e2 docs(bt/bluedroid): Update migration docs for new version of API for Bluedroid host stack initialization 2023-12-12 15:36:49 +08:00
chenjianhua
5c2c0884fe fix(bt/example): Fixed UART HCI when flow control is off on ESP32C3 2023-12-06 15:37:04 +08:00
4772 changed files with 448717 additions and 70475 deletions

4
.codespellrc Normal file
View File

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

41
.gitignore vendored
View File

@@ -24,18 +24,6 @@ GPATH
# cache dir
.cache/
# Components Unit Test Apps files
components/**/build/
components/**/build_*_*/
components/**/sdkconfig
components/**/sdkconfig.old
# Example project files
examples/**/build/
examples/**/build_esp*_*/
examples/**/sdkconfig
examples/**/sdkconfig.old
# Doc build artifacts
docs/_build/
docs/doxygen_sqlite3.db
@@ -44,16 +32,23 @@ docs/doxygen_sqlite3.db
docs/_static/DejaVuSans.ttf
docs/_static/NotoSansSC-Regular.otf
# Components Unit Test Apps files
components/**/build/
components/**/build_*_*/
components/**/sdkconfig
components/**/sdkconfig.old
# Example project files
examples/**/build/
examples/**/build_*_*/
examples/**/sdkconfig
examples/**/sdkconfig.old
# Unit test app files
tools/unit-test-app/sdkconfig
tools/unit-test-app/sdkconfig.old
tools/unit-test-app/build
tools/unit-test-app/build_*_*/
tools/unit-test-app/output
tools/unit-test-app/test_configs
# Unit Test CMake compile log folder
log_ut_cmake
tools/unit-test-app/sdkconfig
tools/unit-test-app/sdkconfig.old
# test application build files
tools/test_apps/**/build/
@@ -61,7 +56,8 @@ tools/test_apps/**/build_*_*/
tools/test_apps/**/sdkconfig
tools/test_apps/**/sdkconfig.old
TEST_LOGS
TEST_LOGS/
build_summary_*.xml
# gcov coverage reports
*.gcda
@@ -101,8 +97,9 @@ managed_components
# pytest log
pytest_embedded_log/
list_job_*.txt
size_info.txt
list_job*.txt
size_info*.txt
XUNIT_RESULT*.xml
# clang config (for LSP)
.clangd

View File

@@ -24,9 +24,10 @@ include:
- '.gitlab/ci/upload_cache.yml'
- '.gitlab/ci/docs.yml'
- '.gitlab/ci/static-code-analysis.yml'
- '.gitlab/ci/pre_commit.yml'
- '.gitlab/ci/pre_check.yml'
- '.gitlab/ci/build.yml'
- '.gitlab/ci/integration_test.yml'
- '.gitlab/ci/host-test.yml'
- '.gitlab/ci/target-test.yml'
- '.gitlab/ci/deploy.yml'
- '.gitlab/ci/test-win.yml'

View File

@@ -47,6 +47,7 @@
* @esp-idf-codeowners/other
/.* @esp-idf-codeowners/tools
/.codespellrc @esp-idf-codeowners/ci
/.github/workflows/ @esp-idf-codeowners/ci
/.gitlab-ci.yml @esp-idf-codeowners/ci
/.gitlab/ci/ @esp-idf-codeowners/ci
@@ -95,6 +96,7 @@
/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_hw_support/lowpower/ @esp-idf-codeowners/power-management
/components/esp_lcd/ @esp-idf-codeowners/peripherals
/components/esp_local_ctrl/ @esp-idf-codeowners/app-utilities
/components/esp_mm/ @esp-idf-codeowners/peripherals
@@ -109,11 +111,12 @@
/components/esp_system/ @esp-idf-codeowners/system
/components/esp_timer/ @esp-idf-codeowners/system
/components/esp-tls/ @esp-idf-codeowners/app-utilities
/components/esp_vfs_*/ @esp-idf-codeowners/storage
/components/esp_vfs_console/ @esp-idf-codeowners/storage @esp-idf-codeowners/system
/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
@@ -152,6 +155,7 @@
/components/xtensa/ @esp-idf-codeowners/system
/docs/ @esp-idf-codeowners/docs
/docs/**/api-guides/tools/ @esp-idf-codeowners/tools
/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

View File

@@ -1,7 +1,7 @@
.build_template:
stage: build
extends:
- .after_script:build:ccache
- .after_script:build:ccache:upload-when-fail
image: $ESP_ENV_IMAGE
tags:
- build
@@ -32,8 +32,8 @@
# keep the size info to help track the binary size
- size_info.txt
- "**/build*/size.json"
expire_in: 1 week
when: always
expire_in: 4 days
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
@@ -45,8 +45,8 @@
examples/bluetooth/esp_ble_mesh/ble_mesh_console
examples/bluetooth/hci/controller_hci_uart_esp32
examples/wifi/iperf
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
# for detailed documents, please refer to .gitlab/ci/README.md#uploaddownload-artifacts-to-internal-minio-server
- python tools/ci/artifacts_handler.py upload
@@ -64,307 +64,14 @@
--copy-sdkconfig
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
$TEST_BUILD_OPTS_EXTRA
- python tools/ci/artifacts_handler.py upload
.build_pytest_template:
extends:
- .build_cmake_template
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
-m \"not host_test\"
--pytest-apps
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
.build_pytest_no_jtag_template:
extends:
- .build_cmake_template
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
-m \"not host_test and not jtag\"
--pytest-apps
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
.build_pytest_jtag_template:
extends:
- .build_cmake_template
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $TEST_DIR -v
-t $IDF_TARGET
-m \"not host_test and jtag\"
--pytest-apps
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
build_pytest_examples_esp32:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32
parallel: 6
variables:
IDF_TARGET: esp32
TEST_DIR: examples
build_pytest_examples_esp32s2:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32s2
parallel: 3
variables:
IDF_TARGET: esp32s2
TEST_DIR: examples
build_pytest_examples_esp32s3:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32s3
parallel: 4
variables:
IDF_TARGET: esp32s3
TEST_DIR: examples
build_pytest_examples_esp32c3:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32c3
parallel: 4
variables:
IDF_TARGET: esp32c3
TEST_DIR: examples
build_pytest_examples_esp32c2:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32c2
parallel: 2
variables:
IDF_TARGET: esp32c2
TEST_DIR: examples
build_pytest_examples_esp32c6:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32c6
parallel: 2
variables:
IDF_TARGET: esp32c6
TEST_DIR: examples
build_pytest_examples_esp32h2:
extends:
- .build_pytest_no_jtag_template
- .rules:build:example_test-esp32h2
parallel: 2
variables:
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
- .rules:build:example_test
variables:
IDF_TARGET: all
TEST_DIR: examples
build_pytest_components_esp32:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32
parallel: 5
variables:
IDF_TARGET: esp32
TEST_DIR: components
build_pytest_components_esp32s2:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32s2
parallel: 4
variables:
IDF_TARGET: esp32s2
TEST_DIR: components
build_pytest_components_esp32s3:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32s3
parallel: 4
variables:
IDF_TARGET: esp32s3
TEST_DIR: components
build_pytest_components_esp32c3:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32c3
parallel: 4
variables:
IDF_TARGET: esp32c3
TEST_DIR: components
build_pytest_components_esp32c2:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32c2
parallel: 3
variables:
IDF_TARGET: esp32c2
TEST_DIR: components
build_pytest_components_esp32c6:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32c6
parallel: 3
variables:
IDF_TARGET: esp32c6
TEST_DIR: components
build_pytest_components_esp32h2:
extends:
- .build_pytest_template
- .rules:build:component_ut-esp32h2
parallel: 4
variables:
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
- .rules:build:component_ut
parallel: 5
script:
- set_component_ut_vars
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py $COMPONENT_UT_DIRS -v
-t all
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
build_pytest_test_apps_esp32:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32
variables:
IDF_TARGET: esp32
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32s2:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32s2
variables:
IDF_TARGET: esp32s2
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32s3:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32s3
parallel: 2
variables:
IDF_TARGET: esp32s3
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32c3:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32c3
variables:
IDF_TARGET: esp32c3
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32c2:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32c2
variables:
IDF_TARGET: esp32c2
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32c6:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32c6
variables:
IDF_TARGET: esp32c6
TEST_DIR: tools/test_apps
build_pytest_test_apps_esp32h2:
extends:
- .build_pytest_template
- .rules:build:custom_test-esp32h2
variables:
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
- .rules:build:custom_test
parallel: 9
script:
# CI specific options start from "--parallel-count xxx". could ignore when running locally
- run_cmd python tools/ci/ci_build_apps.py tools/test_apps -v
-t all
--parallel-count ${CI_NODE_TOTAL:-1}
--parallel-index ${CI_NODE_INDEX:-1}
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- python tools/ci/artifacts_handler.py upload
######################
# build_template_app #
######################
.build_template_app_template:
extends:
- .build_template
@@ -376,12 +83,12 @@ build_only_tools_test_apps:
BUILD_LOG_CMAKE: "${LOG_PATH}/cmake_@t_@w.txt"
BUILD_COMMAND_ARGS: ""
artifacts:
when: always
paths:
- log_template_app/*
- size_info.txt
- build_template_app/**/size.json
expire_in: 1 week
when: always
script:
# Set the variable for 'esp-idf-template' testing
- ESP_IDF_TEMPLATE_GIT=${ESP_IDF_TEMPLATE_GIT:-"https://github.com/espressif/esp-idf-template.git"}
@@ -400,100 +107,32 @@ fast_template_app:
- .build_template_app_template
- .rules:build:target_test
stage: pre_check
tags: [fast_run, shiny]
variables:
BUILD_COMMAND_ARGS: "-p"
#------------------------------------------------------------------------------
build_examples_cmake_esp32:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32
parallel: 8
variables:
IDF_TARGET: esp32
TEST_DIR: examples
build_examples_cmake_esp32s2:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32s2
parallel: 7
variables:
IDF_TARGET: esp32s2
TEST_DIR: examples
build_examples_cmake_esp32s3:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32s3
parallel: 11
variables:
IDF_TARGET: esp32s3
TEST_DIR: examples
build_examples_cmake_esp32c2:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32c2
parallel: 7
variables:
IDF_TARGET: esp32c2
TEST_DIR: examples
build_examples_cmake_esp32c3:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32c3
parallel: 9
variables:
IDF_TARGET: esp32c3
TEST_DIR: examples
build_examples_cmake_esp32c6:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32c6
parallel: 11
variables:
IDF_TARGET: esp32c6
TEST_DIR: examples
build_examples_cmake_esp32h2:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32h2
parallel: 9
variables:
IDF_TARGET: esp32h2
TEST_DIR: examples
build_examples_cmake_esp32p4:
extends:
- .build_cmake_template
- .rules:build:example_test-esp32p4
parallel: 4
variables:
IDF_TARGET: esp32p4
TEST_DIR: examples
########################################
# Clang Build Apps Without Tests Cases #
########################################
build_clang_test_apps_esp32:
extends:
- .build_cmake_clang_template
- .rules:build:custom_test-esp32
- .rules:build
variables:
IDF_TARGET: esp32
build_clang_test_apps_esp32s2:
extends:
- .build_cmake_clang_template
- .rules:build:custom_test-esp32s2
- .rules:build
variables:
IDF_TARGET: esp32s2
build_clang_test_apps_esp32s3:
extends:
- .build_cmake_clang_template
- .rules:build:custom_test-esp32s3
- .rules:build
variables:
IDF_TARGET: esp32s3
@@ -510,54 +149,58 @@ build_clang_test_apps_esp32s3:
build_clang_test_apps_esp32c3:
extends:
- .build_clang_test_apps_riscv
- .rules:build:custom_test-esp32c3
- .rules:build
variables:
IDF_TARGET: esp32c3
build_clang_test_apps_esp32c2:
extends:
- .build_clang_test_apps_riscv
- .rules:build:custom_test-esp32c2
- .rules:build
variables:
IDF_TARGET: esp32c2
build_clang_test_apps_esp32c6:
extends:
- .build_clang_test_apps_riscv
- .rules:build:custom_test-esp32c6
- .rules:build
# TODO: c6 builds fail in master due to missing headers
allow_failure: true
variables:
IDF_TARGET: esp32c6
######################
# Build System Tests #
######################
.test_build_system_template:
stage: host_test
extends:
- .build_template
- .rules:build:check
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
artifacts: false
optional: true
artifacts:
reports:
junit: XUNIT_RESULT.xml
paths:
- XUNIT_RESULT.xml
- test_build_system
expire_in: 1 week
when: always
script:
- ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
- cd ${IDF_PATH}/tools/test_build_system
- retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
- python ${IDF_PATH}/tools/ci/get_known_failure_cases_file.py
- pytest --parallel-count ${CI_NODE_TOTAL:-1} --parallel-index ${CI_NODE_INDEX:-1}
--work-dir ${CI_PROJECT_DIR}/test_build_system --junitxml=${CI_PROJECT_DIR}/XUNIT_RESULT.xml
--ignore-result-files known_failure_cases/known_failure_cases.txt
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
pytest_build_system:
extends: .test_build_system_template
parallel: 3
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
when: always
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
pytest_build_system_macos:
extends:
@@ -567,46 +210,7 @@ pytest_build_system_macos:
tags:
- macos_shell
parallel: 3
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
when: always
expire_in: 2 days
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
allow_failure: true # IDFCI-2107
build_docker:
extends:
@@ -638,6 +242,51 @@ build_template_app:
- .build_template_app_template
- .rules:build
stage: host_test
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- job: fast_template_app
artifacts: false
####################
# Dynamic Pipeline #
####################
generate_build_child_pipeline:
extends:
- .build_template
tags: [fast_run, shiny]
dependencies: # set dependencies to null to avoid missing artifacts issue
needs:
- pipeline_variables
- check_test_cases_env_markers_and_required_runners
artifacts:
paths:
- build_child_pipeline.yml
- test_related_apps.txt
- non_test_related_apps.txt
expire_in: 1 week
when: always
script:
- run_cmd python tools/ci/dynamic_pipelines/scripts/generate_build_child_pipeline.py
build_child_pipeline:
stage: build
needs:
- job: fast_template_app
optional: true
artifacts: false
- pipeline_variables
- generate_build_child_pipeline
variables:
IS_MR_PIPELINE: $IS_MR_PIPELINE
MR_MODIFIED_COMPONENTS: $MR_MODIFIED_COMPONENTS
MR_MODIFIED_FILES: $MR_MODIFIED_FILES
PARENT_PIPELINE_ID: $CI_PIPELINE_ID
BUILD_AND_TEST_ALL_APPS: $BUILD_AND_TEST_ALL_APPS
# https://gitlab.com/gitlab-org/gitlab/-/issues/214340
inherit:
variables: false
trigger:
include:
- artifact: build_child_pipeline.yml
job: generate_build_child_pipeline
strategy: depend

View File

@@ -20,8 +20,14 @@ variables:
MAKEFLAGS: "-j5 --no-keep-going"
# GitLab-CI environment
# now we have pack-objects cache, so clone strategy is faster than fetch
# Thanks to pack-objects cache, clone strategy should behave faster than fetch
# so we pick "clone" as default git strategy
# Shiny runners by default remove the CI_PROJECT_DIR every time at the beginning of one job
# and clone with a --depth=1
# Brew runners will fetch from locally mirror first, and cache the local CI_PROJECT_DIR
# In conclusion
# - set GIT_STRATEGY: "clone" to shiny runners
# - set GIT_STRATEGY: "fetch" to brew runners
GIT_STRATEGY: clone
# we will download archive for each submodule instead of clone.
# we don't do "recursive" when fetch submodule as they're not used in CI now.
@@ -78,13 +84,25 @@ variables:
# This is used only if CI_PYTHON_TOOL_REPO is not empty.
CI_PYTHON_TOOL_BRANCH: ""
# Set this variable to specify the file name for the known failure cases.
KNOWN_FAILURE_CASES_FILE_NAME: "master.txt"
IDF_CI_BUILD: 1
# ccache settings
# some settings need to set in .gitlab-ci.yml as it takes effect while start-up the job
# https://ccache.dev/manual/latest.html#_configuring_ccache
# host mapping volume to share ccache between runner concurrent jobs
CCACHE_DIR: "/cache/idf_ccache"
CCACHE_MAXSIZE: "50G"
################################################
# `before_script` and `after_script` Templates #
################################################
.common_before_scripts: &common-before_scripts |
source tools/ci/utils.sh
is_based_on_commits $REQUIRED_ANCESTOR_COMMITS
if [[ -n "$IDF_DONT_USE_MIRRORS" ]]; then
@@ -177,7 +195,7 @@ variables:
.show_ccache_statistics: &show_ccache_statistics |
# Show ccache statistics if enabled globally
test "$CI_CCACHE_STATS" == 1 && test -n "$(which ccache)" && ccache --show-stats || true
test "$CI_CCACHE_STATS" == 1 && test -n "$(which ccache)" && ccache --show-stats -vv || true
.upload_failed_job_log_artifacts: &upload_failed_job_log_artifacts |
if [ $CI_JOB_STATUS = "failed" ]; then
@@ -208,6 +226,10 @@ variables:
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS}
.after_script:build:ccache:
after_script:
- *show_ccache_statistics
.after_script:build:ccache:upload-when-fail:
after_script:
- *show_ccache_statistics
- *upload_failed_job_log_artifacts
@@ -291,22 +313,6 @@ variables:
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
# git describe requires commit history until the latest tag
.before_script:fetch:git_describe:
variables:
GIT_STRAEGY: none
before_script:
- *git_init
- *git_fetch_from_mirror_url_if_exists
- |
git fetch origin refs/tags/"${LATEST_GIT_TAG}":refs/tags/"${LATEST_GIT_TAG}" --depth=1
git repack -d
git fetch origin $CI_COMMIT_SHA --shallow-since=$(git log -1 --format=%as "${LATEST_GIT_TAG}")
- *git_checkout_fetch_head
- *common-before_scripts
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
# target test runners may locate in different places
# for runners set git mirror, we fetch from the mirror first, then fetch the HEAD commit
.before_script:fetch:target_test:
@@ -346,6 +352,12 @@ default:
- *setup_tools_and_idf_python_venv
- add_gitlab_ssh_keys
- fetch_submodules
# gitlab bug, setting them here doesn't work
# - expire_in: https://gitlab.com/gitlab-org/gitlab/-/issues/404563
# - when: https://gitlab.com/gitlab-org/gitlab/-/issues/440672
# artifacts:
# expire_in: 1 week
# when: always
retry:
max: 2
when:

View File

@@ -7,10 +7,12 @@
#
# This file should ONLY be used during bringup. Should be reset to empty after the bringup process
extra_default_build_targets:
- esp32p4
- esp32p4
- esp32c5
# bypass_check_test_targets:
# - esp32p4
bypass_check_test_targets:
- esp32c5
- esp32c61
#
# 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

@@ -5,6 +5,7 @@
- esp32c3
- esp32c2
- esp32c6
- esp32c5
- esp32h2
- esp32p4
@@ -65,104 +66,6 @@
included_in:
- build:check
# ---------------
# Build Test Jobs
# ---------------
"build:{0}-{1}":
matrix:
- *target_test
- *all_targets
labels:
- build
patterns:
- build_components
- build_system
- build_target_test
- downloadable-tools
included_in:
- "build:{0}"
- build:target_test
####################
# Target Test Jobs #
####################
"test:{0}-{1}":
matrix:
- *target_test
- *all_targets
labels: # For each rule, use labels <test_type> and <test_type>-<target>
- "{0}"
- "{0}_{1}"
- target_test
patterns: # For each rule, use patterns <test_type> and build-<test_type>
- "{0}"
- "build-{0}"
included_in: # Parent rules
- "build:{0}"
- "build:{0}-{1}"
- build:target_test
# -------------
# Special Cases
# -------------
# To reduce the specific runners' usage.
# Do not create these jobs by default patterns on development branches
# Can be triggered by labels or related changes
"test:{0}-{1}-{2}":
matrix:
- *target_test
- *all_targets
- - wifi # pytest*wifi*
- ethernet # pytest*ethernet*
- sdio # pytest*sdio*
- usb # USB Device & Host tests
- adc # pytest*adc*
- i154
- flash_multi
- ecdsa
- nvs_encr_hmac
patterns:
- "{0}-{1}-{2}"
- "{0}-{2}"
- "target_test-{2}"
labels:
- "{0}_{1}"
- "{0}"
- target_test
included_in:
- "build:{0}-{1}"
- "build:{0}"
- build:target_test
# For example_test*flash_encryption_wifi_high_traffic jobs
# set `INCLUDE_NIGHTLY_RUN` variable when triggered on development branches
"test:example_test-{0}-include_nightly_run-rule":
matrix:
- - esp32
- esp32c3
specific_rules:
- "if-example_test-ota-include_nightly_run-rule"
included_in:
- "build:example_test-{0}"
- "build:example_test"
- build:target_test
# For i154 runners
"test:example_test-i154":
patterns:
- "example_test-i154"
- "target_test-i154"
labels:
- target_test
- example_test
included_in:
- "build:example_test-esp32s3"
- "build:example_test-esp32c6"
- "build:example_test-esp32h2"
- "build:example_test"
- build:target_test
"test:host_test":
labels:
- host_test

View File

@@ -96,6 +96,9 @@ check_docs_lang_sync:
- 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
artifacts:
expire_in: 4 days
when: always
parallel:
matrix:
- DOCLANG: ["en", "zh_CN"]
@@ -121,11 +124,9 @@ build_docs_html_full:
artifacts: false
optional: true
artifacts:
when: always
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/html/*
expire_in: 4 days
variables:
DOC_BUILDERS: "html"
@@ -135,11 +136,9 @@ build_docs_html_full_prod:
- .doc-rules:build:docs-full-prod
dependencies: [] # Stop build_docs jobs from downloading all previous job's artifacts
artifacts:
when: always
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/html/*
expire_in: 4 days
variables:
DOC_BUILDERS: "html"
@@ -152,11 +151,9 @@ build_docs_html_partial:
artifacts: false
optional: true
artifacts:
when: always
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/html/*
expire_in: 4 days
variables:
DOC_BUILDERS: "html"
parallel:
@@ -175,10 +172,8 @@ build_docs_pdf:
artifacts: false
optional: true
artifacts:
when: always
paths:
- docs/_build/*/*/latex/*
expire_in: 4 days
variables:
DOC_BUILDERS: "latex"
@@ -188,10 +183,8 @@ build_docs_pdf_prod:
- .doc-rules:build:docs-full-prod
dependencies: [] # Stop build_docs jobs from downloading all previous job's artifacts
artifacts:
when: always
paths:
- docs/_build/*/*/latex/*
expire_in: 4 days
variables:
DOC_BUILDERS: "latex"
@@ -266,11 +259,9 @@ check_doc_links:
artifacts: false
tags: ["build", "amd64", "internet"]
artifacts:
when: always
paths:
- docs/_build/*/*/*.txt
- docs/_build/*/*/linkcheck/*.txt
expire_in: 1 week
allow_failure: true
script:
- cd docs

View File

@@ -14,6 +14,25 @@
optional: true
artifacts: false
- pipeline_variables
artifacts:
expire_in: 1 week
when: always
check_public_headers:
extends:
- .host_test_template
- .rules:build:check
script:
- IDF_TARGET=esp32 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32-elf-
- IDF_TARGET=esp32s2 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s2-elf-
- IDF_TARGET=esp32s3 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s3-elf-
- IDF_TARGET=esp32c3 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c6 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c5 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32p4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c61 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
test_nvs_on_host:
extends: .host_test_template
@@ -28,7 +47,6 @@ test_nvs_coverage:
artifacts:
paths:
- components/nvs_flash/test_nvs_host/coverage_report
expire_in: 1 week
script:
- cd components/nvs_flash/test_nvs_host
- make coverage_report
@@ -65,7 +83,6 @@ test_reproducible_build:
- "**/build*/*.bin"
- "**/build*/bootloader/*.bin"
- "**/build*/partition_table/*.bin"
expire_in: 1 week
test_spiffs_on_host:
extends: .host_test_template
@@ -110,17 +127,19 @@ test_cli_installer:
paths:
- tools/tools.new.json
- tools/test_idf_tools/test_python_env_logs.txt
expire_in: 1 week
image:
name: $ESP_ENV_IMAGE
entrypoint: [""] # use system python3. no extra pip package installed
script:
# Tools must be downloaded for testing
# We could use "idf_tools.py download all", but we don't want to install clang because of its huge size
- python3 ${IDF_PATH}/tools/idf_tools.py download required qemu-riscv32 qemu-xtensa
- cd ${IDF_PATH}/tools/test_idf_tools
- python3 -m pip install jsonschema
- python3 ./test_idf_tools.py -v
- python3 ./test_idf_tools_python_env.py
# It runs at the end because it modifies dependencies
- IDF_TEST_MAY_BREAK_DEPENDENCIES=1 python3 ./test_idf_tools.py -v TestSystemDependencies.test_commands_when_nodeps
.test_efuse_table_on_host_template:
extends: .host_test_template
@@ -130,7 +149,6 @@ test_cli_installer:
when: on_failure
paths:
- components/efuse/${IDF_TARGET}/esp_efuse_table.c
expire_in: 1 week
script:
- cd ${IDF_PATH}/components/efuse/
- ./efuse_table_gen.py -t "${IDF_TARGET}" ${IDF_PATH}/components/efuse/${IDF_TARGET}/esp_efuse_table.csv
@@ -173,7 +191,6 @@ test_logtrace_proc:
paths:
- tools/esp_app_trace/test/logtrace/output
- tools/esp_app_trace/test/logtrace/.coverage
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/esp_app_trace/test/logtrace
- ./test.sh
@@ -185,7 +202,6 @@ test_sysviewtrace_proc:
paths:
- tools/esp_app_trace/test/sysview/output
- tools/esp_app_trace/test/sysview/.coverage
expire_in: 1 week
script:
- cd ${IDF_PATH}/tools/esp_app_trace/test/sysview
- ./test.sh
@@ -194,13 +210,11 @@ test_tools:
extends:
- .host_test_template
artifacts:
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
@@ -280,13 +294,11 @@ test_pytest_qemu:
- .host_test_template
- .before_script:build
artifacts:
when: always
paths:
- XUNIT_RESULT.xml
- pytest_embedded_log/
reports:
junit: XUNIT_RESULT.xml
expire_in: 1 week
allow_failure: true # IDFCI-1752
parallel:
matrix:
@@ -299,15 +311,15 @@ test_pytest_qemu:
--pytest-apps
-m qemu
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target $IDF_TARGET
-m qemu
--embedded-services idf,qemu
--junitxml=XUNIT_RESULT.xml
--ignore-result-files known_failure_cases/known_failure_cases.txt
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
--qemu-extra-args \"-global driver=timer.$IDF_TARGET.timg,property=wdt_disable,value=true\"
@@ -316,26 +328,37 @@ test_pytest_linux:
- .host_test_template
- .before_script:build
artifacts:
when: always
paths:
- XUNIT_RESULT.xml
- pytest_embedded_log/
- "**/build*/build_log.txt"
reports:
junit: XUNIT_RESULT.xml
expire_in: 1 week
script:
- run_cmd python tools/ci/ci_build_apps.py components examples tools/test_apps -vv
--target linux
--pytest-apps
-m host_test
--collect-app-info "list_job_${CI_JOB_NAME_SLUG}.txt"
--modified-components ${MODIFIED_COMPONENTS}
--modified-files ${MODIFIED_FILES}
- retry_failed git clone $KNOWN_FAILURE_CASES_REPO known_failure_cases
--modified-components ${MR_MODIFIED_COMPONENTS}
--modified-files ${MR_MODIFIED_FILES}
- python tools/ci/get_known_failure_cases_file.py
- run_cmd pytest
--target linux
-m host_test
--junitxml=XUNIT_RESULT.xml
--ignore-result-files known_failure_cases/known_failure_cases.txt
--ignore-result-files ${KNOWN_FAILURE_CASES_FILE_NAME}
--app-info-filepattern \"list_job_*.txt\"
test_idf_pytest_plugin:
extends:
- .host_test_template
- .rules:patterns:idf-pytest-plugin
variables:
SUBMODULES_TO_FETCH: "none"
artifacts:
reports:
junit: XUNIT_RESULT.xml
script:
- cd tools/ci/idf_pytest
- pytest --junitxml=${CI_PROJECT_DIR}/XUNIT_RESULT.xml

View File

@@ -34,8 +34,7 @@ gen_integration_pipeline:
image: ${CI_INTEGRATION_ASSIGN_ENV}
stage: assign_test
cache: []
tags:
- assign_test
tags: [fast_run, shiny]
variables:
SUBMODULES_TO_FETCH: "none"
GIT_LFS_SKIP_SMUDGE: 1
@@ -47,6 +46,7 @@ gen_integration_pipeline:
paths:
- idf-integration-ci/child_pipeline/
expire_in: 2 weeks
when: always
script:
- add_gitlab_ssh_keys
- retry_failed git clone ${CI_GEN_INTEGRATION_PIPELINE_REPO} idf-integration-ci

View File

@@ -3,19 +3,7 @@
image: $ESP_ENV_IMAGE
tags:
- host_test
dependencies: []
check_pre_commit:
extends:
- .pre_check_template
- .before_script:minimal
image: $PRE_COMMIT_IMAGE
needs:
- pipeline_variables
script:
- fetch_submodules
- pre-commit run --files $MODIFIED_FILES
- pre-commit run --hook-stage post-commit validate-sbom-manifest
dependencies: # set dependencies to null to avoid missing artifacts issue
check_version:
# Don't run this for feature/bugfix branches, so that it is possible to modify
@@ -23,7 +11,13 @@ check_version:
extends:
- .pre_check_template
- .rules:protected
- .before_script:fetch:git_describe
tags: [ brew, github_sync ]
variables:
# need a full clone to get the latest tag
# the --shallow-since=$(git log -1 --format=%as $LATEST_GIT_TAG) option is not accurate
GIT_STRATEGY: fetch
SUBMODULES_TO_FETCH: "none"
GIT_DEPTH: 0
script:
- export IDF_PATH=$PWD
- tools/ci/check_idf_version.sh
@@ -31,7 +25,8 @@ check_version:
check_api_usage:
extends: .pre_check_template
script:
- tools/ci/check_examples_rom_header.sh
- python -m pip install ast-grep-cli # use ast-grep to describe customized lint rules
- ast-grep scan
- tools/ci/check_api_violation.sh
- tools/ci/check_examples_extra_component_dirs.sh
@@ -60,20 +55,6 @@ check_blobs:
# Check if Wi-Fi, PHY, BT blobs contain references to specific symbols
- bash $IDF_PATH/tools/ci/check_blobs.sh
check_public_headers:
extends:
- .pre_check_template
- .rules:build:check
script:
- IDF_TARGET=esp32 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32-elf-
- IDF_TARGET=esp32s2 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s2-elf-
- IDF_TARGET=esp32s3 python tools/ci/check_public_headers.py --jobs 4 --prefix xtensa-esp32s3-elf-
- IDF_TARGET=esp32c3 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32c6 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32h2 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
- IDF_TARGET=esp32p4 python tools/ci/check_public_headers.py --jobs 4 --prefix riscv32-esp-elf-
check_chip_support_components:
extends:
- .pre_check_template
@@ -86,7 +67,7 @@ check_chip_support_components:
expire_in: 1 week
script:
- python tools/ci/check_soc_headers_leak.py
- find ${IDF_PATH}/components/soc/*/include/soc/ -name "*_struct.h" -print0 | xargs -0 -n1 ./tools/ci/check_soc_struct_headers.py
- find ${IDF_PATH}/components/soc/**/include/soc/ -name "*_struct.h" -print0 | xargs -0 -n1 ./tools/ci/check_soc_struct_headers.py
- tools/ci/check_esp_memory_utils_headers.sh
check_esp_err_to_name:
@@ -117,16 +98,16 @@ check_version_tag:
extends:
- .pre_check_template
- .rules:tag:release
- .before_script:fetch:git_describe
tags: [ brew, github_sync ]
variables:
# need a full clone to get the latest tag
# the --shallow-since=$(git log -1 --format=%as $LATEST_GIT_TAG) option is not accurate
GIT_STRATEGY: fetch
SUBMODULES_TO_FETCH: "none"
GIT_DEPTH: 0
script:
- (git cat-file -t $CI_COMMIT_REF_NAME | grep tag) || (echo "ESP-IDF versions must be annotated tags." && exit 1)
check_artifacts_expire_time:
extends: .pre_check_template
script:
# check if we have set expire time for all artifacts
- python tools/ci/check_artifacts_expire_time.py
check_test_scripts_build_test_rules:
extends:
- .pre_check_template
@@ -149,19 +130,46 @@ pipeline_variables:
extends:
- .pre_check_template
- .before_script:fetch:git_diff
tags:
- build
tags: [fast_run, shiny]
script:
- MODIFIED_FILES=$(echo $GIT_DIFF_OUTPUT | xargs)
# MODIFIED_FILES is a list of files that changed, could be used everywhere
- 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
# MR_MODIFIED_FILES and MR_MODIFIED_COMPONENTS are semicolon separated lists that is used in MR only
# for non MR pipeline, these are empty lists
- |
if [ $IS_MR_PIPELINE == "0" ]; then
echo "MR_MODIFIED_FILES=\"\"" >> pipeline.env
echo "MR_MODIFIED_COMPONENTS=\"\"" >> pipeline.env
else
MR_MODIFIED_FILES=$(echo "$GIT_DIFF_OUTPUT" | tr '\n' ';')
echo "MR_MODIFIED_FILES=\"$MR_MODIFIED_FILES\"" >> pipeline.env
MR_MODIFIED_COMPONENTS=$(run_cmd python tools/ci/ci_get_mr_info.py components --modified-files $MODIFIED_FILES | tr '\n' ';')
echo "MR_MODIFIED_COMPONENTS=\"$MR_MODIFIED_COMPONENTS\"" >> pipeline.env
fi
- |
if echo "$CI_MERGE_REQUEST_LABELS" | egrep "(^|,)BUILD_AND_TEST_ALL_APPS(,|$)"; then
echo "BUILD_AND_TEST_ALL_APPS=1" >> pipeline.env
fi
# run full pipeline if testing constraint branch
- |
if [ -n "$CI_PYTHON_CONSTRAINT_BRANCH" ]; then
echo "BUILD_AND_TEST_ALL_APPS=1" >> pipeline.env
fi
- cat pipeline.env
- python tools/ci/artifacts_handler.py upload --type modified_files_and_components_report
artifacts:
reports:
dotenv: pipeline.env
expire_in: 4 days
paths:
- pipeline.env
expire_in: 1 week
when: always
check_test_cases_env_markers_and_required_runners:
extends:
- .pre_check_template
tags: [fast_run, shiny]
script:
- python tools/ci/dynamic_pipelines/scripts/generate_target_test_child_pipeline.py --check

47
.gitlab/ci/pre_commit.yml Normal file
View File

@@ -0,0 +1,47 @@
.check_pre_commit_template:
extends:
- .before_script:minimal
stage: pre_check
image: $PRE_COMMIT_IMAGE
tags: [cache, shiny]
needs:
- pipeline_variables
variables:
# cache pre_commit
PRE_COMMIT_HOME: "$CI_PROJECT_DIR/.cache/pre-commit"
script:
- fetch_submodules
- pre-commit run --files $MODIFIED_FILES
- pre-commit run --hook-stage post-commit validate-sbom-manifest
check_pre_commit_upload_cache:
extends:
- .check_pre_commit_template
rules:
- if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/) && $CI_PIPELINE_SOURCE == "push"'
cache:
- key: pre_commit-cache-${LATEST_GIT_TAG}
paths:
- .cache/pre-commit
policy: pull-push
- key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: pull
check_pre_commit:
extends:
- .check_pre_commit_template
rules:
- if: '($CI_COMMIT_REF_NAME == "master" || $CI_COMMIT_BRANCH =~ /^release\/v/) && $CI_PIPELINE_SOURCE == "push"'
when: never
- when: on_success
cache:
- key: pre_commit-cache-${LATEST_GIT_TAG}
paths:
- .cache/pre-commit
policy: pull
- key: submodule-cache-${LATEST_GIT_TAG}
paths:
- .cache/submodule_archives
policy: pull

File diff suppressed because it is too large Load Diff

View File

@@ -6,8 +6,8 @@ clang_tidy_check:
artifacts:
paths:
- clang_tidy_reports/
expire_in: 1 week
when: always
expire_in: 1 day
variables:
IDF_TOOLCHAIN: clang
script:
@@ -23,14 +23,16 @@ check_pylint:
needs:
- pipeline_variables
artifacts:
when: always
reports:
codequality: pylint.json
paths:
- pylint.json
expire_in: 1 week
when: always
script:
- |
if [ -n "$CI_MERGE_REQUEST_IID" ]; then
export files=$(echo $GIT_DIFF_OUTPUT | grep ".py$" | xargs);
export files=$(echo "$GIT_DIFF_OUTPUT" | grep ".py$" | xargs);
else
export files=$(git ls-files "*.py" | xargs);
fi
@@ -53,8 +55,10 @@ check_pylint:
.sonar_scan_template:
stage: build
extends: .pre_check_template
image:
name: $SONARQUBE_SCANNER_IMAGE
# full clone since this image does not support fetch --shallow-since-cutoff
# shiny runners are used for full clone
tags: [build, shiny]
image: $SONARQUBE_SCANNER_IMAGE
before_script:
- source tools/ci/utils.sh
- export PYTHONPATH="$CI_PROJECT_DIR/tools:$CI_PROJECT_DIR/tools/ci/python_packages:$PYTHONPATH"
@@ -68,12 +72,12 @@ check_pylint:
- export SONAR_SCANNER_OPTS="-Xmx2048m"
variables:
GIT_DEPTH: 0
REPORT_PATTERN: clang_tidy_reports/*.txt
REPORT_PATTERN: clang_tidy_reports/**/*.txt
artifacts:
when: always
paths:
- $REPORT_PATTERN
expire_in: 1 week
when: always
dependencies: # Here is not a hard dependency relationship, could be skipped when only python files changed. so we do not use "needs" here.
- clang_tidy_check
@@ -81,7 +85,7 @@ code_quality_check:
extends:
- .sonar_scan_template
- .rules:patterns:static-code-analysis-preview
allow_failure: true # since now it's using exit code to indicate the code analysis result,
allow_failure: true # it's using exit code to indicate the code analysis result,
# we don't want to block ci when critical issues founded
script:
- export CI_MERGE_REQUEST_COMMITS=$(python ${CI_PROJECT_DIR}/tools/ci/ci_get_mr_info.py commits --src-branch ${CI_COMMIT_REF_NAME} | tr '\n' ',')
@@ -104,7 +108,7 @@ code_quality_report:
extends:
- .sonar_scan_template
- .rules:protected
allow_failure: true # since now it's using exit code to indicate the code analysis result,
allow_failure: true # it's using exit code to indicate the code analysis result,
# we don't want to block ci when critical issues founded
script:
- sonar-scanner

File diff suppressed because it is too large Load Diff

96
.gitlab/ci/test-win.yml Normal file
View File

@@ -0,0 +1,96 @@
# Host tests
.host_test_win_template:
extends: .rules:test:host_test
stage: host_test
image: $ESP_ENV_IMAGE
tags:
- windows-build
dependencies: # set dependencies to null to avoid missing artifacts issue
# run host_test jobs immediately, only after upload cache
needs:
- job: upload-pip-cache
optional: true
artifacts: false
- job: upload-submodules-cache
optional: true
artifacts: false
before_script: []
after_script: []
test_cli_installer_win:
extends:
- .host_test_win_template
- .rules:labels:windows_pytest_build_system
artifacts:
when: on_failure
paths:
- tools/tools.new.json
- tools/test_idf_tools/test_python_env_logs.txt
expire_in: 1 week
variables:
IDF_PATH: "$CI_PROJECT_DIR"
script:
# Tools must be downloaded for testing
- python ${IDF_PATH}\tools\idf_tools.py download required qemu-riscv32 qemu-xtensa
- cd ${IDF_PATH}\tools\test_idf_tools
- python -m pip install jsonschema
- python .\test_idf_tools.py
- python .\test_idf_tools_python_env.py
test_tools_win:
extends:
- .host_test_win_template
- .rules:labels:windows_pytest_build_system
artifacts:
paths:
- ${IDF_PATH}/*.out
- ${IDF_PATH}/XUNIT_*.xml
reports:
junit: ${IDF_PATH}/XUNIT_*.xml
expire_in: 1 week
when: always
variables:
LC_ALL: C.UTF-8
PYTHONPATH: "$PYTHONPATH;$IDF_PATH\\tools;$IDF_PATH\\tools\\esp_app_trace;$IDF_PATH\\components\\partition_table;$IDF_PATH\\tools\\ci\\python_packages"
script:
- python -m pip install jsonschema
- .\install.ps1 --enable-ci --enable-pytest
- .\export.ps1
- python "${SUBMODULE_FETCH_TOOL}" -s "all"
- cd ${IDF_PATH}/tools/test_idf_py
- pytest --noconftest test_idf_py.py --junitxml=${IDF_PATH}/XUNIT_IDF_PY.xml
- pytest --noconftest test_hints.py --junitxml=${IDF_PATH}/XUNIT_HINTS.xml
# Build tests
.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 --parallel-count ${CI_NODE_TOTAL} --parallel-index ${CI_NODE_INDEX} --junitxml=${CI_PROJECT_DIR}\XUNIT_RESULT.xml
pytest_build_system_win:
extends:
- .test_build_system_template_win
- .rules:labels:windows_pytest_build_system
parallel: 2
needs: []
tags:
- windows-build
artifacts:
paths:
- XUNIT_RESULT.xml
- test_build_system
expire_in: 2 days
reports:
junit: XUNIT_RESULT.xml
when: always

View File

@@ -10,8 +10,7 @@ _This entire section can be deleted if all items are checked._
* [ ] All related links, including JIRA, backport, submodule MR, are mentioned in the `Related` subsection.
* [ ] Any GitHub issues are linked inside the git commit message and corresponding release notes
* [ ] Add label for the area this MR is part of
* [ ] For documentation updates, check if label `Docs` and `needs translation:CN` or `needs translation:EN` have been added when the other language version still needs the update. Skip adding the label if the document is not yet translated.
* [ ] Check if documents requiring translation fall under get-started section. If yes, add the labels mentioned above. Then the documentation team will assign a translator for you. Please inform the translator to prepare translation once your MR is ready to merge. The translation should be included in your MR to get it merged. For more information, see documentation workflow in Wiki.
* [ ] For documentation updates, check if label `needs translation:CN` or `needs translation:EN` have been added when the other language version still needs the update. Don't add such labels if the document updated has never been translated before and requires translation from scratch.
* [ ] Any necessary "needs backport" labels are added
* [ ] Check if this is a breaking change. If it is, add notes to the `Breaking change notes` subsection below
* [ ] Release note entry if this is a new public feature, or a fix for an issue introduced in the previous release.

12
.gitmodules vendored
View File

@@ -49,12 +49,12 @@
[submodule "components/json/cJSON"]
path = components/json/cJSON
url = ../../DaveGamble/cJSON.git
sbom-version = 1.7.16
sbom-version = 1.7.17
sbom-cpe = cpe:2.3:a:cjson_project:cjson:{}:*:*:*:*:*:*:*
sbom-supplier = Person: Dave Gamble
sbom-url = https://github.com/DaveGamble/cJSON
sbom-description = Ultralightweight JSON parser in ANSI C
sbom-hash = cb8693b058ba302f4829ec6d03f609ac6f848546
sbom-hash = 87d8f0961a01bf09bef98ff89bae9fdec42181ee
[submodule "components/mbedtls/mbedtls"]
path = components/mbedtls/mbedtls
@@ -120,10 +120,6 @@
path = components/openthread/lib
url = ../../espressif/esp-thread-lib.git
[submodule "components/ieee802154/lib"]
path = components/ieee802154/lib
url = ../../espressif/esp-ieee802154-lib.git
[submodule "components/bt/controller/lib_esp32h2/esp32h2-bt-lib"]
path = components/bt/controller/lib_esp32h2/esp32h2-bt-lib
url = ../../espressif/esp32h2-bt-lib.git
@@ -136,6 +132,10 @@
path = components/bt/controller/lib_esp32c6/esp32c6-bt-lib
url = ../../espressif/esp32c6-bt-lib.git
[submodule "components/bt/controller/lib_esp32c5/esp32c5-bt-lib"]
path = components/bt/controller/lib_esp32c5/esp32c5-bt-lib
url = ../../espressif/esp32c5-bt-lib.git
[submodule "components/heap/tlsf"]
path = components/heap/tlsf
url = ../../espressif/tlsf.git

View File

@@ -5,7 +5,7 @@ default_stages: [commit]
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
rev: v4.5.0
hooks:
- id: trailing-whitespace
# note: whitespace exclusions use multiline regex, see https://pre-commit.com/#regular-expressions
@@ -22,7 +22,8 @@ repos:
.*_pb2.py|
.*.pb-c.h|
.*.pb-c.c|
.*.yuv
.*.yuv|
.*.rgb
)$
- id: end-of-file-fixer
exclude: *whitespace_excludes
@@ -41,15 +42,20 @@ repos:
hooks:
- id: flake8
args: ['--config=.flake8', '--tee', '--benchmark']
- repo: https://github.com/pycqa/isort
rev: 5.12.0 # python 3.8 compatible
- repo: https://github.com/asottile/reorder-python-imports
rev: v3.12.0
hooks:
- id: isort
name: isort (python)
- id: reorder-python-imports
name: Reorder Python imports
args: [--py38-plus]
exclude: >
(?x)^(
.*_pb2.py
)$
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
hooks:
- id: codespell
- repo: local
hooks:
- id: check-executables
@@ -64,13 +70,6 @@ repos:
language: python
pass_filenames: false
always_run: true
- id: check-kconfigs
name: Validate Kconfig files
entry: tools/ci/check_kconfigs.py
language: python
additional_dependencies:
- esp-idf-kconfig
files: '^Kconfig$|Kconfig.*$'
- id: check-deprecated-kconfigs-options
name: Check if any Kconfig Options Deprecated
entry: tools/ci/check_deprecated_kconfigs.py
@@ -91,20 +90,13 @@ repos:
always_run: true
files: '\.gitlab/CODEOWNERS'
pass_filenames: false
- id: check-rules-yml
name: Check rules.yml all rules have at lease one job applied, all rules needed exist
entry: tools/ci/check_rules_yml.py
language: python
files: '\.gitlab/ci/.+\.yml|\.gitlab-ci.yml|\.gitmodules'
pass_filenames: false
additional_dependencies:
- PyYAML == 5.3.1
- id: check-generated-rules
name: Check rules are generated (based on .gitlab/ci/dependencies/dependencies.yml)
entry: tools/ci/generate_rules.py
language: python
files: '\.gitlab/ci/dependencies/.+|\.gitlab/ci/.*\.yml'
files: '\.gitlab/ci/dependencies/.+|\.gitlab/ci/.*\.yml|.gitlab-ci.yml'
pass_filenames: false
require_serial: true
additional_dependencies:
- PyYAML == 5.3.1
- id: mypy-check
@@ -115,6 +107,7 @@ repos:
- 'mypy-extensions==0.4.3'
- 'types-setuptools==57.4.14'
- 'types-PyYAML==0.1.9'
- 'types-requests'
exclude: >
(?x)^(
.*_pb2.py
@@ -161,14 +154,20 @@ repos:
require_serial: true
additional_dependencies:
- PyYAML == 5.3.1
- idf_build_apps~=1.0
- id: sort-build-test-rules-ymls
name: sort .build-test-rules.yml files
entry: tools/ci/check_build_test_rules.py sort-yaml
- idf-build-apps~=2.0
- id: sort-yaml-files
name: sort yaml files
entry: tools/ci/sort_yaml.py
language: python
files: '\.build-test-rules\.yml'
files: '\.build-test-rules\.yml$|known_generate_test_child_pipeline_warnings\.yml$'
additional_dependencies:
- ruamel.yaml
- id: sort-yaml-test
name: sort yaml test
entry: python -m unittest tools/ci/sort_yaml.py
language: python
files: 'tools/ci/sort_yaml\.py$'
additional_dependencies:
- PyYAML == 5.3.1
- ruamel.yaml
- id: check-build-test-rules-path-exists
name: check path in .build-test-rules.yml exists
@@ -185,6 +184,14 @@ repos:
language: python
always_run: true
require_serial: true
- id: gitlab-yaml-linter
name: Check gitlab yaml files
entry: tools/ci/gitlab_yaml_linter.py
language: python
files: '\.gitlab-ci\.yml|\.gitlab/ci/.+\.yml|\.gitmodules'
pass_filenames: false
additional_dependencies:
- PyYAML == 5.3.1
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.0.1
hooks:
@@ -222,3 +229,13 @@ repos:
hooks:
- id: validate-sbom-manifest
stages: [post-commit]
- repo: https://github.com/sphinx-contrib/sphinx-lint
rev: v0.9.1
hooks:
- id: 'sphinx-lint'
name: Lint rST files in docs folder using Sphinx Lint
files: ^(docs/en|docs/zh_CN)/.*\.(rst|inc)$
- repo: https://github.com/espressif/esp-idf-kconfig.git
rev: v2.1.0
hooks:
- id: check-kconfig-files

View File

@@ -15,7 +15,7 @@ python:
install:
- requirements: docs/requirements.txt
# We need to list all the submodules included in documenation build by DOxygen
# We need to list all the submodules included in documenation build by Doxygen
submodules:
include:
- components/mqtt/esp-mqtt

View File

@@ -223,9 +223,9 @@ else()
endif()
# SMP FreeRTOS user provided minimal idle hook. This allows the user to provide
# their own copy of vApplicationMinimalIdleHook()
if(CONFIG_FREERTOS_USE_MINIMAL_IDLE_HOOK)
list(APPEND link_options "-Wl,--wrap=vApplicationMinimalIdleHook")
# their own copy of vApplicationPassiveIdleHook()
if(CONFIG_FREERTOS_USE_PASSIVE_IDLE_HOOK)
list(APPEND link_options "-Wl,--wrap=vApplicationPassiveIdleHook")
endif()
# Placing jump tables in flash would cause issues with code that required
@@ -245,15 +245,6 @@ if(COMPILER_RT_LIB_NAME)
list(APPEND link_options "-rtlib=${CONFIG_COMPILER_RT_LIB_NAME}")
endif()
# For the transition period from 32-bit time_t to 64-bit time_t,
# auto-detect the size of this type and set corresponding variable.
include(CheckTypeSize)
check_type_size("time_t" TIME_T_SIZE)
if(TIME_T_SIZE)
idf_build_set_property(TIME_T_SIZE ${TIME_T_SIZE})
else()
message(FATAL_ERROR "Failed to determine sizeof(time_t)")
endif()
idf_build_set_property(COMPILE_OPTIONS "${compile_options}" APPEND)
idf_build_set_property(C_COMPILE_OPTIONS "${c_compile_options}" APPEND)

View File

@@ -52,12 +52,12 @@ Supported since ESP-IDF v4.2.
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| 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 |
| 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 |
### ESP32-C3
@@ -69,16 +69,23 @@ Supported since ESP-IDF v4.3.
To be added.
#### v1.1
| Release branch | Recommended | Required |
|------------------------|-------------|----------|
| release/v4.2 | EOL | EOL |
| release/v4.3 | v4.3.7+ | v4.3.7 |
| release/v4.4 | v4.4.7+ | v4.4.7 |
| release/v5.0 | v5.0.5+ | v5.0.5 |
| release/v5.1 | v5.1.3+ | v5.1.3 |
| release/v5.2 and above | v5.2+ | v5.2 |
### ESP32-S3
#### v0.1
#### v0.1, v0.2
Supported since ESP-IDF v4.4.
#### v0.2
To be added.
### ESP32-C2 & ESP8684
#### v1.0
@@ -93,6 +100,17 @@ To be added.
To be added.
### ESP32-C6
#### v0.0, v0.1
Supported since ESP-IDF v5.1.
### ESP32-H2
#### v0.1, v0.2
Supported since ESP-IDF v5.1.
## What If the ESP-IDF Version Is Lower than the `Required` Version?

View File

@@ -50,14 +50,14 @@
#### v1.0
| 发布分支 | 推荐版本 | 需求版本 |
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| 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 |
| 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 |
### ESP32-C3
@@ -69,16 +69,23 @@
待更新。
#### v1.1
| 发布分支 | 推荐版本 | 需求版本 |
|------------------------|-------------|----------|
| release/v4.2 | EOL | EOL |
| release/v4.3 | v4.3.7+ | v4.3.7 |
| release/v4.4 | v4.4.7+ | v4.4.7 |
| release/v5.0 | v5.0.5+ | v5.0.5 |
| release/v5.1 | v5.1.3+ | v5.1.3 |
| release/v5.2 及以上 | v5.2+ | v5.2 |
### ESP32-S3
#### v0.1
#### v0.1, v0.2
从 ESP-IDF v4.4 开始支持。
#### v0.2
待更新。
### ESP32-C2 & ESP8684
#### v1.0
@@ -93,6 +100,18 @@
待更新。
### ESP32-C6
#### v0.0, v0.1
从 ESP-IDF v5.1 开始支持。
### ESP32-H2
#### v0.1, v0.2
从 ESP-IDF v5.1 开始支持。
## 如果 ESP-IDF 版本低于 `需求版本` 会出现什么情况?

36
Kconfig
View File

@@ -118,7 +118,28 @@ mainmenu "Espressif IoT Development Framework Configuration"
default "y" if IDF_TARGET="esp32c5"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_BRINGUP
# TODO: IDF-9197
choice IDF_TARGET_ESP32C5_VERSION
prompt "ESP32-C5 version"
depends on IDF_TARGET_ESP32C5
default IDF_TARGET_ESP32C5_MP_VERSION
help
ESP32-C5 will support two versions for a period.
This option is for internal use only.
Select the one that matches your chip model.
config IDF_TARGET_ESP32C5_BETA3_VERSION
bool
prompt "ESP32-C5 beta3"
select ESPTOOLPY_NO_STUB
config IDF_TARGET_ESP32C5_MP_VERSION
bool
prompt "ESP32-C5 MP"
select ESPTOOLPY_NO_STUB
select IDF_ENV_FPGA
endchoice
config IDF_TARGET_ESP32P4
bool
@@ -131,6 +152,13 @@ mainmenu "Espressif IoT Development Framework Configuration"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
config IDF_TARGET_ESP32C61
bool
default "y" if IDF_TARGET="esp32c61"
select FREERTOS_UNICORE
select IDF_TARGET_ARCH_RISCV
select IDF_ENV_FPGA
config IDF_TARGET_LINUX
bool
default "y" if IDF_TARGET="linux"
@@ -145,7 +173,9 @@ 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 0x0011 if IDF_TARGET_ESP32C5 && IDF_TARGET_ESP32C5_BETA3_VERSION # TODO: IDF-9197
default 0x0017 if IDF_TARGET_ESP32C5 && IDF_TARGET_ESP32C5_MP_VERSION # TODO: IDF-9197
default 0x0014 if IDF_TARGET_ESP32C61
default 0xFFFF
@@ -598,3 +628,5 @@ mainmenu "Espressif IoT Development Framework Configuration"
- CONFIG_SPIRAM_SPEED_120M && CONFIG_SPIRAM_MODE_OCT
- CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH
- CONFIG_MBEDTLS_USE_CRYPTO_ROM_IMPL
- CONFIG_ESP_WIFI_EAP_TLS1_3
- CONFIG_ESP_WIFI_ENABLE_ROAMING_APP

View File

@@ -15,16 +15,17 @@ ESP-IDF is the development framework for Espressif SoCs supported on Windows, Li
The following table shows ESP-IDF support of Espressif SoCs where ![alt text][preview] and ![alt text][supported] denote preview status and support, respectively. The preview support is usually limited in time and intended for beta versions of chips. Please use an ESP-IDF release where the desired SoC is already supported.
|Chip | v4.3 | v4.4 | v5.0 | v5.1 | v5.2 | |
|:----------- | :---------------------:| :---------------------:| :---------------------:| :--------------------: | :--------------------: | :----------------------------------------------------------|
|Chip | v4.4 | v5.0 | v5.1 | v5.2 | v5.3 | |
|:----------- | :---------------------:| :---------------------:| :--------------------: | :--------------------: | :--------------------: | :--------------------------------------------------------- |
|ESP32 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S2 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_S3) |
|ESP32-C2 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32-C2) |
|ESP32-C6 | | | | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_C6) |
|ESP32-H2 | | | | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_H2) |
|ESP32-P4 | | | | | ![alt text][preview] | [Announcement](https://www.espressif.com/en/news/ESP32-P4) |
|ESP32-S3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_S3) |
|ESP32-C2 | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32-C2) |
|ESP32-C6 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_C6) |
|ESP32-H2 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32_H2) |
|ESP32-P4 | | | | | ![alt text][supported] | [Announcement](https://www.espressif.com/en/news/ESP32-P4) |
|ESP32-C5 | | | | | ![alt text][preview] | [Announcement](https://www.espressif.com/en/news/ESP32-C5) |
[supported]: https://img.shields.io/badge/-supported-green "supported"
[preview]: https://img.shields.io/badge/-preview-orange "preview"

View File

@@ -15,16 +15,17 @@ ESP-IDF 是乐鑫官方推出的物联网开发框架,支持 Windows、Linux
下表总结了乐鑫芯片在 ESP-IDF 各版本中的支持状态,其中 ![alt text][supported] 代表已支持,![alt text][preview] 代表目前处于预览支持状态。预览支持状态通常有时间限制,而且仅适用于测试版芯片。请确保使用与芯片相匹配的 ESP-IDF 版本。
|芯片 | v4.3 | v4.4 | v5.0 | v5.1 | v5.2 | |
|:----------- | :---------------------:| :---------------------:| :---------------------:| :--------------------: | :--------------------: | :-------------------------------------------------------------- |
|芯片 | v4.4 | v5.0 | v5.1 | v5.2 | v5.3 | |
|:----------- | :---------------------:| :---------------------:| :--------------------: | :--------------------: | :--------------------: | :-------------------------------------------------------------- |
|ESP32 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S2 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-C3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | |
|ESP32-S3 | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_S3) |
|ESP32-C2 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C2) |
|ESP32-C6 | | | | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_C6) |
|ESP32-H2 | | | | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_H2) |
|ESP32-P4 | | | | | ![alt text][preview] | [芯片发布公告](https://www.espressif.com/en/news/ESP32-P4) |
|ESP32-S3 | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_S3) |
|ESP32-C2 | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C2) |
|ESP32-C6 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_C6) |
|ESP32-H2 | | | ![alt text][supported] | ![alt text][supported] | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32_H2) |
|ESP32-P4 | | | | | ![alt text][supported] | [芯片发布公告](https://www.espressif.com/en/news/ESP32-P4) |
|ESP32-C5 | | | | | ![alt text][preview] | [芯片发布公告](https://www.espressif.com/zh-hans/news/ESP32-C5) |
[supported]: https://img.shields.io/badge/-%E6%94%AF%E6%8C%81-green "supported"
[preview]: https://img.shields.io/badge/-%E9%A2%84%E8%A7%88-orange "preview"

View File

@@ -9,6 +9,11 @@ set(srcs
"app_trace_util.c"
"host_file_io.c")
if(CONFIG_ESP_DEBUG_STUBS_ENABLE)
list(APPEND srcs
"debug_stubs.c")
endif()
if(CONFIG_APPTRACE_GCOV_ENABLE)
if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
list(APPEND srcs

View File

@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
#include <string.h>
@@ -196,7 +196,7 @@ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *buf, uint32_t *size,
*size = 0;
uint8_t *ptr = ch->hw->get_down_buffer(ch->hw_data, &act_sz, &tmo);
if (ptr && act_sz > 0) {
ESP_APPTRACE_LOGD("Read %d bytes from host", act_sz);
ESP_APPTRACE_LOGD("Read %" PRIu32 " bytes from host", act_sz);
memcpy(buf, ptr, act_sz);
res = ch->hw->put_down_buffer(ch->hw_data, ptr, &tmo);
*size = act_sz;
@@ -329,7 +329,7 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
}
esp_apptrace_tmo_init(&tmo, user_tmo);
ESP_APPTRACE_LOGD("fmt %x", fmt);
ESP_APPTRACE_LOGD("fmt %p", fmt);
while ((p = (uint8_t *)strchr((char *)p, '%')) && nargs < ESP_APPTRACE_MAX_VPRINTF_ARGS) {
p++;
if (*p != '%' && *p != 0) {
@@ -355,7 +355,7 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
uint32_t arg = va_arg(ap, uint32_t);
*(uint32_t *)pout = arg;
pout += sizeof(uint32_t);
ESP_APPTRACE_LOGD("arg %x", arg);
ESP_APPTRACE_LOGD("arg %" PRIx32, arg);
}
int ret = ch->hw->put_up_buffer(ch->hw_data, p, &tmo);

View File

@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
#include <sys/param.h>
@@ -100,7 +100,7 @@ static esp_err_t esp_apptrace_membufs_swap(esp_apptrace_membufs_proto_data_t *pr
if (proto->hw->host_data_pending() && hdr->block_sz > 0) {
// TODO: add support for multiple blocks from host, currently there is no need for that
uint8_t *p = proto->blocks[new_block_num].start + proto->blocks[new_block_num].sz;
ESP_APPTRACE_LOGD("Recvd %d bytes from host (@ 0x%x) [%x %x %x %x %x %x %x %x .. %x %x %x %x %x %x %x %x]",
ESP_APPTRACE_LOGD("Recvd %" PRIu16 " bytes from host (@ %p) [%x %x %x %x %x %x %x %x .. %x %x %x %x %x %x %x %x]",
hdr->block_sz, proto->blocks[new_block_num].start,
*(proto->blocks[new_block_num].start+0), *(proto->blocks[new_block_num].start+1),
*(proto->blocks[new_block_num].start+2), *(proto->blocks[new_block_num].start+3),
@@ -109,7 +109,7 @@ static esp_err_t esp_apptrace_membufs_swap(esp_apptrace_membufs_proto_data_t *pr
*(p-8), *(p-7), *(p-6), *(p-5), *(p-4), *(p-3), *(p-2), *(p-1));
uint32_t sz = esp_apptrace_membufs_down_buffer_write_nolock(proto, (uint8_t *)(hdr+1), hdr->block_sz);
if (sz != hdr->block_sz) {
ESP_APPTRACE_LOGE("Failed to write %d bytes to down buffer (%d %d)!", hdr->block_sz - sz, hdr->block_sz, sz);
ESP_APPTRACE_LOGE("Failed to write %" PRIu32 " bytes to down buffer (%" PRIu16 " %" PRIu32 ")!", hdr->block_sz - sz, hdr->block_sz, sz);
}
hdr->block_sz = 0;
}
@@ -196,7 +196,7 @@ static uint32_t esp_apptrace_membufs_down_buffer_write_nolock(esp_apptrace_membu
uint32_t total_sz = 0;
while (total_sz < size) {
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock WRS %d-%d-%d %d", proto->rb_down.wr, proto->rb_down.rd,
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock WRS %" PRIu32 "-%" PRIu32 "-%" PRIu32 " %" PRIu32, proto->rb_down.wr, proto->rb_down.rd,
proto->rb_down.cur_size, size);
uint32_t wr_sz = esp_apptrace_rb_write_size_get(&proto->rb_down);
if (wr_sz == 0) {
@@ -206,15 +206,15 @@ static uint32_t esp_apptrace_membufs_down_buffer_write_nolock(esp_apptrace_membu
if (wr_sz > size - total_sz) {
wr_sz = size - total_sz;
}
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d", wr_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32, wr_sz);
uint8_t *ptr = esp_apptrace_rb_produce(&proto->rb_down, wr_sz);
if (!ptr) {
assert(false && "Failed to produce bytes to down buffer!");
}
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d to 0x%x from 0x%x", wr_sz, ptr, data + total_sz + wr_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32 " to %p from %p", wr_sz, ptr, data + total_sz + wr_sz);
memcpy(ptr, data + total_sz, wr_sz);
total_sz += wr_sz;
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %d/%d", wr_sz, total_sz);
ESP_APPTRACE_LOGD("esp_apptrace_trax_down_buffer_write_nolock wr %" PRIu32 "/%" PRIu32 "", wr_sz, total_sz);
}
return total_sz;
}
@@ -278,7 +278,7 @@ uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *p
uint8_t *buf_ptr = NULL;
if (size > ESP_APPTRACE_USR_DATA_LEN_MAX(proto)) {
ESP_APPTRACE_LOGE("Too large user data size %d!", size);
ESP_APPTRACE_LOGE("Too large user data size %" PRIu32 "!", size);
return NULL;
}
@@ -308,21 +308,21 @@ uint8_t *esp_apptrace_membufs_up_buffer_get(esp_apptrace_membufs_proto_data_t *p
#endif
if (ESP_APPTRACE_INBLOCK_MARKER(proto) + ESP_APPTRACE_USR_BLOCK_RAW_SZ(size) > ESP_APPTRACE_INBLOCK(proto)->sz) {
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
ESP_APPTRACE_LOGD("Block full. Get %d bytes from PEND buffer", size);
ESP_APPTRACE_LOGD("Block full. Get %" PRIu32 " bytes from PEND buffer", size);
buf_ptr = esp_apptrace_rb_produce(&proto->rb_pend, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
#endif
if (buf_ptr == NULL) {
int pended_buf;
ESP_APPTRACE_LOGD(" full. Get %d bytes from pend buffer", size);
ESP_APPTRACE_LOGD(" full. Get %" PRIu32 " bytes from pend buffer", size);
buf_ptr = esp_apptrace_membufs_wait4buf(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size), tmo, &pended_buf);
if (buf_ptr && !pended_buf) {
ESP_APPTRACE_LOGD("Got %d bytes from block", size);
ESP_APPTRACE_LOGD("Got %" PRIu32 " bytes from block", size);
// update cur block marker
ESP_APPTRACE_INBLOCK_MARKER_UPD(proto, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
}
}
} else {
ESP_APPTRACE_LOGD("Get %d bytes from buffer", size);
ESP_APPTRACE_LOGD("Get %" PRIu32 " bytes from buffer", size);
// fit to curr nlock
buf_ptr = ESP_APPTRACE_INBLOCK(proto)->start + ESP_APPTRACE_INBLOCK_MARKER(proto);
// update cur block marker
@@ -352,12 +352,12 @@ esp_err_t esp_apptrace_membufs_flush_nolock(esp_apptrace_membufs_proto_data_t *p
int res = ESP_OK;
if (ESP_APPTRACE_INBLOCK_MARKER(proto) < min_sz) {
ESP_APPTRACE_LOGI("Ignore flush request for min %d bytes. Bytes in block: %d.", min_sz, ESP_APPTRACE_INBLOCK_MARKER(proto));
ESP_APPTRACE_LOGI("Ignore flush request for min %" PRIu32 " bytes. Bytes in block: %" PRIu32, min_sz, ESP_APPTRACE_INBLOCK_MARKER(proto));
return ESP_OK;
}
// switch block while size of data (including that in pending buffer) is more than min size
while (ESP_APPTRACE_INBLOCK_MARKER(proto) > min_sz) {
ESP_APPTRACE_LOGD("Try to flush %d bytes. Wait until block switch for %lld us", ESP_APPTRACE_INBLOCK_MARKER(proto), tmo->tmo);
ESP_APPTRACE_LOGD("Try to flush %" PRIu32 " bytes. Wait until block switch for %" PRIi64 " us", ESP_APPTRACE_INBLOCK_MARKER(proto), tmo->tmo);
res = esp_apptrace_membufs_swap_waitus(proto, tmo);
if (res != ESP_OK) {
if (tmo->tmo != ESP_APPTRACE_TMO_INFINITE)

View File

@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
//
#include "freertos/FreeRTOS.h"

View File

@@ -8,7 +8,8 @@
// Currently one stub is used for GCOV functionality
//
#include "esp_private/dbg_stubs.h"
#include "esp_private/startup_internal.h"
#include "dbg_stubs.h"
#include "esp_attr.h"
/*
@@ -27,7 +28,7 @@ const static char *TAG = "esp_dbg_stubs";
#define ESP_DBG_STUBS_CODE_BUF_SIZE 32
#define ESP_DBG_STUBS_STACK_MIN_SIZE 2048
#define DBG_STUB_TRAMP_ATTR IRAM_ATTR
#define DBG_STUB_TRAMP_ATTR IRAM_ATTR
static struct {
uint32_t tramp_addr;
@@ -46,7 +47,7 @@ extern void esp_dbg_stubs_ll_init(void *stub_table_addr);
static void * esp_dbg_stubs_data_alloc(uint32_t size)
{
ESP_LOGV(TAG, "%s %"PRIu32, __func__, size);
void *p = malloc(size);
void *p = malloc(size);
ESP_LOGV(TAG, "%s EXIT %p", __func__, p);
return p;
}
@@ -92,3 +93,9 @@ esp_err_t esp_dbg_stub_entry_get(esp_dbg_stub_id_t id, uint32_t *entry)
return ESP_OK;
}
ESP_SYSTEM_INIT_FN(init_dbg_stubs, SECONDARY, BIT(0), 140)
{
esp_dbg_stubs_init();
return ESP_OK;
}

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -14,14 +14,10 @@
#include "soc/timer_periph.h"
#include "esp_app_trace.h"
#include "esp_freertos_hooks.h"
#include "esp_private/dbg_stubs.h"
#include "esp_ipc.h"
#include "dbg_stubs.h"
#include "esp_private/esp_ipc.h"
#include "esp_attr.h"
#include "hal/wdt_hal.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/libc_stubs.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/libc_stubs.h"
#endif
#if CONFIG_APPTRACE_GCOV_ENABLE
@@ -80,11 +76,11 @@ void gcov_create_task(void *arg)
(void *)&s_gcov_task_running, configMAX_PRIORITIES - 1, NULL, 0);
}
static IRAM_ATTR
void gcov_create_task_tick_hook(void)
{
extern esp_err_t esp_ipc_start_gcov_from_isr(uint32_t cpu_id, esp_ipc_func_t func, void* arg);
if (s_create_gcov_task) {
if (esp_ipc_start_gcov_from_isr(xPortGetCoreID(), &gcov_create_task, NULL) == ESP_OK) {
if (esp_ipc_call_nonblocking(xPortGetCoreID(), &gcov_create_task, NULL) == ESP_OK) {
s_create_gcov_task = false;
}
}
@@ -106,12 +102,16 @@ static int esp_dbg_stub_gcov_entry(void)
void gcov_rtio_init(void)
{
uint32_t capabilities = 0;
uint32_t stub_entry = 0;
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_GCOV, (uint32_t)&esp_dbg_stub_gcov_entry);
if (esp_dbg_stub_entry_get(ESP_DBG_STUB_ENTRY_CAPABILITIES, &capabilities) == ESP_OK) {
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_CAPABILITIES, capabilities | ESP_DBG_STUB_CAP_GCOV_TASK);
assert(esp_dbg_stub_entry_get(ESP_DBG_STUB_ENTRY_GCOV, &stub_entry) == ESP_OK);
if (stub_entry != 0) {
/* "__gcov_init()" can be called several times. We must avoid multiple tick hook registration */
return;
}
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_GCOV, (uint32_t)&esp_dbg_stub_gcov_entry);
assert(esp_dbg_stub_entry_get(ESP_DBG_STUB_ENTRY_CAPABILITIES, &stub_entry) == ESP_OK);
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_CAPABILITIES, stub_entry | ESP_DBG_STUB_CAP_GCOV_TASK);
esp_register_freertos_tick_hook(gcov_create_task_tick_hook);
}

View File

@@ -122,7 +122,7 @@ static esp_err_t esp_apptrace_file_rsp_recv(esp_apptrace_dest_t dest, uint8_t *b
ESP_EARLY_LOGE(TAG, "Failed to read (%d)!", ret);
return ret;
}
ESP_EARLY_LOGV(TAG, "%s read %d bytes", __FUNCTION__, rd_size);
ESP_EARLY_LOGV(TAG, "%s read %" PRIu32 " bytes", __FUNCTION__, rd_size);
tot_rd += rd_size;
}

View File

@@ -174,7 +174,7 @@ void esp_apptrace_log_unlock(void);
#define ESP_APPTRACE_LOG_LEV( _L_, level, format, ... ) \
do { \
if (LOG_LOCAL_LEVEL >= level) { \
ESP_APPTRACE_LOG(LOG_FORMAT(_L_, format), esp_log_early_timestamp(), TAG, ##__VA_ARGS__); \
ESP_APPTRACE_LOG(LOG_FORMAT(_L_, format), esp_log_early_timestamp(), TAG, LOG_ADDITIONAL_ARGS, ##__VA_ARGS__); \
} \
} while(0)

View File

@@ -1,9 +1,10 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
#include "sdkconfig.h"
#include "esp_cpu.h"
#include "esp_log.h"
#include "esp_app_trace_membufs_proto.h"
@@ -56,7 +57,7 @@ static bool esp_apptrace_riscv_host_data_pending(void);
const static char *TAG = "esp_apptrace";
static esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[portNUM_PROCESSORS];
static esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[CONFIG_FREERTOS_NUMBER_OF_CORES];
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
{
@@ -158,7 +159,7 @@ static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data)
ESP_APPTRACE_LOGI("Apptrace initialized on CPU%d. Tracing control block @ %p.", core_id, &s_tracing_ctrl[core_id]);
s_tracing_ctrl[core_id].mem_blocks = hw_data->membufs.blocks;
for (int i = 0; i < 2; i++) {
ESP_APPTRACE_LOGD("Mem buf[%d] %d bytes @ %p (%p/%p)", i,
ESP_APPTRACE_LOGD("Mem buf[%d] %" PRIu32 " bytes @ %p (%p/%p)", i,
s_tracing_ctrl[core_id].mem_blocks[i].sz, s_tracing_ctrl[core_id].mem_blocks[i].start,
&(s_tracing_ctrl[core_id].mem_blocks[i].start), &(s_tracing_ctrl[core_id].mem_blocks[i].sz));
}
@@ -324,7 +325,7 @@ static esp_err_t esp_apptrace_riscv_buffer_swap_start(uint32_t curr_block_id)
uint32_t acked_block = ESP_APPTRACE_RISCV_BLOCK_ID_GET(ctrl_reg);
uint32_t host_to_read = ESP_APPTRACE_RISCV_BLOCK_LEN_GET(ctrl_reg);
if (host_to_read != 0 || acked_block != (curr_block_id & ESP_APPTRACE_RISCV_BLOCK_ID_MSK)) {
ESP_APPTRACE_LOGD("[%d]: Can not switch %x %d %x %x/%lx", esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
ESP_APPTRACE_LOGD("[%d]: Can not switch %" PRIx32 " %" PRIu32 " %" PRIx32 " %" PRIx32 "/%" PRIx32, esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
curr_block_id & ESP_APPTRACE_RISCV_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;

View File

@@ -1,7 +1,7 @@
/*
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
* SPDX-License-Identifier: Apache-2.0 OR MIT
*/
//
@@ -288,7 +288,7 @@ static inline void esp_apptrace_trax_select_memory_block(int block_num)
: TRACEMEM_CORE0_MUX_BLK_BITS(TRACEMEM_MUX_BLK1_NUM);
block_bits |= block_num ? TRACEMEM_CORE1_MUX_BLK_BITS(TRACEMEM_MUX_BLK0_NUM)
: TRACEMEM_CORE1_MUX_BLK_BITS(TRACEMEM_MUX_BLK1_NUM);
ESP_EARLY_LOGV(TAG, "Select block %d @ %p (bits 0x%x)", block_num, s_trax_blocks[block_num], block_bits);
ESP_EARLY_LOGV(TAG, "Select block %d @ %p (bits 0x%" PRIx32 ")", block_num, s_trax_blocks[block_num], block_bits);
DPORT_WRITE_PERI_REG(SENSITIVE_INTERNAL_SRAM_USAGE_2_REG, block_bits);
#endif
}
@@ -498,7 +498,7 @@ static esp_err_t esp_apptrace_trax_buffer_swap_start(uint32_t curr_block_id)
uint32_t acked_block = ESP_APPTRACE_TRAX_BLOCK_ID_GET(ctrl_reg);
uint32_t host_to_read = ESP_APPTRACE_TRAX_BLOCK_LEN_GET(ctrl_reg);
if (host_to_read != 0 || acked_block != (curr_block_id & ESP_APPTRACE_TRAX_BLOCK_ID_MSK)) {
ESP_APPTRACE_LOGD("HC[%d]: Can not switch %x %d %x %x/%lx", esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
ESP_APPTRACE_LOGD("HC[%d]: Can not switch %" PRIx32 " %" PRIu32 " %" PRIx32 " %" PRIx32 "/%" PRIx32, esp_cpu_get_core_id(), ctrl_reg, host_to_read, acked_block,
curr_block_id & ESP_APPTRACE_TRAX_BLOCK_ID_MSK, curr_block_id);
res = ESP_ERR_NO_MEM;
goto _on_err;

View File

@@ -1,16 +1,9 @@
// Copyright 2017 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
/*
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef ESP_DBG_STUBS_H_
#define ESP_DBG_STUBS_H_
@@ -28,8 +21,8 @@ typedef enum {
ESP_DBG_STUB_TABLE_SIZE,
ESP_DBG_STUB_CONTROL_DATA, ///< stubs descriptor entry
ESP_DBG_STUB_ENTRY_FIRST,
ESP_DBG_STUB_ENTRY_GCOV ///< GCOV entry
= ESP_DBG_STUB_ENTRY_FIRST,
ESP_DBG_STUB_ENTRY_GCOV ///< GCOV entry
= ESP_DBG_STUB_ENTRY_FIRST,
ESP_DBG_STUB_ENTRY_CAPABILITIES,
ESP_DBG_STUB_ENTRY_MAX
} esp_dbg_stub_id_t;
@@ -49,7 +42,7 @@ void esp_dbg_stubs_init(void);
*
* @note Should be called before any esp_apptrace_xxx call.
*
* @param id Stub ID.
* @param id Stub ID.
* @param entry Stub entry. Usually it is stub entry function address,
* but can be any value meaningfull for OpenOCD command/code
* such as capabilities
@@ -60,7 +53,7 @@ esp_err_t esp_dbg_stub_entry_set(esp_dbg_stub_id_t id, uint32_t entry);
/**
* @brief Retrives the corresponding stub entry
*
* @param id Stub ID.
* @param id Stub ID.
* @param entry Stub entry. Usually it is stub entry function address,
* but can be any value meaningfull for OpenOCD command/code
* such as capabilities
@@ -73,4 +66,4 @@ esp_err_t esp_dbg_stub_entry_get(esp_dbg_stub_id_t id, uint32_t *entry);
}
#endif
#endif //ESP_DBG_STUBS_H_
#endif // ESP_DBG_STUBS_H_

View File

@@ -5,21 +5,25 @@ function(idf_create_coverage_report report_dir)
set(gcov_tool ${_CMAKE_TOOLCHAIN_PREFIX}gcov)
idf_build_get_property(project_name PROJECT_NAME)
file(TO_NATIVE_PATH "${report_dir}" _report_dir)
file(TO_NATIVE_PATH "${project_dir}" _project_dir)
file(TO_NATIVE_PATH "${report_dir}/html/index.html" _index_path)
add_custom_target(pre-cov-report
COMMENT "Generating coverage report in: ${report_dir}"
COMMENT "Generating coverage report in: ${_report_dir}"
COMMAND ${CMAKE_COMMAND} -E echo "Using gcov: ${gcov_tool}"
COMMAND ${CMAKE_COMMAND} -E make_directory ${report_dir}/html
COMMAND ${CMAKE_COMMAND} -E make_directory ${_report_dir}/html
)
add_custom_target(lcov-report
COMMENT "WARNING: lcov-report is deprecated. Please use gcovr-report instead."
COMMAND lcov --gcov-tool ${gcov_tool} -c -d ${CMAKE_CURRENT_BINARY_DIR} -o ${report_dir}/${project_name}.info
COMMAND genhtml -o ${report_dir}/html ${report_dir}/${project_name}.info
COMMAND lcov --gcov-tool ${gcov_tool} -c -d ${CMAKE_CURRENT_BINARY_DIR} -o ${_report_dir}/${project_name}.info
COMMAND genhtml -o ${_report_dir}/html ${_report_dir}/${project_name}.info
DEPENDS pre-cov-report
)
add_custom_target(gcovr-report
COMMAND gcovr -r ${project_dir} --gcov-executable ${gcov_tool} -s --html-details ${report_dir}/html/index.html
COMMAND gcovr -r ${_project_dir} --gcov-executable ${gcov_tool} -s --html-details ${_index_path}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS pre-cov-report
)
@@ -29,7 +33,9 @@ endfunction()
#
# Clean coverage report.
function(idf_clean_coverage_report report_dir)
file(TO_CMAKE_PATH "${report_dir}" _report_dir)
add_custom_target(cov-data-clean
COMMENT "Clean coverage report in: ${report_dir}"
COMMAND ${CMAKE_COMMAND} -E remove_directory ${report_dir})
COMMENT "Clean coverage report in: ${_report_dir}"
COMMAND ${CMAKE_COMMAND} -E remove_directory ${_report_dir})
endfunction()

View File

@@ -7,3 +7,7 @@ components/app_trace/test_apps:
- soc
- driver
- esp_hw_support
disable:
- if: IDF_TARGET == "esp32c5"
temporary: true
reason: not support yet # TODO: [ESP32C5] IDF-8705

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -135,9 +135,9 @@ static bool esp_apptrace_test_timer_isr_crash(gptimer_handle_t timer, const gpti
memset(tim_arg->data.buf + 2 * sizeof(uint32_t), tim_arg->data.wr_cnt & tim_arg->data.mask, tim_arg->data.buf_sz - 2 * sizeof(uint32_t));
int res = ESP_APPTRACE_TEST_WRITE_FROM_ISR(tim_arg->data.buf, tim_arg->data.buf_sz);
if (res != ESP_OK) {
esp_rom_printf("tim-%x: Failed to write trace %d %x!\n", tim_arg->gptimer, res, tim_arg->data.wr_cnt & tim_arg->data.mask);
esp_rom_printf("tim-%p: Failed to write trace %d %" PRIx32 "!\n", tim_arg->gptimer, res, tim_arg->data.wr_cnt & tim_arg->data.mask);
} else {
esp_rom_printf("tim-%x: Written chunk%d %d bytes, %x\n",
esp_rom_printf("tim-%p: Written chunk%" PRIu32 " %" PRIu32 " bytes, %" PRIx32 "\n",
timer, tim_arg->data.wr_cnt, tim_arg->data.buf_sz, tim_arg->data.wr_cnt & tim_arg->data.mask);
tim_arg->data.wr_cnt++;
}
@@ -153,7 +153,7 @@ static void esp_apptrace_dummy_task(void *p)
esp_apptrace_test_task_arg_t *arg = (esp_apptrace_test_task_arg_t *) p;
TickType_t tmo_ticks = arg->data.period / (1000 * portTICK_PERIOD_MS);
ESP_APPTRACE_TEST_LOGI("%x: run dummy task (period %u us, %u timers)", xTaskGetCurrentTaskHandle(), arg->data.period, arg->timers_num);
ESP_APPTRACE_TEST_LOGI("%p: run dummy task (period %" PRIu32 " us, %" PRIu32 " timers)", xTaskGetCurrentTaskHandle(), arg->data.period, arg->timers_num);
for (int i = 0; i < arg->timers_num; i++) {
gptimer_config_t timer_config = {
@@ -163,7 +163,7 @@ static void esp_apptrace_dummy_task(void *p)
};
TEST_ESP_OK(gptimer_new_timer(&timer_config, &arg->timers[i].gptimer));
*(uint32_t *)arg->timers[i].data.buf = (uint32_t)arg->timers[i].gptimer | (1 << 31);
ESP_APPTRACE_TEST_LOGI("%x: start timer %x period %u us", xTaskGetCurrentTaskHandle(), arg->timers[i].gptimer, arg->timers[i].data.period);
ESP_APPTRACE_TEST_LOGI("%p: start timer %p period %" PRIu32 " us", xTaskGetCurrentTaskHandle(), arg->timers[i].gptimer, arg->timers[i].data.period);
gptimer_alarm_config_t alarm_config = {
.reload_count = 0,
.alarm_count = arg->timers[i].data.period,
@@ -180,7 +180,7 @@ static void esp_apptrace_dummy_task(void *p)
int i = 0;
while (!arg->stop) {
ESP_APPTRACE_TEST_LOGD("%x: dummy task work %d.%d", xTaskGetCurrentTaskHandle(), esp_cpu_get_core_id(), i++);
ESP_APPTRACE_TEST_LOGD("%p: dummy task work %d.%d", xTaskGetCurrentTaskHandle(), esp_cpu_get_core_id(), i++);
if (tmo_ticks) {
vTaskDelay(tmo_ticks);
}
@@ -202,7 +202,7 @@ static void esp_apptrace_test_task(void *p)
int res;
TickType_t tmo_ticks = arg->data.period / (1000 * portTICK_PERIOD_MS);
ESP_APPTRACE_TEST_LOGI("%x: run (period %u us, stamp mask %x, %u timers)", xTaskGetCurrentTaskHandle(), arg->data.period, arg->data.mask, arg->timers_num);
ESP_APPTRACE_TEST_LOGI("%p: run (period %" PRIu32 " us, stamp mask %" PRIx8 ", %" PRIu32 " timers)", xTaskGetCurrentTaskHandle(), arg->data.period, arg->data.mask, arg->timers_num);
for (int i = 0; i < arg->timers_num; i++) {
gptimer_config_t timer_config = {
@@ -212,7 +212,7 @@ static void esp_apptrace_test_task(void *p)
};
TEST_ESP_OK(gptimer_new_timer(&timer_config, &arg->timers[i].gptimer));
*(uint32_t *)arg->timers[i].data.buf = ((uint32_t)arg->timers[i].gptimer) | (1 << 31) | (esp_cpu_get_core_id() ? 0x1 : 0);
ESP_APPTRACE_TEST_LOGI("%x: start timer %x period %u us", xTaskGetCurrentTaskHandle(), arg->timers[i].gptimer, arg->timers[i].data.period);
ESP_APPTRACE_TEST_LOGI("%p: start timer %p period %" PRIu32 " us", xTaskGetCurrentTaskHandle(), arg->timers[i].gptimer, arg->timers[i].data.period);
gptimer_alarm_config_t alarm_config = {
.reload_count = 0,
.alarm_count = arg->timers[i].data.period,
@@ -242,14 +242,14 @@ static void esp_apptrace_test_task(void *p)
}
if (res) {
if (1) { //arg->data.wr_err++ < ESP_APPTRACE_TEST_PRN_WRERR_MAX) {
ESP_APPTRACE_TEST_LOGE("%x: Failed to write trace %d %x!", xTaskGetCurrentTaskHandle(), res, arg->data.wr_cnt & arg->data.mask);
ESP_APPTRACE_TEST_LOGE("%p: Failed to write trace %d %" PRIx32 "!", xTaskGetCurrentTaskHandle(), res, arg->data.wr_cnt & arg->data.mask);
if (arg->data.wr_err == ESP_APPTRACE_TEST_PRN_WRERR_MAX) {
ESP_APPTRACE_TEST_LOGE("\n");
}
}
} else {
if (0) {
ESP_APPTRACE_TEST_LOGD("%x:%x: Written chunk%d %d bytes, %x", xTaskGetCurrentTaskHandle(), *ts, arg->data.wr_cnt, arg->data.buf_sz, arg->data.wr_cnt & arg->data.mask);
ESP_APPTRACE_TEST_LOGD("%p:%" PRIx32 ": Written chunk%" PRIu32 " %" PRIu32 " bytes, %" PRIx32, xTaskGetCurrentTaskHandle(), *ts, arg->data.wr_cnt, arg->data.buf_sz, arg->data.wr_cnt & arg->data.mask);
}
arg->data.wr_err = 0;
}
@@ -273,7 +273,7 @@ static void esp_apptrace_test_task_crash(void *p)
{
esp_apptrace_test_task_arg_t *arg = (esp_apptrace_test_task_arg_t *) p;
ESP_APPTRACE_TEST_LOGE("%x: run (period %u us, stamp mask %x, %u timers)", xTaskGetCurrentTaskHandle(), arg->data.period, arg->data.mask, arg->timers_num);
ESP_APPTRACE_TEST_LOGE("%p: run (period %" PRIu32 " us, stamp mask %" PRIx8 ", %" PRIu32 " timers)", xTaskGetCurrentTaskHandle(), arg->data.period, arg->data.mask, arg->timers_num);
arg->data.wr_cnt = 0;
*(uint32_t *)arg->data.buf = (uint32_t)xTaskGetCurrentTaskHandle();
@@ -283,9 +283,9 @@ static void esp_apptrace_test_task_crash(void *p)
memset(arg->data.buf + sizeof(uint32_t), arg->data.wr_cnt & arg->data.mask, arg->data.buf_sz - sizeof(uint32_t));
int res = ESP_APPTRACE_TEST_WRITE(arg->data.buf, arg->data.buf_sz);
if (res) {
ESP_APPTRACE_TEST_LOGE("%x: Failed to write trace %d %x!", xTaskGetCurrentTaskHandle(), res, arg->data.wr_cnt & arg->data.mask);
ESP_APPTRACE_TEST_LOGE("%p: Failed to write trace %d %" PRIx32 "!", xTaskGetCurrentTaskHandle(), res, arg->data.wr_cnt & arg->data.mask);
} else {
ESP_APPTRACE_TEST_LOGD("%x: Written chunk%d %d bytes, %x", xTaskGetCurrentTaskHandle(), arg->data.wr_cnt, arg->data.buf_sz, arg->data.wr_cnt & arg->data.mask);
ESP_APPTRACE_TEST_LOGD("%p: Written chunk%" PRIu32 " %" PRIu32 " bytes, %" PRIx32, xTaskGetCurrentTaskHandle(), arg->data.wr_cnt, arg->data.buf_sz, arg->data.wr_cnt & arg->data.mask);
}
arg->data.wr_cnt++;
}
@@ -315,7 +315,7 @@ static void esp_apptrace_test_ts_init(void)
.resolution_hz = 10000000,
};
TEST_ESP_OK(gptimer_new_timer(&timer_config, &ts_gptimer));
ESP_APPTRACE_TEST_LOGI("Use timer %x for TS", ts_gptimer);
ESP_APPTRACE_TEST_LOGI("Use timer %p for TS", ts_gptimer);
TEST_ESP_OK(gptimer_enable(ts_gptimer));
TEST_ESP_OK(gptimer_start(ts_gptimer));
}
@@ -368,7 +368,7 @@ static void esp_apptrace_test(esp_apptrace_test_cfg_t *test_cfg)
TaskHandle_t thnd;
sprintf(name, "apptrace_test%d", i);
xTaskCreatePinnedToCore(test_cfg->tasks[i].task_func, name, 2048, &test_cfg->tasks[i], test_cfg->tasks[i].prio, &thnd, test_cfg->tasks[i].core);
ESP_APPTRACE_TEST_LOGI("Created task %x", thnd);
ESP_APPTRACE_TEST_LOGI("Created task %p", thnd);
}
xTaskCreatePinnedToCore(esp_apptrace_dummy_task, "dummy0", 2048, &dummy_task_arg, dummy_task_arg.prio, NULL, 0);
#if CONFIG_FREERTOS_UNICORE == 0
@@ -641,7 +641,7 @@ static void esp_logtrace_task(void *p)
{
esp_logtrace_task_t *arg = (esp_logtrace_task_t *) p;
ESP_APPTRACE_TEST_LOGI("%x: run log test task", xTaskGetCurrentTaskHandle());
ESP_APPTRACE_TEST_LOGI("%p: run log test task", xTaskGetCurrentTaskHandle());
int i = 0;
while (1) {
@@ -662,7 +662,7 @@ static void esp_logtrace_task(void *p)
ESP_APPTRACE_TEST_LOGE("Failed to flush printf buf (%d)!", ret);
}
ESP_APPTRACE_TEST_LOGI("%x: finished", xTaskGetCurrentTaskHandle());
ESP_APPTRACE_TEST_LOGI("%p: finished", xTaskGetCurrentTaskHandle());
xSemaphoreGive(arg->done);
vTaskDelay(1);
@@ -681,13 +681,13 @@ TEST_CASE("Log trace test (2 tasks)", "[trace][ignore]")
};
xTaskCreatePinnedToCore(esp_logtrace_task, "logtrace0", 2048, &arg1, 3, &thnd, 0);
ESP_APPTRACE_TEST_LOGI("Created task %x", thnd);
ESP_APPTRACE_TEST_LOGI("Created task %p", thnd);
#if CONFIG_FREERTOS_UNICORE == 0
xTaskCreatePinnedToCore(esp_logtrace_task, "logtrace1", 2048, &arg2, 3, &thnd, 1);
#else
xTaskCreatePinnedToCore(esp_logtrace_task, "logtrace1", 2048, &arg2, 3, &thnd, 0);
#endif
ESP_APPTRACE_TEST_LOGI("Created task %x", thnd);
ESP_APPTRACE_TEST_LOGI("Created task %p", thnd);
xSemaphoreTake(arg1.done, portMAX_DELAY);
vSemaphoreDelete(arg1.done);
@@ -760,7 +760,7 @@ static void esp_sysviewtrace_test_task(void *p)
xSemaphoreGive(*arg->sync);
}
}
ESP_APPTRACE_TEST_LOGI("%x: finished", xTaskGetCurrentTaskHandle());
ESP_APPTRACE_TEST_LOGI("%p: finished", xTaskGetCurrentTaskHandle());
xSemaphoreGive(arg->done);
vTaskDelay(1);
@@ -809,13 +809,13 @@ TEST_CASE("SysView trace test 1", "[trace][ignore]")
TEST_ESP_OK(gptimer_new_timer(&timer_config, &tim_arg2.gptimer));
xTaskCreatePinnedToCore(esp_sysviewtrace_test_task, "svtrace0", 2048, &arg1, 3, &thnd, 0);
ESP_APPTRACE_TEST_LOGI("Created task %x", thnd);
ESP_APPTRACE_TEST_LOGI("Created task %p", thnd);
#if CONFIG_FREERTOS_UNICORE == 0
xTaskCreatePinnedToCore(esp_sysviewtrace_test_task, "svtrace1", 2048, &arg2, 5, &thnd, 1);
#else
xTaskCreatePinnedToCore(esp_sysviewtrace_test_task, "svtrace1", 2048, &arg2, 5, &thnd, 0);
#endif
ESP_APPTRACE_TEST_LOGI("Created task %x", thnd);
ESP_APPTRACE_TEST_LOGI("Created task %p", thnd);
xSemaphoreTake(arg1.done, portMAX_DELAY);
vSemaphoreDelete(arg1.done);

View File

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

View File

@@ -2,6 +2,7 @@
cmake_minimum_required(VERSION 3.16)
set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")
set(COMPONENTS main)
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(app_update_test)

View File

@@ -6,7 +6,7 @@ menu "Bootloader config"
hex
default 0x1000 if IDF_TARGET_ESP32 || IDF_TARGET_ESP32S2
# the first 2 sectors are reserved for the key manager with AES-XTS (flash encryption) purpose
default 0x2000 if IDF_TARGET_ESP32P4
default 0x2000 if IDF_TARGET_ESP32P4 || IDF_TARGET_ESP32C5
default 0x0
help
Offset address that 2nd bootloader will be flashed to.
@@ -23,7 +23,6 @@ menu "Bootloader config"
- The default "Size" setting will add the -0s flag to CFLAGS.
- The "Debug" setting will add the -Og flag to CFLAGS.
- The "Performance" setting will add the -O2 flag to CFLAGS.
- The "None" setting will add the -O0 flag to CFLAGS.
Note that custom optimization levels may be unsupported.
@@ -34,7 +33,9 @@ menu "Bootloader config"
config BOOTLOADER_COMPILER_OPTIMIZATION_PERF
bool "Optimize for performance (-O2)"
config BOOTLOADER_COMPILER_OPTIMIZATION_NONE
bool "Debug without optimization (-O0)"
bool "Debug without optimization (-O0) (Deprecated, will be removed in IDF v6.0)"
depends on IDF_TARGET_ARCH_XTENSA || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C2
endchoice
choice BOOTLOADER_LOG_LEVEL
@@ -292,8 +293,11 @@ menu "Bootloader config"
If this option is not set (default), then rtc_wdt will be disabled by ESP-IDF before calling
the app_main() function.
Use function rtc_wdt_feed() for resetting counter of rtc_wdt.
Use function rtc_wdt_disable() for disabling rtc_wdt.
Use function wdt_hal_feed() for resetting counter of RTC_WDT.
For esp32/s2 you can also use rtc_wdt_feed().
Use function wdt_hal_disable() for disabling RTC_WDT.
For esp32/s2 you can also use rtc_wdt_disable().
config BOOTLOADER_WDT_TIME_MS
int "Timeout for RTC watchdog (ms)"
@@ -366,7 +370,7 @@ menu "Bootloader config"
select EFUSE_VIRTUAL_KEEP_IN_FLASH
help
This option allows to emulate read/write operations with all eFuses and efuse secure version.
It allows to test anti-rollback implemention without permanent write eFuse bits.
It allows to test anti-rollback implementation without permanent write eFuse bits.
There should be an entry in partition table with following details: `emul_efuse, data, efuse, , 0x2000`.
This option enables: EFUSE_VIRTUAL and EFUSE_VIRTUAL_KEEP_IN_FLASH.
@@ -454,9 +458,24 @@ menu "Bootloader config"
this area remains valid when rebooted, except for power loss.
This memory is located at a fixed address and is available
for both the bootloader and the application.
(The application and bootoloader must be compiled with the same option).
(The application and bootloader must be compiled with the same option).
The RTC FAST memory has access only through PRO_CPU.
config BOOTLOADER_CUSTOM_RESERVE_RTC_IN_CRC
bool "Include custom memory in the CRC calculation"
depends on BOOTLOADER_CUSTOM_RESERVE_RTC
default n
help
This option allows the customer to use the legacy bootloader behavior when the
RTC FAST memory CRC calculation takes place. When this option is enabled, the
allocated user custom data will be taken into account in the CRC calculation.
This means that any change to the custom data would need a CRC update to prevent
the bootloader from marking this data as corrupted.
If this option is disabled, the custom data will not be taken into account when
calculating the RTC FAST memory CRC. The user custom data can be changed freely,
without the need to update the CRC.
THIS OPTION MUST BE THE SAME FOR BOTH THE BOOTLOADER AND THE APPLICATION BUILDS.
config BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE
hex "Size in bytes for custom purposes"
default 0
@@ -782,7 +801,7 @@ menu "Security features"
default N
help
When Secure Boot V2 is enabled, by default the bootloader is not flashed along with other artifacts
like the application and the partition table images, i.e. bootloader has to be seperately flashed
like the application and the partition table images, i.e. bootloader has to be separately flashed
using the command `idf.py bootloader flash`, whereas, the application and partition table can be flashed
using the command `idf.py flash` itself.
Enabling this option allows flashing the bootloader along with the other artifacts
@@ -986,6 +1005,14 @@ menu "Security features"
Revoking unused digest slots makes ensures that no trusted keys can be added later by an attacker.
If set, it means that you have a plan to use unused digests slots later.
Note that if you plan to enable secure boot during the first boot up, the bootloader will intentionally
revoke the unused digest slots while enabling secure boot, even if the above config is enabled because
keeping the unused key slots un-revoked would a security hazard.
In case for any development workflow if you need to avoid this revocation, you should enable
secure boot externally (host based mechanism) rather than enabling it during the boot up,
so that the bootloader would not need to enable secure boot and thus you could avoid its revocation
strategy.
config SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC
bool "Leave UART bootloader encryption enabled"
depends on SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT

View File

@@ -1,10 +1,18 @@
idf_component_register(SRCS "bootloader_start.c"
REQUIRES bootloader bootloader_support)
idf_build_get_property(target IDF_TARGET)
set(scripts "ld/${target}/bootloader.ld")
if(CONFIG_IDF_TARGET_ESP32C5_BETA3_VERSION)
set(target_folder "esp32c5/beta3")
elseif(CONFIG_IDF_TARGET_ESP32C5_MP_VERSION)
set(target_folder "esp32c5/mp")
else()
set(target_folder "${target}")
endif()
list(APPEND scripts "ld/${target}/bootloader.rom.ld")
idf_build_get_property(target IDF_TARGET)
set(scripts "ld/${target_folder}/bootloader.ld")
list(APPEND scripts "ld/${target_folder}/bootloader.rom.ld")
target_linker_script(${COMPONENT_LIB} INTERFACE "${scripts}")
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u bootloader_hooks_include")

View File

@@ -0,0 +1,256 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/** Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
*
* TODO: [ESP32C5] IDF-9358 Check this file whether need update for MP ROM
* ESP32-C5 ROM static data usage is as follows:
* - 0x4086b2b8 - 0x4087cbc0: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4087cbc0 - 0x4087ebc0: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4087ebc0 - 0x40880000: ROM .bss and .data (not easily reclaimable)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x4087cbc0).
*/
/* We consider 0x4087cbc0 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
* and work out iram_seg and iram_loader_seg addresses from there, backwards.
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x4087cbc0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2200;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
bootloader_dram_seg_start = bootloader_dram_seg_end - bootloader_dram_seg_len;
bootloader_iram_loader_seg_start = bootloader_dram_seg_start - bootloader_iram_loader_seg_len;
bootloader_iram_seg_start = bootloader_iram_loader_seg_start - bootloader_iram_seg_len;
MEMORY
{
iram_seg (RWX) : org = bootloader_iram_seg_start, len = bootloader_iram_seg_len
iram_loader_seg (RWX) : org = bootloader_iram_loader_seg_start, len = bootloader_iram_loader_seg_len
dram_seg (RW) : org = bootloader_dram_seg_start, len = bootloader_dram_seg_len
}
/* The app may use RAM for static allocations up to the start of iram_loader_seg.
* If you have changed something above and this assert fails:
* 1. Check what the new value of bootloader_iram_loader_seg start is.
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32c5/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4086EBC0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
SECTIONS
{
.iram_loader.text :
{
. = ALIGN (16);
_loader_text_start = ABSOLUTE(.);
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram1 .iram1.*) /* catch stray IRAM_ATTR */
*liblog.a:(.literal .text .literal.* .text.*)
/* we use either libgcc or compiler-rt, so put similar entries for them here */
*libgcc.a:(.literal .text .literal.* .text.*)
*libclang_rt.builtins.a:(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_clock_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_common_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_flash.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_panic.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_soc.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:esp_image_format.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encrypt.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encryption_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_partitions.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_signatures_bootloader.*(.literal .text .literal.* .text.*)
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
*libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
_loader_text_end = ABSOLUTE(.);
} > iram_loader_seg
.iram.text :
{
. = ALIGN (16);
*(.entry.text)
*(.init.literal)
*(.init)
} > iram_seg
/* Shared RAM */
.dram0.bss (NOLOAD) :
{
. = ALIGN (8);
_dram_start = ABSOLUTE(.);
_bss_start = ABSOLUTE(.);
*(.dynsbss)
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
*(.scommon)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
. = ALIGN (8);
_bss_end = ABSOLUTE(.);
} > dram_seg
.dram0.bootdesc : ALIGN(0x10)
{
_data_start = ABSOLUTE(.);
*(.data_bootloader_desc .data_bootloader_desc.*) /* Should be the first. Bootloader version info. DO NOT PUT ANYTHING BEFORE IT! */
} > dram_seg
.dram0.data :
{
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
*(.data1)
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
*(.gnu.linkonce.s2.*)
*(.jcr)
_data_end = ABSOLUTE(.);
} > dram_seg
.dram0.rodata :
{
_rodata_start = ABSOLUTE(.);
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
*(.rodata1)
*(.sdata2 .sdata2.* .srodata .srodata.*)
__XT_EXCEPTION_TABLE_ = ABSOLUTE(.);
*(.xt_except_table)
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
__init_array_start = ABSOLUTE(.);
KEEP (*crtbegin.*(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__init_array_end = ABSOLUTE(.);
KEEP (*crtbegin.*(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
/* C++ exception handlers table: */
__XT_EXCEPTION_DESCS_ = ABSOLUTE(.);
*(.xt_except_desc)
*(.gnu.linkonce.h.*)
__XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
*(.xt_except_desc_end)
*(.dynamic)
*(.gnu.version_d)
_rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */
_lit4_start = ABSOLUTE(.);
*(*.lit4)
*(.lit4.*)
*(.gnu.linkonce.lit4.*)
_lit4_end = ABSOLUTE(.);
. = ALIGN(4);
_dram_end = ABSOLUTE(.);
} > dram_seg
.iram.text :
{
_stext = .;
_text_start = ABSOLUTE(.);
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram .iram.*) /* catch stray IRAM_ATTR */
*(.fini.literal)
*(.fini)
*(.gnu.version)
/** CPU will try to prefetch up to 16 bytes of
* of instructions. This means that any configuration (e.g. MMU, PMS) must allow
* safe access to up to 16 bytes after the last real instruction, add
* dummy bytes to ensure this
*/
. += 16;
_text_end = ABSOLUTE(.);
_etext = .;
} > iram_seg
}
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x4086b2b8 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4087cbc0 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4087ebc0 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4087fb14 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4087fefc ------------------> _dram0_rtos_reserved_end
* | |
* 0x4087ffb8 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x40880000 ------------------> _data_end_interface
*/

View File

@@ -0,0 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* No definition for ESP32-C5 target */

View File

@@ -0,0 +1,255 @@
/*
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/** Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
*
* ESP32-C5 ROM static data usage is as follows:
* - 0x4084e9a0 - 0x4085c9a0: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4085c9a0 - 0x4085e9a0: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4085e9a0 - 0x40860000: ROM .bss and .data (not easily reclaimable)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x4085c9a0).
*/
/* We consider 0x4085c9a0 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
* and work out iram_seg and iram_loader_seg addresses from there, backwards.
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x4085c9a0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2200;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
bootloader_dram_seg_start = bootloader_dram_seg_end - bootloader_dram_seg_len;
bootloader_iram_loader_seg_start = bootloader_dram_seg_start - bootloader_iram_loader_seg_len;
bootloader_iram_seg_start = bootloader_iram_loader_seg_start - bootloader_iram_seg_len;
MEMORY
{
iram_seg (RWX) : org = bootloader_iram_seg_start, len = bootloader_iram_seg_len
iram_loader_seg (RWX) : org = bootloader_iram_loader_seg_start, len = bootloader_iram_loader_seg_len
dram_seg (RW) : org = bootloader_dram_seg_start, len = bootloader_dram_seg_len
}
/* The app may use RAM for static allocations up to the start of iram_loader_seg.
* If you have changed something above and this assert fails:
* 1. Check what the new value of bootloader_iram_loader_seg start is.
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32c5/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4084E9A0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
SECTIONS
{
.iram_loader.text :
{
. = ALIGN (16);
_loader_text_start = ABSOLUTE(.);
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram1 .iram1.*) /* catch stray IRAM_ATTR */
*liblog.a:(.literal .text .literal.* .text.*)
/* we use either libgcc or compiler-rt, so put similar entries for them here */
*libgcc.a:(.literal .text .literal.* .text.*)
*libclang_rt.builtins.a:(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_clock_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_common_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_flash.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_panic.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_soc.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:esp_image_format.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encrypt.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encryption_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_partitions.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_signatures_bootloader.*(.literal .text .literal.* .text.*)
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
*libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
_loader_text_end = ABSOLUTE(.);
} > iram_loader_seg
.iram.text :
{
. = ALIGN (16);
*(.entry.text)
*(.init.literal)
*(.init)
} > iram_seg
/* Shared RAM */
.dram0.bss (NOLOAD) :
{
. = ALIGN (8);
_dram_start = ABSOLUTE(.);
_bss_start = ABSOLUTE(.);
*(.dynsbss)
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
*(.scommon)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
. = ALIGN (8);
_bss_end = ABSOLUTE(.);
} > dram_seg
.dram0.bootdesc : ALIGN(0x10)
{
_data_start = ABSOLUTE(.);
*(.data_bootloader_desc .data_bootloader_desc.*) /* Should be the first. Bootloader version info. DO NOT PUT ANYTHING BEFORE IT! */
} > dram_seg
.dram0.data :
{
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
*(.data1)
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
*(.gnu.linkonce.s2.*)
*(.jcr)
_data_end = ABSOLUTE(.);
} > dram_seg
.dram0.rodata :
{
_rodata_start = ABSOLUTE(.);
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
*(.rodata1)
*(.sdata2 .sdata2.* .srodata .srodata.*)
__XT_EXCEPTION_TABLE_ = ABSOLUTE(.);
*(.xt_except_table)
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
__init_array_start = ABSOLUTE(.);
KEEP (*crtbegin.*(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__init_array_end = ABSOLUTE(.);
KEEP (*crtbegin.*(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
/* C++ exception handlers table: */
__XT_EXCEPTION_DESCS_ = ABSOLUTE(.);
*(.xt_except_desc)
*(.gnu.linkonce.h.*)
__XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
*(.xt_except_desc_end)
*(.dynamic)
*(.gnu.version_d)
_rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */
_lit4_start = ABSOLUTE(.);
*(*.lit4)
*(.lit4.*)
*(.gnu.linkonce.lit4.*)
_lit4_end = ABSOLUTE(.);
. = ALIGN(4);
_dram_end = ABSOLUTE(.);
} > dram_seg
.iram.text :
{
_stext = .;
_text_start = ABSOLUTE(.);
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram .iram.*) /* catch stray IRAM_ATTR */
*(.fini.literal)
*(.fini)
*(.gnu.version)
/** CPU will try to prefetch up to 16 bytes of
* of instructions. This means that any configuration (e.g. MMU, PMS) must allow
* safe access to up to 16 bytes after the last real instruction, add
* dummy bytes to ensure this
*/
. += 16;
_text_end = ABSOLUTE(.);
_etext = .;
} > iram_seg
}
/**
* Appendix: Memory Usage of ROM bootloader
*
* 0x4084e9a0 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4085c9a0 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4085e9a0 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4085f500 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4085fc5c ------------------> _dram0_rtos_reserved_end
* | |
* 0x4085fc70 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x40860000 ------------------> _data_end_interface
*/

View File

@@ -0,0 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* No definition for ESP32-C5 target */

View File

@@ -24,7 +24,7 @@ bootloader_usable_dram_end = 0x4087c610;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2200;
bootloader_iram_seg_len = 0x2500;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;

View File

@@ -0,0 +1,255 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/** Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
*
* ESP32-C61 ROM static data usage is as follows:
* - 0x4086ad08 - 0x4087c610: Shared buffers, used in UART/USB/SPI download mode only
* - 0x4087c610 - 0x4087e610: PRO CPU stack, can be reclaimed as heap after RTOS startup
* - 0x4087e610 - 0x40880000: ROM .bss and .data (not easily reclaimable)
*
* The 2nd stage bootloader can take space up to the end of ROM shared
* buffers area (0x4087c610).
*/
/* We consider 0x4087c610 to be the last usable address for 2nd stage bootloader stack overhead, dram_seg,
* and work out iram_seg and iram_loader_seg addresses from there, backwards.
*/
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x4084c9f0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2500;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;
bootloader_dram_seg_start = bootloader_dram_seg_end - bootloader_dram_seg_len;
bootloader_iram_loader_seg_start = bootloader_dram_seg_start - bootloader_iram_loader_seg_len;
bootloader_iram_seg_start = bootloader_iram_loader_seg_start - bootloader_iram_seg_len;
MEMORY
{
iram_seg (RWX) : org = bootloader_iram_seg_start, len = bootloader_iram_seg_len
iram_loader_seg (RWX) : org = bootloader_iram_loader_seg_start, len = bootloader_iram_loader_seg_len
dram_seg (RW) : org = bootloader_dram_seg_start, len = bootloader_dram_seg_len
}
/* The app may use RAM for static allocations up to the start of iram_loader_seg.
* If you have changed something above and this assert fails:
* 1. Check what the new value of bootloader_iram_loader_seg start is.
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32c61/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4083E9F0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
SECTIONS
{
.iram_loader.text :
{
. = ALIGN (16);
_loader_text_start = ABSOLUTE(.);
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram1 .iram1.*) /* catch stray IRAM_ATTR */
*liblog.a:(.literal .text .literal.* .text.*)
/* we use either libgcc or compiler-rt, so put similar entries for them here */
*libgcc.a:(.literal .text .literal.* .text.*)
*libclang_rt.builtins.a:(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_clock_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_common_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_flash.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
*libbootloader_support.a:bootloader_efuse.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_console_loader.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_panic.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_soc.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:esp_image_format.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encrypt.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encryption_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_partitions.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_secure_features.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot_signatures_bootloader.*(.literal .text .literal.* .text.*)
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libhal.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
*libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
_loader_text_end = ABSOLUTE(.);
} > iram_loader_seg
.iram.text :
{
. = ALIGN (16);
*(.entry.text)
*(.init.literal)
*(.init)
} > iram_seg
/* Shared RAM */
.dram0.bss (NOLOAD) :
{
. = ALIGN (8);
_dram_start = ABSOLUTE(.);
_bss_start = ABSOLUTE(.);
*(.dynsbss)
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
*(.scommon)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
. = ALIGN (8);
_bss_end = ABSOLUTE(.);
} > dram_seg
.dram0.bootdesc : ALIGN(0x10)
{
_data_start = ABSOLUTE(.);
*(.data_bootloader_desc .data_bootloader_desc.*) /* Should be the first. Bootloader version info. DO NOT PUT ANYTHING BEFORE IT! */
} > dram_seg
.dram0.data :
{
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
*(.data1)
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
*(.gnu.linkonce.s2.*)
*(.jcr)
_data_end = ABSOLUTE(.);
} > dram_seg
.dram0.rodata :
{
_rodata_start = ABSOLUTE(.);
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
*(.rodata1)
*(.sdata2 .sdata2.* .srodata .srodata.*)
__XT_EXCEPTION_TABLE_ = ABSOLUTE(.);
*(.xt_except_table)
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
__init_array_start = ABSOLUTE(.);
KEEP (*crtbegin.*(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__init_array_end = ABSOLUTE(.);
KEEP (*crtbegin.*(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
/* C++ exception handlers table: */
__XT_EXCEPTION_DESCS_ = ABSOLUTE(.);
*(.xt_except_desc)
*(.gnu.linkonce.h.*)
__XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
*(.xt_except_desc_end)
*(.dynamic)
*(.gnu.version_d)
_rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */
_lit4_start = ABSOLUTE(.);
*(*.lit4)
*(.lit4.*)
*(.gnu.linkonce.lit4.*)
_lit4_end = ABSOLUTE(.);
. = ALIGN(4);
_dram_end = ABSOLUTE(.);
} > dram_seg
.iram.text :
{
_stext = .;
_text_start = ABSOLUTE(.);
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram .iram.*) /* catch stray IRAM_ATTR */
*(.fini.literal)
*(.fini)
*(.gnu.version)
/** CPU will try to prefetch up to 16 bytes of
* of instructions. This means that any configuration (e.g. MMU, PMS) must allow
* safe access to up to 16 bytes after the last real instruction, add
* dummy bytes to ensure this
*/
. += 16;
_text_end = ABSOLUTE(.);
_etext = .;
} > iram_seg
}
/** TODO: [ESP32C61] IDF-9405, update after rom freeze
* Appendix: Memory Usage of ROM bootloader
*
* 0x4086ad08 ------------------> _dram0_0_start
* | |
* | |
* | | 1. Large buffers that are only used in certain boot modes, see shared_buffers.h
* | |
* | |
* 0x4087c610 ------------------> __stack_sentry
* | |
* | | 2. Startup pro cpu stack (freed when IDF app is running)
* | |
* 0x4087e610 ------------------> __stack (pro cpu)
* | |
* | |
* | | 3. Shared memory only used in startup code or nonos/early boot*
* | | (can be freed when IDF runs)
* | |
* | |
* 0x4087f564 ------------------> _dram0_rtos_reserved_start
* | |
* | |
* | | 4. Shared memory used in startup code and when IDF runs
* | |
* | |
* 0x4087fab0 ------------------> _dram0_rtos_reserved_end
* | |
* 0x4087fce8 ------------------> _data_start_interface
* | |
* | | 5. End of DRAM is the 'interface' data with constant addresses (ECO compatible)
* | |
* 0x40880000 ------------------> _data_end_interface
*/

View File

@@ -0,0 +1,6 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
/* No definition for ESP32-C61 target */

View File

@@ -25,7 +25,7 @@ bootloader_usable_dram_end = 0x4084cfd0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2000;
bootloader_iram_seg_len = 0x2500;
/* Start of the lower region is determined by region size and the end of the higher region */
bootloader_dram_seg_end = bootloader_usable_dram_end - bootloader_stack_overhead;

View File

@@ -24,7 +24,7 @@
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x4ff3abd0;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x4000;
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x2000;
@@ -47,7 +47,7 @@ MEMORY
* 2. Update the value in this assert.
* 3. Update SRAM_DRAM_END in components/esp_system/ld/esp32p4/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x4FF2DBD0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
ASSERT(bootloader_iram_loader_seg_start == 0x4FF2CBD0, "bootloader_iram_loader_seg_start inconsistent with SRAM_DRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);
@@ -88,6 +88,7 @@ SECTIONS
*libhal.a:mmu_hal.*(.literal .text .literal.* .text.*)
*libhal.a:cache_hal.*(.literal .text .literal.* .text.*)
*libhal.a:efuse_hal.*(.literal .text .literal.* .text.*)
*libhal.a:key_mgr_hal.*(.literal.key_mgr_hal_set_key_usage .text.key_mgr_hal_set_key_usage)
*libesp_hw_support.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:rtc_time.*(.literal .text .literal.* .text.*)
*libesp_hw_support.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -10,9 +10,9 @@
MEMORY
{
iram_seg (RWX) : org = 0x4004B000, len = 0x4000 /* SRAM part of block 12 and 13 */
iram_loader_seg (RWX) : org = 0x4004F000, len = 0x7000 /* SRAM part of block 13, Block 14 & part of 15 */
dram_seg (RW) : org = 0x3FFE6000, len = 0x4B00 /* Part SRAM Blocks 15 & 16, ROM static buffer starts at end of this region (reclaimed after app runs) */
iram_seg (RWX) : org = 0x4004A000, len = 0x4000 /* SRAM part of block 12 and 13 */
iram_loader_seg (RWX) : org = 0x4004E000, len = 0x7000 /* SRAM part of block 13, Block 14 & part of 15 */
dram_seg (RW) : org = 0x3FFE5000, len = 0x5B00 /* Part SRAM Blocks 15 & 16, ROM static buffer starts at end of this region (reclaimed after app runs) */
}
/* Default entry point: */

View File

@@ -26,7 +26,7 @@ iram_dram_offset = 0x6f0000;
/* These lengths can be adjusted, if necessary: */
bootloader_usable_dram_end = 0x3fce9700;
bootloader_stack_overhead = 0x2000; /* For safety margin between bootloader data section and startup stacks */
bootloader_dram_seg_len = 0x4000;
bootloader_dram_seg_len = 0x5000;
bootloader_iram_loader_seg_len = 0x7000;
bootloader_iram_seg_len = 0x3000;
@@ -49,7 +49,7 @@ MEMORY
* 2. Update the value in this assert.
* 3. Update SRAM_IRAM_END in components/esp_system/ld/esp32s3/memory.ld.in to the same value.
*/
ASSERT(bootloader_iram_loader_seg_start == 0x403cc700, "bootloader_iram_loader_seg_start inconsistent with SRAM_IRAM_END");
ASSERT(bootloader_iram_loader_seg_start == 0x403CB700, "bootloader_iram_loader_seg_start inconsistent with SRAM_IRAM_END");
/* Default entry point: */
ENTRY(call_start_cpu0);

View File

@@ -86,6 +86,10 @@ if(BOOTLOADER_BUILD)
endif()
endif()
else()
if(CONFIG_SOC_SECURE_BOOT_SUPPORTED)
list(APPEND srcs "src/${IDF_TARGET}/secure_boot_secure_features.c")
endif()
if(CONFIG_SECURE_SIGNED_ON_UPDATE)
if(CONFIG_SECURE_SIGNED_APPS_ECDSA_SCHEME)
list(APPEND srcs "src/secure_boot_v1/secure_boot_signatures_app.c")

View File

@@ -187,7 +187,7 @@ const void *bootloader_mmap(uint32_t src_paddr, uint32_t size)
return NULL; /* can't map twice */
}
if (size > MMAP_MMU_SIZE) {
ESP_EARLY_LOGE(TAG, "bootloader_mmap excess size %x", size);
ESP_EARLY_LOGE(TAG, "bootloader_mmap excess size %" PRIx32, size);
return NULL;
}
@@ -214,13 +214,13 @@ const void *bootloader_mmap(uint32_t src_paddr, uint32_t size)
#endif
//---------------Do mapping------------------------
ESP_EARLY_LOGD(TAG, "rodata starts from paddr=0x%08x, size=0x%x, will be mapped to vaddr=0x%08x", src_paddr, size, MMU_BLOCK0_VADDR);
ESP_EARLY_LOGD(TAG, "rodata starts from paddr=0x%08" PRIx32 ", size=0x%" PRIx32 ", will be mapped to vaddr=0x%08" PRIx32, src_paddr, size, (uint32_t)MMU_BLOCK0_VADDR);
#if CONFIG_IDF_TARGET_ESP32
uint32_t count = GET_REQUIRED_MMU_PAGES(size, src_paddr);
int e = cache_flash_mmu_set(0, 0, MMU_BLOCK0_VADDR, src_paddr_aligned, 64, count);
ESP_EARLY_LOGV(TAG, "after mapping, starting from paddr=0x%08x and vaddr=0x%08x, 0x%x bytes are mapped", src_paddr_aligned, MMU_BLOCK0_VADDR, count * SPI_FLASH_MMU_PAGE_SIZE);
ESP_EARLY_LOGV(TAG, "after mapping, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", src_paddr_aligned, (uint32_t)MMU_BLOCK0_VADDR, count * SPI_FLASH_MMU_PAGE_SIZE);
if (e != 0) {
ESP_EARLY_LOGE(TAG, "cache_flash_mmu_set failed: %d\n", e);
ESP_EARLY_LOGE(TAG, "cache_flash_mmu_set failed: %d", e);
Cache_Read_Enable(0);
return NULL;
}
@@ -231,7 +231,7 @@ const void *bootloader_mmap(uint32_t src_paddr, uint32_t size)
*/
uint32_t actual_mapped_len = 0;
mmu_hal_map_region(0, MMU_TARGET_FLASH0, MMU_BLOCK0_VADDR, src_paddr_aligned, size_after_paddr_aligned, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping, starting from paddr=0x%08x and vaddr=0x%08x, 0x%x bytes are mapped", src_paddr_aligned, MMU_BLOCK0_VADDR, actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", src_paddr_aligned, (uint32_t)MMU_BLOCK0_VADDR, actual_mapped_len);
#endif
/**
@@ -326,7 +326,7 @@ static esp_err_t bootloader_flash_read_allow_decrypt(size_t src_addr, void *dest
#endif
//---------------Do mapping------------------------
ESP_EARLY_LOGD(TAG, "mmu set block paddr=0x%08x (was 0x%08x)", map_at, current_read_mapping);
ESP_EARLY_LOGD(TAG, "mmu set block paddr=0x%08" PRIx32 " (was 0x%08" PRIx32 ")", map_at, current_read_mapping);
#if CONFIG_IDF_TARGET_ESP32
//Should never fail if we only map a SPI_FLASH_MMU_PAGE_SIZE to the vaddr starting from FLASH_READ_VADDR
int e = cache_flash_mmu_set(0, 0, FLASH_READ_VADDR, map_at, 64, 1);
@@ -735,7 +735,7 @@ esp_err_t IRAM_ATTR bootloader_flash_xmc_startup(void)
// If the RDID value is a valid XMC one, may skip the flow
const bool fast_check = true;
if (fast_check && is_xmc_chip_strict(g_rom_flashchip.device_id)) {
BOOTLOADER_FLASH_LOG(D, "XMC chip detected by RDID (%08X), skip.", g_rom_flashchip.device_id);
BOOTLOADER_FLASH_LOG(D, "XMC chip detected by RDID (%08" PRIX32 "), skip.", g_rom_flashchip.device_id);
return ESP_OK;
}

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -11,9 +11,7 @@
#include "esp_log.h"
#include "esp_rom_gpio.h"
#include "esp32c2/rom/spi_flash.h"
#include "esp32c2/rom/efuse.h"
#include "soc/gpio_periph.h"
#include "soc/efuse_reg.h"
#include "soc/spi_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/soc_caps.h"
@@ -36,6 +34,11 @@ void bootloader_flash_update_id()
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -12,9 +12,7 @@
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "esp32c3/rom/spi_flash.h"
#include "esp32c3/rom/efuse.h"
#include "soc/gpio_periph.h"
#include "soc/efuse_reg.h"
#include "soc/spi_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/soc_caps.h"
@@ -37,6 +35,11 @@ void bootloader_flash_update_id()
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);

View File

@@ -0,0 +1,307 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
#include <assert.h>
#include "string.h"
#include "sdkconfig.h"
#include "esp_err.h"
#include "esp_log.h"
#include "esp_rom_gpio.h"
#include "esp32c5/rom/spi_flash.h"
#include "esp32c5/rom/efuse.h"
#include "soc/gpio_periph.h"
#include "soc/io_mux_reg.h"
// TODO: IDF-9197
#if CONFIG_IDF_TARGET_ESP32C5_MP_VERSION
#include "esp_rom_efuse.h"
#include "soc/efuse_reg.h"
#endif
#include "soc/spi_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/soc_caps.h"
#include "flash_qio_mode.h"
#include "bootloader_flash_config.h"
#include "bootloader_common.h"
#include "bootloader_flash_priv.h"
#include "bootloader_init.h"
#include "hal/mmu_hal.h"
#include "hal/mmu_ll.h"
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
#include "hal/clk_tree_ll.h"
void bootloader_flash_update_id()
{
esp_rom_spiflash_chip_t *chip = &rom_spiflash_legacy_data->chip;
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_HOLD_TIME_V, 0, SPI_MEM_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_SETUP_TIME_V, 0, SPI_MEM_CS_SETUP_TIME_S);
}
void IRAM_ATTR bootloader_flash_clock_config(const esp_image_header_t *pfhdr)
{
uint32_t spi_clk_div = 0;
switch (pfhdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_DIV_1:
spi_clk_div = 1;
break;
case ESP_IMAGE_SPI_SPEED_DIV_2:
spi_clk_div = 2;
break;
case ESP_IMAGE_SPI_SPEED_DIV_3:
spi_clk_div = 3;
break;
case ESP_IMAGE_SPI_SPEED_DIV_4:
spi_clk_div = 4;
break;
default:
break;
}
esp_rom_spiflash_config_clk(spi_clk_div, 0);
}
static const char *TAG = "boot.esp32c5";
void IRAM_ATTR bootloader_configure_spi_pins(int drv)
{
uint8_t clk_gpio_num = SPI_CLK_GPIO_NUM;
uint8_t q_gpio_num = SPI_Q_GPIO_NUM;
uint8_t d_gpio_num = SPI_D_GPIO_NUM;
uint8_t cs0_gpio_num = SPI_CS0_GPIO_NUM;
uint8_t hd_gpio_num = SPI_HD_GPIO_NUM;
uint8_t wp_gpio_num = SPI_WP_GPIO_NUM;
esp_rom_gpio_pad_set_drv(clk_gpio_num, drv);
esp_rom_gpio_pad_set_drv(q_gpio_num, drv);
esp_rom_gpio_pad_set_drv(d_gpio_num, drv);
esp_rom_gpio_pad_set_drv(cs0_gpio_num, drv);
esp_rom_gpio_pad_set_drv(hd_gpio_num, drv);
esp_rom_gpio_pad_set_drv(wp_gpio_num, drv);
}
static void update_flash_config(const esp_image_header_t *bootloader_hdr)
{
uint32_t size;
switch (bootloader_hdr->spi_size) {
case ESP_IMAGE_FLASH_SIZE_1MB:
size = 1;
break;
case ESP_IMAGE_FLASH_SIZE_2MB:
size = 2;
break;
case ESP_IMAGE_FLASH_SIZE_4MB:
size = 4;
break;
case ESP_IMAGE_FLASH_SIZE_8MB:
size = 8;
break;
case ESP_IMAGE_FLASH_SIZE_16MB:
size = 16;
break;
default:
size = 2;
}
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: set mode
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
{
ESP_EARLY_LOGD(TAG, "magic %02x", bootloader_hdr->magic);
ESP_EARLY_LOGD(TAG, "segments %02x", bootloader_hdr->segment_count);
ESP_EARLY_LOGD(TAG, "spi_mode %02x", bootloader_hdr->spi_mode);
ESP_EARLY_LOGD(TAG, "spi_speed %02x", bootloader_hdr->spi_speed);
ESP_EARLY_LOGD(TAG, "spi_size %02x", bootloader_hdr->spi_size);
const char *str;
switch (bootloader_hdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_DIV_2:
str = "40MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_3:
str = "26.7MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_4:
str = "20MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_1:
str = "80MHz";
break;
default:
str = "20MHz";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Speed : %s", str);
/* SPI mode could have been set to QIO during boot already,
so test the SPI registers not the flash header */
esp_rom_spiflash_read_mode_t spi_mode = bootloader_flash_get_spi_mode();
switch (spi_mode) {
case ESP_ROM_SPIFLASH_QIO_MODE:
str = "QIO";
break;
case ESP_ROM_SPIFLASH_QOUT_MODE:
str = "QOUT";
break;
case ESP_ROM_SPIFLASH_DIO_MODE:
str = "DIO";
break;
case ESP_ROM_SPIFLASH_DOUT_MODE:
str = "DOUT";
break;
case ESP_ROM_SPIFLASH_FASTRD_MODE:
str = "FAST READ";
break;
default:
str = "SLOW READ";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Mode : %s", str);
switch (bootloader_hdr->spi_size) {
case ESP_IMAGE_FLASH_SIZE_1MB:
str = "1MB";
break;
case ESP_IMAGE_FLASH_SIZE_2MB:
str = "2MB";
break;
case ESP_IMAGE_FLASH_SIZE_4MB:
str = "4MB";
break;
case ESP_IMAGE_FLASH_SIZE_8MB:
str = "8MB";
break;
case ESP_IMAGE_FLASH_SIZE_16MB:
str = "16MB";
break;
default:
str = "2MB";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Flash Size : %s", str);
}
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_configure_spi_pins(1);
bootloader_flash_cs_timing_config();
}
static void bootloader_spi_flash_resume(void)
{
bootloader_execute_flash_command(CMD_RESUME, 0, 0, 0);
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
}
esp_err_t bootloader_init_spi_flash(void)
{
// TODO: IDF-9197
#if CONFIG_IDF_TARGET_ESP32C5_MP_VERSION
// On ESP32C5, MSPI source clock's default HS divider leads to 120MHz, which is unusable before calibration
// Therefore, before switching SOC_ROOT_CLK to HS, we need to set MSPI source clock HS divider to make it run at
// 80MHz after the switch. PLL = 480MHz, so divider is 6.
clk_ll_mspi_fast_set_hs_divider(6);
#elif CONFIG_IDF_TARGET_ESP32C5_BETA3_VERSION
/* TODO: [ESP32C5] IDF-8649 temporary use xtal clock source,
need to change back SPLL(480M) and set divider to 6 to use the 80M MSPI
and we need to check flash freq before restart as well */
clk_ll_mspi_fast_set_divider(1);
clk_ll_mspi_fast_set_src(MSPI_CLK_SRC_XTAL);
#endif
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT
bootloader_enable_qio_mode();
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(0, false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
// 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
*/
@@ -10,11 +10,8 @@
#include "esp_err.h"
#include "esp_log.h"
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "esp32c6/rom/spi_flash.h"
#include "esp32c6/rom/efuse.h"
#include "soc/gpio_periph.h"
#include "soc/efuse_reg.h"
#include "soc/spi_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/soc_caps.h"
@@ -34,6 +31,11 @@ void bootloader_flash_update_id()
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);

View File

@@ -0,0 +1,283 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
#include <assert.h>
#include "string.h"
#include "sdkconfig.h"
#include "esp_err.h"
#include "esp_log.h"
#include "esp_rom_gpio.h"
#include "esp32c61/rom/spi_flash.h"
#include "soc/gpio_periph.h"
#include "soc/spi_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/soc_caps.h"
#include "flash_qio_mode.h"
#include "bootloader_flash_config.h"
#include "bootloader_common.h"
#include "bootloader_flash_priv.h"
#include "bootloader_init.h"
#include "hal/mmu_hal.h"
#include "hal/mmu_ll.h"
#include "hal/cache_hal.h"
#include "hal/cache_ll.h"
static const char *TAG __attribute__((unused)) = "boot.esp32c61";
void bootloader_flash_update_id()
{
esp_rom_spiflash_chip_t *chip = &rom_spiflash_legacy_data->chip;
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_HOLD_TIME_V, 0, SPI_MEM_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_SETUP_TIME_V, 0, SPI_MEM_CS_SETUP_TIME_S);
}
void IRAM_ATTR bootloader_flash_clock_config(const esp_image_header_t *pfhdr)
{
uint32_t spi_clk_div = 0;
switch (pfhdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_DIV_1:
spi_clk_div = 1;
break;
case ESP_IMAGE_SPI_SPEED_DIV_2:
spi_clk_div = 2;
break;
case ESP_IMAGE_SPI_SPEED_DIV_3:
spi_clk_div = 3;
break;
case ESP_IMAGE_SPI_SPEED_DIV_4:
spi_clk_div = 4;
break;
default:
break;
}
esp_rom_spiflash_config_clk(spi_clk_div, 0);
}
void IRAM_ATTR bootloader_configure_spi_pins(int drv)
{
uint8_t clk_gpio_num = SPI_CLK_GPIO_NUM;
uint8_t q_gpio_num = SPI_Q_GPIO_NUM;
uint8_t d_gpio_num = SPI_D_GPIO_NUM;
uint8_t cs0_gpio_num = SPI_CS0_GPIO_NUM;
uint8_t hd_gpio_num = SPI_HD_GPIO_NUM;
uint8_t wp_gpio_num = SPI_WP_GPIO_NUM;
esp_rom_gpio_pad_set_drv(clk_gpio_num, drv);
esp_rom_gpio_pad_set_drv(q_gpio_num, drv);
esp_rom_gpio_pad_set_drv(d_gpio_num, drv);
esp_rom_gpio_pad_set_drv(cs0_gpio_num, drv);
esp_rom_gpio_pad_set_drv(hd_gpio_num, drv);
esp_rom_gpio_pad_set_drv(wp_gpio_num, drv);
}
static void update_flash_config(const esp_image_header_t *bootloader_hdr)
{
uint32_t size;
switch (bootloader_hdr->spi_size) {
case ESP_IMAGE_FLASH_SIZE_1MB:
size = 1;
break;
case ESP_IMAGE_FLASH_SIZE_2MB:
size = 2;
break;
case ESP_IMAGE_FLASH_SIZE_4MB:
size = 4;
break;
case ESP_IMAGE_FLASH_SIZE_8MB:
size = 8;
break;
case ESP_IMAGE_FLASH_SIZE_16MB:
size = 16;
break;
default:
size = 2;
}
// Set flash chip size
esp_rom_spiflash_config_param(rom_spiflash_legacy_data->chip.device_id, size * 0x100000, 0x10000, 0x1000, 0x100, 0xffff); // TODO: set mode
}
static void print_flash_info(const esp_image_header_t *bootloader_hdr)
{
ESP_EARLY_LOGD(TAG, "magic %02x", bootloader_hdr->magic);
ESP_EARLY_LOGD(TAG, "segments %02x", bootloader_hdr->segment_count);
ESP_EARLY_LOGD(TAG, "spi_mode %02x", bootloader_hdr->spi_mode);
ESP_EARLY_LOGD(TAG, "spi_speed %02x", bootloader_hdr->spi_speed);
ESP_EARLY_LOGD(TAG, "spi_size %02x", bootloader_hdr->spi_size);
const char *str;
switch (bootloader_hdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_DIV_1:
str = "80MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_2:
str = "40MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_3:
str = "26.7MHz";
break;
case ESP_IMAGE_SPI_SPEED_DIV_4:
default:
str = "20MHz";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Speed : %s", str);
/* SPI mode could have been set to QIO during boot already,
so test the SPI registers not the flash header */
esp_rom_spiflash_read_mode_t spi_mode = bootloader_flash_get_spi_mode();
switch (spi_mode) {
case ESP_ROM_SPIFLASH_QIO_MODE:
str = "QIO";
break;
case ESP_ROM_SPIFLASH_QOUT_MODE:
str = "QOUT";
break;
case ESP_ROM_SPIFLASH_DIO_MODE:
str = "DIO";
break;
case ESP_ROM_SPIFLASH_DOUT_MODE:
str = "DOUT";
break;
case ESP_ROM_SPIFLASH_FASTRD_MODE:
str = "FAST READ";
break;
default:
str = "SLOW READ";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Mode : %s", str);
switch (bootloader_hdr->spi_size) {
case ESP_IMAGE_FLASH_SIZE_1MB:
str = "1MB";
break;
case ESP_IMAGE_FLASH_SIZE_2MB:
str = "2MB";
break;
case ESP_IMAGE_FLASH_SIZE_4MB:
str = "4MB";
break;
case ESP_IMAGE_FLASH_SIZE_8MB:
str = "8MB";
break;
case ESP_IMAGE_FLASH_SIZE_16MB:
str = "16MB";
break;
default:
str = "2MB";
break;
}
ESP_EARLY_LOGI(TAG, "SPI Flash Size : %s", str);
}
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_configure_spi_pins(1);
bootloader_flash_cs_timing_config();
}
static void bootloader_spi_flash_resume(void)
{
bootloader_execute_flash_command(CMD_RESUME, 0, 0, 0);
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
}
esp_err_t bootloader_init_spi_flash(void)
{
bootloader_init_flash_configure();
bootloader_spi_flash_resume();
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT
bootloader_enable_qio_mode();
#endif
print_flash_info(&bootloader_image_hdr);
cache_hal_disable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
update_flash_config(&bootloader_image_hdr);
cache_hal_enable(CACHE_LL_LEVEL_EXT_MEM, CACHE_TYPE_ALL);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
#if CONFIG_APP_BUILD_TYPE_RAM && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
static void bootloader_flash_set_spi_mode(const esp_image_header_t* pfhdr)
{
esp_rom_spiflash_read_mode_t mode;
switch(pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
mode = ESP_ROM_SPIFLASH_QIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_QOUT:
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
break;
case ESP_IMAGE_SPI_MODE_DIO:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
break;
case ESP_IMAGE_SPI_MODE_FAST_READ:
mode = ESP_ROM_SPIFLASH_FASTRD_MODE;
break;
case ESP_IMAGE_SPI_MODE_SLOW_READ:
mode = ESP_ROM_SPIFLASH_SLOWRD_MODE;
break;
default:
mode = ESP_ROM_SPIFLASH_DIO_MODE;
}
esp_rom_spiflash_config_readmode(mode);
}
void bootloader_flash_hardware_init(void)
{
esp_rom_spiflash_attach(0, false);
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
esp_err_t ret = bootloader_flash_xmc_startup();
assert(ret == ESP_OK);
/* Alternative of bootloader_init_spi_flash */
// RAM app doesn't have headers in the flash. Make a default one for it.
esp_image_header_t WORD_ALIGNED_ATTR hdr = {
.spi_mode = ESP_IMAGE_SPI_MODE_DIO,
.spi_speed = ESP_IMAGE_SPI_SPEED_DIV_2,
.spi_size = ESP_IMAGE_FLASH_SIZE_2MB,
};
bootloader_configure_spi_pins(1);
bootloader_flash_set_spi_mode(&hdr);
bootloader_flash_clock_config(&hdr);
// 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
*/
@@ -10,11 +10,8 @@
#include "esp_err.h"
#include "esp_log.h"
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "esp32h2/rom/spi_flash.h"
#include "esp32h2/rom/efuse.h"
#include "soc/gpio_periph.h"
#include "soc/efuse_reg.h"
#include "soc/spi_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/soc_caps.h"
@@ -35,6 +32,11 @@ void bootloader_flash_update_id()
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);

View File

@@ -28,6 +28,11 @@ void bootloader_flash_update_id()
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_C_USER_REG, SPI_MEM_C_CS_HOLD_M | SPI_MEM_C_CS_SETUP_M);

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -41,6 +41,11 @@ void bootloader_flash_update_id()
chip->device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
rom_spiflash_legacy_data->chip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
//SPI0/1 share the cs_hold / cs_setup, cd_hold_time / cd_setup_time, cs_hold_delay registers for FLASH, so we only need to set SPI0 related registers here

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -8,6 +8,9 @@
#include <inttypes.h>
#include "esp_assert.h"
// TODO: IDF-9197
#include "sdkconfig.h"
/**
* @brief ESP chip ID
*
@@ -21,7 +24,11 @@ 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 */
#if CONFIG_IDF_TARGET_ESP32C5_BETA3_VERSION // TODO: IDF-9197
ESP_CHIP_ID_ESP32C5 = 0x0011, /*!< chip ID: ESP32-C5 beta3 (MPW)*/
#elif CONFIG_IDF_TARGET_ESP32C5_MP_VERSION
ESP_CHIP_ID_ESP32C5 = 0x0017, /*!< chip ID: ESP32-C5 MP */
#endif
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

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -82,7 +82,7 @@ bool esp_flash_encryption_enabled(void);
* @note RTC_WDT will reset while encryption operations will be performed (if RTC_WDT is configured).
*
* @return ESP_OK if all operations succeeded, ESP_ERR_INVALID_STATE
* if a fatal error occured during encryption of all partitions.
* if a fatal error occurred during encryption of all partitions.
*/
esp_err_t esp_flash_encrypt_check_and_update(void);
@@ -178,12 +178,15 @@ esp_flash_enc_mode_t esp_get_flash_encryption_mode(void);
*/
void esp_flash_encryption_init_checks(void);
#if BOOTLOADER_BUILD && CONFIG_SECURE_FLASH_ENC_ENABLED
/** @brief Set all secure eFuse features related to flash encryption
*
* @return
* - ESP_OK - Successfully
*/
esp_err_t esp_flash_encryption_enable_secure_features(void);
#endif /* BOOTLOADER_BUILD && CONFIG_SECURE_FLASH_ENC_ENABLED */
/** @brief Returns the verification status for all physical security features of flash encryption in release mode
*

View File

@@ -33,6 +33,7 @@ typedef struct {
uint32_t segment_data[ESP_IMAGE_MAX_SEGMENTS]; /* Data offsets for each segment */
uint32_t image_len; /* Length of image on flash, in bytes */
uint8_t image_digest[32]; /* appended SHA-256 digest */
uint32_t secure_version; /* secure version for anti-rollback, it is covered by sha256 (set if CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK=y) */
} esp_image_metadata_t;
typedef enum {

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
*/
@@ -292,7 +292,7 @@ void esp_secure_boot_init_checks(void);
* @return
* - ESP_OK - At least one signature was found
* - ESP_ERR_NOT_FOUND - No signatures were found, num_digests value will be zero
* - ESP_FAIL - An error occured trying to read the signature blocks from flash
* - ESP_FAIL - An error occurred trying to read the signature blocks from flash
*/
esp_err_t esp_secure_boot_get_signature_blocks_for_running_app(bool digest_public_keys, esp_image_sig_public_key_digests_t *public_key_digests);
@@ -300,6 +300,11 @@ esp_err_t esp_secure_boot_get_signature_blocks_for_running_app(bool digest_publi
/** @brief Set all secure eFuse features related to secure_boot
*
* @note
* This API needs to be called in the eFuse batch mode.
* i.e. A call to esp_efuse_batch_write_begin() should be made prior to calling this API to start the batch mode
* After the API has been executed a call to esp_efuse_batch_write_commit()/esp_efuse_batch_write_cancel()
* should be made accordingly.
* @return
* - ESP_OK - Successfully
*/

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -9,7 +9,7 @@
#include "soc/chip_revision.h"
#include "hal/efuse_hal.h"
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4// TODO: IDF-5645
#if !CONFIG_IDF_TARGET_ESP32C6 && !CONFIG_IDF_TARGET_ESP32H2 && !CONFIG_IDF_TARGET_ESP32P4 && !CONFIG_IDF_TARGET_ESP32C5 &&! CONFIG_IDF_TARGET_ESP32C61 // TODO: IDF-5645
#include "soc/rtc_cntl_reg.h"
#else
#include "soc/lp_wdt_reg.h"
@@ -18,7 +18,7 @@
#include "soc/pmu_reg.h"
#endif
#if CONFIG_IDF_TARGET_ESP32
#if CONFIG_IDF_TARGET_ESP32 || CONFIG_IDF_TARGET_ESP32C5
#include "hal/clk_tree_ll.h"
#endif
#include "esp_rom_sys.h"
@@ -31,7 +31,7 @@ __attribute__((weak)) void bootloader_clock_configure(void)
// This is not needed on power on reset, when ROM bootloader is running at
// 40 MHz. But in case of TG WDT reset, CPU may still be running at >80 MHZ,
// and will be done with the bootloader much earlier than UART FIFO is empty.
esp_rom_uart_tx_wait_idle(0);
esp_rom_output_tx_wait_idle(0);
/* Set CPU to a higher certain frequency. Keep other clocks unmodified. */
int cpu_freq_mhz = CPU_CLK_FREQ_MHZ_BTLD;
@@ -53,14 +53,21 @@ __attribute__((weak)) void bootloader_clock_configure(void)
clk_cfg.cpu_freq_mhz = cpu_freq_mhz;
#if CONFIG_IDF_TARGET_ESP32C5
// TODO: [ESP32C5] IDF-9009 Check whether SOC_RTC_SLOW_CLK_SRC_RC_SLOW can be used on C5 MP
// RC150K can't do calibrate on ESP32C5MPW so not use it
clk_cfg.slow_clk_src = SOC_RTC_SLOW_CLK_SRC_RC32K;
#else
// Use RTC_SLOW clock source sel register field's default value, RC_SLOW, for 2nd stage bootloader
// RTC_SLOW clock source will be switched according to Kconfig selection at application startup
clk_cfg.slow_clk_src = rtc_clk_slow_src_get();
if (clk_cfg.slow_clk_src == SOC_RTC_SLOW_CLK_SRC_INVALID) {
clk_cfg.slow_clk_src = SOC_RTC_SLOW_CLK_SRC_RC_SLOW;
}
#endif
#if CONFIG_IDF_TARGET_ESP32C6
//TODO: [ESP32C61] IDF-9274, basic rtc support
#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32C5 || CONFIG_IDF_TARGET_ESP32C61
// TODO: IDF-5781 Some of esp32c6 SOC_RTC_FAST_CLK_SRC_XTAL_D2 rtc_fast clock has timing issue
// Force to use SOC_RTC_FAST_CLK_SRC_RC_FAST since 2nd stage bootloader
clk_cfg.fast_clk_src = SOC_RTC_FAST_CLK_SRC_RC_FAST;
@@ -87,7 +94,13 @@ __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
#if CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32C5 || CONFIG_IDF_TARGET_ESP32C61
#if CONFIG_IDF_TARGET_ESP32C5 || CONFIG_IDF_TARGET_ESP32C61
#define LP_ANALOG_PERI_LP_ANA_LP_INT_ENA_REG LP_ANA_LP_INT_ENA_REG
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_ENA LP_ANA_BOD_MODE0_LP_INT_ENA
#define LP_ANALOG_PERI_LP_ANA_LP_INT_CLR_REG LP_ANA_LP_INT_CLR_REG
#define LP_ANALOG_PERI_LP_ANA_BOD_MODE0_LP_INT_CLR LP_ANA_BOD_MODE0_LP_INT_CLR
#endif
// 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 */

View File

@@ -121,7 +121,7 @@ int bootloader_common_select_otadata(const esp_ota_select_entry_t *two_otadata,
#if CONFIG_BOOTLOADER_RESERVE_RTC_MEM
static uint32_t rtc_retain_mem_size(void) {
#ifdef CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
#if CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC && !CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC_IN_CRC
/* A custom memory has been reserved by the user, do not consider this memory into CRC calculation as it may change without
* the have the user updating the CRC. Return the offset of the custom field, which is equivalent to size of the structure
* minus the size of everything after (including) `custom` */

View File

@@ -1,30 +1,33 @@
/*
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include "bootloader_console.h"
#include "soc/soc_caps.h"
#include "soc/uart_periph.h"
#include "soc/uart_channel.h"
#include "soc/io_mux_reg.h"
#include "soc/gpio_periph.h"
#include "soc/gpio_sig_map.h"
#include "soc/rtc.h"
#include "hal/clk_gate_ll.h"
#include "hal/gpio_hal.h"
#if CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/usb/cdc_acm.h"
#include "esp32s2/rom/usb/usb_common.h"
#endif
#if SOC_USB_SERIAL_JTAG_SUPPORTED
#include "hal/usb_fsls_phy_ll.h"
#if CONFIG_ESP_CONSOLE_USB_CDC
#include "hal/usb_wrap_ll.h"
#endif
#include "esp_rom_gpio.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
#include "esp_rom_caps.h"
#if CONFIG_IDF_TARGET_ESP32C5
#include "soc/pcr_reg.h"
#endif
#ifdef CONFIG_ESP_CONSOLE_NONE
void bootloader_console_init(void)
@@ -44,7 +47,7 @@ void bootloader_console_init(void)
esp_rom_install_uart_printf();
// Wait for UART FIFO to be empty.
esp_rom_uart_tx_wait_idle(0);
esp_rom_output_tx_wait_idle(0);
#if CONFIG_ESP_CONSOLE_UART_CUSTOM
// Some constants to make the following code less upper-case
@@ -52,7 +55,7 @@ void bootloader_console_init(void)
const int uart_rx_gpio = CONFIG_ESP_CONSOLE_UART_RX_GPIO;
// Switch to the new UART (this just changes UART number used for esp_rom_printf in ROM code).
esp_rom_uart_set_as_console(uart_num);
esp_rom_output_set_as_console(uart_num);
// If console is attached to UART1 or if non-default pins are used,
// need to reconfigure pins using GPIO matrix
@@ -85,6 +88,13 @@ void bootloader_console_init(void)
#if ESP_ROM_UART_CLK_IS_XTAL
clock_hz = (uint32_t)rtc_clk_xtal_freq_get() * MHZ; // From esp32-s3 on, UART clk source is selected to XTAL in ROM
#endif
#if CONFIG_IDF_TARGET_ESP32C5_MP_VERSION
#if CONFIG_IDF_ENV_FPGA
clock_hz = CONFIG_XTAL_FREQ * MHZ;
#else
clock_hz = REG_GET_FIELD(PCR_SYSCLK_CONF_REG, PCR_CLK_XTAL_FREQ) * MHZ;
#endif // CONFIG_IDF_ENV_FPGA
#endif // CONFIG_IDF_TARGET_ESP32C5_MP_VERSION
esp_rom_uart_set_clock_baudrate(uart_num, clock_hz, CONFIG_ESP_CONSOLE_UART_BAUDRATE);
}
#endif // CONFIG_ESP_CONSOLE_UART
@@ -102,19 +112,25 @@ void bootloader_console_init(void)
rom_usb_cdc_set_descriptor_patch();
#endif
esp_rom_uart_usb_acm_init(s_usb_cdc_buf, sizeof(s_usb_cdc_buf));
esp_rom_uart_set_as_console(ESP_ROM_USB_OTG_NUM);
esp_rom_output_usb_acm_init(s_usb_cdc_buf, sizeof(s_usb_cdc_buf));
esp_rom_output_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_fsls_phy_ll_usb_wrap_pad_enable(&USB_WRAP, true);
usb_fsls_phy_ll_int_otg_enable(&USB_WRAP);
#endif
// Ensure that the USB FSLS PHY is mapped to the USB WRAP
usb_wrap_ll_phy_enable_pad(&USB_WRAP, true);
usb_wrap_ll_phy_enable_external(&USB_WRAP, false);
}
#endif //CONFIG_ESP_CONSOLE_USB_CDC
#ifdef CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG
void bootloader_console_init(void)
{
esp_rom_uart_switch_buffer(ESP_ROM_USB_SERIAL_DEVICE_NUM);
esp_rom_output_switch_buffer(ESP_ROM_USB_SERIAL_DEVICE_NUM);
/* Switch console channel to avoid output on UART and allow */
esp_rom_output_set_as_console(ESP_ROM_USB_SERIAL_DEVICE_NUM);
/* ROM printf by default also prints to USB-Serial-JTAG on channel 2
need to disable to not print twice */
esp_rom_install_channel_putc(2, NULL);
}
#endif //CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG

View File

@@ -67,7 +67,7 @@ void bootloader_console_deinit(void)
{
#ifdef CONFIG_ESP_CONSOLE_UART
/* Ensure any buffered log output is displayed */
esp_rom_uart_flush_tx(CONFIG_ESP_CONSOLE_UART_NUM);
esp_rom_output_flush_tx(CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM);
#endif // CONFIG_ESP_CONSOLE_UART
#ifdef CONFIG_ESP_CONSOLE_USB_CDC

View File

@@ -30,6 +30,12 @@ int bootloader_clock_get_rated_freq_mhz(void)
#elif CONFIG_IDF_TARGET_ESP32C6
return 160;
#elif CONFIG_IDF_TARGET_ESP32C61 //TODO: [ESP32C61] IDF-9282
return 160;
#elif CONFIG_IDF_TARGET_ESP32C5
return 160;
#elif CONFIG_IDF_TARGET_ESP32H2
//IDF-6570
return 96;

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -16,6 +16,12 @@
#include "hal/apm_hal.h"
#endif
#if CONFIG_IDF_TARGET_ESP32C5_BETA3_VERSION // TODO: IDF-8615 Remove the workaround when APM supported on C5!
#include "soc/hp_apm_reg.h"
#include "soc/lp_apm_reg.h"
#include "soc/lp_apm0_reg.h"
#endif
void bootloader_init_mem(void)
{
@@ -30,8 +36,15 @@ void bootloader_init_mem(void)
apm_hal_apm_ctrl_filter_enable_all(false);
#endif
#if CONFIG_IDF_TARGET_ESP32C5_BETA3_VERSION // TODO: IDF-8615 Remove the workaround when APM supported on C5!
// disable apm filter
REG_WRITE(LP_APM_FUNC_CTRL_REG, 0);
REG_WRITE(LP_APM0_FUNC_CTRL_REG, 0);
REG_WRITE(HP_APM_FUNC_CTRL_REG, 0);
#endif
#ifdef CONFIG_BOOTLOADER_REGION_PROTECTION_ENABLE
// protect memory region
esp_cpu_configure_region_protection();
esp_cpu_configure_region_protection(); // TODO: [ESP32C5] IDF-8833 PSRAM support write
#endif
}

View File

@@ -28,6 +28,9 @@
#if (defined CONFIG_IDF_TARGET_ESP32C6 || defined CONFIG_IDF_TARGET_ESP32H2)
#define RNG_CPU_WAIT_CYCLE_NUM (80 * 16) // Keep the byte sampling frequency in the ~62KHz range which has been
// tested.
#elif CONFIG_IDF_TARGET_ESP32P4
// bootloader tested with around 63 KHz bytes reading frequency
#define RNG_CPU_WAIT_CYCLE_NUM (CPU_CLK_FREQ_MHZ_BTLD * 16)
#else
#define RNG_CPU_WAIT_CYCLE_NUM (80 * 32 * 2) /* extra factor of 2 is precautionary */
#endif

View File

@@ -0,0 +1,23 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include "soc/soc.h"
#include "soc/pcr_reg.h"
#include "soc/pmu_reg.h"
#include "hal/regi2c_ctrl.h"
#include "esp_log.h"
void bootloader_random_enable(void)
{
// TODO: [ESP32C5] IDF-8626, IDF-9197
ESP_EARLY_LOGW("bootloader_random", "bootloader_random_enable() has not been implemented on C5 yet");
}
void bootloader_random_disable(void)
{
// TODO: [ESP32C5] IDF-8626, IDF-9197
ESP_EARLY_LOGW("bootloader_random", "bootloader_random_disable() has not been implemented on C5 yet");
}

View File

@@ -1,22 +1,100 @@
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "sdkconfig.h"
#include "bootloader_random.h"
#include "esp_log.h"
#include "soc/soc.h"
#include "soc/adc_reg.h"
#include "soc/pmu_reg.h"
#include "soc/regi2c_saradc.h"
#include "soc/hp_sys_clkrst_reg.h"
#include "soc/rtcadc_reg.h"
#include "esp_private/regi2c_ctrl.h"
#include "esp_rom_regi2c.h"
static const char *TAG = "bootloader_random";
// TODO IDF-6497: once ADC API is supported, use the API instead of defining functions and constants here
#define I2C_SAR_ADC_INIT_CODE_VAL 2166
typedef struct {
int atten;
int channel;
} pattern_item;
typedef struct {
pattern_item item[4];
} pattern_table;
static void adc1_fix_initcode_set(uint32_t initcode_value)
{
uint32_t msb = initcode_value >> 8;
uint32_t lsb = initcode_value & 0xff;
REGI2C_WRITE_MASK(I2C_SAR_ADC, I2C_SAR_ADC_SAR1_INIT_CODE_MSB, msb);
REGI2C_WRITE_MASK(I2C_SAR_ADC, I2C_SAR_ADC_SAR1_INIT_CODE_LSB, lsb);
}
//total 4 tables
static void hpadc_sar1_pattern_table_cfg(unsigned int table_idx, pattern_table table)
{
uint32_t wdata = 0;
wdata = (table.item[0].channel << 20 | table.item[0].atten << 18 |
table.item[1].channel << 14|table.item[1].atten << 12 |
table.item[2].channel << 8 |table.item[2].atten << 6 |
table.item[3].channel << 2 |table.item[3].atten);
WRITE_PERI_REG(ADC_SAR1_PATT_TAB1_REG + table_idx * 4, wdata);
}
void bootloader_random_enable(void)
{
// TODO: IDF-6522
ESP_EARLY_LOGW(TAG, "bootloader_random_enable() has not been implemented yet");
pattern_table sar1_table[4] = {};
uint32_t pattern_len = 0;
SET_PERI_REG_MASK(HP_SYS_CLKRST_SOC_CLK_CTRL2_REG, HP_SYS_CLKRST_REG_ADC_APB_CLK_EN);
SET_PERI_REG_MASK(HP_SYS_CLKRST_PERI_CLK_CTRL23_REG, HP_SYS_CLKRST_REG_ADC_CLK_EN);
SET_PERI_REG_MASK(RTCADC_MEAS1_MUX_REG, RTCADC_SAR1_DIG_FORCE);
SET_PERI_REG_MASK(PMU_RF_PWC_REG,PMU_XPD_PERIF_I2C);
uint32_t sar1_clk_div_num = GET_PERI_REG_BITS2((HP_SYS_CLKRST_PERI_CLK_CTRL24_REG),
(HP_SYS_CLKRST_REG_ADC_SAR1_CLK_DIV_NUM_M),
(HP_SYS_CLKRST_REG_ADC_SAR1_CLK_DIV_NUM_S));
SET_PERI_REG_MASK(ADC_CTRL_REG_REG, ADC_START_FORCE); //start force 1
adc1_fix_initcode_set(I2C_SAR_ADC_INIT_CODE_VAL);
// cfg pattern table
sar1_table[0].item[0].channel = 10; //rand() % 6;
sar1_table[0].item[0].atten = 3;
sar1_table[0].item[1].channel = 10;
sar1_table[0].item[1].atten = 3;
sar1_table[0].item[2].channel = 10;
sar1_table[0].item[2].atten = 3;
sar1_table[0].item[3].channel = 10;
sar1_table[0].item[3].atten = 3;
hpadc_sar1_pattern_table_cfg(0, sar1_table[0]);
SET_PERI_REG_BITS(ADC_CTRL_REG_REG, ADC_SAR1_PATT_LEN, pattern_len, ADC_SAR1_PATT_LEN_S);
SET_PERI_REG_BITS(ADC_CTRL_REG_REG, ADC_XPD_SAR1_FORCE, 3, ADC_XPD_SAR1_FORCE_S);
SET_PERI_REG_BITS(ADC_CTRL_REG_REG, ADC_XPD_SAR2_FORCE, 3, ADC_XPD_SAR2_FORCE_S);
REGI2C_WRITE_MASK(I2C_SAR_ADC, I2C_SAR_ADC_ENT_VDD_GRP1, 1);
REGI2C_WRITE_MASK(I2C_SAR_ADC, I2C_SAR_ADC_DTEST_VDD_GRP1, 0);
CLEAR_PERI_REG_MASK(ADC_CTRL_REG_REG, ADC_START_FORCE);
SET_PERI_REG_MASK(ADC_CTRL2_REG, ADC_TIMER_EN);
SET_PERI_REG_BITS(ADC_CTRL2_REG, ADC_TIMER_TARGET, sar1_clk_div_num * 25, ADC_TIMER_TARGET_S);
while (GET_PERI_REG_MASK(ADC_INT_RAW_REG, ADC_SAR1_DONE_INT_RAW) == 0) { }
SET_PERI_REG_MASK(ADC_INT_CLR_REG, ADC_APB_SARADC1_DONE_INT_CLR);
}
void bootloader_random_disable(void)
{
// TODO: IDF-6522
ESP_EARLY_LOGW(TAG, "bootloader_random_enable() has not been implemented yet");
// No-op for now TODO IDF-6497
// ADC should be set to defaults here, once ADC API is implemented
// OR just keep this empty and let application continue to use RNG initialized by the bootloader
}

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2018-2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2018-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -15,33 +15,7 @@
#include "esp_rom_uart.h"
#include "sdkconfig.h"
#if CONFIG_IDF_TARGET_ESP32
#include "soc/dport_reg.h"
#include "esp32/rom/cache.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#elif CONFIG_IDF_TARGET_ESP32S3
#elif CONFIG_IDF_TARGET_ESP32C3
#include "esp32c3/rom/efuse.h"
#include "esp32c3/rom/crc.h"
#include "esp32c3/rom/uart.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"
#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"
#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"
#elif CONFIG_IDF_TARGET_ESP32P4
#else // CONFIG_IDF_TARGET_*
#error "Unsupported IDF_TARGET"
#endif
#include "esp_rom_spiflash.h"
@@ -442,8 +416,7 @@ static bool try_load_partition(const esp_partition_pos_t *partition, esp_image_m
}
#ifdef BOOTLOADER_BUILD
if (bootloader_load_image(partition, data) == ESP_OK) {
ESP_LOGI(TAG, "Loaded app from partition at offset 0x%x",
partition->offset);
ESP_LOGI(TAG, "Loaded app from partition at offset 0x%" PRIx32, partition->offset);
return true;
}
#endif
@@ -642,7 +615,25 @@ static void load_image(const esp_image_metadata_t *image_data)
*/
ESP_LOGI(TAG, "Checking flash encryption...");
bool flash_encryption_enabled = esp_flash_encrypt_state();
if (!flash_encryption_enabled) {
if (flash_encryption_enabled) {
#if BOOTLOADER_BUILD
/* Ensure security eFuses are burnt */
esp_efuse_batch_write_begin();
esp_err_t err = esp_flash_encryption_enable_secure_features();
if (err != ESP_OK) {
ESP_LOGE(TAG, "Error setting security eFuses (err=0x%x).", err);
esp_efuse_batch_write_cancel();
return;
}
err = esp_efuse_batch_write_commit();
if (err != ESP_OK) {
ESP_LOGE(TAG, "Error programming security eFuses (err=0x%x).", err);
return;
}
ESP_LOGI(TAG, "Security eFuses are burnt");
#endif // BOOTLOADER_BUILD
} else {
#ifdef CONFIG_SECURE_FLASH_REQUIRE_ALREADY_ENABLED
ESP_LOGE(TAG, "flash encryption is not enabled, and SECURE_FLASH_REQUIRE_ALREADY_ENABLED is set, refusing to boot.");
return;
@@ -707,7 +698,7 @@ static void load_image(const esp_image_metadata_t *image_data)
so issue a system reset to ensure flash encryption
cache resets properly */
ESP_LOGI(TAG, "Resetting with flash encryption enabled...");
esp_rom_uart_tx_wait_idle(0);
esp_rom_output_tx_wait_idle(0);
bootloader_reset();
}
#endif
@@ -837,7 +828,7 @@ static void set_cache_and_start_app(
//-----------------------MAP DROM--------------------------
uint32_t drom_load_addr_aligned = drom_load_addr & MMU_FLASH_MASK;
uint32_t drom_addr_aligned = drom_addr & MMU_FLASH_MASK;
ESP_EARLY_LOGV(TAG, "rodata starts from paddr=0x%08x, vaddr=0x%08x, size=0x%x", drom_addr, drom_load_addr, drom_size);
ESP_EARLY_LOGV(TAG, "rodata starts from paddr=0x%08" PRIx32 ", vaddr=0x%08" PRIx32 ", size=0x%" PRIx32, drom_addr, drom_load_addr, drom_size);
//The addr is aligned, so we add the mask off length to the size, to make sure the corresponding buses are enabled.
drom_size = (drom_load_addr - drom_load_addr_aligned) + drom_size;
#if CONFIG_IDF_TARGET_ESP32
@@ -846,17 +837,17 @@ static void set_cache_and_start_app(
ESP_EARLY_LOGV(TAG, "rc=%d", rc);
rc = cache_flash_mmu_set(1, 0, drom_load_addr_aligned, drom_addr_aligned, 64, drom_page_count);
ESP_EARLY_LOGV(TAG, "rc=%d", rc);
ESP_EARLY_LOGV(TAG, "after mapping rodata, starting from paddr=0x%08x and vaddr=0x%08x, 0x%x bytes are mapped", drom_addr_aligned, drom_load_addr_aligned, drom_page_count * SPI_FLASH_MMU_PAGE_SIZE);
ESP_EARLY_LOGV(TAG, "after mapping rodata, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", drom_addr_aligned, drom_load_addr_aligned, drom_page_count * SPI_FLASH_MMU_PAGE_SIZE);
#else
uint32_t actual_mapped_len = 0;
mmu_hal_map_region(0, MMU_TARGET_FLASH0, drom_load_addr_aligned, drom_addr_aligned, drom_size, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping rodata, starting from paddr=0x%08x and vaddr=0x%08x, 0x%x bytes are mapped", drom_addr_aligned, drom_load_addr_aligned, actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping rodata, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", drom_addr_aligned, drom_load_addr_aligned, actual_mapped_len);
#endif
//-----------------------MAP IROM--------------------------
uint32_t irom_load_addr_aligned = irom_load_addr & MMU_FLASH_MASK;
uint32_t irom_addr_aligned = irom_addr & MMU_FLASH_MASK;
ESP_EARLY_LOGV(TAG, "text starts from paddr=0x%08x, vaddr=0x%08x, size=0x%x", irom_addr, irom_load_addr, irom_size);
ESP_EARLY_LOGV(TAG, "text starts from paddr=0x%08" PRIx32 ", vaddr=0x%08" PRIx32 ", size=0x%" PRIx32, irom_addr, irom_load_addr, irom_size);
//The addr is aligned, so we add the mask off length to the size, to make sure the corresponding buses are enabled.
irom_size = (irom_load_addr - irom_load_addr_aligned) + irom_size;
#if CONFIG_IDF_TARGET_ESP32
@@ -865,10 +856,10 @@ static void set_cache_and_start_app(
ESP_EARLY_LOGV(TAG, "rc=%d", rc);
rc = cache_flash_mmu_set(1, 0, irom_load_addr_aligned, irom_addr_aligned, 64, irom_page_count);
ESP_LOGV(TAG, "rc=%d", rc);
ESP_EARLY_LOGV(TAG, "after mapping text, starting from paddr=0x%08x and vaddr=0x%08x, 0x%x bytes are mapped", irom_addr_aligned, irom_load_addr_aligned, irom_page_count * SPI_FLASH_MMU_PAGE_SIZE);
ESP_EARLY_LOGV(TAG, "after mapping text, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", irom_addr_aligned, irom_load_addr_aligned, irom_page_count * SPI_FLASH_MMU_PAGE_SIZE);
#else
mmu_hal_map_region(0, MMU_TARGET_FLASH0, irom_load_addr_aligned, irom_addr_aligned, irom_size, &actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping text, starting from paddr=0x%08x and vaddr=0x%08x, 0x%x bytes are mapped", irom_addr_aligned, irom_load_addr_aligned, actual_mapped_len);
ESP_EARLY_LOGV(TAG, "after mapping text, starting from paddr=0x%08" PRIx32 " and vaddr=0x%08" PRIx32 ", 0x%" PRIx32 " bytes are mapped", irom_addr_aligned, irom_load_addr_aligned, actual_mapped_len);
#endif
//----------------------Enable corresponding buses----------------

View File

@@ -35,7 +35,7 @@ esp_err_t esp_flash_encryption_enable_secure_features(void)
crypt_config = EFUSE_FLASH_CRYPT_CONFIG;
esp_efuse_write_field_blob(ESP_EFUSE_ENCRYPT_CONFIG, &crypt_config, 4);
} else if (crypt_config != EFUSE_FLASH_CRYPT_CONFIG) {
ESP_LOGE(TAG, "EFUSE_ENCRYPT_CONFIG should be set 0xF but it is 0x%x", crypt_config);
ESP_LOGE(TAG, "EFUSE_ENCRYPT_CONFIG should be set 0xF but it is 0x%" PRIx32, crypt_config);
}
#ifndef CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC

View File

@@ -10,11 +10,9 @@
#include "esp_image_format.h"
#include "flash_qio_mode.h"
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
#include "esp_rom_spiflash.h"
#include "soc/efuse_reg.h"
#include "soc/gpio_sig_map.h"
#include "soc/io_mux_reg.h"
#include "soc/assist_debug_reg.h"
@@ -24,7 +22,6 @@
#include "soc/extmem_reg.h"
#include "soc/io_mux_reg.h"
#include "soc/system_reg.h"
#include "esp32c2/rom/efuse.h"
#include "esp32c2/rom/ets_sys.h"
#include "esp32c2/rom/rtc.h"
#include "bootloader_common.h"

View File

@@ -10,11 +10,9 @@
#include "esp_image_format.h"
#include "flash_qio_mode.h"
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
#include "esp_rom_spiflash.h"
#include "soc/efuse_reg.h"
#include "soc/gpio_sig_map.h"
#include "soc/io_mux_reg.h"
#include "soc/assist_debug_reg.h"
@@ -26,7 +24,6 @@
#include "soc/io_mux_reg.h"
#include "soc/system_reg.h"
#include "soc/chip_revision.h"
#include "esp32c3/rom/efuse.h"
#include "esp32c3/rom/ets_sys.h"
#include "bootloader_common.h"
#include "bootloader_init.h"

View File

@@ -0,0 +1,174 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdint.h>
#include "sdkconfig.h"
#include "esp_attr.h"
#include "esp_log.h"
#include "esp_image_format.h"
#include "flash_qio_mode.h"
#include "esp_rom_gpio.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
#include "esp_rom_spiflash.h"
#include "soc/soc_caps.h"
#include "soc/gpio_sig_map.h"
#include "soc/io_mux_reg.h"
#include "soc/assist_debug_reg.h"
#include "esp_cpu.h"
#include "soc/rtc.h"
#include "soc/spi_periph.h"
#include "soc/cache_reg.h"
#include "soc/io_mux_reg.h"
#include "soc/pcr_reg.h"
#include "esp32c5/rom/ets_sys.h"
#include "esp32c5/rom/spi_flash.h"
#include "bootloader_common.h"
#include "bootloader_init.h"
#include "bootloader_clock.h"
#include "bootloader_flash_config.h"
#include "bootloader_mem.h"
#include "esp_private/regi2c_ctrl.h"
#include "bootloader_console.h"
#include "bootloader_flash_priv.h"
#include "bootloader_soc.h"
#include "esp_private/bootloader_flash_internal.h"
#include "esp_efuse.h"
#include "hal/mmu_hal.h"
#include "hal/cache_hal.h"
#include "hal/clk_tree_ll.h"
#include "soc/lp_wdt_reg.h"
#include "hal/efuse_hal.h"
#include "hal/lpwdt_ll.h"
#if SOC_MODEM_CLOCK_SUPPORTED
#include "modem/modem_lpcon_reg.h"
#endif
static const char *TAG = "boot.esp32c5";
static void wdt_reset_cpu0_info_enable(void)
{
REG_SET_BIT(PCR_ASSIST_CONF_REG, PCR_ASSIST_CLK_EN);
REG_CLR_BIT(PCR_ASSIST_CONF_REG, PCR_ASSIST_RST_EN);
REG_WRITE(ASSIST_DEBUG_CORE_0_RCD_EN_REG, ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN | ASSIST_DEBUG_CORE_0_RCD_RECORDEN);
}
static void wdt_reset_info_dump(int cpu)
{
(void) cpu;
// saved PC was already printed by the ROM bootloader.
// nothing to do here.
}
static void bootloader_check_wdt_reset(void)
{
int wdt_rst = 0;
soc_reset_reason_t rst_reason = esp_rom_get_reset_reason(0);
if (rst_reason == RESET_REASON_CORE_RTC_WDT || rst_reason == RESET_REASON_CORE_MWDT0 || rst_reason == RESET_REASON_CORE_MWDT1 ||
rst_reason == RESET_REASON_CPU0_MWDT0 || rst_reason == RESET_REASON_CPU0_MWDT1 || rst_reason == RESET_REASON_CPU0_RTC_WDT) {
ESP_LOGW(TAG, "PRO CPU has been reset by WDT.");
wdt_rst = 1;
}
if (wdt_rst) {
// if reset by WDT dump info from trace port
wdt_reset_info_dump(0);
}
wdt_reset_cpu0_info_enable();
}
static void bootloader_super_wdt_auto_feed(void)
{
REG_WRITE(LP_WDT_SWD_WPROTECT_REG, LP_WDT_SWD_WKEY_VALUE);
REG_SET_BIT(LP_WDT_SWD_CONFIG_REG, LP_WDT_SWD_AUTO_FEED_EN);
REG_WRITE(LP_WDT_SWD_WPROTECT_REG, 0);
}
static inline void bootloader_hardware_init(void)
{
/* Enable analog i2c master clock */
#if SOC_MODEM_CLOCK_SUPPORTED
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);
#endif
}
static inline void bootloader_ana_reset_config(void)
{
// TODO: [ESP32C5] IDF-8650
//Enable super WDT reset.
// bootloader_ana_super_wdt_reset_config(true);
// TODO: [ESP32C5] IDF-8647
//Enable BOD reset
// bootloader_ana_bod_reset_config(true);
}
esp_err_t bootloader_init(void)
{
esp_err_t ret = ESP_OK;
bootloader_hardware_init();
bootloader_ana_reset_config();
bootloader_super_wdt_auto_feed();
// In RAM_APP, memory will be initialized in `call_start_cpu0`
#if !CONFIG_APP_BUILD_TYPE_RAM
// protect memory region
bootloader_init_mem();
/* check that static RAM is after the stack */
assert(&_bss_start <= &_bss_end);
assert(&_data_start <= &_data_end);
// clear bss section
bootloader_clear_bss_section();
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// init eFuse virtual mode (read eFuses to RAM)
#ifdef CONFIG_EFUSE_VIRTUAL
ESP_LOGW(TAG, "eFuse virtual mode is enabled. If Secure boot or Flash encryption is enabled then it does not provide any security. FOR TESTING ONLY!");
#ifndef CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH
esp_efuse_init_virtual_mode_in_ram();
#endif
#endif
// config clock
bootloader_clock_configure();
// initialize console, from now on, we can use esp_log
bootloader_console_init();
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_RAM
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
if ((ret = bootloader_flash_xmc_startup()) != ESP_OK) {
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
}
// read chip revision and check if it's compatible to bootloader
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happend
bootloader_check_wdt_reset();
// config WDT
bootloader_config_wdt();
// enable RNG early entropy source
bootloader_enable_random();
return ret;
}

View File

@@ -0,0 +1,44 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "bootloader_sha.h"
#include <stdbool.h>
#include <string.h>
#include <assert.h>
#include <sys/param.h>
#include "esp32c5/rom/sha.h"
static SHA_CTX ctx;
bootloader_sha256_handle_t bootloader_sha256_start()
{
// Enable SHA hardware
ets_sha_enable();
ets_sha_init(&ctx, SHA2_256);
return &ctx; // Meaningless non-NULL value
}
void bootloader_sha256_data(bootloader_sha256_handle_t handle, const void *data, size_t data_len)
{
assert(handle != NULL);
/* C5 secure boot key field consists of 1 byte of curve identifier and 64 bytes of ECDSA public key.
* While verifying the signature block, we need to calculate the SHA of this key field which is of 65 bytes.
* ets_sha_update handles it cleanly so we can safely remove the check:
* assert(data_len % 4) == 0
*/
ets_sha_update(&ctx, data, data_len, false);
}
void bootloader_sha256_finish(bootloader_sha256_handle_t handle, uint8_t *digest)
{
assert(handle != NULL);
if (digest == NULL) {
bzero(&ctx, sizeof(ctx));
return;
}
ets_sha_finish(&ctx, digest);
}

View File

@@ -0,0 +1,30 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
#include <assert.h>
#include "soc/soc.h"
#include "soc/lp_analog_peri_reg.h"
// TODO: [ESP32C5] IDF-8667 remove esp_log.h
#include "esp_log.h"
void bootloader_ana_super_wdt_reset_config(bool enable)
{
// TODO: [ESP32C5] IDF-8667
ESP_EARLY_LOGW("bootloader", "bootloader_ana_super_wdt_reset_config() has not been implemented on C5 yet");
}
void bootloader_ana_bod_reset_config(bool enable)
{
// TODO: [ESP32C5] IDF-8667
ESP_EARLY_LOGW("bootloader", "bootloader_ana_bod_reset_config() has not been implemented on C5 yet");
}
//Not supported but common bootloader calls the function. Do nothing
void bootloader_ana_clock_glitch_reset_config(bool enable)
{
// TODO: [ESP32C5] IDF-8667
(void)enable;
}

View File

@@ -23,12 +23,13 @@ esp_err_t esp_flash_encryption_enable_secure_features(void)
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
// TODO: [ESP32C5] IDF-8623 check if the following code is still supported
// #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...");

View File

@@ -0,0 +1,70 @@
/*
* SPDX-FileCopyrightText: 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 = "secure_boot";
esp_err_t esp_secure_boot_enable_secure_features(void)
{
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DIRECT_BOOT);
#ifdef CONFIG_SECURE_ENABLE_SECURE_ROM_DL_MODE
ESP_LOGI(TAG, "Enabling Security download mode...");
esp_err_t err = esp_efuse_enable_rom_secure_download_mode();
if (err != ESP_OK) {
ESP_LOGE(TAG, "Could not enable Security download mode...");
return err;
}
#elif CONFIG_SECURE_DISABLE_ROM_DL_MODE
ESP_LOGI(TAG, "Disable ROM Download mode...");
esp_err_t err = esp_efuse_disable_rom_download_mode();
if (err != ESP_OK) {
ESP_LOGE(TAG, "Could not disable ROM Download mode...");
return err;
}
#else
ESP_LOGW(TAG, "UART ROM Download mode kept enabled - SECURITY COMPROMISED");
#endif
#ifndef CONFIG_SECURE_BOOT_ALLOW_JTAG
ESP_LOGI(TAG, "Disable hardware & software JTAG...");
esp_efuse_write_field_bit(ESP_EFUSE_DIS_PAD_JTAG);
esp_efuse_write_field_bit(ESP_EFUSE_DIS_USB_JTAG);
esp_efuse_write_field_cnt(ESP_EFUSE_SOFT_DIS_JTAG, ESP_EFUSE_SOFT_DIS_JTAG[0]->bit_count);
#else
ESP_LOGW(TAG, "Not disabling JTAG - SECURITY COMPROMISED");
#endif
#ifdef CONFIG_SECURE_BOOT_ENABLE_AGGRESSIVE_KEY_REVOKE
esp_efuse_write_field_bit(ESP_EFUSE_SECURE_BOOT_AGGRESSIVE_REVOKE);
#endif
esp_efuse_write_field_bit(ESP_EFUSE_SECURE_BOOT_EN);
#ifndef CONFIG_SECURE_BOOT_V2_ALLOW_EFUSE_RD_DIS
bool rd_dis_now = true;
#ifdef CONFIG_SECURE_FLASH_ENC_ENABLED
/* If flash encryption is not enabled yet then don't read-disable efuses yet, do it later in the boot
when Flash Encryption is being enabled */
rd_dis_now = esp_flash_encryption_enabled();
#endif
if (rd_dis_now) {
ESP_LOGI(TAG, "Prevent read disabling of additional efuses...");
esp_efuse_write_field_bit(ESP_EFUSE_WR_DIS_RD_DIS);
}
#else
ESP_LOGW(TAG, "Allowing read disabling of additional efuses - SECURITY COMPROMISED");
#endif
return ESP_OK;
}

View File

@@ -10,7 +10,6 @@
#include "esp_image_format.h"
#include "flash_qio_mode.h"
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
#include "esp_rom_spiflash.h"
@@ -23,7 +22,6 @@
#include "soc/extmem_reg.h"
#include "soc/io_mux_reg.h"
#include "soc/pcr_reg.h"
#include "esp32c6/rom/efuse.h"
#include "esp32c6/rom/ets_sys.h"
#include "esp32c6/rom/spi_flash.h"
#include "bootloader_common.h"

View File

@@ -0,0 +1,179 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdint.h>
#include "sdkconfig.h"
#include "esp_attr.h"
#include "esp_log.h"
#include "esp_image_format.h"
#include "flash_qio_mode.h"
#include "esp_rom_gpio.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
#include "esp_rom_spiflash.h"
#include "soc/gpio_sig_map.h"
#include "soc/io_mux_reg.h"
#include "soc/assist_debug_reg.h"
#include "esp_cpu.h"
#include "soc/rtc.h"
#include "soc/spi_periph.h"
#include "soc/cache_reg.h"
#include "soc/io_mux_reg.h"
#include "soc/pcr_reg.h"
#include "esp32c61/rom/ets_sys.h"
#include "esp32c61/rom/spi_flash.h"
#include "bootloader_common.h"
#include "bootloader_init.h"
#include "bootloader_clock.h"
#include "bootloader_flash_config.h"
#include "bootloader_mem.h"
#include "esp_private/regi2c_ctrl.h"
#include "soc/regi2c_lp_bias.h"
#include "soc/regi2c_bias.h"
#include "bootloader_console.h"
#include "bootloader_flash_priv.h"
#include "bootloader_soc.h"
#include "esp_private/bootloader_flash_internal.h"
#include "esp_efuse.h"
#include "hal/mmu_hal.h"
#include "hal/cache_hal.h"
#include "hal/clk_tree_ll.h"
#include "soc/lp_wdt_reg.h"
#include "hal/efuse_hal.h"
#include "hal/lpwdt_ll.h"
static const char *TAG = "boot.esp32c61";
static void wdt_reset_cpu0_info_enable(void)
{
REG_SET_BIT(PCR_ASSIST_CONF_REG, PCR_ASSIST_CLK_EN);
REG_CLR_BIT(PCR_ASSIST_CONF_REG, PCR_ASSIST_RST_EN);
REG_WRITE(ASSIST_DEBUG_CORE_0_RCD_EN_REG, ASSIST_DEBUG_CORE_0_RCD_PDEBUGEN | ASSIST_DEBUG_CORE_0_RCD_RECORDEN);
}
static void wdt_reset_info_dump(int cpu)
{
(void) cpu;
// saved PC was already printed by the ROM bootloader.
// nothing to do here.
}
static void bootloader_check_wdt_reset(void)
{
int wdt_rst = 0;
soc_reset_reason_t rst_reason = esp_rom_get_reset_reason(0);
if (rst_reason == RESET_REASON_CORE_RTC_WDT || rst_reason == RESET_REASON_CORE_MWDT0 || rst_reason == RESET_REASON_CORE_MWDT1 ||
rst_reason == RESET_REASON_CPU0_MWDT0 || rst_reason == RESET_REASON_CPU0_MWDT1 || rst_reason == RESET_REASON_CPU0_RTC_WDT) {
ESP_LOGW(TAG, "PRO CPU has been reset by WDT.");
wdt_rst = 1;
}
if (wdt_rst) {
// if reset by WDT dump info from trace port
wdt_reset_info_dump(0);
}
wdt_reset_cpu0_info_enable();
}
static void bootloader_super_wdt_auto_feed(void)
{
REG_WRITE(LP_WDT_SWD_WPROTECT_REG, LP_WDT_SWD_WKEY_VALUE);
REG_SET_BIT(LP_WDT_SWD_CONFIG_REG, LP_WDT_SWD_AUTO_FEED_EN);
REG_WRITE(LP_WDT_SWD_WPROTECT_REG, 0);
}
static inline void bootloader_hardware_init(void)
{
// In 80MHz flash mode, ROM sets the mspi module clk divider to 2, fix it here
#if CONFIG_ESPTOOLPY_FLASHFREQ_80M && !CONFIG_APP_BUILD_TYPE_RAM
clk_ll_mspi_fast_set_hs_divider(6);
esp_rom_spiflash_config_clk(1, 0);
esp_rom_spiflash_config_clk(1, 1);
esp_rom_spiflash_fix_dummylen(0, 1);
esp_rom_spiflash_fix_dummylen(1, 1);
#endif
//TODO: [ESP32C61] IDF-9276
#if CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
ESP_EARLY_LOGW(TAG, "ESP32C61 attention: analog i2c master clock enable skipped!!!");
#else
ESP_LOGW(TAG, "ESP32C61 attention: analog i2c master clock enable skipped!!!");
#endif
}
static inline void bootloader_ana_reset_config(void)
{
//Enable super WDT reset.
bootloader_ana_super_wdt_reset_config(true);
//Enable BOD reset
bootloader_ana_bod_reset_config(true);
}
esp_err_t bootloader_init(void)
{
esp_err_t ret = ESP_OK;
bootloader_hardware_init();
// bootloader_ana_reset_config(); //TODO: [ESP32C61] IDF-9260
bootloader_super_wdt_auto_feed();
// In RAM_APP, memory will be initialized in `call_start_cpu0`
#if !CONFIG_APP_BUILD_TYPE_RAM
// protect memory region
bootloader_init_mem();
/* check that static RAM is after the stack */
assert(&_bss_start <= &_bss_end);
assert(&_data_start <= &_data_end);
// clear bss section
bootloader_clear_bss_section();
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// init eFuse virtual mode (read eFuses to RAM)
#ifdef CONFIG_EFUSE_VIRTUAL
ESP_LOGW(TAG, "eFuse virtual mode is enabled. If Secure boot or Flash encryption is enabled then it does not provide any security. FOR TESTING ONLY!");
#ifndef CONFIG_EFUSE_VIRTUAL_KEEP_IN_FLASH
esp_efuse_init_virtual_mode_in_ram();
#endif
#endif
// config clock
bootloader_clock_configure();
// initialize console, from now on, we can use esp_log
bootloader_console_init();
/* print 2nd bootloader banner */
bootloader_print_banner();
#if !CONFIG_APP_BUILD_TYPE_RAM
//init cache hal
cache_hal_init();
//init mmu
mmu_hal_init();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
if ((ret = bootloader_flash_xmc_startup()) != ESP_OK) {
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
return ret;
}
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
return ret;
}
// read chip revision and check if it's compatible to bootloader
if ((ret = bootloader_check_bootloader_validity()) != ESP_OK) {
return ret;
}
// initialize spi flash
if ((ret = bootloader_init_spi_flash()) != ESP_OK) {
return ret;
}
#endif // !CONFIG_APP_BUILD_TYPE_RAM
// check whether a WDT reset happened
bootloader_check_wdt_reset();
// config WDT
bootloader_config_wdt();
// enable RNG early entropy source
bootloader_enable_random();
return ret;
}

View File

@@ -0,0 +1,46 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "bootloader_sha.h"
#include <stdbool.h>
#include <string.h>
#include <assert.h>
#include <sys/param.h>
#include "esp32c61/rom/sha.h"
static SHA_CTX ctx;
//TODO: [ESP32C61] IDF-9234
bootloader_sha256_handle_t bootloader_sha256_start()
{
// Enable SHA hardware
ets_sha_enable();
ets_sha_init(&ctx, SHA2_256);
return &ctx; // Meaningless non-NULL value
}
void bootloader_sha256_data(bootloader_sha256_handle_t handle, const void *data, size_t data_len)
{
assert(handle != NULL);
/* C61 secure boot key field consists of 1 byte of curve identifier and 64 bytes of ECDSA public key.
* While verifying the signature block, we need to calculate the SHA of this key field which is of 65 bytes.
* ets_sha_update handles it cleanly so we can safely remove the check:
* assert(data_len % 4) == 0
*/
ets_sha_update(&ctx, data, data_len, false);
}
void bootloader_sha256_finish(bootloader_sha256_handle_t handle, uint8_t *digest)
{
assert(handle != NULL);
if (digest == NULL) {
bzero(&ctx, sizeof(ctx));
return;
}
ets_sha_finish(&ctx, digest);
}

View File

@@ -0,0 +1,37 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdbool.h>
#include <assert.h>
#include "soc/soc.h"
#include "soc/lp_analog_peri_reg.h"
//TODO: [ESP32C61] IDF-9260, commented in verify code, check
void bootloader_ana_super_wdt_reset_config(bool enable)
{
//C61 doesn't support bypass super WDT reset
assert(enable);
// lp_analog_peri_reg.h updated, now following registers
// REG_CLR_BIT(LP_ANALOG_PERI_LP_ANA_FIB_ENABLE_REG, LP_ANALOG_PERI_LP_ANA_FIB_SUPER_WDT_RST);
}
void bootloader_ana_bod_reset_config(bool enable)
{
// lp_analog_peri_reg.h updated, now following registers
// REG_CLR_BIT(LP_ANALOG_PERI_LP_ANA_FIB_ENABLE_REG, LP_ANALOG_PERI_LP_ANA_FIB_BOD_RST);
if (enable) {
REG_SET_BIT(LP_ANA_BOD_MODE1_CNTL_REG, LP_ANA_BOD_MODE1_RESET_ENA);
} else {
REG_CLR_BIT(LP_ANA_BOD_MODE1_CNTL_REG, LP_ANA_BOD_MODE1_RESET_ENA);
}
}
//Not supported but common bootloader calls the function. Do nothing
void bootloader_ana_clock_glitch_reset_config(bool enable)
{
(void)enable;
}

View File

@@ -0,0 +1,60 @@
/*
* SPDX-FileCopyrightText: 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_SPI_DOWNLOAD_MSPI_DIS);
#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.
// esp32c61 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

@@ -10,7 +10,6 @@
#include "esp_image_format.h"
#include "flash_qio_mode.h"
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
#include "esp_rom_spiflash.h"
@@ -23,7 +22,6 @@
#include "soc/extmem_reg.h"
#include "soc/io_mux_reg.h"
#include "soc/pcr_reg.h"
#include "esp32h2/rom/efuse.h"
#include "esp32h2/rom/ets_sys.h"
#include "bootloader_common.h"
#include "bootloader_init.h"
@@ -43,6 +41,7 @@
#include "hal/cache_hal.h"
#include "hal/lpwdt_ll.h"
#include "soc/lp_wdt_reg.h"
#include "soc/pmu_reg.h"
#include "hal/efuse_hal.h"
#include "modem/modem_lpcon_reg.h"
@@ -87,6 +86,9 @@ static void bootloader_super_wdt_auto_feed(void)
static inline void bootloader_hardware_init(void)
{
/* Disable RF pll by default */
CLEAR_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_XPD_RFPLL);
SET_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_XPD_FORCE_RFPLL);
/* Enable analog i2c master clock */
SET_PERI_REG_MASK(MODEM_LPCON_CLK_CONF_REG, MODEM_LPCON_CLK_I2C_MST_EN);
}

View File

@@ -10,7 +10,6 @@
#include "esp_image_format.h"
#include "flash_qio_mode.h"
#include "esp_rom_gpio.h"
#include "esp_rom_efuse.h"
#include "esp_rom_uart.h"
#include "esp_rom_sys.h"
#include "esp_rom_spiflash.h"
@@ -22,7 +21,6 @@
#include "soc/spi_periph.h"
#include "soc/cache_reg.h"
#include "soc/io_mux_reg.h"
#include "esp32p4/rom/efuse.h"
#include "esp32p4/rom/ets_sys.h"
#include "esp32p4/rom/spi_flash.h"
#include "bootloader_common.h"
@@ -46,6 +44,7 @@
#include "hal/efuse_hal.h"
#include "soc/regi2c_syspll.h"
#include "soc/regi2c_cpll.h"
#include "soc/regi2c_bias.h"
static const char *TAG = "boot.esp32p4";
@@ -66,8 +65,8 @@ static void bootloader_check_wdt_reset(void)
{
int wdt_rst = 0;
soc_reset_reason_t rst_reason = esp_rom_get_reset_reason(0);
if (rst_reason == RESET_REASON_SYS_HP_WDT || rst_reason == RESET_REASON_SYS_LP_WDT || rst_reason == RESET_REASON_CORE_HP_WDT ||
rst_reason == RESET_REASON_CORE_LP_WDT || rst_reason == RESET_REASON_CHIP_LP_WDT) {
if (rst_reason == RESET_REASON_CPU_MWDT || rst_reason == RESET_REASON_CPU_RWDT || rst_reason == RESET_REASON_CORE_MWDT ||
rst_reason == RESET_REASON_CORE_RWDT || rst_reason == RESET_REASON_SYS_RWDT) {
ESP_LOGW(TAG, "CPU has been reset by WDT.");
wdt_rst = 1;
}
@@ -99,6 +98,8 @@ static inline void bootloader_hardware_init(void)
REGI2C_WRITE_MASK(I2C_CPLL, I2C_CPLL_OC_DIV_7_0, 6); // lower default cpu_pll freq to 400M
REGI2C_WRITE_MASK(I2C_SYSPLL, I2C_SYSPLL_OC_DIV_7_0, 8); // lower default sys_pll freq to 480M
esp_rom_delay_us(100);
REGI2C_WRITE_MASK(I2C_BIAS, I2C_BIAS_DREG_1P1, 10);
REGI2C_WRITE_MASK(I2C_BIAS, I2C_BIAS_DREG_1P1_PVT, 10);
}
static inline void bootloader_ana_reset_config(void)

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
*/
@@ -11,25 +11,17 @@
#include <esp_fault.h>
#include <esp_log.h>
#include <esp_attr.h>
#include <spi_flash_mmap.h>
#include <bootloader_flash_priv.h>
#include <bootloader_random.h>
#include <bootloader_sha.h>
#include "bootloader_util.h"
#include "bootloader_common.h"
#include "esp_rom_sys.h"
#include "esp_efuse.h"
#include "esp_app_desc.h"
#include "bootloader_memory_utils.h"
#include "soc/soc_caps.h"
#include "hal/cache_ll.h"
#if CONFIG_IDF_TARGET_ESP32C2
#include "esp32c2/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32C6
#include "esp32c6/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32H2
#include "esp32h2/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32P4
#include "esp32p4/rom/rtc.h"
#endif
#define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
@@ -76,10 +68,10 @@ static bool should_map(uint32_t load_addr);
static esp_err_t process_segments(esp_image_metadata_t *data, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum);
/* Load or verify a segment */
static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segment_header_t *header, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum);
static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segment_header_t *header, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata);
/* split segment and verify if data_len is too long */
static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum);
static esp_err_t process_segment_data(int segment, intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata);
/* Verify the main image header */
static esp_err_t verify_image_header(uint32_t src_addr, const esp_image_header_t *image, bool silent);
@@ -224,9 +216,26 @@ static esp_err_t image_load(esp_image_load_mode_t mode, const esp_partition_pos_
}
}
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
/* We have manipulated data over dcache that will be read over icache and need
to writeback, else the data read might be invalid */
cache_ll_writeback_all(CACHE_LL_LEVEL_INT_MEM, CACHE_TYPE_DATA, CACHE_LL_ID_ALL);
#endif
}
#if CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
/* For anti-rollback case, reconfirm security version of the application to prevent FI attacks */
bool sec_ver = false;
if (do_load) {
sec_ver = esp_efuse_check_secure_version(data->secure_version);
if (!sec_ver) {
err = ESP_FAIL;
goto err;
}
}
/* Ensure that the security version check passes for image loading scenario */
ESP_FAULT_ASSERT(!do_load || sec_ver == true);
#endif // CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
#endif // BOOTLOADER_BUILD
// Success!
@@ -509,7 +518,7 @@ static esp_err_t process_segments(esp_image_metadata_t *data, bool silent, bool
for (int i = 0; i < data->image.segment_count; i++) {
esp_image_segment_header_t *header = &data->segments[i];
ESP_LOGV(TAG, "loading segment header %d at offset 0x%"PRIx32, i, next_addr);
CHECK_ERR(process_segment(i, next_addr, header, silent, do_load, sha_handle, checksum));
CHECK_ERR(process_segment(i, next_addr, header, silent, do_load, sha_handle, checksum, data));
next_addr += sizeof(esp_image_segment_header_t);
data->segment_data[i] = next_addr;
next_addr += header->data_len;
@@ -530,7 +539,7 @@ err:
return err;
}
static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segment_header_t *header, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum)
static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segment_header_t *header, bool silent, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata)
{
esp_err_t err;
@@ -588,7 +597,7 @@ static esp_err_t process_segment(int index, uint32_t flash_addr, esp_image_segme
uint32_t offset_page = ((data_addr & MMAP_ALIGNED_MASK) != 0) ? 1 : 0;
/* Data we could map in case we are not aligned to PAGE boundary is one page size lesser. */
data_len = MIN(data_len_remain, ((free_page_count - offset_page) * SPI_FLASH_MMU_PAGE_SIZE));
CHECK_ERR(process_segment_data(load_addr, data_addr, data_len, do_load, sha_handle, checksum));
CHECK_ERR(process_segment_data(index, load_addr, data_addr, data_len, do_load, sha_handle, checksum, metadata));
data_addr += data_len;
data_len_remain -= data_len;
}
@@ -603,7 +612,42 @@ err:
return err;
}
static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum)
#if CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
/* The __attribute__((optimize("O0"))) is used to disable optimizations for this function,
* preventing the compiler from potentially optimizing data_buffer and reading data directly from src.
* This is crucial as we want to read from Flash only once, ensuring the integrity of the data.
*/
__attribute__((optimize("O0")))
static size_t process_esp_app_desc_data(const uint32_t *src, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata)
{
/* Using data_buffer here helps to securely read secure_version
* (for anti-rollback) from esp_app_desc_t, preventing FI attack.
* We read data from Flash into this buffer, which is covered by sha256.
* Therefore, if the flash is under attackers control and contents are modified
* the sha256 comparison will fail.
*
* The esp_app_desc_t structure is located in DROM and is always in segment #0.
*
* esp_app_desc_t is always at #0 segment (index==0).
* secure_version field of esp_app_desc_t is located at #2 word (w_i==1).
*/
uint32_t data_buffer[2];
memcpy(data_buffer, src, sizeof(data_buffer));
assert(data_buffer[0] == ESP_APP_DESC_MAGIC_WORD);
metadata->secure_version = data_buffer[1];
if (checksum != NULL) {
*checksum ^= data_buffer[0] ^ data_buffer[1];
}
if (sha_handle != NULL) {
bootloader_sha256_data(sha_handle, data_buffer, sizeof(data_buffer));
}
ESP_FAULT_ASSERT(memcmp(data_buffer, src, sizeof(data_buffer)) == 0);
ESP_FAULT_ASSERT(memcmp(&metadata->secure_version, &src[1], sizeof(uint32_t)) == 0);
return sizeof(data_buffer);
}
#endif // CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
static esp_err_t process_segment_data(int segment, intptr_t load_addr, uint32_t data_addr, uint32_t data_len, bool do_load, bootloader_sha256_handle_t sha_handle, uint32_t *checksum, esp_image_metadata_t *metadata)
{
// If we are not loading, and the checksum is empty, skip processing this
// segment for data
@@ -621,6 +665,13 @@ static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, ui
if (checksum == NULL && sha_handle == NULL) {
memcpy((void *)load_addr, data, data_len);
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
if (esp_ptr_in_iram((uint32_t *)load_addr)) {
/* If we have manipulated data over dcache that will be read over icache then we need
to writeback, else the data read might be invalid */
cache_ll_writeback_all(CACHE_LL_LEVEL_INT_MEM, CACHE_TYPE_DATA, CACHE_LL_ID_ALL);
}
#endif
bootloader_munmap(data);
return ESP_OK;
}
@@ -636,10 +687,24 @@ static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, ui
#endif
}
uint32_t *dest = (uint32_t *)load_addr;
#endif
#endif // BOOTLOADER_BUILD
const uint32_t *src = data;
#if CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
// Case I: Bootloader verifying application
// Case II: Bootloader verifying bootloader
// Anti-rollback check should handle only Case I from above.
if (segment == 0 && metadata->start_addr != ESP_BOOTLOADER_OFFSET) {
ESP_LOGD(TAG, "additional anti-rollback check 0x%"PRIx32, data_addr);
// The esp_app_desc_t structure is located in DROM and is always in segment #0.
size_t len = process_esp_app_desc_data(src, sha_handle, checksum, metadata);
data_len -= len;
src += len / 4;
// In BOOTLOADER_BUILD, for DROM (segment #0) we do not load it into dest (only map it), do_load = false.
}
#endif // CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
for (size_t i = 0; i < data_len; i += 4) {
int w_i = i / 4; // Word index
uint32_t w = src[w_i];
@@ -662,7 +727,9 @@ static esp_err_t process_segment_data(intptr_t load_addr, uint32_t data_addr, ui
}
}
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
if (do_load && esp_ptr_in_diram_iram((uint32_t *)load_addr)) {
if (do_load && esp_ptr_in_iram((uint32_t *)load_addr)) {
/* If we have manipulated data over dcache that will be read over icache then we need
to writeback, else the data read might be invalid */
cache_ll_writeback_all(CACHE_LL_LEVEL_INT_MEM, CACHE_TYPE_DATA, CACHE_LL_ID_ALL);
}
#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,6 +13,8 @@
#include "esp_secure_boot.h"
#include "hal/efuse_hal.h"
//TODO:[ESP32C61] IDf-9232
#if CONFIG_IDF_TARGET_ESP32
#define CRYPT_CNT ESP_EFUSE_FLASH_CRYPT_CNT
#define WR_DIS_CRYPT_CNT ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT

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
*/
@@ -16,7 +16,8 @@
#include "esp_log.h"
#include "hal/wdt_hal.h"
#if CONFIG_IDF_TARGET_ESP32P4 //TODO-IDF-7925
#if SOC_KEY_MANAGER_SUPPORTED
#include "hal/key_mgr_hal.h"
#include "soc/keymng_reg.h"
#endif
@@ -215,9 +216,9 @@ 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
#if SOC_KEY_MANAGER_SUPPORTED
// Force Key Manager to use eFuse key for XTS-AES operation
REG_SET_FIELD(KEYMNG_STATIC_REG, KEYMNG_USE_EFUSE_KEY, 2);
key_mgr_hal_set_key_usage(ESP_KEY_MGR_XTS_AES_128_KEY, ESP_KEY_MGR_USE_EFUSE_KEY);
#endif
return ESP_OK;
@@ -262,6 +263,13 @@ esp_err_t esp_flash_encrypt_contents(void)
esp_partition_info_t partition_table[ESP_PARTITION_TABLE_MAX_ENTRIES];
int num_partitions;
#if CONFIG_IDF_TARGET_ESP32C5 && SOC_KEY_MANAGER_SUPPORTED
// TODO: [ESP32C5] IDF-8622 find a more proper place for these codes
REG_SET_BIT(KEYMNG_STATIC_REG, KEYMNG_USE_EFUSE_KEY_FLASH);
REG_SET_BIT(PCR_MSPI_CLK_CONF_REG, PCR_MSPI_AXI_RST_EN);
REG_CLR_BIT(PCR_MSPI_CLK_CONF_REG, PCR_MSPI_AXI_RST_EN);
#endif
#ifdef CONFIG_SOC_EFUSE_CONSISTS_OF_ONE_KEY_BLOCK
REG_WRITE(SENSITIVE_XTS_AES_KEY_UPDATE_REG, 1);
#endif
@@ -429,7 +437,7 @@ 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, size);
ESP_LOGI(TAG, "Encrypting partition %d at offset 0x%" PRIx32 " (length 0x%" PRIx32 ")...", index, partition->pos.offset, size);
err = esp_flash_encrypt_region(partition->pos.offset, size);
ESP_LOGI(TAG, "Done encrypting");
@@ -447,7 +455,7 @@ esp_err_t esp_flash_encrypt_region(uint32_t src_addr, size_t data_length)
uint32_t buf[FLASH_SECTOR_SIZE / sizeof(uint32_t)];
if (src_addr % FLASH_SECTOR_SIZE != 0) {
ESP_LOGE(TAG, "esp_flash_encrypt_region bad src_addr 0x%x", src_addr);
ESP_LOGE(TAG, "esp_flash_encrypt_region bad src_addr 0x%" PRIx32, src_addr);
return ESP_FAIL;
}

View File

@@ -63,7 +63,7 @@ static bool secure_boot_generate(uint32_t image_len){
/* generate digest from image contents */
image = bootloader_mmap(ESP_BOOTLOADER_OFFSET, image_len);
if (!image) {
ESP_LOGE(TAG, "bootloader_mmap(0x1000, 0x%x) failed", image_len);
ESP_LOGE(TAG, "bootloader_mmap(0x1000, 0x%" PRIx32 ") failed", image_len);
return false;
}
for (size_t i = 0; i < image_len; i+= sizeof(digest.iv)) {

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