# SPDX-License-Identifier: GPL-2.0
menu "Bluetooth device drivers"
depends on [31mCONFIG_BT[0m
config [31mCONFIG_BT_INTEL[0m
tristate
select [31mCONFIG_REGMAP[0m
config [31mCONFIG_BT_BCM[0m
tristate
select [31mCONFIG_FW_LOADER[0m
config [31mCONFIG_BT_RTL[0m
tristate
select [31mCONFIG_FW_LOADER[0m
config [31mCONFIG_BT_QCA[0m
tristate
select [31mCONFIG_FW_LOADER[0m
config [31mCONFIG_BT_HCIBTUSB[0m
tristate "HCI USB driver"
depends on [31mCONFIG_USB[0m
select [31mCONFIG_BT_INTEL[0m
help
Bluetooth HCI [31mCONFIG_USB[0m driver.
This driver is required if you want to use Bluetooth devices with
[31mCONFIG_USB[0m interface.
Say Y here to compile support for Bluetooth [31mCONFIG_USB[0m devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (btusb).
config [31mCONFIG_BT_HCIBTUSB_AUTOSUSPEND[0m
bool "Enable USB autosuspend for Bluetooth USB devices by default"
depends on [31mCONFIG_BT_HCIBTUSB[0m
help
Say Y here to enable [31mCONFIG_USB[0m autosuspend for Bluetooth [31mCONFIG_USB[0m devices by
default.
This can be overridden by passing btusb.enable_autosuspend=[y|n]
on the kernel commandline.
config [31mCONFIG_BT_HCIBTUSB_BCM[0m
bool "Broadcom protocol support"
depends on [31mCONFIG_BT_HCIBTUSB[0m
select [31mCONFIG_BT_BCM[0m
default y
help
The Broadcom protocol support enables firmware and patchram
download support for Broadcom Bluetooth controllers.
Say Y here to compile support for Broadcom protocol.
config [31mCONFIG_BT_HCIBTUSB_MTK[0m
bool "MediaTek protocol support"
depends on [31mCONFIG_BT_HCIBTUSB[0m
default n
help
The MediaTek protocol support enables firmware download
support and chip initialization for MediaTek Bluetooth
[31mCONFIG_USB[0m controllers.
Say Y here to compile support for MediaTek protocol.
config [31mCONFIG_BT_HCIBTUSB_RTL[0m
bool "Realtek protocol support"
depends on [31mCONFIG_BT_HCIBTUSB[0m
select [31mCONFIG_BT_RTL[0m
default y
help
The Realtek protocol support enables firmware and configuration
download support for Realtek Bluetooth controllers.
Say Y here to compile support for Realtek protocol.
config [31mCONFIG_BT_HCIBTSDIO[0m
tristate "HCI SDIO driver"
depends on [31mCONFIG_MMC[0m
help
Bluetooth HCI SDIO driver.
This driver is required if you want to use Bluetooth device with
SDIO interface.
Say Y here to compile support for Bluetooth SDIO devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (btsdio).
config [31mCONFIG_BT_HCIUART[0m
tristate "HCI UART driver"
depends on [31mCONFIG_SERIAL_DEV_BUS[0m || ![31mCONFIG_SERIAL_DEV_BUS[0m
depends on [31mCONFIG_NVMEM[0m || ![31mCONFIG_NVMEM[0m
depends on [31mCONFIG_TTY[0m
help
Bluetooth HCI UART driver.
This driver is required if you want to use Bluetooth devices with
serial port interface. You will also need this driver if you have
UART based Bluetooth [31mCONFIG_PCMCIA[0m and CF devices like Xircom Credit Card
adapter and BrainBoxes Bluetooth PC Card.
Say Y here to compile support for Bluetooth UART devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (hci_uart).
config [31mCONFIG_BT_HCIUART_SERDEV[0m
bool
depends on [31mCONFIG_SERIAL_DEV_BUS[0m && [31mCONFIG_BT_HCIUART[0m
default y
config [31mCONFIG_BT_HCIUART_H4[0m
bool "UART (H4) protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
help
UART (H4) is serial protocol for communication between Bluetooth
device and host. This protocol is required for most Bluetooth devices
with UART interface, including [31mCONFIG_PCMCIA[0m and CF cards.
Say Y here to compile support for HCI UART (H4) protocol.
config [31mCONFIG_BT_HCIUART_NOKIA[0m
tristate "UART Nokia H4+ protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
depends on [31mCONFIG_BT_HCIUART_SERDEV[0m
depends on [31mCONFIG_GPIOLIB[0m
depends on [31mCONFIG_PM[0m
select [31mCONFIG_BT_HCIUART_H4[0m
select [31mCONFIG_BT_BCM[0m
help
Nokia H4+ is serial protocol for communication between Bluetooth
device and host. This protocol is required for Bluetooth devices
with UART interface in Nokia devices.
Say Y here to compile support for Nokia's H4+ protocol.
config [31mCONFIG_BT_HCIUART_BCSP[0m
bool "BCSP protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
select [31mCONFIG_BITREVERSE[0m
help
BCSP (BlueCore Serial Protocol) is serial protocol for communication
between Bluetooth device and host. This protocol is required for non
[31mCONFIG_USB[0m Bluetooth devices based on CSR BlueCore chip, including [31mCONFIG_PCMCIA[0m and
CF cards.
Say Y here to compile support for HCI BCSP protocol.
config [31mCONFIG_BT_HCIUART_ATH3K[0m
bool "Atheros AR300x serial support"
depends on [31mCONFIG_BT_HCIUART[0m
select [31mCONFIG_BT_HCIUART_H4[0m
help
HCIATH3K (HCI Atheros AR300x) is a serial protocol for
communication between host and Atheros AR300x Bluetooth devices.
This protocol enables AR300x chips to be enabled with
power management support.
Enable this if you have Atheros AR300x serial Bluetooth device.
Say Y here to compile support for HCI UART ATH3K protocol.
config [31mCONFIG_BT_HCIUART_LL[0m
bool "HCILL protocol support"
depends on [31mCONFIG_BT_HCIUART_SERDEV[0m
select [31mCONFIG_BT_HCIUART_H4[0m
help
HCILL (HCI Low Level) is a serial protocol for communication
between Bluetooth device and host. This protocol is required for
serial Bluetooth devices that are based on Texas Instruments'
BRF chips.
Say Y here to compile support for HCILL protocol.
config [31mCONFIG_BT_HCIUART_3WIRE[0m
bool "Three-wire UART (H5) protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
depends on [31mCONFIG_BT_HCIUART_SERDEV[0m
help
The HCI Three-wire UART Transport Layer makes it possible to
user the Bluetooth HCI over a serial port interface. The HCI
Three-wire UART Transport Layer assumes that the UART
communication may have bit errors, overrun errors or burst
errors and thereby making CTS/RTS lines unnecessary.
Say Y here to compile support for Three-wire UART protocol.
config [31mCONFIG_BT_HCIUART_INTEL[0m
bool "Intel protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
depends on [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_BT_HCIUART_H4[0m
select [31mCONFIG_BT_INTEL[0m
help
The Intel protocol support enables Bluetooth HCI over serial
port interface for Intel Bluetooth controllers.
Say Y here to compile support for Intel protocol.
config [31mCONFIG_BT_HCIUART_BCM[0m
bool "Broadcom protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
depends on [31mCONFIG_BT_HCIUART_SERDEV[0m
depends on (![31mCONFIG_ACPI[0m || [31mCONFIG_SERIAL_DEV_CTRL_TTYPORT[0m)
depends on [31mCONFIG_GPIOLIB[0m
select [31mCONFIG_BT_HCIUART_H4[0m
select [31mCONFIG_BT_BCM[0m
help
The Broadcom protocol support enables Bluetooth HCI over serial
port interface for Broadcom Bluetooth controllers.
Say Y here to compile support for Broadcom protocol.
config [31mCONFIG_BT_HCIUART_RTL[0m
bool "Realtek protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
depends on [31mCONFIG_BT_HCIUART_SERDEV[0m
depends on [31mCONFIG_GPIOLIB[0m
depends on [31mCONFIG_ACPI[0m
select [31mCONFIG_BT_HCIUART_3WIRE[0m
select [31mCONFIG_BT_RTL[0m
help
The Realtek protocol support enables Bluetooth HCI over 3-Wire
serial port internface for Realtek Bluetooth controllers.
Say Y here to compile support for Realtek protocol.
config [31mCONFIG_BT_HCIUART_QCA[0m
bool "Qualcomm Atheros protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
depends on [31mCONFIG_BT_HCIUART_SERDEV[0m
select [31mCONFIG_BT_HCIUART_H4[0m
select [31mCONFIG_BT_QCA[0m
help
The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
over serial port interface(H4) between controller and host.
This protocol is required for UART clock control for QCA Bluetooth
devices.
Say Y here to compile support for QCA protocol.
config [31mCONFIG_BT_HCIUART_AG6XX[0m
bool "Intel AG6XX protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
select [31mCONFIG_BT_HCIUART_H4[0m
select [31mCONFIG_BT_INTEL[0m
help
The Intel/AG6XX protocol support enables Bluetooth HCI over serial
port interface for Intel ibt 2.1 Bluetooth controllers.
Say Y here to compile support for Intel AG6XX protocol.
config [31mCONFIG_BT_HCIUART_MRVL[0m
bool "Marvell protocol support"
depends on [31mCONFIG_BT_HCIUART[0m
depends on [31mCONFIG_BT_HCIUART_SERDEV[0m
select [31mCONFIG_BT_HCIUART_H4[0m
help
Marvell is serial protocol for communication between Bluetooth
device and host. This protocol is required for most Marvell Bluetooth
devices with UART interface.
Say Y here to compile support for HCI MRVL protocol.
config [31mCONFIG_BT_HCIBCM203X[0m
tristate "HCI BCM203x USB driver"
depends on [31mCONFIG_USB[0m
select [31mCONFIG_FW_LOADER[0m
help
Bluetooth HCI BCM203x [31mCONFIG_USB[0m driver.
This driver provides the firmware loading mechanism for the Broadcom
Blutonium based devices.
Say Y here to compile support for HCI BCM203x devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (bcm203x).
config [31mCONFIG_BT_HCIBPA10X[0m
tristate "HCI BPA10x USB driver"
depends on [31mCONFIG_USB[0m
help
Bluetooth HCI BPA10x [31mCONFIG_USB[0m driver.
This driver provides support for the Digianswer BPA 100/105 Bluetooth
sniffer devices.
Say Y here to compile support for HCI BPA10x devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (bpa10x).
config [31mCONFIG_BT_HCIBFUSB[0m
tristate "HCI BlueFRITZ! USB driver"
depends on [31mCONFIG_USB[0m
select [31mCONFIG_FW_LOADER[0m
help
Bluetooth HCI BlueFRITZ! [31mCONFIG_USB[0m driver.
This driver provides support for Bluetooth [31mCONFIG_USB[0m devices with AVM
interface:
AVM BlueFRITZ! [31mCONFIG_USB[0m
Say Y here to compile support for HCI BFUSB devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (bfusb).
config [31mCONFIG_BT_HCIDTL1[0m
tristate "HCI DTL1 (PC Card) driver"
depends on [31mCONFIG_PCMCIA[0m
help
Bluetooth HCI DTL1 (PC Card) driver.
This driver provides support for Bluetooth [31mCONFIG_PCMCIA[0m devices with
Nokia DTL1 interface:
Nokia Bluetooth Card
Socket Bluetooth CF Card
Say Y here to compile support for HCI DTL1 devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (dtl1_cs).
config [31mCONFIG_BT_HCIBT3C[0m
tristate "HCI BT3C (PC Card) driver"
depends on [31mCONFIG_PCMCIA[0m
select [31mCONFIG_FW_LOADER[0m
help
Bluetooth HCI BT3C (PC Card) driver.
This driver provides support for Bluetooth [31mCONFIG_PCMCIA[0m devices with
3Com BT3C interface:
3Com Bluetooth Card (3CRWB6096)
HP Bluetooth Card
Say Y here to compile support for HCI BT3C devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (bt3c_cs).
config [31mCONFIG_BT_HCIBLUECARD[0m
tristate "HCI BlueCard (PC Card) driver"
depends on [31mCONFIG_PCMCIA[0m
help
Bluetooth HCI BlueCard (PC Card) driver.
This driver provides support for Bluetooth [31mCONFIG_PCMCIA[0m devices with
Anycom BlueCard interface:
Anycom Bluetooth PC Card
Anycom Bluetooth CF Card
Say Y here to compile support for HCI BlueCard devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (bluecard_cs).
config [31mCONFIG_BT_HCIVHCI[0m
tristate "HCI VHCI (Virtual HCI device) driver"
help
Bluetooth Virtual HCI device driver.
This driver is required if you want to use HCI Emulation software.
Say Y here to compile support for virtual HCI devices into the
kernel or say [31mCONFIG_M[0m to compile it as module (hci_vhci).
config [31mCONFIG_BT_MRVL[0m
tristate "Marvell Bluetooth driver support"
help
The core driver to support Marvell Bluetooth devices.
This driver is required if you want to support
Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8977/8987/8997.
Say Y here to compile Marvell Bluetooth driver
into the kernel or say [31mCONFIG_M[0m to compile it as module.
config [31mCONFIG_BT_MRVL_SDIO[0m
tristate "Marvell BT-over-SDIO driver"
depends on [31mCONFIG_BT_MRVL[0m && [31mCONFIG_MMC[0m
select [31mCONFIG_FW_LOADER[0m
select [31mCONFIG_WANT_DEV_COREDUMP[0m
help
The driver for Marvell Bluetooth chipsets with SDIO interface.
This driver is required if you want to use Marvell Bluetooth
devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8987/SD8997
chipsets are supported.
Say Y here to compile support for Marvell [31mCONFIG_BT[0m-over-SDIO driver
into the kernel or say [31mCONFIG_M[0m to compile it as module.
config [31mCONFIG_BT_ATH3K[0m
tristate "Atheros firmware download driver"
depends on [31mCONFIG_BT_HCIBTUSB[0m
select [31mCONFIG_FW_LOADER[0m
help
Bluetooth firmware download driver.
This driver loads the firmware into the Atheros Bluetooth
chipset.
Say Y here to compile support for "Atheros firmware download driver"
into the kernel or say [31mCONFIG_M[0m to compile it as module (ath3k).
config [31mCONFIG_BT_WILINK[0m
tristate "Texas Instruments WiLink7 driver"
depends on [31mCONFIG_TI_ST[0m
help
This enables the Bluetooth driver for Texas Instrument's [31mCONFIG_BT[0m/FM/GPS
combo devices. This makes use of shared transport line discipline
core driver to communicate with the [31mCONFIG_BT[0m core of the combo chip.
Say Y here to compile support for Texas Instrument's WiLink7 driver
into the kernel or say [31mCONFIG_M[0m to compile it as module (btwilink).
config [31mCONFIG_BT_MTKSDIO[0m
tristate "MediaTek HCI SDIO driver"
depends on [31mCONFIG_MMC[0m
help
MediaTek Bluetooth HCI SDIO driver.
This driver is required if you want to use MediaTek Bluetooth
with SDIO interface.
Say Y here to compile support for MediaTek Bluetooth SDIO devices
into the kernel or say [31mCONFIG_M[0m to compile it as module (btmtksdio).
config [31mCONFIG_BT_MTKUART[0m
tristate "MediaTek HCI UART driver"
depends on [31mCONFIG_SERIAL_DEV_BUS[0m
help
MediaTek Bluetooth HCI UART driver.
This driver is required if you want to use MediaTek Bluetooth
with serial interface.
Say Y here to compile support for MediaTek Bluetooth UART devices
into the kernel or say [31mCONFIG_M[0m to compile it as module (btmtkuart).
config [31mCONFIG_BT_QCOMSMD[0m
tristate "Qualcomm SMD based HCI support"
depends on [31mCONFIG_RPMSG[0m || ([31mCONFIG_COMPILE_TEST[0m && [31mCONFIG_RPMSG[0m=n)
depends on [31mCONFIG_QCOM_WCNSS_CTRL[0m || ([31mCONFIG_COMPILE_TEST[0m && [31mCONFIG_QCOM_WCNSS_CTRL[0m=n)
select [31mCONFIG_BT_QCA[0m
help
Qualcomm SMD based HCI driver.
This driver is used to bridge HCI data onto the shared memory
channels to the WCNSS core.
Say Y here to compile support for HCI over Qualcomm SMD into the
kernel or say [31mCONFIG_M[0m to compile as a module.
config [31mCONFIG_BT_HCIRSI[0m
tristate
help
Redpine [31mCONFIG_BT[0m driver.
This driver handles [31mCONFIG_BT[0m traffic from upper layers and pass
to the RSI_91x coex module for further scheduling to device
Say Y here to compile support for HCI over Redpine into the
kernel or say [31mCONFIG_M[0m to compile as a module.
endmenu