CONFIG_BT_CTLR_SW_SWITCH_SINGLE_TIMER

Single TIMER tIFS Trx SW switching

Type: bool

Help

Implement the tIFS Trx SW switch with the same TIMER
instance, as the one used for BLE event timing. Requires
SW switching be enabled. Using a single TIMER:
(+) frees up one TIMER instance
(+) removes jitter for HCTO implementation
(-) introduces drifting to the absolute time inside BLE
events, that increases linearly with the number of
packets exchanged in the event
(-) makes it impossible to use most of the pre-programmed
PPI channels for the controller, resulting in 4 channels
less left for other uses

Direct dependencies

!BT_CTLR_TIFS_HW && (SOC_COMPATIBLE_NRF52X || SOC_SERIES_NRF53X) && BT_LL_SW_SPLIT && BT_CTLR && BT_HCI && BT

(Includes any dependencies from ifs and menus.)

Defaults

No defaults. Implicitly defaults to n.

Kconfig definition

At <Zephyr>/subsys/bluetooth/controller/Kconfig.ll_sw_split:458

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:44<Zephyr>/subsys/Kconfig:9<Zephyr>/subsys/bluetooth/Kconfig:181<Zephyr>/subsys/bluetooth/controller/Kconfig:790

Menu path: (Top) → Sub Systems and OS Services → Bluetooth → Bluetooth Controller → Advanced features

config BT_CTLR_SW_SWITCH_SINGLE_TIMER
    bool "Single TIMER tIFS Trx SW switching" if BT_CTLR_ADVANCED_FEATURES
    depends on !BT_CTLR_TIFS_HW && (SOC_COMPATIBLE_NRF52X || SOC_SERIES_NRF53X) && BT_LL_SW_SPLIT && BT_CTLR && BT_HCI && BT
    help
      Implement the tIFS Trx SW switch with the same TIMER
      instance, as the one used for BLE event timing. Requires
      SW switching be enabled. Using a single TIMER:
      (+) frees up one TIMER instance
      (+) removes jitter for HCTO implementation
      (-) introduces drifting to the absolute time inside BLE
      events, that increases linearly with the number of
      packets exchanged in the event
      (-) makes it impossible to use most of the pre-programmed
      PPI channels for the controller, resulting in 4 channels
      less left for other uses

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)