Commit Graph

320 Commits

Author SHA1 Message Date
Jack
cb0dd5cc75 fix the bug that some memory leaked in phy after wifi/ble deinit 2022-06-16 20:42:20 +08:00
zwj
fd90341138 support ble modem sleep and light sleep 2022-06-14 19:52:50 +08:00
Jiang Jiang Jian
b617ccfb4c Merge branch 'feature/esp32c2_eco1_bluetooth_update_0525_for_MR' into 'master'
Support bluetooth for esp32c2 chip

See merge request espressif/esp-idf!18243
2022-06-04 17:35:17 +08:00
Geng Yuchao
910b296d72 Add missing configuration items for BLE controller 2022-06-04 11:35:18 +08:00
Geng Yuchao
8533457208 Add bluetooth controller lib for esp32c2 2022-06-04 01:00:04 +08:00
Geng Yuchao
0722e6a0b7 Update controller lib for esp32h2 2022-06-04 01:00:04 +08:00
Geng Yuchao
5bba3ebed9 Fix esp32h2 controller support. 2022-06-04 00:59:56 +08:00
Geng Yuchao
5c3f0bfe7c Add esp32c2 controller support. 2022-06-04 00:59:21 +08:00
Geng Yuchao
50b762af1f Add Bluetooth controller menuconfig option for esp32c2 and esp32h2 2022-06-03 22:41:33 +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
satish.solanke
3a42007680 Bluedroid porting changes for esp32h2
created common Kconfig for common flag of nimbble and Bluedroid

fix compile error

created common cfg file for controller

fix the compilation error on tip of master

added common controller flags and fixed compilation error

sdkconfig rename for target specific
2022-05-30 08:42:45 +00:00
Jiang Jiang Jian
0e94779b2e Merge branch 'feature/support_esp32c2_wifi_new' into 'master'
Bringup ESP32C2 Wi-Fi

Closes IDF-3905

See merge request espressif/esp-idf!18136
2022-05-29 18:25:24 +08:00
Jack
7a8b63869f deinit BB MAC back memory when they are not used 2022-05-29 00:13:32 +08:00
Anton Maklakov
cfa3e68d1b bt: esp32s3, make int types consistent 2022-05-27 08:03:54 +00: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
Karl Wang
777dbb6c83 components/bt: disable Bluetooth PLL track function for ESP32-C3/ESP32-S3 as it introduced coexistence issues 2022-05-17 20:00:23 +08:00
Jiang Jiang Jian
baa5b8ed7d Merge branch 'bufix/esp32c3_s3_build_err' into 'master'
component_bt: Fix ESP32C3/S3 build error after enabled light sleep

Closes BT-2086

See merge request espressif/esp-idf!17546
2022-05-01 17:48:18 +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
xiongweichao
2be8875fd7 Fix ESP32C3/S3 build error after enable light sleep 2022-03-24 11:43:04 +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
Rahul Tank
f376bb5d05 Add support in Nimble for ESP32H2 2022-03-14 11:57:53 +05:30
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
Yang Zhao
000f398ab9 Update ESP32-C3 and ESP32-S3 bt lib and phy lib
Add the pll track feature to keep the ble connection stable when the environment
temprature increase form 0 to 74.
2022-03-03 07:39:22 +00:00
xiongweichao
3fe222d17b Fix crash when host exit sniff mode 2022-03-02 03:56:52 +00:00
xiewenxiang
dd9e2f4ac6 components/bt: Fix ble adv_underrun issue
components/bt: Fix LLCP collision for channel map update
2022-02-16 16:35:00 +08:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Kevin (Lao Kaiyao)
bf8d4d55d0 Merge branch 'refactor/rename_esp8684_to_esp32c2' into 'master'
esp8684: rename esp8684 to esp32c2

Closes IDF-4530

