# STM32G431RB Nucleo board configuration

# Copyright (c) 2019 Richard Osterloh <richard.osterloh@gmail.com>
# SPDX-License-Identifier: Apache-2.0

if BOARD_NUCLEO_G431RB

config BOARD
	default "nucleo_g431rb"

if UART_CONSOLE

config LPUART_1
	default y

endif # UART_CONSOLE

if I2C

config I2C_1
	default y

endif # I2C

if PWM

config PWM_STM32_2
	default y

endif # PWM

if SPI

config SPI_1
	default y

config SPI_STM32_INTERRUPT
	default y

endif # SPI

endif # BOARD_NUCLEO_G431RB
