blob: 98a60db8e5d14c07d10b6e357afebe25da657801 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002
3menu "Bluetooth device drivers"
4 depends on BT
5
Marcel Holtmann48f0ed12015-04-06 00:52:11 -07006config BT_INTEL
7 tristate
Loic Poulaind06f1072015-10-01 18:16:21 +02008 select REGMAP
Marcel Holtmann48f0ed12015-04-06 00:52:11 -07009
Marcel Holtmann4fba30f2015-04-05 22:52:10 -070010config BT_BCM
11 tristate
Marcel Holtmann1c8ba6d2015-04-05 22:52:13 -070012 select FW_LOADER
Marcel Holtmann4fba30f2015-04-05 22:52:10 -070013
Carlo Caionedb33c772015-05-14 10:49:09 +020014config BT_RTL
15 tristate
16 select FW_LOADER
17
Ben Young Tae Kim83e81962015-08-10 14:24:12 -070018config BT_QCA
19 tristate
20 select FW_LOADER
21
Marcel Holtmann5e23b922007-10-20 14:12:34 +020022config BT_HCIBTUSB
Marcel Holtmann9bfa35f2008-08-18 13:23:52 +020023 tristate "HCI USB driver"
24 depends on USB
Marcel Holtmann4185a0f2015-04-06 00:52:12 -070025 select BT_INTEL
Marcel Holtmann5e23b922007-10-20 14:12:34 +020026 help
27 Bluetooth HCI USB driver.
28 This driver is required if you want to use Bluetooth devices with
29 USB interface.
30
Marcel Holtmann5e23b922007-10-20 14:12:34 +020031 Say Y here to compile support for Bluetooth USB devices into the
32 kernel or say M to compile it as module (btusb).
33
Marcel Holtmannc2bfb102015-04-05 22:52:14 -070034config 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
Carlo Caionedb33c772015-05-14 10:49:09 +020045config 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
Marcel Holtmannddbaf132007-10-20 14:02:04 +020056config 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070067config BT_HCIUART
68 tristate "HCI UART driver"
Joe Millenbach4f73bc42013-01-17 22:44:22 -080069 depends on TTY
Linus Torvalds1da177e2005-04-16 15:20:36 -070070 help
71 Bluetooth HCI UART driver.
72 This driver is required if you want to use Bluetooth devices with
Stephan Gabert8ba8b4c2014-06-16 18:52:25 +020073 serial port interface. You will also need this driver if you have
74 UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
Linus Torvalds1da177e2005-04-16 15:20:36 -070075 adapter and BrainBoxes Bluetooth PC Card.
76
77 Say Y here to compile support for Bluetooth UART devices into the
78 kernel or say M to compile it as module (hci_uart).
79
Arnd Bergmann1fb78fb2017-04-19 19:50:18 +020080config BT_HCIUART_SERDEV
81 bool
82 depends on SERIAL_DEV_BUS && BT_HCIUART
83 depends on SERIAL_DEV_BUS=y || SERIAL_DEV_BUS=BT_HCIUART
84 default y
85
Linus Torvalds1da177e2005-04-16 15:20:36 -070086config BT_HCIUART_H4
87 bool "UART (H4) protocol support"
88 depends on BT_HCIUART
89 help
Stephan Gabert8ba8b4c2014-06-16 18:52:25 +020090 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.
Linus Torvalds1da177e2005-04-16 15:20:36 -070093
94 Say Y here to compile support for HCI UART (H4) protocol.
95
Sebastian Reichel7bb31862017-04-13 02:26:59 +020096config BT_HCIUART_NOKIA
97 tristate "UART Nokia H4+ protocol support"
98 depends on BT_HCIUART
Arnd Bergmann1fb78fb2017-04-19 19:50:18 +020099 depends on BT_HCIUART_SERDEV
Sebastian Reichel7bb31862017-04-13 02:26:59 +0200100 depends on PM
Tobias Regneryc42c88e2017-05-08 11:39:11 +0200101 select BT_HCIUART_H4
Marcel Holtmann6a485422017-07-22 11:57:47 +0200102 select BT_BCM
Sebastian Reichel7bb31862017-04-13 02:26:59 +0200103 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
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110config BT_HCIUART_BCSP
111 bool "BCSP protocol support"
112 depends on BT_HCIUART
Randy Dunlapd3a8eab02008-07-15 00:51:45 -0700113 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700114 help
Stephan Gabert8ba8b4c2014-06-16 18:52:25 +0200115 BCSP (BlueCore Serial Protocol) is serial protocol for communication
Linus Torvalds1da177e2005-04-16 15:20:36 -0700116 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
Suraj Sumangalab3190df2010-07-19 12:34:07 +0530122config BT_HCIUART_ATH3K
123 bool "Atheros AR300x serial support"
124 depends on BT_HCIUART
Marcel Holtmannd90aa682015-04-04 21:59:26 -0700125 select BT_HCIUART_H4
Suraj Sumangalab3190df2010-07-19 12:34:07 +0530126 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
Ohad Ben-Cohen166d2f62007-10-20 13:42:36 +0200135config BT_HCIUART_LL
136 bool "HCILL protocol support"
Tobias Regnery76c49692017-05-02 15:15:01 +0200137 depends on BT_HCIUART_SERDEV
Ohad Ben-Cohen166d2f62007-10-20 13:42:36 +0200138 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
Johan Hedberg7dec65c2012-07-16 16:12:02 +0300146config 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
Marcel Holtmann16e38872015-04-04 16:13:02 -0700158config BT_HCIUART_INTEL
159 bool "Intel protocol support"
160 depends on BT_HCIUART
Loic Poulainca93cee2015-07-01 12:20:26 +0200161 select BT_HCIUART_H4
Marcel Holtmannbca03c92015-04-06 00:52:14 -0700162 select BT_INTEL
Marcel Holtmann16e38872015-04-04 16:13:02 -0700163 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
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700169config BT_HCIUART_BCM
170 bool "Broadcom protocol support"
171 depends on BT_HCIUART
Loic Poulain33cd1492017-08-17 19:59:51 +0200172 depends on BT_HCIUART_SERDEV
Marcel Holtmannbdd88182015-04-05 22:52:18 -0700173 select BT_HCIUART_H4
Marcel Holtmann3e0ac122015-04-05 22:52:12 -0700174 select BT_BCM
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700175 help
176 The Broadcom protocol support enables Bluetooth HCI over serial
177 port interface for Broadcom Bluetooth controllers.
178
179 Say Y here to compile support for Broadcom protocol.
180
Ben Young Tae Kim0ff252c2015-08-10 14:24:17 -0700181config BT_HCIUART_QCA
182 bool "Qualcomm Atheros protocol support"
183 depends on BT_HCIUART
184 select BT_HCIUART_H4
185 select BT_QCA
186 help
187 The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
188 over serial port interface(H4) between controller and host.
189 This protocol is required for UART clock control for QCA Bluetooth
190 devices.
191
192 Say Y here to compile support for QCA protocol.
193
Loic Poulain395174b2016-02-22 10:48:03 +0100194config BT_HCIUART_AG6XX
195 bool "Intel AG6XX protocol support"
196 depends on BT_HCIUART
197 select BT_HCIUART_H4
198 select BT_INTEL
199 help
200 The Intel/AG6XX protocol support enables Bluetooth HCI over serial
201 port interface for Intel ibt 2.1 Bluetooth controllers.
202
203 Say Y here to compile support for Intel AG6XX protocol.
204
Loic Poulain162f8122016-09-19 16:29:27 +0200205config BT_HCIUART_MRVL
206 bool "Marvell protocol support"
207 depends on BT_HCIUART
208 select BT_HCIUART_H4
209 help
210 Marvell is serial protocol for communication between Bluetooth
211 device and host. This protocol is required for most Marvell Bluetooth
212 devices with UART interface.
213
214 Say Y here to compile support for HCI MRVL protocol.
215
Linus Torvalds1da177e2005-04-16 15:20:36 -0700216config BT_HCIBCM203X
217 tristate "HCI BCM203x USB driver"
218 depends on USB
219 select FW_LOADER
220 help
221 Bluetooth HCI BCM203x USB driver.
222 This driver provides the firmware loading mechanism for the Broadcom
223 Blutonium based devices.
224
225 Say Y here to compile support for HCI BCM203x devices into the
226 kernel or say M to compile it as module (bcm203x).
227
228config BT_HCIBPA10X
229 tristate "HCI BPA10x USB driver"
Arnd Bergmann7841d062015-10-17 00:03:38 +0200230 depends on USB && BT_HCIUART
Marcel Holtmann943cc592015-10-08 03:06:53 +0200231 select BT_HCIUART_H4
Linus Torvalds1da177e2005-04-16 15:20:36 -0700232 help
233 Bluetooth HCI BPA10x USB driver.
234 This driver provides support for the Digianswer BPA 100/105 Bluetooth
235 sniffer devices.
236
237 Say Y here to compile support for HCI BPA10x devices into the
238 kernel or say M to compile it as module (bpa10x).
239
240config BT_HCIBFUSB
241 tristate "HCI BlueFRITZ! USB driver"
242 depends on USB
243 select FW_LOADER
244 help
245 Bluetooth HCI BlueFRITZ! USB driver.
246 This driver provides support for Bluetooth USB devices with AVM
247 interface:
248 AVM BlueFRITZ! USB
249
250 Say Y here to compile support for HCI BFUSB devices into the
251 kernel or say M to compile it as module (bfusb).
252
253config BT_HCIDTL1
254 tristate "HCI DTL1 (PC Card) driver"
255 depends on PCMCIA
256 help
257 Bluetooth HCI DTL1 (PC Card) driver.
258 This driver provides support for Bluetooth PCMCIA devices with
259 Nokia DTL1 interface:
260 Nokia Bluetooth Card
261 Socket Bluetooth CF Card
262
263 Say Y here to compile support for HCI DTL1 devices into the
264 kernel or say M to compile it as module (dtl1_cs).
265
266config BT_HCIBT3C
267 tristate "HCI BT3C (PC Card) driver"
268 depends on PCMCIA
269 select FW_LOADER
270 help
271 Bluetooth HCI BT3C (PC Card) driver.
272 This driver provides support for Bluetooth PCMCIA devices with
273 3Com BT3C interface:
274 3Com Bluetooth Card (3CRWB6096)
275 HP Bluetooth Card
276
277 Say Y here to compile support for HCI BT3C devices into the
278 kernel or say M to compile it as module (bt3c_cs).
279
280config BT_HCIBLUECARD
281 tristate "HCI BlueCard (PC Card) driver"
282 depends on PCMCIA
283 help
284 Bluetooth HCI BlueCard (PC Card) driver.
285 This driver provides support for Bluetooth PCMCIA devices with
286 Anycom BlueCard interface:
287 Anycom Bluetooth PC Card
288 Anycom Bluetooth CF Card
289
290 Say Y here to compile support for HCI BlueCard devices into the
291 kernel or say M to compile it as module (bluecard_cs).
292
293config BT_HCIBTUART
294 tristate "HCI UART (PC Card) device driver"
295 depends on PCMCIA
296 help
297 Bluetooth HCI UART (PC Card) driver.
298 This driver provides support for Bluetooth PCMCIA devices with
299 an UART interface:
300 Xircom CreditCard Bluetooth Adapter
301 Xircom RealPort2 Bluetooth Adapter
302 Sphinx PICO Card
303 H-Soft blue+Card
304 Cyber-blue Compact Flash Card
305
306 Say Y here to compile support for HCI UART devices into the
307 kernel or say M to compile it as module (btuart_cs).
308
309config BT_HCIVHCI
310 tristate "HCI VHCI (Virtual HCI device) driver"
311 help
312 Bluetooth Virtual HCI device driver.
313 This driver is required if you want to use HCI Emulation software.
314
315 Say Y here to compile support for virtual HCI devices into the
316 kernel or say M to compile it as module (hci_vhci).
317
Bing Zhao132ff4e2009-06-02 14:29:35 -0700318config BT_MRVL
319 tristate "Marvell Bluetooth driver support"
Bing Zhao132ff4e2009-06-02 14:29:35 -0700320 help
321 The core driver to support Marvell Bluetooth devices.
322
323 This driver is required if you want to support
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700324 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
Bing Zhao132ff4e2009-06-02 14:29:35 -0700325
326 Say Y here to compile Marvell Bluetooth driver
327 into the kernel or say M to compile it as module.
328
Bing Zhao789221e2009-06-02 14:29:36 -0700329config BT_MRVL_SDIO
330 tristate "Marvell BT-over-SDIO driver"
331 depends on BT_MRVL && MMC
Marcel Holtmanne7a25f92009-06-09 13:42:54 +0200332 select FW_LOADER
Xinming Hudc759612014-11-24 02:40:53 -0800333 select WANT_DEV_COREDUMP
Bing Zhao789221e2009-06-02 14:29:36 -0700334 help
335 The driver for Marvell Bluetooth chipsets with SDIO interface.
336
337 This driver is required if you want to use Marvell Bluetooth
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700338 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
Bing Zhao2ac654f2011-11-16 20:40:42 -0800339 chipsets are supported.
Bing Zhao789221e2009-06-02 14:29:36 -0700340
341 Say Y here to compile support for Marvell BT-over-SDIO driver
342 into the kernel or say M to compile it as module.
343
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530344config BT_ATH3K
345 tristate "Atheros firmware download driver"
346 depends on BT_HCIBTUSB
347 select FW_LOADER
348 help
349 Bluetooth firmware download driver.
350 This driver loads the firmware into the Atheros Bluetooth
351 chipset.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700352
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530353 Say Y here to compile support for "Atheros firmware download driver"
354 into the kernel or say M to compile it as module (ath3k).
355
Pavan Savoy363907a2011-02-20 22:41:16 -0600356config BT_WILINK
357 tristate "Texas Instruments WiLink7 driver"
358 depends on TI_ST
359 help
360 This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
361 combo devices. This makes use of shared transport line discipline
362 core driver to communicate with the BT core of the combo chip.
363
364 Say Y here to compile support for Texas Instrument's WiLink7 driver
Pavel Machek22e8ee12014-01-17 14:34:30 +0100365 into the kernel or say M to compile it as module (btwilink).
366
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700367config BT_QCOMSMD
368 tristate "Qualcomm SMD based HCI support"
Bjorn Andersson5052de82017-03-27 22:26:33 -0700369 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
Arnd Bergmann6e9e6cc2017-03-20 15:31:10 -0700370 depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700371 select BT_QCA
372 help
373 Qualcomm SMD based HCI driver.
374 This driver is used to bridge HCI data onto the shared memory
375 channels to the WCNSS core.
376
377 Say Y here to compile support for HCI over Qualcomm SMD into the
378 kernel or say M to compile as a module.
379
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530380endmenu