150 lines
3.8 KiB
Plaintext
150 lines
3.8 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_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 IPM
|
|
select IPM_NRFX
|
|
select IPM_MSG_CH_1_ENABLE
|
|
select IPM_MSG_CH_0_ENABLE
|
|
select IPM_MSG_CH_0_TX
|
|
select IPM_MSG_CH_1_RX
|
|
select OPENAMP
|
|
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
|
|
|
|
config BT_RPMSG_NRF53_RX_STACK_SIZE
|
|
int "RPMsg stack size for RX thread"
|
|
default 1024
|
|
|
|
config BT_RPMSG_NRF53_RX_PRIO
|
|
int "RPMsg RX thread priority"
|
|
default 8
|
|
|
|
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
|
|
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.
|