# Kconfig - STM32 Minimum Development Board Configuration
#
# Copyright (c) 2017, embedjournal.com
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_STM32_MIN_DEV_BLUE || BOARD_STM32_MIN_DEV_BLACK

config BOARD
	default "stm32_min_dev_blue" if BOARD_STM32_MIN_DEV_BLUE
	default "stm32_min_dev_black" if BOARD_STM32_MIN_DEV_BLACK

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 PWM

config PWM_STM32_1
	default y

endif # PWM

if SPI

config SPI_1
	default y

config SPI_2
	default y

endif # SPI

endif # BOARD_STM32_MIN_DEV_BLUE || BOARD_STM32_MIN_DEV_BLACK
