Bluetooth: controller: Add radio fast ramp feature

Added implementation to use nRF radio's fast ramp up mode.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2017-05-26 13:01:29 +02:00 committed by Johan Hedberg
commit 46f9489704
5 changed files with 23 additions and 2 deletions

View file

@ -284,8 +284,16 @@ config BLUETOOTH_CONTROLLER_SCHED_ADVANCED
Disabling this feature will lead to overlapping role in timespace
leading to skipped events amongst active roles.
config BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST
bool "Use tTXEN/RXEN,FAST ramp-up"
depends on SOC_SERIES_NRF52X
default y if SOC_NRF52840
help
Enable use of fast radio ramp-up mode.
config BLUETOOTH_CONTROLLER_TIFS_HW
bool "H/w Accelerated tIFS Trx switching"
depends on !BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST
default y
help
Enable use of hardware accelerated tIFS Trx switching.

View file

@ -93,6 +93,12 @@ void radio_phy_set(u8_t phy, u8_t flags)
}
NRF_RADIO->MODE = (mode << RADIO_MODE_MODE_Pos) & RADIO_MODE_MODE_Msk;
#if defined(CONFIG_BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST)
NRF_RADIO->MODECNF0 |= (RADIO_MODECNF0_RU_Fast <<
RADIO_MODECNF0_RU_Pos) &
RADIO_MODECNF0_RU_Msk;
#endif /* CONFIG_BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST */
}
void radio_tx_power_set(u32_t power)
@ -211,7 +217,9 @@ u32_t radio_tx_ready_delay_get(u8_t phy, u8_t flags)
#if defined(CONFIG_SOC_SERIES_NRF51X)
return 140;
#elif defined(CONFIG_SOC_SERIES_NRF52X)
#if defined(CONFIG_SOC_NRF52840)
#if defined(CONFIG_BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST)
return 40;
#elif defined(CONFIG_SOC_NRF52840)
switch (phy) {
default:
#if defined(CONFIG_BLUETOOTH_CONTROLLER_TIFS_HW)
@ -272,7 +280,9 @@ u32_t radio_rx_ready_delay_get(u8_t phy)
#if defined(CONFIG_SOC_SERIES_NRF51X)
return 138;
#elif defined(CONFIG_SOC_SERIES_NRF52X)
#if defined(CONFIG_SOC_NRF52840)
#if defined(CONFIG_BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST)
return 40;
#elif defined(CONFIG_SOC_NRF52840)
switch (phy) {
default:
#if defined(CONFIG_BLUETOOTH_CONTROLLER_TIFS_HW)

View file

@ -12,6 +12,7 @@ CONFIG_BLUETOOTH_CONTROLLER_PHY=n
CONFIG_BLUETOOTH_CONTROLLER_CHAN_SEL_2=n
CONFIG_BLUETOOTH_CONTROLLER_ADV_EXT=n
CONFIG_BLUETOOTH_CONTROLLER_TIFS_HW=y
CONFIG_BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST=n
CONFIG_BLUETOOTH_CONTROLLER_FAST_ENC=n
CONFIG_BLUETOOTH_CONTROLLER_CONN_RSSI=n
CONFIG_BLUETOOTH_CONTROLLER_ADV_INDICATION=n

View file

@ -15,6 +15,7 @@ CONFIG_BLUETOOTH_CONTROLLER_PHY_CODED=y
CONFIG_BLUETOOTH_CONTROLLER_CHAN_SEL_2=y
CONFIG_BLUETOOTH_CONTROLLER_ADV_EXT=y
CONFIG_BLUETOOTH_CONTROLLER_TIFS_HW=n
CONFIG_BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST=y
CONFIG_BLUETOOTH_CONTROLLER_FAST_ENC=y
CONFIG_BLUETOOTH_CONTROLLER_CONN_RSSI=y
CONFIG_BLUETOOTH_CONTROLLER_ADV_INDICATION=y

View file

@ -12,6 +12,7 @@ CONFIG_BLUETOOTH_CONTROLLER_PHY=n
CONFIG_BLUETOOTH_CONTROLLER_CHAN_SEL_2=n
CONFIG_BLUETOOTH_CONTROLLER_ADV_EXT=n
CONFIG_BLUETOOTH_CONTROLLER_TIFS_HW=y
CONFIG_BLUETOOTH_CONTROLLER_RADIO_ENABLE_FAST=n
CONFIG_BLUETOOTH_CONTROLLER_FAST_ENC=n
CONFIG_BLUETOOTH_CONTROLLER_CONN_RSSI=n
CONFIG_BLUETOOTH_CONTROLLER_ADV_INDICATION=n