# Kconfig - NUCLEO-144 F413ZH board configuration
#
# Copyright (c) 2017 Florian Vaussard, HEIG-VD
#
# SPDX-License-Identifier: Apache-2.0
#

if BOARD_NUCLEO_F413ZH

config BOARD
	default "nucleo_f413zh"


if UART_CONSOLE

config UART_3
	default y

endif # UART_CONSOLE

if SERIAL

config UART_6
	default y

endif # SERIAL

if I2C

config I2C_1
	default y

endif # I2C

if SPI

config SPI_1
	default y

endif # SPI

if NETWORKING

config USB
	default y

config USB_DEVICE_STACK
	default y

config USB_DEVICE_NETWORK_ECM
	default y

endif # NETWORKING

if PWM

config PWM_STM32_2
	default y

endif # PWM

endif # BOARD_NUCLEO_F413ZH
