# SensorTile.box board configuration

# Copyright (c) 2019 STMicroelectronics
# SPDX-License-Identifier: Apache-2.0

if BOARD_SENSORTILE_BOX

if BT

config SPI
	default y

choice BT_HCI_BUS_TYPE
	default BT_SPI
endchoice

config BT_BLUENRG_ACI
	default y
# Disable Flow control
config BT_HCI_ACL_FLOW_CONTROL
	default n
config BT_HCI_VS_EXT
	default n

endif # BT

config SPI_STM32_INTERRUPT
	default y
	depends on SPI

endif # BOARD_SENSORTILE_BOX
