Loading...
1#
2# Bluetooth subsystem configuration
3#
4
5menuconfig BT
6 tristate "Bluetooth subsystem support"
7 depends on NET && !S390
8 depends on RFKILL || !RFKILL
9 select CRC16
10 select CRYPTO
11 select CRYPTO_BLKCIPHER
12 select CRYPTO_AES
13 select CRYPTO_CMAC
14 select CRYPTO_ECB
15 select CRYPTO_SHA256
16 help
17 Bluetooth is low-cost, low-power, short-range wireless technology.
18 It was designed as a replacement for cables and other short-range
19 technologies like IrDA. Bluetooth operates in personal area range
20 that typically extends up to 10 meters. More information about
21 Bluetooth can be found at <http://www.bluetooth.com/>.
22
23 Linux Bluetooth subsystem consist of several layers:
24 Bluetooth Core
25 HCI device and connection manager, scheduler
26 SCO audio links
27 L2CAP (Logical Link Control and Adaptation Protocol)
28 SMP (Security Manager Protocol) on LE (Low Energy) links
29 HCI Device drivers (Interface to the hardware)
30 RFCOMM Module (RFCOMM Protocol)
31 BNEP Module (Bluetooth Network Encapsulation Protocol)
32 CMTP Module (CAPI Message Transport Protocol)
33 HIDP Module (Human Interface Device Protocol)
34
35 Say Y here to compile Bluetooth support into the kernel or say M to
36 compile it as module (bluetooth).
37
38 To use Linux Bluetooth subsystem, you will need several user-space
39 utilities like hciconfig and bluetoothd. These utilities and updates
40 to Bluetooth kernel modules are provided in the BlueZ packages. For
41 more information, see <http://www.bluez.org/>.
42
43config BT_BREDR
44 bool "Bluetooth Classic (BR/EDR) features"
45 depends on BT
46 default y
47
48source "net/bluetooth/rfcomm/Kconfig"
49
50source "net/bluetooth/bnep/Kconfig"
51
52source "net/bluetooth/cmtp/Kconfig"
53
54source "net/bluetooth/hidp/Kconfig"
55
56config BT_HS
57 bool "Bluetooth High Speed (HS) features"
58 depends on BT_BREDR
59 default y
60
61config BT_LE
62 bool "Bluetooth Low Energy (LE) features"
63 depends on BT
64 default y
65
66config BT_6LOWPAN
67 tristate "Bluetooth 6LoWPAN support"
68 depends on BT_LE && 6LOWPAN
69 help
70 IPv6 compression over Bluetooth Low Energy.
71
72config BT_LEDS
73 bool "Enable LED triggers"
74 depends on BT
75 depends on LEDS_CLASS
76 select LEDS_TRIGGERS
77 help
78 This option selects a few LED triggers for different
79 Bluetooth events.
80
81config BT_SELFTEST
82 bool "Bluetooth self testing support"
83 depends on BT && DEBUG_KERNEL
84 help
85 Run self tests when initializing the Bluetooth subsystem. This
86 is a developer option and can cause significant delay when booting
87 the system.
88
89 When the Bluetooth subsystem is built as module, then the test
90 cases are run first thing at module load time. When the Bluetooth
91 subsystem is compiled into the kernel image, then the test cases
92 are run late in the initcall hierarchy.
93
94config BT_SELFTEST_ECDH
95 bool "ECDH test cases"
96 depends on BT_LE && BT_SELFTEST
97 help
98 Run test cases for ECDH cryptographic functionality used by the
99 Bluetooth Low Energy Secure Connections feature.
100
101config BT_SELFTEST_SMP
102 bool "SMP test cases"
103 depends on BT_LE && BT_SELFTEST
104 help
105 Run test cases for SMP cryptographic functionality, including both
106 legacy SMP as well as the Secure Connections features.
107
108config BT_DEBUGFS
109 bool "Export Bluetooth internals in debugfs"
110 depends on BT && DEBUG_FS
111 default y
112 help
113 Provide extensive information about internal Bluetooth states
114 in debugfs.
115
116source "drivers/bluetooth/Kconfig"
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_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
92config BT_6LOWPAN
93 tristate "Bluetooth 6LoWPAN support"
94 depends on BT_LE && 6LOWPAN
95 help
96 IPv6 compression over Bluetooth Low Energy.
97
98config 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
107config 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
114config 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
121config 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
129config 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
142config 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
149config 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
156config 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
163source "drivers/bluetooth/Kconfig"