# 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 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. # TODO add DTS support, once SPI node definitions are available. config BT_CTLR_TO_HOST_SPI_DEV_NAME string "Device Name of SPI Device to an external Bluetooth Host" default "SPI_0" depends on SPI && BT_HCI_RAW help This option specifies the name of SPI device to be used to connect to an external Bluetooth Host when Zephyr is acting as a Bluetooth Controller. config BT_CTLR_TO_HOST_SPI_IRQ_DEV_NAME string "Device Name of SPI IRQ to an external Bluetooth Host" default "GPIO_0" depends on SPI && BT_HCI_RAW help This option specifies the name of SPI IRQ device to be used to notify an external Bluetooth Host when Zephyr is acting as a Bluetooth Controller. config BT_CTLR_TO_HOST_SPI_IRQ_PIN int "SPI IRQ line number to an external Bluetooth Host" default 0 depends on SPI && BT_HCI_RAW help This option specifies the IRQ line number to be used to notify 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