mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
![Loic Poulain](/assets/img/avatar_default.png)
This patch introduces support for Marvell Bluetooth controller over UART (8897 for now). In order to send the final firmware at full speed, a helper firmware is firstly sent. Firmware download is driven by the controller which sends request firmware packets (including expected size). This driver is a global rework of the one proposed by Amitkumar Karwar <akarwar@marvell.com>. Signed-off-by: Loic Poulain <loic.poulain@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
357 lines
10 KiB
Text
357 lines
10 KiB
Text
|
|
menu "Bluetooth device drivers"
|
|
depends on BT
|
|
|
|
config BT_INTEL
|
|
tristate
|
|
select REGMAP
|
|
|
|
config BT_BCM
|
|
tristate
|
|
select FW_LOADER
|
|
|
|
config BT_RTL
|
|
tristate
|
|
select FW_LOADER
|
|
|
|
config BT_QCA
|
|
tristate
|
|
select FW_LOADER
|
|
|
|
config BT_HCIBTUSB
|
|
tristate "HCI USB driver"
|
|
depends on USB
|
|
select BT_INTEL
|
|
help
|
|
Bluetooth HCI USB driver.
|
|
This driver is required if you want to use Bluetooth devices with
|
|
USB interface.
|
|
|
|
Say Y here to compile support for Bluetooth USB devices into the
|
|
kernel or say M to compile it as module (btusb).
|
|
|
|
config BT_HCIBTUSB_BCM
|
|
bool "Broadcom protocol support"
|
|
depends on BT_HCIBTUSB
|
|
select BT_BCM
|
|
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 BT_HCIBTUSB_RTL
|
|
bool "Realtek protocol support"
|
|
depends on BT_HCIBTUSB
|
|
select BT_RTL
|
|
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 BT_HCIBTSDIO
|
|
tristate "HCI SDIO driver"
|
|
depends on MMC
|
|
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 M to compile it as module (btsdio).
|
|
|
|
config BT_HCIUART
|
|
tristate "HCI UART driver"
|
|
depends on TTY
|
|
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 PCMCIA 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 M to compile it as module (hci_uart).
|
|
|
|
config BT_HCIUART_H4
|
|
bool "UART (H4) protocol support"
|
|
depends on BT_HCIUART
|
|
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 PCMCIA and CF cards.
|
|
|
|
Say Y here to compile support for HCI UART (H4) protocol.
|
|
|
|
config BT_HCIUART_BCSP
|
|
bool "BCSP protocol support"
|
|
depends on BT_HCIUART
|
|
select BITREVERSE
|
|
help
|
|
BCSP (BlueCore Serial Protocol) is serial protocol for communication
|
|
between Bluetooth device and host. This protocol is required for non
|
|
USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
|
|
CF cards.
|
|
|
|
Say Y here to compile support for HCI BCSP protocol.
|
|
|
|
config BT_HCIUART_ATH3K
|
|
bool "Atheros AR300x serial support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
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 BT_HCIUART_LL
|
|
bool "HCILL protocol support"
|
|
depends on BT_HCIUART
|
|
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 BT_HCIUART_3WIRE
|
|
bool "Three-wire UART (H5) protocol support"
|
|
depends on BT_HCIUART
|
|
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 BT_HCIUART_INTEL
|
|
bool "Intel protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
select BT_INTEL
|
|
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 BT_HCIUART_BCM
|
|
bool "Broadcom protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
select BT_BCM
|
|
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 BT_HCIUART_QCA
|
|
bool "Qualcomm Atheros protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
select BT_QCA
|
|
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 BT_HCIUART_AG6XX
|
|
bool "Intel AG6XX protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
select BT_INTEL
|
|
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 BT_HCIUART_MRVL
|
|
bool "Marvell protocol support"
|
|
depends on BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
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 BT_HCIBCM203X
|
|
tristate "HCI BCM203x USB driver"
|
|
depends on USB
|
|
select FW_LOADER
|
|
help
|
|
Bluetooth HCI BCM203x USB 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 M to compile it as module (bcm203x).
|
|
|
|
config BT_HCIBPA10X
|
|
tristate "HCI BPA10x USB driver"
|
|
depends on USB && BT_HCIUART
|
|
select BT_HCIUART_H4
|
|
help
|
|
Bluetooth HCI BPA10x USB 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 M to compile it as module (bpa10x).
|
|
|
|
config BT_HCIBFUSB
|
|
tristate "HCI BlueFRITZ! USB driver"
|
|
depends on USB
|
|
select FW_LOADER
|
|
help
|
|
Bluetooth HCI BlueFRITZ! USB driver.
|
|
This driver provides support for Bluetooth USB devices with AVM
|
|
interface:
|
|
AVM BlueFRITZ! USB
|
|
|
|
Say Y here to compile support for HCI BFUSB devices into the
|
|
kernel or say M to compile it as module (bfusb).
|
|
|
|
config BT_HCIDTL1
|
|
tristate "HCI DTL1 (PC Card) driver"
|
|
depends on PCMCIA
|
|
help
|
|
Bluetooth HCI DTL1 (PC Card) driver.
|
|
This driver provides support for Bluetooth PCMCIA 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 M to compile it as module (dtl1_cs).
|
|
|
|
config BT_HCIBT3C
|
|
tristate "HCI BT3C (PC Card) driver"
|
|
depends on PCMCIA
|
|
select FW_LOADER
|
|
help
|
|
Bluetooth HCI BT3C (PC Card) driver.
|
|
This driver provides support for Bluetooth PCMCIA 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 M to compile it as module (bt3c_cs).
|
|
|
|
config BT_HCIBLUECARD
|
|
tristate "HCI BlueCard (PC Card) driver"
|
|
depends on PCMCIA
|
|
help
|
|
Bluetooth HCI BlueCard (PC Card) driver.
|
|
This driver provides support for Bluetooth PCMCIA 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 M to compile it as module (bluecard_cs).
|
|
|
|
config BT_HCIBTUART
|
|
tristate "HCI UART (PC Card) device driver"
|
|
depends on PCMCIA
|
|
help
|
|
Bluetooth HCI UART (PC Card) driver.
|
|
This driver provides support for Bluetooth PCMCIA devices with
|
|
an UART interface:
|
|
Xircom CreditCard Bluetooth Adapter
|
|
Xircom RealPort2 Bluetooth Adapter
|
|
Sphinx PICO Card
|
|
H-Soft blue+Card
|
|
Cyber-blue Compact Flash Card
|
|
|
|
Say Y here to compile support for HCI UART devices into the
|
|
kernel or say M to compile it as module (btuart_cs).
|
|
|
|
config BT_HCIVHCI
|
|
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 M to compile it as module (hci_vhci).
|
|
|
|
config BT_MRVL
|
|
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/8997.
|
|
|
|
Say Y here to compile Marvell Bluetooth driver
|
|
into the kernel or say M to compile it as module.
|
|
|
|
config BT_MRVL_SDIO
|
|
tristate "Marvell BT-over-SDIO driver"
|
|
depends on BT_MRVL && MMC
|
|
select FW_LOADER
|
|
select WANT_DEV_COREDUMP
|
|
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/SD8997
|
|
chipsets are supported.
|
|
|
|
Say Y here to compile support for Marvell BT-over-SDIO driver
|
|
into the kernel or say M to compile it as module.
|
|
|
|
config BT_ATH3K
|
|
tristate "Atheros firmware download driver"
|
|
depends on BT_HCIBTUSB
|
|
select FW_LOADER
|
|
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 M to compile it as module (ath3k).
|
|
|
|
config BT_WILINK
|
|
tristate "Texas Instruments WiLink7 driver"
|
|
depends on TI_ST
|
|
help
|
|
This enables the Bluetooth driver for Texas Instrument's BT/FM/GPS
|
|
combo devices. This makes use of shared transport line discipline
|
|
core driver to communicate with the BT core of the combo chip.
|
|
|
|
Say Y here to compile support for Texas Instrument's WiLink7 driver
|
|
into the kernel or say M to compile it as module (btwilink).
|
|
|
|
config BT_QCOMSMD
|
|
tristate "Qualcomm SMD based HCI support"
|
|
depends on QCOM_SMD && QCOM_WCNSS_CTRL
|
|
select BT_QCA
|
|
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 M to compile as a module.
|
|
|
|
endmenu
|