# B_U585I_IOT02A discovery kit board configuration

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

if BOARD_B_U585I_IOT02A

config BOARD
	default "b_u585i_iot02a"

config SPI_STM32_INTERRUPT
	default y
	depends on SPI

choice STM32_LPTIM_CLOCK
	default STM32_LPTIM_CLOCK_LSE
	depends on STM32_LPTIM_TIMER
endchoice

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

endif # BOARD_B_U585I_IOT02A
