# STM32F746G DISCOVERY board configuration

# Copyright (c) 2018 Yurii Hamann
# SPDX-License-Identifier: Apache-2.0

if BOARD_STM32F746G_DISCO

config BOARD
	default "stm32f746g_disco"

if UART_CONSOLE

config UART_1
	default y

endif # UART_CONSOLE

if NETWORKING

config NET_L2_ETHERNET
	default y

config ETH_STM32_HAL
	default y

endif # NETWORKING

if SERIAL

config UART_6
	default y

endif # SERIAL

if I2C

config I2C_1
	default y

endif # I2C

if SPI

config SPI_2
	default y

endif # SPI

if PWM

config PWM_STM32_1
	default y

endif # PWM

endif # BOARD_STM32F746G_DISCO
