# NUCLEO-64 F411RE board configuration

# Copyright (c) 2016 Matthias Boesl
# SPDX-License-Identifier: Apache-2.0

if BOARD_NUCLEO_F411RE

config BOARD
	default "nucleo_f411re"

if UART_CONSOLE

config UART_2
	default y

endif # UART_CONSOLE

if I2C

config I2C_1
	default y

endif # I2C

if SPI

config SPI_1
	default y

config SPI_STM32_INTERRUPT
	default y

endif # SPI

endif # BOARD_NUCLEO_F411RE
