# Kconfig - Bluetooth drivers configuration options # # Copyright (c) 2016 Intel Corporation # # SPDX-License-Identifier: Apache-2.0 # comment "Bluetooth HCI Driver Options" # Controller support is an HCI driver in itself, so these HCI driver # options are only applicable if controller support hasn't been enabled. if !BLUETOOTH_CONTROLLER config BLUETOOTH_UART bool choice prompt "Bluetooth HCI driver" default BLUETOOTH_H4 config BLUETOOTH_H4 bool "H:4 UART" select UART_INTERRUPT_DRIVEN select BLUETOOTH_UART select BLUETOOTH_RECV_IS_RX_THREAD depends on SERIAL help Bluetooth H:4 UART driver. Requires hardware flow control lines to be available. config BLUETOOTH_H5 bool "H:5 UART [EXPERIMENTAL]" select UART_INTERRUPT_DRIVEN select BLUETOOTH_UART depends on SERIAL help Bluetooth three-wire (H:5) UART driver. Implementation of HCI Three-Wire UART Transport Layer. config BLUETOOTH_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 transferrs, prepended after a known header. Headers may vary per device, so additional platform specific knowlege may need to be added as devices are. config BLUETOOTH_NO_DRIVER bool "No default HCI driver" help This is intended for unit tests where no internal driver should be selected. endchoice endif # !BLUETOOTH_CONTROLLER config BLUETOOTH_DEBUG_HCI_DRIVER bool "Bluetooth HCI driver debug" depends on BLUETOOTH_DEBUG help This option enables debug support for the chosen Bluetooth HCI driver config BLUETOOTH_UART_ON_DEV_NAME string "Device Name of UART Device for Bluetooth" default "UART_0" depends on BLUETOOTH_UART help This option specifies the name of UART device to be used for Bluetooth. config BLUETOOTH_SPI_DEV_NAME string "Device Name of SPI Device for Bluetooth" default "SPI_0" depends on BLUETOOTH_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. # Headroom that the driver needs for sending and receiving buffers. # Add a new 'default' entry for each new driver. config BLUETOOTH_HCI_RESERVE int # Even if no driver is selected the following default is still # needed e.g. for unit tests. default 0 default 0 if BLUETOOTH_H4 default 1 if BLUETOOTH_H5 default 1 if BLUETOOTH_SPI if BLUETOOTH_SPI config BLUETOOTH_SPI_BLUENRG bool "Enable compatibility with BlueNRG-based devices" default n help Enable support for devices compatible with the BlueNRG Bluetooth Stack. Current driver supports: ST X-NUCLEO BLE series. config BLUETOOTH_SPI_CHIP_SELECT_DEV_NAME string "Chip Select (CS) line driver name" depends on BLUETOOTH_SPI_BLUENRG help This option specifies the name of GPIO driver controlling the Chip Select (CS) line. config BLUETOOTH_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 BLUETOOTH_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 BLUETOOTH_SPI_CHIP_SELECT_PIN int "SPI Chip Select (CS) line number" depends on BLUETOOTH_SPI_BLUENRG help This option specifies the Chip Select (CS) line number on the SPI device config BLUETOOTH_SPI_IRQ_PIN int "SPI IRQ line number" help This option specifies the IRQ line number on the SPI device config BLUETOOTH_SPI_RESET_PIN int "SPI Reset line number" help This option specifies the Reset line number on the SPI device config BLUETOOTH_SPI_MAX_CLK_FREQ int "Maximum clock frequency for the HCI SPI interface" default 5000000 help This option specifies the maximum clock rate the HCI SPI interface is capable of running at. endif # BLUETOOTH_SPI