xref: /openbmc/linux/drivers/bluetooth/Kconfig (revision 239480ab)
1
2menu "Bluetooth device drivers"
3	depends on BT
4
5config BT_INTEL
6	tristate
7	select REGMAP
8
9config BT_BCM
10	tristate
11	select FW_LOADER
12
13config BT_RTL
14	tristate
15	select FW_LOADER
16
17config BT_QCA
18	tristate
19	select FW_LOADER
20
21config 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
33config 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
44config 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
55config 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
66config 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
79config 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
85config 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
95config 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	help
101	  Nokia H4+ is serial protocol for communication between Bluetooth
102	  device and host. This protocol is required for Bluetooth devices
103	  with UART interface in Nokia devices.
104
105	  Say Y here to compile support for Nokia's H4+ protocol.
106
107config BT_HCIUART_BCSP
108	bool "BCSP protocol support"
109	depends on BT_HCIUART
110	select BITREVERSE
111	help
112	  BCSP (BlueCore Serial Protocol) is serial protocol for communication
113	  between Bluetooth device and host. This protocol is required for non
114	  USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
115	  CF cards.
116
117	  Say Y here to compile support for HCI BCSP protocol.
118
119config BT_HCIUART_ATH3K
120	bool "Atheros AR300x serial support"
121	depends on BT_HCIUART
122	select BT_HCIUART_H4
123	help
124	  HCIATH3K (HCI Atheros AR300x) is a serial protocol for
125	  communication between host and Atheros AR300x Bluetooth devices.
126	  This protocol enables AR300x chips to be enabled with
127	  power management support.
128	  Enable this if you have Atheros AR300x serial Bluetooth device.
129
130	  Say Y here to compile support for HCI UART ATH3K protocol.
131
132config BT_HCIUART_LL
133	bool "HCILL protocol support"
134	depends on BT_HCIUART
135	help
136	  HCILL (HCI Low Level) is a serial protocol for communication
137	  between Bluetooth device and host. This protocol is required for
138	  serial Bluetooth devices that are based on Texas Instruments'
139	  BRF chips.
140
141	  Say Y here to compile support for HCILL protocol.
142
143config BT_HCIUART_3WIRE
144	bool "Three-wire UART (H5) protocol support"
145	depends on BT_HCIUART
146	help
147	  The HCI Three-wire UART Transport Layer makes it possible to
148	  user the Bluetooth HCI over a serial port interface. The HCI
149	  Three-wire UART Transport Layer assumes that the UART
150	  communication may have bit errors, overrun errors or burst
151	  errors and thereby making CTS/RTS lines unnecessary.
152
153	  Say Y here to compile support for Three-wire UART protocol.
154
155config BT_HCIUART_INTEL
156	bool "Intel protocol support"
157	depends on BT_HCIUART
158	select BT_HCIUART_H4
159	select BT_INTEL
160	help
161	  The Intel protocol support enables Bluetooth HCI over serial
162	  port interface for Intel Bluetooth controllers.
163
164	  Say Y here to compile support for Intel protocol.
165
166config BT_HCIUART_BCM
167	bool "Broadcom protocol support"
168	depends on BT_HCIUART
169	select BT_HCIUART_H4
170	select BT_BCM
171	help
172	  The Broadcom protocol support enables Bluetooth HCI over serial
173	  port interface for Broadcom Bluetooth controllers.
174
175	  Say Y here to compile support for Broadcom protocol.
176
177config BT_HCIUART_QCA
178	bool "Qualcomm Atheros protocol support"
179	depends on BT_HCIUART
180	select BT_HCIUART_H4
181	select BT_QCA
182	help
183	  The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
184	  over serial port interface(H4) between controller and host.
185	  This protocol is required for UART clock control for QCA Bluetooth
186	  devices.
187
188	  Say Y here to compile support for QCA protocol.
189
190config BT_HCIUART_AG6XX
191	bool "Intel AG6XX protocol support"
192	depends on BT_HCIUART
193	select BT_HCIUART_H4
194	select BT_INTEL
195	help
196	  The Intel/AG6XX protocol support enables Bluetooth HCI over serial
197	  port interface for Intel ibt 2.1 Bluetooth controllers.
198
199	  Say Y here to compile support for Intel AG6XX protocol.
200
201config BT_HCIUART_MRVL
202	bool "Marvell protocol support"
203	depends on BT_HCIUART
204	select BT_HCIUART_H4
205	help
206	  Marvell is serial protocol for communication between Bluetooth
207	  device and host. This protocol is required for most Marvell Bluetooth
208	  devices with UART interface.
209
210	  Say Y here to compile support for HCI MRVL protocol.
211
212config BT_HCIBCM203X
213	tristate "HCI BCM203x USB driver"
214	depends on USB
215	select FW_LOADER
216	help
217	  Bluetooth HCI BCM203x USB driver.
218	  This driver provides the firmware loading mechanism for the Broadcom
219	  Blutonium based devices.
220
221	  Say Y here to compile support for HCI BCM203x devices into the
222	  kernel or say M to compile it as module (bcm203x).
223
224config BT_HCIBPA10X
225	tristate "HCI BPA10x USB driver"
226	depends on USB && BT_HCIUART
227	select BT_HCIUART_H4
228	help
229	  Bluetooth HCI BPA10x USB driver.
230	  This driver provides support for the Digianswer BPA 100/105 Bluetooth
231	  sniffer devices.
232
233	  Say Y here to compile support for HCI BPA10x devices into the
234	  kernel or say M to compile it as module (bpa10x).
235
236config BT_HCIBFUSB
237	tristate "HCI BlueFRITZ! USB driver"
238	depends on USB
239	select FW_LOADER
240	help
241	  Bluetooth HCI BlueFRITZ! USB driver.
242	  This driver provides support for Bluetooth USB devices with AVM
243	  interface:
244	     AVM BlueFRITZ! USB
245
246	  Say Y here to compile support for HCI BFUSB devices into the
247	  kernel or say M to compile it as module (bfusb).
248
249config BT_HCIDTL1
250	tristate "HCI DTL1 (PC Card) driver"
251	depends on PCMCIA
252	help
253	  Bluetooth HCI DTL1 (PC Card) driver.
254	  This driver provides support for Bluetooth PCMCIA devices with
255	  Nokia DTL1 interface:
256	     Nokia Bluetooth Card
257	     Socket Bluetooth CF Card
258
259	  Say Y here to compile support for HCI DTL1 devices into the
260	  kernel or say M to compile it as module (dtl1_cs).
261
262config BT_HCIBT3C
263	tristate "HCI BT3C (PC Card) driver"
264	depends on PCMCIA
265	select FW_LOADER
266	help
267	  Bluetooth HCI BT3C (PC Card) driver.
268	  This driver provides support for Bluetooth PCMCIA devices with
269	  3Com BT3C interface:
270	     3Com Bluetooth Card (3CRWB6096)
271	     HP Bluetooth Card
272
273	  Say Y here to compile support for HCI BT3C devices into the
274	  kernel or say M to compile it as module (bt3c_cs).
275
276config BT_HCIBLUECARD
277	tristate "HCI BlueCard (PC Card) driver"
278	depends on PCMCIA
279	help
280	  Bluetooth HCI BlueCard (PC Card) driver.
281	  This driver provides support for Bluetooth PCMCIA devices with
282	  Anycom BlueCard interface:
283	     Anycom Bluetooth PC Card
284	     Anycom Bluetooth CF Card
285
286	  Say Y here to compile support for HCI BlueCard devices into the
287	  kernel or say M to compile it as module (bluecard_cs).
288
289config BT_HCIBTUART
290	tristate "HCI UART (PC Card) device driver"
291	depends on PCMCIA
292	help
293	  Bluetooth HCI UART (PC Card) driver.
294	  This driver provides support for Bluetooth PCMCIA devices with
295	  an UART interface:
296	     Xircom CreditCard Bluetooth Adapter
297	     Xircom RealPort2 Bluetooth Adapter
298	     Sphinx PICO Card
299	     H-Soft blue+Card
300	     Cyber-blue Compact Flash Card
301
302	  Say Y here to compile support for HCI UART devices into the
303	  kernel or say M to compile it as module (btuart_cs).
304
305config BT_HCIVHCI
306	tristate "HCI VHCI (Virtual HCI device) driver"
307	help
308	  Bluetooth Virtual HCI device driver.
309	  This driver is required if you want to use HCI Emulation software.
310
311	  Say Y here to compile support for virtual HCI devices into the
312	  kernel or say M to compile it as module (hci_vhci).
313
314config BT_MRVL
315	tristate "Marvell Bluetooth driver support"
316	help
317	  The core driver to support Marvell Bluetooth devices.
318
319	  This driver is required if you want to support
320	  Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8997.
321
322	  Say Y here to compile Marvell Bluetooth driver
323	  into the kernel or say M to compile it as module.
324
325config BT_MRVL_SDIO
326	tristate "Marvell BT-over-SDIO driver"
327	depends on BT_MRVL && MMC
328	select FW_LOADER
329	select WANT_DEV_COREDUMP
330	help
331	  The driver for Marvell Bluetooth chipsets with SDIO interface.
332
333	  This driver is required if you want to use Marvell Bluetooth
334	  devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8997
335	  chipsets are supported.
336
337	  Say Y here to compile support for Marvell BT-over-SDIO driver
338	  into the kernel or say M to compile it as module.
339
340config BT_ATH3K
341	tristate "Atheros firmware download driver"
342	depends on BT_HCIBTUSB
343	select FW_LOADER
344	help
345	  Bluetooth firmware download driver.
346	  This driver loads the firmware into the Atheros Bluetooth
347	  chipset.
348
349	  Say Y here to compile support for "Atheros firmware download driver"
350	  into the kernel or say M to compile it as module (ath3k).
351
352config BT_WILINK
353	tristate "Texas Instruments WiLink7 driver"
354	depends on TI_ST
355	help
356	  This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
357	  combo devices. This makes use of shared transport line discipline
358	  core driver to communicate with the BT core of the combo chip.
359
360	  Say Y here to compile support for Texas Instrument's WiLink7 driver
361	  into the kernel or say M to compile it as module (btwilink).
362
363config BT_QCOMSMD
364	tristate "Qualcomm SMD based HCI support"
365	depends on RPMSG || (COMPILE_TEST && RPMSG=n)
366	depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
367	select BT_QCA
368	help
369	  Qualcomm SMD based HCI driver.
370	  This driver is used to bridge HCI data onto the shared memory
371	  channels to the WCNSS core.
372
373	  Say Y here to compile support for HCI over Qualcomm SMD into the
374	  kernel or say M to compile as a module.
375
376endmenu
377