summaryrefslogtreecommitdiff
path: root/arch/arm/mach-stm32mp/Kconfig
blob: c25ee43c69ad07fc38fc0944188cbc7a72454733 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
if ARCH_STM32MP

config SPL
	select SPL_BOARD_INIT
	select SPL_CLK
	select SPL_DM
	select SPL_DM_SEQ_ALIAS
	select SPL_DRIVERS_MISC_SUPPORT
	select SPL_FRAMEWORK
	select SPL_GPIO_SUPPORT
	select SPL_LIBCOMMON_SUPPORT
	select SPL_LIBGENERIC_SUPPORT
	select SPL_OF_CONTROL
	select SPL_OF_TRANSLATE
	select SPL_PINCTRL
	select SPL_REGMAP
	select SPL_DM_RESET
	select SPL_SERIAL_SUPPORT
	select SPL_SYSCON
	select SPL_WATCHDOG if WATCHDOG
	imply BOOTSTAGE_STASH if SPL_BOOTSTAGE
	imply SPL_BOOTSTAGE if BOOTSTAGE
	imply SPL_DISPLAY_PRINT
	imply SPL_LIBDISK_SUPPORT
	imply SPL_SPI_LOAD if SPL_SPI_SUPPORT

config SYS_SOC
	default "stm32mp"

config SYS_MALLOC_LEN
	default 0x2000000

config ENV_SIZE
	default 0x2000

config STM32MP15x
	bool "Support STMicroelectronics STM32MP15x Soc"
	select ARCH_SUPPORT_PSCI if !TFABOOT
	select ARM_SMCCC if TFABOOT
	select CPU_V7A
	select CPU_V7_HAS_NONSEC if !TFABOOT
	select CPU_V7_HAS_VIRT
	select OF_BOARD_SETUP
	select PINCTRL_STM32
	select STM32_RCC
	select STM32_RESET
	select STM32_SERIAL
	select SYS_ARCH_TIMER
	imply CMD_NVEDIT_INFO
	imply SYSRESET_PSCI if TFABOOT
	imply SYSRESET_SYSCON if !TFABOOT
	help
		support of STMicroelectronics SOC STM32MP15x family
		STM32MP157, STM32MP153 or STM32MP151
		STMicroelectronics MPU with core ARMv7
		dual core A7 for STM32MP157/3, monocore for STM32MP151
		target all the STMicroelectronics board with SOC STM32MP1 family

choice
	prompt "STM32MP15x board select"
	optional

config TARGET_ST_STM32MP15x
	bool "STMicroelectronics STM32MP15x boards"
	select STM32MP15x
	imply BOOTCOUNT_LIMIT
	imply BOOTSTAGE
	imply CMD_BOOTCOUNT
	imply CMD_BOOTSTAGE
	imply CMD_CLS if CMD_BMP
	imply DISABLE_CONSOLE
	imply PRE_CONSOLE_BUFFER
	imply SILENT_CONSOLE
	help
		target the STMicroelectronics board with SOC STM32MP15x
		managed by board/st/stm32mp1:
		Evalulation board (EV1) or Discovery board (DK1 and DK2).
		The difference between board are managed with devicetree

config TARGET_MICROGEA_STM32MP1
	bool "Engicam MicroGEA STM32MP1 SOM"
	select STM32MP15x
	imply BOOTCOUNT_LIMIT
	imply BOOTSTAGE
	imply CMD_BOOTCOUNT
	imply CMD_BOOTSTAGE
	imply CMD_CLS if CMD_BMP
	imply DISABLE_CONSOLE
	imply PRE_CONSOLE_BUFFER
	imply SILENT_CONSOLE
	help
	  MicroGEA STM32MP1 is a STM32MP157A based Micro SOM.

	  MicroGEA STM32MP1 MicroDev 2.0:
	  * MicroDev 2.0 is a general purpose miniature carrier board with CAN,
	    LTE and LVDS panel interfaces.
	  * MicroGEA STM32MP1 needs to mount on top of this MicroDev 2.0 board
	    for creating complete MicroGEA STM32MP1 MicroDev 2.0 Carrier board.

	  MicroGEA STM32MP1 MicroDev 2.0 7" OF:
	  * 7" OF is a capacitive touch 7" Open Frame panel solutions with LVDS
	    panel and toucscreen.
	  * MicroGEA STM32MP1 needs to mount on top of MicroDev 2.0 board with
	    pluged 7" OF for creating complete MicroGEA STM32MP1 MicroDev 2.0 7"
	    Open Frame Solution board.

