]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - drivers/bluetooth/Kconfig
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[mirror_ubuntu-jammy-kernel.git] / drivers / bluetooth / Kconfig
1
2 menu "Bluetooth device drivers"
3 depends on BT
4
5 config BT_INTEL
6 tristate
7 select REGMAP
8
9 config BT_BCM
10 tristate
11 select FW_LOADER
12
13 config BT_RTL
14 tristate
15 select FW_LOADER
16
17 config BT_QCA
18 tristate
19 select FW_LOADER
20
21 config BT_HCIBTUSB
22 tristate "HCI USB driver"
23 depends on USB
24 select BT_INTEL
25 help
26 Bluetooth HCI USB driver.
27 This driver is required if you want to use Bluetooth devices with
28 USB interface.
29
30 Say Y here to compile support for Bluetooth USB devices into the
31 kernel or say M to compile it as module (btusb).
32
33 config 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
44 config 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
55 config 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
66 config BT_HCIUART
67 tristate "HCI UART driver"
68 depends on TTY
69 help
70 Bluetooth HCI UART driver.
71 This driver is required if you want to use Bluetooth devices with
72 serial port interface. You will also need this driver if you have
73 UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
74 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
79 config 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
85 config BT_HCIUART_H4
86 bool "UART (H4) protocol support"
87 depends on BT_HCIUART
88 help
89 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.
92
93 Say Y here to compile support for HCI UART (H4) protocol.
94
95 config BT_HCIUART_NOKIA
96 tristate "UART Nokia H4+ protocol support"
97 depends on BT_HCIUART
98 depends on BT_HCIUART_SERDEV
99 depends on PM
100 select BT_HCIUART_H4
101 select BT_BCM
102 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
109 config BT_HCIUART_BCSP
110 bool "BCSP protocol support"
111 depends on BT_HCIUART
112 select BITREVERSE
113 help
114 BCSP (BlueCore Serial Protocol) is serial protocol for communication
115 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
121 config BT_HCIUART_ATH3K
122 bool "Atheros AR300x serial support"
123 depends on BT_HCIUART
124 select BT_HCIUART_H4
125 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
134 config BT_HCIUART_LL
135 bool "HCILL protocol support"
136 depends on BT_HCIUART_SERDEV
137 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
145 config 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
157 config BT_HCIUART_INTEL
158 bool "Intel protocol support"
159 depends on BT_HCIUART
160 select BT_HCIUART_H4
161 select BT_INTEL
162 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
168 config BT_HCIUART_BCM
169 bool "Broadcom protocol support"
170 depends on BT_HCIUART
171 depends on BT_HCIUART_SERDEV
172 select BT_HCIUART_H4
173 select BT_BCM
174 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
180 config 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
193 config 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
204 config 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
215 config 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
227 config BT_HCIBPA10X
228 tristate "HCI BPA10x USB driver"
229 depends on USB && BT_HCIUART
230 select BT_HCIUART_H4
231 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
239 config 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
252 config 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
265 config 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
279 config 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
292 config 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
308 config 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
317 config BT_MRVL
318 tristate "Marvell Bluetooth driver support"
319 help
320 The core driver to support Marvell Bluetooth devices.
321
322 This driver is required if you want to support
323 Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
324
325 Say Y here to compile Marvell Bluetooth driver
326 into the kernel or say M to compile it as module.
327
328 config BT_MRVL_SDIO
329 tristate "Marvell BT-over-SDIO driver"
330 depends on BT_MRVL && MMC
331 select FW_LOADER
332 select WANT_DEV_COREDUMP
333 help
334 The driver for Marvell Bluetooth chipsets with SDIO interface.
335
336 This driver is required if you want to use Marvell Bluetooth
337 devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
338 chipsets are supported.
339
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
343 config 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.
351
352 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
355 config 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
364 into the kernel or say M to compile it as module (btwilink).
365
366 config BT_QCOMSMD
367 tristate "Qualcomm SMD based HCI support"
368 depends on RPMSG || (COMPILE_TEST && RPMSG=n)
369 depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
370 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
379 endmenu