1 # SPDX-License-Identifier: GPL-2.0-only
3 # Bluetooth subsystem configuration
7 tristate "Bluetooth subsystem support"
8 depends on NET && !S390
9 depends on RFKILL || !RFKILL
12 select CRYPTO_BLKCIPHER
19 Bluetooth is low-cost, low-power, short-range wireless technology.
20 It was designed as a replacement for cables and other short-range
21 technologies like IrDA. Bluetooth operates in personal area range
22 that typically extends up to 10 meters. More information about
23 Bluetooth can be found at <http://www.bluetooth.com/>.
25 Linux Bluetooth subsystem consist of several layers:
27 HCI device and connection manager, scheduler
29 L2CAP (Logical Link Control and Adaptation Protocol)
30 SMP (Security Manager Protocol) on LE (Low Energy) links
31 HCI Device drivers (Interface to the hardware)
32 RFCOMM Module (RFCOMM Protocol)
33 BNEP Module (Bluetooth Network Encapsulation Protocol)
34 CMTP Module (CAPI Message Transport Protocol)
35 HIDP Module (Human Interface Device Protocol)
37 Say Y here to compile Bluetooth support into the kernel or say M to
38 compile it as module (bluetooth).
40 To use Linux Bluetooth subsystem, you will need several user-space
41 utilities like hciconfig and bluetoothd. These utilities and updates
42 to Bluetooth kernel modules are provided in the BlueZ packages. For
43 more information, see <http://www.bluez.org/>.
46 bool "Bluetooth Classic (BR/EDR) features"
50 Bluetooth Classic includes support for Basic Rate (BR)
51 available with Bluetooth version 1.0b or later and support
52 for Enhanced Data Rate (EDR) available with Bluetooth
55 source "net/bluetooth/rfcomm/Kconfig"
57 source "net/bluetooth/bnep/Kconfig"
59 source "net/bluetooth/cmtp/Kconfig"
61 source "net/bluetooth/hidp/Kconfig"
64 bool "Bluetooth High Speed (HS) features"
68 Bluetooth High Speed includes support for off-loading
69 Bluetooth connections via 802.11 (wifi) physical layer
70 available with Bluetooth version 3.0 or later.
73 bool "Bluetooth Low Energy (LE) features"
77 Bluetooth Low Energy includes support low-energy physical
78 layer available with Bluetooth version 4.0 or later.
81 tristate "Bluetooth 6LoWPAN support"
82 depends on BT_LE && 6LOWPAN
84 IPv6 compression over Bluetooth Low Energy.
87 bool "Enable LED triggers"
92 This option selects a few LED triggers for different
96 bool "Bluetooth self testing support"
97 depends on BT && DEBUG_KERNEL
99 Run self tests when initializing the Bluetooth subsystem. This
100 is a developer option and can cause significant delay when booting
103 When the Bluetooth subsystem is built as module, then the test
104 cases are run first thing at module load time. When the Bluetooth
105 subsystem is compiled into the kernel image, then the test cases
106 are run late in the initcall hierarchy.
108 config BT_SELFTEST_ECDH
109 bool "ECDH test cases"
110 depends on BT_LE && BT_SELFTEST
112 Run test cases for ECDH cryptographic functionality used by the
113 Bluetooth Low Energy Secure Connections feature.
115 config BT_SELFTEST_SMP
116 bool "SMP test cases"
117 depends on BT_LE && BT_SELFTEST
119 Run test cases for SMP cryptographic functionality, including both
120 legacy SMP as well as the Secure Connections features.
123 bool "Export Bluetooth internals in debugfs"
124 depends on BT && DEBUG_FS
127 Provide extensive information about internal Bluetooth states
130 source "drivers/bluetooth/Kconfig"