See merge request espressif/esp-idf!16745
2022-01-19 09:08:58 +00:00
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
wangmengyang
941165e380 components/bt: fix the definition of "le_scan_duplicate_option" to avoid defining common symbols 2022-01-17 10:46:00 +08:00
jincheng
6a9afa65a2 fix cs event for rd_rem_ext_feats delayed issue 2022-01-05 14:48:04 +08:00
xiewenxiang
54298708fe component/bt: Support set HW CCA threshold value 2021-12-28 18:15:18 +08:00
wangmengyang
219bffce9f component/bt: fixed coexistence scannable extended adv performance issue 2021-12-22 10:55:33 +08:00
Chinmay Chhajed
556cd73a7e bt/bugfix: ACL Rx data is sent to host before enc change event 2021-12-09 15:23:50 +08:00
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
xiongweichao
c80ac536d7 Add hci command to set coexistence status 2021-11-22 19:57:01 +08:00
Yang Zhao
3b84612582 Update esp32 bt-lib
It is abnormal when getting the deep sleep state bit. So we need to check
the state again and run the "ble_master_soft_rst()" if neesed.
2021-11-18 15:23:36 +08:00
Wang Meng Yang
534cd5bb31 Merge branch 'bugfix/fix_custmoer_issues' into 'master'
bugfix/fix_3_controller_issues

Closes ESPCS-721, IDFGH-5407, IDFGH-5712, and IDFGH-6082

See merge request espressif/esp-idf!15821
2021-11-11 03:39:37 +00: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
Jiang Jiang Jian
c6ad0e4658 Merge branch 'bugfix/power_down_bluetooth_module_when_deinit' into 'master'
component/bt: Power down bluetooth module when deinit

Closes WIFI-4180

See merge request espressif/esp-idf!15716
2021-11-11 03:23:46 +00:00
jincheng
74e121af88 fix HCI_Read_Clock error
fix HCI_Create_Connection_Cancel error
fix ASSERT_WARN during epr
2021-11-09 14:37:13 +08:00
baohongde
11656377af components/bt: Fix the issue caused by the power off the bt power domain 2021-11-09 12:03:49 +08: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
Cao Sen Miao
599227a1b6 ESP8684: Add esp8684 target to other repo for passing build 2021-11-06 17:33:45 +08:00
xiewenxiang
9b16f5d831 component/bt: fix crash when shutdown bt 2021-11-02 10:29:10 +08:00
Chinmay Chhajed
7caa6ca45f BLE: Set connection max latency value to 499. 2021-10-29 14:24:45 +05:30
baohongde
e6ceedf3a0 component/bt: Power down bluetooth module when deinit 2021-10-29 10:42:23 +08:00
xiongweichao
d5c3342a46 Remove assert when inq done
Closes https://github.com/espressif/esp-idf/issues/6759
2021-10-21 20:08:37 +08:00
Yang Zhao
a7247db6b4 Update esp32 bt-lib
1. Fix the scan failed issue.
2. Fix connection failed with LG 5.0 phone
2021-10-19 21:43:17 +08:00
Li Shuai
46dedca23c ci: replace old header with new SPDX header style 2021-10-14 10:51:10 +08:00
baohongde
e684b3f2a6 Power Management: Initialize backup memory for MAC and Baseband power up/down 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
Chinmay Chhajed
a977618f55 BT: Check only for same X component of public key in BR/EDR. 2021-09-20 23:24:24 +08:00
xiewenxiang
bebc5d543b component/bt: Fixed default LE Event Mask 2021-09-17 17:12:16 +08:00
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
05768e9878 components/bt: Combine 3 Bluetooth controller menu 2021-09-15 10:57:37 +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
xiewenxiang
2e5f44afa3 component/bt: Fixed ble conn will crash durning erase flash 2021-08-13 17:57:33 +08:00
Yang Zhao
931da79804 1.Update the esp32 bt lib.The last update is still the old one,so update it again.
2.The controller may miss the sleep time caculated before. So it will stuck
  in the loop to get the deep sleep HW flag. Then the watchdog issue happen.
