18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci# 38c2ecf20Sopenharmony_ci# Bluetooth subsystem configuration 48c2ecf20Sopenharmony_ci# 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_cimenuconfig BT 78c2ecf20Sopenharmony_ci tristate "Bluetooth subsystem support" 88c2ecf20Sopenharmony_ci depends on NET && !S390 98c2ecf20Sopenharmony_ci depends on RFKILL || !RFKILL 108c2ecf20Sopenharmony_ci select CRC16 118c2ecf20Sopenharmony_ci select CRYPTO 128c2ecf20Sopenharmony_ci select CRYPTO_SKCIPHER 138c2ecf20Sopenharmony_ci select CRYPTO_LIB_AES 148c2ecf20Sopenharmony_ci imply CRYPTO_AES 158c2ecf20Sopenharmony_ci select CRYPTO_CMAC 168c2ecf20Sopenharmony_ci select CRYPTO_ECB 178c2ecf20Sopenharmony_ci select CRYPTO_SHA256 188c2ecf20Sopenharmony_ci select CRYPTO_ECDH 198c2ecf20Sopenharmony_ci help 208c2ecf20Sopenharmony_ci Bluetooth is low-cost, low-power, short-range wireless technology. 218c2ecf20Sopenharmony_ci It was designed as a replacement for cables and other short-range 228c2ecf20Sopenharmony_ci technologies like IrDA. Bluetooth operates in personal area range 238c2ecf20Sopenharmony_ci that typically extends up to 10 meters. More information about 248c2ecf20Sopenharmony_ci Bluetooth can be found at <https://www.bluetooth.com/>. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci Linux Bluetooth subsystem consist of several layers: 278c2ecf20Sopenharmony_ci Bluetooth Core 288c2ecf20Sopenharmony_ci HCI device and connection manager, scheduler 298c2ecf20Sopenharmony_ci SCO audio links 308c2ecf20Sopenharmony_ci L2CAP (Logical Link Control and Adaptation Protocol) 318c2ecf20Sopenharmony_ci SMP (Security Manager Protocol) on LE (Low Energy) links 328c2ecf20Sopenharmony_ci HCI Device drivers (Interface to the hardware) 338c2ecf20Sopenharmony_ci RFCOMM Module (RFCOMM Protocol) 348c2ecf20Sopenharmony_ci BNEP Module (Bluetooth Network Encapsulation Protocol) 358c2ecf20Sopenharmony_ci CMTP Module (CAPI Message Transport Protocol) 368c2ecf20Sopenharmony_ci HIDP Module (Human Interface Device Protocol) 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci Say Y here to compile Bluetooth support into the kernel or say M to 398c2ecf20Sopenharmony_ci compile it as module (bluetooth). 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci To use Linux Bluetooth subsystem, you will need several user-space 428c2ecf20Sopenharmony_ci utilities like hciconfig and bluetoothd. These utilities and updates 438c2ecf20Sopenharmony_ci to Bluetooth kernel modules are provided in the BlueZ packages. For 448c2ecf20Sopenharmony_ci more information, see <http://www.bluez.org/>. 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ciconfig BT_BREDR 478c2ecf20Sopenharmony_ci bool "Bluetooth Classic (BR/EDR) features" 488c2ecf20Sopenharmony_ci depends on BT 498c2ecf20Sopenharmony_ci default y 508c2ecf20Sopenharmony_ci help 518c2ecf20Sopenharmony_ci Bluetooth Classic includes support for Basic Rate (BR) 528c2ecf20Sopenharmony_ci available with Bluetooth version 1.0b or later and support 538c2ecf20Sopenharmony_ci for Enhanced Data Rate (EDR) available with Bluetooth 548c2ecf20Sopenharmony_ci version 2.0 or later. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_cisource "net/bluetooth/rfcomm/Kconfig" 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_cisource "net/bluetooth/bnep/Kconfig" 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_cisource "net/bluetooth/cmtp/Kconfig" 618c2ecf20Sopenharmony_ci 628c2ecf20Sopenharmony_cisource "net/bluetooth/hidp/Kconfig" 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciconfig BT_HS 658c2ecf20Sopenharmony_ci bool "Bluetooth High Speed (HS) features" 668c2ecf20Sopenharmony_ci depends on BT_BREDR 678c2ecf20Sopenharmony_ci help 688c2ecf20Sopenharmony_ci Bluetooth High Speed includes support for off-loading 698c2ecf20Sopenharmony_ci Bluetooth connections via 802.11 (wifi) physical layer 708c2ecf20Sopenharmony_ci available with Bluetooth version 3.0 or later. 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ciconfig BT_LE 738c2ecf20Sopenharmony_ci bool "Bluetooth Low Energy (LE) features" 748c2ecf20Sopenharmony_ci depends on BT 758c2ecf20Sopenharmony_ci default y 768c2ecf20Sopenharmony_ci help 778c2ecf20Sopenharmony_ci Bluetooth Low Energy includes support low-energy physical 788c2ecf20Sopenharmony_ci layer available with Bluetooth version 4.0 or later. 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ciconfig BT_6LOWPAN 818c2ecf20Sopenharmony_ci tristate "Bluetooth 6LoWPAN support" 828c2ecf20Sopenharmony_ci depends on BT_LE && 6LOWPAN 838c2ecf20Sopenharmony_ci help 848c2ecf20Sopenharmony_ci IPv6 compression over Bluetooth Low Energy. 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ciconfig BT_LEDS 878c2ecf20Sopenharmony_ci bool "Enable LED triggers" 888c2ecf20Sopenharmony_ci depends on BT 898c2ecf20Sopenharmony_ci depends on LEDS_CLASS 908c2ecf20Sopenharmony_ci select LEDS_TRIGGERS 918c2ecf20Sopenharmony_ci help 928c2ecf20Sopenharmony_ci This option selects a few LED triggers for different 938c2ecf20Sopenharmony_ci Bluetooth events. 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ciconfig BT_MSFTEXT 968c2ecf20Sopenharmony_ci bool "Enable Microsoft extensions" 978c2ecf20Sopenharmony_ci depends on BT 988c2ecf20Sopenharmony_ci help 998c2ecf20Sopenharmony_ci This options enables support for the Microsoft defined HCI 1008c2ecf20Sopenharmony_ci vendor extensions. 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ciconfig BT_DEBUGFS 1038c2ecf20Sopenharmony_ci bool "Export Bluetooth internals in debugfs" 1048c2ecf20Sopenharmony_ci depends on BT && DEBUG_FS 1058c2ecf20Sopenharmony_ci default y 1068c2ecf20Sopenharmony_ci help 1078c2ecf20Sopenharmony_ci Provide extensive information about internal Bluetooth states 1088c2ecf20Sopenharmony_ci in debugfs. 1098c2ecf20Sopenharmony_ci 1108c2ecf20Sopenharmony_ciconfig BT_SELFTEST 1118c2ecf20Sopenharmony_ci bool "Bluetooth self testing support" 1128c2ecf20Sopenharmony_ci depends on BT && DEBUG_KERNEL 1138c2ecf20Sopenharmony_ci help 1148c2ecf20Sopenharmony_ci Run self tests when initializing the Bluetooth subsystem. This 1158c2ecf20Sopenharmony_ci is a developer option and can cause significant delay when booting 1168c2ecf20Sopenharmony_ci the system. 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ci When the Bluetooth subsystem is built as module, then the test 1198c2ecf20Sopenharmony_ci cases are run first thing at module load time. When the Bluetooth 1208c2ecf20Sopenharmony_ci subsystem is compiled into the kernel image, then the test cases 1218c2ecf20Sopenharmony_ci are run late in the initcall hierarchy. 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ciconfig BT_SELFTEST_ECDH 1248c2ecf20Sopenharmony_ci bool "ECDH test cases" 1258c2ecf20Sopenharmony_ci depends on BT_LE && BT_SELFTEST 1268c2ecf20Sopenharmony_ci help 1278c2ecf20Sopenharmony_ci Run test cases for ECDH cryptographic functionality used by the 1288c2ecf20Sopenharmony_ci Bluetooth Low Energy Secure Connections feature. 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ciconfig BT_SELFTEST_SMP 1318c2ecf20Sopenharmony_ci bool "SMP test cases" 1328c2ecf20Sopenharmony_ci depends on BT_LE && BT_SELFTEST 1338c2ecf20Sopenharmony_ci help 1348c2ecf20Sopenharmony_ci Run test cases for SMP cryptographic functionality, including both 1358c2ecf20Sopenharmony_ci legacy SMP as well as the Secure Connections features. 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ciconfig BT_FEATURE_DEBUG 1388c2ecf20Sopenharmony_ci bool "Enable runtime option for debugging statements" 1398c2ecf20Sopenharmony_ci depends on BT && !DYNAMIC_DEBUG 1408c2ecf20Sopenharmony_ci help 1418c2ecf20Sopenharmony_ci This provides an option to enable/disable debugging statements 1428c2ecf20Sopenharmony_ci at runtime via the experimental features interface. 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_cisource "drivers/bluetooth/Kconfig" 145