Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions subsys/bluetooth/controller/Kconfig.ll_sw_split
Original file line number Diff line number Diff line change
Expand Up @@ -900,6 +900,13 @@ config BT_CTLR_RADIO_ENABLE_FAST
help
Enable use of fast radio ramp-up mode.

config BT_CTLR_RADIO_TIMER_ISR
# Hidden, enables use of timer ISR callback
bool
depends on SOC_COMPATIBLE_NRF52X || SOC_COMPATIBLE_NRF53X
help
Enables use of timer ISR callback.

config BT_CTLR_TIFS_HW
bool "H/w Accelerated tIFS Trx switching"
depends on !BT_CTLR_RADIO_ENABLE_FAST && BT_CTLR_TIFS_HW_SUPPORT
Expand Down Expand Up @@ -1013,6 +1020,14 @@ config BT_CTLR_TX_RETRY_DISABLE
would happen in the next connection event instead of repeated retries
in the current connection event.

config BT_CTLR_TX_DEFER
bool "Deferred ACL Tx packet transmission setup"
select BT_CTLR_RADIO_TIMER_ISR
help
Enable deferred ACL Tx packet transmission setup by radio, so that an
enqueued ACL Data packet by the upper layer can be transmitted with
the shortest latency.

config BT_CTLR_THROUGHPUT
bool "Measure incoming Tx throughput"
help
Expand Down Expand Up @@ -1073,6 +1088,19 @@ config BT_CTLR_ALLOW_SAME_PEER_CONN
WARNING: This option enables behavior that violates the Bluetooth
specification.

config BT_CTLR_CONN_INTERVAL_LOW_LATENCY
bool "Allow low latency connection intervals"
help
Allow low latency connection intervals.

config BT_CTLR_EVENT_IFS_LOW_LAT_US
prompt "Low latency tIFS value in microseconds" if BT_CTLR_CONN_INTERVAL_LOW_LATENCY
int
default 52 if BT_CTLR_CONN_INTERVAL_LOW_LATENCY
default 150
help
Set low latency tIFS value.

endif # BT_CONN

config BT_CTLR_ADV_INDICATION
Expand Down
11 changes: 6 additions & 5 deletions subsys/bluetooth/controller/ll_sw/lll.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@

#define EVENT_PIPELINE_MAX 7

#define ADV_INT_UNIT_US 625U
#define SCAN_INT_UNIT_US 625U
#define CONN_INT_UNIT_US 1250U
#define ISO_INT_UNIT_US CONN_INT_UNIT_US
#define PERIODIC_INT_UNIT_US CONN_INT_UNIT_US
#define ADV_INT_UNIT_US 625U
#define SCAN_INT_UNIT_US 625U
#define CONN_INT_UNIT_US 1250U
#define ISO_INT_UNIT_US CONN_INT_UNIT_US
#define PERIODIC_INT_UNIT_US CONN_INT_UNIT_US
#define CONN_LOW_LAT_INT_UNIT_US 500U

#define ISO_INTERVAL_TO_US(interval) ((interval) * ISO_INT_UNIT_US)

Expand Down
12 changes: 10 additions & 2 deletions subsys/bluetooth/controller/ll_sw/lll_conn.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,15 @@
uint8_t access_addr[4];
uint8_t crc_init[3];

uint16_t tifs_tx_us;
uint16_t tifs_rx_us;
uint16_t tifs_hcto_us;
uint16_t tifs_cis_us;

uint16_t handle;
uint16_t interval;
uint16_t latency;

uint16_t latency;
uint16_t latency_prepare;
uint16_t lazy_prepare;
uint16_t latency_event;
Expand Down Expand Up @@ -170,8 +175,11 @@
void lll_conn_flush(uint16_t handle, struct lll_conn *lll);