2021-08-11 14:05:45 +08:00
Yang Zhao
d1f4b74812 The controller may miss the sleep time caculated before. So it will stuck
in the loop to get the deep sleep HW flag. Then the watchdog issue happen.
2021-08-09 13:13:51 +08:00
Yang Zhao
6aa44a8a89 This is to fix the hardware bug. The device may report scan event
timeout when scaning.If check this error,then reset the rwble core.
2021-07-19 20:56:30 +08:00
xiongweichao
fbab2fc0e3 Add remove sniff when peer not accepted sniff mode 2021-07-16 11:31:13 +08:00
sushant.chougule
4c3d527b2f component/bt: Fix BLE controller crash during reset/reboot 2021-07-15 22:35:37 +05:30
Wang Meng Yang
0b42c8fc73 Merge branch 'bugfix/fix_c3_s3_some_bugs_06_15' into 'master'
Bugfix/fix c3 s3 some bugs 06 15

See merge request espressif/esp-idf!14018
2021-06-27 23:45:22 +00:00
Wang Meng Yang
6ecffb02aa Merge branch 'bugfix/ble_start_scan_crash_issue_mr_master' into 'master'
ble start scan crash issue

See merge request espressif/esp-idf!13798
2021-06-25 10:31:01 +00:00
zwj
97188e8068 support hw recorrect 2021-06-25 15:30:02 +08:00
wangmengyang
a024de7cac component/bt: fixed the assert in checking hardware sleep state during wake-up
The hardware sleep state change can take some time after wake-up interrupt. Use busy waiting instead of directly assert
2021-06-24 10:35:40 +08:00
wangmengyang
aff1696c4e components/bt: fixed two bugs
1. Use correct addresses of Bluetooth Low Power Clock registers on Chip 7.2.8 ESP32-S3
2. Disabled CS-RXDONEMSK to avoid RX interrupt flooding during scan event in coexistence scenario
2021-06-23 07:06:28 +08:00
“YangZhao”
7bec64eaa3 If the scan window set as 4 slots and the scan interval set as 5 slots
,then the device will crash when starting scanning.This commit is to fix
this bug.
2021-06-21 21:14:42 +08:00
sushant.chougule
8f7ed33ba3 bt/component: Fix MIC error issue during start_encryption procedure in esp32c3 ble controller 2021-06-21 17:03:02 +05:30
wangmengyang
775465c140 components/bt: fixed performance issue for extended active scan in coexistence scenario: use the same priority for Rx of AUX_ADV_IND and AUX_SCAN_RSP 2021-06-07 11:31:15 +08:00
Jiang Jiang Jian
5cbea220b0 Merge branch 'feature/decouple_esp_phy' into 'master'
esp_phy: decouple esp_phy component from esp_wifi and bt

See merge request espressif/esp-idf!13742
2021-06-04 05:20:17 +00:00
Shu Chen
6061a547e5 esp_phy: decouple esp_phy component from esp_wifi and bt
* add esp-phy-lib submodule
* move libphy.a and phy_init.c from esp_wifi to esp_phy
* move librtc.a from esp_wifi to esp_phy
* move libbtbb.a from bt to esp_phy
* corresponding updates to build system
2021-06-03 16:17:31 +08:00
Angus Gratton
dc6b950257 doc: Add performance guides for execuion speed, binary size, RAM usage
Closes https://github.com/espressif/esp-idf/issues/7007
Closes https://github.com/espressif/esp-idf/issues/6715
Closes https://github.com/espressif/esp-idf/issues/3781
Closes https://github.com/espressif/esp-idf/issues/2566
2021-06-03 13:55:34 +10:00
liaowenhao
6bd7f30199 bugfix/fix crash when lmp flooding 2021-05-24 12:08:03 +08:00
baohongde
721a0c3415 components/bt: Delete BLE ADV priority high 2021-05-17 17:07:14 +08:00
Chinmay Chhajed
ce4743d9d3 bt controller: Fixed handling for invalid feature page. 2021-05-11 09:00:37 +00:00
wangmengyang
666a73d79c components/bt: bug-fixes in BLE controller and BLE baseband
1. Removed the interrupt lock operation during controller enable/disable/reset, to avoid trigger interrupt watchdog time-out due to use of mutex/semaphore in coex_st_set

