475 lines · 13.5 KB · Text
RawDownload
# SPDX-License-Identifier: GPL-2.0 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_MTK	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_AUTOSUSPEND	bool "Enable USB autosuspend for Bluetooth USB devices by default"	depends on BT_HCIBTUSB	help	  Say Y here to enable USB autosuspend for Bluetooth USB devices by	  default. 	  This can be overridden by passing btusb.enable_autosuspend=[y|n]	  on the kernel commandline. config BT_HCIBTUSB_POLL_SYNC	bool "Enable USB poll_sync for Bluetooth USB devices by default"	depends on BT_HCIBTUSB	default y	help	  poll_sync synchronizes the USB data and event endpoints by	  prioritizing the later. 	  Say Y here to enable USB poll_sync for Bluetooth USB devices by	  default. 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_MTK	bool "MediaTek protocol support"	depends on BT_HCIBTUSB	select BT_MTK	default n	help	  The MediaTek protocol support enables firmware download	  support and chip initialization for MediaTek Bluetooth	  USB controllers. 	  Say Y here to compile support for MediaTek 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 SERIAL_DEV_BUS || !SERIAL_DEV_BUS	depends on NVMEM || !NVMEM	depends on POWER_SEQUENCING || !POWER_SEQUENCING	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_SERDEV	bool	depends on SERIAL_DEV_BUS && BT_HCIUART	default y 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_NOKIA	tristate "UART Nokia H4+ protocol support"	depends on BT_HCIUART	depends on BT_HCIUART_SERDEV	depends on GPIOLIB	depends on PM	select BT_HCIUART_H4	select BT_BCM	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 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_SERDEV	select BT_HCIUART_H4	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	depends on BT_HCIUART_SERDEV	select CRC_CCITT	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	depends on GPIOLIB	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	depends on BT_HCIUART_SERDEV	depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT)	depends on GPIOLIB	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_RTL	bool "Realtek protocol support"	depends on BT_HCIUART	depends on BT_HCIUART_SERDEV	depends on GPIOLIB	depends on (ACPI || SERIAL_DEV_CTRL_TTYPORT)	select BT_HCIUART_3WIRE	select BT_RTL	help	  The Realtek protocol support enables Bluetooth HCI over 3-Wire	  serial port interface for Realtek Bluetooth controllers. 	  Say Y here to compile support for Realtek protocol. config BT_HCIUART_QCA	bool "Qualcomm Atheros protocol support"	depends on BT_HCIUART	depends on BT_HCIUART_SERDEV	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	depends on BT_HCIUART_SERDEV	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_HCIUART_AML	bool "Amlogic protocol support"	depends on BT_HCIUART	depends on BT_HCIUART_SERDEV	select BT_HCIUART_H4	select FW_LOADER	help	  The Amlogic protocol support enables Bluetooth HCI over serial	  port interface for Amlogic Bluetooth controllers. 	  Say Y here to compile support for HCI AML 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_HCIBCM4377	tristate "HCI BCM4377/4378/4387/4388 PCIe driver"	depends on PCI	select FW_LOADER	help	  Support for Broadcom BCM4377/4378/4387/4388 Bluetooth chipsets	  attached via PCIe. These are usually found in Apple machines. 	  Say Y here to compile support for HCI BCM4377 family devices into the	  kernel or say M to compile it as module (hci_bcm4377). config BT_HCIBPA10X	tristate "HCI BPA10x USB driver"	depends on BT_HCIUART	depends on USB	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_HCIVHCI	tristate "HCI VHCI (Virtual HCI device) driver"	select WANT_DEV_COREDUMP	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/8977/8987/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/SD8977/SD8987/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_MTKSDIO	tristate "MediaTek HCI SDIO driver"	depends on MMC	depends on USB || !BT_HCIBTUSB_MTK	select BT_MTK	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 M to compile it as module (btmtksdio). config BT_MTKUART	tristate "MediaTek HCI UART driver"	depends on BT_HCIUART	depends on SERIAL_DEV_BUS	depends on USB || !BT_HCIBTUSB_MTK	select BT_HCIUART_H4	select BT_MTK	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 M to compile it as module (btmtkuart). config BT_QCOMSMD	tristate "Qualcomm SMD based HCI support"	depends on RPMSG || (COMPILE_TEST && RPMSG=n)	depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)	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. config BT_HCIRSI	tristate	help	  Redpine BT driver.	  This driver handles BT 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 M to compile as a module. config BT_VIRTIO	tristate "Virtio Bluetooth driver"	depends on VIRTIO	help	  Virtio Bluetooth support driver.	  This driver supports Virtio Bluetooth devices. 	  Say Y here to compile support for HCI over Virtio into the	  kernel or say M to compile as a module. config BT_NXPUART	tristate "NXP protocol support"	depends on BT_HCIUART	depends on SERIAL_DEV_BUS	select BT_HCIUART_H4	select CRC32	select CRC8	help	  NXP is serial driver required for NXP Bluetooth	  devices with UART interface. 	  Say Y here to compile support for NXP Bluetooth UART device into	  the kernel, or say M here to compile as a module (btnxpuart). config BT_INTEL_PCIE	tristate "Intel HCI PCIe driver"	depends on PCI && ACPI	select BT_INTEL	select FW_LOADER	help	  Intel Bluetooth transport driver for PCIe.	  This driver is required if you want to use Intel Bluetooth device	  with PCIe interface. 	  Say Y here to compiler support for Intel Bluetooth PCIe device into	  the kernel or say M to compile it as module (btintel_pcie)endmenu