blob: 4a9493a4159fd2a5eccf7b188b63d96ad9c7f6d1 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001
2menu "Bluetooth device drivers"
3 depends on BT
4
Marcel Holtmann48f0ed12015-04-06 00:52:11 -07005config BT_INTEL
6 tristate
Loic Poulaind06f1072015-10-01 18:16:21 +02007 select REGMAP
Marcel Holtmann48f0ed12015-04-06 00:52:11 -07008
Marcel Holtmann4fba30f2015-04-05 22:52:10 -07009config BT_BCM
10 tristate
Marcel Holtmann1c8ba6d2015-04-05 22:52:13 -070011 select FW_LOADER
Marcel Holtmann4fba30f2015-04-05 22:52:10 -070012
Carlo Caionedb33c772015-05-14 10:49:09 +020013config BT_RTL
14 tristate
15 select FW_LOADER
16
Ben Young Tae Kim83e81962015-08-10 14:24:12 -070017config BT_QCA
18 tristate
19 select FW_LOADER
20
Marcel Holtmann5e23b922007-10-20 14:12:34 +020021config BT_HCIBTUSB
Marcel Holtmann9bfa35f2008-08-18 13:23:52 +020022 tristate "HCI USB driver"
23 depends on USB
Marcel Holtmann4185a0f2015-04-06 00:52:12 -070024 select BT_INTEL
Marcel Holtmann5e23b922007-10-20 14:12:34 +020025 help
26 Bluetooth HCI USB driver.
27 This driver is required if you want to use Bluetooth devices with
28 USB interface.
29
Marcel Holtmann5e23b922007-10-20 14:12:34 +020030 Say Y here to compile support for Bluetooth USB devices into the
31 kernel or say M to compile it as module (btusb).
32
Marcel Holtmannc2bfb102015-04-05 22:52:14 -070033config BT_HCIBTUSB_BCM
34 bool "Broadcom protocol support"
35 depends on BT_HCIBTUSB
36 select BT_BCM
37 default y
38 help
39 The Broadcom protocol support enables firmware and patchram
40 download support for Broadcom Bluetooth controllers.
41
42 Say Y here to compile support for Broadcom protocol.
43
Carlo Caionedb33c772015-05-14 10:49:09 +020044config BT_HCIBTUSB_RTL
45 bool "Realtek protocol support"
46 depends on BT_HCIBTUSB
47 select BT_RTL
48 default y
49 help
50 The Realtek protocol support enables firmware and configuration
51 download support for Realtek Bluetooth controllers.
52
53 Say Y here to compile support for Realtek protocol.
54
Marcel Holtmannddbaf132007-10-20 14:02:04 +020055config BT_HCIBTSDIO
56 tristate "HCI SDIO driver"
57 depends on MMC
58 help
59 Bluetooth HCI SDIO driver.
60 This driver is required if you want to use Bluetooth device with
61 SDIO interface.
62
63 Say Y here to compile support for Bluetooth SDIO devices into the
64 kernel or say M to compile it as module (btsdio).
65
Linus Torvalds1da177e2005-04-16 15:20:36 -070066config BT_HCIUART
67 tristate "HCI UART driver"
Joe Millenbach4f73bc42013-01-17 22:44:22 -080068 depends on TTY
Linus Torvalds1da177e2005-04-16 15:20:36 -070069 help
70 Bluetooth HCI UART driver.
71 This driver is required if you want to use Bluetooth devices with
Stephan Gabert8ba8b4c2014-06-16 18:52:25 +020072 serial port interface. You will also need this driver if you have
73 UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
Linus Torvalds1da177e2005-04-16 15:20:36 -070074 adapter and BrainBoxes Bluetooth PC Card.
75
76 Say Y here to compile support for Bluetooth UART devices into the
77 kernel or say M to compile it as module (hci_uart).
78
79config BT_HCIUART_H4
80 bool "UART (H4) protocol support"
81 depends on BT_HCIUART
82 help
Stephan Gabert8ba8b4c2014-06-16 18:52:25 +020083 UART (H4) is serial protocol for communication between Bluetooth
84 device and host. This protocol is required for most Bluetooth devices
85 with UART interface, including PCMCIA and CF cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -070086
87 Say Y here to compile support for HCI UART (H4) protocol.
88
89config BT_HCIUART_BCSP
90 bool "BCSP protocol support"
91 depends on BT_HCIUART
Randy Dunlapd3a8eab02008-07-15 00:51:45 -070092 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 help
Stephan Gabert8ba8b4c2014-06-16 18:52:25 +020094 BCSP (BlueCore Serial Protocol) is serial protocol for communication
Linus Torvalds1da177e2005-04-16 15:20:36 -070095 between Bluetooth device and host. This protocol is required for non
96 USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
97 CF cards.
98
99 Say Y here to compile support for HCI BCSP protocol.
100
Suraj Sumangalab3190df2010-07-19 12:34:07 +0530101config BT_HCIUART_ATH3K
102 bool "Atheros AR300x serial support"
103 depends on BT_HCIUART
Marcel Holtmannd90aa682015-04-04 21:59:26 -0700104 select BT_HCIUART_H4
Suraj Sumangalab3190df2010-07-19 12:34:07 +0530105 help
106 HCIATH3K (HCI Atheros AR300x) is a serial protocol for
107 communication between host and Atheros AR300x Bluetooth devices.
108 This protocol enables AR300x chips to be enabled with
109 power management support.
110 Enable this if you have Atheros AR300x serial Bluetooth device.
111
112 Say Y here to compile support for HCI UART ATH3K protocol.
113
Ohad Ben-Cohen166d2f62007-10-20 13:42:36 +0200114config BT_HCIUART_LL
115 bool "HCILL protocol support"
116 depends on BT_HCIUART
117 help
118 HCILL (HCI Low Level) is a serial protocol for communication
119 between Bluetooth device and host. This protocol is required for
120 serial Bluetooth devices that are based on Texas Instruments'
121 BRF chips.
122
123 Say Y here to compile support for HCILL protocol.
124
Johan Hedberg7dec65c2012-07-16 16:12:02 +0300125config BT_HCIUART_3WIRE
126 bool "Three-wire UART (H5) protocol support"
127 depends on BT_HCIUART
Johan Hedbergb5c98d82018-08-04 23:40:26 +0300128 depends on BT_HCIUART_SERDEV
Johan Hedberg7dec65c2012-07-16 16:12:02 +0300129 help
130 The HCI Three-wire UART Transport Layer makes it possible to
131 user the Bluetooth HCI over a serial port interface. The HCI
132 Three-wire UART Transport Layer assumes that the UART
133 communication may have bit errors, overrun errors or burst
134 errors and thereby making CTS/RTS lines unnecessary.
135
136 Say Y here to compile support for Three-wire UART protocol.
137
Marcel Holtmann16e38872015-04-04 16:13:02 -0700138config BT_HCIUART_INTEL
139 bool "Intel protocol support"
140 depends on BT_HCIUART
Loic Poulainca93cee2015-07-01 12:20:26 +0200141 select BT_HCIUART_H4
Marcel Holtmannbca03c92015-04-06 00:52:14 -0700142 select BT_INTEL
Marcel Holtmann16e38872015-04-04 16:13:02 -0700143 help
144 The Intel protocol support enables Bluetooth HCI over serial
145 port interface for Intel Bluetooth controllers.
146
147 Say Y here to compile support for Intel protocol.
148
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700149config BT_HCIUART_BCM
150 bool "Broadcom protocol support"
151 depends on BT_HCIUART
Marcel Holtmannbdd88182015-04-05 22:52:18 -0700152 select BT_HCIUART_H4
Marcel Holtmann3e0ac122015-04-05 22:52:12 -0700153 select BT_BCM
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700154 help
155 The Broadcom protocol support enables Bluetooth HCI over serial
156 port interface for Broadcom Bluetooth controllers.
157
158 Say Y here to compile support for Broadcom protocol.
159
Ben Young Tae Kim0ff252c2015-08-10 14:24:17 -0700160config BT_HCIUART_QCA
161 bool "Qualcomm Atheros protocol support"
162 depends on BT_HCIUART
163 select BT_HCIUART_H4
164 select BT_QCA
165 help
166 The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
167 over serial port interface(H4) between controller and host.
168 This protocol is required for UART clock control for QCA Bluetooth
169 devices.
170
171 Say Y here to compile support for QCA protocol.
172
Loic Poulain395174b2016-02-22 10:48:03 +0100173config BT_HCIUART_AG6XX
174 bool "Intel AG6XX protocol support"
175 depends on BT_HCIUART
176 select BT_HCIUART_H4
177 select BT_INTEL
178 help
179 The Intel/AG6XX protocol support enables Bluetooth HCI over serial
180 port interface for Intel ibt 2.1 Bluetooth controllers.
181
182 Say Y here to compile support for Intel AG6XX protocol.
183
Loic Poulain162f8122016-09-19 16:29:27 +0200184config BT_HCIUART_MRVL
185 bool "Marvell protocol support"
186 depends on BT_HCIUART
187 select BT_HCIUART_H4
188 help
189 Marvell is serial protocol for communication between Bluetooth
190 device and host. This protocol is required for most Marvell Bluetooth
191 devices with UART interface.
192
193 Say Y here to compile support for HCI MRVL protocol.
194
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195config BT_HCIBCM203X
196 tristate "HCI BCM203x USB driver"
197 depends on USB
198 select FW_LOADER
199 help
200 Bluetooth HCI BCM203x USB driver.
201 This driver provides the firmware loading mechanism for the Broadcom
202 Blutonium based devices.
203
204 Say Y here to compile support for HCI BCM203x devices into the
205 kernel or say M to compile it as module (bcm203x).
206
207config BT_HCIBPA10X
208 tristate "HCI BPA10x USB driver"
Arnd Bergmann7841d062015-10-17 00:03:38 +0200209 depends on USB && BT_HCIUART
Marcel Holtmann943cc592015-10-08 03:06:53 +0200210 select BT_HCIUART_H4
Linus Torvalds1da177e2005-04-16 15:20:36 -0700211 help
212 Bluetooth HCI BPA10x USB driver.
213 This driver provides support for the Digianswer BPA 100/105 Bluetooth
214 sniffer devices.
215
216 Say Y here to compile support for HCI BPA10x devices into the
217 kernel or say M to compile it as module (bpa10x).
218
219config BT_HCIBFUSB
220 tristate "HCI BlueFRITZ! USB driver"
221 depends on USB
222 select FW_LOADER
223 help
224 Bluetooth HCI BlueFRITZ! USB driver.
225 This driver provides support for Bluetooth USB devices with AVM
226 interface:
227 AVM BlueFRITZ! USB
228
229 Say Y here to compile support for HCI BFUSB devices into the
230 kernel or say M to compile it as module (bfusb).
231
232config BT_HCIDTL1
233 tristate "HCI DTL1 (PC Card) driver"
234 depends on PCMCIA
235 help
236 Bluetooth HCI DTL1 (PC Card) driver.
237 This driver provides support for Bluetooth PCMCIA devices with
238 Nokia DTL1 interface:
239 Nokia Bluetooth Card
240 Socket Bluetooth CF Card
241
242 Say Y here to compile support for HCI DTL1 devices into the
243 kernel or say M to compile it as module (dtl1_cs).
244
245config BT_HCIBT3C
246 tristate "HCI BT3C (PC Card) driver"
247 depends on PCMCIA
248 select FW_LOADER
249 help
250 Bluetooth HCI BT3C (PC Card) driver.
251 This driver provides support for Bluetooth PCMCIA devices with
252 3Com BT3C interface:
253 3Com Bluetooth Card (3CRWB6096)
254 HP Bluetooth Card
255
256 Say Y here to compile support for HCI BT3C devices into the
257 kernel or say M to compile it as module (bt3c_cs).
258
259config BT_HCIBLUECARD
260 tristate "HCI BlueCard (PC Card) driver"
261 depends on PCMCIA
262 help
263 Bluetooth HCI BlueCard (PC Card) driver.
264 This driver provides support for Bluetooth PCMCIA devices with
265 Anycom BlueCard interface:
266 Anycom Bluetooth PC Card
267 Anycom Bluetooth CF Card
268
269 Say Y here to compile support for HCI BlueCard devices into the
270 kernel or say M to compile it as module (bluecard_cs).
271
272config BT_HCIBTUART
273 tristate "HCI UART (PC Card) device driver"
274 depends on PCMCIA
275 help
276 Bluetooth HCI UART (PC Card) driver.
277 This driver provides support for Bluetooth PCMCIA devices with
278 an UART interface:
279 Xircom CreditCard Bluetooth Adapter
280 Xircom RealPort2 Bluetooth Adapter
281 Sphinx PICO Card
282 H-Soft blue+Card
283 Cyber-blue Compact Flash Card
284
285 Say Y here to compile support for HCI UART devices into the
286 kernel or say M to compile it as module (btuart_cs).
287
288config BT_HCIVHCI
289 tristate "HCI VHCI (Virtual HCI device) driver"
290 help
291 Bluetooth Virtual HCI device driver.
292 This driver is required if you want to use HCI Emulation software.
293
294 Say Y here to compile support for virtual HCI devices into the
295 kernel or say M to compile it as module (hci_vhci).
296
Bing Zhao132ff4e2009-06-02 14:29:35 -0700297config BT_MRVL
298 tristate "Marvell Bluetooth driver support"
Bing Zhao132ff4e2009-06-02 14:29:35 -0700299 help
300 The core driver to support Marvell Bluetooth devices.
301
302 This driver is required if you want to support
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700303 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
Bing Zhao132ff4e2009-06-02 14:29:35 -0700304
305 Say Y here to compile Marvell Bluetooth driver
306 into the kernel or say M to compile it as module.
307
Bing Zhao789221e2009-06-02 14:29:36 -0700308config BT_MRVL_SDIO
309 tristate "Marvell BT-over-SDIO driver"
310 depends on BT_MRVL && MMC
Marcel Holtmanne7a25f92009-06-09 13:42:54 +0200311 select FW_LOADER
Xinming Hudc759612014-11-24 02:40:53 -0800312 select WANT_DEV_COREDUMP
Bing Zhao789221e2009-06-02 14:29:36 -0700313 help
314 The driver for Marvell Bluetooth chipsets with SDIO interface.
315
316 This driver is required if you want to use Marvell Bluetooth
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700317 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
Bing Zhao2ac654f2011-11-16 20:40:42 -0800318 chipsets are supported.
Bing Zhao789221e2009-06-02 14:29:36 -0700319
320 Say Y here to compile support for Marvell BT-over-SDIO driver
321 into the kernel or say M to compile it as module.
322
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530323config BT_ATH3K
324 tristate "Atheros firmware download driver"
325 depends on BT_HCIBTUSB
326 select FW_LOADER
327 help
328 Bluetooth firmware download driver.
329 This driver loads the firmware into the Atheros Bluetooth
330 chipset.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700331
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530332 Say Y here to compile support for "Atheros firmware download driver"
333 into the kernel or say M to compile it as module (ath3k).
334
Pavan Savoy363907a2011-02-20 22:41:16 -0600335config BT_WILINK
336 tristate "Texas Instruments WiLink7 driver"
337 depends on TI_ST
338 help
339 This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
340 combo devices. This makes use of shared transport line discipline
341 core driver to communicate with the BT core of the combo chip.
342
343 Say Y here to compile support for Texas Instrument's WiLink7 driver
Pavel Machek22e8ee12014-01-17 14:34:30 +0100344 into the kernel or say M to compile it as module (btwilink).
345
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700346config BT_QCOMSMD
347 tristate "Qualcomm SMD based HCI support"
Arnd Bergmann3d4e2fb2016-08-29 14:36:18 +0200348 depends on QCOM_SMD && QCOM_WCNSS_CTRL
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700349 select BT_QCA
350 help
351 Qualcomm SMD based HCI driver.
352 This driver is used to bridge HCI data onto the shared memory
353 channels to the WCNSS core.
354
355 Say Y here to compile support for HCI over Qualcomm SMD into the
356 kernel or say M to compile as a module.
357
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530358endmenu