mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-27 04:45:22 +00:00
Fix unable to select the Zephyr Vendor-Specific HCI commands support in host-only build. Set VS HCI support as default on if it is known that the controller supports it. Otherwise set it to off, this means that VS HCI support will be default off in host-only builds. Fixes: #21996 Signed-off-by: Joakim Andersson <joakim.andersson@nordicsemi.no>
152 lines
4.5 KiB
Plaintext
152 lines
4.5 KiB
Plaintext
# Bluetooth common configuration options
|
|
|
|
# Copyright (c) 2017 Nordic Semiconductor ASA
|
|
# Copyright (c) 2016 Intel Corporation
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config BT_HAS_HCI_VS
|
|
bool
|
|
help
|
|
This option is set by the Bluetooth controller to indicate support
|
|
for the Zephyr HCI Vendor-Specific Commands and Event.
|
|
|
|
config BT_HCI_VS
|
|
bool "Zephyr HCI Vendor-Specific Commands"
|
|
depends on BT_HAS_HCI_VS || !BT_CTLR
|
|
default y if BT_HAS_HCI_VS
|
|
help
|
|
Enable support for the Zephyr HCI Vendor-Specific Commands in the
|
|
Host and/or Controller. This enables Set Version Information,
|
|
Supported Commands, Supported Features vendor commands.
|
|
|
|
config BT_HCI_VS_EXT
|
|
bool "Zephyr HCI Vendor-Specific Extensions"
|
|
depends on BT_HCI_VS
|
|
default y
|
|
help
|
|
Enable support for the Zephyr HCI Vendor-Specific Extensions in the
|
|
Host and/or Controller. This enables Write BD_ADDR, Read Build Info,
|
|
Read Static Addresses and Read Key Hierarchy Roots vendor commands.
|
|
|
|
config BT_HCI_VS_EXT_DETECT
|
|
bool "Use heuristics to guess HCI vendor extensions support in advance"
|
|
depends on BT_HCI_VS_EXT && !BT_CTLR
|
|
default y if BOARD_QEMU_X86 || BOARD_QEMU_CORTEX_M3 || BOARD_NATIVE_POSIX
|
|
help
|
|
Use some heuristics to try to guess in advance whether the controller
|
|
supports the HCI vendor extensions in advance, in order to prevent
|
|
sending vendor commands to controller which may interpret them in
|
|
completely different ways.
|
|
|
|
config BT_HCI_MESH_EXT
|
|
bool "Mesh HCI Command support"
|
|
depends on BT_BROADCASTER && BT_OBSERVER && !BT_LL_SW_SPLIT
|
|
help
|
|
Enable support for the Bluetooth Mesh HCI Commands.
|
|
|
|
config BT_WAIT_NOP
|
|
bool "Wait for \"NOP\" Command Complete event during init"
|
|
help
|
|
Emit a Command Complete event from the Controller (and wait for it
|
|
from the Host) for the NOP opcode to indicate that the Controller is
|
|
ready to receive commands.
|
|
|
|
config BT_RPA
|
|
bool
|
|
select TINYCRYPT
|
|
select TINYCRYPT_AES
|
|
|
|
config BT_ASSERT
|
|
bool "Custom Bluetooth assert implementation"
|
|
default y
|
|
help
|
|
Use a custom Bluetooth assert implementation instead of the
|
|
kernel-wide __ASSERT() when CONFIG_ASSERT is disabled.
|
|
|
|
if BT_ASSERT
|
|
|
|
config BT_ASSERT_VERBOSE
|
|
bool "Print out an assert string when using BT_ASSERT"
|
|
default y
|
|
help
|
|
When CONFIG_BT_ASSERT is enabled, this option turns on printing the
|
|
cause of the assert to the console using printk().
|
|
|
|
config BT_ASSERT_PANIC
|
|
bool "Use k_panic() instead of k_oops()"
|
|
help
|
|
When CONFIG_BT_ASSERT is enabled, this option makes the code call
|
|
k_panic() instead of k_oops() when an assertion is triggered.
|
|
|
|
endif # BT_ASSERT
|
|
|
|
config BT_DEBUG
|
|
# Hidden option to make the conditions more intuitive
|
|
bool
|
|
|
|
choice
|
|
prompt "Bluetooth debug type"
|
|
default BT_DEBUG_NONE
|
|
|
|
config BT_DEBUG_NONE
|
|
bool "No debug log"
|
|
help
|
|
Select this to disable all Bluetooth debug logs.
|
|
|
|
config BT_DEBUG_LOG
|
|
bool "Normal printf-style to console"
|
|
select BT_DEBUG
|
|
select LOG
|
|
help
|
|
This option enables Bluetooth debug going to standard
|
|
serial console.
|
|
|
|
config BT_DEBUG_MONITOR
|
|
bool "Monitor protocol over UART"
|
|
select BT_DEBUG
|
|
select LOG
|
|
select CONSOLE_HAS_DRIVER
|
|
help
|
|
Use a custom logging protocol over the console UART
|
|
instead of plain-text output. Requires a special application
|
|
on the host side that can decode this protocol. Currently
|
|
the 'btmon' tool from BlueZ is capable of doing this.
|
|
|
|
If the target board has two or more external UARTs it is
|
|
possible to keep using UART_CONSOLE together with this option,
|
|
however if there is only a single external UART then
|
|
UART_CONSOLE needs to be disabled (in which case printk/printf
|
|
will get encoded into the monitor protocol).
|
|
|
|
endchoice
|
|
|
|
if BT_DEBUG
|
|
|
|
# Workaround for not being able to have commas in macro arguments
|
|
DT_CHOSEN_Z_BT_MON_UART := zephyr,bt-mon-uart
|
|
|
|
config BT_MONITOR_ON_DEV_NAME
|
|
string "Device Name of Bluetooth monitor logging UART"
|
|
depends on BT_DEBUG_MONITOR
|
|
default "$(dt_chosen_label,$(DT_CHOSEN_Z_BT_MON_UART))" if HAS_DTS
|
|
default "UART_0"
|
|
help
|
|
This option specifies the name of UART device to be used
|
|
for the Bluetooth monitor logging.
|
|
|
|
config BT_DEBUG_HCI_DRIVER
|
|
bool "Bluetooth HCI driver debug"
|
|
help
|
|
This option enables debug support for the active
|
|
Bluetooth HCI driver, including the Controller-side HCI layer
|
|
when included in the build.
|
|
|
|
config BT_DEBUG_RPA
|
|
bool "Bluetooth Resolvable Private Address (RPA) debug"
|
|
depends on BT_RPA
|
|
help
|
|
This option enables debug support for the Bluetooth
|
|
Resolvable Private Address (RPA) generation and resolution.
|
|
|
|
endif # BT_DEBUG
|