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