36304 Commits

Author SHA1 Message Date
wuzhenghui
7b100e98b7
change(doc): added more usage notes & warings about PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP 2025-02-28 16:47:40 +08:00
Roland Dobai
5e577dcd5a Merge branch 'fix/ldgen_interm_no_secs_v5.2' into 'release/v5.2'
fix(ldgen): don't emit intermediate placements without sections (v5.2)

See merge request espressif/esp-idf!36969
2025-02-28 16:08:50 +08:00
Roland Dobai
7de62b3c09 Merge branch 'fix/docker_qemu_seg_v5.2' into 'release/v5.2'
CI: Fixed docker build (v5.2)

See merge request espressif/esp-idf!37368
2025-02-28 16:08:36 +08:00
Mahavir Jain
e2dd6f8a6f Merge branch 'bugfix/memprot_s2_intr_peri1_v5.2' into 'release/v5.2'
fix(security): ESP32S2 memory protection check for Peri1 RTCSLOW interrupt (v5.2)

See merge request espressif/esp-idf!37119
2025-02-28 15:52:29 +08:00
Mahavir Jain
015e4f1b49 Merge branch 'feat/bootloader_nvs_read_encrypted_v5.2' into 'release/v5.2'
fix(esptool_py): NVS partition being incorrectly marked as encrypted by the build system (v5.2)

See merge request espressif/esp-idf!36681
2025-02-28 15:51:39 +08:00
Mahavir Jain
c1ef20b7f4 Merge branch 'bugfix/http_client_select_read_error_v5.2' into 'release/v5.2'
fix(tcp_tranport): Fix handling of select() return value (v5.2)

See merge request espressif/esp-idf!37256
2025-02-28 15:51:31 +08:00
Rahul Tank
4459b5f44a Merge branch 'bugfix/fix_issues_18022005' into 'release/v5.2'
fix(nimble) : Fix few nimble issues v5.2

See merge request espressif/esp-idf!37071
2025-02-28 15:40:51 +08:00
Jiang Jiang Jian
11686940ae Merge branch 'bugfix/fix_cache_count_flash_pages_patchs_return_wrong_value_v5.2' into 'release/v5.2'
fix(rom): Fix s2 and s3 Cache_Count_Flash_Pages rom function wrapper (v5.2)

See merge request espressif/esp-idf!37157
2025-02-28 15:30:09 +08:00
Jiang Jiang Jian
28ebdd472d Merge branch 'fix/fix_bad_dslp_param_after_lightsleep_v5.2' into 'release/v5.2'
fix(esp_hw_support): Fixed the issue that light sleep destroyed the parameters of subsequent deep sleep (v5.2)

See merge request espressif/esp-idf!37304
2025-02-28 15:25:33 +08:00
Jiang Jiang Jian
d6c2868bcd Merge branch 'fix/add_sleep_duration_check_for_timer_wakeup_v5.2' into 'release/v5.2'
fix(esp_hw_support): add timer wakeup sleep duration check (v5.2)

See merge request espressif/esp-idf!37012
2025-02-28 15:24:54 +08:00
Jiang Jiang Jian
2dd257d162 Merge branch 'fix/fix_s2_s3_rtc_iomux_clock_management_v5.2' into 'release/v5.2'
fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management (v5.2)

See merge request espressif/esp-idf!37168
2025-02-28 15:24:28 +08:00
Jiang Jiang Jian
41c2b799ad Merge branch 'bugfix/sdp_uuid16_match_err_v5.2' into 'release/v5.2'
fix(bt): Fix the incorrect record found using uuid16 search(v5.2)

See merge request espressif/esp-idf!36851
2025-02-28 15:23:59 +08:00
Jiang Jiang Jian
a15149b557 Merge branch 'feat/esp32_set_get_bt_lpclk_src_v5.2' into 'release/v5.2'
feat(bt): Added API to get/set low power clock source(v5.2)

See merge request espressif/esp-idf!36565
2025-02-28 15:23:08 +08:00
Jiang Jiang Jian
cbdbdbaf6e Merge branch 'feat/wait_pll_stable_after_sleep_wakeup_fix_xtal_v5.2' into 'release/v5.2'
feat(esp_hw_support): wait pll stable after sleep wakeup (v5.2)

See merge request espressif/esp-idf!36024
2025-02-28 15:22:41 +08:00
Jiang Jiang Jian
47f26b4e0b Merge branch 'docs/fix_some_coexist_doc_issue_v5.2' into 'release/v5.2'
docs(coex): update rf coexistence documents (v5.2)

