# Kconfig - Bluetooth LE driver configuration options

#
# Copyright (c) 2015-2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

#
# Bluetooth 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 BT && ! BT_CTLR

menu "Bluetooth Drivers"

if BT_HCI
source "drivers/bluetooth/hci/Kconfig"
endif

if BT_CUSTOM
# Insert here any custom (non-HCI) offload drives
endif

config BT_NRF51_PM
	bool "nRF51 Power Management [EXPERIMENTAL]"
	depends on BT_H4
	help
	  Power Management support for Nordic BLE nRF51 chip. Allows to enable,
	  disable the chip and handle wakeups.

endmenu

endif # BT && ! BT_CTLR
