zephyr/drivers/bluetooth/hci/Kconfig

149 lines
3.8 KiB
Plaintext

# Kconfig - 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_SPI
bool "SPI HCI"
select BT_RECV_IS_RX_THREAD
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_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
if !HAS_DTS
config BT_UART_ON_DEV_NAME
string "Device Name of UART Device for Bluetooth"
default "UART_0"
depends on BT_UART
help
This option specifies the name of UART device to be used
for Bluetooth.
endif
config BT_SPI_DEV_NAME
string "Device Name of SPI Device for Bluetooth"
default "SPI_0"
depends on BT_SPI && !HAS_DTS_SPI_DEVICE
help
This option specifies the name of SPI device to be used for Bluetooth.
On the controller side, this SPI device is used to encapsulate the
RAW HCI frames to send further up the stack. On the BLE stack side,
this device is used to reply back with HCI frames that are sent over
the air.
if BT_SPI
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.
if !HAS_DTS_SPI_PINS
config BT_SPI_CHIP_SELECT_DEV_NAME
string "Chip Select (CS) line driver name"
depends on BT_SPI_BLUENRG
help
This option specifies the name of GPIO driver controlling
the Chip Select (CS) line.
config BT_SPI_IRQ_DEV_NAME
string "IRQ line driver name"
help
This option specifies the name of GPIO driver controlling
the chip's IRQ line.
config BT_SPI_RESET_DEV_NAME
string "Reset line driver name"
help
This option specifies the name of GPIO driver controlling
the chip's Reset line.
config BT_SPI_CHIP_SELECT_PIN
int "SPI Chip Select (CS) line number"
depends on BT_SPI_BLUENRG
help
This option specifies the Chip Select (CS) line number on the SPI
device
config BT_SPI_IRQ_PIN
int "SPI IRQ line number"
help
This option specifies the IRQ line number on the SPI device
config BT_SPI_RESET_PIN
int "SPI Reset line number"
help
This option specifies the Reset line number on the SPI device
endif # !HAS_DTS_SPI_PINS
config BT_SPI_MAX_CLK_FREQ
int "Maximum clock frequency for the HCI SPI interface"
default 5000000
depends on !HAS_DTS_SPI_DEVICE
help
This option specifies the maximum clock rate the HCI SPI
interface is capable of running at.
endif # BT_SPI