void lll_conn_prepare_reset(void);
int lll_conn_is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb);
int lll_conn_central_is_abort_cb(void *next, void *curr,
lll_prepare_cb_t *resume_cb);
int lll_conn_peripheral_is_abort_cb(void *next, void *curr,
lll_prepare_cb_t *resume_cb);
void lll_conn_abort_cb(struct lll_prepare_param *prepare_param, void *param);

Check notice on line 182 in subsys/bluetooth/controller/ll_sw/lll_conn.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

subsys/bluetooth/controller/ll_sw/lll_conn.h:182 -int lll_conn_central_is_abort_cb(void *next, void *curr, - lll_prepare_cb_t *resume_cb); -int lll_conn_peripheral_is_abort_cb(void *next, void *curr, - lll_prepare_cb_t *resume_cb); +int lll_conn_central_is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb); +int lll_conn_peripheral_is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb);
void lll_conn_isr_rx(void *param);
void lll_conn_isr_tx(void *param);
void lll_conn_rx_pkt_set(struct lll_conn *lll);
Expand Down
5 changes: 5 additions & 0 deletions subsys/bluetooth/controller/ll_sw/lll_conn_iso.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ struct lll_conn_iso_stream {
uint32_t offset; /* Offset of CIS from start of CIG in us */
uint32_t sub_interval; /* Interval between subevents in us */
uint8_t nse:5; /* Number of subevents */

/* Frame Spacing */
uint16_t tifs_us;

/* Stream parameters */
struct lll_conn_iso_stream_rxtx rx; /* RX parameters */
struct lll_conn_iso_stream_rxtx tx; /* TX parameters */

Expand Down
81 changes: 66 additions & 15 deletions subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c
Original file line number Diff line number Diff line change
Expand Up @@ -620,7 +620,7 @@
* Note: this depends on the function being called exactly once
* in the ISR function.
*/
last_pdu_end_us += EVENT_TIMER->CC[2];
last_pdu_end_us += EVENT_TIMER->CC[HAL_EVENT_TIMER_TRX_END_CC_OFFSET];
return 1;
} else {
return 0;
Expand Down Expand Up @@ -1153,6 +1153,56 @@
return (NRF_RADIO->EVENTS_BCMATCH != 0);
}

#if defined(CONFIG_BT_CTLR_RADIO_TIMER_ISR)
static radio_isr_cb_t isr_radio_tmr_cb;
static void *isr_radio_tmr_cb_param;

Check notice on line 1159 in subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio.c:1159 -static void *isr_radio_tmr_cb_param; +static void *isr_radio_tmr_cb_param;
void isr_radio_tmr(void)
{
irq_disable(TIMER0_IRQn);
nrf_timer_int_disable(EVENT_TIMER, TIMER_INTENSET_COMPARE2_Msk);
nrf_timer_event_clear(EVENT_TIMER, HAL_EVENT_TIMER_DEFERRED_TX_EVENT);

isr_radio_tmr_cb(isr_radio_tmr_cb_param);
}

uint32_t radio_tmr_isr_set(uint32_t start_us, radio_isr_cb_t cb, void *param)
{
irq_disable(TIMER0_IRQn);

isr_radio_tmr_cb_param = param;
isr_radio_tmr_cb = cb;

/* start_us could be the current count in the timer */
uint32_t now_us = start_us;

/* Setup timer compare while determining the latency in doing so */
do {
/* Set start to be, now plus the determined latency */
start_us = (now_us << 1) - start_us;

/* Setup compare event with min. 1 us offset */
nrf_timer_event_clear(EVENT_TIMER, HAL_EVENT_TIMER_DEFERRED_TX_EVENT);
nrf_timer_cc_set(EVENT_TIMER, HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET,
start_us + 1U);

/* Capture the current time */
nrf_timer_task_trigger(EVENT_TIMER, HAL_EVENT_TIMER_SAMPLE_TASK);

now_us = EVENT_TIMER->CC[HAL_EVENT_TIMER_SAMPLE_CC_OFFSET];
} while ((now_us > start_us) &&
(EVENT_TIMER->EVENTS_COMPARE[HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET] == 0U));

nrf_timer_int_enable(EVENT_TIMER, TIMER_INTENSET_COMPARE2_Msk);

NVIC_ClearPendingIRQ(TIMER0_IRQn);

irq_enable(TIMER0_IRQn);

return start_us + 1U;
}
#endif /* CONFIG_BT_CTLR_RADIO_TIMER_ISR */

