diff --git a/components/bt/controller/lib_esp32s31/esp32s31-bt-lib b/components/bt/controller/lib_esp32s31/esp32s31-bt-lib index e03d132448d..fd26aa4fc75 160000 --- a/components/bt/controller/lib_esp32s31/esp32s31-bt-lib +++ b/components/bt/controller/lib_esp32s31/esp32s31-bt-lib @@ -1 +1 @@ -Subproject commit e03d132448d5affcb6ba8c5378c458519c8161f9 +Subproject commit fd26aa4fc75c49792824d9bc7a6e32ef05067119 diff --git a/components/bt/porting_btdm/controller/bredr/Kconfig.in b/components/bt/porting_btdm/controller/bredr/Kconfig.in index 67c7e523d73..36bf81e9338 100644 --- a/components/bt/porting_btdm/controller/bredr/Kconfig.in +++ b/components/bt/porting_btdm/controller/bredr/Kconfig.in @@ -130,6 +130,31 @@ config BT_CTRL_BR_EDR_APB_EN help Enable BR/EDR Active Peripheral Broadcast +config BT_CTRL_BR_EDR_APB_EXT_EN + bool "Enable BR/EDR Broadcast Encryption or Piconet Clock Adjustment" + select BT_CTRL_BR_EDR_APB_EN + default n + help + Enable BR/EDR Broadcast Encryption or Piconet Clock Adjustment + +choice BT_CTRL_BR_EDR_APB_EXT + prompt "Choice BR/EDR Broadcast Encryption or Piconet Clock Adjustment" + depends on BT_CTRL_BR_EDR_APB_EXT_EN + default BT_CTRL_BR_EDR_APB_EXT_PCA_EN + help + Enable BR/EDR Broadcast Encryption or Piconet Clock Adjustment + + config BT_CTRL_BR_EDR_APB_EXT_BCST_ENC_EN + bool "Broadcast Encryption" + help + Enable BR/EDR Broadcast Encryption + + config BT_CTRL_BR_EDR_APB_EXT_PCA_EN + bool "Piconet Clock Adjustment" + help + Enable BR/EDR Piconet Clock Adjustment +endchoice + config BT_CTRL_BR_EDR_CPB_TX_EN bool "Enable BR/EDR Connectionless Peripheral Broadcast Transimit" default n @@ -148,6 +173,12 @@ config BT_CTRL_BR_EDR_LK_STORE_EN help Enable BR/EDR controller link key storage, only support store link key in RAM for now. +config BT_CTRL_BR_EDR_DTM_EN + bool "Enable BR/EDR controller direct test mode" + default n + help + Enable BR/EDR controller direct test mode + config BT_CTRL_BR_EDR_TX_CCA_ENABLED bool "Enable BR/EDR TX CCA feature" default n diff --git a/components/bt/porting_btdm/controller/bredr/include/bredr_user_cfg.h b/components/bt/porting_btdm/controller/bredr/include/bredr_user_cfg.h index a4dd20226c5..a4d812c2283 100644 --- a/components/bt/porting_btdm/controller/bredr/include/bredr_user_cfg.h +++ b/components/bt/porting_btdm/controller/bredr/include/bredr_user_cfg.h @@ -65,6 +65,12 @@ extern "C" { #define UC_BR_EDR_LK_STORE_EN 0 #endif +#if defined(CONFIG_BT_CTRL_BR_EDR_DTM_EN) && CONFIG_BT_CTRL_BR_EDR_DTM_EN +#define UC_BR_EDR_DTM_EN 1 +#else +#define UC_BR_EDR_DTM_EN 0 +#endif + #if defined(CONFIG_BT_CTRL_BR_EDR_TX_CCA_ENABLED) #define UC_BR_EDR_TX_CCA_EN (CONFIG_BT_CTRL_BR_EDR_TX_CCA_ENABLED) #else diff --git a/components/bt/porting_btdm/controller/bredr/src/bredr.c b/components/bt/porting_btdm/controller/bredr/src/bredr.c index 1535b715f2f..1b00e4dd51b 100644 --- a/components/bt/porting_btdm/controller/bredr/src/bredr.c +++ b/components/bt/porting_btdm/controller/bredr/src/bredr.c @@ -112,8 +112,7 @@ extern int bredr_ctrl_feat_bcst_enc_en(void); extern int bredr_ctrl_feat_pca_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_vs_basic_en(void); -extern int bredr_ctrl_feat_vs_sec_ctrl_en(void); +extern int bredr_ctrl_feat_dtm_en(void); extern int bredr_ctrl_feat_test_en(void); extern int bredr_ctrl_feat_lk_store_en(void); extern int bredr_ctrl_feat_coex_en(void); @@ -658,22 +657,6 @@ static int bredr_ctrl_setup_callback(void) } #endif /* UC_BR_EDR_CPB_TX_LINK_NB */ -#if UC_BR_EDR_BASIC_VENDOR - ret = bredr_ctrl_feat_vs_basic_en(); - if (ret != 0) { - ESP_LOGE(BREDR_LOG_TAG, "bredr_ctrl_feat_vs_basic_en failed, ret:%d", ret); - break; - } -#endif /* UC_BR_EDR_BASIC_VENDOR */ - -#if UC_BR_EDR_LEGACY_AUTH_VENDOR_EVT - ret = bredr_ctrl_feat_vs_sec_ctrl_en(); - if (ret != 0) { - ESP_LOGE(BREDR_LOG_TAG, "bredr_ctrl_feat_vs_clk_ctrl_en failed, ret:%d", ret); - break; - } -#endif /* UC_BR_EDR_LEGACY_AUTH_VENDOR_EVT */ - #if UC_BR_EDR_TEST_MODE_EN ret = bredr_ctrl_feat_test_en(); if (ret != 0) { @@ -690,6 +673,14 @@ static int bredr_ctrl_setup_callback(void) } #endif /* UC_BR_EDR_LK_STORE_EN */ +#if UC_BR_EDR_DTM_EN + ret = bredr_ctrl_feat_dtm_en(); + if (ret != 0) { + ESP_LOGE(BREDR_LOG_TAG, "bredr_ctrl_feat_dtm_en failed, ret:%d", ret); + break; + } +#endif /* UC_BR_EDR_DTM_EN */ + #if CONFIG_SW_COEXIST_ENABLE ret = bredr_ctrl_feat_coex_en(); if (ret != 0) {