blob: 3a6ead603e492e4a150e8fa6b1add11526154fb1 [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
Marcel Holtmannbdd88182015-04-05 22:52:18 -0700171 select BT_HCIUART_H4
Marcel Holtmann3e0ac122015-04-05 22:52:12 -0700172 select BT_BCM
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700173 help
174 The Broadcom protocol support enables Bluetooth HCI over serial
175 port interface for Broadcom Bluetooth controllers.
176
177 Say Y here to compile support for Broadcom protocol.
178
Ben Young Tae Kim0ff252c2015-08-10 14:24:17 -0700179config BT_HCIUART_QCA
180 bool "Qualcomm Atheros protocol support"
181 depends on BT_HCIUART
182 select BT_HCIUART_H4
183 select BT_QCA
184 help
185 The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
186 over serial port interface(H4) between controller and host.
187 This protocol is required for UART clock control for QCA Bluetooth
188 devices.
189
190 Say Y here to compile support for QCA protocol.
191
Loic Poulain395174b2016-02-22 10:48:03 +0100192config BT_HCIUART_AG6XX
193 bool "Intel AG6XX protocol support"
194 depends on BT_HCIUART
195 select BT_HCIUART_H4
196 select BT_INTEL
197 help
198 The Intel/AG6XX protocol support enables Bluetooth HCI over serial
199 port interface for Intel ibt 2.1 Bluetooth controllers.
200
201 Say Y here to compile support for Intel AG6XX protocol.
202
Loic Poulain162f8122016-09-19 16:29:27 +0200203config BT_HCIUART_MRVL
204 bool "Marvell protocol support"
205 depends on BT_HCIUART
206 select BT_HCIUART_H4
207 help
208 Marvell is serial protocol for communication between Bluetooth
209 device and host. This protocol is required for most Marvell Bluetooth
210 devices with UART interface.
211
212 Say Y here to compile support for HCI MRVL protocol.
213
Linus Torvalds1da177e2005-04-16 15:20:36 -0700214config BT_HCIBCM203X
215 tristate "HCI BCM203x USB driver"
216 depends on USB
217 select FW_LOADER
218 help
219 Bluetooth HCI BCM203x USB driver.
220 This driver provides the firmware loading mechanism for the Broadcom
221 Blutonium based devices.
222
223 Say Y here to compile support for HCI BCM203x devices into the
224 kernel or say M to compile it as module (bcm203x).
225
226config BT_HCIBPA10X
227 tristate "HCI BPA10x USB driver"
Arnd Bergmann7841d062015-10-17 00:03:38 +0200228 depends on USB && BT_HCIUART
Marcel Holtmann943cc592015-10-08 03:06:53 +0200229 select BT_HCIUART_H4
Linus Torvalds1da177e2005-04-16 15:20:36 -0700230 help
231 Bluetooth HCI BPA10x USB driver.
232 This driver provides support for the Digianswer BPA 100/105 Bluetooth
233 sniffer devices.
234
235 Say Y here to compile support for HCI BPA10x devices into the
236 kernel or say M to compile it as module (bpa10x).
237
238config BT_HCIBFUSB
239 tristate "HCI BlueFRITZ! USB driver"
240 depends on USB
241 select FW_LOADER
242 help
243 Bluetooth HCI BlueFRITZ! USB driver.
244 This driver provides support for Bluetooth USB devices with AVM
245 interface:
246 AVM BlueFRITZ! USB
247
248 Say Y here to compile support for HCI BFUSB devices into the
249 kernel or say M to compile it as module (bfusb).
250
251config BT_HCIDTL1
252 tristate "HCI DTL1 (PC Card) driver"
253 depends on PCMCIA
254 help
255 Bluetooth HCI DTL1 (PC Card) driver.
256 This driver provides support for Bluetooth PCMCIA devices with
257 Nokia DTL1 interface:
258 Nokia Bluetooth Card
259 Socket Bluetooth CF Card
260
261 Say Y here to compile support for HCI DTL1 devices into the
262 kernel or say M to compile it as module (dtl1_cs).
263
264config BT_HCIBT3C
265 tristate "HCI BT3C (PC Card) driver"
266 depends on PCMCIA
267 select FW_LOADER
268 help
269 Bluetooth HCI BT3C (PC Card) driver.
270 This driver provides support for Bluetooth PCMCIA devices with
271 3Com BT3C interface:
272 3Com Bluetooth Card (3CRWB6096)
273 HP Bluetooth Card
274
275 Say Y here to compile support for HCI BT3C devices into the
276 kernel or say M to compile it as module (bt3c_cs).
277
278config BT_HCIBLUECARD
279 tristate "HCI BlueCard (PC Card) driver"
280 depends on PCMCIA
281 help
282 Bluetooth HCI BlueCard (PC Card) driver.
283 This driver provides support for Bluetooth PCMCIA devices with
284 Anycom BlueCard interface:
285 Anycom Bluetooth PC Card
286 Anycom Bluetooth CF Card
287
288 Say Y here to compile support for HCI BlueCard devices into the
289 kernel or say M to compile it as module (bluecard_cs).
290
291config BT_HCIBTUART
292 tristate "HCI UART (PC Card) device driver"
293 depends on PCMCIA
294 help
295 Bluetooth HCI UART (PC Card) driver.
296 This driver provides support for Bluetooth PCMCIA devices with
297 an UART interface:
298 Xircom CreditCard Bluetooth Adapter
299 Xircom RealPort2 Bluetooth Adapter
300 Sphinx PICO Card
301 H-Soft blue+Card
302 Cyber-blue Compact Flash Card
303
304 Say Y here to compile support for HCI UART devices into the
305 kernel or say M to compile it as module (btuart_cs).
306
307config BT_HCIVHCI
308 tristate "HCI VHCI (Virtual HCI device) driver"
309 help
310 Bluetooth Virtual HCI device driver.
311 This driver is required if you want to use HCI Emulation software.
312
313 Say Y here to compile support for virtual HCI devices into the
314 kernel or say M to compile it as module (hci_vhci).
315
Bing Zhao132ff4e2009-06-02 14:29:35 -0700316config BT_MRVL
317 tristate "Marvell Bluetooth driver support"
Bing Zhao132ff4e2009-06-02 14:29:35 -0700318 help
319 The core driver to support Marvell Bluetooth devices.
320
321 This driver is required if you want to support
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700322 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
Bing Zhao132ff4e2009-06-02 14:29:35 -0700323
324 Say Y here to compile Marvell Bluetooth driver
325 into the kernel or say M to compile it as module.
326
Bing Zhao789221e2009-06-02 14:29:36 -0700327config BT_MRVL_SDIO
328 tristate "Marvell BT-over-SDIO driver"
329 depends on BT_MRVL && MMC
Marcel Holtmanne7a25f92009-06-09 13:42:54 +0200330 select FW_LOADER
Xinming Hudc759612014-11-24 02:40:53 -0800331 select WANT_DEV_COREDUMP
Bing Zhao789221e2009-06-02 14:29:36 -0700332 help
333 The driver for Marvell Bluetooth chipsets with SDIO interface.
334
335 This driver is required if you want to use Marvell Bluetooth
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700336 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
Bing Zhao2ac654f2011-11-16 20:40:42 -0800337 chipsets are supported.
Bing Zhao789221e2009-06-02 14:29:36 -0700338
339 Say Y here to compile support for Marvell BT-over-SDIO driver
340 into the kernel or say M to compile it as module.
341
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530342config BT_ATH3K
343 tristate "Atheros firmware download driver"
344 depends on BT_HCIBTUSB
345 select FW_LOADER
346 help
347 Bluetooth firmware download driver.
348 This driver loads the firmware into the Atheros Bluetooth
349 chipset.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700350
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530351 Say Y here to compile support for "Atheros firmware download driver"
352 into the kernel or say M to compile it as module (ath3k).
353
Pavan Savoy363907a2011-02-20 22:41:16 -0600354config BT_WILINK
355 tristate "Texas Instruments WiLink7 driver"
356 depends on TI_ST
357 help
358 This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
359 combo devices. This makes use of shared transport line discipline
360 core driver to communicate with the BT core of the combo chip.
361
362 Say Y here to compile support for Texas Instrument's WiLink7 driver
Pavel Machek22e8ee12014-01-17 14:34:30 +0100363 into the kernel or say M to compile it as module (btwilink).
364
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700365config BT_QCOMSMD
366 tristate "Qualcomm SMD based HCI support"
Bjorn Andersson5052de82017-03-27 22:26:33 -0700367 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
Arnd Bergmann6e9e6cc2017-03-20 15:31:10 -0700368 depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700369 select BT_QCA
370 help
371 Qualcomm SMD based HCI driver.
372 This driver is used to bridge HCI data onto the shared memory
373 channels to the WCNSS core.
374
375 Say Y here to compile support for HCI over Qualcomm SMD into the
376 kernel or say M to compile as a module.
377
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530378endmenu