Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
1da177e4 LT |
2 | # |
3 | # Bluetooth subsystem configuration | |
4 | # | |
5 | ||
6 | menuconfig BT | |
1da177e4 | 7 | tristate "Bluetooth subsystem support" |
864e898b | 8 | depends on !S390 |
1a097181 | 9 | depends on RFKILL || !RFKILL |
f1e91e16 | 10 | select CRC16 |
daf4ce85 | 11 | select CRYPTO |
b95bba5d | 12 | select CRYPTO_SKCIPHER |
28a220aa AB |
13 | select CRYPTO_LIB_AES |
14 | imply CRYPTO_AES | |
407cecf6 | 15 | select CRYPTO_CMAC |
f1e91e16 | 16 | select CRYPTO_ECB |
5a349186 | 17 | select CRYPTO_SHA256 |
58771c1c | 18 | select CRYPTO_ECDH |
1da177e4 LT |
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 | |
d5baf620 | 24 | Bluetooth can be found at <https://www.bluetooth.com/>. |
1da177e4 LT |
25 | |
26 | Linux Bluetooth subsystem consist of several layers: | |
f1e91e16 UF |
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 | |
26afbd82 | 32 | ISO isochronous links |
1da177e4 | 33 | HCI Device drivers (Interface to the hardware) |
1da177e4 LT |
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 | |
a0019bca GP |
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/>. | |
1da177e4 | 46 | |
65efd2bf MH |
47 | config BT_BREDR |
48 | bool "Bluetooth Classic (BR/EDR) features" | |
49 | depends on BT | |
50 | default y | |
198ec9ae PM |
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. | |
97550887 | 56 | |
1da177e4 LT |
57 | source "net/bluetooth/rfcomm/Kconfig" |
58 | ||
59 | source "net/bluetooth/bnep/Kconfig" | |
60 | ||
61 | source "net/bluetooth/cmtp/Kconfig" | |
62 | ||
63 | source "net/bluetooth/hidp/Kconfig" | |
64 | ||
244bc377 AW |
65 | config BT_HS |
66 | bool "Bluetooth High Speed (HS) features" | |
67 | depends on BT_BREDR | |
198ec9ae PM |
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. | |
244bc377 | 72 | |
65efd2bf MH |
73 | config BT_LE |
74 | bool "Bluetooth Low Energy (LE) features" | |
75 | depends on BT | |
76 | default y | |
198ec9ae PM |
77 | help |
78 | Bluetooth Low Energy includes support low-energy physical | |
79 | layer available with Bluetooth version 4.0 or later. | |
65efd2bf | 80 | |
462fcd53 LAD |
81 | config BT_LE_L2CAP_ECRED |
82 | bool "Bluetooth L2CAP Enhanced Credit Flow Control" | |
83 | depends on BT_LE | |
84 | default y | |
85 | help | |
86 | Bluetooth Low Energy L2CAP Enhanced Credit Flow Control available with | |
87 | Bluetooth version 5.2 or later. | |
88 | ||
89 | This can be overridden by passing bluetooth.enable_ecred=[1|0] | |
90 | on the kernel commandline. | |
91 | ||
65efd2bf MH |
92 | config BT_6LOWPAN |
93 | tristate "Bluetooth 6LoWPAN support" | |
94 | depends on BT_LE && 6LOWPAN | |
95 | help | |
96 | IPv6 compression over Bluetooth Low Energy. | |
97 | ||
6d5d2ee6 HK |
98 | config BT_LEDS |
99 | bool "Enable LED triggers" | |
100 | depends on BT | |
101 | depends on LEDS_CLASS | |
102 | select LEDS_TRIGGERS | |
103 | help | |
104 | This option selects a few LED triggers for different | |
105 | Bluetooth events. | |
106 | ||
145373cb MC |
107 | config BT_MSFTEXT |
108 | bool "Enable Microsoft extensions" | |
109 | depends on BT | |
110 | help | |
111 | This options enables support for the Microsoft defined HCI | |
112 | vendor extensions. | |
113 | ||
f67743f9 MH |
114 | config BT_AOSPEXT |
115 | bool "Enable Android Open Source Project extensions" | |
116 | depends on BT | |
117 | help | |
118 | This options enables support for the Android Open Source | |
119 | Project defined HCI vendor extensions. | |
120 | ||
3d233604 MH |
121 | config BT_DEBUGFS |
122 | bool "Export Bluetooth internals in debugfs" | |
123 | depends on BT && DEBUG_FS | |
124 | default y | |
125 | help | |
126 | Provide extensive information about internal Bluetooth states | |
127 | in debugfs. | |
128 | ||
ee485290 MH |
129 | config BT_SELFTEST |
130 | bool "Bluetooth self testing support" | |
131 | depends on BT && DEBUG_KERNEL | |
132 | help | |
133 | Run self tests when initializing the Bluetooth subsystem. This | |
134 | is a developer option and can cause significant delay when booting | |
135 | the system. | |
136 | ||
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. | |
141 | ||
0b6415b6 JH |
142 | config BT_SELFTEST_ECDH |
143 | bool "ECDH test cases" | |
144 | depends on BT_LE && BT_SELFTEST | |
145 | help | |
146 | Run test cases for ECDH cryptographic functionality used by the | |
147 | Bluetooth Low Energy Secure Connections feature. | |
148 | ||
0a2b0f04 JH |
149 | config BT_SELFTEST_SMP |
150 | bool "SMP test cases" | |
151 | depends on BT_LE && BT_SELFTEST | |
152 | help | |
153 | Run test cases for SMP cryptographic functionality, including both | |
154 | legacy SMP as well as the Secure Connections features. | |
155 | ||
e625e50c MH |
156 | config BT_FEATURE_DEBUG |
157 | bool "Enable runtime option for debugging statements" | |
158 | depends on BT && !DYNAMIC_DEBUG | |
159 | help | |
160 | This provides an option to enable/disable debugging statements | |
161 | at runtime via the experimental features interface. | |
162 | ||
1da177e4 | 163 | source "drivers/bluetooth/Kconfig" |