Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0
0002 
0003 menu "Bluetooth device drivers"
0004         depends on BT
0005 
0006 config BT_INTEL
0007         tristate
0008         select REGMAP
0009 
0010 config BT_BCM
0011         tristate
0012         select FW_LOADER
0013 
0014 config BT_RTL
0015         tristate
0016         select FW_LOADER
0017 
0018 config BT_QCA
0019         tristate
0020         select FW_LOADER
0021 
0022 config BT_MTK
0023         tristate
0024         select FW_LOADER
0025 
0026 config BT_HCIBTUSB
0027         tristate "HCI USB driver"
0028         depends on USB
0029         select BT_INTEL
0030         help
0031           Bluetooth HCI USB driver.
0032           This driver is required if you want to use Bluetooth devices with
0033           USB interface.
0034 
0035           Say Y here to compile support for Bluetooth USB devices into the
0036           kernel or say M to compile it as module (btusb).
0037 
0038 config BT_HCIBTUSB_AUTOSUSPEND
0039         bool "Enable USB autosuspend for Bluetooth USB devices by default"
0040         depends on BT_HCIBTUSB
0041         help
0042           Say Y here to enable USB autosuspend for Bluetooth USB devices by
0043           default.
0044 
0045           This can be overridden by passing btusb.enable_autosuspend=[y|n]
0046           on the kernel commandline.
0047 
0048 config BT_HCIBTUSB_BCM
0049         bool "Broadcom protocol support"
0050         depends on BT_HCIBTUSB
0051         select BT_BCM
0052         default y
0053         help
0054           The Broadcom protocol support enables firmware and patchram
0055           download support for Broadcom Bluetooth controllers.
0056 
0057           Say Y here to compile support for Broadcom protocol.
0058 
0059 config BT_HCIBTUSB_MTK
0060         bool "MediaTek protocol support"
0061         depends on BT_HCIBTUSB
0062         select BT_MTK
0063         default n
0064         help
0065           The MediaTek protocol support enables firmware download
0066           support and chip initialization for MediaTek Bluetooth
0067           USB controllers.
0068 
0069           Say Y here to compile support for MediaTek protocol.
0070 
0071 config BT_HCIBTUSB_RTL
0072         bool "Realtek protocol support"
0073         depends on BT_HCIBTUSB
0074         select BT_RTL
0075         default y
0076         help
0077           The Realtek protocol support enables firmware and configuration
0078           download support for Realtek Bluetooth controllers.
0079 
0080           Say Y here to compile support for Realtek protocol.
0081 
0082 config BT_HCIBTSDIO
0083         tristate "HCI SDIO driver"
0084         depends on MMC
0085         help
0086           Bluetooth HCI SDIO driver.
0087           This driver is required if you want to use Bluetooth device with
0088           SDIO interface.
0089 
0090           Say Y here to compile support for Bluetooth SDIO devices into the
0091           kernel or say M to compile it as module (btsdio).
0092 
0093 config BT_HCIUART
0094         tristate "HCI UART driver"
0095         depends on SERIAL_DEV_BUS || !SERIAL_DEV_BUS
0096         depends on NVMEM || !NVMEM
0097         depends on TTY
0098         help
0099           Bluetooth HCI UART driver.
0100           This driver is required if you want to use Bluetooth devices with
0101           serial port interface. You will also need this driver if you have
0102           UART based Bluetooth PCMCIA and CF devices like Xircom Credit Card
0103           adapter and BrainBoxes Bluetooth PC Card.
0104 
0105           Say Y here to compile support for Bluetooth UART devices into the
0106           kernel or say M to compile it as module (hci_uart).
0107 
0108 config BT_HCIUART_SERDEV
0109         bool
0110         depends on SERIAL_DEV_BUS && BT_HCIUART
0111         default y
0112 
0113 config BT_HCIUART_H4
0114         bool "UART (H4) protocol support"
0115         depends on BT_HCIUART
0116         help
0117           UART (H4) is serial protocol for communication between Bluetooth
0118           device and host. This protocol is required for most Bluetooth devices
0119           with UART interface, including PCMCIA and CF cards.
0120 
0121           Say Y here to compile support for HCI UART (H4) protocol.
0122 
0123 config BT_HCIUART_NOKIA
0124         tristate "UART Nokia H4+ protocol support"
0125         depends on BT_HCIUART
0126         depends on BT_HCIUART_SERDEV
0127         depends on GPIOLIB
0128         depends on PM
0129         select BT_HCIUART_H4
0130         select BT_BCM
0131         help
0132           Nokia H4+ is serial protocol for communication between Bluetooth
0133           device and host. This protocol is required for Bluetooth devices
0134           with UART interface in Nokia devices.
0135 
0136           Say Y here to compile support for Nokia's H4+ protocol.
0137 
0138 config BT_HCIUART_BCSP
0139         bool "BCSP protocol support"
0140         depends on BT_HCIUART
0141         select BITREVERSE
0142         help
0143           BCSP (BlueCore Serial Protocol) is serial protocol for communication
0144           between Bluetooth device and host. This protocol is required for non
0145           USB Bluetooth devices based on CSR BlueCore chip, including PCMCIA and
0146           CF cards.
0147 
0148           Say Y here to compile support for HCI BCSP protocol.
0149 
0150 config BT_HCIUART_ATH3K
0151         bool "Atheros AR300x serial support"
0152         depends on BT_HCIUART
0153         select BT_HCIUART_H4
0154         help
0155           HCIATH3K (HCI Atheros AR300x) is a serial protocol for
0156           communication between host and Atheros AR300x Bluetooth devices.
0157           This protocol enables AR300x chips to be enabled with
0158           power management support.
0159           Enable this if you have Atheros AR300x serial Bluetooth device.
0160 
0161           Say Y here to compile support for HCI UART ATH3K protocol.
0162 
0163 config BT_HCIUART_LL
0164         bool "HCILL protocol support"
0165         depends on BT_HCIUART_SERDEV
0166         select BT_HCIUART_H4
0167         help
0168           HCILL (HCI Low Level) is a serial protocol for communication
0169           between Bluetooth device and host. This protocol is required for
0170           serial Bluetooth devices that are based on Texas Instruments'
0171           BRF chips.
0172 
0173           Say Y here to compile support for HCILL protocol.
0174 
0175 config BT_HCIUART_3WIRE
0176         bool "Three-wire UART (H5) protocol support"
0177         depends on BT_HCIUART
0178         depends on BT_HCIUART_SERDEV
0179         help
0180           The HCI Three-wire UART Transport Layer makes it possible to
0181           user the Bluetooth HCI over a serial port interface. The HCI
0182           Three-wire UART Transport Layer assumes that the UART
0183           communication may have bit errors, overrun errors or burst
0184           errors and thereby making CTS/RTS lines unnecessary.
0185 
0186           Say Y here to compile support for Three-wire UART protocol.
0187 
0188 config BT_HCIUART_INTEL
0189         bool "Intel protocol support"
0190         depends on BT_HCIUART
0191         depends on GPIOLIB
0192         select BT_HCIUART_H4
0193         select BT_INTEL
0194         help
0195           The Intel protocol support enables Bluetooth HCI over serial
0196           port interface for Intel Bluetooth controllers.
0197 
0198           Say Y here to compile support for Intel protocol.
0199 
0200 config BT_HCIUART_BCM
0201         bool "Broadcom protocol support"
0202         depends on BT_HCIUART
0203         depends on BT_HCIUART_SERDEV
0204         depends on (!ACPI || SERIAL_DEV_CTRL_TTYPORT)
0205         depends on GPIOLIB
0206         select BT_HCIUART_H4
0207         select BT_BCM
0208         help
0209           The Broadcom protocol support enables Bluetooth HCI over serial
0210           port interface for Broadcom Bluetooth controllers.
0211 
0212           Say Y here to compile support for Broadcom protocol.
0213 
0214 config BT_HCIUART_RTL
0215         bool "Realtek protocol support"
0216         depends on BT_HCIUART
0217         depends on BT_HCIUART_SERDEV
0218         depends on GPIOLIB
0219         depends on (ACPI || SERIAL_DEV_CTRL_TTYPORT)
0220         select BT_HCIUART_3WIRE
0221         select BT_RTL
0222         help
0223           The Realtek protocol support enables Bluetooth HCI over 3-Wire
0224           serial port interface for Realtek Bluetooth controllers.
0225 
0226           Say Y here to compile support for Realtek protocol.
0227 
0228 config BT_HCIUART_QCA
0229         bool "Qualcomm Atheros protocol support"
0230         depends on BT_HCIUART
0231         depends on BT_HCIUART_SERDEV
0232         select BT_HCIUART_H4
0233         select BT_QCA
0234         help
0235           The Qualcomm Atheros protocol supports HCI In-Band Sleep feature
0236           over serial port interface(H4) between controller and host.
0237           This protocol is required for UART clock control for QCA Bluetooth
0238           devices.
0239 
0240           Say Y here to compile support for QCA protocol.
0241 
0242 config BT_HCIUART_AG6XX
0243         bool "Intel AG6XX protocol support"
0244         depends on BT_HCIUART
0245         select BT_HCIUART_H4
0246         select BT_INTEL
0247         help
0248           The Intel/AG6XX protocol support enables Bluetooth HCI over serial
0249           port interface for Intel ibt 2.1 Bluetooth controllers.
0250 
0251           Say Y here to compile support for Intel AG6XX protocol.
0252 
0253 config BT_HCIUART_MRVL
0254         bool "Marvell protocol support"
0255         depends on BT_HCIUART
0256         depends on BT_HCIUART_SERDEV
0257         select BT_HCIUART_H4
0258         help
0259           Marvell is serial protocol for communication between Bluetooth
0260           device and host. This protocol is required for most Marvell Bluetooth
0261           devices with UART interface.
0262 
0263           Say Y here to compile support for HCI MRVL protocol.
0264 
0265 config BT_HCIBCM203X
0266         tristate "HCI BCM203x USB driver"
0267         depends on USB
0268         select FW_LOADER
0269         help
0270           Bluetooth HCI BCM203x USB driver.
0271           This driver provides the firmware loading mechanism for the Broadcom
0272           Blutonium based devices.
0273 
0274           Say Y here to compile support for HCI BCM203x devices into the
0275           kernel or say M to compile it as module (bcm203x).
0276 
0277 config BT_HCIBPA10X
0278         tristate "HCI BPA10x USB driver"
0279         depends on USB
0280         help
0281           Bluetooth HCI BPA10x USB driver.
0282           This driver provides support for the Digianswer BPA 100/105 Bluetooth
0283           sniffer devices.
0284 
0285           Say Y here to compile support for HCI BPA10x devices into the
0286           kernel or say M to compile it as module (bpa10x).
0287 
0288 config BT_HCIBFUSB
0289         tristate "HCI BlueFRITZ! USB driver"
0290         depends on USB
0291         select FW_LOADER
0292         help
0293           Bluetooth HCI BlueFRITZ! USB driver.
0294           This driver provides support for Bluetooth USB devices with AVM
0295           interface:
0296              AVM BlueFRITZ! USB
0297 
0298           Say Y here to compile support for HCI BFUSB devices into the
0299           kernel or say M to compile it as module (bfusb).
0300 
0301 config BT_HCIDTL1
0302         tristate "HCI DTL1 (PC Card) driver"
0303         depends on PCMCIA
0304         help
0305           Bluetooth HCI DTL1 (PC Card) driver.
0306           This driver provides support for Bluetooth PCMCIA devices with
0307           Nokia DTL1 interface:
0308              Nokia Bluetooth Card
0309              Socket Bluetooth CF Card
0310 
0311           Say Y here to compile support for HCI DTL1 devices into the
0312           kernel or say M to compile it as module (dtl1_cs).
0313 
0314 config BT_HCIBT3C
0315         tristate "HCI BT3C (PC Card) driver"
0316         depends on PCMCIA
0317         select FW_LOADER
0318         help
0319           Bluetooth HCI BT3C (PC Card) driver.
0320           This driver provides support for Bluetooth PCMCIA devices with
0321           3Com BT3C interface:
0322              3Com Bluetooth Card (3CRWB6096)
0323              HP Bluetooth Card
0324 
0325           Say Y here to compile support for HCI BT3C devices into the
0326           kernel or say M to compile it as module (bt3c_cs).
0327 
0328 config BT_HCIBLUECARD
0329         tristate "HCI BlueCard (PC Card) driver"
0330         depends on PCMCIA
0331         help
0332           Bluetooth HCI BlueCard (PC Card) driver.
0333           This driver provides support for Bluetooth PCMCIA devices with
0334           Anycom BlueCard interface:
0335              Anycom Bluetooth PC Card
0336              Anycom Bluetooth CF Card
0337 
0338           Say Y here to compile support for HCI BlueCard devices into the
0339           kernel or say M to compile it as module (bluecard_cs).
0340 
0341 config BT_HCIVHCI
0342         tristate "HCI VHCI (Virtual HCI device) driver"
0343         help
0344           Bluetooth Virtual HCI device driver.
0345           This driver is required if you want to use HCI Emulation software.
0346 
0347           Say Y here to compile support for virtual HCI devices into the
0348           kernel or say M to compile it as module (hci_vhci).
0349 
0350 config BT_MRVL
0351         tristate "Marvell Bluetooth driver support"
0352         help
0353           The core driver to support Marvell Bluetooth devices.
0354 
0355           This driver is required if you want to support
0356           Marvell Bluetooth devices, such as 8688/8787/8797/8887/8897/8977/8987/8997.
0357 
0358           Say Y here to compile Marvell Bluetooth driver
0359           into the kernel or say M to compile it as module.
0360 
0361 config BT_MRVL_SDIO
0362         tristate "Marvell BT-over-SDIO driver"
0363         depends on BT_MRVL && MMC
0364         select FW_LOADER
0365         select WANT_DEV_COREDUMP
0366         help
0367           The driver for Marvell Bluetooth chipsets with SDIO interface.
0368 
0369           This driver is required if you want to use Marvell Bluetooth
0370           devices with SDIO interface. Currently SD8688/SD8787/SD8797/SD8887/SD8897/SD8977/SD8987/SD8997
0371           chipsets are supported.
0372 
0373           Say Y here to compile support for Marvell BT-over-SDIO driver
0374           into the kernel or say M to compile it as module.
0375 
0376 config BT_ATH3K
0377         tristate "Atheros firmware download driver"
0378         depends on BT_HCIBTUSB
0379         select FW_LOADER
0380         help
0381           Bluetooth firmware download driver.
0382           This driver loads the firmware into the Atheros Bluetooth
0383           chipset.
0384 
0385           Say Y here to compile support for "Atheros firmware download driver"
0386           into the kernel or say M to compile it as module (ath3k).
0387 
0388 config BT_MTKSDIO
0389         tristate "MediaTek HCI SDIO driver"
0390         depends on MMC
0391         select BT_MTK
0392         help
0393           MediaTek Bluetooth HCI SDIO driver.
0394           This driver is required if you want to use MediaTek Bluetooth
0395           with SDIO interface.
0396 
0397           Say Y here to compile support for MediaTek Bluetooth SDIO devices
0398           into the kernel or say M to compile it as module (btmtksdio).
0399 
0400 config BT_MTKUART
0401         tristate "MediaTek HCI UART driver"
0402         depends on SERIAL_DEV_BUS
0403         select BT_MTK
0404         help
0405           MediaTek Bluetooth HCI UART driver.
0406           This driver is required if you want to use MediaTek Bluetooth
0407           with serial interface.
0408 
0409           Say Y here to compile support for MediaTek Bluetooth UART devices
0410           into the kernel or say M to compile it as module (btmtkuart).
0411 
0412 config BT_QCOMSMD
0413         tristate "Qualcomm SMD based HCI support"
0414         depends on RPMSG || (COMPILE_TEST && RPMSG=n)
0415         depends on QCOM_WCNSS_CTRL || (COMPILE_TEST && QCOM_WCNSS_CTRL=n)
0416         select BT_QCA
0417         help
0418           Qualcomm SMD based HCI driver.
0419           This driver is used to bridge HCI data onto the shared memory
0420           channels to the WCNSS core.
0421 
0422           Say Y here to compile support for HCI over Qualcomm SMD into the
0423           kernel or say M to compile as a module.
0424 
0425 config BT_HCIRSI
0426         tristate
0427         help
0428           Redpine BT driver.
0429           This driver handles BT traffic from upper layers and pass
0430           to the RSI_91x coex module for further scheduling to device
0431 
0432           Say Y here to compile support for HCI over Redpine into the
0433           kernel or say M to compile as a module.
0434 
0435 config BT_VIRTIO
0436         tristate "Virtio Bluetooth driver"
0437         depends on VIRTIO
0438         help
0439           Virtio Bluetooth support driver.
0440           This driver supports Virtio Bluetooth devices.
0441 
0442           Say Y here to compile support for HCI over Virtio into the
0443           kernel or say M to compile as a module.
0444 
0445 endmenu