# ST Microelectronics STM32H7 MCU line

# Copyright (c) 2019 Linaro Limited
# Copyright (c) 2020 Teslabs Engineering S.L.
# Copyright (c) 2021 Electrolance Solutions
# SPDX-License-Identifier: Apache-2.0

config STM32H7_DUAL_CORE
	bool "Dual Core"
	depends on SOC_SERIES_STM32H7X

choice
	prompt "STM32H7x MCU Selection"
	depends on SOC_SERIES_STM32H7X

config SOC_STM32H723XX
	bool "STM32H723XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H725XX
	bool "STM32H725XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H730XX
	bool "STM32H730XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H730XXQ
	bool "STM32H730XXQ"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H735XX
	bool "STM32H735XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H743XX
	bool "STM32H743XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H745XX
	bool "STM32H745XX"
	select CPU_HAS_FPU_DOUBLE_PRECISION if CPU_CORTEX_M7
	select CPU_HAS_ICACHE if CPU_CORTEX_M7
	select CPU_HAS_DCACHE if CPU_CORTEX_M7
	select STM32H7_DUAL_CORE

config SOC_STM32H747XX
	bool "STM32H747XX"
	select CPU_HAS_FPU_DOUBLE_PRECISION if CPU_CORTEX_M7
	select CPU_HAS_ICACHE if CPU_CORTEX_M7
	select CPU_HAS_DCACHE if CPU_CORTEX_M7
	select STM32H7_DUAL_CORE

config SOC_STM32H750XX
	bool "STM32H750XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H753XX
	bool "STM32H753XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7A3XX
	bool "STM32H7A3XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7A3XXQ
	bool "STM32H7A3XXQ"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7B0XX
	bool "STM32H7B0XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7B0XXQ
	bool "STM32H7B0XXQ"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7B3XX
	bool "STM32H7B3XX"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7B3XXQ
	bool "STM32H7B3XXQ"
	select CPU_CORTEX_M7
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

endchoice

config STM32H7_BOOT_M4_AT_INIT
	bool "Boot M4 core during M7 init independent of option byte BCM4."
	default y
