1 # SPDX-License-Identifier: GPL-2.0
3 menu "Bluetooth device drivers"
23 tristate "HCI USB driver"
27 Bluetooth HCI USB driver.
28 This driver is required if you want to use Bluetooth devices with
31 Say Y here to compile support for Bluetooth USB devices into the
32 kernel or say M to compile it as module (btusb).
34 config BT_HCIBTUSB_BCM
35 bool "Broadcom protocol support"
36 depends on BT_HCIBTUSB
40 The Broadcom protocol support enables firmware and patchram
41 download support for Broadcom Bluetooth controllers.
43 Say Y here to compile support for Broadcom protocol.
45 config BT_HCIBTUSB_RTL
46 bool "Realtek protocol support"
47 depends on BT_HCIBTUSB
51 The Realtek protocol support enables firmware and configuration
52 download support for Realtek Bluetooth controllers.
54 Say Y here to compile support for Realtek protocol.
57 tristate "HCI SDIO driver"
60 Bluetooth HCI SDIO driver.
61 This driver is required if you want to use Bluetooth device with
64 Say Y here to compile support for Bluetooth SDIO devices into the
65 kernel or say M to compile it as module (btsdio).
68 tristate "HCI UART driver"
71 Bluetooth HCI UART driver.
72 This driver is required if you want to use Bluetooth devices with
73 serial port interface. You will also need this driver if you have
74 UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
75 adapter and BrainBoxes Bluetooth PC Card.
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).
80 config BT_HCIUART_SERDEV
82 depends on SERIAL_DEV_BUS && BT_HCIUART
83 depends on SERIAL_DEV_BUS=y || SERIAL_DEV_BUS=BT_HCIUART
87 bool "UART (H4) protocol support"
90 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.
94 Say Y here to compile support for HCI UART (H4) protocol.
96 config BT_HCIUART_NOKIA
97 tristate "UART Nokia H4+ protocol support"
99 depends on BT_HCIUART_SERDEV
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.
108 Say Y here to compile support for Nokia's H4+ protocol.
110 config BT_HCIUART_BCSP
111 bool "BCSP protocol support"
112 depends on BT_HCIUART
115 BCSP (BlueCore Serial Protocol) is serial protocol for communication
116 between Bluetooth device and host. This protocol is required for non
117 USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
120 Say Y here to compile support for HCI BCSP protocol.
122 config BT_HCIUART_ATH3K
123 bool "Atheros AR300x serial support"
124 depends on BT_HCIUART
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.
133 Say Y here to compile support for HCI UART ATH3K protocol.
136 bool "HCILL protocol support"
137 depends on BT_HCIUART_SERDEV
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'
144 Say Y here to compile support for HCILL protocol.
146 config BT_HCIUART_3WIRE
147 bool "Three-wire UART (H5) protocol support"
148 depends on BT_HCIUART
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.
156 Say Y here to compile support for Three-wire UART protocol.
158 config BT_HCIUART_INTEL
159 bool "Intel protocol support"
160 depends on BT_HCIUART
164 The Intel protocol support enables Bluetooth HCI over serial
165 port interface for Intel Bluetooth controllers.
167 Say Y here to compile support for Intel protocol.
169 config BT_HCIUART_BCM
170 bool "Broadcom protocol support"
171 depends on BT_HCIUART
172 depends on BT_HCIUART_SERDEV
176 The Broadcom protocol support enables Bluetooth HCI over serial
177 port interface for Broadcom Bluetooth controllers.
179 Say Y here to compile support for Broadcom protocol.
181 config BT_HCIUART_QCA
182 bool "Qualcomm Atheros protocol support"
183 depends on BT_HCIUART
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
192 Say Y here to compile support for QCA protocol.
194 config BT_HCIUART_AG6XX
195 bool "Intel AG6XX protocol support"
196 depends on BT_HCIUART
200 The Intel/AG6XX protocol support enables Bluetooth HCI over serial
201 port interface for Intel ibt 2.1 Bluetooth controllers.
203 Say Y here to compile support for Intel AG6XX protocol.
205 config BT_HCIUART_MRVL
206 bool "Marvell protocol support"
207 depends on BT_HCIUART
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.
214 Say Y here to compile support for HCI MRVL protocol.
217 tristate "HCI BCM203x USB driver"
221 Bluetooth HCI BCM203x USB driver.
222 This driver provides the firmware loading mechanism for the Broadcom
223 Blutonium based devices.
225 Say Y here to compile support for HCI BCM203x devices into the
226 kernel or say M to compile it as module (bcm203x).
229 tristate "HCI BPA10x USB driver"
230 depends on USB && BT_HCIUART
233 Bluetooth HCI BPA10x USB driver.
234 This driver provides support for the Digianswer BPA 100/105 Bluetooth
237 Say Y here to compile support for HCI BPA10x devices into the
238 kernel or say M to compile it as module (bpa10x).
241 tristate "HCI BlueFRITZ! USB driver"
245 Bluetooth HCI BlueFRITZ! USB driver.
246 This driver provides support for Bluetooth USB devices with AVM
250 Say Y here to compile support for HCI BFUSB devices into the
251 kernel or say M to compile it as module (bfusb).
254 tristate "HCI DTL1 (PC Card) driver"
257 Bluetooth HCI DTL1 (PC Card) driver.
258 This driver provides support for Bluetooth PCMCIA devices with
259 Nokia DTL1 interface:
261 Socket Bluetooth CF Card
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).
267 tristate "HCI BT3C (PC Card) driver"
271 Bluetooth HCI BT3C (PC Card) driver.
272 This driver provides support for Bluetooth PCMCIA devices with
274 3Com Bluetooth Card (3CRWB6096)
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).
280 config BT_HCIBLUECARD
281 tristate "HCI BlueCard (PC Card) driver"
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
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).
294 tristate "HCI UART (PC Card) device driver"
297 Bluetooth HCI UART (PC Card) driver.
298 This driver provides support for Bluetooth PCMCIA devices with
300 Xircom CreditCard Bluetooth Adapter
301 Xircom RealPort2 Bluetooth Adapter
304 Cyber-blue Compact Flash Card
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).
310 tristate "HCI VHCI (Virtual HCI device) driver"
312 Bluetooth Virtual HCI device driver.
313 This driver is required if you want to use HCI Emulation software.
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).
319 tristate "Marvell Bluetooth driver support"
321 The core driver to support Marvell Bluetooth devices.
323 This driver is required if you want to support
324 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
326 Say Y here to compile Marvell Bluetooth driver
327 into the kernel or say M to compile it as module.
330 tristate "Marvell BT-over-SDIO driver"
331 depends on BT_MRVL && MMC
333 select WANT_DEV_COREDUMP
335 The driver for Marvell Bluetooth chipsets with SDIO interface.
337 This driver is required if you want to use Marvell Bluetooth
338 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
339 chipsets are supported.
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.
345 tristate "Atheros firmware download driver"
346 depends on BT_HCIBTUSB
349 Bluetooth firmware download driver.
350 This driver loads the firmware into the Atheros Bluetooth
353 Say Y here to compile support for "Atheros firmware download driver"
354 into the kernel or say M to compile it as module (ath3k).
357 tristate "Texas Instruments WiLink7 driver"
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.
364 Say Y here to compile support for Texas Instrument's WiLink7 driver
365 into the kernel or say M to compile it as module (btwilink).
368 tristate "Qualcomm SMD based HCI support"
369 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
370 depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
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.
377 Say Y here to compile support for HCI over Qualcomm SMD into the
378 kernel or say M to compile as a module.