1 # SPDX-License-Identifier: GPL-2.0-only
3 # Bluetooth subsystem configuration
7 tristate "Bluetooth subsystem support"
9 depends on RFKILL || !RFKILL
12 select CRYPTO_SKCIPHER
20 Bluetooth is low-cost, low-power, short-range wireless technology.
21 It was designed as a replacement for cables and other short-range
22 technologies like IrDA. Bluetooth operates in personal area range
23 that typically extends up to 10 meters. More information about
24 Bluetooth can be found at <https://www.bluetooth.com/>.
26 Linux Bluetooth subsystem consist of several layers:
28 HCI device and connection manager, scheduler
30 L2CAP (Logical Link Control and Adaptation Protocol)
31 SMP (Security Manager Protocol) on LE (Low Energy) links
33 HCI Device drivers (Interface to the hardware)
34 RFCOMM Module (RFCOMM Protocol)
35 BNEP Module (Bluetooth Network Encapsulation Protocol)
36 CMTP Module (CAPI Message Transport Protocol)
37 HIDP Module (Human Interface Device Protocol)
39 Say Y here to compile Bluetooth support into the kernel or say M to
40 compile it as module (bluetooth).
42 To use Linux Bluetooth subsystem, you will need several user-space
43 utilities like hciconfig and bluetoothd. These utilities and updates
44 to Bluetooth kernel modules are provided in the BlueZ packages. For
45 more information, see <http://www.bluez.org/>.
48 bool "Bluetooth Classic (BR/EDR) features"
52 Bluetooth Classic includes support for Basic Rate (BR)
53 available with Bluetooth version 1.0b or later and support
54 for Enhanced Data Rate (EDR) available with Bluetooth
57 source "net/bluetooth/rfcomm/Kconfig"
59 source "net/bluetooth/bnep/Kconfig"
61 source "net/bluetooth/cmtp/Kconfig"
63 source "net/bluetooth/hidp/Kconfig"
66 bool "Bluetooth High Speed (HS) features"
69 Bluetooth High Speed includes support for off-loading
70 Bluetooth connections via 802.11 (wifi) physical layer
71 available with Bluetooth version 3.0 or later.
74 bool "Bluetooth Low Energy (LE) features"
78 Bluetooth Low Energy includes support low-energy physical
79 layer available with Bluetooth version 4.0 or later.
81 config BT_LE_L2CAP_ECRED
82 bool "Bluetooth L2CAP Enhanced Credit Flow Control"
86 Bluetooth Low Energy L2CAP Enhanced Credit Flow Control available with
87 Bluetooth version 5.2 or later.
89 This can be overridden by passing bluetooth.enable_ecred=[1|0]
90 on the kernel commandline.
93 tristate "Bluetooth 6LoWPAN support"
94 depends on BT_LE && 6LOWPAN
96 IPv6 compression over Bluetooth Low Energy.
99 bool "Enable LED triggers"
101 depends on LEDS_CLASS
104 This option selects a few LED triggers for different
108 bool "Enable Microsoft extensions"
111 This options enables support for the Microsoft defined HCI
115 bool "Enable Android Open Source Project extensions"
118 This options enables support for the Android Open Source
119 Project defined HCI vendor extensions.
122 bool "Export Bluetooth internals in debugfs"
123 depends on BT && DEBUG_FS
126 Provide extensive information about internal Bluetooth states
130 bool "Bluetooth self testing support"
131 depends on BT && DEBUG_KERNEL
133 Run self tests when initializing the Bluetooth subsystem. This
134 is a developer option and can cause significant delay when booting
137 When the Bluetooth subsystem is built as module, then the test
138 cases are run first thing at module load time. When the Bluetooth
139 subsystem is compiled into the kernel image, then the test cases
140 are run late in the initcall hierarchy.
142 config BT_SELFTEST_ECDH
143 bool "ECDH test cases"
144 depends on BT_LE && BT_SELFTEST
146 Run test cases for ECDH cryptographic functionality used by the
147 Bluetooth Low Energy Secure Connections feature.
149 config BT_SELFTEST_SMP
150 bool "SMP test cases"
151 depends on BT_LE && BT_SELFTEST
153 Run test cases for SMP cryptographic functionality, including both
154 legacy SMP as well as the Secure Connections features.
156 config BT_FEATURE_DEBUG
157 bool "Enable runtime option for debugging statements"
158 depends on BT && !DYNAMIC_DEBUG
160 This provides an option to enable/disable debugging statements
161 at runtime via the experimental features interface.
163 source "drivers/bluetooth/Kconfig"