1# ST Microelectronics STM32H7 MCU line
2
3# Copyright (c) 2019 Linaro Limited
4# Copyright (c) 2020 Teslabs Engineering S.L.
5# Copyright (c) 2021 Electrolance Solutions
6# SPDX-License-Identifier: Apache-2.0
7
8config STM32H7_DUAL_CORE
9	bool "Dual Core"
10	depends on SOC_SERIES_STM32H7X
11
12choice
13	prompt "STM32H7x MCU Selection"
14	depends on SOC_SERIES_STM32H7X
15
16config SOC_STM32H723XX
17	bool "STM32H723XX"
18	select CPU_CORTEX_M7
19	select CPU_HAS_ICACHE
20	select CPU_HAS_DCACHE
21	select CPU_HAS_FPU_DOUBLE_PRECISION
22
23config SOC_STM32H725XX
24	bool "STM32H725XX"
25	select CPU_CORTEX_M7
26	select CPU_HAS_ICACHE
27	select CPU_HAS_DCACHE
28	select CPU_HAS_FPU_DOUBLE_PRECISION
29
30config SOC_STM32H730XX
31	bool "STM32H730XX"
32	select CPU_CORTEX_M7
33	select CPU_HAS_ICACHE
34	select CPU_HAS_DCACHE
35	select CPU_HAS_FPU_DOUBLE_PRECISION
36
37config SOC_STM32H730XXQ
38	bool "STM32H730XXQ"
39	select CPU_CORTEX_M7
40	select CPU_HAS_ICACHE
41	select CPU_HAS_DCACHE
42	select CPU_HAS_FPU_DOUBLE_PRECISION
43
44config SOC_STM32H735XX
45	bool "STM32H735XX"
46	select CPU_CORTEX_M7
47	select CPU_HAS_ICACHE
48	select CPU_HAS_DCACHE
49	select CPU_HAS_FPU_DOUBLE_PRECISION
50
51config SOC_STM32H743XX
52	bool "STM32H743XX"
53	select CPU_CORTEX_M7
54	select CPU_HAS_ICACHE
55	select CPU_HAS_DCACHE
56	select CPU_HAS_FPU_DOUBLE_PRECISION
57
58config SOC_STM32H745XX
59	bool "STM32H745XX"
60	select CPU_HAS_FPU_DOUBLE_PRECISION if CPU_CORTEX_M7
61	select CPU_HAS_ICACHE if CPU_CORTEX_M7
62	select CPU_HAS_DCACHE if CPU_CORTEX_M7
63	select STM32H7_DUAL_CORE
64
65config SOC_STM32H747XX
66	bool "STM32H747XX"
67	select CPU_HAS_FPU_DOUBLE_PRECISION if CPU_CORTEX_M7
68	select CPU_HAS_ICACHE if CPU_CORTEX_M7
69	select CPU_HAS_DCACHE if CPU_CORTEX_M7
70	select STM32H7_DUAL_CORE
71
72config SOC_STM32H750XX
73	bool "STM32H750XX"
74	select CPU_CORTEX_M7
75	select CPU_HAS_ICACHE
76	select CPU_HAS_DCACHE
77	select CPU_HAS_FPU_DOUBLE_PRECISION
78
79config SOC_STM32H753XX
80	bool "STM32H753XX"
81	select CPU_CORTEX_M7
82	select CPU_HAS_ICACHE
83	select CPU_HAS_DCACHE
84	select CPU_HAS_FPU_DOUBLE_PRECISION
85
86config SOC_STM32H7A3XX
87	bool "STM32H7A3XX"
88	select CPU_CORTEX_M7
89	select CPU_HAS_ICACHE
90	select CPU_HAS_DCACHE
91	select CPU_HAS_FPU_DOUBLE_PRECISION
92
93config SOC_STM32H7A3XXQ
94	bool "STM32H7A3XXQ"
95	select CPU_CORTEX_M7
96	select CPU_HAS_ICACHE
97	select CPU_HAS_DCACHE
98	select CPU_HAS_FPU_DOUBLE_PRECISION
99
100config SOC_STM32H7B0XX
101	bool "STM32H7B0XX"
102	select CPU_CORTEX_M7
103	select CPU_HAS_ICACHE
104	select CPU_HAS_DCACHE
105	select CPU_HAS_FPU_DOUBLE_PRECISION
106
107config SOC_STM32H7B0XXQ
108	bool "STM32H7B0XXQ"
109	select CPU_CORTEX_M7
110	select CPU_HAS_ICACHE
111	select CPU_HAS_DCACHE
112	select CPU_HAS_FPU_DOUBLE_PRECISION
113
114config SOC_STM32H7B3XX
115	bool "STM32H7B3XX"
116	select CPU_CORTEX_M7
117	select CPU_HAS_ICACHE
118	select CPU_HAS_DCACHE
119	select CPU_HAS_FPU_DOUBLE_PRECISION
120
121config SOC_STM32H7B3XXQ
122	bool "STM32H7B3XXQ"
123	select CPU_CORTEX_M7
124	select CPU_HAS_ICACHE
125	select CPU_HAS_DCACHE
126	select CPU_HAS_FPU_DOUBLE_PRECISION
127
128endchoice
129
130config STM32H7_BOOT_M4_AT_INIT
131	bool "Boot M4 core during M7 init independent of option byte BCM4."
132	default y
133