# Kconfig.defconfig.series - ST Microelectronics STM32F4 MCU line
#
# Copyright (c) 2016 Linaro Limited
#
# SPDX-License-Identifier: Apache-2.0
#

if SOC_SERIES_STM32F4X

source "arch/arm/soc/st_stm32/stm32f4/Kconfig.defconfig.stm32f4*"

config SOC_SERIES
	default stm32f4

config SERIAL
	def_bool y

if SERIAL

config CONSOLE
	def_bool y

config UART_CONSOLE
	def_bool y

config UART_STM32
	def_bool y

config UART_STM32_PORT_1
	def_bool y

config UART_STM32_PORT_1_NAME
	default UART_1

config UART_STM32_PORT_2
	def_bool y

config UART_STM32_PORT_2_NAME
	default UART_2

endif #SERIAL

if CLOCK_CONTROL

config CLOCK_CONTROL_STM32F4X
	def_bool y

endif #CLOCK_CONTROL

if GPIO

config GPIO_STM32
	def_bool y

config GPIO_STM32_PORTA
	def_bool y

config GPIO_STM32_PORTB
	def_bool y

config GPIO_STM32_PORTC
	def_bool y

endif #GPIO

if PINMUX

config PINMUX_STM32
	def_bool y

endif #PINMUX

endif # SOC_SERIES_STM32F4X
