# B_L4S5I_IOT01A discovery kit board configuration

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

if BOARD_B_L4S5I_IOT01A

config SPI_STM32_INTERRUPT
	default y
	depends on SPI

choice LIS3MDL_TRIGGER_MODE
	default LIS3MDL_TRIGGER_NONE
endchoice

choice HTS221_TRIGGER_MODE
	default HTS221_TRIGGER_NONE
endchoice

choice LSM6DSL_TRIGGER_MODE
	default LSM6DSL_TRIGGER_GLOBAL_THREAD
	depends on LSM6DSL
endchoice

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

endif # BOARD_B_L4S5I_IOT01A
