Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | # |
| 3 | # Bluetooth subsystem configuration |
| 4 | # |
| 5 | |
| 6 | menuconfig BT |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | tristate "Bluetooth subsystem support" |
Masahiro Yamada | 864e898 | 2021-01-26 08:20:26 +0900 | [diff] [blame] | 8 | depends on !S390 |
Marcel Holtmann | 1a09718 | 2009-06-14 15:21:25 +0200 | [diff] [blame] | 9 | depends on RFKILL || !RFKILL |
Ulisses Furquim | f1e91e1 | 2011-12-21 01:32:09 -0200 | [diff] [blame] | 10 | select CRC16 |
Randy Dunlap | daf4ce8 | 2011-06-22 10:08:11 -0700 | [diff] [blame] | 11 | select CRYPTO |
Eric Biggers | b95bba5 | 2019-10-25 12:41:13 -0700 | [diff] [blame] | 12 | select CRYPTO_SKCIPHER |
Ard Biesheuvel | 28a220a | 2019-07-02 21:41:41 +0200 | [diff] [blame] | 13 | select CRYPTO_LIB_AES |
| 14 | imply CRYPTO_AES |
Johan Hedberg | 407cecf | 2014-05-02 14:19:47 +0300 | [diff] [blame] | 15 | select CRYPTO_CMAC |
Ulisses Furquim | f1e91e1 | 2011-12-21 01:32:09 -0200 | [diff] [blame] | 16 | select CRYPTO_ECB |
Andrei Emeltchenko | 5a34918 | 2012-09-27 17:26:18 +0300 | [diff] [blame] | 17 | select CRYPTO_SHA256 |
Salvatore Benedetto | 58771c1c | 2017-04-24 13:13:20 +0100 | [diff] [blame] | 18 | select CRYPTO_ECDH |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |
Alexander A. Klimov | d5baf62 | 2020-07-08 15:36:38 +0200 | [diff] [blame] | 24 | Bluetooth can be found at <https://www.bluetooth.com/>. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | |
| 26 | Linux Bluetooth subsystem consist of several layers: |
Ulisses Furquim | f1e91e1 | 2011-12-21 01:32:09 -0200 | [diff] [blame] | 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 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 32 | HCI Device drivers (Interface to the hardware) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |
Gustavo F. Padovan | a0019bc | 2011-02-07 19:15:43 -0200 | [diff] [blame] | 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/>. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 45 | |
Marcel Holtmann | 65efd2b | 2014-11-02 03:32:25 +0100 | [diff] [blame] | 46 | config BT_BREDR |
| 47 | bool "Bluetooth Classic (BR/EDR) features" |
| 48 | depends on BT |
| 49 | default y |
Pavel Machek | 198ec9a | 2017-08-08 15:48:40 +0200 | [diff] [blame] | 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. |
Alexander Aring | 9755088 | 2014-03-04 10:23:02 +0100 | [diff] [blame] | 55 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 56 | source "net/bluetooth/rfcomm/Kconfig" |
| 57 | |
| 58 | source "net/bluetooth/bnep/Kconfig" |
| 59 | |
| 60 | source "net/bluetooth/cmtp/Kconfig" |
| 61 | |
| 62 | source "net/bluetooth/hidp/Kconfig" |
| 63 | |
Arron Wang | 244bc37 | 2015-07-24 17:12:55 +0800 | [diff] [blame] | 64 | config BT_HS |
| 65 | bool "Bluetooth High Speed (HS) features" |
| 66 | depends on BT_BREDR |
Pavel Machek | 198ec9a | 2017-08-08 15:48:40 +0200 | [diff] [blame] | 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. |
Arron Wang | 244bc37 | 2015-07-24 17:12:55 +0800 | [diff] [blame] | 71 | |
Marcel Holtmann | 65efd2b | 2014-11-02 03:32:25 +0100 | [diff] [blame] | 72 | config BT_LE |
| 73 | bool "Bluetooth Low Energy (LE) features" |
| 74 | depends on BT |
| 75 | default y |
Pavel Machek | 198ec9a | 2017-08-08 15:48:40 +0200 | [diff] [blame] | 76 | help |
| 77 | Bluetooth Low Energy includes support low-energy physical |
| 78 | layer available with Bluetooth version 4.0 or later. |
Marcel Holtmann | 65efd2b | 2014-11-02 03:32:25 +0100 | [diff] [blame] | 79 | |
| 80 | config BT_6LOWPAN |
| 81 | tristate "Bluetooth 6LoWPAN support" |
| 82 | depends on BT_LE && 6LOWPAN |
| 83 | help |
| 84 | IPv6 compression over Bluetooth Low Energy. |
| 85 | |
Heiner Kallweit | 6d5d2ee | 2016-01-08 19:28:58 +0100 | [diff] [blame] | 86 | config 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 | |
Miao-chen Chou | 145373c | 2020-04-03 21:44:01 +0200 | [diff] [blame] | 95 | config 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 | |
Marcel Holtmann | f67743f | 2021-04-06 21:55:52 +0200 | [diff] [blame] | 102 | config 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 | |
Marcel Holtmann | 3d233604 | 2020-04-03 21:44:00 +0200 | [diff] [blame] | 109 | config 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 | |
Marcel Holtmann | ee48529 | 2014-12-29 20:48:35 -0800 | [diff] [blame] | 117 | config 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 | |
Johan Hedberg | 0b6415b | 2014-12-29 20:48:36 -0800 | [diff] [blame] | 130 | config 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 | |
Johan Hedberg | 0a2b0f0 | 2014-12-30 09:50:39 +0200 | [diff] [blame] | 137 | config 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 | |
Marcel Holtmann | e625e50 | 2020-05-06 09:57:52 +0200 | [diff] [blame] | 144 | config 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 151 | source "drivers/bluetooth/Kconfig" |