1# Bluetooth Isochronous Channel configuration options
2
3# Copyright (c) 2016 Intel Corporation
4# Copyright (c) 2021 Nordic Semiconductor ASA
5# SPDX-License-Identifier: Apache-2.0
6
7config BT_ISO
8	bool
9
10config BT_ISO_UNICAST
11	bool "Bluetooth Isochronous Channel Unicast Support [EXPERIMENTAL]"
12	depends on BT_CONN
13	select BT_ISO
14	help
15	  This option enables support for Bluetooth Broadcast
16	  Isochronous channels.
17
18# TODO: Split between broadcaster and observer for optimization
19config BT_ISO_BROADCAST
20	bool "Bluetooth Isochronous Channel Broadcast Support [EXPERIMENTAL]"
21	select BT_ISO
22	select BT_EXT_ADV
23	select BT_PER_ADV
24	select BT_PER_ADV_SYNC
25	help
26	  This option enables support for Bluetooth Broadcast
27	  Isochronous channels.
28
29if BT_ISO
30
31config BT_ISO_MAX_CHAN
32	int "Maximum number of simultaneous ISO channels"
33	depends on BT_ISO
34	default BT_MAX_CONN if BT_CONN
35	default 1
36	range 1 64
37	help
38	  Maximum number of simultaneous Bluetooth isochronous channels
39	  supported.
40
41config BT_ISO_TX_BUF_COUNT
42	int "Number of Isochronous TX buffers"
43	default 1
44	range 1 255
45	help
46	  Number of buffers available for outgoing Isochronous channel SDUs.
47
48config BT_ISO_TX_FRAG_COUNT
49	int "Number of ISO TX fragment buffers"
50	default 2
51	range 0 255
52	help
53	  Number of buffers available for fragments of TX buffers. Warning:
54	  setting this to 0 means that the application must ensure that
55	  queued TX buffers never need to be fragmented, i.e. that the
56	  controller's buffer size is large enough. If this is not ensured,
57	  and there are no dedicated fragment buffers, a deadlock may occur.
58	  In most cases the default value of 2 is a safe bet.
59
60config BT_ISO_TX_MTU
61	int "Maximum supported MTU for Isochronous TX buffers"
62	default 251
63	range 23 4095
64	help
65	  Maximum MTU for Isochronous channels TX buffers.
66
67config BT_ISO_RX_BUF_COUNT
68	int "Number of Isochronous RX buffers"
69	default 1
70	range 1 255
71	help
72	  Number of buffers available for incoming Isochronous channel SDUs.
73
74config BT_ISO_RX_MTU
75	int "Maximum supported MTU for Isochronous RX buffers"
76	default 251
77	range 23 4095
78	help
79	  Maximum MTU for Isochronous channels RX buffers.
80
81if BT_ISO_UNICAST
82
83config BT_ISO_MAX_CIG
84	int "Maximum number of Connected Isochronous Groups (CIGs) to support"
85	default 1
86	help
87	  Maximum number of CIGs that are supported by the host. A CIG can be
88	  used for either transmitting or receiving.
89
90endif # BT_ISO_UNICAST
91
92if BT_ISO_BROADCAST
93
94config BT_ISO_MAX_BIG
95	int "Maximum number of Broadcast Isochronous Groups (BIGs) to support"
96	default 1
97	help
98	  Maximmum number of BIGs that are supported by the host. A BIG can be
99	  used for either transmitting or receiving, but not at the same time.
100
101endif # BT_ISO_BROADCAST
102endif # BT_ISO
103