|  | # Bluetooth Audio - Basic Audio Profile configuration options | 
|  | # | 
|  | # Copyright (c) 2020 Intel Corporation | 
|  | # Copyright (c) 2022-2023 Nordic Semiconductor ASA | 
|  |  | 
|  | # SPDX-License-Identifier: Apache-2.0 | 
|  | # | 
|  |  | 
|  | config BT_BAP_UNICAST | 
|  | def_bool BT_BAP_UNICAST_SERVER || BT_BAP_UNICAST_CLIENT | 
|  |  | 
|  | config BT_BAP_UNICAST_SERVER | 
|  | bool "Bluetooth Unicast Audio Server Support" | 
|  | depends on BT_GATT_DYNAMIC_DB | 
|  | depends on BT_PERIPHERAL | 
|  | depends on BT_ISO_PERIPHERAL | 
|  | depends on BT_ASCS | 
|  | depends on BT_BONDABLE | 
|  | select BT_PAC_SRC if BT_ASCS_ASE_SNK | 
|  | select BT_PAC_SNK if BT_ASCS_ASE_SRC | 
|  | help | 
|  | This option enables support for Bluetooth Unicast Audio Server | 
|  | using Isochronous channels. | 
|  |  | 
|  | config BT_BAP_UNICAST_CLIENT | 
|  | bool "Bluetooth Unicast Audio Client Support" | 
|  | depends on BT_GATT_CLIENT | 
|  | depends on BT_GATT_AUTO_DISCOVER_CCC | 
|  | depends on BT_GATT_AUTO_UPDATE_MTU | 
|  | depends on BT_CENTRAL | 
|  | depends on BT_ISO_CENTRAL | 
|  | depends on BT_BONDABLE | 
|  | help | 
|  | This option enables support for Bluetooth Unicast Audio Client | 
|  | using Isochronous channels. | 
|  |  | 
|  | config BT_AUDIO_CODEC_CFG_MAX_DATA_SIZE | 
|  | int "Codec Specific Configuration Data Size" | 
|  | default 19 | 
|  | range 0 $(UINT8_MAX) | 
|  | help | 
|  | Number of octets to support for Codec Specific Configuration data. | 
|  | The default value 19 matches the required fields for the LC3 codec. | 
|  |  | 
|  | config BT_AUDIO_CODEC_CFG_MAX_METADATA_SIZE | 
|  | int "Codec Specific Configuration Metadata Size" | 
|  | default 4 | 
|  | range 0 $(UINT8_MAX) | 
|  | help | 
|  | Number of octets to support for Codec Specific Configuration metadata. | 
|  |  | 
|  | config BT_BAP_BASS_MAX_SUBGROUPS | 
|  | int "Maximum number of subgroups supported for the BASS receive states" | 
|  | default 1 | 
|  | range 1 24 | 
|  | help | 
|  | This option sets the maximum number of subgroups supported. | 
|  | Due to limitations in advertising data, the maximum size of all subgroups are 249. | 
|  | The minimum size of a subgroup is 10 octets. | 
|  | So effectively there can be a maximum of 24 subgroups in a BASE. | 
|  |  | 
|  | config BT_AUDIO_CODEC_CAP_MAX_DATA_SIZE | 
|  | int "Codec Capabilities Data Size" | 
|  | default 19 | 
|  | range 0 $(UINT8_MAX) | 
|  | help | 
|  | Number of octets to support for Codec Specific Capabilities data. | 
|  | The default value 19 matches the required fields for the LC3 codec. | 
|  |  | 
|  | config BT_AUDIO_CODEC_CAP_MAX_METADATA_SIZE | 
|  | int "Codec Capabilities Metadata Size" | 
|  | default 4 | 
|  | range 0 $(UINT8_MAX) | 
|  | help | 
|  | Number of octets to support for Codec Specific Capabilities metadata. | 
|  |  | 
|  | if BT_BAP_UNICAST_CLIENT | 
|  | config BT_BAP_UNICAST_CLIENT_GROUP_COUNT | 
|  | int "Basic Audio Unicast Group count" | 
|  | default BT_ISO_MAX_CIG | 
|  | range 1 BT_ISO_MAX_CIG | 
|  | help | 
|  | This option sets the number of connected audio groups to support as | 
|  | the unicast client. | 
|  |  | 
|  | config BT_BAP_UNICAST_CLIENT_GROUP_STREAM_COUNT | 
|  | int "Basic Audio Profile Unicast Group Connected Isochronous Stream (CIS) count" | 
|  | depends on BT_BAP_UNICAST_CLIENT_GROUP_COUNT > 0 | 
|  | default 1 | 
|  | range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31 | 
|  | range 1 31 | 
|  | help | 
|  | This option sets the maximum number of CIS per unicast group to support. | 
|  | Since BAP streams are unidirectional, two BAP streams may use a single CIS, the number of | 
|  | BAP audio streams per group may be up to twice of this value. | 
|  |  | 
|  | config BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT | 
|  | int "Basic Audio Profile ASE Sink count" | 
|  | default 2 | 
|  | range 0 $(UINT8_MAX) | 
|  | help | 
|  | This option enables caching a number of Audio Stream Endpoint Sink | 
|  | instances for Basic Audio Profile on a per connection basis. | 
|  |  | 
|  | config BT_BAP_UNICAST_CLIENT_ASE_SRC_COUNT | 
|  | int "Basic Audio Profile ASE Source count" | 
|  | default 2 | 
|  | range 0 $(UINT8_MAX) | 
|  | help | 
|  | This option enables caching a number of Audio Stream Endpoint Source | 
|  | instances for Basic Audio Profile on a per connection basis. | 
|  |  | 
|  | config BT_BAP_UNICAST_CLIENT_ASE_SNK | 
|  | def_bool BT_BAP_UNICAST_CLIENT_ASE_SNK_COUNT > 0 | 
|  |  | 
|  | config BT_BAP_UNICAST_CLIENT_ASE_SRC | 
|  | def_bool BT_BAP_UNICAST_CLIENT_ASE_SRC_COUNT > 0 | 
|  |  | 
|  | endif # BT_BAP_UNICAST_CLIENT | 
|  |  | 
|  | config BT_BAP_BROADCAST_SOURCE | 
|  | bool "Bluetooth Broadcast Source Audio Support" | 
|  | depends on BT_ISO_BROADCASTER | 
|  | help | 
|  | This option enables support for Bluetooth Broadcast Source Audio using | 
|  | Isochronous channels. | 
|  | if BT_BAP_BROADCAST_SOURCE | 
|  |  | 
|  | config BT_BAP_BROADCAST_SRC_SUBGROUP_COUNT | 
|  | int "Basic Audio Broadcast Source subgroup count" | 
|  | default 1 | 
|  | range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31 | 
|  | range 1 31 | 
|  | help | 
|  | This option sets the maximum number of subgroups per broadcast source | 
|  | to support. | 
|  |  | 
|  | config BT_BAP_BROADCAST_SRC_COUNT | 
|  | int "Basic Audio Broadcaster source count" | 
|  | default 1 | 
|  | range 1 BT_ISO_MAX_BIG | 
|  | help | 
|  | This option sets the number of broadcast sources to support. | 
|  | One broadcast source can send multiple streams | 
|  | (up to BT_BAP_BROADCAST_SRC_STREAM_COUNT per broadcast source). | 
|  |  | 
|  |  | 
|  | config BT_BAP_BROADCAST_SRC_STREAM_COUNT | 
|  | int "Basic Audio Broadcast Source Stream count" | 
|  | default 1 | 
|  | range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31 | 
|  | range 1 31 | 
|  | help | 
|  | This option sets the maximum number of streams per broadcast source | 
|  | to support. | 
|  |  | 
|  | endif # BT_BAP_BROADCAST_SOURCE | 
|  |  | 
|  | config BT_BAP_BROADCAST_SINK | 
|  | bool "Bluetooth Broadcast Sink Audio Support" | 
|  | depends on BT_ISO_SYNC_RECEIVER | 
|  | depends on BT_PAC_SNK | 
|  | depends on BT_PERIPHERAL | 
|  | depends on BT_BAP_SCAN_DELEGATOR | 
|  | help | 
|  | This option enables support for Bluetooth Broadcast Sink Audio using | 
|  | Isochronous channels. | 
|  |  | 
|  | if BT_BAP_BROADCAST_SINK | 
|  |  | 
|  | config BT_BAP_BROADCAST_SNK_SUBGROUP_COUNT | 
|  | int "Basic Audio Profile Broadcast Sink subgroup count" | 
|  | default BT_BAP_BASS_MAX_SUBGROUPS | 
|  | range 1 BT_BAP_BASS_MAX_SUBGROUPS | 
|  | help | 
|  | This option sets the maximum number of subgroups per broadcast sink | 
|  | to support. | 
|  |  | 
|  | config BT_BAP_BROADCAST_SNK_COUNT | 
|  | int "Basic Audio Broadcaster Sink count" | 
|  | default 1 | 
|  | range 0 BT_ISO_MAX_BIG | 
|  | help | 
|  | This option sets the number of broadcast sinks to support. | 
|  | One broadcast sink can receive multiple streams | 
|  | (up to BT_BAP_BROADCAST_SNK_STREAM_COUNT per broadcast sink). | 
|  |  | 
|  | config BT_BAP_BROADCAST_SNK_STREAM_COUNT | 
|  | int "Basic Audio Broadcast Sink Stream count" | 
|  | depends on BT_BAP_BROADCAST_SNK_COUNT > 0 | 
|  | default 1 | 
|  | range 1 BT_ISO_MAX_CHAN if BT_ISO_MAX_CHAN < 31 | 
|  | range 1 31 | 
|  | help | 
|  | This option sets the maximum number of streams per broadcast sink | 
|  | to support. | 
|  |  | 
|  | endif # BT_BAP_BROADCAST_SINK | 
|  |  | 
|  | config BT_BAP_SCAN_DELEGATOR | 
|  | bool "Basic Audio Profile Scan Delegator role support" | 
|  | depends on BT_EXT_ADV | 
|  | depends on BT_PER_ADV_SYNC | 
|  | depends on BT_ISO_SYNC_RECEIVER | 
|  | depends on BT_OBSERVER | 
|  | depends on BT_GATT_DYNAMIC_DB | 
|  | depends on BT_BONDABLE | 
|  | help | 
|  | This option enables support for the Scan Delegator role and the | 
|  | Broadcast Audio Scan Service (BASS). | 
|  |  | 
|  | if BT_BAP_SCAN_DELEGATOR | 
|  |  | 
|  | config BT_BAP_SCAN_DELEGATOR_RECV_STATE_COUNT | 
|  | int "Scan Delegator Receive State Count" | 
|  | default 1 | 
|  | range 1 3 | 
|  | help | 
|  | Sets the number of receive state characteristics present on the | 
|  | server. Each characteristic may hold information to sync to a | 
|  | periodic advertise or a broadcast isochronous stream. | 
|  |  | 
|  | config BT_BAP_SCAN_DELEGATOR_BUF_TIMEOUT | 
|  | int "Milliseconds of timeout when handle concurrent access to the long read ASE buffer" | 
|  | range 0 1000 | 
|  | default 50 | 
|  | help | 
|  | The maximum number of milliseconds that the scan delegator implementation will wait | 
|  | before rejecting a read or dropping a notification if the scan delegator state is | 
|  | being accessed by another thread. | 
|  |  | 
|  | endif # BT_BAP_SCAN_DELEGATOR | 
|  |  | 
|  | config BT_BAP_BROADCAST_ASSISTANT | 
|  | bool "Basic Audio Profile Broadcast Assistant role support" | 
|  | depends on BT_EXT_ADV | 
|  | depends on BT_PER_ADV_SYNC | 
|  | depends on BT_ISO_SYNC_RECEIVER | 
|  | depends on BT_GATT_CLIENT | 
|  | depends on BT_GATT_AUTO_DISCOVER_CCC | 
|  | depends on BT_GATT_AUTO_UPDATE_MTU | 
|  | depends on BT_OBSERVER | 
|  | depends on BT_BONDABLE | 
|  | help | 
|  | This option enables support for the Broadcast Assistant role. | 
|  |  | 
|  | if BT_BAP_BROADCAST_ASSISTANT | 
|  |  | 
|  | config BT_BAP_BROADCAST_ASSISTANT_RECV_STATE_COUNT | 
|  | int "Broadcast Assistant Max Receive State Count" | 
|  | default 1 | 
|  | range 1 $(UINT8_MAX) | 
|  | help | 
|  | Sets the number of maximum receive stat characteristics that will be | 
|  | discovered and ready to use. Each characteristic may hold information | 
|  | to sync to a periodic advertise or a broadcast isochronous stream. | 
|  |  | 
|  | endif # BT_BAP_BROADCAST_ASSISTANT | 
|  |  | 
|  | config BT_BAP_DEBUG_STREAM_DATA | 
|  | bool "Bluetooth Audio Stream data debug" | 
|  | depends on BT_BAP_STREAM_LOG_LEVEL_DBG | 
|  | help | 
|  | Use this option to enable Bluetooth Audio Stream data debug logs for | 
|  | the Bluetooth Audio functionality. This will enable debug logs for all | 
|  | audio data received and sent. | 
|  |  | 
|  | config BT_BAP_STREAM | 
|  | # Virtual/hidden option | 
|  | bool | 
|  | default y if BT_ASCS || BT_BAP_UNICAST_CLIENT || \ | 
|  | BT_BAP_BROADCAST_SOURCE || BT_BAP_BROADCAST_SINK | 
|  |  | 
|  | config BT_BAP_DEBUG_STREAM_SEQ_NUM | 
|  | bool "Bluetooth Audio Stream sequence number debug" | 
|  | depends on BT_BAP_STREAM_LOG_LEVEL >= BT_BAP_STREAM_LOG_LEVEL_WRN | 
|  | default y | 
|  | help | 
|  | Use this option to enable Bluetooth Audio Stream sequence number debugging logs for | 
|  | the Bluetooth Audio functionality. This will provide a warning if the application | 
|  | provides unexpected sequence numbers. | 
|  |  | 
|  | config BT_BAP_BASE | 
|  | def_bool BT_BAP_BROADCAST_SINK || BT_BAP_BROADCAST_ASSISTANT || BT_BAP_SCAN_DELEGATOR | 
|  |  | 
|  | rsource "Kconfig.pacs" | 
|  | rsource "Kconfig.ascs" |