# STM32L562E-DK Discovery board configuration

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

if BOARD_STM32L562E_DK

config BOARD
	default "stm32l562e_dk"

if BT

config SPI
	default y

choice BT_HCI_BUS_TYPE
	default BT_SPI
endchoice

config BT_SPI_BLUENRG
	default y

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

if TRUSTED_EXECUTION_NONSECURE

# Get flash configuration for NS image from dts flash partition
config USE_DT_CODE_PARTITION
	default y

endif # TRUSTED_EXECUTION_NONSECURE

endif # BOARD_STM32L562E_DK
