]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - drivers/bluetooth/Kconfig
liquidio: copperhead LED identification
[mirror_ubuntu-hirsute-kernel.git] / drivers / bluetooth / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2
3 menu "Bluetooth device drivers"
4 depends on BT
5
6 config BT_INTEL
7 tristate
8 select REGMAP
9
10 config BT_BCM
11 tristate
12 select FW_LOADER
13
14 config BT_RTL
15 tristate
16 select FW_LOADER
17
18 config BT_QCA
19 tristate
20 select FW_LOADER
21
22 config BT_HCIBTUSB
23 tristate "HCI USB driver"
24 depends on USB
25 select BT_INTEL
26 help
27 Bluetooth HCI USB driver.
28 This driver is required if you want to use Bluetooth devices with
29 USB interface.
30
31 Say Y here to compile support for Bluetooth USB devices into the
32 kernel or say M to compile it as module (btusb).
33
34 config BT_HCIBTUSB_AUTOSUSPEND
35 bool "Enable USB autosuspend for Bluetooth USB devices by default"
36 depends on BT_HCIBTUSB
37 help
38 Say Y here to enable USB autosuspend for Bluetooth USB devices by
39 default.
40
41 This can be overridden by passing btusb.enable_autosuspend=[y|n]
42 on the kernel commandline.
43
44 config BT_HCIBTUSB_BCM
45 bool "Broadcom protocol support"
46 depends on BT_HCIBTUSB
47 select BT_BCM
48 default y
49 help
50 The Broadcom protocol support enables firmware and patchram
51 download support for Broadcom Bluetooth controllers.
52
53 Say Y here to compile support for Broadcom protocol.
54
55 config BT_HCIBTUSB_RTL
56 bool "Realtek protocol support"
57 depends on BT_HCIBTUSB
58 select BT_RTL
59 default y
60 help
61 The Realtek protocol support enables firmware and configuration
62 download support for Realtek Bluetooth controllers.
63
64 Say Y here to compile support for Realtek protocol.
65
66 config BT_HCIBTSDIO
67 tristate "HCI SDIO driver"
68 depends on MMC
69 help
70 Bluetooth HCI SDIO driver.
71 This driver is required if you want to use Bluetooth device with
72 SDIO interface.
73
74 Say Y here to compile support for Bluetooth SDIO devices into the
75 kernel or say M to compile it as module (btsdio).
76
77 config BT_HCIUART
78 tristate "HCI UART driver"
79 depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS
80 depends on NVMEM || !NVMEM
81 depends on TTY
82 help
83 Bluetooth HCI UART driver.
84 This driver is required if you want to use Bluetooth devices with
85 serial port interface. You will also need this driver if you have
86 UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
87 adapter and BrainBoxes Bluetooth PC Card.
88
89 Say Y here to compile support for Bluetooth UART devices into the
90 kernel or say M to compile it as module (hci_uart).
91
92 config BT_HCIUART_SERDEV
93 bool
94 depends on SERIAL_DEV_BUS && BT_HCIUART
95 default y
96
97 config BT_HCIUART_H4
98 bool "UART (H4) protocol support"
99 depends on BT_HCIUART
100 help
101 UART (H4) is serial protocol for communication between Bluetooth
102 device and host. This protocol is required for most Bluetooth devices
103 with UART interface, including PCMCIA and CF cards.
104
105 Say Y here to compile support for HCI UART (H4) protocol.
106
107 config BT_HCIUART_NOKIA
108 tristate "UART Nokia H4+ protocol support"
109 depends on BT_HCIUART
110 depends on BT_HCIUART_SERDEV
111 depends on GPIOLIB
112 depends on PM
113 select BT_HCIUART_H4
114 select BT_BCM
115 help
116 Nokia H4+ is serial protocol for communication between Bluetooth
117 device and host. This protocol is required for Bluetooth devices
118 with UART interface in Nokia devices.
119
120 Say Y here to compile support for Nokia's H4+ protocol.
121
122 config BT_HCIUART_BCSP
123 bool "BCSP protocol support"
124 depends on BT_HCIUART
125 select BITREVERSE
126 help
127 BCSP (BlueCore Serial Protocol) is serial protocol for communication
128 between Bluetooth device and host. This protocol is required for non
129 USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
130 CF cards.
131
132 Say Y here to compile support for HCI BCSP protocol.
133
134 config BT_HCIUART_ATH3K
135 bool "Atheros AR300x serial support"
136 depends on BT_HCIUART
137 select BT_HCIUART_H4
138 help
139 HCIATH3K (HCI Atheros AR300x) is a serial protocol for
140 communication between host and Atheros AR300x Bluetooth devices.
141 This protocol enables AR300x chips to be enabled with
142 power management support.
143 Enable this if you have Atheros AR300x serial Bluetooth device.
144
145 Say Y here to compile support for HCI UART ATH3K protocol.
146
147 config BT_HCIUART_LL
148 bool "HCILL protocol support"
149 depends on BT_HCIUART_SERDEV
150 select BT_HCIUART_H4
151 help
152 HCILL (HCI Low Level) is a serial protocol for communication
153 between Bluetooth device and host. This protocol is required for
154 serial Bluetooth devices that are based on Texas Instruments'
155 BRF chips.
156
157 Say Y here to compile support for HCILL protocol.
158
159 config BT_HCIUART_3WIRE
160 bool "Three-wire UART (H5) protocol support"
161 depends on BT_HCIUART
162 depends on BT_HCIUART_SERDEV
163 help
164 The HCI Three-wire UART Transport Layer makes it possible to
165 user the Bluetooth HCI over a serial port interface. The HCI
166 Three-wire UART Transport Layer assumes that the UART
167 communication may have bit errors, overrun errors or burst
168 errors and thereby making CTS/RTS lines unnecessary.
169
170 Say Y here to compile support for Three-wire UART protocol.
171
172 config BT_HCIUART_INTEL
173 bool "Intel protocol support"
174 depends on BT_HCIUART
175 depends on GPIOLIB
176 select BT_HCIUART_H4
177 select BT_INTEL
178 help
179 The Intel protocol support enables Bluetooth HCI over serial
180 port interface for Intel Bluetooth controllers.
181
182 Say Y here to compile support for Intel protocol.
183
184 config BT_HCIUART_BCM
185 bool "Broadcom protocol support"
186 depends on BT_HCIUART
187 depends on BT_HCIUART_SERDEV
188 depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT)
189 depends on GPIOLIB
190 select BT_HCIUART_H4
191 select BT_BCM
192 help
193 The Broadcom protocol support enables Bluetooth HCI over serial
194 port interface for Broadcom Bluetooth controllers.
195
196 Say Y here to compile support for Broadcom protocol.
197
198 config BT_HCIUART_RTL
199 bool "Realtek protocol support"
200 depends on BT_HCIUART
201 depends on BT_HCIUART_SERDEV
202 depends on GPIOLIB
203 select BT_HCIUART_3WIRE
204 select BT_RTL
205 help
206 The Realtek protocol support enables Bluetooth HCI over 3-Wire
207 serial port internface for Realtek Bluetooth controllers.
208
209 Say Y here to compile support for Realtek protocol.
210
211 config BT_HCIUART_QCA
212 bool "Qualcomm Atheros protocol support"
213 depends on BT_HCIUART
214 depends on BT_HCIUART_SERDEV
215 select BT_HCIUART_H4
216 select BT_QCA
217 help
218 The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
219 over serial port interface(H4) between controller and host.
220 This protocol is required for UART clock control for QCA Bluetooth
221 devices.
222
223 Say Y here to compile support for QCA protocol.
224
225 config BT_HCIUART_AG6XX
226 bool "Intel AG6XX protocol support"
227 depends on BT_HCIUART
228 select BT_HCIUART_H4
229 select BT_INTEL
230 help
231 The Intel/AG6XX protocol support enables Bluetooth HCI over serial
232 port interface for Intel ibt 2.1 Bluetooth controllers.
233
234 Say Y here to compile support for Intel AG6XX protocol.
235
236 config BT_HCIUART_MRVL
237 bool "Marvell protocol support"
238 depends on BT_HCIUART
239 select BT_HCIUART_H4
240 help
241 Marvell is serial protocol for communication between Bluetooth
242 device and host. This protocol is required for most Marvell Bluetooth
243 devices with UART interface.
244
245 Say Y here to compile support for HCI MRVL protocol.
246
247 config BT_HCIBCM203X
248 tristate "HCI BCM203x USB driver"
249 depends on USB
250 select FW_LOADER
251 help
252 Bluetooth HCI BCM203x USB driver.
253 This driver provides the firmware loading mechanism for the Broadcom
254 Blutonium based devices.
255
256 Say Y here to compile support for HCI BCM203x devices into the
257 kernel or say M to compile it as module (bcm203x).
258
259 config BT_HCIBPA10X
260 tristate "HCI BPA10x USB driver"
261 depends on USB
262 help
263 Bluetooth HCI BPA10x USB driver.
264 This driver provides support for the Digianswer BPA 100/105 Bluetooth
265 sniffer devices.
266
267 Say Y here to compile support for HCI BPA10x devices into the
268 kernel or say M to compile it as module (bpa10x).
269
270 config BT_HCIBFUSB
271 tristate "HCI BlueFRITZ! USB driver"
272 depends on USB
273 select FW_LOADER
274 help
275 Bluetooth HCI BlueFRITZ! USB driver.
276 This driver provides support for Bluetooth USB devices with AVM
277 interface:
278 AVM BlueFRITZ! USB
279
280 Say Y here to compile support for HCI BFUSB devices into the
281 kernel or say M to compile it as module (bfusb).
282
283 config BT_HCIDTL1
284 tristate "HCI DTL1 (PC Card) driver"
285 depends on PCMCIA
286 help
287 Bluetooth HCI DTL1 (PC Card) driver.
288 This driver provides support for Bluetooth PCMCIA devices with
289 Nokia DTL1 interface:
290 Nokia Bluetooth Card
291 Socket Bluetooth CF Card
292
293 Say Y here to compile support for HCI DTL1 devices into the
294 kernel or say M to compile it as module (dtl1_cs).
295
296 config BT_HCIBT3C
297 tristate "HCI BT3C (PC Card) driver"
298 depends on PCMCIA
299 select FW_LOADER
300 help
301 Bluetooth HCI BT3C (PC Card) driver.
302 This driver provides support for Bluetooth PCMCIA devices with
303 3Com BT3C interface:
304 3Com Bluetooth Card (3CRWB6096)
305 HP Bluetooth Card
306
307 Say Y here to compile support for HCI BT3C devices into the
308 kernel or say M to compile it as module (bt3c_cs).
309
310 config BT_HCIBLUECARD
311 tristate "HCI BlueCard (PC Card) driver"
312 depends on PCMCIA
313 help
314 Bluetooth HCI BlueCard (PC Card) driver.
315 This driver provides support for Bluetooth PCMCIA devices with
316 Anycom BlueCard interface:
317 Anycom Bluetooth PC Card
318 Anycom Bluetooth CF Card
319
320 Say Y here to compile support for HCI BlueCard devices into the
321 kernel or say M to compile it as module (bluecard_cs).
322
323 config BT_HCIVHCI
324 tristate "HCI VHCI (Virtual HCI device) driver"
325 help
326 Bluetooth Virtual HCI device driver.
327 This driver is required if you want to use HCI Emulation software.
328
329 Say Y here to compile support for virtual HCI devices into the
330 kernel or say M to compile it as module (hci_vhci).
331
332 config BT_MRVL
333 tristate "Marvell Bluetooth driver support"
334 help
335 The core driver to support Marvell Bluetooth devices.
336
337 This driver is required if you want to support
338 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
339
340 Say Y here to compile Marvell Bluetooth driver
341 into the kernel or say M to compile it as module.
342
343 config BT_MRVL_SDIO
344 tristate "Marvell BT-over-SDIO driver"
345 depends on BT_MRVL && MMC
346 select FW_LOADER
347 select WANT_DEV_COREDUMP
348 help
349 The driver for Marvell Bluetooth chipsets with SDIO interface.
350
351 This driver is required if you want to use Marvell Bluetooth
352 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
353 chipsets are supported.
354
355 Say Y here to compile support for Marvell BT-over-SDIO driver
356 into the kernel or say M to compile it as module.
357
358 config BT_ATH3K
359 tristate "Atheros firmware download driver"
360 depends on BT_HCIBTUSB
361 select FW_LOADER
362 help
363 Bluetooth firmware download driver.
364 This driver loads the firmware into the Atheros Bluetooth
365 chipset.
366
367 Say Y here to compile support for "Atheros firmware download driver"
368 into the kernel or say M to compile it as module (ath3k).
369
370 config BT_WILINK
371 tristate "Texas Instruments WiLink7 driver"
372 depends on TI_ST
373 help
374 This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
375 combo devices. This makes use of shared transport line discipline
376 core driver to communicate with the BT core of the combo chip.
377
378 Say Y here to compile support for Texas Instrument's WiLink7 driver
379 into the kernel or say M to compile it as module (btwilink).
380
381 config BT_MTKUART
382 tristate "MediaTek HCI UART driver"
383 depends on SERIAL_DEV_BUS
384 help
385 MediaTek Bluetooth HCI UART driver.
386 This driver is required if you want to use MediaTek Bluetooth
387 with serial interface.
388
389 Say Y here to compile support for MediaTek Bluetooth UART devices
390 into the kernel or say M to compile it as module (btmtkuart).
391
392 config BT_QCOMSMD
393 tristate "Qualcomm SMD based HCI support"
394 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
395 depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
396 select BT_QCA
397 help
398 Qualcomm SMD based HCI driver.
399 This driver is used to bridge HCI data onto the shared memory
400 channels to the WCNSS core.
401
402 Say Y here to compile support for HCI over Qualcomm SMD into the
403 kernel or say M to compile as a module.
404
405 config BT_HCIRSI
406 tristate
407 help
408 Redpine BT driver.
409 This driver handles BT traffic from upper layers and pass
410 to the RSI_91x coex module for further scheduling to device
411
412 Say Y here to compile support for HCI over Redpine into the
413 kernel or say M to compile as a module.
414
415 endmenu