void radio_tmr_status_reset(void)
{
#if defined(CONFIG_BT_CTLR_NRF_GRTC)
Expand Down Expand Up @@ -1362,7 +1412,7 @@
EVENT_TIMER->PRESCALER = HAL_EVENT_TIMER_PRESCALER_VALUE;
EVENT_TIMER->BITMODE = 2; /* 24 - bit */

nrf_timer_cc_set(EVENT_TIMER, 0, remainder);
nrf_timer_cc_set(EVENT_TIMER, HAL_EVENT_TIMER_TRX_CC_OFFSET, remainder);

#if defined(CONFIG_BT_CTLR_NRF_GRTC)
uint32_t cntr_l, cntr_h, cntr_h_overflow, stale;
Expand Down Expand Up @@ -1486,7 +1536,7 @@
nrf_timer_task_trigger(EVENT_TIMER, NRF_TIMER_TASK_STOP);
nrf_timer_task_trigger(EVENT_TIMER, NRF_TIMER_TASK_CLEAR);

nrf_timer_cc_set(EVENT_TIMER, 0, remainder_us);
nrf_timer_cc_set(EVENT_TIMER, HAL_EVENT_TIMER_TRX_CC_OFFSET, remainder_us);

#if defined(CONFIG_BT_CTLR_NRF_GRTC)
uint32_t cntr_l, cntr_h, cntr_h_overflow, stale;
Expand Down Expand Up @@ -1602,7 +1652,7 @@
uint32_t now_us = start_us;
uint32_t actual_us;

/* Setup PPI while determining the latency in doing so */
/* Setup timer compare while determining the latency in doing so */
do {
/* Set start to be, now plus the determined latency */
start_us = (now_us << 1) - start_us;
Expand All @@ -1624,15 +1674,15 @@
actual_us += latency_us;
#endif /* !CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER */

nrf_timer_event_clear(EVENT_TIMER, NRF_TIMER_EVENT_COMPARE0);
nrf_timer_cc_set(EVENT_TIMER, 0, actual_us);
nrf_timer_event_clear(EVENT_TIMER, HAL_EVENT_TIMER_TRX_EVENT);
nrf_timer_cc_set(EVENT_TIMER, HAL_EVENT_TIMER_TRX_CC_OFFSET, actual_us);

/* Capture the current time */
nrf_timer_task_trigger(EVENT_TIMER,
HAL_EVENT_TIMER_SAMPLE_TASK);
nrf_timer_task_trigger(EVENT_TIMER, HAL_EVENT_TIMER_SAMPLE_TASK);

now_us = EVENT_TIMER->CC[HAL_EVENT_TIMER_SAMPLE_CC_OFFSET];
} while ((now_us > start_us) && (EVENT_TIMER->EVENTS_COMPARE[0] == 0U));
} while ((now_us > start_us) &&
(EVENT_TIMER->EVENTS_COMPARE[HAL_EVENT_TIMER_TRX_CC_OFFSET] == 0U));

return actual_us;
}
Expand Down Expand Up @@ -1688,7 +1738,7 @@

