blob: e0ab4cd7afc3de1e0431d7e488efb3b873febfd5 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#
3# Bluetooth subsystem configuration
4#
5
6menuconfig BT
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 tristate "Bluetooth subsystem support"
Masahiro Yamada864e8982021-01-26 08:20:26 +09008 depends on !S390
Marcel Holtmann1a097182009-06-14 15:21:25 +02009 depends on RFKILL || !RFKILL
Ulisses Furquimf1e91e12011-12-21 01:32:09 -020010 select CRC16
Randy Dunlapdaf4ce82011-06-22 10:08:11 -070011 select CRYPTO
Eric Biggersb95bba52019-10-25 12:41:13 -070012 select CRYPTO_SKCIPHER
Ard Biesheuvel28a220a2019-07-02 21:41:41 +020013 select CRYPTO_LIB_AES
14 imply CRYPTO_AES
Johan Hedberg407cecf2014-05-02 14:19:47 +030015 select CRYPTO_CMAC
Ulisses Furquimf1e91e12011-12-21 01:32:09 -020016 select CRYPTO_ECB
Andrei Emeltchenko5a349182012-09-27 17:26:18 +030017 select CRYPTO_SHA256
Salvatore Benedetto58771c1c2017-04-24 13:13:20 +010018 select CRYPTO_ECDH
Linus Torvalds1da177e2005-04-16 15:20:36 -070019 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
Alexander A. Klimovd5baf622020-07-08 15:36:38 +020024 Bluetooth can be found at <https://www.bluetooth.com/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -070025
26 Linux Bluetooth subsystem consist of several layers:
Ulisses Furquimf1e91e12011-12-21 01:32:09 -020027 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070032 HCI Device drivers (Interface to the hardware)
Linus Torvalds1da177e2005-04-16 15:20:36 -070033 RFCOMM Module (RFCOMM Protocol)
34 BNEP Module (Bluetooth Network Encapsulation Protocol)
35 CMTP Module (CAPI Message Transport Protocol)
36 HIDP Module (Human Interface Device Protocol)
37
38 Say Y here to compile Bluetooth support into the kernel or say M to
39 compile it as module (bluetooth).
40
41 To use Linux Bluetooth subsystem, you will need several user-space
Gustavo F. Padovana0019bc2011-02-07 19:15:43 -020042 utilities like hciconfig and bluetoothd. These utilities and updates
43 to Bluetooth kernel modules are provided in the BlueZ packages. For
44 more information, see <http://www.bluez.org/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -070045
Marcel Holtmann65efd2b2014-11-02 03:32:25 +010046config BT_BREDR
47 bool "Bluetooth Classic (BR/EDR) features"
48 depends on BT
49 default y
Pavel Machek198ec9a2017-08-08 15:48:40 +020050 help
51 Bluetooth Classic includes support for Basic Rate (BR)
52 available with Bluetooth version 1.0b or later and support
53 for Enhanced Data Rate (EDR) available with Bluetooth
54 version 2.0 or later.
Alexander Aring97550882014-03-04 10:23:02 +010055
Linus Torvalds1da177e2005-04-16 15:20:36 -070056source "net/bluetooth/rfcomm/Kconfig"
57
58source "net/bluetooth/bnep/Kconfig"
59
60source "net/bluetooth/cmtp/Kconfig"
61
62source "net/bluetooth/hidp/Kconfig"
63
Arron Wang244bc372015-07-24 17:12:55 +080064config BT_HS
65 bool "Bluetooth High Speed (HS) features"
66 depends on BT_BREDR
Pavel Machek198ec9a2017-08-08 15:48:40 +020067 help
68 Bluetooth High Speed includes support for off-loading
69 Bluetooth connections via 802.11 (wifi) physical layer
70 available with Bluetooth version 3.0 or later.
Arron Wang244bc372015-07-24 17:12:55 +080071
Marcel Holtmann65efd2b2014-11-02 03:32:25 +010072config BT_LE
73 bool "Bluetooth Low Energy (LE) features"
74 depends on BT
75 default y
Pavel Machek198ec9a2017-08-08 15:48:40 +020076 help
77 Bluetooth Low Energy includes support low-energy physical
78 layer available with Bluetooth version 4.0 or later.
Marcel Holtmann65efd2b2014-11-02 03:32:25 +010079
80config BT_6LOWPAN
81 tristate "Bluetooth 6LoWPAN support"
82 depends on BT_LE && 6LOWPAN
83 help
84 IPv6 compression over Bluetooth Low Energy.
85
Heiner Kallweit6d5d2ee2016-01-08 19:28:58 +010086config BT_LEDS
87 bool "Enable LED triggers"
88 depends on BT
89 depends on LEDS_CLASS
90 select LEDS_TRIGGERS
91 help
92 This option selects a few LED triggers for different
93 Bluetooth events.
94
Miao-chen Chou145373c2020-04-03 21:44:01 +020095config BT_MSFTEXT
96 bool "Enable Microsoft extensions"
97 depends on BT
98 help
99 This options enables support for the Microsoft defined HCI
100 vendor extensions.
101
Marcel Holtmannf67743f2021-04-06 21:55:52 +0200102config BT_AOSPEXT
103 bool "Enable Android Open Source Project extensions"
104 depends on BT
105 help
106 This options enables support for the Android Open Source
107 Project defined HCI vendor extensions.
108
Marcel Holtmann3d2336042020-04-03 21:44:00 +0200109config BT_DEBUGFS
110 bool "Export Bluetooth internals in debugfs"
111 depends on BT && DEBUG_FS
112 default y
113 help
114 Provide extensive information about internal Bluetooth states
115 in debugfs.
116
Marcel Holtmannee485292014-12-29 20:48:35 -0800117config BT_SELFTEST
118 bool "Bluetooth self testing support"
119 depends on BT && DEBUG_KERNEL
120 help
121 Run self tests when initializing the Bluetooth subsystem. This
122 is a developer option and can cause significant delay when booting
123 the system.
124
125 When the Bluetooth subsystem is built as module, then the test
126 cases are run first thing at module load time. When the Bluetooth
127 subsystem is compiled into the kernel image, then the test cases
128 are run late in the initcall hierarchy.
129
Johan Hedberg0b6415b2014-12-29 20:48:36 -0800130config BT_SELFTEST_ECDH
131 bool "ECDH test cases"
132 depends on BT_LE && BT_SELFTEST
133 help
134 Run test cases for ECDH cryptographic functionality used by the
135 Bluetooth Low Energy Secure Connections feature.
136
Johan Hedberg0a2b0f02014-12-30 09:50:39 +0200137config BT_SELFTEST_SMP
138 bool "SMP test cases"
139 depends on BT_LE && BT_SELFTEST
140 help
141 Run test cases for SMP cryptographic functionality, including both
142 legacy SMP as well as the Secure Connections features.
143
Marcel Holtmanne625e502020-05-06 09:57:52 +0200144config BT_FEATURE_DEBUG
145 bool "Enable runtime option for debugging statements"
146 depends on BT && !DYNAMIC_DEBUG
147 help
148 This provides an option to enable/disable debugging statements
149 at runtime via the experimental features interface.
150
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151source "drivers/bluetooth/Kconfig"