xref: /openbmc/linux/net/bluetooth/Kconfig (revision efe4a1ac)
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
49source "net/bluetooth/rfcomm/Kconfig"
50
51source "net/bluetooth/bnep/Kconfig"
52
53source "net/bluetooth/cmtp/Kconfig"
54
55source "net/bluetooth/hidp/Kconfig"
56
57config BT_HS
58	bool "Bluetooth High Speed (HS) features"
59	depends on BT_BREDR
60	default y
61
62config BT_LE
63	bool "Bluetooth Low Energy (LE) features"
64	depends on BT
65	default y
66
67config BT_6LOWPAN
68	tristate "Bluetooth 6LoWPAN support"
69	depends on BT_LE && 6LOWPAN
70	help
71	  IPv6 compression over Bluetooth Low Energy.
72
73config BT_LEDS
74	bool "Enable LED triggers"
75	depends on BT
76	depends on LEDS_CLASS
77	select LEDS_TRIGGERS
78	help
79	  This option selects a few LED triggers for different
80	  Bluetooth events.
81
82config BT_SELFTEST
83	bool "Bluetooth self testing support"
84	depends on BT && DEBUG_KERNEL
85	help
86	  Run self tests when initializing the Bluetooth subsystem.  This
87	  is a developer option and can cause significant delay when booting
88	  the system.
89
90	  When the Bluetooth subsystem is built as module, then the test
91	  cases are run first thing at module load time.  When the Bluetooth
92	  subsystem is compiled into the kernel image, then the test cases
93	  are run late in the initcall hierarchy.
94
95config BT_SELFTEST_ECDH
96	bool "ECDH test cases"
97	depends on BT_LE && BT_SELFTEST
98	help
99	  Run test cases for ECDH cryptographic functionality used by the
100	  Bluetooth Low Energy Secure Connections feature.
101
102config BT_SELFTEST_SMP
103	bool "SMP test cases"
104	depends on BT_LE && BT_SELFTEST
105	help
106	  Run test cases for SMP cryptographic functionality, including both
107	  legacy SMP as well as the Secure Connections features.
108
109config 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
117source "drivers/bluetooth/Kconfig"
118