void radio_tmr_hcto_configure(uint32_t hcto)
{
nrf_timer_cc_set(EVENT_TIMER, 1, hcto);
nrf_timer_cc_set(EVENT_TIMER, HAL_EVENT_TIMER_HCTO_CC_OFFSET, hcto);

hal_radio_recv_timeout_cancel_ppi_config();
hal_radio_disable_on_hcto_ppi_config();
Expand All @@ -1708,7 +1758,7 @@

uint32_t radio_tmr_aa_get(void)
{
return EVENT_TIMER->CC[1];
return EVENT_TIMER->CC[HAL_EVENT_TIMER_HCTO_CC_OFFSET];
}

static uint32_t radio_tmr_aa;
Expand All @@ -1726,7 +1776,7 @@

uint32_t radio_tmr_ready_get(void)
{
return EVENT_TIMER->CC[0];
return EVENT_TIMER->CC[HAL_EVENT_TIMER_TRX_CC_OFFSET];
}

static uint32_t radio_tmr_ready;
Expand Down Expand Up @@ -1765,7 +1815,7 @@
#if defined(CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER)
return last_pdu_end_us;
#else /* !CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER */
return EVENT_TIMER->CC[2];
return EVENT_TIMER->CC[HAL_EVENT_TIMER_TRX_END_CC_OFFSET];
#endif /* !CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER */
}

Expand Down Expand Up @@ -1909,9 +1959,10 @@

