Commit Graph

159 Commits

Author SHA1 Message Date
yinqingzhao
7aa7a9da9c fix(wifi): comment out functions from ld files 2026-06-29 16:18:38 +08:00
Xiao Xufeng
789ce684c9 fix(mmap): fixed some API read wrong data via mmap when flash being erased/written while XIP on PSRAM
Before:

The cache won't be disabled when XIP on psram. But during flash
erasing/programming, read data will be courrupt.

When XIP in psram is enabled, the image is not mapped to the cache so
usually there will be no flash access. The only way to read from flash
is via the driver or use mmap. The driver has protection during erasing,
while th mmap region not.

Now:

Mmap APIs provide a flag to make mmap->unmap region mutually exclusive
to flash erase/programming when XIP from psram. SPI Flash write APIs
will benefit from this. When the flag is used, no concurrent access to
mapped region will happen while writing; otherwise the cache will be
disable to avoid data corruption.

Most ESP-IDF APIs calls mmap with this flag. As for users calling
mmap-like APIs directly, they can choose whether to enable this by a
flag.

Closes https://github.com/espressif/esp-idf/issues/14897
2026-06-16 01:00:43 +08:00
yinqingzhao
63b92cf17e fix(wifi): fix scheduling issue when tasks have the same priority as the Wi-Fi task 2026-06-10 11:48:26 +08:00
linruihao
df492d5c2f fix(coex): fix ble coded phy rx issue when aborted by coex 2026-05-19 17:52:07 +08:00
muhaidong
c8d73ae671 fix(wifi): update rom ld file for fix max connection number issue 2026-05-06 20:48:33 +08:00
Marius Vikhammer
e684ca5183 Merge branch 'change/esp_rom_caps_bootloader_offset' into 'master'
change(rom): move bootloader flash offset to esp_rom_caps

Closes IDF-14899

See merge request espressif/esp-idf!48056
2026-04-29 17:27:33 +08:00
Marius Vikhammer
6af582c260 change(rom): add rom caps for bootloader in flash offset 2026-04-29 10:58:50 +08:00
zhanghaipeng
658ff8730b fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(2f683593)
- Fixed read remote feature timeout when using coded phy
- Fixed disconnection issue(0x08) when using 125k coded phy
- Fixed disconnection issue(0x08) when updating connection param
- Fixed disconnection issue(0x08) when using multi connection
- Avoid error when adding duplicate device to whitelist
- Support disable channel assessment by vendor hci
- Support smaller connection interval (3.75 ms)
- Support duplicate exception list in EVT ADV
2026-04-28 18:26:22 +08:00
yinqingzhao
c3da80ee52 feat(wifi): add esp32s31 wifi support 2026-04-16 20:17:07 +08:00
Wu Zheng Hui
261683e6b0 Merge branch 'fix/fix_sleep_exception_in_spi_flash_rom_impl' into 'master'
fix(esp_hw_support): fix sleep exception in spi flash rom impl

Closes IDF-15423

See merge request espressif/esp-idf!46409
2026-03-11 10:30:08 +08:00
Song Ruo Jing
600bf5b6d7 refactor(esp_hal_regi2c): move regi2c implementation from esp_rom to esp_hal_regi2c 2026-03-10 15:08:51 +08:00
wuzhenghui
c59c3a2c8d fix(esp_rom): sync spi_flash_disable/enable_cache patches to rom implementation 2026-03-09 21:21:24 +08:00
Xiao Xufeng
8dbf23630a refactor(spi_flash): reorganize header files and improve API encapsulation
This commit reorganizes SPI flash header files to better reflect their
visibility and intended usage:

1. Rename `esp_flash_port/` to `esp_flash_chips/`:
   - Better reflects that these headers are for chip driver implementations
   - All chip driver headers moved to `esp_flash_chips/` directory
   - Added README.md explaining semi-public nature of these headers

2. Move internal headers to `esp_private/`:
   - `esp_flash_internal.h` -> `esp_private/esp_flash_internal.h`
   - `memspi_host_driver.h` -> `esp_private/memspi_host_driver.h`

3. Move chip driver related headers to `esp_flash_chips/`:
   - `esp_private/esp_flash_types.h` -> `esp_flash_chips/esp_flash_types.h`
   - `spi_flash/spi_flash_defs.h` -> `esp_flash_chips/spi_flash_defs.h`
   - `spi_flash_override.h` -> `esp_flash_chips/spi_flash_override.h`
   - All `spi_flash_chip_*.h` headers moved to `esp_flash_chips/`

