# STM32F3DISCOVERY board configuration

# Copyright (c) 2017 I-SENSE group of ICCS
# SPDX-License-Identifier: Apache-2.0

if BOARD_STM32F3_DISCO

config BOARD
	default "stm32f3_disco"

if UART_CONSOLE

config UART_1
	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

endif # SPI

endif # BOARD_STM32F3_DISCO
