1if ARCH_STM32MP
2
3config SPL
4	select SPL_BOARD_INIT
5	select SPL_CLK
6	select SPL_DM
7	select SPL_DM_SEQ_ALIAS
8	select SPL_DRIVERS_MISC_SUPPORT
9	select SPL_FRAMEWORK
10	select SPL_GPIO_SUPPORT
11	select SPL_LIBCOMMON_SUPPORT
12	select SPL_LIBGENERIC_SUPPORT
13	select SPL_OF_CONTROL
14	select SPL_OF_TRANSLATE
15	select SPL_PINCTRL
16	select SPL_REGMAP
17	select SPL_DM_RESET
18	select SPL_SERIAL_SUPPORT
19	select SPL_SPI_LOAD
20	select SPL_SYSCON
21	select SPL_WATCHDOG_SUPPORT if WATCHDOG
22	imply BOOTSTAGE_STASH if SPL_BOOTSTAGE
23	imply SPL_BOOTSTAGE if BOOTSTAGE
24	imply SPL_DISPLAY_PRINT
25	imply SPL_LIBDISK_SUPPORT
26
27config SYS_SOC
28	default "stm32mp"
29
30config SYS_MALLOC_LEN
31	default 0x2000000
32
33config ENV_SIZE
34	default 0x2000
35
36config STM32MP15x
37	bool "Support STMicroelectronics STM32MP15x Soc"
38	select ARCH_SUPPORT_PSCI if !TFABOOT
39	select ARM_SMCCC if TFABOOT
40	select CPU_V7A
41	select CPU_V7_HAS_NONSEC if !TFABOOT
42	select CPU_V7_HAS_VIRT
43	select OF_BOARD_SETUP
44	select PINCTRL_STM32
45	select STM32_RCC
46	select STM32_RESET
47	select STM32_SERIAL
48	select SYS_ARCH_TIMER
49	imply CMD_NVEDIT_INFO
50	imply SYSRESET_PSCI if TFABOOT
51	imply SYSRESET_SYSCON if !TFABOOT
52	help
53		support of STMicroelectronics SOC STM32MP15x family
54		STM32MP157, STM32MP153 or STM32MP151
55		STMicroelectronics MPU with core ARMv7
56		dual core A7 for STM32MP157/3, monocore for STM32MP151
57		target all the STMicroelectronics board with SOC STM32MP1 family
58
59choice
60	prompt "STM32MP15x board select"
61	optional
62
63config TARGET_ST_STM32MP15x
64	bool "STMicroelectronics STM32MP15x boards"
65	select STM32MP15x
66	imply BOOTCOUNT_LIMIT
67	imply BOOTSTAGE
68	imply CMD_BOOTCOUNT
69	imply CMD_BOOTSTAGE
70	imply CMD_CLS if CMD_BMP
71	imply DISABLE_CONSOLE
72	imply PRE_CONSOLE_BUFFER
73	imply SILENT_CONSOLE
74	help
75		target the STMicroelectronics board with SOC STM32MP15x
76		managed by board/st/stm32mp1:
77		Evalulation board (EV1) or Discovery board (DK1 and DK2).
78		The difference between board are managed with devicetree
79
80config TARGET_DH_STM32MP1_PDK2
81	bool "DH STM32MP1 PDK2"
82	select STM32MP15x
83	imply BOOTCOUNT_LIMIT
84	imply CMD_BOOTCOUNT
85	help
86		Target the DH PDK2 development kit with STM32MP15x SoM.
87
88endchoice
89
90config SYS_TEXT_BASE
91	default 0xC0100000
92
93config NR_DRAM_BANKS
94	default 1
95
96config DDR_CACHEABLE_SIZE
97	hex "Size of the DDR marked cacheable in pre-reloc stage"
98	default 0x10000000 if TFABOOT
99	default 0x40000000
100	help
101		Define the size of the DDR marked as cacheable in U-Boot
102		pre-reloc stage.
103		This option can be useful to avoid speculatif access
104		to secured area of DDR used by TF-A or OP-TEE before U-Boot
105		initialization.
106		The areas marked "no-map" in device tree should be located
107		before this limit: STM32_DDR_BASE + DDR_CACHEABLE_SIZE.
108
109config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_MMC2
110	hex "Partition on MMC2 to use to load U-Boot from"
111	depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
112	default 1
113	help
114	  Partition on the second MMC to load U-Boot from when the MMC is being
115	  used in raw mode
116
117config STM32_ETZPC
118	bool "STM32 Extended TrustZone Protection"
119	depends on STM32MP15x
120	default y
121	help
122	  Say y to enable STM32 Extended TrustZone Protection
123
124config CMD_STM32KEY
125	bool "command stm32key to fuse public key hash"
126	default y
127	help
128		fuse public key hash in corresponding fuse used to authenticate
129		binary.
130
131config PRE_CON_BUF_ADDR
132	default 0xC02FF000
133
134config PRE_CON_BUF_SZ
135	default 4096
136
137config BOOTSTAGE_STASH_ADDR
138	default 0xC3000000
139
140if BOOTCOUNT_LIMIT
141config SYS_BOOTCOUNT_SINGLEWORD
142	default y
143
144# TAMP_BOOTCOUNT = TAMP_BACKUP_REGISTER(21)
145config SYS_BOOTCOUNT_ADDR
146	default 0x5C00A154
147endif
148
149if DEBUG_UART
150
151config DEBUG_UART_BOARD_INIT
152	default y
153
154# debug on UART4 by default
155config DEBUG_UART_BASE
156	default 0x40010000
157
158# clock source is HSI on reset
159config DEBUG_UART_CLOCK
160	default 64000000
161endif
162
163source "arch/arm/mach-stm32mp/cmd_stm32prog/Kconfig"
164source "board/st/stm32mp1/Kconfig"
165source "board/dhelectronics/dh_stm32mp1/Kconfig"
166
167endif
168