projects/linux·blob master · refs

148 lines · 4.4 KiB

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_LIB_AES
13 select CRYPTO_LIB_AES_CBC_MACS
14 select CRYPTO_ECDH
15 help
16 Bluetooth is low-cost, low-power, short-range wireless technology.
17 It was designed as a replacement for cables and other short-range
18 technologies like IrDA. Bluetooth operates in personal area range
19 that typically extends up to 10 meters. More information about
20 Bluetooth can be found at <https://www.bluetooth.com/>.
21
22 Linux Bluetooth subsystem consist of several layers:
23 Bluetooth Core
24 HCI device and connection manager, scheduler
25 SCO audio links
26 L2CAP (Logical Link Control and Adaptation Protocol)
27 SMP (Security Manager Protocol) on LE (Low Energy) links
28 ISO isochronous links
29 HCI Device drivers (Interface to the hardware)
30 RFCOMM Module (RFCOMM Protocol)
31 BNEP Module (Bluetooth Network Encapsulation Protocol)
32 HIDP Module (Human Interface Device Protocol)
33
34 Say Y here to compile Bluetooth support into the kernel or say M to
35 compile it as module (bluetooth).
36
37 To use Linux Bluetooth subsystem, you will need several user-space
38 utilities like hciconfig and bluetoothd. These utilities and updates
39 to Bluetooth kernel modules are provided in the BlueZ packages. For
40 more information, see <http://www.bluez.org/>.
41
42config BT_BREDR
43 bool "Bluetooth Classic (BR/EDR) features"
44 depends on BT
45 default y
46 help
47 Bluetooth Classic includes support for Basic Rate (BR)
48 available with Bluetooth version 1.0b or later and support
49 for Enhanced Data Rate (EDR) available with Bluetooth
50 version 2.0 or later.
51
52source "net/bluetooth/rfcomm/Kconfig"
53
54source "net/bluetooth/bnep/Kconfig"
55
56source "net/bluetooth/hidp/Kconfig"
57
58config BT_LE
59 bool "Bluetooth Low Energy (LE) features"
60 depends on BT
61 default y
62 help
63 Bluetooth Low Energy includes support low-energy physical
64 layer available with Bluetooth version 4.0 or later.
65
66config BT_LE_L2CAP_ECRED
67 bool "Bluetooth L2CAP Enhanced Credit Flow Control"
68 depends on BT_LE
69 default y
70 help
71 Bluetooth Low Energy L2CAP Enhanced Credit Flow Control available with
72 Bluetooth version 5.2 or later.
73
74 This can be overridden by passing bluetooth.enable_ecred=[1|0]
75 on the kernel commandline.
76
77config BT_6LOWPAN
78 tristate "Bluetooth 6LoWPAN support"
79 depends on BT && BT_LE && 6LOWPAN
80 help
81 IPv6 compression over Bluetooth Low Energy.
82
83config BT_LEDS
84 bool "Enable LED triggers"
85 depends on BT
86 depends on LEDS_CLASS
87 select LEDS_TRIGGERS
88 help
89 This option selects a few LED triggers for different
90 Bluetooth events.
91
92config BT_MSFTEXT
93 bool "Enable Microsoft extensions"
94 depends on BT
95 help
96 This options enables support for the Microsoft defined HCI
97 vendor extensions.
98
99config BT_AOSPEXT
100 bool "Enable Android Open Source Project extensions"
101 depends on BT
102 help
103 This options enables support for the Android Open Source
104 Project defined HCI vendor extensions.
105
106config BT_DEBUGFS
107 bool "Export Bluetooth internals in debugfs"
108 depends on BT && DEBUG_FS
109 default y
110 help
111 Provide extensive information about internal Bluetooth states
112 in debugfs.
113
114config BT_SELFTEST
115 bool "Bluetooth self testing support"
116 depends on BT && DEBUG_KERNEL
117 help
118 Run self tests when initializing the Bluetooth subsystem. This
119 is a developer option and can cause significant delay when booting
120 the system.
121
122 When the Bluetooth subsystem is built as module, then the test
123 cases are run first thing at module load time. When the Bluetooth
124 subsystem is compiled into the kernel image, then the test cases
125 are run late in the initcall hierarchy.
126
127config BT_SELFTEST_ECDH
128 bool "ECDH test cases"
129 depends on BT_LE && BT_SELFTEST
130 help
131 Run test cases for ECDH cryptographic functionality used by the
132 Bluetooth Low Energy Secure Connections feature.
133
134config BT_SELFTEST_SMP
135 bool "SMP test cases"
136 depends on BT_LE && BT_SELFTEST
137 help
138 Run test cases for SMP cryptographic functionality, including both
139 legacy SMP as well as the Secure Connections features.
140
141config BT_FEATURE_DEBUG
142 bool "Enable runtime option for debugging statements"
143 depends on BT && !DYNAMIC_DEBUG
144 help
145 This provides an option to enable/disable debugging statements
146 at runtime via the experimental features interface.
147
148source "drivers/bluetooth/Kconfig"