blob: 70ed8d95b3acffd9127594e3065ef684c0476b43 [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
128 help
129 The HCI Three-wire UART Transport Layer makes it possible to
130 user the Bluetooth HCI over a serial port interface. The HCI
131 Three-wire UART Transport Layer assumes that the UART
132 communication may have bit errors, overrun errors or burst
133 errors and thereby making CTS/RTS lines unnecessary.
134
135 Say Y here to compile support for Three-wire UART protocol.
136
Marcel Holtmann16e38872015-04-04 16:13:02 -0700137config BT_HCIUART_INTEL
138 bool "Intel protocol support"
139 depends on BT_HCIUART
Loic Poulainca93cee2015-07-01 12:20:26 +0200140 select BT_HCIUART_H4
Marcel Holtmannbca03c92015-04-06 00:52:14 -0700141 select BT_INTEL
Marcel Holtmann16e38872015-04-04 16:13:02 -0700142 help
143 The Intel protocol support enables Bluetooth HCI over serial
144 port interface for Intel Bluetooth controllers.
145
146 Say Y here to compile support for Intel protocol.
147
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700148config BT_HCIUART_BCM
149 bool "Broadcom protocol support"
150 depends on BT_HCIUART
Marcel Holtmannbdd88182015-04-05 22:52:18 -0700151 select BT_HCIUART_H4
Marcel Holtmann3e0ac122015-04-05 22:52:12 -0700152 select BT_BCM
Marcel Holtmanne9a2dd22015-04-04 16:13:03 -0700153 help
154 The Broadcom protocol support enables Bluetooth HCI over serial
155 port interface for Broadcom Bluetooth controllers.
156
157 Say Y here to compile support for Broadcom protocol.
158
Ben Young Tae Kim0ff252c2015-08-10 14:24:17 -0700159config BT_HCIUART_QCA
160 bool "Qualcomm Atheros protocol support"
161 depends on BT_HCIUART
162 select BT_HCIUART_H4
163 select BT_QCA
164 help
165 The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
166 over serial port interface(H4) between controller and host.
167 This protocol is required for UART clock control for QCA Bluetooth
168 devices.
169
170 Say Y here to compile support for QCA protocol.
171
Loic Poulain395174b2016-02-22 10:48:03 +0100172config BT_HCIUART_AG6XX
173 bool "Intel AG6XX protocol support"
174 depends on BT_HCIUART
175 select BT_HCIUART_H4
176 select BT_INTEL
177 help
178 The Intel/AG6XX protocol support enables Bluetooth HCI over serial
179 port interface for Intel ibt 2.1 Bluetooth controllers.
180
181 Say Y here to compile support for Intel AG6XX protocol.
182
Loic Poulain162f8122016-09-19 16:29:27 +0200183config BT_HCIUART_MRVL
184 bool "Marvell protocol support"
185 depends on BT_HCIUART
186 select BT_HCIUART_H4
187 help
188 Marvell is serial protocol for communication between Bluetooth
189 device and host. This protocol is required for most Marvell Bluetooth
190 devices with UART interface.
191
192 Say Y here to compile support for HCI MRVL protocol.
193
Linus Torvalds1da177e2005-04-16 15:20:36 -0700194config BT_HCIBCM203X
195 tristate "HCI BCM203x USB driver"
196 depends on USB
197 select FW_LOADER
198 help
199 Bluetooth HCI BCM203x USB driver.
200 This driver provides the firmware loading mechanism for the Broadcom
201 Blutonium based devices.
202
203 Say Y here to compile support for HCI BCM203x devices into the
204 kernel or say M to compile it as module (bcm203x).
205
206config BT_HCIBPA10X
207 tristate "HCI BPA10x USB driver"
Arnd Bergmann7841d062015-10-17 00:03:38 +0200208 depends on USB && BT_HCIUART
Marcel Holtmann943cc592015-10-08 03:06:53 +0200209 select BT_HCIUART_H4
Linus Torvalds1da177e2005-04-16 15:20:36 -0700210 help
211 Bluetooth HCI BPA10x USB driver.
212 This driver provides support for the Digianswer BPA 100/105 Bluetooth
213 sniffer devices.
214
215 Say Y here to compile support for HCI BPA10x devices into the
216 kernel or say M to compile it as module (bpa10x).
217
218config BT_HCIBFUSB
219 tristate "HCI BlueFRITZ! USB driver"
220 depends on USB
221 select FW_LOADER
222 help
223 Bluetooth HCI BlueFRITZ! USB driver.
224 This driver provides support for Bluetooth USB devices with AVM
225 interface:
226 AVM BlueFRITZ! USB
227
228 Say Y here to compile support for HCI BFUSB devices into the
229 kernel or say M to compile it as module (bfusb).
230
231config BT_HCIDTL1
232 tristate "HCI DTL1 (PC Card) driver"
233 depends on PCMCIA
234 help
235 Bluetooth HCI DTL1 (PC Card) driver.
236 This driver provides support for Bluetooth PCMCIA devices with
237 Nokia DTL1 interface:
238 Nokia Bluetooth Card
239 Socket Bluetooth CF Card
240
241 Say Y here to compile support for HCI DTL1 devices into the
242 kernel or say M to compile it as module (dtl1_cs).
243
244config BT_HCIBT3C
245 tristate "HCI BT3C (PC Card) driver"
246 depends on PCMCIA
247 select FW_LOADER
248 help
249 Bluetooth HCI BT3C (PC Card) driver.
250 This driver provides support for Bluetooth PCMCIA devices with
251 3Com BT3C interface:
252 3Com Bluetooth Card (3CRWB6096)
253 HP Bluetooth Card
254
255 Say Y here to compile support for HCI BT3C devices into the
256 kernel or say M to compile it as module (bt3c_cs).
257
258config BT_HCIBLUECARD
259 tristate "HCI BlueCard (PC Card) driver"
260 depends on PCMCIA
261 help
262 Bluetooth HCI BlueCard (PC Card) driver.
263 This driver provides support for Bluetooth PCMCIA devices with
264 Anycom BlueCard interface:
265 Anycom Bluetooth PC Card
266 Anycom Bluetooth CF Card
267
268 Say Y here to compile support for HCI BlueCard devices into the
269 kernel or say M to compile it as module (bluecard_cs).
270
271config BT_HCIBTUART
272 tristate "HCI UART (PC Card) device driver"
273 depends on PCMCIA
274 help
275 Bluetooth HCI UART (PC Card) driver.
276 This driver provides support for Bluetooth PCMCIA devices with
277 an UART interface:
278 Xircom CreditCard Bluetooth Adapter
279 Xircom RealPort2 Bluetooth Adapter
280 Sphinx PICO Card
281 H-Soft blue+Card
282 Cyber-blue Compact Flash Card
283
284 Say Y here to compile support for HCI UART devices into the
285 kernel or say M to compile it as module (btuart_cs).
286
287config BT_HCIVHCI
288 tristate "HCI VHCI (Virtual HCI device) driver"
289 help
290 Bluetooth Virtual HCI device driver.
291 This driver is required if you want to use HCI Emulation software.
292
293 Say Y here to compile support for virtual HCI devices into the
294 kernel or say M to compile it as module (hci_vhci).
295
Bing Zhao132ff4e2009-06-02 14:29:35 -0700296config BT_MRVL
297 tristate "Marvell Bluetooth driver support"
Bing Zhao132ff4e2009-06-02 14:29:35 -0700298 help
299 The core driver to support Marvell Bluetooth devices.
300
301 This driver is required if you want to support
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700302 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
Bing Zhao132ff4e2009-06-02 14:29:35 -0700303
304 Say Y here to compile Marvell Bluetooth driver
305 into the kernel or say M to compile it as module.
306
Bing Zhao789221e2009-06-02 14:29:36 -0700307config BT_MRVL_SDIO
308 tristate "Marvell BT-over-SDIO driver"
309 depends on BT_MRVL && MMC
Marcel Holtmanne7a25f92009-06-09 13:42:54 +0200310 select FW_LOADER
Xinming Hudc759612014-11-24 02:40:53 -0800311 select WANT_DEV_COREDUMP
Bing Zhao789221e2009-06-02 14:29:36 -0700312 help
313 The driver for Marvell Bluetooth chipsets with SDIO interface.
314
315 This driver is required if you want to use Marvell Bluetooth
Amitkumar Karwarf0ef6742015-09-21 03:06:42 -0700316 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
Bing Zhao2ac654f2011-11-16 20:40:42 -0800317 chipsets are supported.
Bing Zhao789221e2009-06-02 14:29:36 -0700318
319 Say Y here to compile support for Marvell BT-over-SDIO driver
320 into the kernel or say M to compile it as module.
321
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530322config BT_ATH3K
323 tristate "Atheros firmware download driver"
324 depends on BT_HCIBTUSB
325 select FW_LOADER
326 help
327 Bluetooth firmware download driver.
328 This driver loads the firmware into the Atheros Bluetooth
329 chipset.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700330
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530331 Say Y here to compile support for "Atheros firmware download driver"
332 into the kernel or say M to compile it as module (ath3k).
333
Pavan Savoy363907a2011-02-20 22:41:16 -0600334config BT_WILINK
335 tristate "Texas Instruments WiLink7 driver"
336 depends on TI_ST
337 help
338 This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
339 combo devices. This makes use of shared transport line discipline
340 core driver to communicate with the BT core of the combo chip.
341
342 Say Y here to compile support for Texas Instrument's WiLink7 driver
Pavel Machek22e8ee12014-01-17 14:34:30 +0100343 into the kernel or say M to compile it as module (btwilink).
344
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700345config BT_QCOMSMD
346 tristate "Qualcomm SMD based HCI support"
Arnd Bergmann3d4e2fb2016-08-29 14:36:18 +0200347 depends on QCOM_SMD && QCOM_WCNSS_CTRL
Bjorn Andersson1511cc72016-08-12 17:01:28 -0700348 select BT_QCA
349 help
350 Qualcomm SMD based HCI driver.
351 This driver is used to bridge HCI data onto the shared memory
352 channels to the WCNSS core.
353
354 Say Y here to compile support for HCI over Qualcomm SMD into the
355 kernel or say M to compile as a module.
356
Mahesh Kumar Sharma41a4d382017-01-17 17:00:51 -0800357config MSM_BT_POWER
358 bool "MSM Bluetooth Power Control"
359 depends on ARCH_QCOM && RFKILL
360 help
361 Provides a parameter to switch on/off power from PMIC
362 to Bluetooth device.
363
364config BTFM_SLIM
365 bool "MSM Bluetooth/FM Slimbus Driver"
366 select SLIMBUS
367 default MSM_BT_POWER
368 help
369 This enables BT/FM slimbus driver to get multiple audio channel.
370 This will make use of slimbus platform driver and slimbus codec
371 driver to communicate with slimbus machine driver and LPSS which
372 is Slimbus master.
373
374 Slimbus slave initialization and configuration will be done through
375 this driver.
376
377config BTFM_SLIM_WCN3990
378 bool "MSM Bluetooth/FM WCN3990 Device"
379 default BTFM_SLIM
380 depends on BTFM_SLIM
381 help
382 This enables specific driver handle for WCN3990 device.
383 It is designed to adapt any future BT/FM device to implement a specific
384 chip initialization process and control.
385
Vikram Kandukuri9670d802010-01-06 19:04:15 +0530386endmenu