4. Code improvements:
   - Remove unused includes (e.g., `spi_flash_override.h` from `cache_utils.c`)
   - Use public API `esp_flash_get_size()` instead of direct member access
   - Add `esp_flash_is_quad_mode` to linker.lf for IRAM placement

5. Documentation updates:
   - Add README.md in `esp_flash_chips/` explaining semi-public headers
   - Update programming guide with warnings about internal headers
   - Update both English and Chinese documentation

6. Update all references across the codebase:
   - Update includes in `spi_flash` component
   - Update `bootloader_support`, `app_update`, `esp_tee`, `espcoredump`
   - Update example projects

Breaking changes:
- Headers moved to new locations require include path updates
- `custom_flash_driver` example temporarily disabled until external
  components are updated
2026-01-23 03:38:54 +08:00
muhaidong
0090fa27cf fix(wifi): fix lmac tx done assert issue 2026-01-13 11:07:11 +08:00
Alexey Lapshin
2b94daf17f fix(esp_rom): use hmac_md5 and hmac_md5_vector from ROM only if CONFIG_LIBC_NEWLIB 2025-12-16 11:35:47 +07:00
Alexey Lapshin
31810ae993 feat(esp_libc): make picolibc default libc 2025-12-03 13:31:42 +07:00
Song Ruo Jing
4b8633cc2b refactor(rom/gpio): add 'rom_' prefix to GPIO ROM functions 2025-11-07 15:26:52 +08:00
Samuel Obuch
66de4ef8ca fix(esp_rom): correct typos defalut -> default 2025-10-02 17:41:40 +08:00
Marius Vikhammer
af91aa771b change(rom): removed deprecated STATUS enum, use ETS_STATUS instead 2025-09-15 10:36:16 +08:00
zhiweijian
e2e5d4915b fix(rf/example): Fixed phy test example crash 2025-07-21 10:21:55 +08:00
Xiao Xufeng
83ca12c8e0 fix(esp_flash): fixed issue of escaping boundary check
Also patched corresponding ROM functions
2025-06-24 15:30:11 +08:00
liuning
23f49324b2 fix(pm): reserve txqblocks when mac init at offchannels 2025-06-17 21:10:03 +08:00
Song Ruo Jing
3e2945b595 fix(gpio): remove GPIO_OUTPUT_SET macro for ESP32P4
Use GPIO_OUTPUT_SET led to compilation error

Closes https://github.com/espressif/esp-idf/issues/16050
2025-06-11 20:56:12 +08:00
Jiang Jiang Jian
03e6dda224 Merge branch 'bugfix/fix_some_wifi_bugs_ralated_max_bss_idle' into 'master'
fix(bss_max_idle): fix some wifi bugs related to bss max idle

Closes WIFIBUG-1193, WIFIBUG-1194, and PM-411

See merge request espressif/esp-idf!39288
2025-05-26 19:48:24 +08:00
yinqingzhao
18a468b0d5 fix(bss_max_idle): fix some wifi bugs related to bss max idle 2025-05-26 14:26:19 +08:00
Island
6897f90612 Merge branch 'feat/reduce_bin_size_and_iram_for_ble_rom_code' into 'master'
feat(ble/controller): Reduce bin size and IRAM for BLE rom code on ESP32-C3 and ESP32-S3

Closes BLERP-1855

See merge request espressif/esp-idf!38987
2025-05-22 20:20:22 +08:00
zhiweijian
1d739291ca feat(ble/controller): Reduce bin size and IRAM for BLE rom code 2025-05-21 10:22:37 +08:00
sibeibei
10ac8e622e fix(wifi): rx bcn failed when sta off channel under modem state 2025-05-19 20:08:58 +08:00
chenjianhua
f0d5227735 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(edf923e)
- Fixed ble lib linkage issue
2025-04-28 13:25:10 +08:00
tarun.kumar
0823706e88 fix(wifi) : Commented out few ld file functions corresponding to offchan changes 2025-04-27 14:34:06 +08:00
chenjianhua
0df0b53b0a fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(edf923e)
- Fixed MIC error disconnection when pairing with iOS devices
2025-04-23 17:34:19 +08:00
Jiang Jiang Jian
323119a0b6 Merge branch 'feature/improve_ps_compatibility_master_2025' into 'master'
feat(wifi): improve ps compatibility

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

See merge request espressif/esp-idf!35960
2025-04-16 02:58:40 +08:00
Island
1edf45e3e8 Merge branch 'bugfix/fix_some_ble_bugs_250331_esp32c3' into 'master'
Fixed some BLE bugs 250331 on esp32c3

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

