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