# OLIMEXINO-STM32 board configuration

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

if BOARD_OLIMEXINO_STM32

config BOARD
	default "olimexino_stm32"

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_STM32_INTERRUPT
	default y

config SPI_1
	default y

config SPI_2
	default y

endif # SPI

if PWM

config PWM_STM32_1
	default y

endif # PWM

if CAN

config CAN_1
	default y

endif # CAN

endif # BOARD_OLIMEXINO_STM32
