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_LIB_AES 13 select CRYPTO_LIB_AES_CBC_MACS 14 select CRYPTO_ECDH 15 help 16 Bluetooth is low-cost, low-power, short-range wireless technology. 17 It was designed as a replacement for cables and other short-range 18 technologies like IrDA. Bluetooth operates in personal area range 19 that typically extends up to 10 meters. More information about 20 Bluetooth can be found at <https://www.bluetooth.com/>. 21 22 Linux Bluetooth subsystem consist of several layers: 23 Bluetooth Core 24 HCI device and connection manager, scheduler 25 SCO audio links 26 L2CAP (Logical Link Control and Adaptation Protocol) 27 SMP (Security Manager Protocol) on LE (Low Energy) links 28 ISO isochronous links 29 HCI Device drivers (Interface to the hardware) 30 RFCOMM Module (RFCOMM Protocol) 31 BNEP Module (Bluetooth Network Encapsulation Protocol) 32 HIDP Module (Human Interface Device Protocol) 33 34 Say Y here to compile Bluetooth support into the kernel or say M to 35 compile it as module (bluetooth). 36 37 To use Linux Bluetooth subsystem, you will need several user-space 38 utilities like hciconfig and bluetoothd. These utilities and updates 39 to Bluetooth kernel modules are provided in the BlueZ packages. For 40 more information, see <http://www.bluez.org/>. 41 42config BT_BREDR 43 bool "Bluetooth Classic (BR/EDR) features" 44 depends on BT 45 default y 46 help 47 Bluetooth Classic includes support for Basic Rate (BR) 48 available with Bluetooth version 1.0b or later and support 49 for Enhanced Data Rate (EDR) available with Bluetooth 50 version 2.0 or later. 51 52source "net/bluetooth/rfcomm/Kconfig" 53 54source "net/bluetooth/bnep/Kconfig" 55 56source "net/bluetooth/hidp/Kconfig" 57 58config BT_LE 59 bool "Bluetooth Low Energy (LE) features" 60 depends on BT 61 default y 62 help 63 Bluetooth Low Energy includes support low-energy physical 64 layer available with Bluetooth version 4.0 or later. 65 66config BT_LE_L2CAP_ECRED 67 bool "Bluetooth L2CAP Enhanced Credit Flow Control" 68 depends on BT_LE 69 default y 70 help 71 Bluetooth Low Energy L2CAP Enhanced Credit Flow Control available with 72 Bluetooth version 5.2 or later. 73 74 This can be overridden by passing bluetooth.enable_ecred=[1|0] 75 on the kernel commandline. 76 77config BT_6LOWPAN 78 tristate "Bluetooth 6LoWPAN support" 79 depends on BT_LE && 6LOWPAN 80 help 81 IPv6 compression over Bluetooth Low Energy. 82 83config BT_LEDS 84 bool "Enable LED triggers" 85 depends on BT 86 depends on LEDS_CLASS 87 select LEDS_TRIGGERS 88 help 89 This option selects a few LED triggers for different 90 Bluetooth events. 91 92config BT_MSFTEXT 93 bool "Enable Microsoft extensions" 94 depends on BT 95 help 96 This options enables support for the Microsoft defined HCI 97 vendor extensions. 98 99config BT_AOSPEXT 100 bool "Enable Android Open Source Project extensions" 101 depends on BT 102 help 103 This options enables support for the Android Open Source 104 Project defined HCI vendor extensions. 105 106config BT_DEBUGFS 107 bool "Export Bluetooth internals in debugfs" 108 depends on BT && DEBUG_FS 109 default y 110 help 111 Provide extensive information about internal Bluetooth states 112 in debugfs. 113 114config BT_SELFTEST 115 bool "Bluetooth self testing support" 116 depends on BT && DEBUG_KERNEL 117 help 118 Run self tests when initializing the Bluetooth subsystem. This 119 is a developer option and can cause significant delay when booting 120 the system. 121 122 When the Bluetooth subsystem is built as module, then the test 123 cases are run first thing at module load time. When the Bluetooth 124 subsystem is compiled into the kernel image, then the test cases 125 are run late in the initcall hierarchy. 126 127config BT_SELFTEST_ECDH 128 bool "ECDH test cases" 129 depends on BT_LE && BT_SELFTEST 130 help 131 Run test cases for ECDH cryptographic functionality used by the 132 Bluetooth Low Energy Secure Connections feature. 133 134config BT_SELFTEST_SMP 135 bool "SMP test cases" 136 depends on BT_LE && BT_SELFTEST 137 help 138 Run test cases for SMP cryptographic functionality, including both 139 legacy SMP as well as the Secure Connections features. 140 141config BT_FEATURE_DEBUG 142 bool "Enable runtime option for debugging statements" 143 depends on BT && !DYNAMIC_DEBUG 144 help 145 This provides an option to enable/disable debugging statements 146 at runtime via the experimental features interface. 147 148source "drivers/bluetooth/Kconfig" 149