xref: /linux/drivers/bluetooth/Kconfig (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds
31da177e4SLinus Torvaldsmenu "Bluetooth device drivers"
41da177e4SLinus Torvalds	depends on BT
51da177e4SLinus Torvalds
648f0ed1bSMarcel Holtmannconfig BT_INTEL
748f0ed1bSMarcel Holtmann	tristate
8d06f107bSLoic Poulain	select REGMAP
948f0ed1bSMarcel Holtmann
104fba30f0SMarcel Holtmannconfig BT_BCM
114fba30f0SMarcel Holtmann	tristate
121c8ba6d0SMarcel Holtmann	select FW_LOADER
134fba30f0SMarcel Holtmann
14db33c77dSCarlo Caioneconfig BT_RTL
15db33c77dSCarlo Caione	tristate
16db33c77dSCarlo Caione	select FW_LOADER
17db33c77dSCarlo Caione
1883e81961SBen Young Tae Kimconfig BT_QCA
1983e81961SBen Young Tae Kim	tristate
2083e81961SBen Young Tae Kim	select FW_LOADER
2183e81961SBen Young Tae Kim
228c0d17b6SSean Wangconfig BT_MTK
238c0d17b6SSean Wang	tristate
248c0d17b6SSean Wang	select FW_LOADER
258c0d17b6SSean Wang
265e23b923SMarcel Holtmannconfig BT_HCIBTUSB
279bfa35feSMarcel Holtmann	tristate "HCI USB driver"
289bfa35feSMarcel Holtmann	depends on USB
294185a0f5SMarcel Holtmann	select BT_INTEL
305e23b923SMarcel Holtmann	help
315e23b923SMarcel Holtmann	  Bluetooth HCI USB driver.
325e23b923SMarcel Holtmann	  This driver is required if you want to use Bluetooth devices with
335e23b923SMarcel Holtmann	  USB interface.
345e23b923SMarcel Holtmann
355e23b923SMarcel Holtmann	  Say Y here to compile support for Bluetooth USB devices into the
365e23b923SMarcel Holtmann	  kernel or say M to compile it as module (btusb).
375e23b923SMarcel Holtmann
38eff2d68cSHans de Goedeconfig BT_HCIBTUSB_AUTOSUSPEND
39e7232d18SHans de Goede	bool "Enable USB autosuspend for Bluetooth USB devices by default"
40eff2d68cSHans de Goede	depends on BT_HCIBTUSB
41eff2d68cSHans de Goede	help
42eff2d68cSHans de Goede	  Say Y here to enable USB autosuspend for Bluetooth USB devices by
43eff2d68cSHans de Goede	  default.
44eff2d68cSHans de Goede
45eff2d68cSHans de Goede	  This can be overridden by passing btusb.enable_autosuspend=[y|n]
46eff2d68cSHans de Goede	  on the kernel commandline.
47eff2d68cSHans de Goede
48bb1afb29SLuiz Augusto von Dentzconfig BT_HCIBTUSB_POLL_SYNC
49bb1afb29SLuiz Augusto von Dentz	bool "Enable USB poll_sync for Bluetooth USB devices by default"
50bb1afb29SLuiz Augusto von Dentz	depends on BT_HCIBTUSB
51db112235SLuiz Augusto von Dentz	default y
52bb1afb29SLuiz Augusto von Dentz	help
53bb1afb29SLuiz Augusto von Dentz	  poll_sync synchronizes the USB data and event endpoints by
54bb1afb29SLuiz Augusto von Dentz	  prioritizing the later.
55bb1afb29SLuiz Augusto von Dentz
56bb1afb29SLuiz Augusto von Dentz	  Say Y here to enable USB poll_sync for Bluetooth USB devices by
57bb1afb29SLuiz Augusto von Dentz	  default.
58bb1afb29SLuiz Augusto von Dentz
59*75ddcd5aSHsin-chen Chuangconfig BT_HCIBTUSB_AUTO_ISOC_ALT
60*75ddcd5aSHsin-chen Chuang	bool "Automatically adjust alternate setting for Isoc endpoints"
61*75ddcd5aSHsin-chen Chuang	depends on BT_HCIBTUSB
62*75ddcd5aSHsin-chen Chuang	default y if CHROME_PLATFORMS
63*75ddcd5aSHsin-chen Chuang	help
64*75ddcd5aSHsin-chen Chuang	  Say Y here to automatically adjusting the alternate setting for
65*75ddcd5aSHsin-chen Chuang	  HCI_USER_CHANNEL whenever a SCO link is established.
66*75ddcd5aSHsin-chen Chuang
67*75ddcd5aSHsin-chen Chuang	  When enabled, btusb intercepts the HCI_EV_SYNC_CONN_COMPLETE packets
68*75ddcd5aSHsin-chen Chuang	  and configures isoc endpoint alternate setting automatically when
69*75ddcd5aSHsin-chen Chuang	  HCI_USER_CHANNEL is in use.
70*75ddcd5aSHsin-chen Chuang
71c2bfb100SMarcel Holtmannconfig BT_HCIBTUSB_BCM
72c2bfb100SMarcel Holtmann	bool "Broadcom protocol support"
73c2bfb100SMarcel Holtmann	depends on BT_HCIBTUSB
74c2bfb100SMarcel Holtmann	select BT_BCM
75c2bfb100SMarcel Holtmann	default y
76c2bfb100SMarcel Holtmann	help
77c2bfb100SMarcel Holtmann	  The Broadcom protocol support enables firmware and patchram
78c2bfb100SMarcel Holtmann	  download support for Broadcom Bluetooth controllers.
79c2bfb100SMarcel Holtmann
80c2bfb100SMarcel Holtmann	  Say Y here to compile support for Broadcom protocol.
81c2bfb100SMarcel Holtmann
82a1c49c43SSean Wangconfig BT_HCIBTUSB_MTK
83a1c49c43SSean Wang	bool "MediaTek protocol support"
84a1c49c43SSean Wang	depends on BT_HCIBTUSB
858c0d17b6SSean Wang	select BT_MTK
86a1c49c43SSean Wang	default n
87a1c49c43SSean Wang	help
88a1c49c43SSean Wang	  The MediaTek protocol support enables firmware download
89a1c49c43SSean Wang	  support and chip initialization for MediaTek Bluetooth
90a1c49c43SSean Wang	  USB controllers.
91a1c49c43SSean Wang
92a1c49c43SSean Wang	  Say Y here to compile support for MediaTek protocol.
93a1c49c43SSean Wang
94db33c77dSCarlo Caioneconfig BT_HCIBTUSB_RTL
95db33c77dSCarlo Caione	bool "Realtek protocol support"
96db33c77dSCarlo Caione	depends on BT_HCIBTUSB
97db33c77dSCarlo Caione	select BT_RTL
98db33c77dSCarlo Caione	default y
99db33c77dSCarlo Caione	help
100db33c77dSCarlo Caione	  The Realtek protocol support enables firmware and configuration
101db33c77dSCarlo Caione	  download support for Realtek Bluetooth controllers.
102db33c77dSCarlo Caione
103db33c77dSCarlo Caione	  Say Y here to compile support for Realtek protocol.
104db33c77dSCarlo Caione
105ddbaf13eSMarcel Holtmannconfig BT_HCIBTSDIO
106ddbaf13eSMarcel Holtmann	tristate "HCI SDIO driver"
107ddbaf13eSMarcel Holtmann	depends on MMC
108ddbaf13eSMarcel Holtmann	help
109ddbaf13eSMarcel Holtmann	  Bluetooth HCI SDIO driver.
110ddbaf13eSMarcel Holtmann	  This driver is required if you want to use Bluetooth device with
111ddbaf13eSMarcel Holtmann	  SDIO interface.
112ddbaf13eSMarcel Holtmann
113ddbaf13eSMarcel Holtmann	  Say Y here to compile support for Bluetooth SDIO devices into the
114ddbaf13eSMarcel Holtmann	  kernel or say M to compile it as module (btsdio).
115ddbaf13eSMarcel Holtmann
1161da177e4SLinus Torvaldsconfig BT_HCIUART
1171da177e4SLinus Torvalds	tristate "HCI UART driver"
11805e89fb5SArnd Bergmann	depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS
119b71b25feSArnd Bergmann	depends on NVMEM || !NVMEM
120b96bac96SKrzysztof Kozlowski	depends on POWER_SEQUENCING || !POWER_SEQUENCING
1214f73bc4dSJoe Millenbach	depends on TTY
1221da177e4SLinus Torvalds	help
1231da177e4SLinus Torvalds	  Bluetooth HCI UART driver.
1241da177e4SLinus Torvalds	  This driver is required if you want to use Bluetooth devices with
1251da177e4SLinus Torvalds	  serial port interface. You will also need this driver if you have
1261da177e4SLinus Torvalds	  UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
1271da177e4SLinus Torvalds	  adapter and BrainBoxes Bluetooth PC Card.
1281da177e4SLinus Torvalds
1291da177e4SLinus Torvalds	  Say Y here to compile support for Bluetooth UART devices into the
1301da177e4SLinus Torvalds	  kernel or say M to compile it as module (hci_uart).
1311da177e4SLinus Torvalds
1321fb78fb6SArnd Bergmannconfig BT_HCIUART_SERDEV
1331fb78fb6SArnd Bergmann	bool
1341fb78fb6SArnd Bergmann	depends on SERIAL_DEV_BUS && BT_HCIUART
1351fb78fb6SArnd Bergmann	default y
1361fb78fb6SArnd Bergmann
1371da177e4SLinus Torvaldsconfig BT_HCIUART_H4
1381da177e4SLinus Torvalds	bool "UART (H4) protocol support"
1391da177e4SLinus Torvalds	depends on BT_HCIUART
1401da177e4SLinus Torvalds	help
1411da177e4SLinus Torvalds	  UART (H4) is serial protocol for communication between Bluetooth
1421da177e4SLinus Torvalds	  device and host. This protocol is required for most Bluetooth devices
1431da177e4SLinus Torvalds	  with UART interface, including PCMCIA and CF cards.
1441da177e4SLinus Torvalds
1451da177e4SLinus Torvalds	  Say Y here to compile support for HCI UART (H4) protocol.
1461da177e4SLinus Torvalds
1477bb31868SSebastian Reichelconfig BT_HCIUART_NOKIA
1487bb31868SSebastian Reichel	tristate "UART Nokia H4+ protocol support"
1497bb31868SSebastian Reichel	depends on BT_HCIUART
1501fb78fb6SArnd Bergmann	depends on BT_HCIUART_SERDEV
151a3a446c7SLukas Wunner	depends on GPIOLIB
1527bb31868SSebastian Reichel	depends on PM
153c42c88e6STobias Regnery	select BT_HCIUART_H4
1546a485420SMarcel Holtmann	select BT_BCM
1557bb31868SSebastian Reichel	help
1567bb31868SSebastian Reichel	  Nokia H4+ is serial protocol for communication between Bluetooth
1577bb31868SSebastian Reichel	  device and host. This protocol is required for Bluetooth devices
1587bb31868SSebastian Reichel	  with UART interface in Nokia devices.
1597bb31868SSebastian Reichel
1607bb31868SSebastian Reichel	  Say Y here to compile support for Nokia's H4+ protocol.
1617bb31868SSebastian Reichel
1621da177e4SLinus Torvaldsconfig BT_HCIUART_BCSP
1631da177e4SLinus Torvalds	bool "BCSP protocol support"
1641da177e4SLinus Torvalds	depends on BT_HCIUART
165d3a8eab0SRandy Dunlap	select BITREVERSE
1661da177e4SLinus Torvalds	help
1671da177e4SLinus Torvalds	  BCSP (BlueCore Serial Protocol) is serial protocol for communication
1681da177e4SLinus Torvalds	  between Bluetooth device and host. This protocol is required for non
1691da177e4SLinus Torvalds	  USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
1701da177e4SLinus Torvalds	  CF cards.
1711da177e4SLinus Torvalds
1721da177e4SLinus Torvalds	  Say Y here to compile support for HCI BCSP protocol.
1731da177e4SLinus Torvalds
174b3190df6SSuraj Sumangalaconfig BT_HCIUART_ATH3K
175b3190df6SSuraj Sumangala	bool "Atheros AR300x serial support"
176b3190df6SSuraj Sumangala	depends on BT_HCIUART
177d90aa682SMarcel Holtmann	select BT_HCIUART_H4
178b3190df6SSuraj Sumangala	help
179b3190df6SSuraj Sumangala	  HCIATH3K (HCI Atheros AR300x) is a serial protocol for
180b3190df6SSuraj Sumangala	  communication between host and Atheros AR300x Bluetooth devices.
181b3190df6SSuraj Sumangala	  This protocol enables AR300x chips to be enabled with
182b3190df6SSuraj Sumangala	  power management support.
183b3190df6SSuraj Sumangala	  Enable this if you have Atheros AR300x serial Bluetooth device.
184b3190df6SSuraj Sumangala
185b3190df6SSuraj Sumangala	  Say Y here to compile support for HCI UART ATH3K protocol.
186b3190df6SSuraj Sumangala
187166d2f6aSOhad Ben-Cohenconfig BT_HCIUART_LL
188166d2f6aSOhad Ben-Cohen	bool "HCILL protocol support"
18976c4969fSTobias Regnery	depends on BT_HCIUART_SERDEV
190f9d7c8fdSMarcel Holtmann	select BT_HCIUART_H4
191166d2f6aSOhad Ben-Cohen	help
192166d2f6aSOhad Ben-Cohen	  HCILL (HCI Low Level) is a serial protocol for communication
193166d2f6aSOhad Ben-Cohen	  between Bluetooth device and host. This protocol is required for
194166d2f6aSOhad Ben-Cohen	  serial Bluetooth devices that are based on Texas Instruments'
195166d2f6aSOhad Ben-Cohen	  BRF chips.
196166d2f6aSOhad Ben-Cohen
197166d2f6aSOhad Ben-Cohen	  Say Y here to compile support for HCILL protocol.
198166d2f6aSOhad Ben-Cohen
1997dec65c8SJohan Hedbergconfig BT_HCIUART_3WIRE
2007dec65c8SJohan Hedberg	bool "Three-wire UART (H5) protocol support"
2017dec65c8SJohan Hedberg	depends on BT_HCIUART
2026c3711ecSJohan Hedberg	depends on BT_HCIUART_SERDEV
2037dec65c8SJohan Hedberg	help
2047dec65c8SJohan Hedberg	  The HCI Three-wire UART Transport Layer makes it possible to
2057dec65c8SJohan Hedberg	  user the Bluetooth HCI over a serial port interface. The HCI
2067dec65c8SJohan Hedberg	  Three-wire UART Transport Layer assumes that the UART
2077dec65c8SJohan Hedberg	  communication may have bit errors, overrun errors or burst
2087dec65c8SJohan Hedberg	  errors and thereby making CTS/RTS lines unnecessary.
2097dec65c8SJohan Hedberg
2107dec65c8SJohan Hedberg	  Say Y here to compile support for Three-wire UART protocol.
2117dec65c8SJohan Hedberg
21216e3887fSMarcel Holtmannconfig BT_HCIUART_INTEL
21316e3887fSMarcel Holtmann	bool "Intel protocol support"
21416e3887fSMarcel Holtmann	depends on BT_HCIUART
215a3a446c7SLukas Wunner	depends on GPIOLIB
216ca93cee5SLoic Poulain	select BT_HCIUART_H4
217bca03c95SMarcel Holtmann	select BT_INTEL
21816e3887fSMarcel Holtmann	help
21916e3887fSMarcel Holtmann	  The Intel protocol support enables Bluetooth HCI over serial
22016e3887fSMarcel Holtmann	  port interface for Intel Bluetooth controllers.
22116e3887fSMarcel Holtmann
22216e3887fSMarcel Holtmann	  Say Y here to compile support for Intel protocol.
22316e3887fSMarcel Holtmann
224e9a2dd26SMarcel Holtmannconfig BT_HCIUART_BCM
225e9a2dd26SMarcel Holtmann	bool "Broadcom protocol support"
226e9a2dd26SMarcel Holtmann	depends on BT_HCIUART
22733cd149eSLoic Poulain	depends on BT_HCIUART_SERDEV
2284294625eSJohan Hovold	depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT)
229a3a446c7SLukas Wunner	depends on GPIOLIB
230bdd8818eSMarcel Holtmann	select BT_HCIUART_H4
2313e0ac12aSMarcel Holtmann	select BT_BCM
232e9a2dd26SMarcel Holtmann	help
233e9a2dd26SMarcel Holtmann	  The Broadcom protocol support enables Bluetooth HCI over serial
234e9a2dd26SMarcel Holtmann	  port interface for Broadcom Bluetooth controllers.
235e9a2dd26SMarcel Holtmann
236e9a2dd26SMarcel Holtmann	  Say Y here to compile support for Broadcom protocol.
237e9a2dd26SMarcel Holtmann
238b9763cdfSMarcel Holtmannconfig BT_HCIUART_RTL
239b9763cdfSMarcel Holtmann	bool "Realtek protocol support"
240b9763cdfSMarcel Holtmann	depends on BT_HCIUART
241b9763cdfSMarcel Holtmann	depends on BT_HCIUART_SERDEV
242b9763cdfSMarcel Holtmann	depends on GPIOLIB
243848fc616SMax Chou	depends on (ACPI || SERIAL_DEV_CTRL_TTYPORT)
244b9763cdfSMarcel Holtmann	select BT_HCIUART_3WIRE
245b9763cdfSMarcel Holtmann	select BT_RTL
246b9763cdfSMarcel Holtmann	help
247b9763cdfSMarcel Holtmann	  The Realtek protocol support enables Bluetooth HCI over 3-Wire
248e22998f5SChristophe JAILLET	  serial port interface for Realtek Bluetooth controllers.
249b9763cdfSMarcel Holtmann
250b9763cdfSMarcel Holtmann	  Say Y here to compile support for Realtek protocol.
251b9763cdfSMarcel Holtmann
2520ff252c1SBen Young Tae Kimconfig BT_HCIUART_QCA
2530ff252c1SBen Young Tae Kim	bool "Qualcomm Atheros protocol support"
2540ff252c1SBen Young Tae Kim	depends on BT_HCIUART
25505ba533cSThierry Escande	depends on BT_HCIUART_SERDEV
2560ff252c1SBen Young Tae Kim	select BT_HCIUART_H4
2570ff252c1SBen Young Tae Kim	select BT_QCA
2580ff252c1SBen Young Tae Kim	help
2590ff252c1SBen Young Tae Kim	  The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
2600ff252c1SBen Young Tae Kim	  over serial port interface(H4) between controller and host.
2610ff252c1SBen Young Tae Kim	  This protocol is required for UART clock control for QCA Bluetooth
2620ff252c1SBen Young Tae Kim	  devices.
2630ff252c1SBen Young Tae Kim
2640ff252c1SBen Young Tae Kim	  Say Y here to compile support for QCA protocol.
2650ff252c1SBen Young Tae Kim
266395174bbSLoic Poulainconfig BT_HCIUART_AG6XX
267395174bbSLoic Poulain	bool "Intel AG6XX protocol support"
268395174bbSLoic Poulain	depends on BT_HCIUART
269395174bbSLoic Poulain	select BT_HCIUART_H4
270395174bbSLoic Poulain	select BT_INTEL
271395174bbSLoic Poulain	help
272395174bbSLoic Poulain	  The Intel/AG6XX protocol support enables Bluetooth HCI over serial
273395174bbSLoic Poulain	  port interface for Intel ibt 2.1 Bluetooth controllers.
274395174bbSLoic Poulain
275395174bbSLoic Poulain	  Say Y here to compile support for Intel AG6XX protocol.
276395174bbSLoic Poulain
277162f812fSLoic Poulainconfig BT_HCIUART_MRVL
278162f812fSLoic Poulain	bool "Marvell protocol support"
279162f812fSLoic Poulain	depends on BT_HCIUART
280be70e5e7SSascha Hauer	depends on BT_HCIUART_SERDEV
281162f812fSLoic Poulain	select BT_HCIUART_H4
282162f812fSLoic Poulain	help
283162f812fSLoic Poulain	  Marvell is serial protocol for communication between Bluetooth
284162f812fSLoic Poulain	  device and host. This protocol is required for most Marvell Bluetooth
285162f812fSLoic Poulain	  devices with UART interface.
286162f812fSLoic Poulain
287162f812fSLoic Poulain	  Say Y here to compile support for HCI MRVL protocol.
288162f812fSLoic Poulain
28937bac77eSYang Liconfig BT_HCIUART_AML
29037bac77eSYang Li	bool "Amlogic protocol support"
29137bac77eSYang Li	depends on BT_HCIUART
29237bac77eSYang Li	depends on BT_HCIUART_SERDEV
29337bac77eSYang Li	select BT_HCIUART_H4
29437bac77eSYang Li	select FW_LOADER
29537bac77eSYang Li	help
29637bac77eSYang Li	  The Amlogic protocol support enables Bluetooth HCI over serial
29737bac77eSYang Li	  port interface for Amlogic Bluetooth controllers.
29837bac77eSYang Li
29937bac77eSYang Li	  Say Y here to compile support for HCI AML protocol.
30037bac77eSYang Li
3011da177e4SLinus Torvaldsconfig BT_HCIBCM203X
3021da177e4SLinus Torvalds	tristate "HCI BCM203x USB driver"
3031da177e4SLinus Torvalds	depends on USB
3041da177e4SLinus Torvalds	select FW_LOADER
3051da177e4SLinus Torvalds	help
3061da177e4SLinus Torvalds	  Bluetooth HCI BCM203x USB driver.
3071da177e4SLinus Torvalds	  This driver provides the firmware loading mechanism for the Broadcom
3081da177e4SLinus Torvalds	  Blutonium based devices.
3091da177e4SLinus Torvalds
3101da177e4SLinus Torvalds	  Say Y here to compile support for HCI BCM203x devices into the
3111da177e4SLinus Torvalds	  kernel or say M to compile it as module (bcm203x).
3121da177e4SLinus Torvalds
3138a061276SSven Peter
3148a061276SSven Peterconfig BT_HCIBCM4377
31508c22b52SHector Martin	tristate "HCI BCM4377/4378/4387/4388 PCIe driver"
3168a061276SSven Peter	depends on PCI
3178a061276SSven Peter	select FW_LOADER
3188a061276SSven Peter	help
31908c22b52SHector Martin	  Support for Broadcom BCM4377/4378/4387/4388 Bluetooth chipsets
32008c22b52SHector Martin	  attached via PCIe. These are usually found in Apple machines.
3218a061276SSven Peter
3228a061276SSven Peter	  Say Y here to compile support for HCI BCM4377 family devices into the
3238a061276SSven Peter	  kernel or say M to compile it as module (hci_bcm4377).
3248a061276SSven Peter
3251da177e4SLinus Torvaldsconfig BT_HCIBPA10X
3261da177e4SLinus Torvalds	tristate "HCI BPA10x USB driver"
32707eb96a5SMarcel Holtmann	depends on USB
3281da177e4SLinus Torvalds	help
3291da177e4SLinus Torvalds	  Bluetooth HCI BPA10x USB driver.
3301da177e4SLinus Torvalds	  This driver provides support for the Digianswer BPA 100/105 Bluetooth
3311da177e4SLinus Torvalds	  sniffer devices.
3321da177e4SLinus Torvalds
3331da177e4SLinus Torvalds	  Say Y here to compile support for HCI BPA10x devices into the
3341da177e4SLinus Torvalds	  kernel or say M to compile it as module (bpa10x).
3351da177e4SLinus Torvalds
3361da177e4SLinus Torvaldsconfig BT_HCIBFUSB
3371da177e4SLinus Torvalds	tristate "HCI BlueFRITZ! USB driver"
3381da177e4SLinus Torvalds	depends on USB
3391da177e4SLinus Torvalds	select FW_LOADER
3401da177e4SLinus Torvalds	help
3411da177e4SLinus Torvalds	  Bluetooth HCI BlueFRITZ! USB driver.
3421da177e4SLinus Torvalds	  This driver provides support for Bluetooth USB devices with AVM
3431da177e4SLinus Torvalds	  interface:
3441da177e4SLinus Torvalds	     AVM BlueFRITZ! USB
3451da177e4SLinus Torvalds
3461da177e4SLinus Torvalds	  Say Y here to compile support for HCI BFUSB devices into the
3471da177e4SLinus Torvalds	  kernel or say M to compile it as module (bfusb).
3481da177e4SLinus Torvalds
3491da177e4SLinus Torvaldsconfig BT_HCIDTL1
3501da177e4SLinus Torvalds	tristate "HCI DTL1 (PC Card) driver"
351f062b6ecSNiklas Schnelle	depends on PCMCIA && HAS_IOPORT
3521da177e4SLinus Torvalds	help
3531da177e4SLinus Torvalds	  Bluetooth HCI DTL1 (PC Card) driver.
3541da177e4SLinus Torvalds	  This driver provides support for Bluetooth PCMCIA devices with
3551da177e4SLinus Torvalds	  Nokia DTL1 interface:
3561da177e4SLinus Torvalds	     Nokia Bluetooth Card
3571da177e4SLinus Torvalds	     Socket Bluetooth CF Card
3581da177e4SLinus Torvalds
3591da177e4SLinus Torvalds	  Say Y here to compile support for HCI DTL1 devices into the
3601da177e4SLinus Torvalds	  kernel or say M to compile it as module (dtl1_cs).
3611da177e4SLinus Torvalds
3621da177e4SLinus Torvaldsconfig BT_HCIBT3C
3631da177e4SLinus Torvalds	tristate "HCI BT3C (PC Card) driver"
364f062b6ecSNiklas Schnelle	depends on PCMCIA && HAS_IOPORT
3651da177e4SLinus Torvalds	select FW_LOADER
3661da177e4SLinus Torvalds	help
3671da177e4SLinus Torvalds	  Bluetooth HCI BT3C (PC Card) driver.
3681da177e4SLinus Torvalds	  This driver provides support for Bluetooth PCMCIA devices with
3691da177e4SLinus Torvalds	  3Com BT3C interface:
3701da177e4SLinus Torvalds	     3Com Bluetooth Card (3CRWB6096)
3711da177e4SLinus Torvalds	     HP Bluetooth Card
3721da177e4SLinus Torvalds
3731da177e4SLinus Torvalds	  Say Y here to compile support for HCI BT3C devices into the
3741da177e4SLinus Torvalds	  kernel or say M to compile it as module (bt3c_cs).
3751da177e4SLinus Torvalds
3761da177e4SLinus Torvaldsconfig BT_HCIBLUECARD
3771da177e4SLinus Torvalds	tristate "HCI BlueCard (PC Card) driver"
378f062b6ecSNiklas Schnelle	depends on PCMCIA && HAS_IOPORT
3791da177e4SLinus Torvalds	help
3801da177e4SLinus Torvalds	  Bluetooth HCI BlueCard (PC Card) driver.
3811da177e4SLinus Torvalds	  This driver provides support for Bluetooth PCMCIA devices with
3821da177e4SLinus Torvalds	  Anycom BlueCard interface:
3831da177e4SLinus Torvalds	     Anycom Bluetooth PC Card
3841da177e4SLinus Torvalds	     Anycom Bluetooth CF Card
3851da177e4SLinus Torvalds
3861da177e4SLinus Torvalds	  Say Y here to compile support for HCI BlueCard devices into the
3871da177e4SLinus Torvalds	  kernel or say M to compile it as module (bluecard_cs).
3881da177e4SLinus Torvalds
3891da177e4SLinus Torvaldsconfig BT_HCIVHCI
3901da177e4SLinus Torvalds	tristate "HCI VHCI (Virtual HCI device) driver"
391ab4e4380SManish Mandlik	select WANT_DEV_COREDUMP
3921da177e4SLinus Torvalds	help
3931da177e4SLinus Torvalds	  Bluetooth Virtual HCI device driver.
3941da177e4SLinus Torvalds	  This driver is required if you want to use HCI Emulation software.
3951da177e4SLinus Torvalds
3961da177e4SLinus Torvalds	  Say Y here to compile support for virtual HCI devices into the
3971da177e4SLinus Torvalds	  kernel or say M to compile it as module (hci_vhci).
3981da177e4SLinus Torvalds
399132ff4e5SBing Zhaoconfig BT_MRVL
400132ff4e5SBing Zhao	tristate "Marvell Bluetooth driver support"
401132ff4e5SBing Zhao	help
402132ff4e5SBing Zhao	  The core driver to support Marvell Bluetooth devices.
403132ff4e5SBing Zhao
404132ff4e5SBing Zhao	  This driver is required if you want to support
40573623340STamás Szűcs	  Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8977/8987/8997.
406132ff4e5SBing Zhao
407132ff4e5SBing Zhao	  Say Y here to compile Marvell Bluetooth driver
408132ff4e5SBing Zhao	  into the kernel or say M to compile it as module.
409132ff4e5SBing Zhao
410789221ecSBing Zhaoconfig BT_MRVL_SDIO
411789221ecSBing Zhao	tristate "Marvell BT-over-SDIO driver"
412789221ecSBing Zhao	depends on BT_MRVL && MMC
413e7a25f98SMarcel Holtmann	select FW_LOADER
414dc759613SXinming Hu	select WANT_DEV_COREDUMP
415789221ecSBing Zhao	help
416789221ecSBing Zhao	  The driver for Marvell Bluetooth chipsets with SDIO interface.
417789221ecSBing Zhao
418789221ecSBing Zhao	  This driver is required if you want to use Marvell Bluetooth
41973623340STamás Szűcs	  devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8987/SD8997
4202ac654f7SBing Zhao	  chipsets are supported.
421789221ecSBing Zhao
422789221ecSBing Zhao	  Say Y here to compile support for Marvell BT-over-SDIO driver
423789221ecSBing Zhao	  into the kernel or say M to compile it as module.
424789221ecSBing Zhao
4259670d80aSVikram Kandukuriconfig BT_ATH3K
4269670d80aSVikram Kandukuri	tristate "Atheros firmware download driver"
4279670d80aSVikram Kandukuri	depends on BT_HCIBTUSB
4289670d80aSVikram Kandukuri	select FW_LOADER
4299670d80aSVikram Kandukuri	help
4309670d80aSVikram Kandukuri	  Bluetooth firmware download driver.
4319670d80aSVikram Kandukuri	  This driver loads the firmware into the Atheros Bluetooth
4329670d80aSVikram Kandukuri	  chipset.
4331da177e4SLinus Torvalds
4349670d80aSVikram Kandukuri	  Say Y here to compile support for "Atheros firmware download driver"
4359670d80aSVikram Kandukuri	  into the kernel or say M to compile it as module (ath3k).
4369670d80aSVikram Kandukuri
4379aebfd4aSSean Wangconfig BT_MTKSDIO
4389aebfd4aSSean Wang	tristate "MediaTek HCI SDIO driver"
4399aebfd4aSSean Wang	depends on MMC
44061f7a8f9SArnd Bergmann	depends on USB || !BT_HCIBTUSB_MTK
4413a722044SSean Wang	select BT_MTK
4429aebfd4aSSean Wang	help
4439aebfd4aSSean Wang	  MediaTek Bluetooth HCI SDIO driver.
4449aebfd4aSSean Wang	  This driver is required if you want to use MediaTek Bluetooth
4459aebfd4aSSean Wang	  with SDIO interface.
4469aebfd4aSSean Wang
4479aebfd4aSSean Wang	  Say Y here to compile support for MediaTek Bluetooth SDIO devices
4489aebfd4aSSean Wang	  into the kernel or say M to compile it as module (btmtksdio).
4499aebfd4aSSean Wang
4507237c4c9SSean Wangconfig BT_MTKUART
4517237c4c9SSean Wang	tristate "MediaTek HCI UART driver"
4527237c4c9SSean Wang	depends on SERIAL_DEV_BUS
45361f7a8f9SArnd Bergmann	depends on USB || !BT_HCIBTUSB_MTK
454f5c3f989SSean Wang	select BT_MTK
4557237c4c9SSean Wang	help
4567237c4c9SSean Wang	  MediaTek Bluetooth HCI UART driver.
4577237c4c9SSean Wang	  This driver is required if you want to use MediaTek Bluetooth
4587237c4c9SSean Wang	  with serial interface.
4597237c4c9SSean Wang
4607237c4c9SSean Wang	  Say Y here to compile support for MediaTek Bluetooth UART devices
4617237c4c9SSean Wang	  into the kernel or say M to compile it as module (btmtkuart).
4627237c4c9SSean Wang
4631511cc75SBjorn Anderssonconfig BT_QCOMSMD
4641511cc75SBjorn Andersson	tristate "Qualcomm SMD based HCI support"
4655052de8dSBjorn Andersson	depends on RPMSG || (COMPILE_TEST && RPMSG=n)
4666e9e6cc8SArnd Bergmann	depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
4671511cc75SBjorn Andersson	select BT_QCA
4681511cc75SBjorn Andersson	help
4691511cc75SBjorn Andersson	  Qualcomm SMD based HCI driver.
4701511cc75SBjorn Andersson	  This driver is used to bridge HCI data onto the shared memory
4711511cc75SBjorn Andersson	  channels to the WCNSS core.
4721511cc75SBjorn Andersson
4731511cc75SBjorn Andersson	  Say Y here to compile support for HCI over Qualcomm SMD into the
4741511cc75SBjorn Andersson	  kernel or say M to compile as a module.
4751511cc75SBjorn Andersson
47638aa4da5SPrameela Rani Garnepudiconfig BT_HCIRSI
477255dd5b7SArnd Bergmann	tristate
47838aa4da5SPrameela Rani Garnepudi	help
47938aa4da5SPrameela Rani Garnepudi	  Redpine BT driver.
48038aa4da5SPrameela Rani Garnepudi	  This driver handles BT traffic from upper layers and pass
48138aa4da5SPrameela Rani Garnepudi	  to the RSI_91x coex module for further scheduling to device
48238aa4da5SPrameela Rani Garnepudi
48338aa4da5SPrameela Rani Garnepudi	  Say Y here to compile support for HCI over Redpine into the
48438aa4da5SPrameela Rani Garnepudi	  kernel or say M to compile as a module.
48538aa4da5SPrameela Rani Garnepudi
486afd2daa2SMarcel Holtmannconfig BT_VIRTIO
487afd2daa2SMarcel Holtmann	tristate "Virtio Bluetooth driver"
488afd2daa2SMarcel Holtmann	depends on VIRTIO
489afd2daa2SMarcel Holtmann	help
490afd2daa2SMarcel Holtmann	  Virtio Bluetooth support driver.
491afd2daa2SMarcel Holtmann	  This driver supports Virtio Bluetooth devices.
492afd2daa2SMarcel Holtmann
493afd2daa2SMarcel Holtmann	  Say Y here to compile support for HCI over Virtio into the
494afd2daa2SMarcel Holtmann	  kernel or say M to compile as a module.
495afd2daa2SMarcel Holtmann
496689ca16eSNeeraj Sanjay Kaleconfig BT_NXPUART
497689ca16eSNeeraj Sanjay Kale	tristate "NXP protocol support"
498689ca16eSNeeraj Sanjay Kale	depends on SERIAL_DEV_BUS
499689ca16eSNeeraj Sanjay Kale	select CRC32
50011e29b4aSArnd Bergmann	select CRC8
501689ca16eSNeeraj Sanjay Kale	help
502689ca16eSNeeraj Sanjay Kale	  NXP is serial driver required for NXP Bluetooth
503689ca16eSNeeraj Sanjay Kale	  devices with UART interface.
504689ca16eSNeeraj Sanjay Kale
505689ca16eSNeeraj Sanjay Kale	  Say Y here to compile support for NXP Bluetooth UART device into
506689ca16eSNeeraj Sanjay Kale	  the kernel, or say M here to compile as a module (btnxpuart).
507689ca16eSNeeraj Sanjay Kale
508c2b636b3STedd Ho-Jeong Anconfig BT_INTEL_PCIE
509c2b636b3STedd Ho-Jeong An	tristate "Intel HCI PCIe driver"
510c2b636b3STedd Ho-Jeong An	depends on PCI
511c2b636b3STedd Ho-Jeong An	select BT_INTEL
512c2b636b3STedd Ho-Jeong An	select FW_LOADER
513c2b636b3STedd Ho-Jeong An	help
514c2b636b3STedd Ho-Jeong An	  Intel Bluetooth transport driver for PCIe.
515c2b636b3STedd Ho-Jeong An	  This driver is required if you want to use Intel Bluetooth device
516c2b636b3STedd Ho-Jeong An	  with PCIe interface.
517689ca16eSNeeraj Sanjay Kale
518c2b636b3STedd Ho-Jeong An	  Say Y here to compiler support for Intel Bluetooth PCIe device into
519c2b636b3STedd Ho-Jeong An	  the kernel or say M to compile it as module (btintel_pcie)
5209670d80aSVikram Kandukuriendmenu
521