162 lines
3.7 KiB
Plaintext
162 lines
3.7 KiB
Plaintext
# Kconfig - Bluetooth configuration options
|
|
#
|
|
# Copyright (c) 2016 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig BT
|
|
bool "Bluetooth"
|
|
select NET_BUF
|
|
help
|
|
This option enables Bluetooth support.
|
|
|
|
if BT
|
|
|
|
module = BT
|
|
module-str = bt
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
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
|
|
|
|
source "subsys/bluetooth/services/Kconfig"
|
|
|
|
config BT_CONN
|
|
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 && !BT_STM32_IPM
|
|
# 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.
|
|
|
|
config BT_REMOTE_VERSION
|
|
bool "Enable fetching of remote version"
|
|
# Enable if building a Controller-only build
|
|
default y if BT_HCI_RAW
|
|
help
|
|
Enable this to get access to the remote version in the Controller and
|
|
in the Host through bt_conn_get_info(). The fields in question can
|
|
be then found in the bt_conn_info struct.
|
|
|
|
config BT_PHY_UPDATE
|
|
bool "PHY Update"
|
|
default y
|
|
help
|
|
Enable support for Bluetooth 5.0 PHY Update Procedure.
|
|
|
|
config BT_DATA_LEN_UPDATE
|
|
bool "Data Length Update"
|
|
default y
|
|
help
|
|
Enable support for Bluetooth v4.2 LE Data Length Update procedure.
|
|
endif # BT_CONN
|
|
|
|
# Workaround for not being able to have commas in macro arguments
|
|
DT_CHOSEN_Z_BT_C2H_UART := zephyr,bt-c2h-uart
|
|
|
|
config BT_CTLR_TO_HOST_UART_DEV_NAME
|
|
string "Device Name of UART Device to an external Bluetooth Host"
|
|
default "$(dt_chosen_label,$(DT_CHOSEN_Z_BT_C2H_UART))" if HAS_DTS
|
|
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.
|
|
|
|
source "subsys/bluetooth/common/Kconfig"
|
|
source "subsys/bluetooth/host/Kconfig"
|
|
source "subsys/bluetooth/controller/Kconfig"
|
|
source "subsys/bluetooth/shell/Kconfig"
|
|
|
|
endif # BT_HCI
|
|
|
|
source "subsys/bluetooth/mesh/Kconfig"
|
|
|
|
endif # BT
|