# Kconfig - 96Boards STM32 Sensor Mezzanine board configuration
#
# Copyright (c) 2018 Linaro Limited.
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_96B_STM32_SENSOR_MEZ

config BOARD
	default "96b_stm32_sensor_mez"

if UART_CONSOLE

config UART_4
	default y

endif # UART_CONSOLE

if I2C

config I2C_1
	default y

config I2C_2
	default y

config I2C_STM32_INTERRUPT
	default y

endif # I2C

if SPI

config SPI_1
	default y

config SPI_2
	default y

config SPI_STM32_INTERRUPT
	default y

endif # SPI

if PWM

config PWM_STM32_3
	default y

config PWM_STM32_4
	default y

config PWM_STM32_9
	default y

endif # PWM

endif # BOARD_96B_STM32_SENSOR_MEZ
