163 lines
3.8 KiB
Plaintext
163 lines
3.8 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
|
|
|
|
# The Bluetooth subsystem requires the system workqueue to execute at
|
|
# a cooperative priority.
|
|
config SYSTEM_WORKQUEUE_PRIORITY
|
|
range -256 -1
|
|
|
|
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"
|
|
# 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
|