237 lines
6.2 KiB
Plaintext
237 lines
6.2 KiB
Plaintext
# Bluetooth drivers configuration options
|
|
|
|
# Copyright (c) 2016 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
comment "Bluetooth HCI Driver Options"
|
|
|
|
config BT_UART
|
|
bool
|
|
select SERIAL
|
|
select UART_INTERRUPT_DRIVEN
|
|
|
|
|
|
choice BT_HCI_BUS_TYPE
|
|
prompt "Bluetooth HCI driver"
|
|
|
|
config BT_H4
|
|
bool "H:4 UART"
|
|
select BT_UART
|
|
help
|
|
Bluetooth H:4 UART driver. Requires hardware flow control
|
|
lines to be available.
|
|
|
|
config BT_H5
|
|
bool "H:5 UART [EXPERIMENTAL]"
|
|
select BT_UART
|
|
select EXPERIMENTAL
|
|
help
|
|
Bluetooth three-wire (H:5) UART driver. Implementation of HCI
|
|
Three-Wire UART Transport Layer.
|
|
|
|
# Removed: Here only to give the user a warning about its removal
|
|
# Remove after 3.7.0 is released
|
|
config BT_RPMSG
|
|
bool "[REMOVED] HCI using RPMsg"
|
|
help
|
|
Use BT_HCI_IPC instead
|
|
|
|
config BT_HCI_IPC
|
|
bool "HCI using the IPC subsystem"
|
|
select BT_HAS_HCI_VS
|
|
select IPC_SERVICE
|
|
select MBOX
|
|
help
|
|
Bluetooth HCI driver for communication with another CPU
|
|
using the IPC subsystem.
|
|
|
|
config BT_SPI
|
|
bool "SPI HCI"
|
|
select SPI
|
|
help
|
|
Supports Bluetooth ICs using SPI as the communication protocol.
|
|
HCI packets are sent and received as single Byte transfers,
|
|
prepended after a known header. Headers may vary per device, so
|
|
additional platform specific knowledge may need to be added as
|
|
devices are.
|
|
|
|
config BT_STM32_IPM
|
|
bool "IPM HCI"
|
|
select USE_STM32_HAL_CORTEX
|
|
select HAS_STM32LIB
|
|
help
|
|
TODO
|
|
|
|
config BT_STM32WBA
|
|
bool "STM32WBA HCI driver"
|
|
select HAS_STM32LIB
|
|
help
|
|
ST STM32WBA HCI Bluetooth interface
|
|
|
|
config BT_SILABS_HCI
|
|
bool "Silicon Labs Bluetooth interface"
|
|
depends on SOC_SERIES_EFR32BG22 || SOC_SERIES_EFR32MG24 || SOC_SERIES_EFR32BG27
|
|
depends on !PM || SOC_GECKO_PM_BACKEND_PMGR
|
|
select SOC_GECKO_USE_RAIL
|
|
select ENTROPY_GENERATOR
|
|
select MBEDTLS
|
|
select MBEDTLS_PSA_CRYPTO_C
|
|
select MBEDTLS_ENTROPY_ENABLED
|
|
select MBEDTLS_ZEPHYR_ENTROPY
|
|
help
|
|
Use Silicon Labs binary Bluetooth library to connect to the
|
|
controller.
|
|
|
|
config BT_USERCHAN
|
|
bool "HCI User Channel based driver"
|
|
depends on BOARD_NATIVE_POSIX
|
|
help
|
|
This driver provides access to the local Linux host's Bluetooth
|
|
adapter using a User Channel HCI socket to the Linux kernel. It
|
|
is only intended to be used with the native POSIX build of Zephyr.
|
|
The Bluetooth adapter must be powered off in order for Zephyr to
|
|
be able to use it.
|
|
|
|
config BT_ESP32
|
|
bool "ESP32 HCI driver"
|
|
help
|
|
Espressif HCI bluetooth interface
|
|
|
|
config BT_B91
|
|
bool "Telink B91 HCI driver"
|
|
help
|
|
Telink B91 HCI bluetooth interface
|
|
|
|
config BT_PSOC6_BLESS
|
|
bool "PSOC6 BLESS driver"
|
|
select BT_HCI_SETUP
|
|
help
|
|
PSOC6 BLESS driver with BLE Controller which operates in
|
|
Single CPU mode.
|
|
|
|
config BT_NO_DRIVER
|
|
bool "No default HCI driver"
|
|
select BT_HAS_HCI_VS
|
|
help
|
|
This is intended for unit tests where no internal driver
|
|
should be selected.
|
|
|
|
config BT_AMBIQ_HCI
|
|
bool "AMBIQ BT HCI driver"
|
|
select SPI
|
|
select GPIO
|
|
select CLOCK_CONTROL
|
|
select BT_HCI_SETUP
|
|
help
|
|
Supports Ambiq Bluetooth SoC using SPI as the communication protocol.
|
|
HCI packets are sent and received as single Byte transfers.
|
|
|
|
endchoice
|
|
|
|
if BT_SPI
|
|
|
|
config BT_SPI_INIT_PRIORITY
|
|
int "BT SPI init priority"
|
|
default 75
|
|
|
|
config BT_BLUENRG_ACI
|
|
bool "ACI message with with BlueNRG-based devices"
|
|
select BT_HCI_SET_PUBLIC_ADDR
|
|
help
|
|
Enable support for devices compatible with the BlueNRG Bluetooth
|
|
Stack. Current driver supports: ST BLUENRG-MS.
|
|
|
|
endif # BT_SPI
|
|
|
|
if BT_AMBIQ_HCI
|
|
|
|
config BT_HCI_INIT_PRIORITY
|
|
int "BT HCI init priority"
|
|
default 75
|
|
help
|
|
The priority of BT HCI driver initialization needs to be lower than
|
|
the SPI, GPIO, clock controller drivers initialization priorities.
|
|
|
|
endif # BT_AMBIQ_HCI
|
|
|
|
config BT_STM32_IPM_RX_STACK_SIZE
|
|
int "STM32 IPM stack size for RX thread"
|
|
depends on BT_STM32_IPM
|
|
default 512
|
|
|
|
menuconfig BT_AIROC
|
|
bool "AIROC BT connectivity"
|
|
default y
|
|
select BT_HCI_SETUP
|
|
select UART_USE_RUNTIME_CONFIGURE
|
|
depends on GPIO
|
|
depends on DT_HAS_INFINEON_CYW43XXX_BT_HCI_ENABLED
|
|
depends on BT_H4
|
|
help
|
|
Infineon's AIROC™ Wi-Fi & combos portfolio integrates
|
|
IEEE 802.11a/b/g/n/ac/ax Wi-Fi and Bluetooth® 5.2 in a single-chip
|
|
solution to enable small-form-factor IoT designs.
|
|
source "drivers/bluetooth/hci/Kconfig.infineon"
|
|
|
|
config BT_DRIVER_QUIRK_NO_AUTO_DLE
|
|
bool "Host auto-initiated Data Length Update quirk"
|
|
depends on BT_AUTO_DATA_LEN_UPDATE
|
|
default y if BT_HCI_IPC || BT_ESP32
|
|
help
|
|
Enable the quirk wherein BT Host stack will auto-initiate Data Length
|
|
Update procedure for new connections for controllers that do not
|
|
auto-initiate the procedure if the default data length parameters are
|
|
not equal to the initial parameters.
|
|
|
|
This has to be enabled when the BLE controller connected is Zephyr
|
|
open source controller.
|
|
|
|
config BT_HCI_SET_PUBLIC_ADDR
|
|
bool
|
|
select BT_HCI_SETUP
|
|
help
|
|
Pass the controller's public address to the HCI driver in setup()
|
|
|
|
This option should be enabled by drivers for controllers that support setting the
|
|
public identity through vendor-specific commands. They can then implement the
|
|
setup() HCI driver API function and get the address to set from the public_addr field.
|
|
|
|
From the application side, the public address is set using the first call to
|
|
bt_id_create(), before calling bt_enable().
|
|
|
|
config BT_HCI_SETUP
|
|
bool
|
|
help
|
|
Enable the HCI vendor-specific Setup function.
|
|
|
|
This option has to be enabled when the BT Controller requires execution
|
|
of the vendor-specific commands sequence to initialize the BT Controller
|
|
before the BT Host executes a Reset sequence.
|
|
|
|
The user should generally avoid changing it via menuconfig or in
|
|
configuration files. This option are enabled by the vendor-specific
|
|
HCI extension, where the Setup function is implemented.
|
|
|
|
config BT_DRV_TX_STACK_SIZE
|
|
int
|
|
default 256
|
|
help
|
|
Stack size for the HCI driver's TX thread.
|
|
|
|
config BT_DRV_RX_STACK_SIZE
|
|
int
|
|
default 640 if (BT_SPI || BT_AMBIQ_HCI)
|
|
default BT_RX_STACK_SIZE if (BT_H4 || BT_HCI_RAW_H4)
|
|
default BT_STM32_IPM_RX_STACK_SIZE if BT_STM32_IPM
|
|
default 256
|
|
help
|
|
Stack size for the HCI driver's RX thread.
|
|
|
|
config BT_SILABS_HCI_BUFFER_MEMORY
|
|
int "Silicon Labs Bluetooth Library memory buffer size"
|
|
depends on BT_SILABS_HCI
|
|
default 6144
|
|
help
|
|
Select the size of allocated memory buffer for the Silicon Labs
|
|
Bluetooth Library.
|