@@ -225,7 +225,160 @@ config BT_CHANNEL_SOUNDING_REASSEMBLY_BUFFER_CNT
225225
226226endif # BT_CONN
227227
228- rsource "Kconfig.iso"
228+ config BT_ISO
229+ bool
230+
231+ config BT_ISO_TX
232+ bool
233+
234+ config BT_ISO_RX
235+ bool
236+
237+ #TODO : Split between client(central) and server(peripheral)
238+ config BT_ISO_UNICAST
239+ bool
240+ depends on BT_CONN
241+ select BT_ISO
242+ select BT_ISO_TX
243+ select BT_ISO_RX
244+ help
245+ This option enables support for Bluetooth Unicast
246+ Isochronous channels.
247+
248+ config BT_ISO_PERIPHERAL
249+ bool "Bluetooth Isochronous Channel Unicast Peripheral Support"
250+ depends on !HAS_BT_CTLR || BT_CTLR_PERIPHERAL_ISO_SUPPORT
251+ depends on BT_PERIPHERAL
252+ select BT_ISO_UNICAST
253+ help
254+ This option enables support for Bluetooth Unicast
255+ Isochronous channels for the peripheral role.
256+
257+ config BT_ISO_CENTRAL
258+ bool "Bluetooth Isochronous Channel Unicast Central Support"
259+ depends on !HAS_BT_CTLR || BT_CTLR_CENTRAL_ISO_SUPPORT
260+ depends on BT_CENTRAL
261+ select BT_ISO_UNICAST
262+ help
263+ This option enables support for Bluetooth Broadcast
264+ Isochronous channels for the central role.
265+
266+ config BT_ISO_BROADCAST
267+ bool
268+ select BT_ISO
269+ select BT_EXT_ADV
270+
271+ config BT_ISO_BROADCASTER
272+ bool "Bluetooth Isochronous Broadcaster Support"
273+ depends on !HAS_BT_CTLR || BT_CTLR_ADV_ISO_SUPPORT
274+ select BT_ISO_BROADCAST
275+ select BT_ISO_TX
276+ select BT_BROADCASTER
277+ select BT_PER_ADV
278+ help
279+ This option enables support for the Bluetooth Isochronous Broadcaster.
280+
281+ config BT_ISO_SYNC_RECEIVER
282+ bool "Bluetooth Isochronous Synchronized Receiver Support"
283+ depends on !HAS_BT_CTLR || BT_CTLR_SYNC_ISO_SUPPORT
284+ depends on BT_OBSERVER
285+ select BT_ISO_BROADCAST
286+ select BT_ISO_RX
287+ select BT_PER_ADV_SYNC
288+ help
289+ This option enables support for the Bluetooth Isochronous
290+ Synchronized Receiver.
291+
292+ if BT_ISO
293+
294+ config BT_ISO_MAX_CHAN
295+ int "Maximum number of simultaneous ISO channels"
296+ depends on BT_ISO
297+ default BT_MAX_CONN if BT_CONN
298+ default 1
299+ range 1 64
300+ help
301+ Maximum number of simultaneous Bluetooth isochronous channels
302+ supported.
303+
304+ config BT_ISO_TX_BUF_COUNT
305+ int "Number of Isochronous TX buffers"
306+ default 1
307+ range 1 $(UINT8_MAX)
308+ help
309+ Number of buffers available for outgoing Isochronous channel SDUs.
310+
311+ config BT_ISO_TX_FRAG_COUNT
312+ int "Number of ISO TX fragment buffers"
313+ default 2
314+ range 0 $(UINT8_MAX)
315+ help
316+ Number of buffers available for fragments of TX buffers. Warning:
317+ setting this to 0 means that the application must ensure that
318+ queued TX buffers never need to be fragmented, i.e. that the
319+ controller's buffer size is large enough. If this is not ensured,
320+ and there are no dedicated fragment buffers, a deadlock may occur.
321+ In most cases the default value of 2 is a safe bet.
322+
323+ config BT_ISO_TX_MTU
324+ int "Maximum supported MTU for Isochronous TX buffers"
325+ range 1 4095
326+ default 247
327+ help
328+ Maximum MTU for Isochronous channels TX buffers.
329+ This is the actual data payload. It doesn't include the optional
330+ HCI ISO Data packet fields (e.g. `struct bt_hci_iso_sdu_ts_hdr`).
331+ Set this value to 247 to fit 247 bytes of data within a single
332+ HCI ISO Data packet with Data_Total_Length of 255, utilizing
333+ timestamps.
334+
335+ config BT_ISO_RX_BUF_COUNT
336+ int "Number of Isochronous RX buffers"
337+ default 1
338+ range 1 $(UINT8_MAX)
339+ help
340+ Number of buffers available for incoming Isochronous channel SDUs.
341+
342+ config BT_ISO_RX_MTU
343+ int "Maximum supported MTU for Isochronous RX buffers"
344+ default 251
345+ range 23 4095
346+ help
347+ Maximum MTU for Isochronous channels RX buffers.
348+ This is the actual data payload. It doesn't include the optional
349+ HCI ISO Data packet fields (e.g. `struct bt_hci_iso_sdu_ts_hdr`)
350+
351+ config BT_ISO_TEST_PARAMS
352+ bool "ISO test parameters support"
353+ help
354+ Enabling advanced ISO parameters will allow the use of the ISO test
355+ parameters for creating a CIG or a BIG. These test parameters were
356+ intended for testing, but can be used to allow the host to set more
357+ settings that are otherwise usually controlled by the controller.
358+
359+ if BT_ISO_UNICAST
360+
361+ config BT_ISO_MAX_CIG
362+ int "Maximum number of Connected Isochronous Groups (CIGs) to support"
363+ default 1
364+ help
365+ Maximum number of CIGs that are supported by the host. A CIG can be
366+ used for either transmitting or receiving.
367+
368+ endif # BT_ISO_UNICAST
369+
370+ if BT_ISO_BROADCAST
371+
372+ config BT_ISO_MAX_BIG
373+ int "Maximum number of Broadcast Isochronous Groups (BIGs) to support"
374+ default 1
375+ help
376+ Maximum number of BIGs that are supported by the host. A BIG can be
377+ used for either transmitting or receiving, but not at the same time.
378+
379+ endif # BT_ISO_BROADCAST
380+ endif # BT_ISO
381+
229382rsource "common/Kconfig"
230383rsource "host/Kconfig"
231384rsource "controller/Kconfig"
0 commit comments