2. update libbtbb.a to fix the Rx performance issue for CODED PHY, especially in coexistence scenario
2021-04-28 12:05:49 +00:00
zwj
3c06fea8a1 fix esp32c3 and esp32s3 ble disconnect due to connection paramters update 2021-04-25 20:18:21 +08:00
wangmengyang
d703424ef7 component/bt: add another bt-lib submodule and refactor the directories 2021-04-22 07:41:46 +08:00
wangmengyang
b81c687327 remove original esp32-bt-lib submodule 2021-04-21 19:51:32 +08:00
“YangZhao”
1def09cc99 bugfix: Fix the issue that the controller do not report the timeout
disconnect event. This issue is caused by modem sleep.The sleep interrupt
will come the second time before the CLKN interrupt. If we disable the sleep
interrupt when it comes in the first time, the CLKN will never come.
2021-04-21 14:49:44 +08:00
zwj
58cd231895 optimize C3 and s3 multi-connection 2021-04-20 02:41:14 +00:00
zwj
facadc86d8 support 727 esp32s3 BLE 2021-04-15 22:02:58 +08:00
xiongweichao
4aafb1fd80 modify E8192 ELx200 ELx40 log level to LOGD 2021-04-13 17:08:23 +08:00
Renz Bagaporo
e6edf34e82 esp32: move esp_clk functions 2021-03-31 19:17:33 +08:00
Jiang Jiang Jian
bd4e34b15a Merge branch 'bugfix/btdm_incorrectly_spelled' into 'master'
component/bt: fix Spelling mistakes

Closes IDFGH-4886, IDFGH-4910, and IDFGH-4635

See merge request espressif/esp-idf!12814
2021-03-29 05:07:54 +00:00
baohongde
77fc60ede1 components/bt: Synchronize multiple branch of bt lib 2021-03-25 14:39:28 +08:00
baohongde
36b89a9f0b components/bt: Fix assert without sw coexist enabled 2021-03-25 14:39:07 +08:00
baohongde
7c2ff2ad3f component/coex: Decouple Wi-Fi and bluetooth with coexist to reduce binary file size 2021-03-25 14:39:07 +08:00
“YangZhao”
8e282c7fe5 Fix the bug of modem sleep which may lead to the crash issue "assert(-218959118,0)" 2021-03-24 11:39:00 +08:00
XieWenxiang
f9cdd1d6c9 component/bt: Modify some ambiguous descriptions 2021-03-23 23:08:05 +08:00
Jiang Jiang Jian
5978352cf9 Merge branch 'bugfix/ble_tx_power_mapping' into 'master'
Bluetooth: Tx power level for ESP32C3 and IRAM_ATTR fix for ESP32S3 controller

See merge request espressif/esp-idf!12651
2021-03-23 03:04:30 +00:00
KonstantinKondrashov
aa1338bf23 wdt: Fix timeout and RTC_SLOW_CLK
RTC_SLOW_CLK
ESP32:    150kHz
ESP32-S2:  90kHz
ESP32-S3: 150kHz
ESP32-C3: 150kHz
2021-03-19 00:15:18 +08:00
wangmengyang
ab8e488c38 component/bt: [ESP32S3] fix missing IRAM_ATTR for function in libbtdm_app.a 2021-03-17 16:52:34 +08:00
wangmengyang
528964f12c fixed incorrect Tx power mappings for ESP32C3 chip 2021-03-17 16:52:26 +08:00
Chinmay Chhajed
1d54d9ac13 Fix for C2H flow control param check when only BLE mode is configured. 2021-03-10 15:06:49 +05:30
baohongde
33df1358ef Fix issues during light sleep and DFS 2021-03-09 13:49:59 +08:00
Jiang Jiang Jian
ffe5e45c77 Merge branch 'bugfix/btdm_controller_task_watchdog_in_wifi_test' into 'master'
Fix controller task watchdog in Wi-Fi test

Closes WIFI-3391

See merge request espressif/esp-idf!12628
2021-03-08 07:02:16 +00:00
Jiang Jiang Jian
b88a156ce5 Merge branch 'bugfix/btdm_crash_when_esp_restart' into 'master'
components/bt: Fix crash in Bluetooth when esp_restart

