Commit 1f23e30b authored by Emil Gydesen's avatar Emil Gydesen Committed by Carles Cufi
Browse files

Bluetooth: controller: Adds kconfig for BIG commands



Guards the BIG command functions with advertiser and sync
Kconfigs.

Signed-off-by: default avatarEmil Gydesen <emil.gydesen@nordicsemi.no>
parent 68153f04
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -34,7 +34,8 @@ if(CONFIG_BT_LL_SW_SPLIT)
      CONFIG_BT_CTLR_ADV_PERIODIC
      ll_sw/ull_adv_sync.c
      )
    zephyr_library_sources(
    zephyr_library_sources_ifdef(
      CONFIG_BT_CTLR_ADV_ISO
      ll_sw/ull_adv_iso.c
      )
  endif()
@@ -50,7 +51,8 @@ if(CONFIG_BT_LL_SW_SPLIT)
      CONFIG_BT_CTLR_SYNC_PERIODIC
      ll_sw/ull_sync.c
      )
    zephyr_library_sources(
    zephyr_library_sources_ifdef(
      CONFIG_BT_CTLR_SYNC_ISO
      ll_sw/ull_sync_iso.c
      )
  endif()
+30 −0
Original line number Diff line number Diff line
@@ -49,6 +49,14 @@ config BT_CTLR_SYNC_PERIODIC_SUPPORT
	depends on BT_CTLR_ADV_EXT_SUPPORT
	bool

config BT_CTLR_ADV_ISO_SUPPORT
	depends on BT_CTLR_ADV_PERIODIC_SUPPORT
	bool

config BT_CTLR_SYNC_ISO_SUPPORT
	depends on BT_CTLR_SYNC_PERIODIC_SUPPORT
	bool

config BT_CTLR_CHAN_SEL_2_SUPPORT
	bool

@@ -434,6 +442,28 @@ config BT_CTLR_SYNC_PERIODIC
config BT_CTLR_SYNC_PERIODIC
	bool "LE Periodic Advertising in Synchronization State [EXPERIMENTAL]" if BT_LL_SW_SPLIT

config BT_CTLR_ADV_ISO
	bool "LE Broadcast Isochronous Channel advertising" if !BT_LL_SW_SPLIT
	depends on BT_BROADCASTER && BT_CTLR_ADV_ISO_SUPPORT
	select BT_CTLR_ADV_PERIODIC
	help
	  Enable support for Bluetooth 5.2 LE Isochronous Advertising in the
	  Controller.

config BT_CTLR_ADV_ISO
	bool "LE Broadcast Isochronous Channel advertising [EXPERIMENTAL]" if BT_LL_SW_SPLIT

config BT_CTLR_SYNC_ISO
	bool "LE Broadcast Isochronous Channel advertising sync" if !BT_LL_SW_SPLIT
	depends on BT_BROADCASTER && BT_CTLR_ADV_ISO_SUPPORT
	select BT_CTLR_SYNC_PERIODIC
	help
	  Enable support for Bluetooth 5.2 LE Isochronous Advertising sync in
	  the Controller.

config BT_CTLR_SYNC_ISO
	bool "LE Broadcast Isochronous Channel advertising sync [EXPERIMENTAL]" if BT_LL_SW_SPLIT

config BT_CTLR_ADV_DATA_LEN_MAX
	int "Maximum Advertising Data Length"
	range 31 1650
+8 −0
Original line number Diff line number Diff line
@@ -1067,6 +1067,7 @@ static void le_set_adv_enable(struct net_buf *buf, struct net_buf **evt)
	*evt = cmd_complete_status(status);
}

#if defined(CONFIG_BT_CTLR_ADV_ISO)
static void le_create_big(struct net_buf *buf, struct net_buf **evt)
{
	struct bt_hci_cp_le_create_big *cmd = (void *)buf->data;
@@ -1120,6 +1121,7 @@ static void le_terminate_big(struct net_buf *buf, struct net_buf **evt)

	*evt = cmd_status(status);
}
#endif /* CONFIG_BT_CTLR_ADV_ISO */
#endif /* CONFIG_BT_BROADCASTER */

#if defined(CONFIG_BT_OBSERVER)
@@ -1167,6 +1169,7 @@ static void le_set_scan_enable(struct net_buf *buf, struct net_buf **evt)
	*evt = cmd_complete_status(status);
}

#if defined(CONFIG_BT_CTLR_SYNC_ISO)
static void le_big_create_sync(struct net_buf *buf, struct net_buf **evt)
{
	struct bt_hci_cp_le_big_create_sync *cmd = (void *)buf->data;
@@ -1194,6 +1197,7 @@ static void le_big_terminate_sync(struct net_buf *buf, struct net_buf **evt)

	*evt = cmd_complete_status(status);
}
#endif /* CONFIG_BT_CTLR_ADV_ISO */
#endif /* CONFIG_BT_OBSERVER */

#if defined(CONFIG_BT_CONN)
@@ -2355,6 +2359,7 @@ static int controller_cmd_handle(uint16_t ocf, struct net_buf *cmd,
		le_set_adv_enable(cmd, evt);
		break;

#if defined(CONFIG_BT_CTLR_ADV_ISO)
	case BT_OCF(BT_HCI_OP_LE_CREATE_BIG):
		le_create_big(cmd, evt);
		break;
@@ -2366,6 +2371,7 @@ static int controller_cmd_handle(uint16_t ocf, struct net_buf *cmd,
	case BT_OCF(BT_HCI_OP_LE_TERMINATE_BIG):
		le_terminate_big(cmd, evt);
		break;
#endif /* CONFIG_BT_CTLR_ADV_ISO */
#endif /* CONFIG_BT_BROADCASTER */

#if defined(CONFIG_BT_OBSERVER)
@@ -2377,6 +2383,7 @@ static int controller_cmd_handle(uint16_t ocf, struct net_buf *cmd,
		le_set_scan_enable(cmd, evt);
		break;

#if defined(CONFIG_BT_CTLR_SYNC_ISO)
	case BT_OCF(BT_HCI_OP_LE_BIG_CREATE_SYNC):
		le_big_create_sync(cmd, evt);
		break;
@@ -2384,6 +2391,7 @@ static int controller_cmd_handle(uint16_t ocf, struct net_buf *cmd,
	case BT_OCF(BT_HCI_OP_LE_BIG_TERMINATE_SYNC):
		le_big_terminate_sync(cmd, evt);
		break;
#endif /* CONFIG_BT_CTLR_SYNC_ISO */
#endif /* CONFIG_BT_OBSERVER */

#if defined(CONFIG_BT_CONN)