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