144 lines
3.8 KiB
Plaintext
144 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"
|
|
|
|
# Controller support is an HCI driver in itself, so these HCI driver
|
|
# options are only applicable if controller support hasn't been enabled.
|
|
if !BLUETOOTH_CONTROLLER
|
|
|
|
config BLUETOOTH_UART
|
|
bool
|
|
|
|
choice
|
|
prompt "Bluetooth HCI driver"
|
|
default BLUETOOTH_H4
|
|
|
|
config BLUETOOTH_H4
|
|
bool "H:4 UART"
|
|
select UART_INTERRUPT_DRIVEN
|
|
select BLUETOOTH_UART
|
|
select BLUETOOTH_RECV_IS_RX_THREAD
|
|
depends on SERIAL
|
|
help
|
|
Bluetooth H:4 UART driver. Requires hardware flow control
|
|
lines to be available.
|
|
|
|
config BLUETOOTH_H5
|
|
bool "H:5 UART [EXPERIMENTAL]"
|
|
select UART_INTERRUPT_DRIVEN
|
|
select BLUETOOTH_UART
|
|
depends on SERIAL
|
|
help
|
|
Bluetooth three-wire (H:5) UART driver. Implementation of HCI
|
|
Three-Wire UART Transport Layer.
|
|
|
|
config BLUETOOTH_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 BLUETOOTH_NO_DRIVER
|
|
bool "No default HCI driver"
|
|
help
|
|
This is intended for unit tests where no internal driver
|
|
should be selected.
|
|
|
|
endchoice
|
|
|
|
endif # !BLUETOOTH_CONTROLLER
|
|
|
|
config BLUETOOTH_UART_ON_DEV_NAME
|
|
string "Device Name of UART Device for Bluetooth"
|
|
default "UART_0"
|
|
depends on BLUETOOTH_UART
|
|
help
|
|
This option specifies the name of UART device to be used
|
|
for Bluetooth.
|
|
|
|
config BLUETOOTH_SPI_DEV_NAME
|
|
string "Device Name of SPI Device for Bluetooth"
|
|
default "SPI_0"
|
|
depends on BLUETOOTH_SPI
|
|
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.
|
|
|
|
# Headroom that the driver needs for sending and receiving buffers.
|
|
# Add a new 'default' entry for each new driver.
|
|
config BLUETOOTH_HCI_RESERVE
|
|
int
|
|
# Even if no driver is selected the following default is still
|
|
# needed e.g. for unit tests.
|
|
default 0
|
|
default 0 if BLUETOOTH_H4
|
|
default 1 if BLUETOOTH_H5
|
|
default 1 if BLUETOOTH_SPI
|
|
|
|
if BLUETOOTH_SPI
|
|
|
|
config BLUETOOTH_SPI_BLUENRG
|
|
bool "Enable compatibility with BlueNRG-based devices"
|
|
default n
|
|
help
|
|
Enable support for devices compatible with the BlueNRG Bluetooth
|
|
Stack. Current driver supports: ST X-NUCLEO BLE series.
|
|
|
|
config BLUETOOTH_SPI_CHIP_SELECT_DEV_NAME
|
|
string "Chip Select (CS) line driver name"
|
|
depends on BLUETOOTH_SPI_BLUENRG
|
|
help
|
|
This option specifies the name of GPIO driver controlling
|
|
the Chip Select (CS) line.
|
|
|
|
config BLUETOOTH_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 BLUETOOTH_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 BLUETOOTH_SPI_CHIP_SELECT_PIN
|
|
int "SPI Chip Select (CS) line number"
|
|
depends on BLUETOOTH_SPI_BLUENRG
|
|
help
|
|
This option specifies the Chip Select (CS) line number on the SPI
|
|
device
|
|
|
|
config BLUETOOTH_SPI_IRQ_PIN
|
|
int "SPI IRQ line number"
|
|
help
|
|
This option specifies the IRQ line number on the SPI device
|
|
|
|
config BLUETOOTH_SPI_RESET_PIN
|
|
int "SPI Reset line number"
|
|
help
|
|
This option specifies the Reset line number on the SPI device
|
|
|
|
config BLUETOOTH_SPI_MAX_CLK_FREQ
|
|
int "Maximum clock frequency for the HCI SPI interface"
|
|
default 5000000
|
|
help
|
|
This option specifies the maximum clock rate the HCI SPI
|
|
interface is capable of running at.
|
|
|
|
endif # BLUETOOTH_SPI
|