| # Bluetooth drivers configuration options |
| |
| # Copyright (c) 2016 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| comment "Bluetooth HCI Driver Options" |
| |
| config BT_UART |
| bool |
| |
| choice BT_HCI_BUS_TYPE |
| prompt "Bluetooth HCI driver" |
| |
| config BT_H4 |
| bool "H:4 UART" |
| select UART_INTERRUPT_DRIVEN |
| select BT_UART |
| select BT_RECV_IS_RX_THREAD |
| depends on SERIAL |
| help |
| Bluetooth H:4 UART driver. Requires hardware flow control |
| lines to be available. |
| |
| config BT_H5 |
| bool "H:5 UART [EXPERIMENTAL]" |
| select UART_INTERRUPT_DRIVEN |
| select BT_UART |
| depends on SERIAL |
| help |
| Bluetooth three-wire (H:5) UART driver. Implementation of HCI |
| Three-Wire UART Transport Layer. |
| |
| config BT_RPMSG |
| bool "HCI using RPMsg" |
| help |
| Bluetooth HCI driver for communication with another CPU |
| using RPMsg framework. |
| |
| config BT_SPI |
| bool "SPI HCI" |
| depends on 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_STLIB |
| help |
| TODO |
| |
| 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_NO_DRIVER |
| bool "No default HCI driver" |
| help |
| This is intended for unit tests where no internal driver |
| should be selected. |
| |
| endchoice |
| |
| # Workaround for not being able to have commas in macro arguments |
| DT_CHOSEN_Z_BT_UART := zephyr,bt-uart |
| |
| config BT_UART_ON_DEV_NAME |
| string "Device Name of UART Device for Bluetooth" |
| default "$(dt_chosen_label,$(DT_CHOSEN_Z_BT_UART))" if HAS_DTS |
| default "UART_0" |
| depends on BT_UART |
| help |
| This option specifies the name of UART device to be used |
| for Bluetooth. |
| |
| if BT_SPI |
| |
| config BT_BLUENRG_ACI |
| bool "Enable ACI message with with BlueNRG-based devices" |
| help |
| Enable support for devices compatible with the BlueNRG Bluetooth |
| Stack. Current driver supports: ST BLUENRG-MS. |
| |
| config BT_SPI_BLUENRG |
| bool "Enable compatibility with BlueNRG-based devices" |
| help |
| Enable support for devices compatible with the BlueNRG Bluetooth |
| Stack. Current driver supports: ST BLUENRG-MS. |
| |
| endif # BT_SPI |
| |
| config BT_RPMSG_NRF53 |
| bool "nRF53 configuration of RPMsg" |
| default y if (BOARD_NRF5340_DK_NRF5340_CPUAPP || BOARD_NRF5340_DK_NRF5340_CPUAPPNS) |
| depends on BT_RPMSG |
| select IPM |
| select IPM_NRFX |
| select IPM_MSG_CH_1_ENABLE |
| select IPM_MSG_CH_0_ENABLE |
| select IPM_MSG_CH_0_TX |
| select IPM_MSG_CH_1_RX |
| select OPENAMP |
| help |
| Enable RPMsg configuration for nRF53. Two channels of the IPM driver |
| are used in the HCI driver: channel 0 for TX and channel 1 for RX. |
| |
| if BT_RPMSG_NRF53 |
| |
| config BT_RPMSG_NRF53_RX_STACK_SIZE |
| int "RPMsg stack size for RX thread" |
| default 1024 |
| |
| config BT_RPMSG_NRF53_RX_PRIO |
| int "RPMsg RX thread priority" |
| default 8 |
| |
| endif # BT_RPMSG_NRF53 |