Kconfig 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Bluetooth subsystem configuration
  4. #
  5. menuconfig BT
  6. tristate "Bluetooth subsystem support"
  7. depends on NET && !S390
  8. depends on RFKILL || !RFKILL
  9. select CRC16
  10. select CRYPTO
  11. select CRYPTO_SKCIPHER
  12. select CRYPTO_LIB_AES
  13. imply CRYPTO_AES
  14. select CRYPTO_CMAC
  15. select CRYPTO_ECB
  16. select CRYPTO_SHA256
  17. select CRYPTO_ECDH
  18. help
  19. Bluetooth is low-cost, low-power, short-range wireless technology.
  20. It was designed as a replacement for cables and other short-range
  21. technologies like IrDA. Bluetooth operates in personal area range
  22. that typically extends up to 10 meters. More information about
  23. Bluetooth can be found at <https://www.bluetooth.com/>.
  24. Linux Bluetooth subsystem consist of several layers:
  25. Bluetooth Core
  26. HCI device and connection manager, scheduler
  27. SCO audio links
  28. L2CAP (Logical Link Control and Adaptation Protocol)
  29. SMP (Security Manager Protocol) on LE (Low Energy) links
  30. HCI Device drivers (Interface to the hardware)
  31. RFCOMM Module (RFCOMM Protocol)
  32. BNEP Module (Bluetooth Network Encapsulation Protocol)
  33. CMTP Module (CAPI Message Transport Protocol)
  34. HIDP Module (Human Interface Device Protocol)
  35. Say Y here to compile Bluetooth support into the kernel or say M to
  36. compile it as module (bluetooth).
  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. config BT_BREDR
  42. bool "Bluetooth Classic (BR/EDR) features"
  43. depends on BT
  44. default y
  45. help
  46. Bluetooth Classic includes support for Basic Rate (BR)
  47. available with Bluetooth version 1.0b or later and support
  48. for Enhanced Data Rate (EDR) available with Bluetooth
  49. version 2.0 or later.
  50. source "net/bluetooth/rfcomm/Kconfig"
  51. source "net/bluetooth/bnep/Kconfig"
  52. source "net/bluetooth/cmtp/Kconfig"
  53. source "net/bluetooth/hidp/Kconfig"
  54. config BT_HS
  55. bool "Bluetooth High Speed (HS) features"
  56. depends on BT_BREDR
  57. help
  58. Bluetooth High Speed includes support for off-loading
  59. Bluetooth connections via 802.11 (wifi) physical layer
  60. available with Bluetooth version 3.0 or later.
  61. config BT_LE
  62. bool "Bluetooth Low Energy (LE) features"
  63. depends on BT
  64. default y
  65. help
  66. Bluetooth Low Energy includes support low-energy physical
  67. layer available with Bluetooth version 4.0 or later.
  68. config BT_6LOWPAN
  69. tristate "Bluetooth 6LoWPAN support"
  70. depends on BT_LE && 6LOWPAN
  71. help
  72. IPv6 compression over Bluetooth Low Energy.
  73. config BT_LEDS
  74. bool "Enable LED triggers"
  75. depends on BT
  76. depends on LEDS_CLASS
  77. select LEDS_TRIGGERS
  78. help
  79. This option selects a few LED triggers for different
  80. Bluetooth events.
  81. config BT_MSFTEXT
  82. bool "Enable Microsoft extensions"
  83. depends on BT
  84. help
  85. This options enables support for the Microsoft defined HCI
  86. vendor extensions.
  87. config BT_DEBUGFS
  88. bool "Export Bluetooth internals in debugfs"
  89. depends on BT && DEBUG_FS
  90. default y
  91. help
  92. Provide extensive information about internal Bluetooth states
  93. in debugfs.
  94. config BT_SELFTEST
  95. bool "Bluetooth self testing support"
  96. depends on BT && DEBUG_KERNEL
  97. help
  98. Run self tests when initializing the Bluetooth subsystem. This
  99. is a developer option and can cause significant delay when booting
  100. the system.
  101. When the Bluetooth subsystem is built as module, then the test
  102. cases are run first thing at module load time. When the Bluetooth
  103. subsystem is compiled into the kernel image, then the test cases
  104. are run late in the initcall hierarchy.
  105. config BT_SELFTEST_ECDH
  106. bool "ECDH test cases"
  107. depends on BT_LE && BT_SELFTEST
  108. help
  109. Run test cases for ECDH cryptographic functionality used by the
  110. Bluetooth Low Energy Secure Connections feature.
  111. config BT_SELFTEST_SMP
  112. bool "SMP test cases"
  113. depends on BT_LE && BT_SELFTEST
  114. help
  115. Run test cases for SMP cryptographic functionality, including both
  116. legacy SMP as well as the Secure Connections features.
  117. config BT_FEATURE_DEBUG
  118. bool "Enable runtime option for debugging statements"
  119. depends on BT && !DYNAMIC_DEBUG
  120. help
  121. This provides an option to enable/disable debugging statements
  122. at runtime via the experimental features interface.
  123. source "drivers/bluetooth/Kconfig"