# 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

choice
	prompt "STM32H7x MCU Selection"
	depends on SOC_SERIES_STM32H7X

config SOC_STM32H723XX
	bool "STM32H723XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H725XX
	bool "STM32H725XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H730XX
	bool "STM32H730XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H735XX
	bool "STM32H735XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H743XX
	bool "STM32H743XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H745XX
	bool "STM32H745XX"
	select CPU_HAS_FPU_DOUBLE_PRECISION if CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE if CPU_CORTEX_M7

config SOC_STM32H747XX
	bool "STM32H747XX"
	select CPU_HAS_FPU_DOUBLE_PRECISION if CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE if CPU_CORTEX_M7

config SOC_STM32H750XX
	bool "STM32H750XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H753XX
	bool "STM32H753XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7A3XX
	bool "STM32H7A3XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7A3XXQ
	bool "STM32H7A3XXQ"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7B3XX
	bool "STM32H7B3XX"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

config SOC_STM32H7B3XXQ
	bool "STM32H7B3XXQ"
	select CPU_CORTEX_M7
	select CPU_CORTEX_M_HAS_CACHE
	select CPU_HAS_FPU_DOUBLE_PRECISION

endchoice
