xref: /linux/net/bluetooth/Kconfig (revision b8d312aa075f33282565467662c4628dae0a2aff)
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_AES
14	select CRYPTO_CMAC
15	select CRYPTO_ECB
16	select CRYPTO_SHA256
17	select CRYPTO_ECDH
18	help
19	  Bluetooth is low-cost, low-power, short-range wireless technology.
20	  It was designed as a replacement for cables and other short-range
21	  technologies like IrDA.  Bluetooth operates in personal area range
22	  that typically extends up to 10 meters.  More information about
23	  Bluetooth can be found at <http://www.bluetooth.com/>.
24
25	  Linux Bluetooth subsystem consist of several layers:
26	     Bluetooth Core
27		HCI device and connection manager, scheduler
28		SCO audio links
29		L2CAP (Logical Link Control and Adaptation Protocol)
30		SMP (Security Manager Protocol) on LE (Low Energy) links
31	     HCI Device drivers (Interface to the hardware)
32	     RFCOMM Module (RFCOMM Protocol)
33	     BNEP Module (Bluetooth Network Encapsulation Protocol)
34	     CMTP Module (CAPI Message Transport Protocol)
35	     HIDP Module (Human Interface Device Protocol)
36
37	  Say Y here to compile Bluetooth support into the kernel or say M to
38	  compile it as module (bluetooth).
39
40	  To use Linux Bluetooth subsystem, you will need several user-space
41	  utilities like hciconfig and bluetoothd.  These utilities and updates
42	  to Bluetooth kernel modules are provided in the BlueZ packages.  For
43	  more information, see <http://www.bluez.org/>.
44
45config BT_BREDR
46	bool "Bluetooth Classic (BR/EDR) features"
47	depends on BT
48	default y
49	help
50	  Bluetooth Classic includes support for Basic Rate (BR)
51	  available with Bluetooth version 1.0b or later and support
52	  for Enhanced Data Rate (EDR) available with Bluetooth
53	  version 2.0 or later.
54
55source "net/bluetooth/rfcomm/Kconfig"
56
57source "net/bluetooth/bnep/Kconfig"
58
59source "net/bluetooth/cmtp/Kconfig"
60
61source "net/bluetooth/hidp/Kconfig"
62
63config BT_HS
64	bool "Bluetooth High Speed (HS) features"
65	depends on BT_BREDR
66	default y
67	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.
71
72config BT_LE
73	bool "Bluetooth Low Energy (LE) features"
74	depends on BT
75	default y
76	help
77	  Bluetooth Low Energy includes support low-energy physical
78	  layer available with Bluetooth version 4.0 or later.
79
80config BT_6LOWPAN
81	tristate "Bluetooth 6LoWPAN support"
82	depends on BT_LE && 6LOWPAN
83	help
84	  IPv6 compression over Bluetooth Low Energy.
85
86config 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
95config BT_SELFTEST
96	bool "Bluetooth self testing support"
97	depends on BT && DEBUG_KERNEL
98	help
99	  Run self tests when initializing the Bluetooth subsystem.  This
100	  is a developer option and can cause significant delay when booting
101	  the system.
102
103	  When the Bluetooth subsystem is built as module, then the test
104	  cases are run first thing at module load time.  When the Bluetooth
105	  subsystem is compiled into the kernel image, then the test cases
106	  are run late in the initcall hierarchy.
107
108config BT_SELFTEST_ECDH
109	bool "ECDH test cases"
110	depends on BT_LE && BT_SELFTEST
111	help
112	  Run test cases for ECDH cryptographic functionality used by the
113	  Bluetooth Low Energy Secure Connections feature.
114
115config BT_SELFTEST_SMP
116	bool "SMP test cases"
117	depends on BT_LE && BT_SELFTEST
118	help
119	  Run test cases for SMP cryptographic functionality, including both
120	  legacy SMP as well as the Secure Connections features.
121
122config BT_DEBUGFS
123	bool "Export Bluetooth internals in debugfs"
124	depends on BT && DEBUG_FS
125	default y
126	help
127	  Provide extensive information about internal Bluetooth states
128	  in debugfs.
129
130source "drivers/bluetooth/Kconfig"
131