# ST Microelectronics STM32F4 MCU line

# Copyright (c) 2016 Linaro Limited
# SPDX-License-Identifier: Apache-2.0

# Kconfig symbols common to STM32F4 series

if SOC_SERIES_STM32F4X

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

config SOC_SERIES
	default "stm32f4"

if GPIO_STM32

# GPIO ports A, B and C are set in ../common/Kconfig.defconfig.series

config GPIO_STM32_PORTD
	default y

config GPIO_STM32_PORTE
	default y

config GPIO_STM32_PORTH
	default y

endif # GPIO_STM32

if I2C_STM32

config I2C_STM32_V1
	default y

endif # I2C_STM32

if DMA

config DMA_STM32F4X
	default y

endif # DMA

endif # SOC_SERIES_STM32F4X
