zephyr/subsys/bluetooth/Kconfig

161 lines
3.9 KiB
Plaintext
Raw Normal View History

# Kconfig - Bluetooth configuration options
#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
menuconfig BLUETOOTH
bool "Bluetooth support"
select NET_BUF
help
This option enables Bluetooth support.
if BLUETOOTH
choice
prompt "Bluetooth Stack Selection"
default BLUETOOTH_HCI
help
Select the Bluetooth stack to compile.
config BLUETOOTH_HCI
bool "HCI-based"
help
HCI-based stack with optional host & controller parts and an
HCI driver in between.
config BLUETOOTH_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 BLUETOOTH_HCI
config BLUETOOTH_HCI_RAW
bool "RAW HCI access"
help
This option allows to access Bluetooth controller
from the application with the RAW HCI protocol.
config BLUETOOTH_PERIPHERAL
bool "Peripheral Role support"
select BLUETOOTH_CONN
default y if BLUETOOTH_HCI_RAW
help
Select this for LE Peripheral role support.
config BLUETOOTH_CENTRAL
bool "Central Role support"
select BLUETOOTH_CONN
default y if BLUETOOTH_HCI_RAW
help
Select this for LE Central role support.
config BLUETOOTH_CONN
# Virtual/hidden option
bool
config BLUETOOTH_MAX_CONN
int "Maximum number of simultaneous connections"
depends on BLUETOOTH_CONN
range 1 64
default 1
help
Maximum number of simultaneous Bluetooth connections
supported.
if BLUETOOTH_CONN
config BLUETOOTH_HCI_ACL_FLOW_CONTROL
bool "Controller to Host ACL flow control support"
default n
# Enable if building a Host-only build
default y if !BLUETOOTH_CONTROLLER
# Enable if building a Controller-only build
default y if BLUETOOTH_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 # BLUETOOTH_CONN
config BLUETOOTH_DEBUG
# Virtual/hidden option to make the conditions more intuitive
bool
choice
prompt "Bluetooth debug type"
depends on BLUETOOTH
default BLUETOOTH_DEBUG_NONE
config BLUETOOTH_DEBUG_NONE
bool "No debug log"
help
Select this to disable all Bluetooth debug logs.
config BLUETOOTH_DEBUG_LOG
bool "Normal printf-style to console"
select BLUETOOTH_DEBUG
select PRINTK
select SYS_LOG
help
This option enables Bluetooth debug going to standard
serial console.
config BLUETOOTH_DEBUG_MONITOR
bool "Monitor protocol over UART"
select BLUETOOTH_DEBUG
select PRINTK
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 BLUETOOTH_DEBUG
config BLUETOOTH_DEBUG_COLOR
bool "Use colored logs"
depends on BLUETOOTH_DEBUG_LOG
select SYS_LOG_SHOW_COLOR
default y
help
Use color in the logs. This requires an ANSI capable terminal.
config BLUETOOTH_MONITOR_ON_DEV_NAME
string "Device Name of Bluetooth monitor logging UART"
depends on BLUETOOTH_DEBUG_MONITOR
default "UART_0"
help
This option specifies the name of UART device to be used
for the Bluetooth monitor logging.
config BLUETOOTH_DEBUG_HCI_DRIVER
bool "Bluetooth HCI driver debug"
depends on BLUETOOTH_DEBUG
help
This option enables debug support for the active
Bluetooth HCI driver, including the Controller-side HCI layer
when included in the build.
endif #BLUETOOTH_DEBUG
source "subsys/bluetooth/host/Kconfig"
source "subsys/bluetooth/controller/Kconfig"
endif # BLUETOOTH_HCI
endif # BLUETOOTH