diff --git a/components/bt/controller/esp32c2/bt.c b/components/bt/controller/esp32c2/bt.c index ae266f39c1..5657a8c3d1 100644 --- a/components/bt/controller/esp32c2/bt.c +++ b/components/bt/controller/esp32c2/bt.c @@ -230,10 +230,6 @@ static void esp_bt_ctrl_log_partition_get_and_erase_first_block(void); #if CONFIG_FREERTOS_USE_TICKLESS_IDLE static bool esp_bt_check_wakeup_by_bt(void); #endif // CONFIG_FREERTOS_USE_TICKLESS_IDLE -#if (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) -#include "tinycrypt/ecc.h" -static int ecc_rand_func(uint8_t *dst, unsigned int len); -#endif // (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) /* Local variable definition *************************************************************************** */ @@ -1026,9 +1022,6 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) ESP_LOGW(NIMBLE_PORT_LOG_TAG, "hci transport init failed %d", ret); goto free_controller; } -#if (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) - uECC_set_rng(ecc_rand_func); -#endif // (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) return ESP_OK; free_controller: hci_transport_deinit(); @@ -1462,27 +1455,6 @@ static mbedtls_ecp_keypair keypair; #if CONFIG_BT_LE_SM_SC #include "tinycrypt/cmac_mode.h" #include "tinycrypt/ecc_dh.h" - - -/* Used by uECC to get random data */ -static int ecc_rand_func(uint8_t *dst, unsigned int len) -{ - int offset_cnt = 0; - uint8_t *u8ptr = dst; - uint64_t random_64 = 0; - - while(len > 0) { - random64 = (uint64_t)esp_random(); - random64 = (random64 << 32)| (uint64_t)esp_random();; - offset_cnt = len < sizeof(uint64_t) ? len : sizeof(uint64_t); - memcpy(u8ptr, &random64, offset_cnt); - len -= offset_cnt; - u8ptr += offset_cnt; - } - - return 1; -} - #endif // CONFIG_BT_LE_SM_SC #endif // CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS @@ -1574,11 +1546,11 @@ exit: } #else - if (uECC_valid_public_key(pk, uECC_secp256r1()) < 0) { + if (uECC_valid_public_key(pk, &curve_secp256r1) < 0) { return BLE_SM_KEY_ERR; } - rc = uECC_shared_secret(pk, priv, dh, uECC_secp256r1()); + rc = uECC_shared_secret(pk, priv, dh, &curve_secp256r1); if (rc == TC_CRYPTO_FAIL) { return BLE_SM_KEY_ERR; } @@ -1654,7 +1626,7 @@ int ble_sm_alg_gen_key_pair(uint8_t *pub, uint8_t *priv) return BLE_SM_KEY_ERR; } #else - if (uECC_make_key(pk, priv, uECC_secp256r1()) != TC_CRYPTO_SUCCESS) { + if (uECC_make_key(pk, priv, &curve_secp256r1) != TC_CRYPTO_SUCCESS) { return BLE_SM_KEY_ERR; } #endif // CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS diff --git a/components/bt/controller/esp32c6/Kconfig.in b/components/bt/controller/esp32c6/Kconfig.in index 58fc31715d..bffab12e66 100644 --- a/components/bt/controller/esp32c6/Kconfig.in +++ b/components/bt/controller/esp32c6/Kconfig.in @@ -985,11 +985,3 @@ config BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN When this option is enabled, the Controller continues receiving PDUs In the next connection event instead of entering latency After a data packet is received. - -config BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN - bool "Enables the automatic initiation of a data length update(Experimental)." - default n - help - When this option is enabled, the Controller automatically initiates a data length update - Using the appropriate data length parameters - When a PHY update or a connection interval update occurs. diff --git a/components/bt/controller/esp32c6/bt.c b/components/bt/controller/esp32c6/bt.c index ccb7ce1af0..fa632af557 100644 --- a/components/bt/controller/esp32c6/bt.c +++ b/components/bt/controller/esp32c6/bt.c @@ -34,8 +34,8 @@ #include "os/endian.h" #include "esp_bt.h" -#include "ble_priv.h" #include "esp_intr_alloc.h" +#include "ble_priv.h" #include "esp_sleep.h" #include "esp_pm.h" #include "esp_phy_init.h" @@ -134,6 +134,7 @@ typedef union { }; uint32_t val; } bt_wakeup_params_t; + /* External functions or variables ************************************************************************ */ @@ -192,7 +193,6 @@ extern int r_ble_get_npl_element_info(esp_bt_controller_config_t *cfg, ble_npl_c extern char *ble_controller_get_compile_version(void); extern int esp_ble_register_bb_funcs(void); extern void esp_ble_unregister_bb_funcs(void); -extern bool esp_ble_controller_lib_check(void); extern uint32_t _bt_bss_start; extern uint32_t _bt_bss_end; extern uint32_t _bt_controller_bss_start; @@ -234,11 +234,6 @@ static void esp_bt_ctrl_log_partition_get_and_erase_first_block(void); #if CONFIG_FREERTOS_USE_TICKLESS_IDLE static bool esp_bt_check_wakeup_by_bt(void); #endif // CONFIG_FREERTOS_USE_TICKLESS_IDLE - -#if (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) -#include "tinycrypt/ecc.h" -static int ecc_rand_func(uint8_t *dst, unsigned int len); -#endif // (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) /* Local variable definition *************************************************************************** */ @@ -1057,7 +1052,6 @@ static void ble_rtc_clk_init(esp_bt_controller_config_t *cfg) esp_bt_rtc_slow_clk_select(s_bt_lpclk_src); } - esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) { uint8_t mac[6]; @@ -1194,13 +1188,6 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) goto free_controller; } - if (!esp_ble_controller_lib_check()) { - ESP_LOGW(NIMBLE_PORT_LOG_TAG, "Controller lib version mismatch!"); - } - -#if (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) - uECC_set_rng(ecc_rand_func); -#endif // (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) return ESP_OK; free_controller: hci_transport_deinit(); @@ -1453,6 +1440,7 @@ esp_err_t esp_bt_mem_release(esp_bt_mode_t mode) return ret; } + esp_bt_controller_status_t esp_bt_controller_get_status(void) { return ble_controller_status; @@ -1673,25 +1661,6 @@ static mbedtls_ecp_keypair keypair; #if CONFIG_BT_LE_SM_SC #include "tinycrypt/cmac_mode.h" #include "tinycrypt/ecc_dh.h" - -/* Used by uECC to get random data */ -static int ecc_rand_func(uint8_t *dst, unsigned int len) -{ - int offset_cnt = 0; - uint8_t *u8ptr = dst; - uint64_t random_64 = 0; - - while(len > 0) { - random64 = (uint64_t)esp_random(); - random64 = (random64 << 32)| (uint64_t)esp_random();; - offset_cnt = len < sizeof(uint64_t) ? len : sizeof(uint64_t); - memcpy(u8ptr, &random64, offset_cnt); - len -= offset_cnt; - u8ptr += offset_cnt; - } - - return 1; -} #endif // CONFIG_BT_LE_SM_SC #endif // CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS @@ -1783,11 +1752,11 @@ exit: } #else - if (uECC_valid_public_key(pk, uECC_secp256r1()) < 0) { + if (uECC_valid_public_key(pk, &curve_secp256r1) < 0) { return BLE_SM_KEY_ERR; } - rc = uECC_shared_secret(pk, priv, dh, uECC_secp256r1()); + rc = uECC_shared_secret(pk, priv, dh, &curve_secp256r1); if (rc == TC_CRYPTO_FAIL) { return BLE_SM_KEY_ERR; } @@ -1863,7 +1832,7 @@ int ble_sm_alg_gen_key_pair(uint8_t *pub, uint8_t *priv) return BLE_SM_KEY_ERR; } #else - if (uECC_make_key(pk, priv, uECC_secp256r1()) != TC_CRYPTO_SUCCESS) { + if (uECC_make_key(pk, priv, &curve_secp256r1) != TC_CRYPTO_SUCCESS) { return BLE_SM_KEY_ERR; } #endif // CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS @@ -1879,6 +1848,7 @@ int ble_sm_alg_gen_key_pair(uint8_t *pub, uint8_t *priv) #endif // CONFIG_BT_LE_SM_LEGACY || CONFIG_BT_LE_SM_SC #endif // (!CONFIG_BT_NIMBLE_ENABLED) && (CONFIG_BT_CONTROLLER_ENABLED) + #if CONFIG_BT_LE_DEBUG_REMAIN_SCENE_ENABLED #include "esp_gdbstub.h" #endif // CONFIG_BT_LE_DEBUG_REMAIN_SCENE_ENABLED diff --git a/components/bt/controller/esp32c6/esp_bt_cfg.h b/components/bt/controller/esp32c6/esp_bt_cfg.h index e5d378ad9b..71f7f9d194 100644 --- a/components/bt/controller/esp32c6/esp_bt_cfg.h +++ b/components/bt/controller/esp32c6/esp_bt_cfg.h @@ -218,13 +218,6 @@ extern "C" { #define DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN (0) #endif - -#if defined(CONFIG_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN) -#define DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN (CONFIG_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN) -#else -#define DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN (0) -#endif - #ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART #define HCI_UART_EN CONFIG_BT_LE_HCI_INTERFACE_USE_UART #else @@ -314,6 +307,7 @@ extern "C" { #define RUN_QA_TEST (0) #define NIMBLE_DISABLE_SCAN_BACKOFF (0) #define BT_LL_CTRL_PRIO_LVL_CFG ((CONFIG_BT_LE_DFT_SYNC_SCHED_PRIO_LEVEL << 4) | (CONFIG_BT_LE_DFT_PERIODIC_ADV_SCHED_PRIO_LEVEL << 2) | CONFIG_BT_LE_DFT_ADV_SCHED_PRIO_LEVEL) + #ifdef __cplusplus } #endif diff --git a/components/bt/controller/esp32h2/Kconfig.in b/components/bt/controller/esp32h2/Kconfig.in index 47820f717c..c3d7df55e0 100644 --- a/components/bt/controller/esp32h2/Kconfig.in +++ b/components/bt/controller/esp32h2/Kconfig.in @@ -989,11 +989,3 @@ config BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN When this option is enabled, the Controller continues receiving PDUs In the next connection event instead of entering latency After a data packet is received. - -config BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN - bool "Enables the automatic initiation of a data length update(Experimental)." - default n - help - When this option is enabled, the Controller automatically initiates a data length update - Using the appropriate data length parameters - When a PHY update or a connection interval update occurs. diff --git a/components/bt/controller/esp32h2/bt.c b/components/bt/controller/esp32h2/bt.c index 0da79adda9..a0b00ce665 100644 --- a/components/bt/controller/esp32h2/bt.c +++ b/components/bt/controller/esp32h2/bt.c @@ -187,7 +187,6 @@ extern int r_ble_get_npl_element_info(esp_bt_controller_config_t *cfg, ble_npl_c extern char *ble_controller_get_compile_version(void); extern int esp_ble_register_bb_funcs(void); extern void esp_ble_unregister_bb_funcs(void); -extern bool esp_ble_controller_lib_check(void); extern uint32_t _bt_bss_start; extern uint32_t _bt_bss_end; extern uint32_t _bt_controller_bss_start; @@ -227,10 +226,6 @@ static void esp_bt_ctrl_log_partition_get_and_erase_first_block(void); #if CONFIG_FREERTOS_USE_TICKLESS_IDLE static bool esp_bt_check_wakeup_by_bt(void); #endif // CONFIG_FREERTOS_USE_TICKLESS_IDLE -#if (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) -#include "tinycrypt/ecc.h" -static int ecc_rand_func(uint8_t *dst, unsigned int len); -#endif // (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) /* Local variable definition *************************************************************************** */ @@ -1014,7 +1009,6 @@ static void ble_rtc_clk_init(esp_bt_controller_config_t *cfg) esp_bt_rtc_slow_clk_select(s_bt_lpclk_src); } - esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) { uint8_t mac[6]; @@ -1150,13 +1144,6 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) goto free_controller; } - if (!esp_ble_controller_lib_check()) { - ESP_LOGW(NIMBLE_PORT_LOG_TAG, "Controller lib version mismatch!"); - } - -#if (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) - uECC_set_rng(ecc_rand_func); -#endif // (CONFIG_BT_CONTROLLER_ONLY) && (CONFIG_BT_LE_SM_SC) && (!CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS) return ESP_OK; free_controller: hci_transport_deinit(); @@ -1627,25 +1614,6 @@ static mbedtls_ecp_keypair keypair; #if CONFIG_BT_LE_SM_SC #include "tinycrypt/cmac_mode.h" #include "tinycrypt/ecc_dh.h" - -/* Used by uECC to get random data */ -static int ecc_rand_func(uint8_t *dst, unsigned int len) -{ - int offset_cnt = 0; - uint8_t *u8ptr = dst; - uint64_t random_64 = 0; - - while(len > 0) { - random64 = (uint64_t)esp_random(); - random64 = (random64 << 32)| (uint64_t)esp_random();; - offset_cnt = len < sizeof(uint64_t) ? len : sizeof(uint64_t); - memcpy(u8ptr, &random64, offset_cnt); - len -= offset_cnt; - u8ptr += offset_cnt; - } - - return 1; -} #endif // CONFIG_BT_LE_SM_SC #endif // CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS @@ -1737,11 +1705,11 @@ exit: } #else - if (uECC_valid_public_key(pk, uECC_secp256r1()) < 0) { + if (uECC_valid_public_key(pk, &curve_secp256r1) < 0) { return BLE_SM_KEY_ERR; } - rc = uECC_shared_secret(pk, priv, dh, uECC_secp256r1()); + rc = uECC_shared_secret(pk, priv, dh, &curve_secp256r1); if (rc == TC_CRYPTO_FAIL) { return BLE_SM_KEY_ERR; } @@ -1817,7 +1785,7 @@ int ble_sm_alg_gen_key_pair(uint8_t *pub, uint8_t *priv) return BLE_SM_KEY_ERR; } #else - if (uECC_make_key(pk, priv, uECC_secp256r1()) != TC_CRYPTO_SUCCESS) { + if (uECC_make_key(pk, priv, &curve_secp256r1) != TC_CRYPTO_SUCCESS) { return BLE_SM_KEY_ERR; } #endif // CONFIG_BT_LE_CRYPTO_STACK_MBEDTLS @@ -1833,7 +1801,6 @@ int ble_sm_alg_gen_key_pair(uint8_t *pub, uint8_t *priv) #endif // CONFIG_BT_LE_SM_LEGACY || CONFIG_BT_LE_SM_SC #endif // (!CONFIG_BT_NIMBLE_ENABLED) && (CONFIG_BT_CONTROLLER_ENABLED) - #if CONFIG_BT_LE_DEBUG_REMAIN_SCENE_ENABLED #include "esp_gdbstub.h" #endif // CONFIG_BT_LE_DEBUG_REMAIN_SCENE_ENABLED diff --git a/components/bt/controller/esp32h2/esp_bt_cfg.h b/components/bt/controller/esp32h2/esp_bt_cfg.h index 20f2ec7edb..4dbe2f2fe8 100644 --- a/components/bt/controller/esp32h2/esp_bt_cfg.h +++ b/components/bt/controller/esp32h2/esp_bt_cfg.h @@ -215,13 +215,6 @@ extern "C" { #define DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN (0) #endif - -#if defined(CONFIG_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN) -#define DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN (CONFIG_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN) -#else -#define DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN (0) -#endif - #ifdef CONFIG_BT_LE_HCI_INTERFACE_USE_UART #define HCI_UART_EN CONFIG_BT_LE_HCI_INTERFACE_USE_UART #else diff --git a/components/bt/controller/lib_esp32c6/esp32c6-bt-lib b/components/bt/controller/lib_esp32c6/esp32c6-bt-lib index 237c0ce2eb..cf7c287226 160000 --- a/components/bt/controller/lib_esp32c6/esp32c6-bt-lib +++ b/components/bt/controller/lib_esp32c6/esp32c6-bt-lib @@ -1 +1 @@ -Subproject commit 237c0ce2eb75becf4890d96897105174659e07b5 +Subproject commit cf7c287226c2c8575dc1cb9896d54a14a18d1dd4 diff --git a/components/bt/controller/lib_esp32h2/esp32h2-bt-lib b/components/bt/controller/lib_esp32h2/esp32h2-bt-lib index 33a575696b..a568fa5a03 160000 --- a/components/bt/controller/lib_esp32h2/esp32h2-bt-lib +++ b/components/bt/controller/lib_esp32h2/esp32h2-bt-lib @@ -1 +1 @@ -Subproject commit 33a575696b811a255dfb68bbea1370ea5e95265f +Subproject commit a568fa5a03545dd133a301ccdbae99afa3692923 diff --git a/components/bt/include/esp32c6/include/esp_bt.h b/components/bt/include/esp32c6/include/esp_bt.h index 76341787b6..974cfd433a 100644 --- a/components/bt/include/esp32c6/include/esp_bt.h +++ b/components/bt/include/esp32c6/include/esp_bt.h @@ -156,7 +156,7 @@ esp_err_t esp_ble_tx_power_set_enhanced(esp_ble_enhanced_power_type_t power_type */ esp_power_level_t esp_ble_tx_power_get_enhanced(esp_ble_enhanced_power_type_t power_type, uint16_t handle); -#define CONFIG_VERSION 0x20251125 +#define CONFIG_VERSION 0x20251104 #define CONFIG_MAGIC 0x5A5AA5A5 /** @@ -234,7 +234,6 @@ typedef struct { uint8_t conn_rsv_cnt; /*!< BLE conn state machine reserve count number */ uint8_t priority_level_cfg; /*!< The option for priority level configuration */ uint8_t slv_fst_rx_lat_en; /*!< The option for enabling slave fast PDU reception during latency. */ - uint8_t dl_itvl_phy_sync_en; /*!< The option for automatically initiate the data length update when phy update or connect interval update. */ uint32_t config_magic; /*!< Magic number for configuration validation */ } esp_bt_controller_config_t; @@ -299,8 +298,7 @@ typedef struct { .adv_rsv_cnt = BLE_LL_ADV_SM_RESERVE_CNT_N, \ .conn_rsv_cnt = BLE_LL_CONN_SM_RESERVE_CNT_N, \ .priority_level_cfg = BT_LL_CTRL_PRIO_LVL_CFG, \ - .slv_fst_rx_lat_en = DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN, \ - .dl_itvl_phy_sync_en = DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN, \ + .slv_fst_rx_lat_en = DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN, \ .config_magic = CONFIG_MAGIC, \ } #elif CONFIG_IDF_TARGET_ESP32C61 @@ -364,7 +362,6 @@ typedef struct { .conn_rsv_cnt = BLE_LL_CONN_SM_RESERVE_CNT_N, \ .priority_level_cfg = BT_LL_CTRL_PRIO_LVL_CFG, \ .slv_fst_rx_lat_en = DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN, \ - .dl_itvl_phy_sync_en = DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN, \ .config_magic = CONFIG_MAGIC, \ } #endif diff --git a/components/bt/include/esp32h2/include/esp_bt.h b/components/bt/include/esp32h2/include/esp_bt.h index f3d06ac7c5..a171b52a6b 100644 --- a/components/bt/include/esp32h2/include/esp_bt.h +++ b/components/bt/include/esp32h2/include/esp_bt.h @@ -161,7 +161,7 @@ esp_err_t esp_ble_tx_power_set_enhanced(esp_ble_enhanced_power_type_t power_type */ esp_power_level_t esp_ble_tx_power_get_enhanced(esp_ble_enhanced_power_type_t power_type, uint16_t handle); -#define CONFIG_VERSION 0x20251125 +#define CONFIG_VERSION 0x20251104 #define CONFIG_MAGIC 0x5A5AA5A5 /** @@ -238,7 +238,6 @@ typedef struct { uint8_t conn_rsv_cnt; /*!< BLE conn state machine reserve count number */ uint8_t priority_level_cfg; /*!< The option for priority level configuration */ uint8_t slv_fst_rx_lat_en; /*!< The option for enabling slave fast PDU reception during latency. */ - uint8_t dl_itvl_phy_sync_en; /*!< The option for automatically initiate the data length update when phy update or connect interval update. */ uint32_t config_magic; /*!< Configuration magic value */ } esp_bt_controller_config_t; @@ -303,7 +302,6 @@ typedef struct { .conn_rsv_cnt = BLE_LL_CONN_SM_RESERVE_CNT_N, \ .priority_level_cfg = BT_LL_CTRL_PRIO_LVL_CFG, \ .slv_fst_rx_lat_en = DEFAULT_BT_LE_CTRL_SLV_FAST_RX_CONN_DATA_EN, \ - .dl_itvl_phy_sync_en = DEFAULT_BT_LE_CTRL_DL_ITVL_PHY_SYNC_EN, \ .config_magic = CONFIG_MAGIC, \ }