mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-02 07:22:28 +00:00
Add a sample application that allows a Zephyr-based Bluetooth controller to interface with an HCI driver via SPI. This sample implements the same BT SPI protocol already as Zephyr's HCI SPI driver. Currently, the sample only supports the legacy SPI API. Provide a single configuration file, avoiding board-specific files. Some board-specific configuration information must be provided via other means: - CONFIG_BT_CONTROLLER_TO_HOST_SPI_DEV_NAME - CONFIG_BT_CONTROLLER_TO_HOST_SPI_IRQ_DEV_NAME - CONFIG_BT_CONTROLLER_TO_HOST_SPI_IRQ_PIN Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org> Signed-off-by: Marti Bolivar <marti.bolivar@linaro.org> Signed-off-by: Michael Scott <michael.scott@linaro.org>
159 lines
3.6 KiB
Plaintext
159 lines
3.6 KiB
Plaintext
# Kconfig - Bluetooth configuration options
|
|
#
|
|
# Copyright (c) 2016 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
menu "Bluetooth"
|
|
|
|
config BT
|
|
bool "Bluetooth support"
|
|
select NET_BUF
|
|
help
|
|
This option enables Bluetooth support.
|
|
|
|
if BT
|
|
|
|
choice
|
|
prompt "Bluetooth Stack Selection"
|
|
default BT_HCI
|
|
help
|
|
Select the Bluetooth stack to compile.
|
|
|
|
config BT_HCI
|
|
bool "HCI-based"
|
|
help
|
|
HCI-based stack with optional host & controller parts and an
|
|
HCI driver in between.
|
|
|
|
config BT_CUSTOM
|
|
bool "Custom"
|
|
help
|
|
Select a custom, non-HCI based stack. If you're not sure what
|
|
this is, you probably want the HCI-based stack instead.
|
|
|
|
endchoice
|
|
|
|
if BT_HCI
|
|
|
|
config BT_HCI_RAW
|
|
bool "RAW HCI access"
|
|
help
|
|
This option allows to access Bluetooth controller
|
|
from the application with the RAW HCI protocol.
|
|
|
|
config BT_PERIPHERAL
|
|
bool "Peripheral Role support"
|
|
select BT_BROADCASTER
|
|
select BT_CONN
|
|
default y if BT_HCI_RAW
|
|
help
|
|
Select this for LE Peripheral role support.
|
|
|
|
config BT_CENTRAL
|
|
bool "Central Role support"
|
|
select BT_OBSERVER
|
|
select BT_CONN
|
|
default y if BT_HCI_RAW
|
|
help
|
|
Select this for LE Central role support.
|
|
|
|
menu "Broadcaster"
|
|
visible if !BT_PERIPHERAL
|
|
|
|
config BT_BROADCASTER
|
|
bool "Broadcaster Role support"
|
|
default y if !BT_OBSERVER
|
|
help
|
|
Select this for LE Broadcaster role support.
|
|
|
|
endmenu
|
|
|
|
menu "Observer"
|
|
visible if !BT_CENTRAL
|
|
|
|
config BT_OBSERVER
|
|
bool "Observer Role support"
|
|
help
|
|
Select this for LE Observer role support.
|
|
|
|
endmenu
|
|
|
|
config BT_CONN
|
|
# Virtual/hidden option
|
|
bool
|
|
|
|
config BT_MAX_CONN
|
|
int "Maximum number of simultaneous connections"
|
|
depends on BT_CONN
|
|
range 1 64
|
|
default 1
|
|
help
|
|
Maximum number of simultaneous Bluetooth connections
|
|
supported.
|
|
|
|
if BT_CONN
|
|
config BT_HCI_ACL_FLOW_CONTROL
|
|
bool "Controller to Host ACL flow control support"
|
|
default n
|
|
# Enable if building a Host-only build
|
|
default y if !BT_CTLR
|
|
# Enable if building a Controller-only build
|
|
default y if BT_HCI_RAW
|
|
select POLL
|
|
help
|
|
Enable support for throttling ACL buffers from the controller
|
|
to the host. This is particularly useful when the host and
|
|
controller are on separate cores since it ensures that we do
|
|
not run out of incoming ACL buffers.
|
|
endif # BT_CONN
|
|
|
|
config BT_CTLR_TO_HOST_UART_DEV_NAME
|
|
string "Device Name of UART Device to an external Bluetooth Host"
|
|
default "UART_0"
|
|
depends on BT_HCI_RAW
|
|
help
|
|
This option specifies the name of UART device to be used
|
|
to connect to an external Bluetooth Host when Zephyr is
|
|
acting as a Bluetooth Controller.
|
|
|
|
# TODO add DTS support, once SPI node definitions are available.
|
|
|
|
config BT_CTLR_TO_HOST_SPI_DEV_NAME
|
|
string "Device Name of SPI Device to an external Bluetooth Host"
|
|
default "SPI_0"
|
|
depends on SPI && BT_HCI_RAW
|
|
help
|
|
This option specifies the name of SPI device to be used to connect
|
|
to an external Bluetooth Host when Zephyr is acting as a Bluetooth
|
|
Controller.
|
|
|
|
config BT_CTLR_TO_HOST_SPI_IRQ_DEV_NAME
|
|
string "Device Name of SPI IRQ to an external Bluetooth Host"
|
|
default "GPIO_0"
|
|
depends on SPI && BT_HCI_RAW
|
|
help
|
|
This option specifies the name of SPI IRQ device to be used to
|
|
notify an external Bluetooth Host when Zephyr is acting as a
|
|
Bluetooth Controller.
|
|
|
|
config BT_CTLR_TO_HOST_SPI_IRQ_PIN
|
|
int "SPI IRQ line number to an external Bluetooth Host"
|
|
default 0
|
|
depends on SPI && BT_HCI_RAW
|
|
help
|
|
This option specifies the IRQ line number to be used to notify
|
|
an external Bluetooth Host when Zephyr is acting as a Bluetooth
|
|
Controller.
|
|
|
|
source "subsys/bluetooth/common/Kconfig"
|
|
source "subsys/bluetooth/host/Kconfig"
|
|
source "subsys/bluetooth/controller/Kconfig"
|
|
source "subsys/bluetooth/shell/Kconfig"
|
|
endif # BT_HCI
|
|
|
|
endif # BT
|
|
|
|
endmenu
|