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 | ||
db33c77d CC |
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 | ||
ddbaf13e MH |
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 | ||
1da177e4 LT |
77 | config BT_HCIUART |
78 | tristate "HCI UART driver" | |
05e89fb5 | 79 | depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS |
b71b25fe | 80 | depends on NVMEM || !NVMEM |
4f73bc4d | 81 | depends on TTY |
1da177e4 LT |
82 | help |
83 | Bluetooth HCI UART driver. | |
84 | This driver is required if you want to use Bluetooth devices with | |
8ba8b4c0 SG |
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 | |
1da177e4 LT |
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 | ||
1fb78fb6 AB |
92 | config BT_HCIUART_SERDEV |
93 | bool | |
94 | depends on SERIAL_DEV_BUS && BT_HCIUART | |
1fb78fb6 AB |
95 | default y |
96 | ||
1da177e4 LT |
97 | config BT_HCIUART_H4 |
98 | bool "UART (H4) protocol support" | |
99 | depends on BT_HCIUART | |
100 | help | |
8ba8b4c0 SG |
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. | |
1da177e4 LT |
104 | |
105 | Say Y here to compile support for HCI UART (H4) protocol. | |
106 | ||
7bb31868 SR |
107 | config BT_HCIUART_NOKIA |
108 | tristate "UART Nokia H4+ protocol support" | |
109 | depends on BT_HCIUART | |
1fb78fb6 | 110 | depends on BT_HCIUART_SERDEV |
a3a446c7 | 111 | depends on GPIOLIB |
7bb31868 | 112 | depends on PM |
c42c88e6 | 113 | select BT_HCIUART_H4 |
6a485420 | 114 | select BT_BCM |
7bb31868 SR |
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 | ||
1da177e4 LT |
122 | config BT_HCIUART_BCSP |
123 | bool "BCSP protocol support" | |
124 | depends on BT_HCIUART | |
d3a8eab0 | 125 | select BITREVERSE |
1da177e4 | 126 | help |
8ba8b4c0 | 127 | BCSP (BlueCore Serial Protocol) is serial protocol for communication |
1da177e4 LT |
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 | ||
b3190df6 SS |
134 | config BT_HCIUART_ATH3K |
135 | bool "Atheros AR300x serial support" | |
136 | depends on BT_HCIUART | |
d90aa682 | 137 | select BT_HCIUART_H4 |
b3190df6 SS |
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 | ||
166d2f6a OBC |
147 | config BT_HCIUART_LL |
148 | bool "HCILL protocol support" | |
76c4969f | 149 | depends on BT_HCIUART_SERDEV |
f9d7c8fd | 150 | select BT_HCIUART_H4 |
166d2f6a OBC |
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 | ||
7dec65c8 JH |
159 | config BT_HCIUART_3WIRE |
160 | bool "Three-wire UART (H5) protocol support" | |
161 | depends on BT_HCIUART | |
6c3711ec | 162 | depends on BT_HCIUART_SERDEV |
7dec65c8 JH |
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 | ||
16e3887f MH |
172 | config BT_HCIUART_INTEL |
173 | bool "Intel protocol support" | |
174 | depends on BT_HCIUART | |
a3a446c7 | 175 | depends on GPIOLIB |
ca93cee5 | 176 | select BT_HCIUART_H4 |
bca03c95 | 177 | select BT_INTEL |
16e3887f MH |
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 | ||
e9a2dd26 MH |
184 | config BT_HCIUART_BCM |
185 | bool "Broadcom protocol support" | |
186 | depends on BT_HCIUART | |
33cd149e | 187 | depends on BT_HCIUART_SERDEV |
4294625e | 188 | depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT) |
a3a446c7 | 189 | depends on GPIOLIB |
bdd8818e | 190 | select BT_HCIUART_H4 |
3e0ac12a | 191 | select BT_BCM |
e9a2dd26 MH |
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 | ||
b9763cdf MH |
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 | |
51474eff | 203 | depends on ACPI |
b9763cdf MH |
204 | select BT_HCIUART_3WIRE |
205 | select BT_RTL | |
206 | help | |
207 | The Realtek protocol support enables Bluetooth HCI over 3-Wire | |
208 | serial port internface for Realtek Bluetooth controllers. | |
209 | ||
210 | Say Y here to compile support for Realtek protocol. | |
211 | ||
0ff252c1 BYTK |
212 | config BT_HCIUART_QCA |
213 | bool "Qualcomm Atheros protocol support" | |
214 | depends on BT_HCIUART | |
05ba533c | 215 | depends on BT_HCIUART_SERDEV |
0ff252c1 BYTK |
216 | select BT_HCIUART_H4 |
217 | select BT_QCA | |
218 | help | |
219 | The Qualcomm Atheros protocol supports HCI In-Band Sleep feature | |
220 | over serial port interface(H4) between controller and host. | |
221 | This protocol is required for UART clock control for QCA Bluetooth | |
222 | devices. | |
223 | ||
224 | Say Y here to compile support for QCA protocol. | |
225 | ||
395174bb LP |
226 | config BT_HCIUART_AG6XX |
227 | bool "Intel AG6XX protocol support" | |
228 | depends on BT_HCIUART | |
229 | select BT_HCIUART_H4 | |
230 | select BT_INTEL | |
231 | help | |
232 | The Intel/AG6XX protocol support enables Bluetooth HCI over serial | |
233 | port interface for Intel ibt 2.1 Bluetooth controllers. | |
234 | ||
235 | Say Y here to compile support for Intel AG6XX protocol. | |
162f812f LP |
236 | |
237 | config BT_HCIUART_MRVL | |
238 | bool "Marvell protocol support" | |
239 | depends on BT_HCIUART | |
240 | select BT_HCIUART_H4 | |
241 | help | |
242 | Marvell is serial protocol for communication between Bluetooth | |
243 | device and host. This protocol is required for most Marvell Bluetooth | |
244 | devices with UART interface. | |
245 | ||
246 | Say Y here to compile support for HCI MRVL protocol. | |
395174bb | 247 | |
1da177e4 LT |
248 | config BT_HCIBCM203X |
249 | tristate "HCI BCM203x USB driver" | |
250 | depends on USB | |
251 | select FW_LOADER | |
252 | help | |
253 | Bluetooth HCI BCM203x USB driver. | |
254 | This driver provides the firmware loading mechanism for the Broadcom | |
255 | Blutonium based devices. | |
256 | ||
257 | Say Y here to compile support for HCI BCM203x devices into the | |
258 | kernel or say M to compile it as module (bcm203x). | |
259 | ||
260 | config BT_HCIBPA10X | |
261 | tristate "HCI BPA10x USB driver" | |
07eb96a5 | 262 | depends on USB |
1da177e4 LT |
263 | help |
264 | Bluetooth HCI BPA10x USB driver. | |
265 | This driver provides support for the Digianswer BPA 100/105 Bluetooth | |
266 | sniffer devices. | |
267 | ||
268 | Say Y here to compile support for HCI BPA10x devices into the | |
269 | kernel or say M to compile it as module (bpa10x). | |
270 | ||
271 | config BT_HCIBFUSB | |
272 | tristate "HCI BlueFRITZ! USB driver" | |
273 | depends on USB | |
274 | select FW_LOADER | |
275 | help | |
276 | Bluetooth HCI BlueFRITZ! USB driver. | |
277 | This driver provides support for Bluetooth USB devices with AVM | |
278 | interface: | |
279 | AVM BlueFRITZ! USB | |
280 | ||
281 | Say Y here to compile support for HCI BFUSB devices into the | |
282 | kernel or say M to compile it as module (bfusb). | |
283 | ||
284 | config BT_HCIDTL1 | |
285 | tristate "HCI DTL1 (PC Card) driver" | |
286 | depends on PCMCIA | |
287 | help | |
288 | Bluetooth HCI DTL1 (PC Card) driver. | |
289 | This driver provides support for Bluetooth PCMCIA devices with | |
290 | Nokia DTL1 interface: | |
291 | Nokia Bluetooth Card | |
292 | Socket Bluetooth CF Card | |
293 | ||
294 | Say Y here to compile support for HCI DTL1 devices into the | |
295 | kernel or say M to compile it as module (dtl1_cs). | |
296 | ||
297 | config BT_HCIBT3C | |
298 | tristate "HCI BT3C (PC Card) driver" | |
299 | depends on PCMCIA | |
300 | select FW_LOADER | |
301 | help | |
302 | Bluetooth HCI BT3C (PC Card) driver. | |
303 | This driver provides support for Bluetooth PCMCIA devices with | |
304 | 3Com BT3C interface: | |
305 | 3Com Bluetooth Card (3CRWB6096) | |
306 | HP Bluetooth Card | |
307 | ||
308 | Say Y here to compile support for HCI BT3C devices into the | |
309 | kernel or say M to compile it as module (bt3c_cs). | |
310 | ||
311 | config BT_HCIBLUECARD | |
312 | tristate "HCI BlueCard (PC Card) driver" | |
313 | depends on PCMCIA | |
314 | help | |
315 | Bluetooth HCI BlueCard (PC Card) driver. | |
316 | This driver provides support for Bluetooth PCMCIA devices with | |
317 | Anycom BlueCard interface: | |
318 | Anycom Bluetooth PC Card | |
319 | Anycom Bluetooth CF Card | |
320 | ||
321 | Say Y here to compile support for HCI BlueCard devices into the | |
322 | kernel or say M to compile it as module (bluecard_cs). | |
323 | ||
1da177e4 LT |
324 | config BT_HCIVHCI |
325 | tristate "HCI VHCI (Virtual HCI device) driver" | |
326 | help | |
327 | Bluetooth Virtual HCI device driver. | |
328 | This driver is required if you want to use HCI Emulation software. | |
329 | ||
330 | Say Y here to compile support for virtual HCI devices into the | |
331 | kernel or say M to compile it as module (hci_vhci). | |
332 | ||
132ff4e5 BZ |
333 | config BT_MRVL |
334 | tristate "Marvell Bluetooth driver support" | |
132ff4e5 BZ |
335 | help |
336 | The core driver to support Marvell Bluetooth devices. | |
337 | ||
338 | This driver is required if you want to support | |
8c57983b | 339 | Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8977/8997. |
132ff4e5 BZ |
340 | |
341 | Say Y here to compile Marvell Bluetooth driver | |
342 | into the kernel or say M to compile it as module. | |
343 | ||
789221ec BZ |
344 | config BT_MRVL_SDIO |
345 | tristate "Marvell BT-over-SDIO driver" | |
346 | depends on BT_MRVL && MMC | |
e7a25f98 | 347 | select FW_LOADER |
dc759613 | 348 | select WANT_DEV_COREDUMP |
789221ec BZ |
349 | help |
350 | The driver for Marvell Bluetooth chipsets with SDIO interface. | |
351 | ||
352 | This driver is required if you want to use Marvell Bluetooth | |
8c57983b | 353 | devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8997 |
2ac654f7 | 354 | chipsets are supported. |
789221ec BZ |
355 | |
356 | Say Y here to compile support for Marvell BT-over-SDIO driver | |
357 | into the kernel or say M to compile it as module. | |
358 | ||
9670d80a VK |
359 | config BT_ATH3K |
360 | tristate "Atheros firmware download driver" | |
361 | depends on BT_HCIBTUSB | |
362 | select FW_LOADER | |
363 | help | |
364 | Bluetooth firmware download driver. | |
365 | This driver loads the firmware into the Atheros Bluetooth | |
366 | chipset. | |
1da177e4 | 367 | |
9670d80a VK |
368 | Say Y here to compile support for "Atheros firmware download driver" |
369 | into the kernel or say M to compile it as module (ath3k). | |
370 | ||
363907af PS |
371 | config BT_WILINK |
372 | tristate "Texas Instruments WiLink7 driver" | |
373 | depends on TI_ST | |
374 | help | |
375 | This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS | |
376 | combo devices. This makes use of shared transport line discipline | |
377 | core driver to communicate with the BT core of the combo chip. | |
378 | ||
379 | Say Y here to compile support for Texas Instrument's WiLink7 driver | |
22e8ee12 PM |
380 | into the kernel or say M to compile it as module (btwilink). |
381 | ||
7237c4c9 SW |
382 | config BT_MTKUART |
383 | tristate "MediaTek HCI UART driver" | |
384 | depends on SERIAL_DEV_BUS | |
385 | help | |
386 | MediaTek Bluetooth HCI UART driver. | |
387 | This driver is required if you want to use MediaTek Bluetooth | |
388 | with serial interface. | |
389 | ||
390 | Say Y here to compile support for MediaTek Bluetooth UART devices | |
391 | into the kernel or say M to compile it as module (btmtkuart). | |
392 | ||
1511cc75 BA |
393 | config BT_QCOMSMD |
394 | tristate "Qualcomm SMD based HCI support" | |
5052de8d | 395 | depends on RPMSG || (COMPILE_TEST && RPMSG=n) |
6e9e6cc8 | 396 | depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n) |
1511cc75 BA |
397 | select BT_QCA |
398 | help | |
399 | Qualcomm SMD based HCI driver. | |
400 | This driver is used to bridge HCI data onto the shared memory | |
401 | channels to the WCNSS core. | |
402 | ||
403 | Say Y here to compile support for HCI over Qualcomm SMD into the | |
404 | kernel or say M to compile as a module. | |
405 | ||
38aa4da5 | 406 | config BT_HCIRSI |
255dd5b7 | 407 | tristate |
38aa4da5 PRG |
408 | help |
409 | Redpine BT driver. | |
410 | This driver handles BT traffic from upper layers and pass | |
411 | to the RSI_91x coex module for further scheduling to device | |
412 | ||
413 | Say Y here to compile support for HCI over Redpine into the | |
414 | kernel or say M to compile as a module. | |
415 | ||
9670d80a | 416 | endmenu |