Skip to content

Commit 373dc0d

Browse files
cvinayakkartben
authored andcommitted
Bluetooth: Controller: Single timer use Extended Advertising nRF54L support
Update Extended Advertising for single timer use support required for nRF54L Series SoCs. As the timer is reset on every radio end, add implementation to accumulate the last_pdu_end_us. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent 28f9315 commit 373dc0d

File tree

4 files changed

+20
-0
lines changed

4 files changed

+20
-0
lines changed

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -641,6 +641,15 @@ uint32_t radio_is_done(void)
641641
}
642642
#endif /* !CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER */
643643

644+
uint32_t radio_is_tx_done(void)
645+
{
646+
if (IS_ENABLED(CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER)) {
647+
return radio_is_done();
648+
} else {
649+
return 1U;
650+
}
651+
}
652+
644653
uint32_t radio_has_disabled(void)
645654
{
646655
return (NRF_RADIO->EVENTS_DISABLED != 0);

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ void radio_status_reset(void);
8686
uint32_t radio_is_ready(void);
8787
uint32_t radio_is_address(void);
8888
uint32_t radio_is_done(void);
89+
uint32_t radio_is_tx_done(void);
8990
uint32_t radio_has_disabled(void);
9091
uint32_t radio_is_idle(void);
9192

subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1303,6 +1303,11 @@ static void isr_done(void *param)
13031303
{
13041304
struct lll_adv *lll;
13051305

1306+
/* Call to ensure packet/event timer accumulates the elapsed time
1307+
* under single timer use.
1308+
*/
1309+
(void)radio_is_tx_done();
1310+
13061311
/* Clear radio status and events */
13071312
lll_isr_status_reset();
13081313

subsys/bluetooth/controller/ll_sw/nordic/lll/lll_adv_aux.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,11 @@ static void isr_tx_rx(void *param)
581581
node_rx_prof = lll_prof_reserve();
582582
}
583583

584+
/* Call to ensure packet/event timer accumulates the elapsed time
585+
* under single timer use.
586+
*/
587+
(void)radio_is_tx_done();
588+
584589
/* Clear radio tx status and events */
585590
lll_isr_tx_status_reset();
586591

0 commit comments

Comments
 (0)