xref: /linux/net/bluetooth/Kconfig (revision 2ba9268dd603d23e17643437b2246acb6844953b)
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_LE
57	bool "Bluetooth Low Energy (LE) features"
58	depends on BT
59	default y
60
61config BT_6LOWPAN
62	tristate "Bluetooth 6LoWPAN support"
63	depends on BT_LE && 6LOWPAN
64	help
65	  IPv6 compression over Bluetooth Low Energy.
66
67config BT_SELFTEST
68	bool "Bluetooth self testing support"
69	depends on BT && DEBUG_KERNEL
70	help
71	  Run self tests when initializing the Bluetooth subsystem.  This
72	  is a developer option and can cause significant delay when booting
73	  the system.
74
75	  When the Bluetooth subsystem is built as module, then the test
76	  cases are run first thing at module load time.  When the Bluetooth
77	  subsystem is compiled into the kernel image, then the test cases
78	  are run late in the initcall hierarchy.
79
80config BT_SELFTEST_ECDH
81	bool "ECDH test cases"
82	depends on BT_LE && BT_SELFTEST
83	help
84	  Run test cases for ECDH cryptographic functionality used by the
85	  Bluetooth Low Energy Secure Connections feature.
86
87config BT_SELFTEST_SMP
88	bool "SMP test cases"
89	depends on BT_LE && BT_SELFTEST
90	help
91	  Run test cases for SMP cryptographic functionality, including both
92	  legacy SMP as well as the Secure Connections features.
93
94source "drivers/bluetooth/Kconfig"
95