# STM32F469I-DISCO board configuration

# Copyright (c) 2016 Linaro Limited.
# SPDX-License-Identifier: Apache-2.0

if BOARD_STM32F469I_DISCO

config BOARD
	default "stm32f469i_disco"

if UART_CONSOLE

config UART_3
	default y

endif # UART_CONSOLE

if SERIAL

config UART_6
	default y

endif # SERIAL

if SPI

config SPI_STM32_INTERRUPT
	default y

config SPI_2
	default y

endif # SPI

if I2C

config I2C_1
	default y

endif # I2C

endif # BOARD_STM32F469I_DISCO
