# SPDX-License-Identifier: GPL-2.0-only
#
# Bluetooth subsystem configuration
#
menuconfig [31mCONFIG_BT[0m
tristate "Bluetooth subsystem support"
depends on [31mCONFIG_NET[0m && ![31mCONFIG_S390[0m
depends on [31mCONFIG_RFKILL[0m || ![31mCONFIG_RFKILL[0m
select [31mCONFIG_CRC16[0m
select [31mCONFIG_CRYPTO[0m
select [31mCONFIG_CRYPTO_BLKCIPHER[0m
select [31mCONFIG_CRYPTO_LIB_AES[0m
imply [31mCONFIG_CRYPTO_AES[0m
select [31mCONFIG_CRYPTO_CMAC[0m
select [31mCONFIG_CRYPTO_ECB[0m
select [31mCONFIG_CRYPTO_SHA256[0m
select [31mCONFIG_CRYPTO_ECDH[0m
help
Bluetooth is low-cost, low-power, short-range wireless technology.
It was designed as a replacement for cables and other short-range
technologies like IrDA. Bluetooth operates in personal area range
that typically extends up to 10 meters. More information about
Bluetooth can be found at <http://www.bluetooth.com/>.
Linux Bluetooth subsystem consist of several layers:
Bluetooth Core
HCI device and connection manager, scheduler
SCO audio links
L2CAP (Logical Link Control and Adaptation Protocol)
[31mCONFIG_SMP[0m (Security Manager Protocol) on LE (Low Energy) links
HCI Device drivers (Interface to the hardware)
RFCOMM Module (RFCOMM Protocol)
BNEP Module (Bluetooth Network Encapsulation Protocol)
CMTP Module (CAPI Message Transport Protocol)
HIDP Module (Human Interface Device Protocol)
Say Y here to compile Bluetooth support into the kernel or say [31mCONFIG_M[0m to
compile it as module (bluetooth).
To use Linux Bluetooth subsystem, you will need several user-space
utilities like hciconfig and bluetoothd. These utilities and updates
to Bluetooth kernel modules are provided in the BlueZ packages. For
more information, see <http://www.bluez.org/>.
config [31mCONFIG_BT_BREDR[0m
bool "Bluetooth Classic (BR/EDR) features"
depends on [31mCONFIG_BT[0m
default y
help
Bluetooth Classic includes support for Basic Rate (BR)
available with Bluetooth version 1.0b or later and support
for Enhanced Data Rate (EDR) available with Bluetooth
version 2.0 or later.
source "net/bluetooth/rfcomm/Kconfig"
source "net/bluetooth/bnep/Kconfig"
source "net/bluetooth/cmtp/Kconfig"
source "net/bluetooth/hidp/Kconfig"
config [31mCONFIG_BT_HS[0m
bool "Bluetooth High Speed (HS) features"
depends on [31mCONFIG_BT_BREDR[0m
default y
help
Bluetooth High Speed includes support for off-loading
Bluetooth connections via 802.11 (wifi) physical layer
available with Bluetooth version 3.0 or later.
config [31mCONFIG_BT_LE[0m
bool "Bluetooth Low Energy (LE) features"
depends on [31mCONFIG_BT[0m
default y
help
Bluetooth Low Energy includes support low-energy physical
layer available with Bluetooth version 4.0 or later.
config [31mCONFIG_BT_6LOWPAN[0m
tristate "Bluetooth 6LoWPAN support"
depends on [31mCONFIG_BT_LE[0m && [31mCONFIG_6LOWPAN[0m
help
IPv6 compression over Bluetooth Low Energy.
config [31mCONFIG_BT_LEDS[0m
bool "Enable LED triggers"
depends on [31mCONFIG_BT[0m
depends on [31mCONFIG_LEDS_CLASS[0m
select [31mCONFIG_LEDS_TRIGGERS[0m
help
This option selects a few LED triggers for different
Bluetooth events.
config [31mCONFIG_BT_SELFTEST[0m
bool "Bluetooth self testing support"
depends on [31mCONFIG_BT[0m && [31mCONFIG_DEBUG_KERNEL[0m
help
Run self tests when initializing the Bluetooth subsystem. This
is a developer option and can cause significant delay when booting
the system.
When the Bluetooth subsystem is built as module, then the test
cases are run first thing at module load time. When the Bluetooth
subsystem is compiled into the kernel image, then the test cases
are run late in the initcall hierarchy.
config [31mCONFIG_BT_SELFTEST_ECDH[0m
bool "ECDH test cases"
depends on [31mCONFIG_BT_LE[0m && [31mCONFIG_BT_SELFTEST[0m
help
Run test cases for ECDH cryptographic functionality used by the
Bluetooth Low Energy Secure Connections feature.
config [31mCONFIG_BT_SELFTEST_SMP[0m
bool "SMP test cases"
depends on [31mCONFIG_BT_LE[0m && [31mCONFIG_BT_SELFTEST[0m
help
Run test cases for [31mCONFIG_SMP[0m cryptographic functionality, including both
legacy [31mCONFIG_SMP[0m as well as the Secure Connections features.
config [31mCONFIG_BT_DEBUGFS[0m
bool "Export Bluetooth internals in debugfs"
depends on [31mCONFIG_BT[0m && [31mCONFIG_DEBUG_FS[0m
default y
help
Provide extensive information about internal Bluetooth states
in debugfs.
source "drivers/bluetooth/Kconfig"