config TARGET_ICORE_STM32MP1
	bool "Engicam i.Core STM32MP1 SOM"
	select STM32MP15x
	imply BOOTCOUNT_LIMIT
	imply BOOTSTAGE
	imply CMD_BOOTCOUNT
	imply CMD_BOOTSTAGE
	imply CMD_CLS if CMD_BMP
	imply DISABLE_CONSOLE
	imply PRE_CONSOLE_BUFFER
	imply SILENT_CONSOLE
	help
	  i.Core STM32MP1 is an EDIMM SOM based on STM32MP157A.

	  i.Core STM32MP1 EDIMM2.2:
	  * EDIMM2.2 is a Form Factor Capacitive Evaluation Board.
	  * i.Core STM32MP1 needs to mount on top of EDIMM2.2 for
	    creating complete i.Core STM32MP1 EDIMM2.2 Starter Kit.

	  i.Core STM32MP1 C.TOUCH 2.0
	  * C.TOUCH 2.0 is a general purpose Carrier board.
	  * i.Core STM32MP1 needs to mount on top of this Carrier board
	    for creating complete i.Core STM32MP1 C.TOUCH 2.0 board.

config TARGET_DH_STM32MP1_PDK2
	bool "DH STM32MP1 PDK2"
	select STM32MP15x
	imply BOOTCOUNT_LIMIT
	imply CMD_BOOTCOUNT
	help
		Target the DH PDK2 development kit with STM32MP15x SoM.

endchoice

config SYS_TEXT_BASE
	default 0xC0100000

config NR_DRAM_BANKS
	default 1

config DDR_CACHEABLE_SIZE
	hex "Size of the DDR marked cacheable in pre-reloc stage"
	default 0x10000000 if TFABOOT
	default 0x40000000
	help
		Define the size of the DDR marked as cacheable in U-Boot
		pre-reloc stage.
		This option can be useful to avoid speculatif access
		to secured area of DDR used by TF-A or OP-TEE before U-Boot
		initialization.
		The areas marked "no-map" in device tree should be located
		before this limit: STM32_DDR_BASE + DDR_CACHEABLE_SIZE.

config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_MMC2
	hex "Partition on MMC2 to use to load U-Boot from"
	depends on SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
	default 1
	help
	  Partition on the second MMC to load U-Boot from when the MMC is being
	  used in raw mode

config STM32_ETZPC
	bool "STM32 Extended TrustZone Protection"
	depends on STM32MP15x
	default y
	help
	  Say y to enable STM32 Extended TrustZone Protection

config CMD_STM32KEY
	bool "command stm32key to fuse public key hash"
	default n
	help
		fuse public key hash in corresponding fuse used to authenticate
		binary.
		This command is used to evaluate the secure boot on stm32mp SOC,
		it is deactivated by default in real products.

config PRE_CON_BUF_ADDR
	default 0xC02FF000

config PRE_CON_BUF_SZ
	default 4096

config BOOTSTAGE_STASH_ADDR
	default 0xC3000000

if BOOTCOUNT_LIMIT
config SYS_BOOTCOUNT_SINGLEWORD
	default y

# TAMP_BOOTCOUNT = TAMP_BACKUP_REGISTER(21)
config SYS_BOOTCOUNT_ADDR
	default 0x5C00A154
endif

if DEBUG_UART

config DEBUG_UART_BOARD_INIT
	default y

# debug on UART4 by default
config DEBUG_UART_BASE
	default 0x40010000

# clock source is HSI on reset
config DEBUG_UART_CLOCK
	default 64000000
endif

source "arch/arm/mach-stm32mp/cmd_stm32prog/Kconfig"
source "board/dhelectronics/dh_stm32mp1/Kconfig"
source "board/engicam/stm32mp1/Kconfig"
source "board/st/stm32mp1/Kconfig"

endif