Commit | Line | Data |
---|---|---|
b2441318 | 1 | # SPDX-License-Identifier: GPL-2.0 |
1da177e4 LT |
2 | |
3 | menu "Bluetooth device drivers" | |
4 | depends on BT | |
5 | ||
48f0ed1b MH |
6 | config BT_INTEL |
7 | tristate | |
d06f107b | 8 | select REGMAP |
48f0ed1b | 9 | |
4fba30f0 MH |
10 | config BT_BCM |
11 | tristate | |
1c8ba6d0 | 12 | select FW_LOADER |
4fba30f0 | 13 | |
db33c77d CC |
14 | config BT_RTL |
15 | tristate | |
16 | select FW_LOADER | |
17 | ||
83e81961 BYTK |
18 | config BT_QCA |
19 | tristate | |
20 | select FW_LOADER | |
21 | ||
8c0d17b6 SW |
22 | config BT_MTK |
23 | tristate | |
24 | select FW_LOADER | |
25 | ||
5e23b923 | 26 | config BT_HCIBTUSB |
9bfa35fe MH |
27 | tristate "HCI USB driver" |
28 | depends on USB | |
4185a0f5 | 29 | select BT_INTEL |
5e23b923 MH |
30 | help |
31 | Bluetooth HCI USB driver. | |
32 | This driver is required if you want to use Bluetooth devices with | |
33 | USB interface. | |
34 | ||
5e23b923 MH |
35 | Say Y here to compile support for Bluetooth USB devices into the |
36 | kernel or say M to compile it as module (btusb). | |
37 | ||
eff2d68c | 38 | config BT_HCIBTUSB_AUTOSUSPEND |
e7232d18 | 39 | bool "Enable USB autosuspend for Bluetooth USB devices by default" |
eff2d68c HG |
40 | depends on BT_HCIBTUSB |
41 | help | |
42 | Say Y here to enable USB autosuspend for Bluetooth USB devices by | |
43 | default. | |
44 | ||
45 | This can be overridden by passing btusb.enable_autosuspend=[y|n] | |
46 | on the kernel commandline. | |
47 | ||
bb1afb29 LAD |
48 | config BT_HCIBTUSB_POLL_SYNC |
49 | bool "Enable USB poll_sync for Bluetooth USB devices by default" | |
50 | depends on BT_HCIBTUSB | |
db112235 | 51 | default y |
bb1afb29 LAD |
52 | help |
53 | poll_sync synchronizes the USB data and event endpoints by | |
54 | prioritizing the later. | |
55 | ||
56 | Say Y here to enable USB poll_sync for Bluetooth USB devices by | |
57 | default. | |
58 | ||
c2bfb100 MH |
59 | config BT_HCIBTUSB_BCM |
60 | bool "Broadcom protocol support" | |
61 | depends on BT_HCIBTUSB | |
62 | select BT_BCM | |
63 | default y | |
64 | help | |
65 | The Broadcom protocol support enables firmware and patchram | |
66 | download support for Broadcom Bluetooth controllers. | |
67 | ||
68 | Say Y here to compile support for Broadcom protocol. | |
69 | ||
a1c49c43 SW |
70 | config BT_HCIBTUSB_MTK |
71 | bool "MediaTek protocol support" | |
72 | depends on BT_HCIBTUSB | |
8c0d17b6 | 73 | select BT_MTK |
a1c49c43 SW |
74 | default n |
75 | help | |
76 | The MediaTek protocol support enables firmware download | |
77 | support and chip initialization for MediaTek Bluetooth | |
78 | USB controllers. | |
79 | ||
80 | Say Y here to compile support for MediaTek protocol. | |
81 | ||
db33c77d CC |
82 | config BT_HCIBTUSB_RTL |
83 | bool "Realtek protocol support" | |
84 | depends on BT_HCIBTUSB | |
85 | select BT_RTL | |
86 | default y | |
87 | help | |
88 | The Realtek protocol support enables firmware and configuration | |
89 | download support for Realtek Bluetooth controllers. | |
90 | ||
91 | Say Y here to compile support for Realtek protocol. | |
92 | ||
ddbaf13e MH |
93 | config BT_HCIBTSDIO |
94 | tristate "HCI SDIO driver" | |
95 | depends on MMC | |
96 | help | |
97 | Bluetooth HCI SDIO driver. | |
98 | This driver is required if you want to use Bluetooth device with | |
99 | SDIO interface. | |
100 | ||
101 | Say Y here to compile support for Bluetooth SDIO devices into the | |
102 | kernel or say M to compile it as module (btsdio). | |
103 | ||
1da177e4 LT |
104 | config BT_HCIUART |
105 | tristate "HCI UART driver" | |
05e89fb5 | 106 | depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS |
b71b25fe | 107 | depends on NVMEM || !NVMEM |
4f73bc4d | 108 | depends on TTY |
1da177e4 LT |
109 | help |
110 | Bluetooth HCI UART driver. | |
111 | This driver is required if you want to use Bluetooth devices with | |
8ba8b4c0 SG |
112 | serial port interface. You will also need this driver if you have |
113 | UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card | |
1da177e4 LT |
114 | adapter and BrainBoxes Bluetooth PC Card. |
115 | ||
116 | Say Y here to compile support for Bluetooth UART devices into the | |
117 | kernel or say M to compile it as module (hci_uart). | |
118 | ||
1fb78fb6 AB |
119 | config BT_HCIUART_SERDEV |
120 | bool | |
121 | depends on SERIAL_DEV_BUS && BT_HCIUART | |
1fb78fb6 AB |
122 | default y |
123 | ||
1da177e4 LT |
124 | config BT_HCIUART_H4 |
125 | bool "UART (H4) protocol support" | |
126 | depends on BT_HCIUART | |
127 | help | |
8ba8b4c0 SG |
128 | UART (H4) is serial protocol for communication between Bluetooth |
129 | device and host. This protocol is required for most Bluetooth devices | |
130 | with UART interface, including PCMCIA and CF cards. | |
1da177e4 LT |
131 | |
132 | Say Y here to compile support for HCI UART (H4) protocol. | |
133 | ||
7bb31868 SR |
134 | config BT_HCIUART_NOKIA |
135 | tristate "UART Nokia H4+ protocol support" | |
136 | depends on BT_HCIUART | |
1fb78fb6 | 137 | depends on BT_HCIUART_SERDEV |
a3a446c7 | 138 | depends on GPIOLIB |
7bb31868 | 139 | depends on PM |
c42c88e6 | 140 | select BT_HCIUART_H4 |
6a485420 | 141 | select BT_BCM |
7bb31868 SR |
142 | help |
143 | Nokia H4+ is serial protocol for communication between Bluetooth | |
144 | device and host. This protocol is required for Bluetooth devices | |
145 | with UART interface in Nokia devices. | |
146 | ||
147 | Say Y here to compile support for Nokia's H4+ protocol. | |
148 | ||
1da177e4 LT |
149 | config BT_HCIUART_BCSP |
150 | bool "BCSP protocol support" | |
151 | depends on BT_HCIUART | |
d3a8eab0 | 152 | select BITREVERSE |
1da177e4 | 153 | help |
8ba8b4c0 | 154 | BCSP (BlueCore Serial Protocol) is serial protocol for communication |
1da177e4 LT |
155 | between Bluetooth device and host. This protocol is required for non |
156 | USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and | |
157 | CF cards. | |
158 | ||
159 | Say Y here to compile support for HCI BCSP protocol. | |
160 | ||
b3190df6 SS |
161 | config BT_HCIUART_ATH3K |
162 | bool "Atheros AR300x serial support" | |
163 | depends on BT_HCIUART | |
d90aa682 | 164 | select BT_HCIUART_H4 |
b3190df6 SS |
165 | help |
166 | HCIATH3K (HCI Atheros AR300x) is a serial protocol for | |
167 | communication between host and Atheros AR300x Bluetooth devices. | |
168 | This protocol enables AR300x chips to be enabled with | |
169 | power management support. | |
170 | Enable this if you have Atheros AR300x serial Bluetooth device. | |
171 | ||
172 | Say Y here to compile support for HCI UART ATH3K protocol. | |
173 | ||
166d2f6a OBC |
174 | config BT_HCIUART_LL |
175 | bool "HCILL protocol support" | |
76c4969f | 176 | depends on BT_HCIUART_SERDEV |
f9d7c8fd | 177 | select BT_HCIUART_H4 |
166d2f6a OBC |
178 | help |
179 | HCILL (HCI Low Level) is a serial protocol for communication | |
180 | between Bluetooth device and host. This protocol is required for | |
181 | serial Bluetooth devices that are based on Texas Instruments' | |
182 | BRF chips. | |
183 | ||
184 | Say Y here to compile support for HCILL protocol. | |
185 | ||
7dec65c8 JH |
186 | config BT_HCIUART_3WIRE |
187 | bool "Three-wire UART (H5) protocol support" | |
188 | depends on BT_HCIUART | |
6c3711ec | 189 | depends on BT_HCIUART_SERDEV |
7dec65c8 JH |
190 | help |
191 | The HCI Three-wire UART Transport Layer makes it possible to | |
192 | user the Bluetooth HCI over a serial port interface. The HCI | |
193 | Three-wire UART Transport Layer assumes that the UART | |
194 | communication may have bit errors, overrun errors or burst | |
195 | errors and thereby making CTS/RTS lines unnecessary. | |
196 | ||
197 | Say Y here to compile support for Three-wire UART protocol. | |
198 | ||
16e3887f MH |
199 | config BT_HCIUART_INTEL |
200 | bool "Intel protocol support" | |
201 | depends on BT_HCIUART | |
a3a446c7 | 202 | depends on GPIOLIB |
ca93cee5 | 203 | select BT_HCIUART_H4 |
bca03c95 | 204 | select BT_INTEL |
16e3887f MH |
205 | help |
206 | The Intel protocol support enables Bluetooth HCI over serial | |
207 | port interface for Intel Bluetooth controllers. | |
208 | ||
209 | Say Y here to compile support for Intel protocol. | |
210 | ||
e9a2dd26 MH |
211 | config BT_HCIUART_BCM |
212 | bool "Broadcom protocol support" | |
213 | depends on BT_HCIUART | |
33cd149e | 214 | depends on BT_HCIUART_SERDEV |
4294625e | 215 | depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT) |
a3a446c7 | 216 | depends on GPIOLIB |
bdd8818e | 217 | select BT_HCIUART_H4 |
3e0ac12a | 218 | select BT_BCM |
e9a2dd26 MH |
219 | help |
220 | The Broadcom protocol support enables Bluetooth HCI over serial | |
221 | port interface for Broadcom Bluetooth controllers. | |
222 | ||
223 | Say Y here to compile support for Broadcom protocol. | |
224 | ||
b9763cdf MH |
225 | config BT_HCIUART_RTL |
226 | bool "Realtek protocol support" | |
227 | depends on BT_HCIUART | |
228 | depends on BT_HCIUART_SERDEV | |
229 | depends on GPIOLIB | |
848fc616 | 230 | depends on (ACPI || SERIAL_DEV_CTRL_TTYPORT) |
b9763cdf MH |
231 | select BT_HCIUART_3WIRE |
232 | select BT_RTL | |
233 | help | |
234 | The Realtek protocol support enables Bluetooth HCI over 3-Wire | |
e22998f5 | 235 | serial port interface for Realtek Bluetooth controllers. |
b9763cdf MH |
236 | |
237 | Say Y here to compile support for Realtek protocol. | |
238 | ||
0ff252c1 BYTK |
239 | config BT_HCIUART_QCA |
240 | bool "Qualcomm Atheros protocol support" | |
241 | depends on BT_HCIUART | |
05ba533c | 242 | depends on BT_HCIUART_SERDEV |
0ff252c1 BYTK |
243 | select BT_HCIUART_H4 |
244 | select BT_QCA | |
245 | help | |
246 | The Qualcomm Atheros protocol supports HCI In-Band Sleep feature | |
247 | over serial port interface(H4) between controller and host. | |
248 | This protocol is required for UART clock control for QCA Bluetooth | |
249 | devices. | |
250 | ||
251 | Say Y here to compile support for QCA protocol. | |
252 | ||
395174bb LP |
253 | config BT_HCIUART_AG6XX |
254 | bool "Intel AG6XX protocol support" | |
255 | depends on BT_HCIUART | |
256 | select BT_HCIUART_H4 | |
257 | select BT_INTEL | |
258 | help | |
259 | The Intel/AG6XX protocol support enables Bluetooth HCI over serial | |
260 | port interface for Intel ibt 2.1 Bluetooth controllers. | |
261 | ||
262 | Say Y here to compile support for Intel AG6XX protocol. | |
162f812f LP |
263 | |
264 | config BT_HCIUART_MRVL | |
265 | bool "Marvell protocol support" | |
266 | depends on BT_HCIUART | |
be70e5e7 | 267 | depends on BT_HCIUART_SERDEV |
162f812f LP |
268 | select BT_HCIUART_H4 |
269 | help | |
270 | Marvell is serial protocol for communication between Bluetooth | |
271 | device and host. This protocol is required for most Marvell Bluetooth | |
272 | devices with UART interface. | |
273 | ||
274 | Say Y here to compile support for HCI MRVL protocol. | |
395174bb | 275 | |
1da177e4 LT |
276 | config BT_HCIBCM203X |
277 | tristate "HCI BCM203x USB driver" | |
278 | depends on USB | |
279 | select FW_LOADER | |
280 | help | |
281 | Bluetooth HCI BCM203x USB driver. | |
282 | This driver provides the firmware loading mechanism for the Broadcom | |
283 | Blutonium based devices. | |
284 | ||
285 | Say Y here to compile support for HCI BCM203x devices into the | |
286 | kernel or say M to compile it as module (bcm203x). | |
287 | ||
8a061276 SP |
288 | |
289 | config BT_HCIBCM4377 | |
290 | tristate "HCI BCM4377/4378/4387 PCIe driver" | |
291 | depends on PCI | |
292 | select FW_LOADER | |
293 | help | |
294 | Support for Broadcom BCM4377/4378/4387 Bluetooth chipsets attached via | |
295 | PCIe. These are usually found in Apple machines. | |
296 | ||
297 | Say Y here to compile support for HCI BCM4377 family devices into the | |
298 | kernel or say M to compile it as module (hci_bcm4377). | |
299 | ||
1da177e4 LT |
300 | config BT_HCIBPA10X |
301 | tristate "HCI BPA10x USB driver" | |
07eb96a5 | 302 | depends on USB |
1da177e4 LT |
303 | help |
304 | Bluetooth HCI BPA10x USB driver. | |
305 | This driver provides support for the Digianswer BPA 100/105 Bluetooth | |
306 | sniffer devices. | |
307 | ||
308 | Say Y here to compile support for HCI BPA10x devices into the | |
309 | kernel or say M to compile it as module (bpa10x). | |
310 | ||
311 | config BT_HCIBFUSB | |
312 | tristate "HCI BlueFRITZ! USB driver" | |
313 | depends on USB | |
314 | select FW_LOADER | |
315 | help | |
316 | Bluetooth HCI BlueFRITZ! USB driver. | |
317 | This driver provides support for Bluetooth USB devices with AVM | |
318 | interface: | |
319 | AVM BlueFRITZ! USB | |
320 | ||
321 | Say Y here to compile support for HCI BFUSB devices into the | |
322 | kernel or say M to compile it as module (bfusb). | |
323 | ||
324 | config BT_HCIDTL1 | |
325 | tristate "HCI DTL1 (PC Card) driver" | |
326 | depends on PCMCIA | |
327 | help | |
328 | Bluetooth HCI DTL1 (PC Card) driver. | |
329 | This driver provides support for Bluetooth PCMCIA devices with | |
330 | Nokia DTL1 interface: | |
331 | Nokia Bluetooth Card | |
332 | Socket Bluetooth CF Card | |
333 | ||
334 | Say Y here to compile support for HCI DTL1 devices into the | |
335 | kernel or say M to compile it as module (dtl1_cs). | |
336 | ||
337 | config BT_HCIBT3C | |
338 | tristate "HCI BT3C (PC Card) driver" | |
339 | depends on PCMCIA | |
340 | select FW_LOADER | |
341 | help | |
342 | Bluetooth HCI BT3C (PC Card) driver. | |
343 | This driver provides support for Bluetooth PCMCIA devices with | |
344 | 3Com BT3C interface: | |
345 | 3Com Bluetooth Card (3CRWB6096) | |
346 | HP Bluetooth Card | |
347 | ||
348 | Say Y here to compile support for HCI BT3C devices into the | |
349 | kernel or say M to compile it as module (bt3c_cs). | |
350 | ||
351 | config BT_HCIBLUECARD | |
352 | tristate "HCI BlueCard (PC Card) driver" | |
353 | depends on PCMCIA | |
354 | help | |
355 | Bluetooth HCI BlueCard (PC Card) driver. | |
356 | This driver provides support for Bluetooth PCMCIA devices with | |
357 | Anycom BlueCard interface: | |
358 | Anycom Bluetooth PC Card | |
359 | Anycom Bluetooth CF Card | |
360 | ||
361 | Say Y here to compile support for HCI BlueCard devices into the | |
362 | kernel or say M to compile it as module (bluecard_cs). | |
363 | ||
1da177e4 LT |
364 | config BT_HCIVHCI |
365 | tristate "HCI VHCI (Virtual HCI device) driver" | |
366 | help | |
367 | Bluetooth Virtual HCI device driver. | |
368 | This driver is required if you want to use HCI Emulation software. | |
369 | ||
370 | Say Y here to compile support for virtual HCI devices into the | |
371 | kernel or say M to compile it as module (hci_vhci). | |
372 | ||
132ff4e5 BZ |
373 | config BT_MRVL |
374 | tristate "Marvell Bluetooth driver support" | |
132ff4e5 BZ |
375 | help |
376 | The core driver to support Marvell Bluetooth devices. | |
377 | ||
378 | This driver is required if you want to support | |
73623340 | 379 | Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8977/8987/8997. |
132ff4e5 BZ |
380 | |
381 | Say Y here to compile Marvell Bluetooth driver | |
382 | into the kernel or say M to compile it as module. | |
383 | ||
789221ec BZ |
384 | config BT_MRVL_SDIO |
385 | tristate "Marvell BT-over-SDIO driver" | |
386 | depends on BT_MRVL && MMC | |
e7a25f98 | 387 | select FW_LOADER |
dc759613 | 388 | select WANT_DEV_COREDUMP |
789221ec BZ |
389 | help |
390 | The driver for Marvell Bluetooth chipsets with SDIO interface. | |
391 | ||
392 | This driver is required if you want to use Marvell Bluetooth | |
73623340 | 393 | devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8987/SD8997 |
2ac654f7 | 394 | chipsets are supported. |
789221ec BZ |
395 | |
396 | Say Y here to compile support for Marvell BT-over-SDIO driver | |
397 | into the kernel or say M to compile it as module. | |
398 | ||
9670d80a VK |
399 | config BT_ATH3K |
400 | tristate "Atheros firmware download driver" | |
401 | depends on BT_HCIBTUSB | |
402 | select FW_LOADER | |
403 | help | |
404 | Bluetooth firmware download driver. | |
405 | This driver loads the firmware into the Atheros Bluetooth | |
406 | chipset. | |
1da177e4 | 407 | |
9670d80a VK |
408 | Say Y here to compile support for "Atheros firmware download driver" |
409 | into the kernel or say M to compile it as module (ath3k). | |
410 | ||
9aebfd4a SW |
411 | config BT_MTKSDIO |
412 | tristate "MediaTek HCI SDIO driver" | |
413 | depends on MMC | |
3a722044 | 414 | select BT_MTK |
9aebfd4a SW |
415 | help |
416 | MediaTek Bluetooth HCI SDIO driver. | |
417 | This driver is required if you want to use MediaTek Bluetooth | |
418 | with SDIO interface. | |
419 | ||
420 | Say Y here to compile support for MediaTek Bluetooth SDIO devices | |
421 | into the kernel or say M to compile it as module (btmtksdio). | |
422 | ||
7237c4c9 SW |
423 | config BT_MTKUART |
424 | tristate "MediaTek HCI UART driver" | |
425 | depends on SERIAL_DEV_BUS | |
f5c3f989 | 426 | select BT_MTK |
7237c4c9 SW |
427 | help |
428 | MediaTek Bluetooth HCI UART driver. | |
429 | This driver is required if you want to use MediaTek Bluetooth | |
430 | with serial interface. | |
431 | ||
432 | Say Y here to compile support for MediaTek Bluetooth UART devices | |
433 | into the kernel or say M to compile it as module (btmtkuart). | |
434 | ||
1511cc75 BA |
435 | config BT_QCOMSMD |
436 | tristate "Qualcomm SMD based HCI support" | |
5052de8d | 437 | depends on RPMSG || (COMPILE_TEST && RPMSG=n) |
6e9e6cc8 | 438 | depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n) |
1511cc75 BA |
439 | select BT_QCA |
440 | help | |
441 | Qualcomm SMD based HCI driver. | |
442 | This driver is used to bridge HCI data onto the shared memory | |
443 | channels to the WCNSS core. | |
444 | ||
445 | Say Y here to compile support for HCI over Qualcomm SMD into the | |
446 | kernel or say M to compile as a module. | |
447 | ||
38aa4da5 | 448 | config BT_HCIRSI |
255dd5b7 | 449 | tristate |
38aa4da5 PRG |
450 | help |
451 | Redpine BT driver. | |
452 | This driver handles BT traffic from upper layers and pass | |
453 | to the RSI_91x coex module for further scheduling to device | |
454 | ||
455 | Say Y here to compile support for HCI over Redpine into the | |
456 | kernel or say M to compile as a module. | |
457 | ||
afd2daa2 MH |
458 | config BT_VIRTIO |
459 | tristate "Virtio Bluetooth driver" | |
460 | depends on VIRTIO | |
461 | help | |
462 | Virtio Bluetooth support driver. | |
463 | This driver supports Virtio Bluetooth devices. | |
464 | ||
465 | Say Y here to compile support for HCI over Virtio into the | |
466 | kernel or say M to compile as a module. | |
467 | ||
9670d80a | 468 | endmenu |