# Copyright (c) 2019 Oticon A/S
# SPDX-License-Identifier: Apache-2.0

CONFIG_BT=y
CONFIG_BT_SMP=y
CONFIG_BT_SIGNING=y
CONFIG_BT_TINYCRYPT_ECC=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_ATT_PREPARE_COUNT=2
CONFIG_BT_PRIVACY=y
CONFIG_BT_DEVICE_NAME="Test Database"
CONFIG_BT_DEVICE_APPEARANCE=833
CONFIG_BT_GATT_DYNAMIC_DB=y

CONFIG_BT_CTLR=y
CONFIG_BT_LL_SW_SPLIT=y

CONFIG_BT_HCI_ACL_FLOW_CONTROL=y
CONFIG_BT_BUF_ACL_RX_SIZE=516
CONFIG_BT_L2CAP_TX_MTU=512
CONFIG_BT_DEBUG_LOG=y

# NOTE: In order to get ACL_FLOW_CONTROL to work it is imperative that
# BT_CTRL_RX_BUFFERS is increased from its default value of 1.
CONFIG_BT_CTLR_RX_BUFFERS=3

# To make DEVICE Name writable...
CONFIG_BT_DEVICE_NAME_DYNAMIC=y

CONFIG_BT_LL_SW_LLCP=y
