blob: fae5a74dc737cbd1841c10498708793d9562b93e [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
Arnd Bergmann1fb78fb2017-04-19 19:50:18 +020079config BT_HCIUART_SERDEV
80 bool
81 depends on SERIAL_DEV_BUS && BT_HCIUART
82 depends on SERIAL_DEV_BUS=y || SERIAL_DEV_BUS=BT_HCIUART
83 default y
84
Linus Torvalds1da177e2005-04-16 15:20:36 -070085config BT_HCIUART_H4
86 bool "UART (H4) protocol support"
87 depends on BT_HCIUART
88 help
Stephan Gabert8ba8b4c2014-06-16 18:52:25 +020089 UART (H4) is serial protocol for communication between Bluetooth
90 device and host. This protocol is required for most Bluetooth devices
91 with UART interface, including PCMCIA and CF cards.
Linus Torvalds1da177e2005-04-16 15:20:36 -070092
93 Say Y here to compile support for HCI UART (H4) protocol.
94
Sebastian Reichel7bb31862017-04-13 02:26:59 +020095config BT_HCIUART_NOKIA
96 tristate "UART Nokia H4+ protocol support"
97 depends on BT_HCIUART
Arnd Bergmann1fb78fb2017-04-19 19:50:18 +020098 depends on BT_HCIUART_SERDEV
Sebastian Reichel7bb31862017-04-13 02:26:59 +020099 depends on PM
Tobias Regneryc42c88e2017-05-08 11:39:11 +0200100 select BT_HCIUART_H4
Marcel Holtmann6a485422017-07-22 11:57:47 +0200101 select BT_BCM
Sebastian Reichel7bb31862017-04-13 02:26:59 +0200102 help
103 Nokia H4+ is serial protocol for communication between Bluetooth
104 device and host. This protocol is required for Bluetooth devices
105 with UART interface in Nokia devices.
106
107 Say Y here to compile support for Nokia's H4+ protocol.
108
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109config BT_HCIUART_BCSP
110 bool "BCSP protocol support"
111 depends on BT_HCIUART
Randy Dunlapd3a8eab02008-07-15 00:51:45 -0700112 select BITREVERSE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 help
Stephan Gabert8ba8b4c2014-06-16 18:52:25 +0200114 BCSP (BlueCore Serial Protocol) is serial protocol for communication
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115 between Bluetooth device and host. This protocol is required for non
116 USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
117 CF cards.
118
119 Say Y here to compile support for HCI BCSP protocol.
120
Suraj Sumangalab3190df2010-07-19 12:34:07 +0530121config BT_HCIUART_ATH3K
122 bool "Atheros AR300x serial support"
123 depends on BT_HCIUART
Marcel Holtmannd90aa682015-04-04 21:59:26 -0700124 select BT_HCIUART_H4
Suraj Sumangalab3190df2010-07-19 12:34:07 +0530125 help
126 HCIATH3K (HCI Atheros AR300x) is a serial protocol for
127 communication between host and Atheros AR300x Bluetooth devices.
128 This protocol enables AR300x chips to be enabled with
129 power management support.
130 Enable this if you have Atheros AR300x serial Bluetooth device.
131
132 Say Y here to compile support for HCI UART ATH3K protocol.
133
Ohad Ben-Cohen166d2f62007-10-20 13:42:36 +0200134config BT_HCIUART_LL
135 bool "HCILL protocol support"
Tobias Regnery76c49692017-05-02 15:15:01 +0200136 depends on BT_HCIUART_SERDEV
Ohad Ben-Cohen166d2f62007-10-20 13:42:36 +0200137 help
138 HCILL (HCI Low Level) is a serial protocol for communication
139 between Bluetooth device and host. This protocol is required for
140 serial Bluetooth devices that are based on Texas Instruments'
141 BRF chips.
142
143 Say Y here to compile support for HCILL protocol.
144
Johan Hedberg7dec65c2012-07-16 16:12:02 +0300145config BT_HCIUART_3WIRE
146 bool "Three-wire UART (H5) protocol support"
147 depends on BT_HCIUART
148 help
149 The HCI Three-wire UART Transport Layer makes it possible to
150 user the Bluetooth HCI over a serial port interface. The HCI
151 Three-wire UART Transport Layer assumes that the UART
152 communication may have bit errors, overrun errors or burst
153 errors and thereby making CTS/RTS lines unnecessary.
154
155 Say Y here to compile support for Three-wire UART protocol.
156
Marcel Holtmann16e38872015-04-04 16:13:02 -0700157config BT_HCIUART_INTEL
158 bool "Intel protocol support"
159 depends on BT_HCIUART
Loic Poulainca93cee2015-07-01 12:20:26 +0200160 select BT_HCIUART_H4
Marcel Holtmannbca03c92015-04-06 00:52:14 -0700161 select BT_INTEL
Marcel Holtmann16e38872015-04-04 16:13:02 -0700162 help
163 The Intel protocol support enables Bluetooth HCI over serial
164 port interface for Intel Bluetooth controllers.
165
166 Say Y here to compile support for Intel protocol.
167
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700168config BT_HCIUART_BCM
169 bool "Broadcom protocol support"
170 depends on BT_HCIUART
Loic Poulain33cd1492017-08-17 19:59:51 +0200171 depends on BT_HCIUART_SERDEV
Marcel Holtmannbdd88182015-04-05 22:52:18 -0700172 select BT_HCIUART_H4
Marcel Holtmann3e0ac122015-04-05 22:52:12 -0700173 select BT_BCM
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700174 help
175 The Broadcom protocol support enables Bluetooth HCI over serial
176 port interface for Broadcom Bluetooth controllers.
177
178 Say Y here to compile support for Broadcom protocol.
179
Ben Young Tae Kim0ff252c2015-08-10 14:24:17 -0700180config BT_HCIUART_QCA
181 bool "Qualcomm Atheros protocol support"
182 depends on BT_HCIUART
183 select BT_HCIUART_H4
184 select BT_QCA
185 help
186 The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
187 over serial port interface(H4) between controller and host.
188 This protocol is required for UART clock control for QCA Bluetooth
189 devices.
190
191 Say Y here to compile support for QCA protocol.
192
Loic Poulain395174b2016-02-22 10:48:03 +0100193config BT_HCIUART_AG6XX
194 bool "Intel AG6XX protocol support"
195 depends on BT_HCIUART
196 select BT_HCIUART_H4
197 select BT_INTEL
198 help
199 The Intel/AG6XX protocol support enables Bluetooth HCI over serial
200 port interface for Intel ibt 2.1 Bluetooth controllers.
201
202 Say Y here to compile support for Intel AG6XX protocol.
203
Loic Poulain162f8122016-09-19 16:29:27 +0200204config BT_HCIUART_MRVL
205 bool "Marvell protocol support"
206 depends on BT_HCIUART
207 select BT_HCIUART_H4
208 help
209 Marvell is serial protocol for communication between Bluetooth
210 device and host. This protocol is required for most Marvell Bluetooth
211 devices with UART interface.
212
213 Say Y here to compile support for HCI MRVL protocol.
214
Linus Torvalds1da177e2005-04-16 15:20:36 -0700215config BT_HCIBCM203X
216 tristate "HCI BCM203x USB driver"
217 depends on USB
218 select FW_LOADER
219 help
220 Bluetooth HCI BCM203x USB driver.
221 This driver provides the firmware loading mechanism for the Broadcom
222 Blutonium based devices.
223
224 Say Y here to compile support for HCI BCM203x devices into the
225 kernel or say M to compile it as module (bcm203x).
226
227config BT_HCIBPA10X
228 tristate "HCI BPA10x USB driver"
Arnd Bergmann7841d062015-10-17 00:03:38 +0200229 depends on USB && BT_HCIUART
Marcel Holtmann943cc592015-10-08 03:06:53 +0200230 select BT_HCIUART_H4
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231 help
232 Bluetooth HCI BPA10x USB driver.
233 This driver provides support for the Digianswer BPA 100/105 Bluetooth
234 sniffer devices.
235
236 Say Y here to compile support for HCI BPA10x devices into the
237 kernel or say M to compile it as module (bpa10x).
238
239config BT_HCIBFUSB
240 tristate "HCI BlueFRITZ! USB driver"
241 depends on USB
242 select FW_LOADER
243 help
244 Bluetooth HCI BlueFRITZ! USB driver.
245 This driver provides support for Bluetooth USB devices with AVM
246 interface:
247 AVM BlueFRITZ! USB
248
249 Say Y here to compile support for HCI BFUSB devices into the
250 kernel or say M to compile it as module (bfusb).
251
252config BT_HCIDTL1
253 tristate "HCI DTL1 (PC Card) driver"
254 depends on PCMCIA
255 help
256 Bluetooth HCI DTL1 (PC Card) driver.
257 This driver provides support for Bluetooth PCMCIA devices with
258 Nokia DTL1 interface:
259 Nokia Bluetooth Card
260 Socket Bluetooth CF Card
261
262 Say Y here to compile support for HCI DTL1 devices into the
263 kernel or say M to compile it as module (dtl1_cs).
264
265config BT_HCIBT3C
266 tristate "HCI BT3C (PC Card) driver"
267 depends on PCMCIA
268 select FW_LOADER
269 help
270 Bluetooth HCI BT3C (PC Card) driver.
271 This driver provides support for Bluetooth PCMCIA devices with
272 3Com BT3C interface:
273 3Com Bluetooth Card (3CRWB6096)
274 HP Bluetooth Card
275
276 Say Y here to compile support for HCI BT3C devices into the
277 kernel or say M to compile it as module (bt3c_cs).
278
279config BT_HCIBLUECARD
280 tristate "HCI BlueCard (PC Card) driver"
281 depends on PCMCIA
282 help
283 Bluetooth HCI BlueCard (PC Card) driver.
284 This driver provides support for Bluetooth PCMCIA devices with
285 Anycom BlueCard interface:
286 Anycom Bluetooth PC Card
287 Anycom Bluetooth CF Card
288
289 Say Y here to compile support for HCI BlueCard devices into the
290 kernel or say M to compile it as module (bluecard_cs).
291
292config BT_HCIBTUART
293 tristate "HCI UART (PC Card) device driver"
294 depends on PCMCIA
295 help
296 Bluetooth HCI UART (PC Card) driver.
297 This driver provides support for Bluetooth PCMCIA devices with
298 an UART interface:
299 Xircom CreditCard Bluetooth Adapter
300 Xircom RealPort2 Bluetooth Adapter
301 Sphinx PICO Card
302 H-Soft blue+Card
303 Cyber-blue Compact Flash Card
304
305 Say Y here to compile support for HCI UART devices into the
306 kernel or say M to compile it as module (btuart_cs).
307
308config BT_HCIVHCI
309 tristate "HCI VHCI (Virtual HCI device) driver"
310 help
311 Bluetooth Virtual HCI device driver.
312 This driver is required if you want to use HCI Emulation software.
313
314 Say Y here to compile support for virtual HCI devices into the
315 kernel or say M to compile it as module (hci_vhci).
316
Bing Zhao132ff4e2009-06-02 14:29:35 -0700317config BT_MRVL
318 tristate "Marvell Bluetooth driver support"
Bing Zhao132ff4e2009-06-02 14:29:35 -0700319 help
320 The core driver to support Marvell Bluetooth devices.
321
322 This driver is required if you want to support
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700323 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
Bing Zhao132ff4e2009-06-02 14:29:35 -0700324
325 Say Y here to compile Marvell Bluetooth driver
326 into the kernel or say M to compile it as module.
327
Bing Zhao789221e2009-06-02 14:29:36 -0700328config BT_MRVL_SDIO
329 tristate "Marvell BT-over-SDIO driver"
330 depends on BT_MRVL && MMC
Marcel Holtmanne7a25f92009-06-09 13:42:54 +0200331 select FW_LOADER
Xinming Hudc759612014-11-24 02:40:53 -0800332 select WANT_DEV_COREDUMP
Bing Zhao789221e2009-06-02 14:29:36 -0700333 help
334 The driver for Marvell Bluetooth chipsets with SDIO interface.
335
336 This driver is required if you want to use Marvell Bluetooth
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700337 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
Bing Zhao2ac654f2011-11-16 20:40:42 -0800338 chipsets are supported.
Bing Zhao789221e2009-06-02 14:29:36 -0700339
340 Say Y here to compile support for Marvell BT-over-SDIO driver
341 into the kernel or say M to compile it as module.
342
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530343config BT_ATH3K
344 tristate "Atheros firmware download driver"
345 depends on BT_HCIBTUSB
346 select FW_LOADER
347 help
348 Bluetooth firmware download driver.
349 This driver loads the firmware into the Atheros Bluetooth
350 chipset.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700351
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530352 Say Y here to compile support for "Atheros firmware download driver"
353 into the kernel or say M to compile it as module (ath3k).
354
Pavan Savoy363907a2011-02-20 22:41:16 -0600355config BT_WILINK
356 tristate "Texas Instruments WiLink7 driver"
357 depends on TI_ST
358 help
359 This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
360 combo devices. This makes use of shared transport line discipline
361 core driver to communicate with the BT core of the combo chip.
362
363 Say Y here to compile support for Texas Instrument's WiLink7 driver
Pavel Machek22e8ee12014-01-17 14:34:30 +0100364 into the kernel or say M to compile it as module (btwilink).
365
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700366config BT_QCOMSMD
367 tristate "Qualcomm SMD based HCI support"
Bjorn Andersson5052de82017-03-27 22:26:33 -0700368 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
Arnd Bergmann6e9e6cc2017-03-20 15:31:10 -0700369 depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700370 select BT_QCA
371 help
372 Qualcomm SMD based HCI driver.
373 This driver is used to bridge HCI data onto the shared memory
374 channels to the WCNSS core.
375
376 Say Y here to compile support for HCI over Qualcomm SMD into the
377 kernel or say M to compile as a module.
378
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530379endmenu