# Kconfig -  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_STM32_PORT_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_STM32_INTERRUPT
	default y

endif # SPI

endif # BOARD_NUCLEO_F070RB