See merge request espressif/esp-idf!37346
2025-02-28 15:22:07 +08:00
Jiang Jiang Jian
1657868cf6 Merge branch 'feat/add_inq_page_coex_schm_v5.2' into 'release/v5.2'
feat(coex): add coexist scheme for bt inquiry/page coexist with wifi

See merge request espressif/esp-idf!36990
2025-02-28 15:20:43 +08:00
Jiang Jiang Jian
8300a1efe5 Merge branch 'bugfix/fix_delete_queue_error_in_espnow_example_v5.2' into 'release/v5.2'
fix(wifi): fix the delete queue error in espnow exapmle (v5.2)

See merge request espressif/esp-idf!37016
2025-02-28 15:20:17 +08:00
Jiang Jiang Jian
d7b13d0ed2 Merge branch 'bugfix/mem_leak_sae_pk_v5.2' into 'release/v5.2'
fix(wifi): Bugfix memory leak due to sae public key (v5.2)

See merge request espressif/esp-idf!36927
2025-02-28 15:18:22 +08:00
Jiang Jiang Jian
90be932861 Merge branch 'bugfix/wps_scan_freq_v5.2' into 'release/v5.2'
fix(esp_wifi): Reduce scan frequency in WPS (v5.2)

See merge request espressif/esp-idf!36822
2025-02-28 15:17:47 +08:00
Jiang Jiang Jian
404f5d505e Merge branch 'bugfix/analyzer_issues_supplicant_v5.2' into 'release/v5.2'
fix(esp_wifi): fix some analyzer issues (v5.2)

See merge request espressif/esp-idf!36832
2025-02-28 15:17:02 +08:00
Jiang Jiang Jian
28a449979d Merge branch 'change/default_value_for_esp_coex_vsc_in_bluedroid_v5.2' into 'release/v5.2'
change(bt): Set default value for BT_BLUEDROID_ESP_COEX_VSC conditionally (v5.2)

See merge request espressif/esp-idf!36736
2025-02-28 15:16:15 +08:00
Jiang Jiang Jian
4381170553 Merge branch 'bugfix/remove_unused_sco_state_v5.2' into 'release/v5.2'
Bugfix/remove unused sco state (v5.2)

See merge request espressif/esp-idf!36731
2025-02-28 15:15:44 +08:00
Roland Dobai
548c6a2f38 ci(github): Fixed docker build caused by Qemu segmentation fault
Works around issue from
https://github.com/espressif/esp-idf/actions/runs/13531037397/job/37813060700
caused by Qemu segmentation fault.

    Errors were encountered while processing: libc-bin

The workaround is from https://github.com/docker/setup-qemu-action/issues/198.
2025-02-27 13:05:19 +01:00
Michael (XIAO Xufeng)
17c86b4adb Merge branch 'update/version_5_2_5' into 'release/v5.2'
Update version to 5.2.5

See merge request espressif/esp-idf!37316
2025-02-27 14:25:52 +08:00
linruihao
144b0529ab docs(coex): update rf coexistence documents
- remove BLE connecting state in coexistence scenario
- remove WIFI section in H2 docs
2025-02-27 11:16:29 +08:00
Shu Chen
21a347f659 docs(coex): add the supported coexistence scenario for Wi-Fi and 802.15.4 2025-02-27 11:14:15 +08:00
Xiao Xufeng
9b74d1aca5 change(version): Update version to 5.2.5 v5.2.5 2025-02-26 18:01:09 +08:00
wuzhenghui
b2c8dcacb0
fix(esp_hw_support): fix lightsleep destroys deepsleep rtc parameters 2025-02-26 16:57:41 +08:00
nilesh.kale
d09f48c97b fix(tcp_tranport): Fix handling of select() return value
When both readset/writeset and errset are set for a single socket,
the HTTP client incorrectly handled the condition, causing premature termination.
Added a check to ensure readset/writeset is prioritized before errset.

Closes https://github.com/espressif/esp-idf/issues/14673
2025-02-25 13:29:40 +05:30
Island
260c81d5c0 Merge branch 'change/support_rssi_comp_in_esp32h2_ble' into 'release/v5.2'
feat(ble): support rssi comp for esp32h2

See merge request espressif/esp-idf!37146
2025-02-25 10:34:55 +08:00
Michael (XIAO Xufeng)
a250f4ee2c Merge branch 'update/version_5_2_4' into 'release/v5.2'
Update version to 5.2.4

