Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
#
# Bluetooth subsystem configuration
#

menuconfig CONFIG_BT
	tristate "Bluetooth subsystem support"
	depends on CONFIG_NET && !CONFIG_S390
	depends on CONFIG_RFKILL || !CONFIG_RFKILL
	select CONFIG_CRC16
	select CONFIG_CRYPTO
	select CONFIG_CRYPTO_BLKCIPHER
	select CONFIG_CRYPTO_LIB_AES
	imply CONFIG_CRYPTO_AES
	select CONFIG_CRYPTO_CMAC
	select CONFIG_CRYPTO_ECB
	select CONFIG_CRYPTO_SHA256
	select CONFIG_CRYPTO_ECDH
	help
	  Bluetooth is low-cost, low-power, short-range wireless technology.
	  It was designed as a replacement for cables and other short-range
	  technologies like IrDA.  Bluetooth operates in personal area range
	  that typically extends up to 10 meters.  More information about
	  Bluetooth can be found at <http://www.bluetooth.com/>.

	  Linux Bluetooth subsystem consist of several layers:
	     Bluetooth Core
		HCI device and connection manager, scheduler
		SCO audio links
		L2CAP (Logical Link Control and Adaptation Protocol)
		CONFIG_SMP (Security Manager Protocol) on LE (Low Energy) links
	     HCI Device drivers (Interface to the hardware)
	     RFCOMM Module (RFCOMM Protocol)  
	     BNEP Module (Bluetooth Network Encapsulation Protocol)
	     CMTP Module (CAPI Message Transport Protocol)
	     HIDP Module (Human Interface Device Protocol)

	  Say Y here to compile Bluetooth support into the kernel or say CONFIG_M to
	  compile it as module (bluetooth).

	  To use Linux Bluetooth subsystem, you will need several user-space
	  utilities like hciconfig and bluetoothd.  These utilities and updates
	  to Bluetooth kernel modules are provided in the BlueZ packages.  For
	  more information, see <http://www.bluez.org/>.

config CONFIG_BT_BREDR
	bool "Bluetooth Classic (BR/EDR) features"
	depends on CONFIG_BT
	default y
	help
	  Bluetooth Classic includes support for Basic Rate (BR)
	  available with Bluetooth version 1.0b or later and support
	  for Enhanced Data Rate (EDR) available with Bluetooth
	  version 2.0 or later.

source "net/bluetooth/rfcomm/Kconfig"

source "net/bluetooth/bnep/Kconfig"

source "net/bluetooth/cmtp/Kconfig"

source "net/bluetooth/hidp/Kconfig"

config CONFIG_BT_HS
	bool "Bluetooth High Speed (HS) features"
	depends on CONFIG_BT_BREDR
	default y
	help
	  Bluetooth High Speed includes support for off-loading
	  Bluetooth connections via 802.11 (wifi) physical layer
	  available with Bluetooth version 3.0 or later.

config CONFIG_BT_LE
	bool "Bluetooth Low Energy (LE) features"
	depends on CONFIG_BT
	default y
	help
	  Bluetooth Low Energy includes support low-energy physical
	  layer available with Bluetooth version 4.0 or later.

config CONFIG_BT_6LOWPAN
	tristate "Bluetooth 6LoWPAN support"
	depends on CONFIG_BT_LE && CONFIG_6LOWPAN
	help
	  IPv6 compression over Bluetooth Low Energy.

config CONFIG_BT_LEDS
	bool "Enable LED triggers"
	depends on CONFIG_BT
	depends on CONFIG_LEDS_CLASS
	select CONFIG_LEDS_TRIGGERS
	help
	  This option selects a few LED triggers for different
	  Bluetooth events.

config CONFIG_BT_SELFTEST
	bool "Bluetooth self testing support"
	depends on CONFIG_BT && CONFIG_DEBUG_KERNEL
	help
	  Run self tests when initializing the Bluetooth subsystem.  This
	  is a developer option and can cause significant delay when booting
	  the system.

	  When the Bluetooth subsystem is built as module, then the test
	  cases are run first thing at module load time.  When the Bluetooth
	  subsystem is compiled into the kernel image, then the test cases
	  are run late in the initcall hierarchy.

config CONFIG_BT_SELFTEST_ECDH
	bool "ECDH test cases"
	depends on CONFIG_BT_LE && CONFIG_BT_SELFTEST
	help
	  Run test cases for ECDH cryptographic functionality used by the
	  Bluetooth Low Energy Secure Connections feature.

config CONFIG_BT_SELFTEST_SMP
	bool "SMP test cases"
	depends on CONFIG_BT_LE && CONFIG_BT_SELFTEST
	help
	  Run test cases for CONFIG_SMP cryptographic functionality, including both
	  legacy CONFIG_SMP as well as the Secure Connections features.

config CONFIG_BT_DEBUGFS
	bool "Export Bluetooth internals in debugfs"
	depends on CONFIG_BT && CONFIG_DEBUG_FS
	default y
	help
	  Provide extensive information about internal Bluetooth states
	  in debugfs.

source "drivers/bluetooth/Kconfig"