blob: 576b8f5874c26116f5cfffe7ed583b5cd1c7fbf1 [file] [log] [blame]
Masahiro Yamadadd840582014-07-30 14:08:14 +09001menu "ARM architecture"
2 depends on ARM
3
4config SYS_ARCH
Masahiro Yamadadd840582014-07-30 14:08:14 +09005 default "arm"
6
Masahiro Yamada016a9542014-09-14 03:01:51 +09007config ARM64
8 bool
Masahiro Yamadabb6b1422016-07-25 19:56:03 +09009 select PHYS_64BIT
Tom Rini067716b2016-08-22 08:22:17 -040010 select SYS_CACHE_SHIFT_6
Masahiro Yamada016a9542014-09-14 03:01:51 +090011
Stephen Warren49e93872017-11-02 18:11:27 -060012if ARM64
13config POSITION_INDEPENDENT
14 bool "Generate position-independent pre-relocation code"
15 help
16 U-Boot expects to be linked to a specific hard-coded address, and to
17 be loaded to and run from that address. This option lifts that
18 restriction, thus allowing the code to be loaded to and executed
19 from almost any address. This logic relies on the relocation
20 information that is embedded into the binary to support U-Boot
21 relocating itself to the top-of-RAM later during execution.
Stephen Warrene6c90442017-12-19 18:30:36 -070022
23config SYS_INIT_SP_BSS_OFFSET
24 int
25 help
26 U-Boot typically uses a hard-coded value for the stack pointer
27 before relocation. Define this option to instead calculate the
28 initial SP at run-time. This is useful to avoid hard-coding addresses
29 into U-Boot, so that can be loaded and executed at arbitrary
30 addresses and thus avoid using arbitrary addresses at runtime. This
31 option's value is the offset added to &_bss_start in order to
32 calculate the stack pointer. This offset should be large enough so
33 that the early malloc region, global data (gd), and early stack usage
34 do not overlap any appended DTB.
Stephen Warren8163faf2018-01-03 14:31:51 -070035
36config LINUX_KERNEL_IMAGE_HEADER
37 bool
38 help
39 Place a Linux kernel image header at the start of the U-Boot binary.
40 The format of the header is described in the Linux kernel source at
41 Documentation/arm64/booting.txt. This feature is useful since the
42 image header reports the amount of memory (BSS and similar) that
43 U-Boot needs to use, but which isn't part of the binary.
44
45if LINUX_KERNEL_IMAGE_HEADER
46config LNX_KRNL_IMG_TEXT_OFFSET_BASE
47 hex
48 help
49 The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the
50 TEXT_OFFSET value written in to the Linux kernel image header.
51endif
Stephen Warren49e93872017-11-02 18:11:27 -060052endif
53
54config STATIC_RELA
55 bool
56 default y if ARM64 && !POSITION_INDEPENDENT
57
Lokesh Vutla37217f02016-03-24 16:02:00 +053058config DMA_ADDR_T_64BIT
59 bool
60 default y if ARM64
61
Georges Savoundararadj2e07c242014-10-28 23:16:09 +010062config HAS_VBAR
Tom Rinie009bfa2016-08-22 08:22:18 -040063 bool
Georges Savoundararadj2e07c242014-10-28 23:16:09 +010064
Albert ARIBAUD62e92072015-10-23 18:06:40 +020065config HAS_THUMB2
Tom Rinie009bfa2016-08-22 08:22:18 -040066 bool
Albert ARIBAUD62e92072015-10-23 18:06:40 +020067
Phil Edworthy111a6af2017-06-01 07:33:28 +010068# Used for compatibility with asm files copied from the kernel
69config ARM_ASM_UNIFIED
70 bool
71 default y
72
73# Used for compatibility with asm files copied from the kernel
74config THUMB2_KERNEL
75 bool
76
Tom Rini8dda2e22017-03-07 07:13:42 -050077# If set, the workarounds for these ARM errata are applied early during U-Boot
78# startup. Note that in general these options force the workarounds to be
79# applied; no CPU-type/version detection exists, unlike the similar options in
80# the Linux kernel. Do not set these options unless they apply! Also note that
81# the following can be machine specific errata. These do have ability to
82# provide rudimentary version and machine specific checks, but expect no
83# product checks:
84# CONFIG_ARM_ERRATA_430973
85# CONFIG_ARM_ERRATA_454179
86# CONFIG_ARM_ERRATA_621766
87# CONFIG_ARM_ERRATA_798870
88# CONFIG_ARM_ERRATA_801819
89config ARM_ERRATA_430973
90 bool
91
92config ARM_ERRATA_454179
93 bool
94
95config ARM_ERRATA_621766
96 bool
97
98config ARM_ERRATA_716044
99 bool
100
Siarhei Siamashka19a75b82017-03-06 03:16:53 +0200101config ARM_ERRATA_725233
102 bool
103
Tom Rini8dda2e22017-03-07 07:13:42 -0500104config ARM_ERRATA_742230
105 bool
106
107config ARM_ERRATA_743622
108 bool
109
110config ARM_ERRATA_751472
111 bool
112
113config ARM_ERRATA_761320
114 bool
115
116config ARM_ERRATA_773022
117 bool
118
119config ARM_ERRATA_774769
120 bool
121
122config ARM_ERRATA_794072
123 bool
124
125config ARM_ERRATA_798870
126 bool
127
128config ARM_ERRATA_801819
129 bool
130
131config ARM_ERRATA_826974
132 bool
133
134config ARM_ERRATA_828024
135 bool
136
137config ARM_ERRATA_829520
138 bool
139
140config ARM_ERRATA_833069
141 bool
142
143config ARM_ERRATA_833471
144 bool
145
Peng Fan11d94312017-08-08 13:34:52 +0800146config ARM_ERRATA_845369
147 bool
148
Nisal Menuka87763502017-04-26 16:18:01 -0500149config ARM_ERRATA_852421
150 bool
151
152config ARM_ERRATA_852423
153 bool
154
Alison Wangab0ab542017-12-28 13:00:55 +0800155config ARM_ERRATA_855873
156 bool
157
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100158config CPU_ARM720T
Tom Rinie009bfa2016-08-22 08:22:18 -0400159 bool
Tom Rini067716b2016-08-22 08:22:17 -0400160 select SYS_CACHE_SHIFT_5
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100161
162config CPU_ARM920T
Tom Rinie009bfa2016-08-22 08:22:18 -0400163 bool
Tom Rini067716b2016-08-22 08:22:17 -0400164 select SYS_CACHE_SHIFT_5
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100165
166config CPU_ARM926EJS
Tom Rinie009bfa2016-08-22 08:22:18 -0400167 bool
Tom Rini067716b2016-08-22 08:22:17 -0400168 select SYS_CACHE_SHIFT_5
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100169
170config CPU_ARM946ES
Tom Rinie009bfa2016-08-22 08:22:18 -0400171 bool
Tom Rini067716b2016-08-22 08:22:17 -0400172 select SYS_CACHE_SHIFT_5
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100173
174config CPU_ARM1136
Tom Rinie009bfa2016-08-22 08:22:18 -0400175 bool
Tom Rini067716b2016-08-22 08:22:17 -0400176 select SYS_CACHE_SHIFT_5
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100177
178config CPU_ARM1176
Tom Rinie009bfa2016-08-22 08:22:18 -0400179 bool
180 select HAS_VBAR
Tom Rini067716b2016-08-22 08:22:17 -0400181 select SYS_CACHE_SHIFT_5
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100182
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530183config CPU_V7A
Tom Rinie009bfa2016-08-22 08:22:18 -0400184 bool
185 select HAS_VBAR
186 select HAS_THUMB2
Tom Rini067716b2016-08-22 08:22:17 -0400187 select SYS_CACHE_SHIFT_6
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100188
rev13@wp.pl12d8a722015-03-01 12:44:39 +0100189config CPU_V7M
190 bool
Tom Rinie009bfa2016-08-22 08:22:18 -0400191 select HAS_THUMB2
Phil Edworthy111a6af2017-06-01 07:33:28 +0100192 select THUMB2_KERNEL
Tom Rini067716b2016-08-22 08:22:17 -0400193 select SYS_CACHE_SHIFT_5
rev13@wp.pl12d8a722015-03-01 12:44:39 +0100194
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100195config CPU_PXA
Tom Rinie009bfa2016-08-22 08:22:18 -0400196 bool
Tom Rini067716b2016-08-22 08:22:17 -0400197 select SYS_CACHE_SHIFT_5
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100198
199config CPU_SA1100
Tom Rinie009bfa2016-08-22 08:22:18 -0400200 bool
Tom Rini067716b2016-08-22 08:22:17 -0400201 select SYS_CACHE_SHIFT_5
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100202
203config SYS_CPU
Tom Rinie009bfa2016-08-22 08:22:18 -0400204 default "arm720t" if CPU_ARM720T
205 default "arm920t" if CPU_ARM920T
206 default "arm926ejs" if CPU_ARM926EJS
207 default "arm946es" if CPU_ARM946ES
208 default "arm1136" if CPU_ARM1136
209 default "arm1176" if CPU_ARM1176
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530210 default "armv7" if CPU_V7A
Tom Rinie009bfa2016-08-22 08:22:18 -0400211 default "armv7m" if CPU_V7M
212 default "pxa" if CPU_PXA
213 default "sa1100" if CPU_SA1100
Masahiro Yamada01541ee2014-11-06 11:39:27 +0900214 default "armv8" if ARM64
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100215
Marek Vasut66020a62016-05-26 18:01:36 +0200216config SYS_ARM_ARCH
217 int
218 default 4 if CPU_ARM720T
219 default 4 if CPU_ARM920T
220 default 5 if CPU_ARM926EJS
221 default 5 if CPU_ARM946ES
222 default 6 if CPU_ARM1136
223 default 6 if CPU_ARM1176
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530224 default 7 if CPU_V7A
Marek Vasut66020a62016-05-26 18:01:36 +0200225 default 7 if CPU_V7M
226 default 5 if CPU_PXA
227 default 4 if CPU_SA1100
228 default 8 if ARM64
229
Tom Rini067716b2016-08-22 08:22:17 -0400230config SYS_CACHE_SHIFT_5
231 bool
232
233config SYS_CACHE_SHIFT_6
234 bool
235
236config SYS_CACHE_SHIFT_7
237 bool
238
239config SYS_CACHELINE_SIZE
240 int
241 default 128 if SYS_CACHE_SHIFT_7
242 default 64 if SYS_CACHE_SHIFT_6
243 default 32 if SYS_CACHE_SHIFT_5
244
Andre Przywara7842b6a2018-04-12 04:24:46 +0300245config SYS_ARCH_TIMER
246 bool "ARM Generic Timer support"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530247 depends on CPU_V7A || ARM64
Andre Przywara7842b6a2018-04-12 04:24:46 +0300248 default y if ARM64
249 help
250 The ARM Generic Timer (aka arch-timer) provides an architected
251 interface to a timer source on an SoC.
252 It is mandantory for ARMv8 implementation and widely available
253 on ARMv7 systems.
254
Masahiro Yamadac54bcf62017-04-14 11:10:23 +0900255config ARM_SMCCC
256 bool "Support for ARM SMC Calling Convention (SMCCC)"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530257 depends on CPU_V7A || ARM64
Masahiro Yamada573a3812017-04-14 11:10:24 +0900258 select ARM_PSCI_FW
Masahiro Yamadac54bcf62017-04-14 11:10:23 +0900259 help
260 Say Y here if you want to enable ARM SMC Calling Convention.
261 This should be enabled if U-Boot needs to communicate with system
262 firmware (for example, PSCI) according to SMCCC.
263
Linus Walleijf91afc42015-01-23 11:50:53 +0100264config SEMIHOSTING
265 bool "support boot from semihosting"
266 help
267 In emulated environments, semihosting is a way for
268 the hosted environment to call out to the emulator to
269 retrieve files from the host machine.
270
Tom Rini3a649402017-03-18 09:01:44 -0400271config SYS_THUMB_BUILD
272 bool "Build U-Boot using the Thumb instruction set"
273 depends on !ARM64
274 help
275 Use this flag to build U-Boot using the Thumb instruction set for
276 ARM architectures. Thumb instruction set provides better code
277 density. For ARM architectures that support Thumb2 this flag will
278 result in Thumb2 code generated by GCC.
279
280config SPL_SYS_THUMB_BUILD
281 bool "Build SPL using the Thumb instruction set"
282 default y if SYS_THUMB_BUILD
283 depends on !ARM64
284 help
285 Use this flag to build SPL using the Thumb instruction set for
286 ARM architectures. Thumb instruction set provides better code
287 density. For ARM architectures that support Thumb2 this flag will
288 result in Thumb2 code generated by GCC.
289
Peng Fanf3e9bec2015-08-19 15:48:57 +0800290config SYS_L2CACHE_OFF
291 bool "L2cache off"
292 help
293 If SoC does not support L2CACHE or one do not want to enable
294 L2CACHE, choose this option.
295
Andre Przywaracdaa6332016-05-31 10:45:06 -0700296config ENABLE_ARM_SOC_BOOT0_HOOK
297 bool "prepare BOOT0 header"
298 help
299 If the SoC's BOOT0 requires a header area filled with (magic)
Simon Goldschmidt7d531e82018-02-13 13:18:00 +0100300 values, then choose this option, and create a file included as
301 <asm/arch/boot0.h> which contains the required assembler code.
Andre Przywaracdaa6332016-05-31 10:45:06 -0700302
Andre Przywara85db5832017-02-16 01:20:21 +0000303config ARM_CORTEX_CPU_IS_UP
304 bool
305 default n
306
Fabio Estevambe725912016-12-15 19:30:40 -0200307config USE_ARCH_MEMCPY
308 bool "Use an assembly optimized implementation of memcpy"
Tom Rini40d55342017-01-12 13:16:02 -0500309 default y
310 depends on !ARM64
311 help
312 Enable the generation of an optimized version of memcpy.
313 Such implementation may be faster under some conditions
314 but may increase the binary size.
315
316config SPL_USE_ARCH_MEMCPY
Andy Yanf8136e62017-06-28 16:27:37 +0800317 bool "Use an assembly optimized implementation of memcpy for SPL"
Tom Rini40d55342017-01-12 13:16:02 -0500318 default y if USE_ARCH_MEMCPY
Masahiro Yamada085be482016-12-19 19:31:02 +0900319 depends on !ARM64
Fabio Estevambe725912016-12-15 19:30:40 -0200320 help
321 Enable the generation of an optimized version of memcpy.
322 Such implementation may be faster under some conditions
323 but may increase the binary size.
324
325config USE_ARCH_MEMSET
326 bool "Use an assembly optimized implementation of memset"
Tom Rini40d55342017-01-12 13:16:02 -0500327 default y
328 depends on !ARM64
329 help
330 Enable the generation of an optimized version of memset.
331 Such implementation may be faster under some conditions
332 but may increase the binary size.
333
334config SPL_USE_ARCH_MEMSET
Andy Yanf8136e62017-06-28 16:27:37 +0800335 bool "Use an assembly optimized implementation of memset for SPL"
Tom Rini40d55342017-01-12 13:16:02 -0500336 default y if USE_ARCH_MEMSET
Masahiro Yamada085be482016-12-19 19:31:02 +0900337 depends on !ARM64
Fabio Estevambe725912016-12-15 19:30:40 -0200338 help
339 Enable the generation of an optimized version of memset.
340 Such implementation may be faster under some conditions
341 but may increase the binary size.
342
Alison Wangec6617c2016-11-10 10:49:03 +0800343config ARM64_SUPPORT_AARCH32
344 bool "ARM64 system support AArch32 execution state"
345 default y if ARM64 && !TARGET_THUNDERX_88XX
346 help
347 This ARM64 system supports AArch32 execution state.
348
Masahiro Yamadadd840582014-07-30 14:08:14 +0900349choice
350 prompt "Target select"
Simon Glassb928e652015-08-30 19:19:30 -0600351 default TARGET_HIKEY
Masahiro Yamadadd840582014-07-30 14:08:14 +0900352
Masahiro Yamada4614b892015-02-20 17:04:01 +0900353config ARCH_AT91
354 bool "Atmel AT91"
Ley Foon Tan0680f1b2017-05-03 17:13:32 +0800355 select SPL_BOARD_INIT if SPL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900356
357config TARGET_EDB93XX
358 bool "Support edb93xx"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100359 select CPU_ARM920T
Alexander Graf884f9012018-01-25 12:05:50 +0100360 select PL010_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900361
Masahiro Yamadadd840582014-07-30 14:08:14 +0900362config TARGET_ASPENITE
363 bool "Support aspenite"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100364 select CPU_ARM926EJS
Masahiro Yamadadd840582014-07-30 14:08:14 +0900365
366config TARGET_GPLUGD
367 bool "Support gplugd"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100368 select CPU_ARM926EJS
Masahiro Yamadadd840582014-07-30 14:08:14 +0900369
Masahiro Yamada3491ba62014-08-31 07:11:01 +0900370config ARCH_DAVINCI
371 bool "TI DaVinci"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100372 select CPU_ARM926EJS
Simon Glass15dc63d2017-08-04 16:34:43 -0600373 imply CMD_SAVES
Masahiro Yamada3491ba62014-08-31 07:11:01 +0900374 help
375 Support for TI's DaVinci platform.
Masahiro Yamadadd840582014-07-30 14:08:14 +0900376
Masahiro Yamada47539e22014-08-31 07:10:59 +0900377config KIRKWOOD
378 bool "Marvell Kirkwood"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100379 select CPU_ARM926EJS
Simon Glassa5d67542017-01-23 13:31:20 -0700380 select BOARD_EARLY_INIT_F
Simon Glass45856012017-01-23 13:31:21 -0700381 select ARCH_MISC_INIT
Masahiro Yamadadd840582014-07-30 14:08:14 +0900382
Stefan Roesec3d89142015-08-25 13:18:38 +0200383config ARCH_MVEBU
Stefan Roese21b29fc2016-05-25 08:13:45 +0200384 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
Stefan Roese9cffb232015-09-01 11:27:52 +0200385 select OF_CONTROL
386 select OF_SEPARATE
387 select DM
Stefan Roesee3b9c982015-11-19 07:46:15 +0100388 select DM_ETH
Stefan Roese1d51ea12015-09-02 08:41:41 +0200389 select DM_SERIAL
Stefan Roese09a54c02015-11-20 13:51:57 +0100390 select DM_SPI
391 select DM_SPI_FLASH
Adam Fordf1b1f772018-04-15 13:51:26 -0400392 select SPI
Stefan Roesea4884832014-10-22 12:13:19 +0200393
Masahiro Yamadadd840582014-07-30 14:08:14 +0900394config TARGET_DEVKIT3250
395 bool "Support devkit3250"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100396 select CPU_ARM926EJS
Vladimir Zapolskiye9b3ce32015-07-18 01:47:11 +0300397 select SUPPORT_SPL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900398
Albert ARIBAUD \(3ADEV\)412ae532015-03-31 11:40:51 +0200399config TARGET_WORK_92105
400 bool "Support work_92105"
401 select CPU_ARM926EJS
402 select SUPPORT_SPL
403
Masahiro Yamadadd840582014-07-30 14:08:14 +0900404config TARGET_APF27
405 bool "Support apf27"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100406 select CPU_ARM926EJS
Masahiro Yamada02627352014-10-20 17:45:56 +0900407 select SUPPORT_SPL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900408
Masahiro Yamada22f2be72014-08-31 07:11:06 +0900409config ORION5X
410 bool "Marvell Orion"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100411 select CPU_ARM926EJS
Masahiro Yamadadd840582014-07-30 14:08:14 +0900412
Masahiro Yamadadd840582014-07-30 14:08:14 +0900413config TARGET_SPEAR300
414 bool "Support spear300"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100415 select CPU_ARM926EJS
Simon Glassa5d67542017-01-23 13:31:20 -0700416 select BOARD_EARLY_INIT_F
Simon Glass15dc63d2017-08-04 16:34:43 -0600417 imply CMD_SAVES
Alexander Grafd10fc502018-01-25 12:05:51 +0100418 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900419
420config TARGET_SPEAR310
421 bool "Support spear310"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100422 select CPU_ARM926EJS
Simon Glassa5d67542017-01-23 13:31:20 -0700423 select BOARD_EARLY_INIT_F
Simon Glass15dc63d2017-08-04 16:34:43 -0600424 imply CMD_SAVES
Alexander Grafd10fc502018-01-25 12:05:51 +0100425 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900426
427config TARGET_SPEAR320
428 bool "Support spear320"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100429 select CPU_ARM926EJS
Simon Glassa5d67542017-01-23 13:31:20 -0700430 select BOARD_EARLY_INIT_F
Simon Glass15dc63d2017-08-04 16:34:43 -0600431 imply CMD_SAVES
Alexander Grafd10fc502018-01-25 12:05:51 +0100432 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900433
434config TARGET_SPEAR600
435 bool "Support spear600"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100436 select CPU_ARM926EJS
Simon Glassa5d67542017-01-23 13:31:20 -0700437 select BOARD_EARLY_INIT_F
Simon Glass15dc63d2017-08-04 16:34:43 -0600438 imply CMD_SAVES
Alexander Grafd10fc502018-01-25 12:05:51 +0100439 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900440
Vikas Manocha9fa32b12014-11-18 10:42:22 -0800441config TARGET_STV0991
442 bool "Support stv0991"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530443 select CPU_V7A
Masahiro Yamadacac0ca72015-03-31 12:48:01 +0900444 select DM
445 select DM_SERIAL
Vikas Manochae67abca2015-07-02 18:29:41 -0700446 select DM_SPI
447 select DM_SPI_FLASH
Adam Fordf1b1f772018-04-15 13:51:26 -0400448 select SPI
Vikas Manochae67abca2015-07-02 18:29:41 -0700449 select SPI_FLASH
Alexander Grafcf2c7782018-01-25 12:05:52 +0100450 select PL01X_SERIAL
Vikas Manocha9fa32b12014-11-18 10:42:22 -0800451
Masahiro Yamadadd840582014-07-30 14:08:14 +0900452config TARGET_X600
453 bool "Support x600"
Tom Rinie5ec4812017-01-22 19:43:11 -0500454 select BOARD_LATE_INIT
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100455 select CPU_ARM926EJS
Masahiro Yamada02627352014-10-20 17:45:56 +0900456 select SUPPORT_SPL
Alexander Grafd10fc502018-01-25 12:05:51 +0100457 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900458
Masahiro Yamadadd840582014-07-30 14:08:14 +0900459config TARGET_MX31PDK
460 bool "Support mx31pdk"
Tom Rinie5ec4812017-01-22 19:43:11 -0500461 select BOARD_LATE_INIT
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100462 select CPU_ARM1136
Masahiro Yamada02627352014-10-20 17:45:56 +0900463 select SUPPORT_SPL
Simon Glassa5d67542017-01-23 13:31:20 -0700464 select BOARD_EARLY_INIT_F
Masahiro Yamadadd840582014-07-30 14:08:14 +0900465
Masahiro Yamadadd840582014-07-30 14:08:14 +0900466config TARGET_WOODBURN
467 bool "Support woodburn"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100468 select CPU_ARM1136
Masahiro Yamadadd840582014-07-30 14:08:14 +0900469
470config TARGET_WOODBURN_SD
471 bool "Support woodburn_sd"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100472 select CPU_ARM1136
Masahiro Yamada02627352014-10-20 17:45:56 +0900473 select SUPPORT_SPL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900474
475config TARGET_FLEA3
476 bool "Support flea3"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100477 select CPU_ARM1136
Masahiro Yamadadd840582014-07-30 14:08:14 +0900478
479config TARGET_MX35PDK
480 bool "Support mx35pdk"
Tom Rinie5ec4812017-01-22 19:43:11 -0500481 select BOARD_LATE_INIT
Georges Savoundararadj2e07c242014-10-28 23:16:09 +0100482 select CPU_ARM1136
Masahiro Yamadadd840582014-07-30 14:08:14 +0900483
Masahiro Yamadaddf6bd42015-03-19 19:42:56 +0900484config ARCH_BCM283X
485 bool "Broadcom BCM283X family"
Masahiro Yamada58d423b2015-03-31 12:47:53 +0900486 select DM
487 select DM_SERIAL
488 select DM_GPIO
Fabian Vogt76709092016-09-26 14:26:51 +0200489 select OF_CONTROL
Alexander Grafcf2c7782018-01-25 12:05:52 +0100490 select PL01X_SERIAL
Alexander Grafae5326a2018-01-29 13:57:20 +0100491 select SERIAL_SEARCH_ALL
Tom Rini91d27a12017-06-02 11:03:50 -0400492 imply FAT_WRITE
Stephen Warren46414292015-02-16 12:16:15 -0700493
Masahiro Yamadadd840582014-07-30 14:08:14 +0900494config TARGET_VEXPRESS_CA15_TC2
495 bool "Support vexpress_ca15_tc2"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530496 select CPU_V7A
Hans de Goedeea624e12014-11-14 09:34:30 +0100497 select CPU_V7_HAS_NONSEC
498 select CPU_V7_HAS_VIRT
Alexander Grafd10fc502018-01-25 12:05:51 +0100499 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900500
501config TARGET_VEXPRESS_CA5X2
502 bool "Support vexpress_ca5x2"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530503 select CPU_V7A
Alexander Grafd10fc502018-01-25 12:05:51 +0100504 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900505
506config TARGET_VEXPRESS_CA9X4
507 bool "Support vexpress_ca9x4"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530508 select CPU_V7A
Alexander Grafd10fc502018-01-25 12:05:51 +0100509 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900510
Steve Rae43486e42016-06-02 15:10:56 -0700511config TARGET_BCM23550_W1D
512 bool "Support bcm23550_w1d"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530513 select CPU_V7A
Daniel Thompson221a9492017-05-19 17:26:58 +0100514 imply CRC32_VERIFY
Tom Rini91d27a12017-06-02 11:03:50 -0400515 imply FAT_WRITE
Steve Rae43486e42016-06-02 15:10:56 -0700516
Masahiro Yamadadd840582014-07-30 14:08:14 +0900517config TARGET_BCM28155_AP
518 bool "Support bcm28155_ap"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530519 select CPU_V7A
Daniel Thompson221a9492017-05-19 17:26:58 +0100520 imply CRC32_VERIFY
Tom Rini91d27a12017-06-02 11:03:50 -0400521 imply FAT_WRITE
Masahiro Yamadadd840582014-07-30 14:08:14 +0900522
Steve Raeabb16782014-11-11 11:32:18 -0800523config TARGET_BCMCYGNUS
524 bool "Support bcmcygnus"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530525 select CPU_V7A
Daniel Thompson221a9492017-05-19 17:26:58 +0100526 imply CRC32_VERIFY
Simon Glass551c3932017-05-17 03:25:25 -0600527 imply CMD_HASH
Tom Rini91d27a12017-06-02 11:03:50 -0400528 imply FAT_WRITE
Daniel Thompson221a9492017-05-19 17:26:58 +0100529 imply HASH_VERIFY
Suji Velupillaic89782d2017-07-10 14:05:41 -0700530 imply NETDEVICES
531 imply BCM_SF2_ETH
532 imply BCM_SF2_ETH_GMAC
Steve Rae9dec5272014-08-11 13:58:26 -0700533
Steve Raeabb16782014-11-11 11:32:18 -0800534config TARGET_BCMNSP
535 bool "Support bcmnsp"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530536 select CPU_V7A
Steve Rae9dec5272014-08-11 13:58:26 -0700537
Jon Mason274bced2017-03-17 12:12:14 -0400538config TARGET_BCMNS2
539 bool "Support Broadcom Northstar2"
540 select ARM64
541 help
542 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
543 ARMv8 Cortex-A57 processors targeting a broad range of networking
544 applications
545
Masahiro Yamada72df68c2014-08-31 07:11:00 +0900546config ARCH_EXYNOS
547 bool "Samsung EXYNOS"
Masahiro Yamada58d423b2015-03-31 12:47:53 +0900548 select DM
Simon Glassfc47cf92016-11-23 06:34:40 -0700549 select DM_I2C
Masahiro Yamada58d423b2015-03-31 12:47:53 +0900550 select DM_SPI_FLASH
551 select DM_SERIAL
552 select DM_SPI
553 select DM_GPIO
Simon Glass1fa4bfd2015-10-18 21:17:17 -0600554 select DM_KEYBOARD
Adam Fordf1b1f772018-04-15 13:51:26 -0400555 select SPI
Tom Rini91d27a12017-06-02 11:03:50 -0400556 imply FAT_WRITE
Masahiro Yamadadd840582014-07-30 14:08:14 +0900557
Simon Glass311757b2014-10-07 22:01:50 -0600558config ARCH_S5PC1XX
559 bool "Samsung S5PC1XX"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530560 select CPU_V7A
Masahiro Yamada58d423b2015-03-31 12:47:53 +0900561 select DM
562 select DM_SERIAL
563 select DM_GPIO
Simon Glass08848e92016-11-23 06:34:41 -0700564 select DM_I2C
Simon Glass311757b2014-10-07 22:01:50 -0600565
Masahiro Yamadaef2b6942014-08-31 07:11:07 +0900566config ARCH_HIGHBANK
567 bool "Calxeda Highbank"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530568 select CPU_V7A
Alexander Grafd10fc502018-01-25 12:05:51 +0100569 select PL011_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900570
Masahiro Yamada5cbbd9b2015-04-21 21:59:36 +0900571config ARCH_INTEGRATOR
572 bool "ARM Ltd. Integrator family"
Linus Walleij3f394e72015-07-27 11:22:48 +0200573 select DM
574 select DM_SERIAL
Alexander Grafcf2c7782018-01-25 12:05:52 +0100575 select PL01X_SERIAL
Masahiro Yamada5cbbd9b2015-04-21 21:59:36 +0900576
Masahiro Yamadac338f092014-08-31 07:11:05 +0900577config ARCH_KEYSTONE
578 bool "TI Keystone"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530579 select CPU_V7A
Masahiro Yamada02627352014-10-20 17:45:56 +0900580 select SUPPORT_SPL
Tom Rini3a649402017-03-18 09:01:44 -0400581 select SYS_THUMB_BUILD
Tom Rini534bc702016-03-16 09:19:43 -0400582 select CMD_POWEROFF
Andre Przywara7842b6a2018-04-12 04:24:46 +0300583 select SYS_ARCH_TIMER
Tom Rinid56b4b12017-07-22 18:36:16 -0400584 imply CMD_MTDPARTS
Andrew F. Davis46f9ef12017-04-21 10:01:28 -0500585 imply FIT
Simon Glass15dc63d2017-08-04 16:34:43 -0600586 imply CMD_SAVES
Masahiro Yamadadd840582014-07-30 14:08:14 +0900587
Masahiro Yamadaa93fbf4a2017-04-25 13:10:11 +0900588config ARCH_OMAP2PLUS
589 bool "TI OMAP2+"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530590 select CPU_V7A
Ley Foon Tan0680f1b2017-05-03 17:13:32 +0800591 select SPL_BOARD_INIT if SPL
Tom Riniff6c3122017-09-17 11:44:49 -0400592 select SPL_STACK_R if SPL
Masahiro Yamadaa93fbf4a2017-04-25 13:10:11 +0900593 select SUPPORT_SPL
594 imply FIT
595
Beniamino Galvanibfcef282016-05-08 08:30:16 +0200596config ARCH_MESON
597 bool "Amlogic Meson"
Masahiro Yamada7325f6c2018-04-25 18:47:52 +0900598 imply DISTRO_DEFAULTS
Beniamino Galvanibfcef282016-05-08 08:30:16 +0200599 help
600 Support for the Meson SoC family developed by Amlogic Inc.,
601 targeted at media players and tablet computers. We currently
602 support the S905 (GXBaby) 64-bit SoC.
603
Peng Fan7a7391f2018-01-10 13:20:19 +0800604config ARCH_MX8M
605 bool "NXP i.MX8M platform"
606 select ARM64
607 select DM
608 select SUPPORT_SPL
609
Stefan Agnerc5343d42018-02-06 09:44:34 +0100610config ARCH_MX23
611 bool "NXP i.MX23 family"
612 select CPU_ARM926EJS
613 select PL011_SERIAL
614 select SUPPORT_SPL
615
Fabio Estevam07df6972017-11-03 13:40:08 -0200616config ARCH_MX25
617 bool "NXP MX25"
618 select CPU_ARM926EJS
Adam Ford8bbff6a2018-02-04 09:32:43 -0600619 imply MXC_GPIO
Fabio Estevam07df6972017-11-03 13:40:08 -0200620
Stefan Agner25c5b4e2018-02-06 09:44:35 +0100621config ARCH_MX28
622 bool "NXP i.MX28 family"
623 select CPU_ARM926EJS
624 select PL011_SERIAL
625 select SUPPORT_SPL
626
Peng Fane90a08d2017-02-22 16:21:39 +0800627config ARCH_MX7ULP
628 bool "NXP MX7ULP"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530629 select CPU_V7A
Peng Fane90a08d2017-02-22 16:21:39 +0800630 select ROM_UNIFIED_SECTIONS
Adam Ford8bbff6a2018-02-04 09:32:43 -0600631 imply MXC_GPIO
Peng Fane90a08d2017-02-22 16:21:39 +0800632
Adrian Alonso1a8150d2015-09-03 11:49:28 -0500633config ARCH_MX7
634 bool "Freescale MX7"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530635 select CPU_V7A
York Sun2c2e2c92016-12-28 08:43:30 -0800636 select SYS_FSL_HAS_SEC if SECURE_BOOT
637 select SYS_FSL_SEC_COMPAT_4
York Sun90b80382016-12-28 08:43:31 -0800638 select SYS_FSL_SEC_LE
Simon Glassa5d67542017-01-23 13:31:20 -0700639 select BOARD_EARLY_INIT_F
Simon Glass45856012017-01-23 13:31:21 -0700640 select ARCH_MISC_INIT
Adam Ford8bbff6a2018-02-04 09:32:43 -0600641 imply MXC_GPIO
Adrian Alonso1a8150d2015-09-03 11:49:28 -0500642
Boris BREZILLON89ebc822015-03-04 13:13:03 +0100643config ARCH_MX6
644 bool "Freescale MX6"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530645 select CPU_V7A
York Sun2c2e2c92016-12-28 08:43:30 -0800646 select SYS_FSL_HAS_SEC if SECURE_BOOT
647 select SYS_FSL_SEC_COMPAT_4
York Sun90b80382016-12-28 08:43:31 -0800648 select SYS_FSL_SEC_LE
Tom Rini3a649402017-03-18 09:01:44 -0400649 select SYS_THUMB_BUILD if SPL
Adam Ford8bbff6a2018-02-04 09:32:43 -0600650 imply MXC_GPIO
Boris BREZILLON89ebc822015-03-04 13:13:03 +0100651
Philipp Tomsichb5299932017-08-03 23:23:55 +0200652if ARCH_MX6
653config SPL_LDSCRIPT
654 default "arch/arm/mach-omap2/u-boot-spl.lds"
655endif
656
Andrej Rosano424ee3d2015-04-08 18:56:29 +0200657config ARCH_MX5
658 bool "Freescale MX5"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530659 select CPU_V7A
Simon Glassa5d67542017-01-23 13:31:20 -0700660 select BOARD_EARLY_INIT_F
Adam Ford8bbff6a2018-02-04 09:32:43 -0600661 imply MXC_GPIO
Andrej Rosano424ee3d2015-04-08 18:56:29 +0200662
Tuomas Tynkkynen32f11822017-09-19 23:18:07 +0300663config ARCH_QEMU
664 bool "QEMU Virtual Platform"
Tuomas Tynkkynen32f11822017-09-19 23:18:07 +0300665 select DM
666 select DM_SERIAL
667 select OF_CONTROL
Alexander Grafcf2c7782018-01-25 12:05:52 +0100668 select PL01X_SERIAL
Tuomas Tynkkynen32f11822017-09-19 23:18:07 +0300669
Nobuhiro Iwamatsu1cc95f62015-10-10 05:58:28 +0900670config ARCH_RMOBILE
Masahiro Yamadaf40b9892014-08-31 07:10:57 +0900671 bool "Renesas ARM SoCs"
Nobuhiro Iwamatsu1cc95f62015-10-10 05:58:28 +0900672 select DM
673 select DM_SERIAL
Simon Glassa5d67542017-01-23 13:31:20 -0700674 select BOARD_EARLY_INIT_F
Tom Rini91d27a12017-06-02 11:03:50 -0400675 imply FAT_WRITE
Tom Rini3a649402017-03-18 09:01:44 -0400676 imply SYS_THUMB_BUILD
Masahiro Yamadadd840582014-07-30 14:08:14 +0900677
Eddy Petrișor9702ec02016-06-05 03:43:00 +0300678config TARGET_S32V234EVB
679 bool "Support s32v234evb"
680 select ARM64
York Sunc01e4a12016-12-28 08:43:42 -0800681 select SYS_FSL_ERRATUM_ESDHC111
Eddy Petrișor9702ec02016-06-05 03:43:00 +0300682
Mateusz Kulikowski08592132016-03-31 23:12:32 +0200683config ARCH_SNAPDRAGON
684 bool "Qualcomm Snapdragon SoCs"
685 select ARM64
686 select DM
687 select DM_GPIO
688 select DM_SERIAL
689 select SPMI
690 select OF_CONTROL
691 select OF_SEPARATE
692
Masahiro Yamada7865f4b2015-04-21 20:38:20 +0900693config ARCH_SOCFPGA
694 bool "Altera SOCFPGA family"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530695 select CPU_V7A
Masahiro Yamada02627352014-10-20 17:45:56 +0900696 select SUPPORT_SPL
Marek Vasutdfd3dff2015-08-19 23:23:52 +0200697 select OF_CONTROL
698 select SPL_OF_CONTROL
Masahiro Yamada1d9aa3e2015-03-31 12:47:59 +0900699 select DM
Marek Vasutbeee6a32016-11-16 17:20:23 +0100700 select ENABLE_ARM_SOC_BOOT0_HOOK
Simon Glassa4211922017-01-23 13:31:19 -0700701 select ARCH_EARLY_INIT_R
Simon Glass45856012017-01-23 13:31:21 -0700702 select ARCH_MISC_INIT
Tom Rini3a649402017-03-18 09:01:44 -0400703 select SYS_THUMB_BUILD
Tom Rinid56b4b12017-07-22 18:36:16 -0400704 imply CMD_MTDPARTS
Daniel Thompson221a9492017-05-19 17:26:58 +0100705 imply CRC32_VERIFY
Simon Goldschmidtfef4a542018-02-13 06:34:14 +0100706 imply DM_SPI
707 imply DM_SPI_FLASH
Tom Rini91d27a12017-06-02 11:03:50 -0400708 imply FAT_WRITE
Simon Goldschmidtfef4a542018-02-13 06:34:14 +0100709 imply HW_WATCHDOG
710 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
Masahiro Yamadadd840582014-07-30 14:08:14 +0900711
Ian Campbell2c7e3b92014-10-24 21:20:44 +0100712config ARCH_SUNXI
713 bool "Support sunxi (Allwinner) SoCs"
Masahiro Yamadad6a0c782017-10-17 13:42:44 +0900714 select BINMAN
Hans de Goede88bb8002016-04-03 09:41:44 +0200715 select CMD_GPIO
Hans de Goede0878a8a2016-05-15 13:51:58 +0200716 select CMD_MMC if MMC
Yann E. MORIN2997ee52016-10-31 22:33:40 +0100717 select CMD_USB if DISTRO_DEFAULTS
Hans de Goedeb6006ba2015-04-15 20:46:48 +0200718 select DM
Tom Rini45368822015-06-30 16:51:15 -0400719 select DM_ETH
Hans de Goede211d57a2015-12-21 20:22:00 +0100720 select DM_GPIO
721 select DM_KEYBOARD
Tom Rini45368822015-06-30 16:51:15 -0400722 select DM_SERIAL
Yann E. MORIN2997ee52016-10-31 22:33:40 +0100723 select DM_USB if DISTRO_DEFAULTS
Hans de Goeded75111a2016-03-22 22:51:52 +0100724 select OF_BOARD_SETUP
Hans de Goedeb6006ba2015-04-15 20:46:48 +0200725 select OF_CONTROL
726 select OF_SEPARATE
Tom Rini6f6b7cf2018-03-06 19:02:27 -0500727 select SPECIFY_CONSOLE_INDEX
Tom Riniab43de82017-06-21 07:54:46 -0400728 select SPL_STACK_R if SPL
729 select SPL_SYS_MALLOC_SIMPLE if SPL
Hans de Goede6edf6a22015-12-10 11:10:17 +0100730 select SYS_NS16550
Tom Rini3a649402017-03-18 09:01:44 -0400731 select SPL_SYS_THUMB_BUILD if !ARM64
Maxime Ripardce2e44d2017-10-19 11:49:29 +0200732 select SYS_THUMB_BUILD if !ARM64
Yann E. MORIN2997ee52016-10-31 22:33:40 +0100733 select USB if DISTRO_DEFAULTS
734 select USB_STORAGE if DISTRO_DEFAULTS
735 select USB_KEYBOARD if DISTRO_DEFAULTS
Hans de Goede8c7d2292016-06-10 12:19:40 +0200736 select USE_TINY_PRINTF
Maxime Riparda12fb0e2017-08-24 11:54:03 +0200737 imply CMD_GPT
Masahiro Yamada7325f6c2018-04-25 18:47:52 +0900738 imply DISTRO_DEFAULTS
Tom Rini91d27a12017-06-02 11:03:50 -0400739 imply FAT_WRITE
Andre Heidereff264d2018-01-16 09:44:22 +0100740 imply OF_LIBFDT_OVERLAY
Masahiro Yamadaaf83a602017-04-28 19:42:19 +0900741 imply PRE_CONSOLE_BUFFER
742 imply SPL_GPIO_SUPPORT
743 imply SPL_LIBCOMMON_SUPPORT
744 imply SPL_LIBDISK_SUPPORT
745 imply SPL_LIBGENERIC_SUPPORT
Masahiro Yamada4aa2ba32017-05-09 20:31:39 +0900746 imply SPL_MMC_SUPPORT if MMC
Masahiro Yamadaaf83a602017-04-28 19:42:19 +0900747 imply SPL_POWER_SUPPORT
748 imply SPL_SERIAL_SUPPORT
Maxime Ripard654b02b2017-09-07 10:46:24 +0200749 imply USB_GADGET
Chen-Yu Tsai8ebe4f42014-10-22 16:47:44 +0800750
Stefan Agner7966b432017-03-13 18:41:36 -0700751config ARCH_VF610
752 bool "Freescale Vybrid"
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530753 select CPU_V7A
York Sunc01e4a12016-12-28 08:43:42 -0800754 select SYS_FSL_ERRATUM_ESDHC111
Tom Rinid56b4b12017-07-22 18:36:16 -0400755 imply CMD_MTDPARTS
Adam Ford5bbc2652017-08-07 17:37:18 -0400756 imply NAND
Masahiro Yamadadd840582014-07-30 14:08:14 +0900757
Masahiro Yamada5ca269a2015-03-16 16:43:24 +0900758config ARCH_ZYNQ
Michal Simekb8d44972017-11-23 08:25:41 +0100759 bool "Xilinx Zynq based platform"
Tom Rinie5ec4812017-01-22 19:43:11 -0500760 select BOARD_LATE_INIT
Lokesh Vutlaacf15002018-04-26 18:21:26 +0530761 select CPU_V7A
Masahiro Yamada02627352014-10-20 17:45:56 +0900762 select SUPPORT_SPL
Jagan Tekid065cfd2015-06-29 14:17:32 +0530763 select OF_CONTROL
Ley Foon Tan0680f1b2017-05-03 17:13:32 +0800764 select SPL_BOARD_INIT if SPL
Michal Simeke6cc3b22018-02-21 17:04:28 +0100765 select BOARD_EARLY_INIT_F if WDT
Michal Simekeb04ab32016-01-13 14:32:43 +0100766 select SPL_OF_CONTROL if SPL
Masahiro Yamada8981f052015-03-31 12:47:55 +0900767 select DM
Michal Simekc4a142f2018-01-09 14:49:28 +0100768 select DM_ETH if NET
Michal Simekeb04ab32016-01-13 14:32:43 +0100769 select SPL_DM if SPL
Michal Simekc4a142f2018-01-09 14:49:28 +0100770 select DM_MMC if MMC
Jagan Teki9f7a4502015-06-27 00:51:32 +0530771 select DM_SPI
Simon Glass42800ff2015-10-17 19:41:27 -0600772 select DM_SERIAL
Jagan Teki9f7a4502015-06-27 00:51:32 +0530773 select DM_SPI_FLASH
Michal Simekeb04ab32016-01-13 14:32:43 +0100774 select SPL_SEPARATE_BSS if SPL
Simon Glassdec49e82016-07-05 17:10:14 -0600775 select DM_USB if USB
Stefan Herbrechtsmeier781745b2017-01-17 16:27:30 +0100776 select CLK
Ezequiel Garcia578d95e2018-01-12 12:33:24 -0300777 select SPL_CLK if SPL
Stefan Herbrechtsmeier781745b2017-01-17 16:27:30 +0100778 select CLK_ZYNQ
Adam Fordf1b1f772018-04-15 13:51:26 -0400779 select SPI
Simon Glassd3156282017-04-26 22:28:02 -0600780 imply CMD_CLK
Tom Rini91d27a12017-06-02 11:03:50 -0400781 imply FAT_WRITE
Simon Glass72c30332017-08-04 16:34:48 -0600782 imply CMD_SPL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900783
Siva Durga Prasad Paladugu0b54a9d2015-06-10 15:50:57 +0530784config ARCH_ZYNQMP
Michal Simekb8d44972017-11-23 08:25:41 +0100785 bool "Xilinx ZynqMP based platform"
Michal Simek84c72042015-01-15 10:01:51 +0100786 select ARM64
Tom Rinie5ec4812017-01-22 19:43:11 -0500787 select BOARD_LATE_INIT
Michal Simekc2490bf2015-10-17 19:41:25 -0600788 select DM
789 select OF_CONTROL
790 select DM_SERIAL
Michal Simeke6a9ed02015-11-20 13:17:22 +0100791 select SUPPORT_SPL
Michal Simek1f297382016-07-14 15:07:54 +0200792 select CLK
Ley Foon Tan0680f1b2017-05-03 17:13:32 +0800793 select SPL_BOARD_INIT if SPL
Michal Simek2f039682017-12-01 15:13:36 +0100794 select SPL_CLK if SPL
Simon Glassdec49e82016-07-05 17:10:14 -0600795 select DM_USB if USB
Tom Rini91d27a12017-06-02 11:03:50 -0400796 imply FAT_WRITE
Michal Simek84c72042015-01-15 10:01:51 +0100797
Masahiro Yamadaddd960e2014-08-31 07:10:56 +0900798config TEGRA
799 bool "NVIDIA Tegra"
Masahiro Yamada7325f6c2018-04-25 18:47:52 +0900800 imply DISTRO_DEFAULTS
Tom Rini91d27a12017-06-02 11:03:50 -0400801 imply FAT_WRITE
Masahiro Yamadadd840582014-07-30 14:08:14 +0900802
Linus Walleijf91afc42015-01-23 11:50:53 +0100803config TARGET_VEXPRESS64_AEMV8A
Masahiro Yamadadd840582014-07-30 14:08:14 +0900804 bool "Support vexpress_aemv8a"
Masahiro Yamada016a9542014-09-14 03:01:51 +0900805 select ARM64
Alexander Grafcf2c7782018-01-25 12:05:52 +0100806 select PL01X_SERIAL
Masahiro Yamadadd840582014-07-30 14:08:14 +0900807
Linus Walleijf91afc42015-01-23 11:50:53 +0100808config TARGET_VEXPRESS64_BASE_FVP
809 bool "Support Versatile Express ARMv8a FVP BASE model"
810 select ARM64
811 select SEMIHOSTING
Alexander Grafcf2c7782018-01-25 12:05:52 +0100812 select PL01X_SERIAL
Linus Walleijf91afc42015-01-23 11:50:53 +0100813
Ryan Harkinfc04b922015-10-09 17:18:02 +0100814config TARGET_VEXPRESS64_BASE_FVP_DRAM
815 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
816 select ARM64
Alexander Grafcf2c7782018-01-25 12:05:52 +0100817 select PL01X_SERIAL
Ryan Harkinfc04b922015-10-09 17:18:02 +0100818 help
819 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
820 the default config to allow the user to load the images directly into
821 DRAM using model parameters rather than by using semi-hosting to load
822 the files from the host filesystem.
823
Linus Walleijffc10372015-01-23 14:41:10 +0100824config TARGET_VEXPRESS64_JUNO
825 bool "Support Versatile Express Juno Development Platform"
826 select ARM64
Alexander Grafcf2c7782018-01-25 12:05:52 +0100827 select PL01X_SERIAL
Linus Walleijffc10372015-01-23 14:41:10 +0100828
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530829config TARGET_LS2080A_EMU
830 bool "Support ls2080a_emu"
York Sunfb2bf8c2016-10-04 14:31:48 -0700831 select ARCH_LS2080A
Masahiro Yamada016a9542014-09-14 03:01:51 +0900832 select ARM64
Linus Walleij23b58772015-03-09 10:53:21 +0100833 select ARMV8_MULTIENTRY
Simon Glass45856012017-01-23 13:31:21 -0700834 select ARCH_MISC_INIT
York Sun7288c2c2015-03-20 19:28:23 -0700835 help
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530836 Support for Freescale LS2080A_EMU platform
837 The LS2080A Development System (EMULATOR) is a pre silicon
838 development platform that supports the QorIQ LS2080A
York Sun7288c2c2015-03-20 19:28:23 -0700839 Layerscape Architecture processor.
840
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530841config TARGET_LS2080A_SIMU
842 bool "Support ls2080a_simu"
York Sunfb2bf8c2016-10-04 14:31:48 -0700843 select ARCH_LS2080A
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530844 select ARM64
845 select ARMV8_MULTIENTRY
Simon Glass45856012017-01-23 13:31:21 -0700846 select ARCH_MISC_INIT
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530847 help
848 Support for Freescale LS2080A_SIMU platform
849 The LS2080A Development System (QDS) is a pre silicon
850 development platform that supports the QorIQ LS2080A
851 Layerscape Architecture processor.
852
Ashish Kumar77697762017-08-31 16:12:55 +0530853config TARGET_LS1088AQDS
854 bool "Support ls1088aqds"
855 select ARCH_LS1088A
856 select ARM64
857 select ARMV8_MULTIENTRY
858 select ARCH_MISC_INIT
859 select BOARD_LATE_INIT
Ashish Kumar91fded62017-11-06 13:18:44 +0530860 select SUPPORT_SPL
Ashish Kumar77697762017-08-31 16:12:55 +0530861 help
862 Support for NXP LS1088AQDS platform
863 The LS1088A Development System (QDS) is a high-performance
864 development platform that supports the QorIQ LS1088A
865 Layerscape Architecture processor.
866
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530867config TARGET_LS2080AQDS
868 bool "Support ls2080aqds"
York Sunfb2bf8c2016-10-04 14:31:48 -0700869 select ARCH_LS2080A
York Sune2b65ea2015-03-20 19:28:24 -0700870 select ARM64
871 select ARMV8_MULTIENTRY
Tom Rinie5ec4812017-01-22 19:43:11 -0500872 select BOARD_LATE_INIT
Scott Wood32eda7c2015-03-24 13:25:03 -0700873 select SUPPORT_SPL
Simon Glass45856012017-01-23 13:31:21 -0700874 select ARCH_MISC_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600875 imply SCSI
Tuomas Tynkkynen9fd95ef2017-12-08 15:36:19 +0200876 imply SCSI_AHCI
York Sune2b65ea2015-03-20 19:28:24 -0700877 help
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530878 Support for Freescale LS2080AQDS platform
879 The LS2080A Development System (QDS) is a high-performance
880 development platform that supports the QorIQ LS2080A
881 Layerscape Architecture processor.
882
883config TARGET_LS2080ARDB
884 bool "Support ls2080ardb"
York Sunfb2bf8c2016-10-04 14:31:48 -0700885 select ARCH_LS2080A
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530886 select ARM64
887 select ARMV8_MULTIENTRY
Tom Rinie5ec4812017-01-22 19:43:11 -0500888 select BOARD_LATE_INIT
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530889 select SUPPORT_SPL
Simon Glass45856012017-01-23 13:31:21 -0700890 select ARCH_MISC_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600891 imply SCSI
Tuomas Tynkkynen9fd95ef2017-12-08 15:36:19 +0200892 imply SCSI_AHCI
Prabhakar Kushwaha44937212015-11-09 16:42:07 +0530893 help
894 Support for Freescale LS2080ARDB platform.
895 The LS2080A Reference design board (RDB) is a high-performance
896 development platform that supports the QorIQ LS2080A
York Sune2b65ea2015-03-20 19:28:24 -0700897 Layerscape Architecture processor.
898
Priyanka Jain3049a582017-04-27 15:08:07 +0530899config TARGET_LS2081ARDB
900 bool "Support ls2081ardb"
901 select ARCH_LS2080A
902 select ARM64
903 select ARMV8_MULTIENTRY
904 select BOARD_LATE_INIT
905 select SUPPORT_SPL
906 select ARCH_MISC_INIT
907 help
908 Support for Freescale LS2081ARDB platform.
909 The LS2081A Reference design board (RDB) is a high-performance
910 development platform that supports the QorIQ LS2081A/LS2041A
911 Layerscape Architecture processor.
912
Peter Griffin11ac2362015-07-30 18:55:23 +0100913config TARGET_HIKEY
914 bool "Support HiKey 96boards Consumer Edition Platform"
915 select ARM64
Peter Griffinefd7b602015-09-10 21:55:16 +0100916 select DM
917 select DM_GPIO
Peter Griffin9c71bcd2015-09-10 21:55:17 +0100918 select DM_SERIAL
Peter Griffincd593ed2016-04-20 17:13:59 +0100919 select OF_CONTROL
Alexander Grafcf2c7782018-01-25 12:05:52 +0100920 select PL01X_SERIAL
Tom Rini6f6b7cf2018-03-06 19:02:27 -0500921 select SPECIFY_CONSOLE_INDEX
Peter Griffin11ac2362015-07-30 18:55:23 +0100922 help
923 Support for HiKey 96boards platform. It features a HI6220
924 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
925
Jorge Ramirez-Ortizd7542542017-06-26 15:52:49 +0200926config TARGET_POPLAR
927 bool "Support Poplar 96boards Enterprise Edition Platform"
928 select ARM64
929 select DM
930 select OF_CONTROL
931 select DM_SERIAL
932 select DM_USB
Alexander Grafcf2c7782018-01-25 12:05:52 +0100933 select PL01X_SERIAL
Jorge Ramirez-Ortizd7542542017-06-26 15:52:49 +0200934 help
935 Support for Poplar 96boards EE platform. It features a HI3798cv200
936 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
937 making it capable of running any commercial set-top solution based on
938 Linux or Android.
939
Prabhakar Kushwaha9d044fc2016-06-03 18:41:34 +0530940config TARGET_LS1012AQDS
941 bool "Support ls1012aqds"
York Sun9533acf2016-09-26 08:09:26 -0700942 select ARCH_LS1012A
Prabhakar Kushwaha9d044fc2016-06-03 18:41:34 +0530943 select ARM64
Tom Rinie5ec4812017-01-22 19:43:11 -0500944 select BOARD_LATE_INIT
Prabhakar Kushwaha9d044fc2016-06-03 18:41:34 +0530945 help
946 Support for Freescale LS1012AQDS platform.
947 The LS1012A Development System (QDS) is a high-performance
948 development platform that supports the QorIQ LS1012A
949 Layerscape Architecture processor.
950
Prabhakar Kushwaha3b6e3892016-06-03 18:41:35 +0530951config TARGET_LS1012ARDB
952 bool "Support ls1012ardb"
York Sun9533acf2016-09-26 08:09:26 -0700953 select ARCH_LS1012A
Prabhakar Kushwaha3b6e3892016-06-03 18:41:35 +0530954 select ARM64
Tom Rinie5ec4812017-01-22 19:43:11 -0500955 select BOARD_LATE_INIT
Simon Glassfedb4282017-06-14 21:28:21 -0600956 imply SCSI
Tuomas Tynkkynen9fd95ef2017-12-08 15:36:19 +0200957 imply SCSI_AHCI
Prabhakar Kushwaha3b6e3892016-06-03 18:41:35 +0530958 help
959 Support for Freescale LS1012ARDB platform.
960 The LS1012A Reference design board (RDB) is a high-performance
961 development platform that supports the QorIQ LS1012A
962 Layerscape Architecture processor.
963
Bhaskar Upadhayab0ce1872018-01-11 20:03:31 +0530964config TARGET_LS1012A2G5RDB
965 bool "Support ls1012a2g5rdb"
966 select ARCH_LS1012A
967 select ARM64
968 select BOARD_LATE_INIT
969 imply SCSI
970 help
971 Support for Freescale LS1012A2G5RDB platform.
972 The LS1012A 2G5 Reference design board (RDB) is a high-performance
973 development platform that supports the QorIQ LS1012A
974 Layerscape Architecture processor.
975
Prabhakar Kushwahaff78aa22016-06-03 18:41:36 +0530976config TARGET_LS1012AFRDM
977 bool "Support ls1012afrdm"
York Sun9533acf2016-09-26 08:09:26 -0700978 select ARCH_LS1012A
Prabhakar Kushwahaff78aa22016-06-03 18:41:36 +0530979 select ARM64
980 help
981 Support for Freescale LS1012AFRDM platform.
982 The LS1012A Freedom board (FRDM) is a high-performance
983 development platform that supports the QorIQ LS1012A
984 Layerscape Architecture processor.
985
Ashish Kumare84a3242017-08-31 16:12:54 +0530986config TARGET_LS1088ARDB
987 bool "Support ls1088ardb"
988 select ARCH_LS1088A
989 select ARM64
990 select ARMV8_MULTIENTRY
991 select ARCH_MISC_INIT
992 select BOARD_LATE_INIT
Ashish Kumar099f4092017-11-06 13:18:43 +0530993 select SUPPORT_SPL
Ashish Kumare84a3242017-08-31 16:12:54 +0530994 help
995 Support for NXP LS1088ARDB platform.
996 The LS1088A Reference design board (RDB) is a high-performance
997 development platform that supports the QorIQ LS1088A
998 Layerscape Architecture processor.
999
Wang Huan550e3dc2014-09-05 13:52:44 +08001000config TARGET_LS1021AQDS
Alison Wang0de15702014-12-03 16:18:09 +08001001 bool "Support ls1021aqds"
Tom Rinie5ec4812017-01-22 19:43:11 -05001002 select BOARD_LATE_INIT
Lokesh Vutlaacf15002018-04-26 18:21:26 +05301003 select CPU_V7A
Hongbo Zhangadee1d42016-09-21 18:31:04 +08001004 select CPU_V7_HAS_NONSEC
1005 select CPU_V7_HAS_VIRT
Alison Wang50f0c662014-12-03 15:00:45 +08001006 select SUPPORT_SPL
York Sun0a37cf82016-09-26 08:09:27 -07001007 select ARCH_LS1021A
Masahiro Yamada217f92b2016-08-30 16:22:22 +09001008 select ARCH_SUPPORT_PSCI
York Sun5e8bd7e2016-09-26 08:09:29 -07001009 select LS1_DEEP_SLEEP
York Sund26e34c2016-12-28 08:43:40 -08001010 select SYS_FSL_DDR
Simon Glassa5d67542017-01-23 13:31:20 -07001011 select BOARD_EARLY_INIT_F
Simon Glassfedb4282017-06-14 21:28:21 -06001012 imply SCSI
Masahiro Yamada217f92b2016-08-30 16:22:22 +09001013
Wang Huanc8a7d9d2014-09-05 13:52:45 +08001014config TARGET_LS1021ATWR
Alison Wang0de15702014-12-03 16:18:09 +08001015 bool "Support ls1021atwr"
Tom Rinie5ec4812017-01-22 19:43:11 -05001016 select BOARD_LATE_INIT
Lokesh Vutlaacf15002018-04-26 18:21:26 +05301017 select CPU_V7A
Hongbo Zhangadee1d42016-09-21 18:31:04 +08001018 select CPU_V7_HAS_NONSEC
1019 select CPU_V7_HAS_VIRT
Alison Wang50f0c662014-12-03 15:00:45 +08001020 select SUPPORT_SPL
York Sun0a37cf82016-09-26 08:09:27 -07001021 select ARCH_LS1021A
Masahiro Yamada217f92b2016-08-30 16:22:22 +09001022 select ARCH_SUPPORT_PSCI
York Sun5e8bd7e2016-09-26 08:09:29 -07001023 select LS1_DEEP_SLEEP
Simon Glassa5d67542017-01-23 13:31:20 -07001024 select BOARD_EARLY_INIT_F
Simon Glassfedb4282017-06-14 21:28:21 -06001025 imply SCSI
Wang Huanc8a7d9d2014-09-05 13:52:45 +08001026
Feng Li20c700f2016-11-03 14:15:17 +08001027config TARGET_LS1021AIOT
1028 bool "Support ls1021aiot"
Tom Rinie5ec4812017-01-22 19:43:11 -05001029 select BOARD_LATE_INIT
Lokesh Vutlaacf15002018-04-26 18:21:26 +05301030 select CPU_V7A
Feng Li20c700f2016-11-03 14:15:17 +08001031 select CPU_V7_HAS_NONSEC
1032 select CPU_V7_HAS_VIRT
1033 select SUPPORT_SPL
1034 select ARCH_LS1021A
1035 select ARCH_SUPPORT_PSCI
Simon Glassfedb4282017-06-14 21:28:21 -06001036 imply SCSI
Feng Li20c700f2016-11-03 14:15:17 +08001037 help
1038 Support for Freescale LS1021AIOT platform.
1039 The LS1021A Freescale board (IOT) is a high-performance
1040 development platform that supports the QorIQ LS1021A
1041 Layerscape Architecture processor.
1042
Shaohui Xie02b5d2e2015-11-11 17:58:37 +08001043config TARGET_LS1043AQDS
1044 bool "Support ls1043aqds"
York Sun0a37cf82016-09-26 08:09:27 -07001045 select ARCH_LS1043A
Shaohui Xie02b5d2e2015-11-11 17:58:37 +08001046 select ARM64
1047 select ARMV8_MULTIENTRY
Tom Rinie5ec4812017-01-22 19:43:11 -05001048 select BOARD_LATE_INIT
Shaohui Xie02b5d2e2015-11-11 17:58:37 +08001049 select SUPPORT_SPL
Simon Glassa5d67542017-01-23 13:31:20 -07001050 select BOARD_EARLY_INIT_F
Simon Glassfedb4282017-06-14 21:28:21 -06001051 imply SCSI
Shaohui Xie02b5d2e2015-11-11 17:58:37 +08001052 help
1053 Support for Freescale LS1043AQDS platform.
1054
Mingkai Huf3a8e2b2015-10-26 19:47:52 +08001055config TARGET_LS1043ARDB
1056 bool "Support ls1043ardb"
York Sun0a37cf82016-09-26 08:09:27 -07001057 select ARCH_LS1043A
Mingkai Huf3a8e2b2015-10-26 19:47:52 +08001058 select ARM64
Hou Zhiqiang831c0682015-10-26 19:47:57 +08001059 select ARMV8_MULTIENTRY
Tom Rinie5ec4812017-01-22 19:43:11 -05001060 select BOARD_LATE_INIT
Gong Qianyu3ad44722015-10-26 19:47:53 +08001061 select SUPPORT_SPL
Simon Glassa5d67542017-01-23 13:31:20 -07001062 select BOARD_EARLY_INIT_F
Simon Glassfedb4282017-06-14 21:28:21 -06001063 imply SCSI
Mingkai Huf3a8e2b2015-10-26 19:47:52 +08001064 help
1065 Support for Freescale LS1043ARDB platform.
1066
Shaohui Xie126fe702016-09-07 17:56:14 +08001067config TARGET_LS1046AQDS
1068 bool "Support ls1046aqds"
York Sunda28e582016-09-26 08:09:24 -07001069 select ARCH_LS1046A
Shaohui Xie126fe702016-09-07 17:56:14 +08001070 select ARM64
1071 select ARMV8_MULTIENTRY
Tom Rinie5ec4812017-01-22 19:43:11 -05001072 select BOARD_LATE_INIT
Shaohui Xie126fe702016-09-07 17:56:14 +08001073 select SUPPORT_SPL
1074 select DM_SPI_FLASH if DM_SPI
Simon Glassa5d67542017-01-23 13:31:20 -07001075 select BOARD_EARLY_INIT_F
Simon Glassfedb4282017-06-14 21:28:21 -06001076 imply SCSI
Shaohui Xie126fe702016-09-07 17:56:14 +08001077 help
1078 Support for Freescale LS1046AQDS platform.
1079 The LS1046A Development System (QDS) is a high-performance
1080 development platform that supports the QorIQ LS1046A
1081 Layerscape Architecture processor.
1082
Mingkai Hudd029362016-09-07 18:47:28 +08001083config TARGET_LS1046ARDB
1084 bool "Support ls1046ardb"
York Sunda28e582016-09-26 08:09:24 -07001085 select ARCH_LS1046A
Mingkai Hudd029362016-09-07 18:47:28 +08001086 select ARM64
1087 select ARMV8_MULTIENTRY
Tom Rinie5ec4812017-01-22 19:43:11 -05001088 select BOARD_LATE_INIT
Mingkai Hudd029362016-09-07 18:47:28 +08001089 select SUPPORT_SPL
1090 select DM_SPI_FLASH if DM_SPI
Hou Zhiqiangdccef2e2016-12-09 16:09:01 +08001091 select POWER_MC34VR500
Simon Glassa5d67542017-01-23 13:31:20 -07001092 select BOARD_EARLY_INIT_F
Simon Glassfedb4282017-06-14 21:28:21 -06001093 imply SCSI
Mingkai Hudd029362016-09-07 18:47:28 +08001094 help
1095 Support for Freescale LS1046ARDB platform.
1096 The LS1046A Reference Design Board (RDB) is a high-performance
1097 development platform that supports the QorIQ LS1046A
1098 Layerscape Architecture processor.
1099
Masahiro Yamadadd840582014-07-30 14:08:14 +09001100config TARGET_H2200
1101 bool "Support h2200"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +01001102 select CPU_PXA
Masahiro Yamadadd840582014-07-30 14:08:14 +09001103
Vasily Khoruzhickf19eb152016-03-20 18:37:00 -07001104config TARGET_ZIPITZ2
1105 bool "Support zipitz2"
1106 select CPU_PXA
1107
Masahiro Yamadadd840582014-07-30 14:08:14 +09001108config TARGET_COLIBRI_PXA270
1109 bool "Support colibri_pxa270"
Georges Savoundararadj2e07c242014-10-28 23:16:09 +01001110 select CPU_PXA
Masahiro Yamadadd840582014-07-30 14:08:14 +09001111
Masahiro Yamada66cba042014-10-03 19:21:07 +09001112config ARCH_UNIPHIER
Masahiro Yamadab6ef3a32015-05-29 17:30:01 +09001113 bool "Socionext UniPhier SoCs"
Tom Rinie5ec4812017-01-22 19:43:11 -05001114 select BOARD_LATE_INIT
Masahiro Yamada4e819952015-03-31 12:47:54 +09001115 select DM
Masahiro Yamadab800cbd2016-02-16 17:03:50 +09001116 select DM_GPIO
Masahiro Yamada4e819952015-03-31 12:47:54 +09001117 select DM_I2C
Masahiro Yamada4aceb3f2016-02-18 19:52:49 +09001118 select DM_MMC
Masahiro Yamada4fb96c42016-10-08 13:25:31 +09001119 select DM_RESET
Masahiro Yamadab5550e42016-09-14 01:05:59 +09001120 select DM_SERIAL
Masahiro Yamada47a79f62016-09-14 01:06:00 +09001121 select DM_USB
Masahiro Yamadab5550e42016-09-14 01:05:59 +09001122 select OF_CONTROL
1123 select OF_LIBFDT
Masahiro Yamada27350c92016-09-17 03:33:01 +09001124 select PINCTRL
Ley Foon Tan0680f1b2017-05-03 17:13:32 +08001125 select SPL_BOARD_INIT if SPL
Masahiro Yamada561ca642017-01-21 18:05:22 +09001126 select SPL_DM if SPL
1127 select SPL_LIBCOMMON_SUPPORT if SPL
1128 select SPL_LIBGENERIC_SUPPORT if SPL
1129 select SPL_OF_CONTROL if SPL
1130 select SPL_PINCTRL if SPL
Masahiro Yamadab5550e42016-09-14 01:05:59 +09001131 select SUPPORT_SPL
Tom Rini91d27a12017-06-02 11:03:50 -04001132 imply FAT_WRITE
Masahiro Yamadab6ef3a32015-05-29 17:30:01 +09001133 help
1134 Support for UniPhier SoC family developed by Socionext Inc.
1135 (formerly, System LSI Business Division of Panasonic Corporation)
Masahiro Yamada66cba042014-10-03 19:21:07 +09001136
Vikas Manocha0a61ee82016-01-15 17:49:06 -08001137config STM32
Patrick Delaunay2514c2d2018-03-12 10:46:10 +01001138 bool "Support STMicroelectronics STM32 MCU with cortex M"
rev13@wp.pled09a552015-03-01 12:44:42 +01001139 select CPU_V7M
Kamil Lulko66562412015-12-01 09:08:19 +01001140 select DM
1141 select DM_SERIAL
Tom Rini3a649402017-03-18 09:01:44 -04001142 select SYS_THUMB_BUILD
rev13@wp.pled09a552015-03-01 12:44:42 +01001143
Patrice Chotard94e9a4e2017-02-21 13:37:04 +01001144config ARCH_STI
1145 bool "Support STMicrolectronics SoCs"
Lokesh Vutlaacf15002018-04-26 18:21:26 +05301146 select CPU_V7A
Patrice Chotard214a17e2017-02-21 13:37:07 +01001147 select DM
1148 select DM_SERIAL
Patrice Chotardeee20f82017-02-21 13:37:09 +01001149 select BLK
1150 select DM_MMC
Patrice Chotard584861f2017-03-22 10:54:03 +01001151 select DM_RESET
Patrice Chotard94e9a4e2017-02-21 13:37:04 +01001152 help
1153 Support for STMicroelectronics STiH407/10 SoC family.
1154 This SoC is used on Linaro 96Board STiH410-B2260
1155
Patrick Delaunay2514c2d2018-03-12 10:46:10 +01001156config ARCH_STM32MP
1157 bool "Support STMicroelectronics STM32MP Socs with cortex A"
Patrick Delaunay08772f62018-03-20 10:54:53 +01001158 select ARCH_MISC_INIT
Patrick Delaunay2514c2d2018-03-12 10:46:10 +01001159 select BOARD_LATE_INIT
1160 select CLK
1161 select DM
1162 select DM_GPIO
1163 select DM_RESET
1164 select DM_SERIAL
1165 select OF_CONTROL
1166 select OF_LIBFDT
1167 select PINCTRL
1168 select REGMAP
1169 select SUPPORT_SPL
1170 select SYSCON
Patrick Delaunay86634a92018-03-20 14:15:06 +01001171 select SYSRESET
Patrick Delaunay2514c2d2018-03-12 10:46:10 +01001172 select SYS_THUMB_BUILD
1173 help
1174 Support for STM32MP SoC family developed by STMicroelectronics,
1175 MPUs based on ARM cortex A core
1176 U-BOOT is running in DDR and SPL support is the unsecure First Stage
1177 BootLoader (FSBL)
1178
Simon Glass2444dae2015-08-30 16:55:38 -06001179config ARCH_ROCKCHIP
1180 bool "Support Rockchip SoCs"
Simon Glass2444dae2015-08-30 16:55:38 -06001181 select OF_CONTROL
Simon Glassaa150382016-06-12 23:30:14 -06001182 select BLK
Simon Glass2444dae2015-08-30 16:55:38 -06001183 select DM
Kever Yanga381bcf2016-07-19 21:16:59 +08001184 select SPL_DM if SPL
Simon Glassaa150382016-06-12 23:30:14 -06001185 select SYS_MALLOC_F
Tom Rini3a649402017-03-18 09:01:44 -04001186 select SYS_THUMB_BUILD if !ARM64
Kever Yanga381bcf2016-07-19 21:16:59 +08001187 select SPL_SYS_MALLOC_SIMPLE if SPL
Simon Glassaa150382016-06-12 23:30:14 -06001188 select DM_GPIO
1189 select DM_I2C
1190 select DM_MMC
1191 select DM_SERIAL
1192 select DM_SPI
1193 select DM_SPI_FLASH
MengDongyang892742d2016-08-24 12:02:18 +08001194 select DM_USB if USB
Kever Yang8d29e3a2016-09-23 15:57:21 +08001195 select DM_PWM
1196 select DM_REGULATOR
Philipp Tomsich14ad6eb2017-10-10 16:21:03 +02001197 select ENABLE_ARM_SOC_BOOT0_HOOK
Adam Fordf1b1f772018-04-15 13:51:26 -04001198 select SPI
Tom Rini48f62322017-08-25 17:50:27 -04001199 imply CMD_FASTBOOT
Masahiro Yamada7325f6c2018-04-25 18:47:52 +09001200 imply DISTRO_DEFAULTS
Tom Rini48f62322017-08-25 17:50:27 -04001201 imply FASTBOOT
Tom Rini91d27a12017-06-02 11:03:50 -04001202 imply FAT_WRITE
Tom Rini48f62322017-08-25 17:50:27 -04001203 imply USB_FUNCTION_FASTBOOT
Kever Yang0532cee2017-09-08 11:00:54 +08001204 imply SPL_SYSRESET
Kever Yange19fa892017-09-13 09:39:06 +08001205 imply TPL_SYSRESET
Philipp Tomsich8e8bccc2017-09-20 13:50:13 +02001206 imply ADC
1207 imply SARADC_ROCKCHIP
Kever Yangc3c03312018-04-19 11:37:09 +08001208 imply SYS_NS16550
Simon Glass2444dae2015-08-30 16:55:38 -06001209
Sergey Temerkhanov746f9852015-10-14 09:55:50 -07001210config TARGET_THUNDERX_88XX
1211 bool "Support ThunderX 88xx"
Marek Vasutb4ba1692016-06-01 02:33:53 +02001212 select ARM64
Sergey Temerkhanov746f9852015-10-14 09:55:50 -07001213 select OF_CONTROL
Tom Rini067716b2016-08-22 08:22:17 -04001214 select SYS_CACHE_SHIFT_7
Alexander Grafcf2c7782018-01-25 12:05:52 +01001215 select PL01X_SERIAL
Sergey Temerkhanov746f9852015-10-14 09:55:50 -07001216
maxims@google.com4697abe2017-01-18 13:44:55 -08001217config ARCH_ASPEED
1218 bool "Support Aspeed SoCs"
1219 select OF_CONTROL
1220 select DM
1221
Masahiro Yamadadd840582014-07-30 14:08:14 +09001222endchoice
1223
Andrew F. Davis5fbed8f2018-02-14 11:53:37 -06001224config TI_SECURE_DEVICE
1225 bool "HS Device Type Support"
1226 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
1227 help
1228 If a high secure (HS) device type is being used, this config
1229 must be set. This option impacts various aspects of the
1230 build system (to create signed boot images that can be
1231 authenticated) and the code. See the doc/README.ti-secure
1232 file for further details.
1233
maxims@google.com4697abe2017-01-18 13:44:55 -08001234source "arch/arm/mach-aspeed/Kconfig"
1235
Masahiro Yamada4614b892015-02-20 17:04:01 +09001236source "arch/arm/mach-at91/Kconfig"
1237
Masahiro Yamadaddf6bd42015-03-19 19:42:56 +09001238source "arch/arm/mach-bcm283x/Kconfig"
Masahiro Yamada3491ba62014-08-31 07:11:01 +09001239
Masahiro Yamadaddf6bd42015-03-19 19:42:56 +09001240source "arch/arm/mach-davinci/Kconfig"
Simon Glass34e609c2015-02-05 21:41:39 -07001241
Thomas Abraham77b55e82015-08-03 17:58:00 +05301242source "arch/arm/mach-exynos/Kconfig"
Masahiro Yamada72df68c2014-08-31 07:11:00 +09001243
Masahiro Yamada72a8ff42015-02-20 17:04:08 +09001244source "arch/arm/mach-highbank/Kconfig"
Masahiro Yamadaef2b6942014-08-31 07:11:07 +09001245
Masahiro Yamada5cbbd9b2015-04-21 21:59:36 +09001246source "arch/arm/mach-integrator/Kconfig"
1247
Masahiro Yamada39a72342015-02-20 17:04:11 +09001248source "arch/arm/mach-keystone/Kconfig"
Masahiro Yamadac338f092014-08-31 07:11:05 +09001249
Masahiro Yamada56f86e32015-02-20 17:04:06 +09001250source "arch/arm/mach-kirkwood/Kconfig"
Masahiro Yamada47539e22014-08-31 07:10:59 +09001251
Stefan Roesec3d89142015-08-25 13:18:38 +02001252source "arch/arm/mach-mvebu/Kconfig"
1253
York Sun0a37cf82016-09-26 08:09:27 -07001254source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1255
Fabio Estevam07df6972017-11-03 13:40:08 -02001256source "arch/arm/mach-imx/mx2/Kconfig"
1257
Peng Fan7a7391f2018-01-10 13:20:19 +08001258source "arch/arm/mach-imx/mx5/Kconfig"
Adrian Alonso1a8150d2015-09-03 11:49:28 -05001259
Stefano Babic552a8482017-06-29 10:16:06 +02001260source "arch/arm/mach-imx/mx6/Kconfig"
Boris BREZILLON89ebc822015-03-04 13:13:03 +01001261
Peng Fan7a7391f2018-01-10 13:20:19 +08001262source "arch/arm/mach-imx/mx7/Kconfig"
1263
1264source "arch/arm/mach-imx/mx7ulp/Kconfig"
1265
1266source "arch/arm/mach-imx/mx8m/Kconfig"
Andrej Rosano424ee3d2015-04-08 18:56:29 +02001267
Stefan Agnerc5343d42018-02-06 09:44:34 +01001268source "arch/arm/mach-imx/mxs/Kconfig"
1269
Tom Rini983e3702016-11-07 21:34:54 -05001270source "arch/arm/mach-omap2/Kconfig"
Madan Srinivas63847262016-05-19 19:10:43 -05001271
York Sunda28e582016-09-26 08:09:24 -07001272source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1273
Masahiro Yamada3e93b4e2015-02-20 17:04:09 +09001274source "arch/arm/mach-orion5x/Kconfig"
Masahiro Yamada22f2be72014-08-31 07:11:06 +09001275
Nobuhiro Iwamatsubadbb632015-10-09 16:40:09 +09001276source "arch/arm/mach-rmobile/Kconfig"
Masahiro Yamadaf40b9892014-08-31 07:10:57 +09001277
Beniamino Galvanibfcef282016-05-08 08:30:16 +02001278source "arch/arm/mach-meson/Kconfig"
1279
Tuomas Tynkkynen32f11822017-09-19 23:18:07 +03001280source "arch/arm/mach-qemu/Kconfig"
1281
Simon Glass2444dae2015-08-30 16:55:38 -06001282source "arch/arm/mach-rockchip/Kconfig"
1283
Minkyu Kang225f5ee2015-11-20 15:24:57 +09001284source "arch/arm/mach-s5pc1xx/Kconfig"
Simon Glass311757b2014-10-07 22:01:50 -06001285
Mateusz Kulikowski08592132016-03-31 23:12:32 +02001286source "arch/arm/mach-snapdragon/Kconfig"
1287
Masahiro Yamada7865f4b2015-04-21 20:38:20 +09001288source "arch/arm/mach-socfpga/Kconfig"
1289
Patrice Chotard94e9a4e2017-02-21 13:37:04 +01001290source "arch/arm/mach-sti/Kconfig"
1291
Vikas Manocha0a61ee82016-01-15 17:49:06 -08001292source "arch/arm/mach-stm32/Kconfig"
1293
Patrick Delaunay2514c2d2018-03-12 10:46:10 +01001294source "arch/arm/mach-stm32mp/Kconfig"
1295
Masahiro Yamada3abfd882017-04-28 19:42:18 +09001296source "arch/arm/mach-sunxi/Kconfig"
1297
Masahiro Yamada09f455d2015-02-20 17:04:04 +09001298source "arch/arm/mach-tegra/Kconfig"
Masahiro Yamadaddd960e2014-08-31 07:10:56 +09001299
Masahiro Yamada4c425572015-02-27 02:26:42 +09001300source "arch/arm/mach-uniphier/Kconfig"
Masahiro Yamada66cba042014-10-03 19:21:07 +09001301
Stefan Agner7966b432017-03-13 18:41:36 -07001302source "arch/arm/cpu/armv7/vf610/Kconfig"
1303
Masahiro Yamada0107f242015-03-16 16:43:22 +09001304source "arch/arm/mach-zynq/Kconfig"
Masahiro Yamadaddd960e2014-08-31 07:10:56 +09001305
Hans de Goedeea624e12014-11-14 09:34:30 +01001306source "arch/arm/cpu/armv7/Kconfig"
1307
Siva Durga Prasad Paladugu75580002015-06-10 15:50:56 +05301308source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1309
Linus Walleij23b58772015-03-09 10:53:21 +01001310source "arch/arm/cpu/armv8/Kconfig"
1311
Stefano Babic552a8482017-06-29 10:16:06 +02001312source "arch/arm/mach-imx/Kconfig"
Boris BREZILLONa05a6042015-03-04 13:13:04 +01001313
Heiko Schocherd8ccbe92016-06-07 08:31:25 +02001314source "board/bosch/shc/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001315source "board/CarMediaLab/flea3/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001316source "board/Marvell/aspenite/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001317source "board/Marvell/gplugd/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001318source "board/armadeus/apf27/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001319source "board/armltd/vexpress/Kconfig"
1320source "board/armltd/vexpress64/Kconfig"
Steve Rae43486e42016-06-02 15:10:56 -07001321source "board/broadcom/bcm23550_w1d/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001322source "board/broadcom/bcm28155_ap/Kconfig"
Steve Raeabb16782014-11-11 11:32:18 -08001323source "board/broadcom/bcmcygnus/Kconfig"
1324source "board/broadcom/bcmnsp/Kconfig"
Jon Mason274bced2017-03-17 12:12:14 -04001325source "board/broadcom/bcmns2/Kconfig"
Sergey Temerkhanov746f9852015-10-14 09:55:50 -07001326source "board/cavium/thunderx/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001327source "board/cirrus/edb93xx/Kconfig"
Felix Brack85ab0452018-01-23 18:27:22 +01001328source "board/eets/pdu001/Kconfig"
Prabhakar Kushwaha44937212015-11-09 16:42:07 +05301329source "board/freescale/ls2080a/Kconfig"
1330source "board/freescale/ls2080aqds/Kconfig"
1331source "board/freescale/ls2080ardb/Kconfig"
Ashish Kumare84a3242017-08-31 16:12:54 +05301332source "board/freescale/ls1088a/Kconfig"
Wang Huan550e3dc2014-09-05 13:52:44 +08001333source "board/freescale/ls1021aqds/Kconfig"
Shaohui Xie02b5d2e2015-11-11 17:58:37 +08001334source "board/freescale/ls1043aqds/Kconfig"
Wang Huanc8a7d9d2014-09-05 13:52:45 +08001335source "board/freescale/ls1021atwr/Kconfig"
Feng Li20c700f2016-11-03 14:15:17 +08001336source "board/freescale/ls1021aiot/Kconfig"
Shaohui Xie126fe702016-09-07 17:56:14 +08001337source "board/freescale/ls1046aqds/Kconfig"
Mingkai Huf3a8e2b2015-10-26 19:47:52 +08001338source "board/freescale/ls1043ardb/Kconfig"
Mingkai Hudd029362016-09-07 18:47:28 +08001339source "board/freescale/ls1046ardb/Kconfig"
Prabhakar Kushwaha9d044fc2016-06-03 18:41:34 +05301340source "board/freescale/ls1012aqds/Kconfig"
Prabhakar Kushwaha3b6e3892016-06-03 18:41:35 +05301341source "board/freescale/ls1012ardb/Kconfig"
Prabhakar Kushwahaff78aa22016-06-03 18:41:36 +05301342source "board/freescale/ls1012afrdm/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001343source "board/freescale/mx31pdk/Kconfig"
1344source "board/freescale/mx35pdk/Kconfig"
Eddy Petrișor9702ec02016-06-05 03:43:00 +03001345source "board/freescale/s32v234evb/Kconfig"
Dirk Eibach60083262017-02-22 16:07:23 +01001346source "board/gdsys/a38x/Kconfig"
Marcin Niestrojab38bf62017-01-25 09:53:08 +01001347source "board/grinn/chiliboard/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001348source "board/gumstix/pepper/Kconfig"
1349source "board/h2200/Kconfig"
Tom Rini345243e2015-09-02 15:32:20 -04001350source "board/hisilicon/hikey/Kconfig"
Jorge Ramirez-Ortizd7542542017-06-26 15:52:49 +02001351source "board/hisilicon/poplar/Kconfig"
Ladislav Michla96c08f2017-04-01 17:17:16 +02001352source "board/isee/igep003x/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001353source "board/phytec/pcm051/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001354source "board/silica/pengwyn/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001355source "board/spear/spear300/Kconfig"
1356source "board/spear/spear310/Kconfig"
1357source "board/spear/spear320/Kconfig"
1358source "board/spear/spear600/Kconfig"
1359source "board/spear/x600/Kconfig"
Vikas Manocha9fa32b12014-11-18 10:42:22 -08001360source "board/st/stv0991/Kconfig"
Enric Balletbò i Serra9d1b2982015-09-07 07:43:20 +02001361source "board/tcl/sl50/Kconfig"
Gilles Gameiroa2bc4322015-02-10 01:36:01 -08001362source "board/birdland/bav335x/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001363source "board/timll/devkit3250/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001364source "board/toradex/colibri_pxa270/Kconfig"
Yegor Yefremov6ce89322015-05-29 19:27:29 +02001365source "board/vscom/baltos/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001366source "board/woodburn/Kconfig"
Albert ARIBAUD \(3ADEV\)412ae532015-03-31 11:40:51 +02001367source "board/work-microwave/work_92105/Kconfig"
Siva Durga Prasad Paladuguc436bf92018-02-28 13:26:53 +05301368source "board/xilinx/zynqmp/Kconfig"
Vasily Khoruzhickf19eb152016-03-20 18:37:00 -07001369source "board/zipitz2/Kconfig"
Masahiro Yamadadd840582014-07-30 14:08:14 +09001370
Masahiro Yamada51b17d42014-09-01 11:06:34 +09001371source "arch/arm/Kconfig.debug"
1372
Masahiro Yamadadd840582014-07-30 14:08:14 +09001373endmenu
Philipp Tomsichb5299932017-08-03 23:23:55 +02001374
1375config SPL_LDSCRIPT
Mans Rullgard07a8f792018-04-21 16:11:10 +01001376 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
Philipp Tomsichb5299932017-08-03 23:23:55 +02001377 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1378 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1379
1380