zephyr/drivers/bluetooth/hci/Kconfig

145 lines
3.7 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
choice BT_HCI_BUS_TYPE
prompt "Bluetooth HCI driver"
config BT_H4
bool "H:4 UART"
select UART_INTERRUPT_DRIVEN
select BT_UART
select BT_RECV_IS_RX_THREAD
depends on SERIAL
help
Bluetooth H:4 UART driver. Requires hardware flow control
lines to be available.
config BT_H5
bool "H:5 UART [EXPERIMENTAL]"
select UART_INTERRUPT_DRIVEN
select BT_UART
depends on SERIAL
help
Bluetooth three-wire (H:5) UART driver. Implementation of HCI
Three-Wire UART Transport Layer.
config BT_RPMSG
bool "HCI using RPMsg"
help
Bluetooth HCI driver for communication with another CPU
using RPMsg framework.
config BT_SPI
bool "SPI HCI"
depends on 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_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_NO_DRIVER
bool "No default HCI driver"
help
This is intended for unit tests where no internal driver
should be selected.
endchoice
# Workaround for not being able to have commas in macro arguments
DT_CHOSEN_Z_BT_UART := zephyr,bt-uart
config BT_UART_ON_DEV_NAME
string "Device Name of UART Device for Bluetooth"
default "$(dt_chosen_label,$(DT_CHOSEN_Z_BT_UART))" if HAS_DTS
default "UART_0"
depends on BT_UART
help
This option specifies the name of UART device to be used
for Bluetooth.
if BT_SPI
config BT_SPI_INIT_PRIORITY
int "BT SPI init priority"
default 75
config BT_BLUENRG_ACI
bool "Enable ACI message with with BlueNRG-based devices"
help
Enable support for devices compatible with the BlueNRG Bluetooth
Stack. Current driver supports: ST BLUENRG-MS.
config BT_SPI_BLUENRG
bool "Enable compatibility with BlueNRG-based devices"
help
Enable support for devices compatible with the BlueNRG Bluetooth
Stack. Current driver supports: ST BLUENRG-MS.
endif # BT_SPI
config BT_STM32_IPM_RX_STACK_SIZE
int "STM32 IPM stack size for RX thread"
depends on BT_STM32_IPM
default 512
config BT_RPMSG_NRF53
bool "nRF53 configuration of RPMsg"
default y if SOC_NRF5340_CPUAPP
depends on BT_RPMSG
select RPMSG_SERVICE
help
Enable RPMsg configuration for nRF53. Two channels of the IPM driver
are used in the HCI driver: channel 0 for TX and channel 1 for RX.
if BT_RPMSG_NRF53
choice RPMSG_SERVICE_MODE
default RPMSG_SERVICE_MODE_MASTER
endchoice
endif # BT_RPMSG_NRF53
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_RPMSG_NRF53 || 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.