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

# adjust the fallback because of the LSI oscaillator characteristics
config TASK_WDT_HW_FALLBACK_DELAY
	depends on TASK_WDT_HW_FALLBACK
	default 200

config PM
	select COUNTER
	select COUNTER_RTC_STM32_SUBSECONDS

endif # SOC_SERIES_STM32F4X
