Commit Graph

99 Commits

Author SHA1 Message Date
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
Xia Xiaotian
2e0c60461c esp_wifi: refactor PHY access
- Simplify PHY access API
- Move coexist initializing and deinitializing out from PHY API
  to Wi-Fi and Bluetooth
- Remove coexist pause and resume for they are no longer needed.
2020-09-22 15:00:05 +08:00
weitianhua
c598b816ba Confirmed bugfix from Baidu project 2020-09-15 19:36:20 +08:00
weitianhua
9b57366908 Change PCM config to the right position 2020-09-01 16:05:01 +08:00
weitianhua
d43f3539ee Workaround for a hardware bug in Slave sniff mode. Because of Slave dose not start a sniff timeout count when slave send a ACL package. 2020-08-26 15:00:29 +08:00
wangcheng
6a9becd75f Fixed assert(9, 10), When rx and evt_end interrupts exist at the same time, use the information of rx to determine the execution order 2020-08-23 13:42:40 +00:00
Jiang Jiang Jian
2ad8f8c9d2 Merge branch 'bugfix/ADV_UNDERRUN_assert_1024' into 'master'
components/bt: Fix ble assert(1024,0), ADV_UNDERRUN error

Closes BT-726

See merge request espressif/esp-idf!9479
2020-07-30 21:18:11 +08:00
morris
2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
wangcheng
43f1e43215 component/bt: Fix ble IFS_UNDERRUN, ADV_UNDERRUN error 2020-07-27 04:09:17 +00:00
weitianhua
8f84930c5c Redesign Kconfig.in BT components 2020-07-14 11:01:02 +08:00
weitianhua
4167fc3438 Enable pcm config 2020-07-14 10:25:13 +08:00
wangcheng
b60c496296 components/bt: Change the default value of conn_max_tx_octets to 251. 2020-07-10 19:48:32 +08:00
Chinmay Chhajed
9bac16fcec Fixes ACL TX handler functioning.
ACL TX handler was never being called. Changed it's caller function so
that it is called properly.
2020-07-02 17:11:29 +05:30
Chinmay Chhajed
e3350e7861 Bluedroid: Authentication fixes in Legacy and Secure Connection.
Prevent a remote device from doing a Bluetooth Impersonation Attack
(BIAS) by:

- Preventing remote device to downgrade secure connection
feature mask. Secure connection feature mask should remain same or
increase to enabled in link key generation and authentication.

- Doing a mutual authentication during Legacy Authentication.

Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-06-25 15:37:01 +05:30
wangcheng
7bad9b77cc components/bt:Fix instant reverse and add ble connect paramter check. 2020-06-18 11:21:46 +08:00
baohongde
140b696009 components/bt: Fix ble disconnect due to instant of channel map update is too small 2020-06-17 03:52:32 +00:00
baohongde
75ca740d04 Set AFH in time(075dd35)
Send LMP_channelClassification immediately
Fix first LMP_set_AFH not using host value
2020-06-17 03:52:32 +00:00
baohongde
fd8f2c1a32 components/coex: Fix ble connecting fail in coexist 2020-06-17 03:52:32 +00:00
weitianhua
8fc05d0665 Fix ASSERT for RXDESC and save the log for debug 2020-05-18 06:51:51 +00:00
weitianhua
8d1032ccac Fix ASSERT in ld_acl at line 302 forclkoff1 and localval 2020-05-18 06:51:51 +00:00
weitianhua
77cc105c72 Fix ld_acl schedule bug to parity shift 2020-05-18 06:51:51 +00:00
weitianhua
55877684a0 Fix ASSERT(64,0) in rwble.c 2020-05-18 06:51:51 +00:00