void radio_gpio_pa_lna_enable(uint32_t trx_us)
{
nrf_timer_cc_set(EVENT_TIMER, 2, trx_us);
nrf_timer_cc_set(EVENT_TIMER, HAL_EVENT_TIMER_PA_LNA_CC_OFFSET, trx_us);
#if defined(HAL_RADIO_FEM_IS_NRF21540) && DT_NODE_HAS_PROP(FEM_NODE, pdn_gpios)
nrf_timer_cc_set(EVENT_TIMER, 3, (trx_us - NRF_GPIO_PDN_OFFSET));
nrf_timer_cc_set(EVENT_TIMER, HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET,
(trx_us - NRF_GPIO_PDN_OFFSET));
hal_radio_nrf_ppi_channels_enable(BIT(HAL_ENABLE_PALNA_PPI) |
BIT(HAL_DISABLE_PALNA_PPI) |
BIT(HAL_ENABLE_FEM_PPI) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,9 @@ void radio_bc_configure(uint32_t n);
void radio_bc_status_reset(void);
uint32_t radio_bc_has_match(void);

void isr_radio_tmr(void);
uint32_t radio_tmr_isr_set(uint32_t start_us, radio_isr_cb_t cb, void *param);

void radio_tmr_status_reset(void);
void radio_tmr_tx_status_reset(void);
void radio_tmr_rx_status_reset(void);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,6 @@
#else /* For simulated targets there is no delay for the PPI task -> TIMER start */
#define HAL_RADIO_TMR_START_DELAY_US 0U
#endif

/* This is the minimum prepare duration required to setup radio for deferred transmission */
#define HAL_RADIO_TMR_DEFERRED_TX_DELAY_US 50U
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,21 @@
*/
#define NRF_RADIO_SHORTS_TRX_END_DISABLE_Msk HAL_RADIO_SHORTS_TRX_END_DISABLE_Msk

#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3
#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3
#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0
#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0

#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1
#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2

#define HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET 2
#define HAL_EVENT_TIMER_DEFERRED_TX_EVENT NRF_TIMER_EVENT_COMPARE2

#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3
#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3

#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2
#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3

Check notice on line 42 in subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_resources.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_resources.h:42 -#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0 -#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0 +#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0 +#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0 -#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1 -#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2 +#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1 +#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2 #define HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET 2 #define HAL_EVENT_TIMER_DEFERRED_TX_EVENT NRF_TIMER_EVENT_COMPARE2 -#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3 -#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3 +#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3 +#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3 -#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2 -#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3 +#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2 +#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3
#else /* !CONFIG_BT_CTLR_TIFS_HW */
#if defined(CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER)
#define EVENT_TIMER_ID 4
Expand Down Expand Up @@ -56,9 +68,21 @@
*/
#define NRF_RADIO_SHORTS_TRX_END_DISABLE_Msk HAL_RADIO_SHORTS_TRX_END_DISABLE_Msk

#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 2
#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE2
#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0
#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0

#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1
#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2

#define HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET 2
#define HAL_EVENT_TIMER_DEFERRED_TX_EVENT NRF_TIMER_EVENT_COMPARE2

#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 2
#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE2

#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2
#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3

Check notice on line 85 in subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_resources.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_resources.h:85 -#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0 -#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0 +#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0 +#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0 -#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1 -#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2 +#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1 +#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2 #define HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET 2 #define HAL_EVENT_TIMER_DEFERRED_TX_EVENT NRF_TIMER_EVENT_COMPARE2 -#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 2 -#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE2 +#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 2 +#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE2 -#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2 -#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3 +#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2 +#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3
#else /* !CONFIG_BT_CTLR_PHY_CODED */
#define SW_SWITCH_TIMER_EVTS_COMP_BASE 4

Expand All @@ -73,9 +97,21 @@
*/
#define NRF_RADIO_SHORTS_TRX_END_DISABLE_Msk HAL_RADIO_SHORTS_TRX_END_DISABLE_Msk

#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3
#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3
#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0
#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0

#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1
#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2

#define HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET 2
#define HAL_EVENT_TIMER_DEFERRED_TX_EVENT NRF_TIMER_EVENT_COMPARE2

#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3
#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3

#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2
#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3
#endif /* !CONFIG_BT_CTLR_PHY_CODED */

Check notice on line 114 in subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_resources.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_resources.h:114 -#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0 -#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0 +#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0 +#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0 -#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1 -#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2 +#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1 +#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2 #define HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET 2 #define HAL_EVENT_TIMER_DEFERRED_TX_EVENT NRF_TIMER_EVENT_COMPARE2 -#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3 -#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3 +#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3 +#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3 -#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2 -#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3 +#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2 +#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3

#else /* !CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER */
#define EVENT_TIMER_ID 0
Expand Down Expand Up @@ -142,7 +178,19 @@
#define NRF_RADIO_SHORTS_TRX_END_DISABLE_Msk HAL_RADIO_SHORTS_TRX_END_DISABLE_Msk
#endif /* !CONFIG_BT_CTLR_DF */

#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3
#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3
#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0
#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0

#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1
#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2

#define HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET 2
#define HAL_EVENT_TIMER_DEFERRED_TX_EVENT NRF_TIMER_EVENT_COMPARE2

#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3
#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3

#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2
#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3
#endif /* !CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER */

Check notice on line 195 in subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_resources.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

subsys/bluetooth/controller/ll_sw/nordic/hal/nrf5/radio/radio_nrf5_resources.h:195 -#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0 -#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0 +#define HAL_EVENT_TIMER_TRX_CC_OFFSET 0 +#define HAL_EVENT_TIMER_TRX_EVENT NRF_TIMER_EVENT_COMPARE0 -#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1 -#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2 +#define HAL_EVENT_TIMER_HCTO_CC_OFFSET 1 +#define HAL_EVENT_TIMER_TRX_END_CC_OFFSET 2 #define HAL_EVENT_TIMER_DEFERRED_TRX_CC_OFFSET 2 #define HAL_EVENT_TIMER_DEFERRED_TX_EVENT NRF_TIMER_EVENT_COMPARE2 -#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3 -#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3 +#define HAL_EVENT_TIMER_SAMPLE_CC_OFFSET 3 +#define HAL_EVENT_TIMER_SAMPLE_TASK NRF_TIMER_TASK_CAPTURE3 -#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2 -#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3 +#define HAL_EVENT_TIMER_PA_LNA_CC_OFFSET 2 +#define HAL_EVENT_TIMER_PA_LNA_PDN_CC_OFFSET 3
#endif /* !CONFIG_BT_CTLR_TIFS_HW */
Loading
Loading