# Kconfig - 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_SPI bool "SPI HCI" select BT_RECV_IS_RX_THREAD 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_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 if !HAS_DTS config BT_UART_ON_DEV_NAME string "Device Name of UART Device for Bluetooth" default "UART_0" depends on BT_UART help This option specifies the name of UART device to be used for Bluetooth. endif config BT_SPI_DEV_NAME string "Device Name of SPI Device for Bluetooth" default "SPI_0" depends on BT_SPI && !HAS_DTS_SPI help This option specifies the name of SPI device to be used for Bluetooth. On the controller side, this SPI device is used to encapsulate the RAW HCI frames to send further up the stack. On the BLE stack side, this device is used to reply back with HCI frames that are sent over the air. 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. if !HAS_DTS_SPI config BT_SPI_CHIP_SELECT_DEV_NAME string "Chip Select (CS) line driver name" depends on BT_SPI_BLUENRG help This option specifies the name of GPIO driver controlling the Chip Select (CS) line. config BT_SPI_IRQ_DEV_NAME string "IRQ line driver name" help This option specifies the name of GPIO driver controlling the chip's IRQ line. config BT_SPI_RESET_DEV_NAME string "Reset line driver name" help This option specifies the name of GPIO driver controlling the chip's Reset line. config BT_SPI_CHIP_SELECT_PIN int "SPI Chip Select (CS) line number" depends on BT_SPI_BLUENRG help This option specifies the Chip Select (CS) line number on the SPI device config BT_SPI_IRQ_PIN int "SPI IRQ line number" help This option specifies the IRQ line number on the SPI device config BT_SPI_RESET_PIN int "SPI Reset line number" help This option specifies the Reset line number on the SPI device endif # !HAS_DTS_SPI config BT_SPI_MAX_CLK_FREQ int "Maximum clock frequency for the HCI SPI interface" default 5000000 depends on !HAS_DTS_SPI help This option specifies the maximum clock rate the HCI SPI interface is capable of running at. endif # BT_SPI