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 !S390 9 depends on RFKILL || !RFKILL 10 select CRC16 11 select CRYPTO 12 select CRYPTO_SKCIPHER 13 select CRYPTO_LIB_AES 14 imply CRYPTO_AES 15 select CRYPTO_CMAC 16 select CRYPTO_ECB 17 select CRYPTO_SHA256 18 select CRYPTO_ECDH 19 help 20 Bluetooth is low-cost, low-power, short-range wireless technology. 21 It was designed as a replacement for cables and other short-range 22 technologies like IrDA. Bluetooth operates in personal area range 23 that typically extends up to 10 meters. More information about 24 Bluetooth can be found at <https://www.bluetooth.com/>. 25 26 Linux Bluetooth subsystem consist of several layers: 27 Bluetooth Core 28 HCI device and connection manager, scheduler 29 SCO audio links 30 L2CAP (Logical Link Control and Adaptation Protocol) 31 SMP (Security Manager Protocol) on LE (Low Energy) links 32 HCI Device drivers (Interface to the hardware) 33 RFCOMM Module (RFCOMM Protocol) 34 BNEP Module (Bluetooth Network Encapsulation Protocol) 35 CMTP Module (CAPI Message Transport Protocol) 36 HIDP Module (Human Interface Device Protocol) 37 38 Say Y here to compile Bluetooth support into the kernel or say M to 39 compile it as module (bluetooth). 40 41 To use Linux Bluetooth subsystem, you will need several user-space 42 utilities like hciconfig and bluetoothd. These utilities and updates 43 to Bluetooth kernel modules are provided in the BlueZ packages. For 44 more information, see <http://www.bluez.org/>. 45 46config BT_BREDR 47 bool "Bluetooth Classic (BR/EDR) features" 48 depends on BT 49 default y 50 help 51 Bluetooth Classic includes support for Basic Rate (BR) 52 available with Bluetooth version 1.0b or later and support 53 for Enhanced Data Rate (EDR) available with Bluetooth 54 version 2.0 or later. 55 56source "net/bluetooth/rfcomm/Kconfig" 57 58source "net/bluetooth/bnep/Kconfig" 59 60source "net/bluetooth/cmtp/Kconfig" 61 62source "net/bluetooth/hidp/Kconfig" 63 64config BT_HS 65 bool "Bluetooth High Speed (HS) features" 66 depends on BT_BREDR 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_MSFTEXT 96 bool "Enable Microsoft extensions" 97 depends on BT 98 help 99 This options enables support for the Microsoft defined HCI 100 vendor extensions. 101 102config BT_AOSPEXT 103 bool "Enable Android Open Source Project extensions" 104 depends on BT 105 help 106 This options enables support for the Android Open Source 107 Project defined HCI vendor extensions. 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 117config BT_SELFTEST 118 bool "Bluetooth self testing support" 119 depends on BT && DEBUG_KERNEL 120 help 121 Run self tests when initializing the Bluetooth subsystem. This 122 is a developer option and can cause significant delay when booting 123 the system. 124 125 When the Bluetooth subsystem is built as module, then the test 126 cases are run first thing at module load time. When the Bluetooth 127 subsystem is compiled into the kernel image, then the test cases 128 are run late in the initcall hierarchy. 129 130config BT_SELFTEST_ECDH 131 bool "ECDH test cases" 132 depends on BT_LE && BT_SELFTEST 133 help 134 Run test cases for ECDH cryptographic functionality used by the 135 Bluetooth Low Energy Secure Connections feature. 136 137config BT_SELFTEST_SMP 138 bool "SMP test cases" 139 depends on BT_LE && BT_SELFTEST 140 help 141 Run test cases for SMP cryptographic functionality, including both 142 legacy SMP as well as the Secure Connections features. 143 144config BT_FEATURE_DEBUG 145 bool "Enable runtime option for debugging statements" 146 depends on BT && !DYNAMIC_DEBUG 147 help 148 This provides an option to enable/disable debugging statements 149 at runtime via the experimental features interface. 150 151source "drivers/bluetooth/Kconfig" 152