Commit Graph

59 Commits

Author SHA1 Message Date
Wang Mengyang
4b7286d083 fix(bt): Fix heap corruption in the call of esp_bt_mem_release on ESP32
Closes https://github.com/espressif/esp-idf/issues/14263
2024-08-14 19:00:15 +08:00
Island
cb98558051 Merge branch 'bugfix/fix_some_ble_bugs_cjh_v5.1' into 'release/v5.1'
Fixed some BT and BLE bugs 2404 (backport v5.1)

See merge request espressif/esp-idf!30784
2024-05-13 14:01:24 +08:00
zhanghaipeng
c6414934b0 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-05-11 14:37:06 +08:00
Wang Mengyang
cc0485e40d 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-05-06 16:39:46 +08:00
Wang Mengyang
d01f09044e 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-05-06 16:38:10 +08:00
gongyantao
82a36ee753 change(bt/bluedroid): Redirect app functions in controller based on the bluetooth mode 2024-02-28 09:40:15 +08:00
zhanghaipeng
cc78bb61b5 docs(ble/bluedroid): Optimize documentation for BLE duplicate scan 2024-01-22 20:55:42 +08:00
muhaidong
13094f2216 change(wifi): update esp_coexist_internal.h and esp_modem_wrapper.h 2023-12-19 19:15:49 +08:00
liuning
ae07349ec4 feat(coex): apply struct for coex version 2023-12-08 13:06:55 +00:00
zhiweijian
5677692187 feat: add config to disable ble hci uart flow control 2023-10-20 16:48:33 +08:00
zhiweijian
51ebdfcbfa change: enable pll track by default on ESP32 2023-10-20 16:47:18 +08:00
zhangwenxu
ee087e91c2 fix(CI): fix CI build 2023-09-27 14:55:26 +08:00
zhanghaipeng
2b1269d4fb fix(bt): Fix the issue of not printing the Bluetooth MAC address for ESP32
- Add a log statement to print the Bluetooth MAC address
2023-07-13 16:43:37 +08:00
Darian Leung
51405fd9d4 bt: Remove FreeRTOS static allocation from OSI functions
Previously, the BT OSI would use various FreeRTOS "create static" functions to
ensure that semaphores and queues were always allocated to internal memory.
However, from commit e21ab0332b onwards, all
dynamic memory allocated by FreeRTOS will default to internal RAM.

Thus, the extra "create static" calls can be removed to simply the code.
2023-04-21 15:19:29 +08:00
wangmengyang
2c4fc5d9ea bt: add coexistence internal API declarations and clean up some unused coexistence hooks 2023-02-26 06:58:18 +00:00
liuning
b3a040aa98 coex: apply new coex_schm_callback 2023-02-26 06:58:18 +00:00
wangmengyang
1661694e0b bt: added coex adapter operation to get version of coexist module to ESP32 Bluetooth Controller 2023-02-26 06:58:18 +00:00
liuning
103772df94 esp_wifi: support adapter of all chips for new coex lib 2023-02-26 06:58:18 +00:00
zwj
9ac7b16124 Update bt lib for ESP32
- Add config to set duplicate scan list refresh period
- overwrite the oldest device infor if the list is full
- Fixed duplicate scan period is not accurate
2022-12-19 15:15:37 +08:00
zwj
e9bfaf9a41 Fixed some memory was not released after bluetooth controller initialization failed on ESP32 2022-12-07 15:04:39 +08:00
liuning
b8d3553a1c phy: only set phy_init_flag at power domain off, when all modems deinit 2022-11-25 03:18:12 +00:00
Alexey Gerenkov
47c2c13de5 build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
baohongde
6d631d14de components/bt: Make sure sempher and queue used in isr is in DRAM 2022-07-21 13:50:29 +08:00
zwj
9a46d06532 fix esp32 BLE ke_mem.c assert 2022-07-07 11:23:11 +00:00
Jack
cb0dd5cc75 fix the bug that some memory leaked in phy after wifi/ble deinit 2022-06-16 20:42:20 +08:00
xiongweichao
d888665160 Bluetooth build fail when power management is enabled
Closes https://github.com/espressif/esp-idf/issues/9081
2022-06-02 10:46:19 +08:00
Anton Maklakov
877dc3e304 bt: make int types consistent 2022-05-27 08:03:54 +00:00
songruojing
a5b09cf015 rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in
soc/clk_tree_defs.h
2022-05-24 22:59:41 +08:00
Marius Vikhammer
d2872095f9 soc: moved kconfig options out of the target component.
Moved the following kconfig options out of the target component:
 * CONFIG_ESP*_DEFAULT_CPU_FREQ* -> esp_system
 * ESP*_REV_MIN -> esp_hw_support
 * ESP*_TIME_SYSCALL -> newlib
 * ESP*_RTC_* -> esp_hw_support

