feat(bt): add new feature hold mode

This commit is contained in:
gongyantao
2026-05-29 14:57:50 +08:00
committed by chenqingqing
parent ade1f84409
commit d80462761c
3 changed files with 21 additions and 0 deletions
@@ -167,6 +167,12 @@ config BT_CTRL_BR_EDR_CPB_RX_EN
help
Enable BR/EDR Connectionless Peripheral Broadcast Receive
config BT_CTRL_BR_EDR_HOLD_EN
bool "Enable BR/EDR Hold Mode"
default n
help
Enable BR/EDR Hold Mode
config BT_CTRL_BR_EDR_LK_STORE_EN
bool "Enable BR/EDR controller link key storage"
default n
@@ -59,6 +59,12 @@ extern "C" {
#define UC_BR_EDR_APB_EXT_PCA_EN 0
#endif
#if defined(CONFIG_BT_CTRL_BR_EDR_HOLD_EN) && CONFIG_BT_CTRL_BR_EDR_HOLD_EN
#define UC_BR_EDR_HOLD_EN 1
#else
#define UC_BR_EDR_HOLD_EN 0
#endif
#if defined(CONFIG_BT_CTRL_BR_EDR_LK_STORE_EN) && CONFIG_BT_CTRL_BR_EDR_LK_STORE_EN
#define UC_BR_EDR_LK_STORE_EN 1
#else
@@ -110,6 +110,7 @@ extern int bredr_ctrl_feat_sync_en(void);
extern int bredr_ctrl_feat_apb_en(void);
extern int bredr_ctrl_feat_bcst_enc_en(void);
extern int bredr_ctrl_feat_pca_en(void);
extern int bredr_ctrl_feat_hold_en(void);
extern int bredr_ctrl_feat_cpb_rx_en(void);
extern int bredr_ctrl_feat_cpb_tx_en(void);
extern int bredr_ctrl_feat_dtm_en(void);
@@ -626,6 +627,14 @@ static int bredr_ctrl_setup_callback(void)
}
#endif /* UC_BR_EDR_APB_EXT_PCA_EN */
#if UC_BR_EDR_HOLD_EN
ret = bredr_ctrl_feat_hold_en();
if (ret != 0) {
ESP_LOGE(BREDR_LOG_TAG, "bredr_ctrl_feat_hold_en failed, ret:%d", ret);
break;
}
#endif /* UC_BR_EDR_HOLD_EN */
#if UC_BR_EDR_CPB_RX_LINK_NB
ret = bredr_ctrl_feat_cpb_rx_en();
if (ret != 0) {