| # 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 |
| |
| 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 |
| |
| 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. |
| |
| source "subsys/bluetooth/services/Kconfig" |
| |
| 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. |
| |
| 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 |