xref: /linux/net/bluetooth/Kconfig (revision 0b6415b65234ff723d32fd7dcdd917ba7ad5fe86)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# Bluetooth subsystem configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvalds
51da177e4SLinus Torvaldsmenuconfig BT
61da177e4SLinus Torvalds	tristate "Bluetooth subsystem support"
71a097181SMarcel Holtmann	depends on NET && !S390
81a097181SMarcel Holtmann	depends on RFKILL || !RFKILL
9f1e91e16SUlisses Furquim	select CRC16
10daf4ce85SRandy Dunlap	select CRYPTO
11f1e91e16SUlisses Furquim	select CRYPTO_BLKCIPHER
12f1e91e16SUlisses Furquim	select CRYPTO_AES
13407cecf6SJohan Hedberg	select CRYPTO_CMAC
14f1e91e16SUlisses Furquim	select CRYPTO_ECB
155a349186SAndrei Emeltchenko	select CRYPTO_SHA256
161da177e4SLinus Torvalds	help
171da177e4SLinus Torvalds	  Bluetooth is low-cost, low-power, short-range wireless technology.
181da177e4SLinus Torvalds	  It was designed as a replacement for cables and other short-range
191da177e4SLinus Torvalds	  technologies like IrDA.  Bluetooth operates in personal area range
201da177e4SLinus Torvalds	  that typically extends up to 10 meters.  More information about
211da177e4SLinus Torvalds	  Bluetooth can be found at <http://www.bluetooth.com/>.
221da177e4SLinus Torvalds
231da177e4SLinus Torvalds	  Linux Bluetooth subsystem consist of several layers:
24f1e91e16SUlisses Furquim	     Bluetooth Core
25f1e91e16SUlisses Furquim		HCI device and connection manager, scheduler
26f1e91e16SUlisses Furquim		SCO audio links
27f1e91e16SUlisses Furquim		L2CAP (Logical Link Control and Adaptation Protocol)
28f1e91e16SUlisses Furquim		SMP (Security Manager Protocol) on LE (Low Energy) links
291da177e4SLinus Torvalds	     HCI Device drivers (Interface to the hardware)
301da177e4SLinus Torvalds	     RFCOMM Module (RFCOMM Protocol)
311da177e4SLinus Torvalds	     BNEP Module (Bluetooth Network Encapsulation Protocol)
321da177e4SLinus Torvalds	     CMTP Module (CAPI Message Transport Protocol)
331da177e4SLinus Torvalds	     HIDP Module (Human Interface Device Protocol)
341da177e4SLinus Torvalds
351da177e4SLinus Torvalds	  Say Y here to compile Bluetooth support into the kernel or say M to
361da177e4SLinus Torvalds	  compile it as module (bluetooth).
371da177e4SLinus Torvalds
381da177e4SLinus Torvalds	  To use Linux Bluetooth subsystem, you will need several user-space
39a0019bcaSGustavo F. Padovan	  utilities like hciconfig and bluetoothd.  These utilities and updates
40a0019bcaSGustavo F. Padovan	  to Bluetooth kernel modules are provided in the BlueZ packages.  For
41a0019bcaSGustavo F. Padovan	  more information, see <http://www.bluez.org/>.
421da177e4SLinus Torvalds
4365efd2bfSMarcel Holtmannconfig BT_BREDR
4465efd2bfSMarcel Holtmann	bool "Bluetooth Classic (BR/EDR) features"
4565efd2bfSMarcel Holtmann	depends on BT
4665efd2bfSMarcel Holtmann	default y
4797550887SAlexander Aring
481da177e4SLinus Torvaldssource "net/bluetooth/rfcomm/Kconfig"
491da177e4SLinus Torvalds
501da177e4SLinus Torvaldssource "net/bluetooth/bnep/Kconfig"
511da177e4SLinus Torvalds
521da177e4SLinus Torvaldssource "net/bluetooth/cmtp/Kconfig"
531da177e4SLinus Torvalds
541da177e4SLinus Torvaldssource "net/bluetooth/hidp/Kconfig"
551da177e4SLinus Torvalds
5665efd2bfSMarcel Holtmannconfig BT_LE
5765efd2bfSMarcel Holtmann	bool "Bluetooth Low Energy (LE) features"
5865efd2bfSMarcel Holtmann	depends on BT
5965efd2bfSMarcel Holtmann	default y
6065efd2bfSMarcel Holtmann
6165efd2bfSMarcel Holtmannconfig BT_6LOWPAN
6265efd2bfSMarcel Holtmann	tristate "Bluetooth 6LoWPAN support"
6365efd2bfSMarcel Holtmann	depends on BT_LE && 6LOWPAN
6465efd2bfSMarcel Holtmann	help
6565efd2bfSMarcel Holtmann	  IPv6 compression over Bluetooth Low Energy.
6665efd2bfSMarcel Holtmann
67ee485290SMarcel Holtmannconfig BT_SELFTEST
68ee485290SMarcel Holtmann	bool "Bluetooth self testing support"
69ee485290SMarcel Holtmann	depends on BT && DEBUG_KERNEL
70ee485290SMarcel Holtmann	help
71ee485290SMarcel Holtmann	  Run self tests when initializing the Bluetooth subsystem.  This
72ee485290SMarcel Holtmann	  is a developer option and can cause significant delay when booting
73ee485290SMarcel Holtmann	  the system.
74ee485290SMarcel Holtmann
75ee485290SMarcel Holtmann	  When the Bluetooth subsystem is built as module, then the test
76ee485290SMarcel Holtmann	  cases are run first thing at module load time.  When the Bluetooth
77ee485290SMarcel Holtmann	  subsystem is compiled into the kernel image, then the test cases
78ee485290SMarcel Holtmann	  are run late in the initcall hierarchy.
79ee485290SMarcel Holtmann
80*0b6415b6SJohan Hedbergconfig BT_SELFTEST_ECDH
81*0b6415b6SJohan Hedberg	bool "ECDH test cases"
82*0b6415b6SJohan Hedberg	depends on BT_LE && BT_SELFTEST
83*0b6415b6SJohan Hedberg	help
84*0b6415b6SJohan Hedberg	  Run test cases for ECDH cryptographic functionality used by the
85*0b6415b6SJohan Hedberg	  Bluetooth Low Energy Secure Connections feature.
86*0b6415b6SJohan Hedberg
871da177e4SLinus Torvaldssource "drivers/bluetooth/Kconfig"
88