Where applicable these target specific konfig names were merged into
a single common config, e.g;
CONFIG_ESP*_DEFAULT_CPU_FREQ -> CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ
2022-04-21 12:09:43 +08:00
songruo
60bb5c913d clk_tree: prework of introducing clk subsystem control
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
   upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
   Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08:00
Anton Maklakov
68e5d9d585 Remove IRAM_ATTR from any function declarations
IRAM_ATTR expands to a unique section attribute. Applying it to both
declaration and definition results in a section conflict.
2022-03-22 09:58:50 +00:00
Sudeep Mohanty
a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
baohongde
c138e47f45 components/bt: Update licenses 2021-12-08 10:59:06 +08:00
Cao Sen Miao
eddc196081 esp_clk: refactor target/clk.h to private/esp_clk.h 2021-11-26 14:56:30 +08:00
xiewenxiang
6d35819d16 component/bt: fix assert fail when interrupt hlevel disable 2021-11-24 20:10:00 +08:00
Jiang Jiang Jian
3a443d523f Merge branch 'bugfix/fix_memory_leak_controller_deinit' into 'master'
ESP32: Fix memory leak in controller deinit function

See merge request espressif/esp-idf!15449
2021-11-11 03:36:18 +00:00
morris
16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
xiewenxiang
9b16f5d831 component/bt: fix crash when shutdown bt 2021-11-02 10:29:10 +08:00
Li Shuai
46dedca23c ci: replace old header with new SPDX header style 2021-10-14 10:51:10 +08:00
baohongde
17d719bad7 Power Management: power up/down BT power domain when BT init/deinit 2021-10-14 10:51:09 +08:00
Rahul Tank
7f9a15f298 ESP32: Fix memory leak in controller deinit function
Added change to dealloc s_pm_lock in controller deinit as it gets allocated
during init procedure.

Closes https://github.com/espressif/esp-idf/issues/7653
2021-10-08 14:35:47 +05:30
baohongde
b310c062cd components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2021-09-16 20:26:35 +08:00
baohongde
eb176c3453 Fix bt init error with psram 2021-09-15 10:57:45 +08:00
baohongde
6fc4bf7145 components/bt: Fix link error of Kconfig 2021-09-13 15:45:27 +08:00
baohongde
006a10b050 components/doc: Update doc about high-level interrupt
some bugfix.
2021-09-09 20:40:09 +08:00
baohongde
57eeb4d953 components/driver: support static allocation of FreeRTOS queues used by ISR routine 2021-09-09 11:29:19 +08:00
baohongde
e2fb413329 components/bt: add config option to choose Bluetooth intterupt level. 2021-09-09 11:29:17 +08:00
baohongde
8a4696d25a components/os: Fix live lock int bt isr using ocd multicore debug
components/os: Fix live lock in bt isr immediately
2021-09-09 11:29:08 +08:00
baohongde
d1db2df316 components/bt: High level interrupt in bluetooth
components/os: Move ETS_T1_WDT_INUM, ETS_CACHEERR_INUM and ETS_DPORT_INUM to l5 interrupt

components/os: high level interrupt(5)

components/os: hli_api: meta queue: fix out of bounds access, check for overflow

components/os: hli: don't spill registers, instead save them to a separate region

Level 4 interrupt has a chance of preempting a window overflow or underflow exception.
Therefore it is not possible to use standard context save functions,
as the SP on entry to Level 4 interrupt may be invalid (e.g. in WindowUnderflow4).

Instead, mask window overflows and save the entire general purpose register file,
plus some of the special registers.
Then clear WindowStart, allowing the C handler to execute without spilling the old windows.
On exit from the interrupt handler, do everything in reverse.

components/bt: using high level interrupt in lc

components/os: Add DRAM_ATTR to avoid feature `Allow .bss segment placed in external memory`

components/bt: optimize code structure

components/os: Modify the BT assert process to adapt to coredump and HLI

components/os: Disable exception mode after saving special registers

To store some registers first, avoid stuck due to live lock after disabling exception mode

components/os: using dport instead of AHB in BT to fix live lock

components/bt: Fix hli queue send error

components/bt: Fix CI fail

# Conflicts:
#	components/bt/CMakeLists.txt
#	components/bt/component.mk
#	components/bt/controller/bt.c
#	components/bt/controller/lib
#	components/esp_common/src/int_wdt.c
#	components/esp_system/port/soc/esp32/dport_panic_highint_hdl.S
#	components/soc/esp32/include/soc/soc.h
2021-09-09 11:29:06 +08:00
xiongweichao
ba7252d2ea Fix that when EXT CRYS is configured but not detected, light sleep is still allowed to be used 2021-08-16 16:51:54 +08:00