# ST Microelectronics STM32H7 MCU line

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

# Kconfig symbols common to STM32H7 series

if SOC_SERIES_STM32H7X

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

config SOC_SERIES
	default "stm32h7"

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_PORTF
	default y

config GPIO_STM32_PORTG
	default y

config GPIO_STM32_PORTH
	default y

config GPIO_STM32_PORTI
	default y

config GPIO_STM32_PORTJ
	default y

config GPIO_STM32_PORTK
	default y

endif # GPIO_STM32

endif # SOC_SERIES_STM32H7X
