Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Bluetooth subsystem configuration
0004 #
0005 
0006 menuconfig BT
0007         tristate "Bluetooth subsystem support"
0008         depends on !S390
0009         depends on RFKILL || !RFKILL
0010         select CRC16
0011         select CRYPTO
0012         select CRYPTO_SKCIPHER
0013         select CRYPTO_LIB_AES
0014         imply CRYPTO_AES
0015         select CRYPTO_CMAC
0016         select CRYPTO_ECB
0017         select CRYPTO_SHA256
0018         select CRYPTO_ECDH
0019         help
0020           Bluetooth is low-cost, low-power, short-range wireless technology.
0021           It was designed as a replacement for cables and other short-range
0022           technologies like IrDA.  Bluetooth operates in personal area range
0023           that typically extends up to 10 meters.  More information about
0024           Bluetooth can be found at <https://www.bluetooth.com/>.
0025 
0026           Linux Bluetooth subsystem consist of several layers:
0027              Bluetooth Core
0028                 HCI device and connection manager, scheduler
0029                 SCO audio links
0030                 L2CAP (Logical Link Control and Adaptation Protocol)
0031                 SMP (Security Manager Protocol) on LE (Low Energy) links
0032                 ISO isochronous links
0033              HCI Device drivers (Interface to the hardware)
0034              RFCOMM Module (RFCOMM Protocol)  
0035              BNEP Module (Bluetooth Network Encapsulation Protocol)
0036              CMTP Module (CAPI Message Transport Protocol)
0037              HIDP Module (Human Interface Device Protocol)
0038 
0039           Say Y here to compile Bluetooth support into the kernel or say M to
0040           compile it as module (bluetooth).
0041 
0042           To use Linux Bluetooth subsystem, you will need several user-space
0043           utilities like hciconfig and bluetoothd.  These utilities and updates
0044           to Bluetooth kernel modules are provided in the BlueZ packages.  For
0045           more information, see <http://www.bluez.org/>.
0046 
0047 config BT_BREDR
0048         bool "Bluetooth Classic (BR/EDR) features"
0049         depends on BT
0050         default y
0051         help
0052           Bluetooth Classic includes support for Basic Rate (BR)
0053           available with Bluetooth version 1.0b or later and support
0054           for Enhanced Data Rate (EDR) available with Bluetooth
0055           version 2.0 or later.
0056 
0057 source "net/bluetooth/rfcomm/Kconfig"
0058 
0059 source "net/bluetooth/bnep/Kconfig"
0060 
0061 source "net/bluetooth/cmtp/Kconfig"
0062 
0063 source "net/bluetooth/hidp/Kconfig"
0064 
0065 config BT_HS
0066         bool "Bluetooth High Speed (HS) features"
0067         depends on BT_BREDR
0068         help
0069           Bluetooth High Speed includes support for off-loading
0070           Bluetooth connections via 802.11 (wifi) physical layer
0071           available with Bluetooth version 3.0 or later.
0072 
0073 config BT_LE
0074         bool "Bluetooth Low Energy (LE) features"
0075         depends on BT
0076         default y
0077         help
0078           Bluetooth Low Energy includes support low-energy physical
0079           layer available with Bluetooth version 4.0 or later.
0080 
0081 config BT_6LOWPAN
0082         tristate "Bluetooth 6LoWPAN support"
0083         depends on BT_LE && 6LOWPAN
0084         help
0085           IPv6 compression over Bluetooth Low Energy.
0086 
0087 config BT_LEDS
0088         bool "Enable LED triggers"
0089         depends on BT
0090         depends on LEDS_CLASS
0091         select LEDS_TRIGGERS
0092         help
0093           This option selects a few LED triggers for different
0094           Bluetooth events.
0095 
0096 config BT_MSFTEXT
0097         bool "Enable Microsoft extensions"
0098         depends on BT
0099         help
0100           This options enables support for the Microsoft defined HCI
0101           vendor extensions.
0102 
0103 config BT_AOSPEXT
0104         bool "Enable Android Open Source Project extensions"
0105         depends on BT
0106         help
0107           This options enables support for the Android Open Source
0108           Project defined HCI vendor extensions.
0109 
0110 config BT_DEBUGFS
0111         bool "Export Bluetooth internals in debugfs"
0112         depends on BT && DEBUG_FS
0113         default y
0114         help
0115           Provide extensive information about internal Bluetooth states
0116           in debugfs.
0117 
0118 config BT_SELFTEST
0119         bool "Bluetooth self testing support"
0120         depends on BT && DEBUG_KERNEL
0121         help
0122           Run self tests when initializing the Bluetooth subsystem.  This
0123           is a developer option and can cause significant delay when booting
0124           the system.
0125 
0126           When the Bluetooth subsystem is built as module, then the test
0127           cases are run first thing at module load time.  When the Bluetooth
0128           subsystem is compiled into the kernel image, then the test cases
0129           are run late in the initcall hierarchy.
0130 
0131 config BT_SELFTEST_ECDH
0132         bool "ECDH test cases"
0133         depends on BT_LE && BT_SELFTEST
0134         help
0135           Run test cases for ECDH cryptographic functionality used by the
0136           Bluetooth Low Energy Secure Connections feature.
0137 
0138 config BT_SELFTEST_SMP
0139         bool "SMP test cases"
0140         depends on BT_LE && BT_SELFTEST
0141         help
0142           Run test cases for SMP cryptographic functionality, including both
0143           legacy SMP as well as the Secure Connections features.
0144 
0145 config BT_FEATURE_DEBUG
0146         bool "Enable runtime option for debugging statements"
0147         depends on BT && !DYNAMIC_DEBUG
0148         help
0149           This provides an option to enable/disable debugging statements
0150           at runtime via the experimental features interface.
0151 
0152 source "drivers/bluetooth/Kconfig"