# SENSORTILE_BOX_PRO board configuration

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

if BOARD_SENSORTILE_BOX_PRO

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

endif # BT

config SPI_STM32_INTERRUPT
	default y
	depends on SPI

if LOG

# Logger cannot use itself to log
choice USB_CDC_ACM_LOG_LEVEL_CHOICE
	default USB_CDC_ACM_LOG_LEVEL_OFF
endchoice

endif # LOG

endif # BOARD_SENSORTILE_BOX_PRO