See merge request espressif/esp-idf!37141
2025-02-21 17:24:45 +08:00
cjin
89dcc4a113 feat(ble): support rssi comp for esp32h2 2025-02-21 11:50:38 +08:00
wuzhenghui
aff8ad355b
fix(esp_hw_support): fix esp32s2/esp32s3 RTC IOMUX clock management 2025-02-21 10:18:27 +08:00
wuzhenghui
6ed9e39ffa
fix(esp_driver_gpio): manage lp_io module clock by driver
Closes https://github.com/espressif/esp-idf/issues/13683
2025-02-20 19:46:22 +08:00
Tomasz Kramkowski
84a162aba7 fix(rom): Fix s2 and s3 Cache_Count_Flash_Pages rom function wrapper
The rom function on the s2 and s3 only counts one page for any pages
which are mapped to page 0 of flash as the Cache_Flash_To_SPIRAM_Copy
function attempts to map all flash page 0 mapped pages to one PSRAM
page.

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

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

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

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

This patch addresses the issue in this wrapper function by correctly
compensating for the bug only in cases where the final page0_mapped
value is 0.
2025-02-20 16:11:08 +08:00
Martin Vychodil
671dc31a32 fix(security): Fixed ESP32S2 memory protection check for Peri1 RTCSLOW interrupt
- fixes the issue found in https://github.com/espressif/esp-idf/issues/15359
- extends debug printouts in the related tests
2025-02-19 19:26:21 +01:00
Xiao Xufeng
af4a98ba99 change(version): Update version to 5.2.4 v5.2.4 2025-02-19 23:17:56 +08:00
Shu Chen
0830c08e89 Merge branch 'support/ieee802154_get_rssi_comp_from_phy_v5.2' into 'release/v5.2'
feat(802.15.4): support ieee802154 get rssi comp from phylib (v5.2)

See merge request espressif/esp-idf!37053
2025-02-19 09:56:52 +08:00
Abhinav Kudnar
475ef1bb53 fix(nimble): Save the gatt context in case of preemption 2025-02-18 17:04:34 +05:30
zwx
31436bd626 feat(802.15.4): use btbb function to get rssi comp for h2 2025-02-18 12:11:00 +08:00
wuzhenghui
5435b614df
fix(esp_hw_support): fix lp/hp clock wait time calculation 2025-02-17 20:49:15 +08:00
wuzhenghui
cb169282bb
change(esp_hw_support): wait pll calibration done in regdma link instead of wait fixed value 2025-02-17 20:47:55 +08:00
wuzhenghui
5e81eb6cf7
fix(esp_hw_support): add timer wakeup sleep duration check
Closes https://github.com/espressif/esp-idf/issues/15255
2025-02-17 19:57:11 +08:00
zhangyanjiao
28bc154e4c fix(wifi): fix the delete queue error in espnow exapmle
Closes https://github.com/espressif/esp-idf/issues/15383
2025-02-17 14:57:19 +08:00
liuning
56d0173011 feat(coex): add coexist scheme for bt inquiry/page coexist with wifi 2025-02-15 15:41:10 +08:00
Frantisek Hrbata
9a1eef2ccc fix(ldgen): don't emit intermediate placements without sections
When a symbol needs to be placed to a different target than the one
designated for the object file, the object file is expanded, which
includes the following steps:

1. Creating a new placement for the symbol's input section with the
   specified target.
2. Excluding the object placement from the orignal target.
3. Creating a new intermediate placement for the object for the original
   target, where its input sections are expanded, excluding the input
   section for the symbol.

Let's illustrate the object expansion process with the following example:

[sections:rodata]
entries:
    .rodata+
    .sdata2+
    .srodata+

[scheme:default]
entries:
    text -> flash_text
    rodata -> flash_rodata

[scheme:noflash]
entries:
    text -> iram0_text
    rodata -> dram0_data

[mapping:soc_pm]
archive: libsoc.a
entries:
    gpio_periph: GPIO_HOLD_MASK (noflash)

gpio_periph section headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        00000000 000034 000000 00  AX  0   0  2
  [ 2] .data             PROGBITS        00000000 000034 000000 00  WA  0   0  1
  [ 3] .bss              NOBITS          00000000 000034 000000 00  WA  0   0  1
  [ 4] .rodata.GPIO_HOLD_MASK PROGBITS        00000000 000034 000058 00   A  0   0  4
  [ 5] .rodata.GPIO_PIN_MUX_REG PROGBITS        00000000 00008c 000058 00   A  0   0  4
  [ 6] .debug_info       PROGBITS        00000000 0000e4 0000d8 00      0   0  1
  [ 7] .rela.debug_info  RELA            00000000 0009d4 000108 0c   I 16   6  4
  [ 8] .debug_abbrev     PROGBITS        00000000 0001bc 000070 00      0   0  1
  [ 9] .debug_aranges    PROGBITS        00000000 00022c 000018 00      0   0  1
  [10] .rela.debug_aranges RELA            00000000 000adc 00000c 0c   I 16   9  4
  [11] .debug_line       PROGBITS        00000000 000244 0001ab 00      0   0  1
  [12] .debug_str        PROGBITS        00000000 0003ef 00022d 01  MS  0   0  1
  [13] .comment          PROGBITS        00000000 00061c 000030 01  MS  0   0  1
  [14] .note.GNU-stack   PROGBITS        00000000 00064c 000000 00      0   0  1
  [15] .riscv.attributes RISCV_ATTRIBUTES 00000000 00064c 000044 00      0   0  1
  [16] .symtab           SYMTAB          00000000 000690 000260 10     17  36  4
  [17] .strtab           STRTAB          00000000 0008f0 0000e1 00      0   0  1
  [18] .shstrtab         STRTAB          00000000 000ae8 0000d1 00      0   0  1

