# 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 I2S

config I2S_STM32
	default y

# configure PLLI2S to generate a I2SxCLK=128MHz
config I2S_STM32_USE_PLLI2S_ENABLE
	default y

config I2S_STM32_PLLI2S_PLLM
	default 8

config I2S_STM32_PLLI2S_PLLN
	default 192

config I2S_STM32_PLLI2S_PLLR
	default 3

config I2S_2
	default y

endif # I2S

if SPI

config SPI_1
	default y

config SPI_2
	default y

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