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