diff --git a/subsys/bluetooth/controller/Kconfig.ll_sw_split b/subsys/bluetooth/controller/Kconfig.ll_sw_split index f2ce8b41fb4..66f297c8a06 100644 --- a/subsys/bluetooth/controller/Kconfig.ll_sw_split +++ b/subsys/bluetooth/controller/Kconfig.ll_sw_split @@ -193,23 +193,27 @@ config BT_CTLR_ADV_SYNC_SET Maximum supported periodic advertising sets. config BT_CTLR_ADV_PDU_LINK - bool "Linking of advertising PDU trains" - help - Enables extra space in each advertising PDU to allow linking PDUs. This - is required to enable advertising data trains (i.e. transmission of - AUX_CHAIN_IND). + # Enables extra space in each advertising PDU to allow linking PDUs. + # This is required to enable advertising data trains (i.e. transmission + # of AUX_CHAIN_IND). + bool -config BT_CTLR_ADV_PDU_BACK2BACK +config BT_CTLR_ADV_AUX_PDU_LINK + # Enable chaining in Extended Advertising + bool + select BT_CTLR_ADV_PDU_LINK + +config BT_CTLR_ADV_AUX_PDU_BACK2BACK bool "Back-to-back transmission of extended advertising trains" depends on BT_BROADCASTER && BT_CTLR_ADV_EXT - select BT_CTLR_ADV_PDU_LINK + select BT_CTLR_ADV_AUX_PDU_LINK help Enables transmission of AUX_CHAIN_IND in extended advertising train by sending each AUX_CHAIN_IND one after another back-to-back. -config BT_CTLR_ADV_PDU_BACK2BACK_AFS +config BT_CTLR_ADV_AUX_PDU_BACK2BACK_AFS int "AUX Frame Space for back-to-back transmission of extended advertising trains" - depends on BT_CTLR_ADV_PDU_BACK2BACK + depends on BT_CTLR_ADV_AUX_PDU_BACK2BACK range 300 1000 help Specific AUX Frame Space to be used for back-to-back transmission of diff --git a/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_aux.c b/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_aux.c index f4c707fef0e..9425c70b4aa 100644 --- a/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_aux.c +++ b/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_aux.c @@ -48,9 +48,9 @@ static int init_reset(void); static int prepare_cb(struct lll_prepare_param *p); static void isr_done(void *param); -#if defined(CONFIG_BT_CTLR_ADV_PDU_BACK2BACK) +#if defined(CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK) static void isr_tx_chain(void *param); -#endif /* CONFIG_BT_CTLR_ADV_PDU_BACK2BACK */ +#endif /* CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK */ static void isr_tx_rx(void *param); static void isr_rx(void *param); static inline int isr_rx_pdu(struct lll_adv_aux *lll_aux, uint8_t phy_flags_rx, @@ -255,7 +255,7 @@ static int prepare_cb(struct lll_prepare_param *p) ARG_UNUSED(upd); } -#if defined(CONFIG_BT_CTLR_ADV_PDU_BACK2BACK) +#if defined(CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK) } else if (sec_pdu->adv_ext_ind.ext_hdr_len && sec_pdu->adv_ext_ind.ext_hdr.aux_ptr) { lll->last_pdu = sec_pdu; @@ -264,7 +264,7 @@ static int prepare_cb(struct lll_prepare_param *p) radio_tmr_tifs_set(EVENT_B2B_MAFS_US); radio_switch_complete_and_b2b_tx(phy_s, lll_adv->phy_flags, phy_s, lll_adv->phy_flags); -#endif /* CONFIG_BT_CTLR_ADV_PDU_BACK2BACK */ +#endif /* CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK */ } else { radio_isr_set(isr_done, lll); @@ -331,7 +331,7 @@ static void isr_done(void *param) lll_isr_cleanup(param); } -#if defined(CONFIG_BT_CTLR_ADV_PDU_BACK2BACK) +#if defined(CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK) static void isr_tx_chain(void *param) { struct lll_adv_aux *lll_aux; @@ -401,7 +401,7 @@ static void isr_tx_chain(void *param) lll_prof_send(); } } -#endif /* CONFIG_BT_CTLR_ADV_PDU_BACK2BACK */ +#endif /* CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK */ static void isr_tx_rx(void *param) { @@ -607,7 +607,7 @@ static inline int isr_rx_pdu(struct lll_adv_aux *lll_aux, uint8_t phy_flags_rx, if (0) { -#if defined(CONFIG_BT_CTLR_ADV_PDU_BACK2BACK) +#if defined(CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK) } else if (sr_pdu->adv_ext_ind.ext_hdr_len && sr_pdu->adv_ext_ind.ext_hdr.aux_ptr) { lll_aux->last_pdu = sr_pdu; @@ -622,7 +622,7 @@ static inline int isr_rx_pdu(struct lll_adv_aux *lll_aux, uint8_t phy_flags_rx, radio_tmr_end_capture(); #endif /* HAL_RADIO_GPIO_HAVE_PA_PIN */ -#endif /* CONFIG_BT_CTLR_ADV_PDU_BACK2BACK */ +#endif /* CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK */ } else { radio_isr_set(isr_done, lll_aux); diff --git a/subsys/bluetooth/controller/ll_sw/pdu.h b/subsys/bluetooth/controller/ll_sw/pdu.h index ccdf7f45693..22b3584cff1 100644 --- a/subsys/bluetooth/controller/ll_sw/pdu.h +++ b/subsys/bluetooth/controller/ll_sw/pdu.h @@ -111,7 +111,7 @@ /* Standard allows 2 us timing uncertainty inside the event */ #define EVENT_MAFS_MAX_US (EVENT_MAFS_US + EVENT_CLOCK_JITTER_US) /* Controller defined back to back transmit MAFS for extended advertising */ -#define EVENT_B2B_MAFS_US (CONFIG_BT_CTLR_ADV_PDU_BACK2BACK_AFS) +#define EVENT_B2B_MAFS_US (CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK_AFS) /* Controller defined back to back transmit MAFS for periodic advertising */ #define EVENT_SYNC_B2B_MAFS_US (CONFIG_BT_CTLR_ADV_SYNC_PDU_BACK2BACK_AFS) /* Minimum Subevent Space timings */ diff --git a/tests/bluetooth/init/prj_ctlr_dbg.conf b/tests/bluetooth/init/prj_ctlr_dbg.conf index d9ecb2d4def..b9e464b85e2 100644 --- a/tests/bluetooth/init/prj_ctlr_dbg.conf +++ b/tests/bluetooth/init/prj_ctlr_dbg.conf @@ -16,7 +16,7 @@ CONFIG_BT_CTLR_ADVANCED_FEATURES=y CONFIG_BT_CTLR_PHY_2M=y CONFIG_BT_CTLR_PHY_2M_NRF=y CONFIG_BT_CTLR_PHY_CODED=y -CONFIG_BT_CTLR_ADV_PDU_BACK2BACK=y +CONFIG_BT_CTLR_ADV_AUX_PDU_BACK2BACK=y CONFIG_BT_CTLR_LLL_PRIO=0 CONFIG_BT_CTLR_ULL_HIGH_PRIO=1 CONFIG_BT_CTLR_XTAL_ADVANCED=n