# Bluetooth Audio configuration options

#
# Copyright (c) 2020 Intel Corporation
# Copyright (c) 2022 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig BT_AUDIO
	bool "Bluetooth Audio support [EXPERIMENTAL]"
	select EXPERIMENTAL
	help
	  This option enables Bluetooth Audio support. The specific
	  features that are available may depend on other features
	  that have been enabled in the stack, such as Periodic
	  Advertisement for Broadcast and L2CAP Dynamic Channel
	  for Unicast.

if BT_AUDIO

config BT_CCID
	bool
	help
	  This hidden option is enabled when any of the content control
	  features are enabled.

rsource "Kconfig.baps"
rsource "Kconfig.vocs"
rsource "Kconfig.aics"
rsource "Kconfig.vcs"
rsource "Kconfig.micp"
rsource "Kconfig.csip"
rsource "Kconfig.tbs"
rsource "Kconfig.mcs"
rsource "Kconfig.bass"
rsource "Kconfig.has"
rsource "Kconfig.mpl"
rsource "Kconfig.mctl"
rsource "Kconfig.cap"

endif # BT_AUDIO
