Bluetooth: Controller: Add coded phy radio timings for nrf52_bsim

Add Coded Phy radio timings for the nrf52_bsim

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This commit is contained in:
Alberto Escolar Piedras 2024-02-22 15:56:21 +01:00 committed by David Leach
commit 4442477d93
2 changed files with 431 additions and 0 deletions

View file

@ -64,6 +64,51 @@
HAL_RADIO_NS2US_ROUND( \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with fast Radio ramp-up mode)
* in microseconds for LE CODED PHY [S2].
*/
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_FAST_NS 42000
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_FAST_US \
HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_FAST_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode)
* in microseconds for LE 2M PHY [S2].
*/
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_NS 132000
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_US \
HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode and
* no HW TIFS auto-switch) in microseconds for LE 2M PHY [S2].
*/
/* 129.5 + 2.2 */
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_NS 132000
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_US \
HAL_RADIO_NS2US_ROUND( \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with fast Radio ramp-up mode)
* in microseconds for LE CODED PHY [S8].
*/
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_FAST_NS 42000
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_FAST_US \
HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_FAST_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode)
* in microseconds for LE 2M PHY [S8].
*/
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_NS 122000
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_US \
HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode and
* no HW TIFS auto-switch) in microseconds for LE 2M PHY [S8].
*/
/* 129.5 + 2.2 */
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_NS 132000
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_US \
HAL_RADIO_NS2US_ROUND( \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with fast Radio ramp-up mode)
* in microseconds for LE 1M PHY.
*/
@ -108,6 +153,54 @@
HAL_RADIO_NS2US_CEIL(\
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with fast Radio ramp-up mode)
* in microseconds for LE Coded PHY [S2].
*/
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_FAST_NS 40000
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_FAST_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_FAST_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode)
* in microseconds for LE Coded PHY [S2].
*/
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_NS 120000
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode
* and no HW TIFS auto-switch) in microseconds for LE Coded PHY [S2].
*/
/* 129.5 + 0.2 */
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_NS 130000
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_US \
HAL_RADIO_NS2US_CEIL( \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with fast Radio ramp-up mode)
* in microseconds for LE Coded PHY [S8].
*/
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_FAST_NS 40000
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_FAST_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_FAST_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode)
* in microseconds for LE Coded PHY [S8].
*/
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_NS 120000
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode and
* no HW TIFS auto-switch) in microseconds for LE Coded PHY [S8].
*/
/* 129.5 + 0.2 */
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_NS 130000
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_US \
HAL_RADIO_NS2US_CEIL( \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_NS)
#define HAL_RADIO_NRF52833_TX_CHAIN_DELAY_NS 1000
#define HAL_RADIO_NRF52833_TX_CHAIN_DELAY_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52833_TX_CHAIN_DELAY_NS)
@ -120,6 +213,12 @@
#define HAL_RADIO_NRF52833_RX_CHAIN_DELAY_2M_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF52833_RX_CHAIN_DELAY_2M_NS)
#define HAL_RADIO_NRF52833_RX_CHAIN_DELAY_S2_US 30
#define HAL_RADIO_NRF52833_RX_CHAIN_DELAY_S2_NS 30000
#define HAL_RADIO_NRF52833_RX_CHAIN_DELAY_S8_US 30
#define HAL_RADIO_NRF52833_RX_CHAIN_DELAY_S8_NS 30000
#if defined(CONFIG_BT_CTLR_RADIO_ENABLE_FAST)
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_1M_US \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_1M_FAST_US
@ -131,6 +230,16 @@
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_FAST_NS
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_US \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_FAST_US
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_FAST_NS
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_US \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_FAST_US
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_FAST_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_FAST_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_NS \
@ -141,6 +250,16 @@
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_FAST_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_FAST_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_FAST_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_FAST_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_FAST_NS
#else /* !CONFIG_BT_CTLR_RADIO_ENABLE_FAST */
#if defined(CONFIG_BT_CTLR_TIFS_HW)
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_1M_US \
@ -153,6 +272,16 @@
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_DEFAULT_NS
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_US \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_US
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_NS
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_US \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_US
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_DEFAULT_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_NS \
@ -163,6 +292,16 @@
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_DEFAULT_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_NS
#else /* !CONFIG_BT_CTLR_TIFS_HW */
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_1M_US \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_1M_DEFAULT_NO_HW_TIFS_US
@ -174,6 +313,16 @@
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_US \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_US \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_NS \
HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_NS \
@ -183,6 +332,16 @@
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_US \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_NS \
HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_NS
#endif /* !CONFIG_BT_CTLR_TIFS_HW */
#endif /* !CONFIG_BT_CTLR_RADIO_ENABLE_FAST */
@ -213,6 +372,16 @@ static inline uint32_t hal_radio_phy_mode_get(uint8_t phy, uint8_t flags)
case BIT(1):
mode = RADIO_MODE_MODE_Ble_2Mbit;
break;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
mode = RADIO_MODE_MODE_Ble_LR125Kbit;
} else {
mode = RADIO_MODE_MODE_Ble_LR500Kbit;
}
break;
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
return mode;
@ -296,6 +465,15 @@ static inline uint32_t hal_radio_tx_ready_delay_us_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_1M_US;
case BIT(1):
return HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_US;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_US;
} else {
return HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_US;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -309,6 +487,16 @@ static inline uint32_t hal_radio_rx_ready_delay_us_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_US;
case BIT(1):
return HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_US;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_US;
} else {
return HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_US;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -330,6 +518,15 @@ static inline uint32_t hal_radio_rx_chain_delay_us_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF52833_RX_CHAIN_DELAY_1M_US;
case BIT(1):
return HAL_RADIO_NRF52833_RX_CHAIN_DELAY_2M_US;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF52833_RX_CHAIN_DELAY_S8_US;
} else {
return HAL_RADIO_NRF52833_RX_CHAIN_DELAY_S2_US;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -343,6 +540,15 @@ static inline uint32_t hal_radio_tx_ready_delay_ns_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_1M_NS;
case BIT(1):
return HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_2M_NS;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S8_NS;
} else {
return HAL_RADIO_NRF52833_TXEN_TXIDLE_TX_S2_NS;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -356,6 +562,14 @@ static inline uint32_t hal_radio_rx_ready_delay_ns_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_1M_NS;
case BIT(1):
return HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_2M_NS;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S8_NS;
} else {
return HAL_RADIO_NRF52833_RXEN_RXIDLE_RX_S2_NS;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -377,5 +591,14 @@ static inline uint32_t hal_radio_rx_chain_delay_ns_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF52833_RX_CHAIN_DELAY_1M_NS;
case BIT(1):
return HAL_RADIO_NRF52833_RX_CHAIN_DELAY_2M_NS;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF52833_RX_CHAIN_DELAY_S8_NS;
} else {
return HAL_RADIO_NRF52833_RX_CHAIN_DELAY_S2_NS;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}

