Kconfig 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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 !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. ISO isochronous links
  31. HCI Device drivers (Interface to the hardware)
  32. RFCOMM Module (RFCOMM Protocol)
  33. BNEP Module (Bluetooth Network Encapsulation Protocol)
  34. CMTP Module (CAPI Message Transport Protocol)
  35. HIDP Module (Human Interface Device Protocol)
  36. Say Y here to compile Bluetooth support into the kernel or say M to
  37. compile it as module (bluetooth).
  38. To use Linux Bluetooth subsystem, you will need several user-space
  39. utilities like hciconfig and bluetoothd. These utilities and updates
  40. to Bluetooth kernel modules are provided in the BlueZ packages. For
  41. more information, see <http://www.bluez.org/>.
  42. config BT_BREDR
  43. bool "Bluetooth Classic (BR/EDR) features"
  44. depends on BT
  45. default y
  46. help
  47. Bluetooth Classic includes support for Basic Rate (BR)
  48. available with Bluetooth version 1.0b or later and support
  49. for Enhanced Data Rate (EDR) available with Bluetooth
  50. version 2.0 or later.
  51. source "net/bluetooth/rfcomm/Kconfig"
  52. source "net/bluetooth/bnep/Kconfig"
  53. source "net/bluetooth/cmtp/Kconfig"
  54. source "net/bluetooth/hidp/Kconfig"
  55. config BT_HS
  56. bool "Bluetooth High Speed (HS) features"
  57. depends on BT_BREDR
  58. help
  59. Bluetooth High Speed includes support for off-loading
  60. Bluetooth connections via 802.11 (wifi) physical layer
  61. available with Bluetooth version 3.0 or later.
  62. config BT_LE
  63. bool "Bluetooth Low Energy (LE) features"
  64. depends on BT
  65. default y
  66. help
  67. Bluetooth Low Energy includes support low-energy physical
  68. layer available with Bluetooth version 4.0 or later.
  69. config BT_6LOWPAN
  70. tristate "Bluetooth 6LoWPAN support"
  71. depends on BT_LE && 6LOWPAN
  72. help
  73. IPv6 compression over Bluetooth Low Energy.
  74. config BT_LEDS
  75. bool "Enable LED triggers"
  76. depends on BT
  77. depends on LEDS_CLASS
  78. select LEDS_TRIGGERS
  79. help
  80. This option selects a few LED triggers for different
  81. Bluetooth events.
  82. config BT_MSFTEXT
  83. bool "Enable Microsoft extensions"
  84. depends on BT
  85. help
  86. This options enables support for the Microsoft defined HCI
  87. vendor extensions.
  88. config BT_AOSPEXT
  89. bool "Enable Android Open Source Project extensions"
  90. depends on BT
  91. help
  92. This options enables support for the Android Open Source
  93. Project defined HCI vendor extensions.
  94. config BT_DEBUGFS
  95. bool "Export Bluetooth internals in debugfs"
  96. depends on BT && DEBUG_FS
  97. default y
  98. help
  99. Provide extensive information about internal Bluetooth states
  100. in debugfs.
  101. config BT_SELFTEST
  102. bool "Bluetooth self testing support"
  103. depends on BT && DEBUG_KERNEL
  104. help
  105. Run self tests when initializing the Bluetooth subsystem. This
  106. is a developer option and can cause significant delay when booting
  107. the system.
  108. When the Bluetooth subsystem is built as module, then the test
  109. cases are run first thing at module load time. When the Bluetooth
  110. subsystem is compiled into the kernel image, then the test cases
  111. are run late in the initcall hierarchy.
  112. config BT_SELFTEST_ECDH
  113. bool "ECDH test cases"
  114. depends on BT_LE && BT_SELFTEST
  115. help
  116. Run test cases for ECDH cryptographic functionality used by the
  117. Bluetooth Low Energy Secure Connections feature.
  118. config BT_SELFTEST_SMP
  119. bool "SMP test cases"
  120. depends on BT_LE && BT_SELFTEST
  121. help
  122. Run test cases for SMP cryptographic functionality, including both
  123. legacy SMP as well as the Secure Connections features.
  124. config BT_FEATURE_DEBUG
  125. bool "Enable runtime option for debugging statements"
  126. depends on BT && !DYNAMIC_DEBUG
  127. help
  128. This provides an option to enable/disable debugging statements
  129. at runtime via the experimental features interface.
  130. source "drivers/bluetooth/Kconfig"