See merge request espressif/esp-idf!12566
2021-03-05 11:53:03 +00:00
baohongde
df146f5cd9 Fix controller task watchdog in Wi-Fi test 2021-03-05 11:25:03 +08:00
Angus Gratton
70e13752ae Merge branch 'feature/rtc_time_get' into 'master'
rtc: Clean up for S2,S3,C3

Closes IDF-2569

See merge request espressif/esp-idf!12336
2021-03-05 01:16:15 +00:00
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
KonstantinKondrashov
b31bf01484 rtc: Clean up for S2,S3,C3 2021-03-01 16:51:15 +08:00
baohongde
2e7405e8aa components/bt: Fix crash in Bluetooth when esp_restart 2021-03-01 14:39:35 +08:00
gengyuchao
0d1eb8a331 Fix IRAM_ATTR missing 2021-02-26 20:31:47 +08:00
Chinmay Chhajed
368ba6b077 component/bt: Added check for NULL valued combination key. 2021-02-09 12:09:32 +05:30
Chinmay Chhajed
5596f37af1 bt: removed esp_bt_get_mac()
There was no need for this function as there is already a way present to
fetch own mac address. Own mac addr can be fetched by calling
controller_get_interface().
2021-02-09 12:09:15 +05:30
wangmengyang
44dd496bea update esp32c3 btbb lib 21-02-08 and set coexist state when in scan(initiating) mode 2021-02-08 21:19:59 +08:00
wangmengyang
2dd730d35c component/bt: [esp32c3] modify Bluetooth coexistence options 2021-02-05 09:16:29 +00:00
baohongde
eef66789d4 Mac BB power down in light sleep
components/bt: Do not use feature: timer support isr dispatch method

disable controller after wake up finished.

protect critical section of power down

choose clk in sleep

components/coex: mac bb power down in light sleep

components/coex: Macro changed

components/os: protect reserved interrupt number

update phy to phy_version 300,6e46ba7,Jan 25 2021

some bugfix
2021-01-28 22:28:04 +08:00
wangmengyang
ee480b7776 Refactor Bluetooth init/deinit mechanism
free osi_funcs struct memory duiring failure of controller_init when necessary

components/bt: use s_lp_stat.phy_enabled to control the on/off of phy module

clean up style for controller_disable

clean up some empty functions and unnecessary comments

Added async wakeup src "BTDM_ASYNC_WAKEUP_SRC_TMR"

remove use of assert in controller_init, set error code upon some exceptions

move stop esp_timer early to phase0, add state variable wakeup_timer_started
2021-01-28 19:27:17 +08:00
wangmengyang
06ea8a3028 remove use of macro "CONFIG_SPIRAM_USE_MALLOC" 2021-01-28 19:25:03 +08:00
wangmengyang
086b36d737 Refactor Bluetooth sleep mechanism
Refactor bluetooth hardware PowerUp/PowerDown functions

component/bt: fix use of a deprecated MACRO "CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE"

component/bt: fix sleep wakeup in controller disable procedure

remove use of s_pm_lock_sem

1. Modified the waking up approach from async to sync: post a message to controller task upon vhci downstream packets or controller disable, and in response, controller task goes through the wake-up procedure
2. Added Controller status check for the esp_vhci APIs
3. Adjust the procedure during controller_init, check the validity of arguments first

Some minor modifications for bluetooth sleep control and configuration

1. use variable flag s_btdm_allow_light_sleep to control the use of s_light_sleep_pm_lock
2. use variable btdm_lpclk_sel to choose bluetooth sleep clock, support only for external 32kHz crystal temporarily

component/bt: improve async_wakeup function

1. check power state first and then decide if wakeup needs to be performed
2. change the meaning of the return value, if wakeup request is posted to controller task, then return true, otherwise return false

put sleep control logics in controller init/deinit/enable/disable together

Use s_lp_cntl struct: replace bool-typed variable sleep_backup_en with s_lp_cntl.mac_bb_pd

Use s_lp_cntl struct: replace bool-typed variable s_btdm_allow_light_sleep with s_lp_cntl.no_light_sleep

