# 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"

config ROM_START_OFFSET
	default 0x400 if BOOTLOADER_MCUBOOT
	default 0x0   if !BOOTLOADER_MCUBOOT

if ENTROPY_GENERATOR

config ENTROPY_STM32_RNG
	default y

endif # ENTROPY_GENERATOR

endif # SOC_SERIES_STM32H7X
