| # Bluetooth drivers configuration options |
| |
| # Copyright (c) 2016 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| comment "Bluetooth HCI Driver Options" |
| |
| config BT_UART |
| bool |
| select SERIAL |
| select UART_INTERRUPT_DRIVEN |
| |
| |
| choice BT_HCI_BUS_TYPE |
| prompt "Bluetooth HCI driver" |
| |
| config BT_H4 |
| bool "H:4 UART" |
| select BT_UART |
| help |
| Bluetooth H:4 UART driver. Requires hardware flow control |
| lines to be available. |
| |
| config BT_H5 |
| bool "H:5 UART [EXPERIMENTAL]" |
| select BT_UART |
| select EXPERIMENTAL |
| help |
| Bluetooth three-wire (H:5) UART driver. Implementation of HCI |
| Three-Wire UART Transport Layer. |
| |
| # Removed: Here only to give the user a warning about its removal |
| # Remove after 3.7.0 is released |
| config BT_RPMSG |
| bool "[REMOVED] HCI using RPMsg" |
| help |
| Use BT_HCI_IPC instead |
| |
| config BT_HCI_IPC |
| bool "HCI using the IPC subsystem" |
| select BT_HAS_HCI_VS |
| select IPC_SERVICE |
| select MBOX |
| help |
| Bluetooth HCI driver for communication with another CPU |
| using the IPC subsystem. |
| |
| config BT_SPI |
| bool "SPI HCI" |
| select SPI |
| help |
| Supports Bluetooth ICs using SPI as the communication protocol. |
| HCI packets are sent and received as single Byte transfers, |
| prepended after a known header. Headers may vary per device, so |
| additional platform specific knowledge may need to be added as |
| devices are. |
| |
| config BT_STM32_IPM |
| bool "IPM HCI" |
| select USE_STM32_HAL_CORTEX |
| select HAS_STM32LIB |
| help |
| TODO |
| |
| config BT_STM32WBA |
| bool "STM32WBA HCI driver" |
| select HAS_STM32LIB |
| help |
| ST STM32WBA HCI Bluetooth interface |
| |
| config BT_SILABS_HCI |
| bool "Silicon Labs Bluetooth interface" |
| depends on SOC_SERIES_EFR32BG22 || SOC_SERIES_EFR32MG24 || SOC_SERIES_EFR32BG27 |
| depends on !PM || SOC_GECKO_PM_BACKEND_PMGR |
| select SOC_GECKO_USE_RAIL |
| select ENTROPY_GENERATOR |
| select MBEDTLS |
| select MBEDTLS_PSA_CRYPTO_C |
| select MBEDTLS_ENTROPY_ENABLED |
| select MBEDTLS_ZEPHYR_ENTROPY |
| help |
| Use Silicon Labs binary Bluetooth library to connect to the |
| controller. |
| |
| config BT_USERCHAN |
| bool "HCI User Channel based driver" |
| depends on BOARD_NATIVE_POSIX |
| help |
| This driver provides access to the local Linux host's Bluetooth |
| adapter using a User Channel HCI socket to the Linux kernel. It |
| is only intended to be used with the native POSIX build of Zephyr. |
| The Bluetooth adapter must be powered off in order for Zephyr to |
| be able to use it. |
| |
| config BT_ESP32 |
| bool "ESP32 HCI driver" |
| help |
| Espressif HCI bluetooth interface |
| |
| config BT_B91 |
| bool "Telink B91 HCI driver" |
| help |
| Telink B91 HCI bluetooth interface |
| |
| config BT_PSOC6_BLESS |
| bool "PSOC6 BLESS driver" |
| select BT_HCI_SETUP |
| help |
| PSOC6 BLESS driver with BLE Controller which operates in |
| Single CPU mode. |
| |
| config BT_NO_DRIVER |
| bool "No default HCI driver" |
| select BT_HAS_HCI_VS |
| help |
| This is intended for unit tests where no internal driver |
| should be selected. |
| |
| config BT_AMBIQ_HCI |
| bool "AMBIQ BT HCI driver" |
| select SPI |
| select GPIO |
| select CLOCK_CONTROL |
| select BT_HCI_SETUP |
| help |
| Supports Ambiq Bluetooth SoC using SPI as the communication protocol. |
| HCI packets are sent and received as single Byte transfers. |
| |
| endchoice |
| |
| if BT_SPI |
| |
| config BT_SPI_INIT_PRIORITY |
| int "BT SPI init priority" |
| default 75 |
| |
| config BT_BLUENRG_ACI |
| bool "ACI message with with BlueNRG-based devices" |
| select BT_HCI_SET_PUBLIC_ADDR |
| help |
| Enable support for devices compatible with the BlueNRG Bluetooth |
| Stack. Current driver supports: ST BLUENRG-MS. |
| |
| endif # BT_SPI |
| |
| if BT_AMBIQ_HCI |
| |
| config BT_HCI_INIT_PRIORITY |
| int "BT HCI init priority" |
| default 75 |
| help |
| The priority of BT HCI driver initialization needs to be lower than |
| the SPI, GPIO, clock controller drivers initialization priorities. |
| |
| endif # BT_AMBIQ_HCI |
| |
| config BT_STM32_IPM_RX_STACK_SIZE |
| int "STM32 IPM stack size for RX thread" |
| depends on BT_STM32_IPM |
| default 512 |
| |
| menuconfig BT_AIROC |
| bool "AIROC BT connectivity" |
| default y |
| select BT_HCI_SETUP |
| select UART_USE_RUNTIME_CONFIGURE |
| depends on GPIO |
| depends on DT_HAS_INFINEON_CYW43XXX_BT_HCI_ENABLED |
| depends on BT_H4 |
| help |
| Infineon's AIROC™ Wi-Fi & combos portfolio integrates |
| IEEE 802.11a/b/g/n/ac/ax Wi-Fi and Bluetooth® 5.2 in a single-chip |
| solution to enable small-form-factor IoT designs. |
| source "drivers/bluetooth/hci/Kconfig.infineon" |
| |
| config BT_DRIVER_QUIRK_NO_AUTO_DLE |
| bool "Host auto-initiated Data Length Update quirk" |
| depends on BT_AUTO_DATA_LEN_UPDATE |
| default y if BT_HCI_IPC || BT_ESP32 |
| help |
| Enable the quirk wherein BT Host stack will auto-initiate Data Length |
| Update procedure for new connections for controllers that do not |
| auto-initiate the procedure if the default data length parameters are |
| not equal to the initial parameters. |
| |
| This has to be enabled when the BLE controller connected is Zephyr |
| open source controller. |
| |
| config BT_HCI_SET_PUBLIC_ADDR |
| bool |
| select BT_HCI_SETUP |
| help |
| Pass the controller's public address to the HCI driver in setup() |
| |
| This option should be enabled by drivers for controllers that support setting the |
| public identity through vendor-specific commands. They can then implement the |
| setup() HCI driver API function and get the address to set from the public_addr field. |
| |
| From the application side, the public address is set using the first call to |
| bt_id_create(), before calling bt_enable(). |
| |
| config BT_HCI_SETUP |
| bool |
| help |
| Enable the HCI vendor-specific Setup function. |
| |
| This option has to be enabled when the BT Controller requires execution |
| of the vendor-specific commands sequence to initialize the BT Controller |
| before the BT Host executes a Reset sequence. |
| |
| The user should generally avoid changing it via menuconfig or in |
| configuration files. This option are enabled by the vendor-specific |
| HCI extension, where the Setup function is implemented. |
| |
| config BT_DRV_TX_STACK_SIZE |
| int |
| default 256 |
| help |
| Stack size for the HCI driver's TX thread. |
| |
| config BT_DRV_RX_STACK_SIZE |
| int |
| default 640 if (BT_SPI || BT_AMBIQ_HCI) |
| default BT_RX_STACK_SIZE if (BT_H4 || BT_HCI_RAW_H4) |
| default BT_STM32_IPM_RX_STACK_SIZE if BT_STM32_IPM |
| default 256 |
| help |
| Stack size for the HCI driver's RX thread. |
| |
| config BT_SILABS_HCI_BUFFER_MEMORY |
| int "Silicon Labs Bluetooth Library memory buffer size" |
| depends on BT_SILABS_HCI |
| default 6144 |
| help |
| Select the size of allocated memory buffer for the Silicon Labs |
| Bluetooth Library. |