Loading...
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 NET && !S390
9 depends on RFKILL || !RFKILL
10 select CRC16
11 select CRYPTO
12 select CRYPTO_BLKCIPHER
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 <http://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 HCI Device drivers (Interface to the hardware)
33 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
42 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/>.
45
46config BT_BREDR
47 bool "Bluetooth Classic (BR/EDR) features"
48 depends on BT
49 default y
50 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.
55
56source "net/bluetooth/rfcomm/Kconfig"
57
58source "net/bluetooth/bnep/Kconfig"
59
60source "net/bluetooth/cmtp/Kconfig"
61
62source "net/bluetooth/hidp/Kconfig"
63
64config BT_HS
65 bool "Bluetooth High Speed (HS) features"
66 depends on BT_BREDR
67 default y
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_6LOWPAN
82 tristate "Bluetooth 6LoWPAN support"
83 depends on BT_LE && 6LOWPAN
84 help
85 IPv6 compression over Bluetooth Low Energy.
86
87config BT_LEDS
88 bool "Enable LED triggers"
89 depends on BT
90 depends on LEDS_CLASS
91 select LEDS_TRIGGERS
92 help
93 This option selects a few LED triggers for different
94 Bluetooth events.
95
96config BT_SELFTEST
97 bool "Bluetooth self testing support"
98 depends on BT && DEBUG_KERNEL
99 help
100 Run self tests when initializing the Bluetooth subsystem. This
101 is a developer option and can cause significant delay when booting
102 the system.
103
104 When the Bluetooth subsystem is built as module, then the test
105 cases are run first thing at module load time. When the Bluetooth
106 subsystem is compiled into the kernel image, then the test cases
107 are run late in the initcall hierarchy.
108
109config BT_SELFTEST_ECDH
110 bool "ECDH test cases"
111 depends on BT_LE && BT_SELFTEST
112 help
113 Run test cases for ECDH cryptographic functionality used by the
114 Bluetooth Low Energy Secure Connections feature.
115
116config BT_SELFTEST_SMP
117 bool "SMP test cases"
118 depends on BT_LE && BT_SELFTEST
119 help
120 Run test cases for SMP cryptographic functionality, including both
121 legacy SMP as well as the Secure Connections features.
122
123config BT_DEBUGFS
124 bool "Export Bluetooth internals in debugfs"
125 depends on BT && DEBUG_FS
126 default y
127 help
128 Provide extensive information about internal Bluetooth states
129 in debugfs.
130
131source "drivers/bluetooth/Kconfig"
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 select CRYPTO_ECDH
17 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:
25 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
30 HCI Device drivers (Interface to the hardware)
31 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
40 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/>.
43
44config BT_BREDR
45 bool "Bluetooth Classic (BR/EDR) features"
46 depends on BT
47 default y
48 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.
53
54source "net/bluetooth/rfcomm/Kconfig"
55
56source "net/bluetooth/bnep/Kconfig"
57
58source "net/bluetooth/cmtp/Kconfig"
59
60source "net/bluetooth/hidp/Kconfig"
61
62config BT_HS
63 bool "Bluetooth High Speed (HS) features"
64 depends on BT_BREDR
65 default y
66 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.
70
71config BT_LE
72 bool "Bluetooth Low Energy (LE) features"
73 depends on BT
74 default y
75 help
76 Bluetooth Low Energy includes support low-energy physical
77 layer available with Bluetooth version 4.0 or later.
78
79config BT_6LOWPAN
80 tristate "Bluetooth 6LoWPAN support"
81 depends on BT_LE && 6LOWPAN
82 help
83 IPv6 compression over Bluetooth Low Energy.
84
85config 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
94config 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
107config 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
114config 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
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
129source "drivers/bluetooth/Kconfig"