View file

@ -75,6 +75,51 @@
HAL_RADIO_NS2US_ROUND( \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with fast Radio ramp-up mode)
* in microseconds for LE CODED PHY [S2].
*/
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_FAST_NS 42000
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_FAST_US \
HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_FAST_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode)
* in microseconds for LE 2M PHY [S2].
*/
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_NS 132000
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_US \
HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode and
* no HW TIFS auto-switch) in microseconds for LE 2M PHY [S2].
*/
/* 129.5 + 2.2 */
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_NS 132000
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_US \
HAL_RADIO_NS2US_ROUND( \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with fast Radio ramp-up mode)
* in microseconds for LE CODED PHY [S8].
*/
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_FAST_NS 42000
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_FAST_US \
HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_FAST_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode)
* in microseconds for LE 2M PHY [S8].
*/
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_NS 122000
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_US \
HAL_RADIO_NS2US_ROUND(HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_NS)
/* TXEN->TXIDLE + TXIDLE->TX (with default Radio ramp-up mode and
* no HW TIFS auto-switch) in microseconds for LE 2M PHY [S8].
*/
/* 129.5 + 2.2 */
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_NS 132000
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_US \
HAL_RADIO_NS2US_ROUND( \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with fast Radio ramp-up mode)
* in microseconds for LE 1M PHY.
*/
@ -121,6 +166,52 @@
HAL_RADIO_NS2US_CEIL( \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with fast Radio ramp-up mode)
* in microseconds for LE Coded PHY [S2].
*/
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_FAST_NS 40000
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_FAST_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_FAST_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode)
* in microseconds for LE Coded PHY [S2].
*/
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_NS 120000
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode
* and no HW TIFS auto-switch) in microseconds for LE Coded PHY [S2].
*/
/* 129.5 + 0.2 */
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_NS 130000
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_US \
HAL_RADIO_NS2US_CEIL( \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with fast Radio ramp-up mode)
* in microseconds for LE Coded PHY [S8].
*/
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_FAST_NS 40000
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_FAST_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_FAST_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode)
* in microseconds for LE Coded PHY [S8].
*/
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_NS 120000
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_NS)
/* RXEN->RXIDLE + RXIDLE->RX (with default Radio ramp-up mode and
* no HW TIFS auto-switch) in microseconds for LE Coded PHY [S8].
*/
/* 129.5 + 0.2 */
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_NS 130000
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_US \
HAL_RADIO_NS2US_CEIL( \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_NS)
#define HAL_RADIO_NRF5340_TX_CHAIN_DELAY_NS 1000
#define HAL_RADIO_NRF5340_TX_CHAIN_DELAY_US \
HAL_RADIO_NS2US_CEIL(HAL_RADIO_NRF5340_TX_CHAIN_DELAY_NS)
@ -129,6 +220,10 @@
#define HAL_RADIO_NRF5340_RX_CHAIN_DELAY_1M_NS 9000
#define HAL_RADIO_NRF5340_RX_CHAIN_DELAY_2M_US 5
#define HAL_RADIO_NRF5340_RX_CHAIN_DELAY_2M_NS 5000
#define HAL_RADIO_NRF5340_RX_CHAIN_DELAY_S2_US 30
#define HAL_RADIO_NRF5340_RX_CHAIN_DELAY_S2_NS 30000
#define HAL_RADIO_NRF5340_RX_CHAIN_DELAY_S8_US 30
#define HAL_RADIO_NRF5340_RX_CHAIN_DELAY_S8_NS 30000
#if defined(CONFIG_BT_CTLR_RADIO_ENABLE_FAST)
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_1M_US \
@ -141,6 +236,16 @@
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_FAST_NS
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_US \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_FAST_US
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_FAST_NS
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_US \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_FAST_US
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_FAST_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_FAST_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_NS \
@ -151,6 +256,16 @@
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_FAST_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_FAST_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_FAST_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_FAST_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_FAST_NS
#else /* !CONFIG_BT_CTLR_RADIO_ENABLE_FAST */
#if defined(CONFIG_BT_CTLR_TIFS_HW)
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_1M_US \
@ -163,6 +278,16 @@
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_DEFAULT_NS
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_US \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_US
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_NS
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_US \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_US
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_DEFAULT_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_NS \
@ -173,6 +298,16 @@
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_DEFAULT_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_NS
#else /* !CONFIG_BT_CTLR_TIFS_HW */
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_1M_US \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_1M_DEFAULT_NO_HW_TIFS_US
@ -184,6 +319,16 @@
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_US \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_US \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_NS \
HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_NS \
@ -194,6 +339,16 @@
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_DEFAULT_NO_HW_TIFS_NS
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_US \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_US
#define HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_NS \
HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_DEFAULT_NO_HW_TIFS_NS
#endif /* !CONFIG_BT_CTLR_TIFS_HW */
#endif /* !CONFIG_BT_CTLR_RADIO_ENABLE_FAST */
@ -345,6 +500,15 @@ static inline uint32_t hal_radio_tx_ready_delay_us_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_1M_US;
case BIT(1):
return HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_US;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_US;
} else {
return HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_US;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -358,6 +522,15 @@ static inline uint32_t hal_radio_rx_ready_delay_us_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_US;
case BIT(1):
return HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_US;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_US;
} else {
return HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_US;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -379,6 +552,15 @@ static inline uint32_t hal_radio_rx_chain_delay_us_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF5340_RX_CHAIN_DELAY_1M_US;
case BIT(1):
return HAL_RADIO_NRF5340_RX_CHAIN_DELAY_2M_US;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF5340_RX_CHAIN_DELAY_S8_US;
} else {
return HAL_RADIO_NRF5340_RX_CHAIN_DELAY_S2_US;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -392,6 +574,15 @@ static inline uint32_t hal_radio_tx_ready_delay_ns_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_1M_NS;
case BIT(1):
return HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_2M_NS;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S8_NS;
} else {
return HAL_RADIO_NRF5340_TXEN_TXIDLE_TX_S2_NS;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -405,6 +596,15 @@ static inline uint32_t hal_radio_rx_ready_delay_ns_get(uint8_t phy, uint8_t flag
return HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_1M_NS;
case BIT(1):
return HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_2M_NS;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S8_NS;
} else {
return HAL_RADIO_NRF5340_RXEN_RXIDLE_RX_S2_NS;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}
@ -427,5 +627,13 @@ static inline uint32_t hal_radio_rx_chain_delay_ns_get(uint8_t phy, uint8_t flag
case BIT(1):
return HAL_RADIO_NRF5340_RX_CHAIN_DELAY_2M_NS;
#if defined(CONFIG_BT_CTLR_PHY_CODED)
case BIT(2):
if (flags & 0x01) {
return HAL_RADIO_NRF5340_RX_CHAIN_DELAY_S8_NS;
} else {
return HAL_RADIO_NRF5340_RX_CHAIN_DELAY_S2_NS;
}
#endif /* CONFIG_BT_CTLR_PHY_CODED */
}
}