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

endif # UART_CONSOLE

if I2C

config I2C_2
	default y

endif # I2C

if SPI

config SPI_STM32_INTERRUPT
	default y

config SPI_1
	default y

endif # SPI

if PWM

config PWM_STM32_1
	default y

endif # PWM

endif # BOARD_OLIMEXINO_STM32
