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 <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2024-07-06 02:06:36 +02:00 committed by Benjamin Cabé
parent 28f93157fd
commit 373dc0db71
4 changed files with 20 additions and 0 deletions

View file

@ -641,6 +641,15 @@ uint32_t radio_is_done(void)
}
#endif /* !CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER */
uint32_t radio_is_tx_done(void)
{
if (IS_ENABLED(CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER)) {
return radio_is_done();
} else {
return 1U;
}
}
uint32_t radio_has_disabled(void)
{
return (NRF_RADIO->EVENTS_DISABLED != 0);

View file

@ -86,6 +86,7 @@ void radio_status_reset(void);
uint32_t radio_is_ready(void);
uint32_t radio_is_address(void);
uint32_t radio_is_done(void);
uint32_t radio_is_tx_done(void);
uint32_t radio_has_disabled(void);
uint32_t radio_is_idle(void);

View file

@ -1303,6 +1303,11 @@ static void isr_done(void *param)
{
struct lll_adv *lll;
/* Call to ensure packet/event timer accumulates the elapsed time
* under single timer use.
*/
(void)radio_is_tx_done();
/* Clear radio status and events */
lll_isr_status_reset();

View file

@ -581,6 +581,11 @@ static void isr_tx_rx(void *param)
node_rx_prof = lll_prof_reserve();
}
/* Call to ensure packet/event timer accumulates the elapsed time
* under single timer use.
*/
(void)radio_is_tx_done();
/* Clear radio tx status and events */
lll_isr_tx_status_reset();