Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Bluetooth subsystem configuration
4#
5
6menuconfig BT
7 tristate "Bluetooth subsystem support"
8 depends on !S390
9 depends on RFKILL || !RFKILL
10 select CRC16
11 select CRYPTO
12 select CRYPTO_SKCIPHER
13 select CRYPTO_LIB_AES
14 imply CRYPTO_AES
15 select CRYPTO_CMAC
16 select CRYPTO_ECB
17 select CRYPTO_SHA256
18 select CRYPTO_ECDH
19 help
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/>.
25
26 Linux Bluetooth subsystem consist of several layers:
27 Bluetooth Core
28 HCI device and connection manager, scheduler
29 SCO audio links
30 L2CAP (Logical Link Control and Adaptation Protocol)
31 SMP (Security Manager Protocol) on LE (Low Energy) links
32 ISO isochronous 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)
38
39 Say Y here to compile Bluetooth support into the kernel or say M to
40 compile it as module (bluetooth).
41
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/>.
46
47config BT_BREDR
48 bool "Bluetooth Classic (BR/EDR) features"
49 depends on BT
50 default y
51 help
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
55 version 2.0 or later.
56
57source "net/bluetooth/rfcomm/Kconfig"
58
59source "net/bluetooth/bnep/Kconfig"
60
61source "net/bluetooth/cmtp/Kconfig"
62
63source "net/bluetooth/hidp/Kconfig"
64
65config BT_HS
66 bool "Bluetooth High Speed (HS) features"
67 depends on BT_BREDR
68 help
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.
72
73config BT_LE
74 bool "Bluetooth Low Energy (LE) features"
75 depends on BT
76 default y
77 help
78 Bluetooth Low Energy includes support low-energy physical
79 layer available with Bluetooth version 4.0 or later.
80
81config BT_6LOWPAN
82 tristate "Bluetooth 6LoWPAN support"
83 depends on BT_LE && 6LOWPAN
84 help
85 IPv6 compression over Bluetooth Low Energy.
86
87config BT_LEDS
88 bool "Enable LED triggers"
89 depends on BT
90 depends on LEDS_CLASS
91 select LEDS_TRIGGERS
92 help
93 This option selects a few LED triggers for different
94 Bluetooth events.
95
96config BT_MSFTEXT
97 bool "Enable Microsoft extensions"
98 depends on BT
99 help
100 This options enables support for the Microsoft defined HCI
101 vendor extensions.
102
103config BT_AOSPEXT
104 bool "Enable Android Open Source Project extensions"
105 depends on BT
106 help
107 This options enables support for the Android Open Source
108 Project defined HCI vendor extensions.
109
110config BT_DEBUGFS
111 bool "Export Bluetooth internals in debugfs"
112 depends on BT && DEBUG_FS
113 default y
114 help
115 Provide extensive information about internal Bluetooth states
116 in debugfs.
117
118config BT_SELFTEST
119 bool "Bluetooth self testing support"
120 depends on BT && DEBUG_KERNEL
121 help
122 Run self tests when initializing the Bluetooth subsystem. This
123 is a developer option and can cause significant delay when booting
124 the system.
125
126 When the Bluetooth subsystem is built as module, then the test
127 cases are run first thing at module load time. When the Bluetooth
128 subsystem is compiled into the kernel image, then the test cases
129 are run late in the initcall hierarchy.
130
131config BT_SELFTEST_ECDH
132 bool "ECDH test cases"
133 depends on BT_LE && BT_SELFTEST
134 help
135 Run test cases for ECDH cryptographic functionality used by the
136 Bluetooth Low Energy Secure Connections feature.
137
138config BT_SELFTEST_SMP
139 bool "SMP test cases"
140 depends on BT_LE && BT_SELFTEST
141 help
142 Run test cases for SMP cryptographic functionality, including both
143 legacy SMP as well as the Secure Connections features.
144
145config BT_FEATURE_DEBUG
146 bool "Enable runtime option for debugging statements"
147 depends on BT && !DYNAMIC_DEBUG
148 help
149 This provides an option to enable/disable debugging statements
150 at runtime via the experimental features interface.
151
152source "drivers/bluetooth/Kconfig"