Use s_lp_cntl struct: replace global variable btdm_lpclk_sel with s_lp_cntl.lpclk_sel

create semaphore s_wakeup_req_sem only when low power mode is required

Use s_lp_cntl struct: use s_lp_cntl.wakeup_timer_required to control the wakeup timer

use s_lp_stat to replace original state variable sleep_backup_done and s_pm_lock_acquired

one minor change for mac_bb_pd settings init: return error status if memeory allocation failed
2021-01-28 19:23:09 +08:00
wangmengyang
9742aa6f05 component/bt: handle sleep wakeup event in the context of controller task instead of timer task 2021-01-28 16:04:21 +08:00
wangmengyang
51be1af028 add coexist hook functions and fix bugs for coexistence 2021-01-27 06:37:04 +00:00
zwj
ea42d8e043 fix bluedroid deinit crash 2021-01-15 21:08:14 +08:00
zwj
7c1c669799 component/bt: add BLE v5.0 feature for bluedroid host 2021-01-15 17:55:12 +08:00
Island
1e73d90c29 Merge branch 'bugfix/bluedroid_avoid_same_bdaddr_conn' into 'master'
Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR.

See merge request espressif/esp-idf!11806
2021-01-14 14:47:21 +08:00
Chinmay Chhajed
e016b6b79b Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR. 2021-01-05 14:54:15 +05:30
baohongde
3b0fc48ab4 components/bt: Shutdown Bluetooth before esp_restart. 2020-12-21 20:08:10 +08:00
gengyuchao
247484c454 bugfix: clear the timer after remote reject when respond the parameters update 2020-12-17 22:19:44 +08:00
wangcheng
386a8e37f1 components/bt:fix exl200, add btdm_disable_adv_delay, fix RPA addr update error. 2020-12-17 10:57:54 +08:00
Wei Tian Hua
6b7c878581 Free ACL RX Buf in EM when disconnection 2020-12-16 18:02:39 +08:00
weitianhua
56f0978caa Add protection for interval_min when it comes to zero 2020-11-19 11:05:40 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
weitianhua
ed2654bdf3 Remove dummy assert when receive passkey requst 2020-11-10 15:58:24 +08:00
gengyuchao
5aecf71021 Fix two bugs:
1.Fix supervision timeout in LLC DISC busy statue can not disconnect issue.
 2.Solve the problem that the ble terminate ack packet may lose with a high probability in coex mode.
2020-11-10 03:02:57 +00:00
wangcheng
e5af56db41 components/bt: fix hci timeout, add timer to monitor scan evt. 2020-11-06 14:04:17 +08:00
weitianhua
1de3b17192 Fix BT controller dead issue caused by clk overflow 2020-10-29 10:49:30 +08:00
wangcheng
6d7c9907c3 components/bt: fixed memory damage caused by bluetooth memory release 2020-10-28 06:59:03 +00:00
wangcheng
8cf0c1c3b8 components/bt: fix assert(10, 9), when the AFPM happens 2020-10-28 06:59:03 +00:00
wangcheng
94fae76de1 components/bt: fixed tx_prog insert error 2020-10-21 20:22:17 +08:00
baohongde
3b82670a50 components/bt: Fix waking up fail while sleeping 2020-10-14 20:20:57 +08:00
baohongde
3f97f1d67a components/bt: Make sleep avaliable in hli(for future use) 2020-10-13 19:45:03 +08:00
wangcheng
49a52cda6e components/bt: btdm fix cache disable crash 2020-10-11 15:14:34 +08:00
baohongde
628655b6be components/coex: Some bugfix about ble dynamic prio
Rewrite ble dynamic prio to fix ble disconn in conn_param_update/channel_map_update
Rewrite ble dynamic prio in connection establishment
Fix ble dynamic prio with latency
Fix status bit set error when conn fail
2020-09-29 21:08:13 +08:00
wangcheng
8ddbadafe7 component/bt: Insert the llcp packet to the top of the tx_preg linked list. 2020-09-25 18:27:10 +08:00
Xia Xiaotian
bdbe74693f esp_wifi: refactor wifi code in order to adapter to new chips 2020-09-24 10:15:50 +08:00