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 10# TODO: Split between client (central) and server (peripheral) 11config BT_ISO_UNICAST 12 bool 13 depends on BT_CONN 14 select BT_ISO 15 help 16 This option enables support for Bluetooth Unicast 17 Isochronous channels. 18 19config BT_ISO_PERIPHERAL 20 bool "Bluetooth Isochronous Channel Unicast Peripheral Support [EXPERIMENTAL]" 21 depends on !BT_CTLR || BT_CTLR_PERIPHERAL_ISO_SUPPORT 22 select BT_PERIPHERAL 23 select BT_ISO_UNICAST 24 select EXPERIMENTAL 25 help 26 This option enables support for Bluetooth Unicast 27 Isochronous channels for the peripheral role. 28 29config BT_ISO_CENTRAL 30 bool "Bluetooth Isochronous Channel Unicast Central Support [EXPERIMENTAL]" 31 depends on !BT_CTLR || BT_CTLR_CENTRAL_ISO_SUPPORT 32 select BT_CENTRAL 33 select BT_ISO_UNICAST 34 select EXPERIMENTAL 35 help 36 This option enables support for Bluetooth Broadcast 37 Isochronous channels for the central role. 38 39config BT_ISO_BROADCAST 40 bool 41 select BT_ISO 42 select BT_EXT_ADV 43 44config BT_ISO_BROADCASTER 45 bool "Bluetooth Isochronous Broadcaster Support [EXPERIMENTAL]" 46 depends on !BT_CTLR || BT_CTLR_ADV_ISO_SUPPORT 47 select BT_ISO_BROADCAST 48 select BT_BROADCASTER 49 select BT_PER_ADV 50 select EXPERIMENTAL 51 help 52 This option enables support for the Bluetooth Isochronous Broadcaster. 53 54config BT_ISO_SYNC_RECEIVER 55 bool "Bluetooth Isochronous Synchronized Receiver Support [EXPERIMENTAL]" 56 depends on !BT_CTLR || BT_CTLR_SYNC_ISO_SUPPORT 57 select BT_ISO_BROADCAST 58 select BT_OBSERVER 59 select BT_PER_ADV_SYNC 60 select EXPERIMENTAL 61 help 62 This option enables support for the Bluetooth Isochronous 63 Synchronized Receiver. 64 65if BT_ISO 66 67config BT_ISO_MAX_CHAN 68 int "Maximum number of simultaneous ISO channels" 69 depends on BT_ISO 70 default BT_MAX_CONN if BT_CONN 71 default 1 72 range 1 64 73 help 74 Maximum number of simultaneous Bluetooth isochronous channels 75 supported. 76 77config BT_ISO_TX_BUF_COUNT 78 int "Number of Isochronous TX buffers" 79 default 1 80 range 1 255 81 help 82 Number of buffers available for outgoing Isochronous channel SDUs. 83 84config BT_ISO_TX_FRAG_COUNT 85 int "Number of ISO TX fragment buffers" 86 default 2 87 range 0 255 88 help 89 Number of buffers available for fragments of TX buffers. Warning: 90 setting this to 0 means that the application must ensure that 91 queued TX buffers never need to be fragmented, i.e. that the 92 controller's buffer size is large enough. If this is not ensured, 93 and there are no dedicated fragment buffers, a deadlock may occur. 94 In most cases the default value of 2 is a safe bet. 95 96config BT_ISO_TX_MTU 97 int "Maximum supported MTU for Isochronous TX buffers" 98 default 251 99 range 1 4095 100 help 101 Maximum MTU for Isochronous channels TX buffers. 102 This is the actual data payload. It doesn't include the optional 103 HCI ISO Data packet fields (e.g. `struct bt_hci_iso_ts_data_hdr`). 104 Set this value to 247 to fit 247 bytes of data within a single 105 HCI ISO Data packet with a size of 255, without utilizing timestamps. 106 107config BT_ISO_RX_BUF_COUNT 108 int "Number of Isochronous RX buffers" 109 default 1 110 range 1 255 111 help 112 Number of buffers available for incoming Isochronous channel SDUs. 113 114config BT_ISO_RX_MTU 115 int "Maximum supported MTU for Isochronous RX buffers" 116 default 251 117 range 23 4095 118 help 119 Maximum MTU for Isochronous channels RX buffers. 120 This is the actual data payload. It doesn't include the optional 121 HCI ISO Data packet fields (e.g. `struct bt_hci_iso_ts_data_hdr`) 122 123config BT_ISO_TEST_PARAMS 124 bool "ISO test parameters support" 125 help 126 Enabling advanced ISO parameters will allow the use of the ISO test 127 parameters for creating a CIG or a BIG. These test parameters were 128 intended for testing, but can be used to allow the host to set more 129 settings that are otherwise usually controlled by the controller. 130 131if BT_ISO_UNICAST 132 133config BT_ISO_MAX_CIG 134 int "Maximum number of Connected Isochronous Groups (CIGs) to support" 135 default 1 136 help 137 Maximum number of CIGs that are supported by the host. A CIG can be 138 used for either transmitting or receiving. 139 140endif # BT_ISO_UNICAST 141 142if BT_ISO_BROADCAST 143 144config BT_ISO_MAX_BIG 145 int "Maximum number of Broadcast Isochronous Groups (BIGs) to support" 146 default 1 147 help 148 Maximum number of BIGs that are supported by the host. A BIG can be 149 used for either transmitting or receiving, but not at the same time. 150 151endif # BT_ISO_BROADCAST 152endif # BT_ISO 153