1. Creating a new placement
.dram0.data :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_HOLD_MASK .sdata2.GPIO_HOLD_MASK .srodata.GPIO_HOLD_MASK)
}

2. Excluding the object placement
.flash.rodata :
{
    *(EXCLUDE_FILE(*libsoc.a:gpio_periph.*) .rodata.* ...)
}

3. Creating a new intermediate placement
.flash.rodata :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_PIN_MUX_REG)
}

Now, let's do the same, but also move GPIO_PIN_MUX_REG to noflash with an updated mapping.

[mapping:soc_pm]
archive: libsoc.a
entries:
    gpio_periph: GPIO_HOLD_MASK (noflash)
    gpio_periph: GPIO_PIN_MUX_REG (noflash)

1. Creating a new placement
.dram0.data :
{
    *libsoc.a:gpio_periph.*(.rodata.GPIO_HOLD_MASK .sdata2.GPIO_HOLD_MASK .srodata.GPIO_HOLD_MASK)
    *libsoc.a:gpio_periph.*(.rodata.GPIO_PIN_MUX_REG .sdata2.GPIO_PIN_MUX_REG
                            .srodata.GPIO_PIN_MUX_REG)
}

2. Excluding the object placement
.flash.rodata :
{
    *(EXCLUDE_FILE(*libsoc.a:gpio_periph.*) .rodata.* ...)
}

3. Creating a new intermediate placement
.flash.rodata :
{
    *libsoc.a:gpio_periph.*
}

The *libsoc.a:gpio_periph.* entity in step 3 no longer has input
sections, as there are no remaining .rodata input sections in the object
file. The linker behavior for this mapping is to include all object
input sections that have not yet been placed as described in
https://sourceware.org/binutils/docs/ld.html#Input-Section-Basics
"If you use a file name without a list of sections, then all sections in
the input file will be included in the output section. This is not
commonly done, but it may by useful on occasion."

The map file for such mapping now contains following input sections

 .flash.rodata   0x3c0a0120    0x19b34
     *libsoc.a:gpio_periph.*()
     .debug_info    0x3c0b95bf       0xd8 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_abbrev  0x3c0b9697       0x70 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_aranges
                    0x3c0b9707       0x18 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_line    0x3c0b971f      0x1ab esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .debug_str     0x3c0b98ca      0x21a esp-idf/soc/libsoc.a(gpio_periph.c.obj)
                                    0x22d (size before relaxing)
     .comment       0x3c0b9ae4       0x30 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .note.GNU-stack
                    0x3c0b9ae4        0x0 esp-idf/soc/libsoc.a(gpio_periph.c.obj)
     .riscv.attributes
                    0x3c0b9ae4       0x44 esp-idf/soc/libsoc.a(gpio_periph.c.obj)

This is incorrect, and such intermediate placement should not be
generated. This type of placement can be recognized because it is not
explicitly defined in the mapping and lacks input sections. We can
identify this in the significant function and prevent issuing commands
for such placement.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2025-02-14 12:18:23 +01:00
Jiang Jiang Jian
beb054baad Merge branch 'bugfix/stack_corruption_btm_task_v5.2' into 'release/v5.2'
fix(esp_wifi): Fix stack curruption in btm task (v5.2)

See merge request espressif/esp-idf!36971
2025-02-14 19:02:20 +08:00
Kapil Gupta
f40e875ece fix(esp_wifi): Fix stack curruption in btm task (v5.2) 2025-02-14 13:00:51 +05:30
Jiang Jiang Jian
cc834de6b7 Merge branch 'bugfix/skip_memory_reordering_wpa2_semaphr_v5.2' into 'release/v5.2'
fix(esp_wifi): fixed stack corruption in WiFi tasks (v5.2)

See merge request espressif/esp-idf!36938
2025-02-14 14:30:56 +08:00
xiongweichao
8debf8cf32 fix(bt): Fixed SDP record integrity check bug 2025-02-14 10:29:25 +08:00