See merge request espressif/esp-idf!38170
2025-04-15 15:28:58 +08:00
liuning
c00d092bdb feat(wifi): support sample beacon feature
fix: adapt soc wakeup quick wake, fix light sleep beacon sample

feat(pm): giveup beacon and resample if rx prop too low (a16fa11)
2025-04-14 11:50:40 +08:00
sibeibei
28290c8da3 fix(wifi):fix modem state rx bcn failed when tbtt update, support modem state for coexist 2025-04-09 11:41:56 +08:00
chenjianhua
4602665e5d fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(a684dd5)
- Fixed clear legacy adv error when adv not exist
- Disable anonymous extended adv reporting
- Fixed BLE assert lld_adv.c 2992
- Fixed heap assert due to adv data buffer double freeing
- Fixed BLE 0x08 disconnect when the win size is greater than half of the conn interval
2025-04-03 18:11:18 +08:00
Chen Jichang
1785e1d329 refactor(flash): spilt flash cap in esp_rom 2025-03-28 15:04:25 +08:00
Alexey Lapshin
ec68cb3300 feat(newlib): riscv: add CONFIG_LIBC_OPTIMIZED_MISALIGNED_ACCESS config option
This option replaces implementations of functions from ROM:
  - memcpy
  - memcmp
  - memmove
  - str[n]cpy
  - str[n]cmp

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

  memcpy:  28676 -> 4128
  memcmp:  49147 -> 14259
  memmove: 33896 -> 8086
  strcpy:  32771 -> 17313
  strcmp:  32775 -> 13191
2025-03-26 17:27:24 +07:00
Marius Vikhammer
afedcb7c9b Merge branch 'bugfix/fix_secondary_console_no_vfs' into 'master'
fix(console): fixed secondary console not working on all chips without VFS

Closes IDF-12577

See merge request espressif/esp-idf!37464
2025-03-12 13:51:37 +08:00
Marius Vikhammer
12e9d6514a fix(console): fixed secondary console not working on all chips without VFS 2025-03-07 14:41:19 +08:00
nilesh.kale
49e1e22f72 fix(esp_rom): Remove AES-192 references for unsupported chips
Cleaned up references to AES-192 in ROM headers for chips that do not support it.
2025-03-06 17:48:17 +05:30
chenjianhua
d672f909f3 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(b34b7d6)
- Fixed enhanced TX power setting and getting for legacy adv
- Fixed BLE assert lld_con.c 2387
- Fixed compatibility issues during the encryption procedure
- Support BLE vendor hci enable CCA command
2025-02-27 20:52:05 +08:00
chenjianhua
326f391f9c fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(fd62b31)
- Fixed periodic adv enable params checking
- Fixed BLE assert lld_scan.c 1728 when receiving directed adv
- Support resolving RPA to identity address when creating connection
- Fixed BLE assert rwble.c 505 param 00400010
- Fixed peer address type error in HCI LE meta event
- Fixed setting random address failed when extended adv is enabled
2025-01-03 16:52:42 +08:00
liuning
595c9f32f4 fix(wifi): fix double max active time, fix coex pwr period cant been updated by ps type set 2024-12-24 14:36:28 +08:00
Alexey Lapshin
888b5f7e8d feat(newlib): add picolibc support 2024-12-02 21:35:56 +07:00
zhiweijian
4b767d03fe feat(bt/controller): Support controller code run in flash only 2024-10-30 10:05:39 +08:00
chenjianhua
1e3220b0b0 fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(52ee788)
- Fixed BLE vendor HCI set and get tx power
- Support BLE vendor HCI set adv aux offset command
- Support BLE vendor HCI set CSA support command
- Added config for BLE instant passed workaround
- Fixed btdm_sleep_clock_sync timeout workaround
2024-10-20 16:33:27 +08:00
chenjianhua
020f7a6297 fix(bt/controller): Fixed BLE functions overriding on ESP32-C3 ECO7 2024-10-15 12:11:13 +08:00
morris
d6ac628f7a change(esp_rom): comment out conflict gpio functions
The GPIO function names has conflict with the public API used by
esp_driver_gpio component.

For now, we simply comment out the conflict ones.

Later, we should consider reusing the GPIO rom APIs.
2024-10-10 16:01:05 +08:00
wangtao@espressif.com
d618d1d934 fix(wifi): fix ampdu to normal cause free buffer twice issue 2024-09-30 12:09:45 +08:00