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