162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Bluetooth subsystem configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenuconfig BT 762306a36Sopenharmony_ci tristate "Bluetooth subsystem support" 862306a36Sopenharmony_ci depends on !S390 962306a36Sopenharmony_ci depends on RFKILL || !RFKILL 1062306a36Sopenharmony_ci select CRC16 1162306a36Sopenharmony_ci select CRYPTO 1262306a36Sopenharmony_ci select CRYPTO_SKCIPHER 1362306a36Sopenharmony_ci select CRYPTO_LIB_AES 1462306a36Sopenharmony_ci imply CRYPTO_AES 1562306a36Sopenharmony_ci select CRYPTO_CMAC 1662306a36Sopenharmony_ci select CRYPTO_ECB 1762306a36Sopenharmony_ci select CRYPTO_SHA256 1862306a36Sopenharmony_ci select CRYPTO_ECDH 1962306a36Sopenharmony_ci help 2062306a36Sopenharmony_ci Bluetooth is low-cost, low-power, short-range wireless technology. 2162306a36Sopenharmony_ci It was designed as a replacement for cables and other short-range 2262306a36Sopenharmony_ci technologies like IrDA. Bluetooth operates in personal area range 2362306a36Sopenharmony_ci that typically extends up to 10 meters. More information about 2462306a36Sopenharmony_ci Bluetooth can be found at <https://www.bluetooth.com/>. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci Linux Bluetooth subsystem consist of several layers: 2762306a36Sopenharmony_ci Bluetooth Core 2862306a36Sopenharmony_ci HCI device and connection manager, scheduler 2962306a36Sopenharmony_ci SCO audio links 3062306a36Sopenharmony_ci L2CAP (Logical Link Control and Adaptation Protocol) 3162306a36Sopenharmony_ci SMP (Security Manager Protocol) on LE (Low Energy) links 3262306a36Sopenharmony_ci ISO isochronous links 3362306a36Sopenharmony_ci HCI Device drivers (Interface to the hardware) 3462306a36Sopenharmony_ci RFCOMM Module (RFCOMM Protocol) 3562306a36Sopenharmony_ci BNEP Module (Bluetooth Network Encapsulation Protocol) 3662306a36Sopenharmony_ci CMTP Module (CAPI Message Transport Protocol) 3762306a36Sopenharmony_ci HIDP Module (Human Interface Device Protocol) 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci Say Y here to compile Bluetooth support into the kernel or say M to 4062306a36Sopenharmony_ci compile it as module (bluetooth). 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci To use Linux Bluetooth subsystem, you will need several user-space 4362306a36Sopenharmony_ci utilities like hciconfig and bluetoothd. These utilities and updates 4462306a36Sopenharmony_ci to Bluetooth kernel modules are provided in the BlueZ packages. For 4562306a36Sopenharmony_ci more information, see <http://www.bluez.org/>. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciconfig BT_BREDR 4862306a36Sopenharmony_ci bool "Bluetooth Classic (BR/EDR) features" 4962306a36Sopenharmony_ci depends on BT 5062306a36Sopenharmony_ci default y 5162306a36Sopenharmony_ci help 5262306a36Sopenharmony_ci Bluetooth Classic includes support for Basic Rate (BR) 5362306a36Sopenharmony_ci available with Bluetooth version 1.0b or later and support 5462306a36Sopenharmony_ci for Enhanced Data Rate (EDR) available with Bluetooth 5562306a36Sopenharmony_ci version 2.0 or later. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_cisource "net/bluetooth/rfcomm/Kconfig" 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_cisource "net/bluetooth/bnep/Kconfig" 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_cisource "net/bluetooth/cmtp/Kconfig" 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_cisource "net/bluetooth/hidp/Kconfig" 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciconfig BT_LE 6662306a36Sopenharmony_ci bool "Bluetooth Low Energy (LE) features" 6762306a36Sopenharmony_ci depends on BT 6862306a36Sopenharmony_ci default y 6962306a36Sopenharmony_ci help 7062306a36Sopenharmony_ci Bluetooth Low Energy includes support low-energy physical 7162306a36Sopenharmony_ci layer available with Bluetooth version 4.0 or later. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ciconfig BT_LE_L2CAP_ECRED 7462306a36Sopenharmony_ci bool "Bluetooth L2CAP Enhanced Credit Flow Control" 7562306a36Sopenharmony_ci depends on BT_LE 7662306a36Sopenharmony_ci default y 7762306a36Sopenharmony_ci help 7862306a36Sopenharmony_ci Bluetooth Low Energy L2CAP Enhanced Credit Flow Control available with 7962306a36Sopenharmony_ci Bluetooth version 5.2 or later. 8062306a36Sopenharmony_ci 8162306a36Sopenharmony_ci This can be overridden by passing bluetooth.enable_ecred=[1|0] 8262306a36Sopenharmony_ci on the kernel commandline. 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ciconfig BT_6LOWPAN 8562306a36Sopenharmony_ci tristate "Bluetooth 6LoWPAN support" 8662306a36Sopenharmony_ci depends on BT_LE && 6LOWPAN 8762306a36Sopenharmony_ci help 8862306a36Sopenharmony_ci IPv6 compression over Bluetooth Low Energy. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciconfig BT_LEDS 9162306a36Sopenharmony_ci bool "Enable LED triggers" 9262306a36Sopenharmony_ci depends on BT 9362306a36Sopenharmony_ci depends on LEDS_CLASS 9462306a36Sopenharmony_ci select LEDS_TRIGGERS 9562306a36Sopenharmony_ci help 9662306a36Sopenharmony_ci This option selects a few LED triggers for different 9762306a36Sopenharmony_ci Bluetooth events. 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ciconfig BT_MSFTEXT 10062306a36Sopenharmony_ci bool "Enable Microsoft extensions" 10162306a36Sopenharmony_ci depends on BT 10262306a36Sopenharmony_ci help 10362306a36Sopenharmony_ci This options enables support for the Microsoft defined HCI 10462306a36Sopenharmony_ci vendor extensions. 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ciconfig BT_AOSPEXT 10762306a36Sopenharmony_ci bool "Enable Android Open Source Project extensions" 10862306a36Sopenharmony_ci depends on BT 10962306a36Sopenharmony_ci help 11062306a36Sopenharmony_ci This options enables support for the Android Open Source 11162306a36Sopenharmony_ci Project defined HCI vendor extensions. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciconfig BT_DEBUGFS 11462306a36Sopenharmony_ci bool "Export Bluetooth internals in debugfs" 11562306a36Sopenharmony_ci depends on BT && DEBUG_FS 11662306a36Sopenharmony_ci default y 11762306a36Sopenharmony_ci help 11862306a36Sopenharmony_ci Provide extensive information about internal Bluetooth states 11962306a36Sopenharmony_ci in debugfs. 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ciconfig BT_SELFTEST 12262306a36Sopenharmony_ci bool "Bluetooth self testing support" 12362306a36Sopenharmony_ci depends on BT && DEBUG_KERNEL 12462306a36Sopenharmony_ci help 12562306a36Sopenharmony_ci Run self tests when initializing the Bluetooth subsystem. This 12662306a36Sopenharmony_ci is a developer option and can cause significant delay when booting 12762306a36Sopenharmony_ci the system. 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ci When the Bluetooth subsystem is built as module, then the test 13062306a36Sopenharmony_ci cases are run first thing at module load time. When the Bluetooth 13162306a36Sopenharmony_ci subsystem is compiled into the kernel image, then the test cases 13262306a36Sopenharmony_ci are run late in the initcall hierarchy. 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ciconfig BT_SELFTEST_ECDH 13562306a36Sopenharmony_ci bool "ECDH test cases" 13662306a36Sopenharmony_ci depends on BT_LE && BT_SELFTEST 13762306a36Sopenharmony_ci help 13862306a36Sopenharmony_ci Run test cases for ECDH cryptographic functionality used by the 13962306a36Sopenharmony_ci Bluetooth Low Energy Secure Connections feature. 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ciconfig BT_SELFTEST_SMP 14262306a36Sopenharmony_ci bool "SMP test cases" 14362306a36Sopenharmony_ci depends on BT_LE && BT_SELFTEST 14462306a36Sopenharmony_ci help 14562306a36Sopenharmony_ci Run test cases for SMP cryptographic functionality, including both 14662306a36Sopenharmony_ci legacy SMP as well as the Secure Connections features. 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ciconfig BT_FEATURE_DEBUG 14962306a36Sopenharmony_ci bool "Enable runtime option for debugging statements" 15062306a36Sopenharmony_ci depends on BT && !DYNAMIC_DEBUG 15162306a36Sopenharmony_ci help 15262306a36Sopenharmony_ci This provides an option to enable/disable debugging statements 15362306a36Sopenharmony_ci at runtime via the experimental features interface. 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_cisource "drivers/bluetooth/Kconfig" 156