blob: db82a40875e8da3c9ad39881046d27bd8f0ee596 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
2# Bluetooth subsystem configuration
3#
4
5menuconfig BT
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 tristate "Bluetooth subsystem support"
Marcel Holtmann1a097182009-06-14 15:21:25 +02007 depends on NET && !S390
8 depends on RFKILL || !RFKILL
Ulisses Furquimf1e91e12011-12-21 01:32:09 -02009 select CRC16
Randy Dunlapdaf4ce82011-06-22 10:08:11 -070010 select CRYPTO
Ulisses Furquimf1e91e12011-12-21 01:32:09 -020011 select CRYPTO_BLKCIPHER
12 select CRYPTO_AES
Johan Hedberg407cecf2014-05-02 14:19:47 +030013 select CRYPTO_CMAC
Ulisses Furquimf1e91e12011-12-21 01:32:09 -020014 select CRYPTO_ECB
Andrei Emeltchenko5a349182012-09-27 17:26:18 +030015 select CRYPTO_SHA256
Salvatore Benedetto58771c1c2017-04-24 13:13:20 +010016 select CRYPTO_ECDH
Linus Torvalds1da177e2005-04-16 15:20:36 -070017 help
18 Bluetooth is low-cost, low-power, short-range wireless technology.
19 It was designed as a replacement for cables and other short-range
20 technologies like IrDA. Bluetooth operates in personal area range
21 that typically extends up to 10 meters. More information about
22 Bluetooth can be found at <http://www.bluetooth.com/>.
23
24 Linux Bluetooth subsystem consist of several layers:
Ulisses Furquimf1e91e12011-12-21 01:32:09 -020025 Bluetooth Core
26 HCI device and connection manager, scheduler
27 SCO audio links
28 L2CAP (Logical Link Control and Adaptation Protocol)
29 SMP (Security Manager Protocol) on LE (Low Energy) links
Linus Torvalds1da177e2005-04-16 15:20:36 -070030 HCI Device drivers (Interface to the hardware)
Linus Torvalds1da177e2005-04-16 15:20:36 -070031 RFCOMM Module (RFCOMM Protocol)
32 BNEP Module (Bluetooth Network Encapsulation Protocol)
33 CMTP Module (CAPI Message Transport Protocol)
34 HIDP Module (Human Interface Device Protocol)
35
36 Say Y here to compile Bluetooth support into the kernel or say M to
37 compile it as module (bluetooth).
38
39 To use Linux Bluetooth subsystem, you will need several user-space
Gustavo F. Padovana0019bc2011-02-07 19:15:43 -020040 utilities like hciconfig and bluetoothd. These utilities and updates
41 to Bluetooth kernel modules are provided in the BlueZ packages. For
42 more information, see <http://www.bluez.org/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -070043
Marcel Holtmann65efd2b2014-11-02 03:32:25 +010044config BT_BREDR
45 bool "Bluetooth Classic (BR/EDR) features"
46 depends on BT
47 default y
Pavel Machek198ec9a2017-08-08 15:48:40 +020048 help
49 Bluetooth Classic includes support for Basic Rate (BR)
50 available with Bluetooth version 1.0b or later and support
51 for Enhanced Data Rate (EDR) available with Bluetooth
52 version 2.0 or later.
Alexander Aring97550882014-03-04 10:23:02 +010053
Linus Torvalds1da177e2005-04-16 15:20:36 -070054source "net/bluetooth/rfcomm/Kconfig"
55
56source "net/bluetooth/bnep/Kconfig"
57
58source "net/bluetooth/cmtp/Kconfig"
59
60source "net/bluetooth/hidp/Kconfig"
61
Arron Wang244bc372015-07-24 17:12:55 +080062config BT_HS
63 bool "Bluetooth High Speed (HS) features"
64 depends on BT_BREDR
65 default y
Pavel Machek198ec9a2017-08-08 15:48:40 +020066 help
67 Bluetooth High Speed includes support for off-loading
68 Bluetooth connections via 802.11 (wifi) physical layer
69 available with Bluetooth version 3.0 or later.
Arron Wang244bc372015-07-24 17:12:55 +080070
Marcel Holtmann65efd2b2014-11-02 03:32:25 +010071config BT_LE
72 bool "Bluetooth Low Energy (LE) features"
73 depends on BT
74 default y
Pavel Machek198ec9a2017-08-08 15:48:40 +020075 help
76 Bluetooth Low Energy includes support low-energy physical
77 layer available with Bluetooth version 4.0 or later.
Marcel Holtmann65efd2b2014-11-02 03:32:25 +010078
79config BT_6LOWPAN
80 tristate "Bluetooth 6LoWPAN support"
81 depends on BT_LE && 6LOWPAN
82 help
83 IPv6 compression over Bluetooth Low Energy.
84
Heiner Kallweit6d5d2ee2016-01-08 19:28:58 +010085config BT_LEDS
86 bool "Enable LED triggers"
87 depends on BT
88 depends on LEDS_CLASS
89 select LEDS_TRIGGERS
90 help
91 This option selects a few LED triggers for different
92 Bluetooth events.
93
Marcel Holtmannee485292014-12-29 20:48:35 -080094config BT_SELFTEST
95 bool "Bluetooth self testing support"
96 depends on BT && DEBUG_KERNEL
97 help
98 Run self tests when initializing the Bluetooth subsystem. This
99 is a developer option and can cause significant delay when booting
100 the system.
101
102 When the Bluetooth subsystem is built as module, then the test
103 cases are run first thing at module load time. When the Bluetooth
104 subsystem is compiled into the kernel image, then the test cases
105 are run late in the initcall hierarchy.
106
Johan Hedberg0b6415b2014-12-29 20:48:36 -0800107config BT_SELFTEST_ECDH
108 bool "ECDH test cases"
109 depends on BT_LE && BT_SELFTEST
110 help
111 Run test cases for ECDH cryptographic functionality used by the
112 Bluetooth Low Energy Secure Connections feature.
113
Johan Hedberg0a2b0f02014-12-30 09:50:39 +0200114config BT_SELFTEST_SMP
115 bool "SMP test cases"
116 depends on BT_LE && BT_SELFTEST
117 help
118 Run test cases for SMP cryptographic functionality, including both
119 legacy SMP as well as the Secure Connections features.
120
Marcel Holtmann035a07d2015-02-14 13:40:06 -0800121config 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
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129source "drivers/bluetooth/Kconfig"