xref: /linux/drivers/bluetooth/Kconfig (revision 4ff71af020ae59ae2d83b174646fc2ad9fcd4dc4)
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
59c2bfb100SMarcel Holtmannconfig BT_HCIBTUSB_BCM
60c2bfb100SMarcel Holtmann	bool "Broadcom protocol support"
61c2bfb100SMarcel Holtmann	depends on BT_HCIBTUSB
62c2bfb100SMarcel Holtmann	select BT_BCM
63c2bfb100SMarcel Holtmann	default y
64c2bfb100SMarcel Holtmann	help
65c2bfb100SMarcel Holtmann	  The Broadcom protocol support enables firmware and patchram
66c2bfb100SMarcel Holtmann	  download support for Broadcom Bluetooth controllers.
67c2bfb100SMarcel Holtmann
68c2bfb100SMarcel Holtmann	  Say Y here to compile support for Broadcom protocol.
69c2bfb100SMarcel Holtmann
70a1c49c43SSean Wangconfig BT_HCIBTUSB_MTK
71a1c49c43SSean Wang	bool "MediaTek protocol support"
72a1c49c43SSean Wang	depends on BT_HCIBTUSB
738c0d17b6SSean Wang	select BT_MTK
74a1c49c43SSean Wang	default n
75a1c49c43SSean Wang	help
76a1c49c43SSean Wang	  The MediaTek protocol support enables firmware download
77a1c49c43SSean Wang	  support and chip initialization for MediaTek Bluetooth
78a1c49c43SSean Wang	  USB controllers.
79a1c49c43SSean Wang
80a1c49c43SSean Wang	  Say Y here to compile support for MediaTek protocol.
81a1c49c43SSean Wang
82db33c77dSCarlo Caioneconfig BT_HCIBTUSB_RTL
83db33c77dSCarlo Caione	bool "Realtek protocol support"
84db33c77dSCarlo Caione	depends on BT_HCIBTUSB
85db33c77dSCarlo Caione	select BT_RTL
86db33c77dSCarlo Caione	default y
87db33c77dSCarlo Caione	help
88db33c77dSCarlo Caione	  The Realtek protocol support enables firmware and configuration
89db33c77dSCarlo Caione	  download support for Realtek Bluetooth controllers.
90db33c77dSCarlo Caione
91db33c77dSCarlo Caione	  Say Y here to compile support for Realtek protocol.
92db33c77dSCarlo Caione
93ddbaf13eSMarcel Holtmannconfig BT_HCIBTSDIO
94ddbaf13eSMarcel Holtmann	tristate "HCI SDIO driver"
95ddbaf13eSMarcel Holtmann	depends on MMC
96ddbaf13eSMarcel Holtmann	help
97ddbaf13eSMarcel Holtmann	  Bluetooth HCI SDIO driver.
98ddbaf13eSMarcel Holtmann	  This driver is required if you want to use Bluetooth device with
99ddbaf13eSMarcel Holtmann	  SDIO interface.
100ddbaf13eSMarcel Holtmann
101ddbaf13eSMarcel Holtmann	  Say Y here to compile support for Bluetooth SDIO devices into the
102ddbaf13eSMarcel Holtmann	  kernel or say M to compile it as module (btsdio).
103ddbaf13eSMarcel Holtmann
1041da177e4SLinus Torvaldsconfig BT_HCIUART
1051da177e4SLinus Torvalds	tristate "HCI UART driver"
10605e89fb5SArnd Bergmann	depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS
107b71b25feSArnd Bergmann	depends on NVMEM || !NVMEM
108b96bac96SKrzysztof Kozlowski	depends on POWER_SEQUENCING || !POWER_SEQUENCING
1094f73bc4dSJoe Millenbach	depends on TTY
1101da177e4SLinus Torvalds	help
1111da177e4SLinus Torvalds	  Bluetooth HCI UART driver.
1121da177e4SLinus Torvalds	  This driver is required if you want to use Bluetooth devices with
1131da177e4SLinus Torvalds	  serial port interface. You will also need this driver if you have
1141da177e4SLinus Torvalds	  UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
1151da177e4SLinus Torvalds	  adapter and BrainBoxes Bluetooth PC Card.
1161da177e4SLinus Torvalds
1171da177e4SLinus Torvalds	  Say Y here to compile support for Bluetooth UART devices into the
1181da177e4SLinus Torvalds	  kernel or say M to compile it as module (hci_uart).
1191da177e4SLinus Torvalds
1201fb78fb6SArnd Bergmannconfig BT_HCIUART_SERDEV
1211fb78fb6SArnd Bergmann	bool
1221fb78fb6SArnd Bergmann	depends on SERIAL_DEV_BUS && BT_HCIUART
1231fb78fb6SArnd Bergmann	default y
1241fb78fb6SArnd Bergmann
1251da177e4SLinus Torvaldsconfig BT_HCIUART_H4
1261da177e4SLinus Torvalds	bool "UART (H4) protocol support"
1271da177e4SLinus Torvalds	depends on BT_HCIUART
1281da177e4SLinus Torvalds	help
1291da177e4SLinus Torvalds	  UART (H4) is serial protocol for communication between Bluetooth
1301da177e4SLinus Torvalds	  device and host. This protocol is required for most Bluetooth devices
1311da177e4SLinus Torvalds	  with UART interface, including PCMCIA and CF cards.
1321da177e4SLinus Torvalds
1331da177e4SLinus Torvalds	  Say Y here to compile support for HCI UART (H4) protocol.
1341da177e4SLinus Torvalds
1357bb31868SSebastian Reichelconfig BT_HCIUART_NOKIA
1367bb31868SSebastian Reichel	tristate "UART Nokia H4+ protocol support"
1377bb31868SSebastian Reichel	depends on BT_HCIUART
1381fb78fb6SArnd Bergmann	depends on BT_HCIUART_SERDEV
139a3a446c7SLukas Wunner	depends on GPIOLIB
1407bb31868SSebastian Reichel	depends on PM
141c42c88e6STobias Regnery	select BT_HCIUART_H4
1426a485420SMarcel Holtmann	select BT_BCM
1437bb31868SSebastian Reichel	help
1447bb31868SSebastian Reichel	  Nokia H4+ is serial protocol for communication between Bluetooth
1457bb31868SSebastian Reichel	  device and host. This protocol is required for Bluetooth devices
1467bb31868SSebastian Reichel	  with UART interface in Nokia devices.
1477bb31868SSebastian Reichel
1487bb31868SSebastian Reichel	  Say Y here to compile support for Nokia's H4+ protocol.
1497bb31868SSebastian Reichel
1501da177e4SLinus Torvaldsconfig BT_HCIUART_BCSP
1511da177e4SLinus Torvalds	bool "BCSP protocol support"
1521da177e4SLinus Torvalds	depends on BT_HCIUART
153d3a8eab0SRandy Dunlap	select BITREVERSE
1541da177e4SLinus Torvalds	help
1551da177e4SLinus Torvalds	  BCSP (BlueCore Serial Protocol) is serial protocol for communication
1561da177e4SLinus Torvalds	  between Bluetooth device and host. This protocol is required for non
1571da177e4SLinus Torvalds	  USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
1581da177e4SLinus Torvalds	  CF cards.
1591da177e4SLinus Torvalds
1601da177e4SLinus Torvalds	  Say Y here to compile support for HCI BCSP protocol.
1611da177e4SLinus Torvalds
162b3190df6SSuraj Sumangalaconfig BT_HCIUART_ATH3K
163b3190df6SSuraj Sumangala	bool "Atheros AR300x serial support"
164b3190df6SSuraj Sumangala	depends on BT_HCIUART
165d90aa682SMarcel Holtmann	select BT_HCIUART_H4
166b3190df6SSuraj Sumangala	help
167b3190df6SSuraj Sumangala	  HCIATH3K (HCI Atheros AR300x) is a serial protocol for
168b3190df6SSuraj Sumangala	  communication between host and Atheros AR300x Bluetooth devices.
169b3190df6SSuraj Sumangala	  This protocol enables AR300x chips to be enabled with
170b3190df6SSuraj Sumangala	  power management support.
171b3190df6SSuraj Sumangala	  Enable this if you have Atheros AR300x serial Bluetooth device.
172b3190df6SSuraj Sumangala
173b3190df6SSuraj Sumangala	  Say Y here to compile support for HCI UART ATH3K protocol.
174b3190df6SSuraj Sumangala
175166d2f6aSOhad Ben-Cohenconfig BT_HCIUART_LL
176166d2f6aSOhad Ben-Cohen	bool "HCILL protocol support"
17776c4969fSTobias Regnery	depends on BT_HCIUART_SERDEV
178f9d7c8fdSMarcel Holtmann	select BT_HCIUART_H4
179166d2f6aSOhad Ben-Cohen	help
180166d2f6aSOhad Ben-Cohen	  HCILL (HCI Low Level) is a serial protocol for communication
181166d2f6aSOhad Ben-Cohen	  between Bluetooth device and host. This protocol is required for
182166d2f6aSOhad Ben-Cohen	  serial Bluetooth devices that are based on Texas Instruments'
183166d2f6aSOhad Ben-Cohen	  BRF chips.
184166d2f6aSOhad Ben-Cohen
185166d2f6aSOhad Ben-Cohen	  Say Y here to compile support for HCILL protocol.
186166d2f6aSOhad Ben-Cohen
1877dec65c8SJohan Hedbergconfig BT_HCIUART_3WIRE
1887dec65c8SJohan Hedberg	bool "Three-wire UART (H5) protocol support"
1897dec65c8SJohan Hedberg	depends on BT_HCIUART
1906c3711ecSJohan Hedberg	depends on BT_HCIUART_SERDEV
1917dec65c8SJohan Hedberg	help
1927dec65c8SJohan Hedberg	  The HCI Three-wire UART Transport Layer makes it possible to
1937dec65c8SJohan Hedberg	  user the Bluetooth HCI over a serial port interface. The HCI
1947dec65c8SJohan Hedberg	  Three-wire UART Transport Layer assumes that the UART
1957dec65c8SJohan Hedberg	  communication may have bit errors, overrun errors or burst
1967dec65c8SJohan Hedberg	  errors and thereby making CTS/RTS lines unnecessary.
1977dec65c8SJohan Hedberg
1987dec65c8SJohan Hedberg	  Say Y here to compile support for Three-wire UART protocol.
1997dec65c8SJohan Hedberg
20016e3887fSMarcel Holtmannconfig BT_HCIUART_INTEL
20116e3887fSMarcel Holtmann	bool "Intel protocol support"
20216e3887fSMarcel Holtmann	depends on BT_HCIUART
203a3a446c7SLukas Wunner	depends on GPIOLIB
204ca93cee5SLoic Poulain	select BT_HCIUART_H4
205bca03c95SMarcel Holtmann	select BT_INTEL
20616e3887fSMarcel Holtmann	help
20716e3887fSMarcel Holtmann	  The Intel protocol support enables Bluetooth HCI over serial
20816e3887fSMarcel Holtmann	  port interface for Intel Bluetooth controllers.
20916e3887fSMarcel Holtmann
21016e3887fSMarcel Holtmann	  Say Y here to compile support for Intel protocol.
21116e3887fSMarcel Holtmann
212e9a2dd26SMarcel Holtmannconfig BT_HCIUART_BCM
213e9a2dd26SMarcel Holtmann	bool "Broadcom protocol support"
214e9a2dd26SMarcel Holtmann	depends on BT_HCIUART
21533cd149eSLoic Poulain	depends on BT_HCIUART_SERDEV
2164294625eSJohan Hovold	depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT)
217a3a446c7SLukas Wunner	depends on GPIOLIB
218bdd8818eSMarcel Holtmann	select BT_HCIUART_H4
2193e0ac12aSMarcel Holtmann	select BT_BCM
220e9a2dd26SMarcel Holtmann	help
221e9a2dd26SMarcel Holtmann	  The Broadcom protocol support enables Bluetooth HCI over serial
222e9a2dd26SMarcel Holtmann	  port interface for Broadcom Bluetooth controllers.
223e9a2dd26SMarcel Holtmann
224e9a2dd26SMarcel Holtmann	  Say Y here to compile support for Broadcom protocol.
225e9a2dd26SMarcel Holtmann
226b9763cdfSMarcel Holtmannconfig BT_HCIUART_RTL
227b9763cdfSMarcel Holtmann	bool "Realtek protocol support"
228b9763cdfSMarcel Holtmann	depends on BT_HCIUART
229b9763cdfSMarcel Holtmann	depends on BT_HCIUART_SERDEV
230b9763cdfSMarcel Holtmann	depends on GPIOLIB
231848fc616SMax Chou	depends on (ACPI || SERIAL_DEV_CTRL_TTYPORT)
232b9763cdfSMarcel Holtmann	select BT_HCIUART_3WIRE
233b9763cdfSMarcel Holtmann	select BT_RTL
234b9763cdfSMarcel Holtmann	help
235b9763cdfSMarcel Holtmann	  The Realtek protocol support enables Bluetooth HCI over 3-Wire
236e22998f5SChristophe JAILLET	  serial port interface for Realtek Bluetooth controllers.
237b9763cdfSMarcel Holtmann
238b9763cdfSMarcel Holtmann	  Say Y here to compile support for Realtek protocol.
239b9763cdfSMarcel Holtmann
2400ff252c1SBen Young Tae Kimconfig BT_HCIUART_QCA
2410ff252c1SBen Young Tae Kim	bool "Qualcomm Atheros protocol support"
2420ff252c1SBen Young Tae Kim	depends on BT_HCIUART
24305ba533cSThierry Escande	depends on BT_HCIUART_SERDEV
2440ff252c1SBen Young Tae Kim	select BT_HCIUART_H4
2450ff252c1SBen Young Tae Kim	select BT_QCA
2460ff252c1SBen Young Tae Kim	help
2470ff252c1SBen Young Tae Kim	  The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
2480ff252c1SBen Young Tae Kim	  over serial port interface(H4) between controller and host.
2490ff252c1SBen Young Tae Kim	  This protocol is required for UART clock control for QCA Bluetooth
2500ff252c1SBen Young Tae Kim	  devices.
2510ff252c1SBen Young Tae Kim
2520ff252c1SBen Young Tae Kim	  Say Y here to compile support for QCA protocol.
2530ff252c1SBen Young Tae Kim
254395174bbSLoic Poulainconfig BT_HCIUART_AG6XX
255395174bbSLoic Poulain	bool "Intel AG6XX protocol support"
256395174bbSLoic Poulain	depends on BT_HCIUART
257395174bbSLoic Poulain	select BT_HCIUART_H4
258395174bbSLoic Poulain	select BT_INTEL
259395174bbSLoic Poulain	help
260395174bbSLoic Poulain	  The Intel/AG6XX protocol support enables Bluetooth HCI over serial
261395174bbSLoic Poulain	  port interface for Intel ibt 2.1 Bluetooth controllers.
262395174bbSLoic Poulain
263395174bbSLoic Poulain	  Say Y here to compile support for Intel AG6XX protocol.
264395174bbSLoic Poulain
265162f812fSLoic Poulainconfig BT_HCIUART_MRVL
266162f812fSLoic Poulain	bool "Marvell protocol support"
267162f812fSLoic Poulain	depends on BT_HCIUART
268be70e5e7SSascha Hauer	depends on BT_HCIUART_SERDEV
269162f812fSLoic Poulain	select BT_HCIUART_H4
270162f812fSLoic Poulain	help
271162f812fSLoic Poulain	  Marvell is serial protocol for communication between Bluetooth
272162f812fSLoic Poulain	  device and host. This protocol is required for most Marvell Bluetooth
273162f812fSLoic Poulain	  devices with UART interface.
274162f812fSLoic Poulain
275162f812fSLoic Poulain	  Say Y here to compile support for HCI MRVL protocol.
276162f812fSLoic Poulain
27737bac77eSYang Liconfig BT_HCIUART_AML
27837bac77eSYang Li	bool "Amlogic protocol support"
27937bac77eSYang Li	depends on BT_HCIUART
28037bac77eSYang Li	depends on BT_HCIUART_SERDEV
28137bac77eSYang Li	select BT_HCIUART_H4
28237bac77eSYang Li	select FW_LOADER
28337bac77eSYang Li	help
28437bac77eSYang Li	  The Amlogic protocol support enables Bluetooth HCI over serial
28537bac77eSYang Li	  port interface for Amlogic Bluetooth controllers.
28637bac77eSYang Li
28737bac77eSYang Li	  Say Y here to compile support for HCI AML protocol.
28837bac77eSYang Li
2891da177e4SLinus Torvaldsconfig BT_HCIBCM203X
2901da177e4SLinus Torvalds	tristate "HCI BCM203x USB driver"
2911da177e4SLinus Torvalds	depends on USB
2921da177e4SLinus Torvalds	select FW_LOADER
2931da177e4SLinus Torvalds	help
2941da177e4SLinus Torvalds	  Bluetooth HCI BCM203x USB driver.
2951da177e4SLinus Torvalds	  This driver provides the firmware loading mechanism for the Broadcom
2961da177e4SLinus Torvalds	  Blutonium based devices.
2971da177e4SLinus Torvalds
2981da177e4SLinus Torvalds	  Say Y here to compile support for HCI BCM203x devices into the
2991da177e4SLinus Torvalds	  kernel or say M to compile it as module (bcm203x).
3001da177e4SLinus Torvalds
3018a061276SSven Peter
3028a061276SSven Peterconfig BT_HCIBCM4377
30308c22b52SHector Martin	tristate "HCI BCM4377/4378/4387/4388 PCIe driver"
3048a061276SSven Peter	depends on PCI
3058a061276SSven Peter	select FW_LOADER
3068a061276SSven Peter	help
30708c22b52SHector Martin	  Support for Broadcom BCM4377/4378/4387/4388 Bluetooth chipsets
30808c22b52SHector Martin	  attached via PCIe. These are usually found in Apple machines.
3098a061276SSven Peter
3108a061276SSven Peter	  Say Y here to compile support for HCI BCM4377 family devices into the
3118a061276SSven Peter	  kernel or say M to compile it as module (hci_bcm4377).
3128a061276SSven Peter
3131da177e4SLinus Torvaldsconfig BT_HCIBPA10X
3141da177e4SLinus Torvalds	tristate "HCI BPA10x USB driver"
315*1c5091a9SCalvin Owens	depends on BT_HCIUART
31607eb96a5SMarcel Holtmann	depends on USB
317*1c5091a9SCalvin Owens	select BT_HCIUART_H4
3181da177e4SLinus Torvalds	help
3191da177e4SLinus Torvalds	  Bluetooth HCI BPA10x USB driver.
3201da177e4SLinus Torvalds	  This driver provides support for the Digianswer BPA 100/105 Bluetooth
3211da177e4SLinus Torvalds	  sniffer devices.
3221da177e4SLinus Torvalds
3231da177e4SLinus Torvalds	  Say Y here to compile support for HCI BPA10x devices into the
3241da177e4SLinus Torvalds	  kernel or say M to compile it as module (bpa10x).
3251da177e4SLinus Torvalds
3261da177e4SLinus Torvaldsconfig BT_HCIBFUSB
3271da177e4SLinus Torvalds	tristate "HCI BlueFRITZ! USB driver"
3281da177e4SLinus Torvalds	depends on USB
3291da177e4SLinus Torvalds	select FW_LOADER
3301da177e4SLinus Torvalds	help
3311da177e4SLinus Torvalds	  Bluetooth HCI BlueFRITZ! USB driver.
3321da177e4SLinus Torvalds	  This driver provides support for Bluetooth USB devices with AVM
3331da177e4SLinus Torvalds	  interface:
3341da177e4SLinus Torvalds	     AVM BlueFRITZ! USB
3351da177e4SLinus Torvalds
3361da177e4SLinus Torvalds	  Say Y here to compile support for HCI BFUSB devices into the
3371da177e4SLinus Torvalds	  kernel or say M to compile it as module (bfusb).
3381da177e4SLinus Torvalds
3391da177e4SLinus Torvaldsconfig BT_HCIDTL1
3401da177e4SLinus Torvalds	tristate "HCI DTL1 (PC Card) driver"
341f062b6ecSNiklas Schnelle	depends on PCMCIA && HAS_IOPORT
3421da177e4SLinus Torvalds	help
3431da177e4SLinus Torvalds	  Bluetooth HCI DTL1 (PC Card) driver.
3441da177e4SLinus Torvalds	  This driver provides support for Bluetooth PCMCIA devices with
3451da177e4SLinus Torvalds	  Nokia DTL1 interface:
3461da177e4SLinus Torvalds	     Nokia Bluetooth Card
3471da177e4SLinus Torvalds	     Socket Bluetooth CF Card
3481da177e4SLinus Torvalds
3491da177e4SLinus Torvalds	  Say Y here to compile support for HCI DTL1 devices into the
3501da177e4SLinus Torvalds	  kernel or say M to compile it as module (dtl1_cs).
3511da177e4SLinus Torvalds
3521da177e4SLinus Torvaldsconfig BT_HCIBT3C
3531da177e4SLinus Torvalds	tristate "HCI BT3C (PC Card) driver"
354f062b6ecSNiklas Schnelle	depends on PCMCIA && HAS_IOPORT
3551da177e4SLinus Torvalds	select FW_LOADER
3561da177e4SLinus Torvalds	help
3571da177e4SLinus Torvalds	  Bluetooth HCI BT3C (PC Card) driver.
3581da177e4SLinus Torvalds	  This driver provides support for Bluetooth PCMCIA devices with
3591da177e4SLinus Torvalds	  3Com BT3C interface:
3601da177e4SLinus Torvalds	     3Com Bluetooth Card (3CRWB6096)
3611da177e4SLinus Torvalds	     HP Bluetooth Card
3621da177e4SLinus Torvalds
3631da177e4SLinus Torvalds	  Say Y here to compile support for HCI BT3C devices into the
3641da177e4SLinus Torvalds	  kernel or say M to compile it as module (bt3c_cs).
3651da177e4SLinus Torvalds
3661da177e4SLinus Torvaldsconfig BT_HCIBLUECARD
3671da177e4SLinus Torvalds	tristate "HCI BlueCard (PC Card) driver"
368f062b6ecSNiklas Schnelle	depends on PCMCIA && HAS_IOPORT
3691da177e4SLinus Torvalds	help
3701da177e4SLinus Torvalds	  Bluetooth HCI BlueCard (PC Card) driver.
3711da177e4SLinus Torvalds	  This driver provides support for Bluetooth PCMCIA devices with
3721da177e4SLinus Torvalds	  Anycom BlueCard interface:
3731da177e4SLinus Torvalds	     Anycom Bluetooth PC Card
3741da177e4SLinus Torvalds	     Anycom Bluetooth CF Card
3751da177e4SLinus Torvalds
3761da177e4SLinus Torvalds	  Say Y here to compile support for HCI BlueCard devices into the
3771da177e4SLinus Torvalds	  kernel or say M to compile it as module (bluecard_cs).
3781da177e4SLinus Torvalds
3791da177e4SLinus Torvaldsconfig BT_HCIVHCI
3801da177e4SLinus Torvalds	tristate "HCI VHCI (Virtual HCI device) driver"
381ab4e4380SManish Mandlik	select WANT_DEV_COREDUMP
3821da177e4SLinus Torvalds	help
3831da177e4SLinus Torvalds	  Bluetooth Virtual HCI device driver.
3841da177e4SLinus Torvalds	  This driver is required if you want to use HCI Emulation software.
3851da177e4SLinus Torvalds
3861da177e4SLinus Torvalds	  Say Y here to compile support for virtual HCI devices into the
3871da177e4SLinus Torvalds	  kernel or say M to compile it as module (hci_vhci).
3881da177e4SLinus Torvalds
389132ff4e5SBing Zhaoconfig BT_MRVL
390132ff4e5SBing Zhao	tristate "Marvell Bluetooth driver support"
391132ff4e5SBing Zhao	help
392132ff4e5SBing Zhao	  The core driver to support Marvell Bluetooth devices.
393132ff4e5SBing Zhao
394132ff4e5SBing Zhao	  This driver is required if you want to support
39573623340STamás Szűcs	  Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8977/8987/8997.
396132ff4e5SBing Zhao
397132ff4e5SBing Zhao	  Say Y here to compile Marvell Bluetooth driver
398132ff4e5SBing Zhao	  into the kernel or say M to compile it as module.
399132ff4e5SBing Zhao
400789221ecSBing Zhaoconfig BT_MRVL_SDIO
401789221ecSBing Zhao	tristate "Marvell BT-over-SDIO driver"
402789221ecSBing Zhao	depends on BT_MRVL && MMC
403e7a25f98SMarcel Holtmann	select FW_LOADER
404dc759613SXinming Hu	select WANT_DEV_COREDUMP
405789221ecSBing Zhao	help
406789221ecSBing Zhao	  The driver for Marvell Bluetooth chipsets with SDIO interface.
407789221ecSBing Zhao
408789221ecSBing Zhao	  This driver is required if you want to use Marvell Bluetooth
40973623340STamás Szűcs	  devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8987/SD8997
4102ac654f7SBing Zhao	  chipsets are supported.
411789221ecSBing Zhao
412789221ecSBing Zhao	  Say Y here to compile support for Marvell BT-over-SDIO driver
413789221ecSBing Zhao	  into the kernel or say M to compile it as module.
414789221ecSBing Zhao
4159670d80aSVikram Kandukuriconfig BT_ATH3K
4169670d80aSVikram Kandukuri	tristate "Atheros firmware download driver"
4179670d80aSVikram Kandukuri	depends on BT_HCIBTUSB
4189670d80aSVikram Kandukuri	select FW_LOADER
4199670d80aSVikram Kandukuri	help
4209670d80aSVikram Kandukuri	  Bluetooth firmware download driver.
4219670d80aSVikram Kandukuri	  This driver loads the firmware into the Atheros Bluetooth
4229670d80aSVikram Kandukuri	  chipset.
4231da177e4SLinus Torvalds
4249670d80aSVikram Kandukuri	  Say Y here to compile support for "Atheros firmware download driver"
4259670d80aSVikram Kandukuri	  into the kernel or say M to compile it as module (ath3k).
4269670d80aSVikram Kandukuri
4279aebfd4aSSean Wangconfig BT_MTKSDIO
4289aebfd4aSSean Wang	tristate "MediaTek HCI SDIO driver"
4299aebfd4aSSean Wang	depends on MMC
43061f7a8f9SArnd Bergmann	depends on USB || !BT_HCIBTUSB_MTK
4313a722044SSean Wang	select BT_MTK
4329aebfd4aSSean Wang	help
4339aebfd4aSSean Wang	  MediaTek Bluetooth HCI SDIO driver.
4349aebfd4aSSean Wang	  This driver is required if you want to use MediaTek Bluetooth
4359aebfd4aSSean Wang	  with SDIO interface.
4369aebfd4aSSean Wang
4379aebfd4aSSean Wang	  Say Y here to compile support for MediaTek Bluetooth SDIO devices
4389aebfd4aSSean Wang	  into the kernel or say M to compile it as module (btmtksdio).
4399aebfd4aSSean Wang
4407237c4c9SSean Wangconfig BT_MTKUART
4417237c4c9SSean Wang	tristate "MediaTek HCI UART driver"
442*1c5091a9SCalvin Owens	depends on BT_HCIUART
4437237c4c9SSean Wang	depends on SERIAL_DEV_BUS
44461f7a8f9SArnd Bergmann	depends on USB || !BT_HCIBTUSB_MTK
445*1c5091a9SCalvin Owens	select BT_HCIUART_H4
446f5c3f989SSean Wang	select BT_MTK
4477237c4c9SSean Wang	help
4487237c4c9SSean Wang	  MediaTek Bluetooth HCI UART driver.
4497237c4c9SSean Wang	  This driver is required if you want to use MediaTek Bluetooth
4507237c4c9SSean Wang	  with serial interface.
4517237c4c9SSean Wang
4527237c4c9SSean Wang	  Say Y here to compile support for MediaTek Bluetooth UART devices
4537237c4c9SSean Wang	  into the kernel or say M to compile it as module (btmtkuart).
4547237c4c9SSean Wang
4551511cc75SBjorn Anderssonconfig BT_QCOMSMD
4561511cc75SBjorn Andersson	tristate "Qualcomm SMD based HCI support"
4575052de8dSBjorn Andersson	depends on RPMSG || (COMPILE_TEST && RPMSG=n)
4586e9e6cc8SArnd Bergmann	depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
4591511cc75SBjorn Andersson	select BT_QCA
4601511cc75SBjorn Andersson	help
4611511cc75SBjorn Andersson	  Qualcomm SMD based HCI driver.
4621511cc75SBjorn Andersson	  This driver is used to bridge HCI data onto the shared memory
4631511cc75SBjorn Andersson	  channels to the WCNSS core.
4641511cc75SBjorn Andersson
4651511cc75SBjorn Andersson	  Say Y here to compile support for HCI over Qualcomm SMD into the
4661511cc75SBjorn Andersson	  kernel or say M to compile as a module.
4671511cc75SBjorn Andersson
46838aa4da5SPrameela Rani Garnepudiconfig BT_HCIRSI
469255dd5b7SArnd Bergmann	tristate
47038aa4da5SPrameela Rani Garnepudi	help
47138aa4da5SPrameela Rani Garnepudi	  Redpine BT driver.
47238aa4da5SPrameela Rani Garnepudi	  This driver handles BT traffic from upper layers and pass
47338aa4da5SPrameela Rani Garnepudi	  to the RSI_91x coex module for further scheduling to device
47438aa4da5SPrameela Rani Garnepudi
47538aa4da5SPrameela Rani Garnepudi	  Say Y here to compile support for HCI over Redpine into the
47638aa4da5SPrameela Rani Garnepudi	  kernel or say M to compile as a module.
47738aa4da5SPrameela Rani Garnepudi
478afd2daa2SMarcel Holtmannconfig BT_VIRTIO
479afd2daa2SMarcel Holtmann	tristate "Virtio Bluetooth driver"
480afd2daa2SMarcel Holtmann	depends on VIRTIO
481afd2daa2SMarcel Holtmann	help
482afd2daa2SMarcel Holtmann	  Virtio Bluetooth support driver.
483afd2daa2SMarcel Holtmann	  This driver supports Virtio Bluetooth devices.
484afd2daa2SMarcel Holtmann
485afd2daa2SMarcel Holtmann	  Say Y here to compile support for HCI over Virtio into the
486afd2daa2SMarcel Holtmann	  kernel or say M to compile as a module.
487afd2daa2SMarcel Holtmann
488689ca16eSNeeraj Sanjay Kaleconfig BT_NXPUART
489689ca16eSNeeraj Sanjay Kale	tristate "NXP protocol support"
490*1c5091a9SCalvin Owens	depends on BT_HCIUART
491689ca16eSNeeraj Sanjay Kale	depends on SERIAL_DEV_BUS
492*1c5091a9SCalvin Owens	select BT_HCIUART_H4
493689ca16eSNeeraj Sanjay Kale	select CRC32
49411e29b4aSArnd Bergmann	select CRC8
495689ca16eSNeeraj Sanjay Kale	help
496689ca16eSNeeraj Sanjay Kale	  NXP is serial driver required for NXP Bluetooth
497689ca16eSNeeraj Sanjay Kale	  devices with UART interface.
498689ca16eSNeeraj Sanjay Kale
499689ca16eSNeeraj Sanjay Kale	  Say Y here to compile support for NXP Bluetooth UART device into
500689ca16eSNeeraj Sanjay Kale	  the kernel, or say M here to compile as a module (btnxpuart).
501689ca16eSNeeraj Sanjay Kale
502c2b636b3STedd Ho-Jeong Anconfig BT_INTEL_PCIE
503c2b636b3STedd Ho-Jeong An	tristate "Intel HCI PCIe driver"
504c2b636b3STedd Ho-Jeong An	depends on PCI
505c2b636b3STedd Ho-Jeong An	select BT_INTEL
506c2b636b3STedd Ho-Jeong An	select FW_LOADER
507c2b636b3STedd Ho-Jeong An	help
508c2b636b3STedd Ho-Jeong An	  Intel Bluetooth transport driver for PCIe.
509c2b636b3STedd Ho-Jeong An	  This driver is required if you want to use Intel Bluetooth device
510c2b636b3STedd Ho-Jeong An	  with PCIe interface.
511689ca16eSNeeraj Sanjay Kale
512c2b636b3STedd Ho-Jeong An	  Say Y here to compiler support for Intel Bluetooth PCIe device into
513c2b636b3STedd Ho-Jeong An	  the kernel or say M to compile it as module (btintel_pcie)
5149670d80aSVikram Kandukuriendmenu
515