# NUCLEO_F070RB board configuration

# Copyright (c) 2018 qianfan Zhao
# SPDX-License-Identifier: Apache-2.0

if BOARD_NUCLEO_F070RB

config BOARD
	default "nucleo_f070rb"

if UART_CONSOLE

config UART_2
	default y

endif # UART_CONSOLE

if I2C

config I2C_1
	default y

config I2C_2
	default y

endif # I2C

if SPI

config SPI_1
	default y

config SPI_2
	default y

config SPI_STM32_INTERRUPT
	default y

endif # SPI

endif # BOARD_NUCLEO_F070RB
