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