zephyr/subsys/bluetooth/Kconfig.iso

160 lines
4.4 KiB
Plaintext

# Bluetooth Isochronous Channel configuration options
# Copyright (c) 2016 Intel Corporation
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config BT_ISO
bool
config BT_ISO_TX
bool
config BT_ISO_RX
bool
# TODO: Split between client (central) and server (peripheral)
config BT_ISO_UNICAST
bool
depends on BT_CONN
select BT_ISO
select BT_ISO_TX
select BT_ISO_RX
help
This option enables support for Bluetooth Unicast
Isochronous channels.
config BT_ISO_PERIPHERAL
bool "Bluetooth Isochronous Channel Unicast Peripheral Support"
depends on !BT_CTLR || BT_CTLR_PERIPHERAL_ISO_SUPPORT
select BT_PERIPHERAL
select BT_ISO_UNICAST
help
This option enables support for Bluetooth Unicast
Isochronous channels for the peripheral role.
config BT_ISO_CENTRAL
bool "Bluetooth Isochronous Channel Unicast Central Support"
depends on !BT_CTLR || BT_CTLR_CENTRAL_ISO_SUPPORT
select BT_CENTRAL
select BT_ISO_UNICAST
help
This option enables support for Bluetooth Broadcast
Isochronous channels for the central role.
config BT_ISO_BROADCAST
bool
select BT_ISO
select BT_EXT_ADV
config BT_ISO_BROADCASTER
bool "Bluetooth Isochronous Broadcaster Support"
depends on !BT_CTLR || BT_CTLR_ADV_ISO_SUPPORT
select BT_ISO_BROADCAST
select BT_ISO_TX
select BT_BROADCASTER
select BT_PER_ADV
help
This option enables support for the Bluetooth Isochronous Broadcaster.
config BT_ISO_SYNC_RECEIVER
bool "Bluetooth Isochronous Synchronized Receiver Support"
depends on !BT_CTLR || BT_CTLR_SYNC_ISO_SUPPORT
select BT_ISO_BROADCAST
select BT_ISO_RX
select BT_OBSERVER
select BT_PER_ADV_SYNC
help
This option enables support for the Bluetooth Isochronous
Synchronized Receiver.
if BT_ISO
config BT_ISO_MAX_CHAN
int "Maximum number of simultaneous ISO channels"
depends on BT_ISO
default BT_MAX_CONN if BT_CONN
default 1
range 1 64
help
Maximum number of simultaneous Bluetooth isochronous channels
supported.
config BT_ISO_TX_BUF_COUNT
int "Number of Isochronous TX buffers"
default 1
range 1 $(UINT8_MAX)
help
Number of buffers available for outgoing Isochronous channel SDUs.
config BT_ISO_TX_FRAG_COUNT
int "Number of ISO TX fragment buffers"
default 2
range 0 $(UINT8_MAX)
help
Number of buffers available for fragments of TX buffers. Warning:
setting this to 0 means that the application must ensure that
queued TX buffers never need to be fragmented, i.e. that the
controller's buffer size is large enough. If this is not ensured,
and there are no dedicated fragment buffers, a deadlock may occur.
In most cases the default value of 2 is a safe bet.
config BT_ISO_TX_MTU
int "Maximum supported MTU for Isochronous TX buffers"
range 1 4095
default 247
help
Maximum MTU for Isochronous channels TX buffers.
This is the actual data payload. It doesn't include the optional
HCI ISO Data packet fields (e.g. `struct bt_hci_iso_sdu_ts_hdr`).
Set this value to 247 to fit 247 bytes of data within a single
HCI ISO Data packet with Data_Total_Length of 255, utilizing
timestamps.
config BT_ISO_RX_BUF_COUNT
int "Number of Isochronous RX buffers"
default 1
range 1 $(UINT8_MAX)
help
Number of buffers available for incoming Isochronous channel SDUs.
config BT_ISO_RX_MTU
int "Maximum supported MTU for Isochronous RX buffers"
default 251
range 23 4095
help
Maximum MTU for Isochronous channels RX buffers.
This is the actual data payload. It doesn't include the optional
HCI ISO Data packet fields (e.g. `struct bt_hci_iso_sdu_ts_hdr`)
config BT_ISO_TEST_PARAMS
bool "ISO test parameters support"
help
Enabling advanced ISO parameters will allow the use of the ISO test
parameters for creating a CIG or a BIG. These test parameters were
intended for testing, but can be used to allow the host to set more
settings that are otherwise usually controlled by the controller.
if BT_ISO_UNICAST
config BT_ISO_MAX_CIG
int "Maximum number of Connected Isochronous Groups (CIGs) to support"
default 1
help
Maximum number of CIGs that are supported by the host. A CIG can be
used for either transmitting or receiving.
endif # BT_ISO_UNICAST
if BT_ISO_BROADCAST
config BT_ISO_MAX_BIG
int "Maximum number of Broadcast Isochronous Groups (BIGs) to support"
default 1
help
Maximum number of BIGs that are supported by the host. A BIG can be
used for either transmitting or receiving, but not at the same time.
endif # BT_ISO_BROADCAST
endif # BT_ISO