# STM32G431RB Nucleo board configuration

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

if BOARD_NUCLEO_G431RB

config SPI_STM32_INTERRUPT
	default y
	depends on SPI

endif # BOARD_NUCLEO_G431RB
