blob: edf3fce969873f5cfde688c16e3a838b2ce02ed5 [file] [log] [blame]
# Kconfig - Bluetooth configuration options
#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
menu "Bluetooth"
config 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.
menu "Broadcaster"
visible if !BLUETOOTH_PERIPHERAL
config BLUETOOTH_BROADCASTER
bool "Broadcaster Role support"
default y if BLUETOOTH_PERIPHERAL
default y if !BLUETOOTH_OBSERVER
help
Select this for LE Broadcaster role support.
endmenu
menu "Observer"
visible if !BLUETOOTH_CENTRAL
config BLUETOOTH_OBSERVER
bool "Observer Role support"
default y if BLUETOOTH_CENTRAL
help
Select this for LE Observer role support.
endmenu
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_CONTROLLER_TO_HOST_UART_DEV_NAME
string "Device Name of UART Device to an external Bluetooth Host"
default "UART_0"
depends on BLUETOOTH_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 # BLUETOOTH_HCI
endif # BLUETOOTH
endmenu