blob: 322324818a20aaa17706a919d862090ba48d68e7 [file] [log] [blame]
# Kconfig - Bluetooth LE driver configuration options
#
# Copyright (c) 2015-2016 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
# Bluetooth options
#
if BLUETOOTH
menu "Bluetooth Drivers"
if BLUETOOTH_STACK_HCI
comment "Bluetooth HCI Driver Options"
config BLUETOOTH_UART
bool
default n
choice
prompt "Bluetooth HCI driver"
default BLUETOOTH_H4
config BLUETOOTH_H4
bool "H:4 UART"
select SERIAL
select UART_INTERRUPT_DRIVEN
select BLUETOOTH_UART
select BLUETOOTH_HOST_BUFFERS
help
Bluetooth H:4 UART driver. Requires hardware flow control
lines to be available.
config BLUETOOTH_H5
bool "H:5 UART [EXPERIMENTAL]"
select SERIAL
select UART_INTERRUPT_DRIVEN
select BLUETOOTH_UART
select BLUETOOTH_HOST_BUFFERS
select NANO_WORKQUEUE
select SYSTEM_WORKQUEUE
help
Bluetooth three-wire (H:5) UART driver. Implementation of HCI
Three-Wire UART Transport Layer.
config BLUETOOTH_NO_DRIVER
bool "No default HCI driver"
help
This is intended for unit tests where no internal driver
should be selected.
endchoice
config BLUETOOTH_HOST_BUFFERS
bool "Host managed incoming data buffers"
default n
help
Enable this to have the host stack manage incoming ACL data
and HCI event buffers. This makes sense for all HCI drivers
that talk to a controller running on a different CPU.
If the controller resides in the same address space it may
make sense to have the lower layers manage these buffers, in
which case this option can be left disabled.
config BLUETOOTH_DEBUG_DRIVER
bool "Bluetooth driver debug"
depends on BLUETOOTH_DEBUG && BLUETOOTH_UART
default n
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.
# Headroom that the driver needs for sending and receiving buffers.
# Add a new 'default' entry for each new driver.
# Needed headroom for outgoing buffers (to controller)
config BLUETOOTH_HCI_SEND_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
# Needed headroom for incoming buffers (from controller)
config BLUETOOTH_HCI_RECV_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 0 if BLUETOOTH_H5
endif # BLUETOOTH_STACK_HCI
source "drivers/bluetooth/nble/Kconfig"
config BLUETOOTH_NRF51_PM
bool "nRF51 Power Management [EXPERIMENTAL]"
depends on BLUETOOTH_H4 || NBLE
help
Power Management support for Nordic BLE nRF51 chip. Allows to enable,
disable the chip and handle wakeups.
config BLUETOOTH_WAIT_NOP
bool "Wait for \"NOP\" Command Complete event during init"
help
Some controllers emit a Command Complete event for the NOP
opcode to indicate that they're ready to receive commands.
This option should be selected if the controller used
exhibits such behavior.
endmenu
endif # BLUETOOTH