blob: 5ff6809e94cad5733ac7e31fe18fbf602acab89d [file] [log] [blame]
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001menu "ARM architecture"
2 depends on ARM
3
4config SYS_ARCH
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09005 default "arm"
6
Masahiro Yamada0d46c342014-09-14 03:01:51 +09007config ARM64
8 bool
Masahiro Yamada653e9fe2016-07-25 19:56:03 +09009 select PHYS_64BIT
Tom Rini84f9b612016-08-22 08:22:17 -040010 select SYS_CACHE_SHIFT_6
Masahiro Yamada0d46c342014-09-14 03:01:51 +090011
Stephen Warren81c21372017-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 Warrenb80fe6d2017-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 Warren80a93652018-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 Warren81c21372017-11-02 18:11:27 -060052endif
53
54config STATIC_RELA
55 bool
56 default y if ARM64 && !POSITION_INDEPENDENT
57
Lokesh Vutlaf94277d2016-03-24 16:02:00 +053058config DMA_ADDR_T_64BIT
59 bool
60 default y if ARM64
61
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +010062config HAS_VBAR
Tom Rinibca01962016-08-22 08:22:18 -040063 bool
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +010064
Albert ARIBAUDa3823222015-10-23 18:06:40 +020065config HAS_THUMB2
Tom Rinibca01962016-08-22 08:22:18 -040066 bool
Albert ARIBAUDa3823222015-10-23 18:06:40 +020067
Phil Edworthy3b8f16a2017-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
Lokesh Vutlab2d00d62018-04-26 18:21:27 +053077config SYS_ARM_MMU
78 bool "MMU-based Paged Memory Management Support"
79 help
80 Select if you want MMU-based virtualised addressing space
81 support by paged memory management.
82
Tom Rinibacb52c2017-03-07 07:13:42 -050083# If set, the workarounds for these ARM errata are applied early during U-Boot
84# startup. Note that in general these options force the workarounds to be
85# applied; no CPU-type/version detection exists, unlike the similar options in
86# the Linux kernel. Do not set these options unless they apply! Also note that
87# the following can be machine specific errata. These do have ability to
88# provide rudimentary version and machine specific checks, but expect no
89# product checks:
90# CONFIG_ARM_ERRATA_430973
91# CONFIG_ARM_ERRATA_454179
92# CONFIG_ARM_ERRATA_621766
93# CONFIG_ARM_ERRATA_798870
94# CONFIG_ARM_ERRATA_801819
95config ARM_ERRATA_430973
96 bool
97
98config ARM_ERRATA_454179
99 bool
100
101config ARM_ERRATA_621766
102 bool
103
104config ARM_ERRATA_716044
105 bool
106
Siarhei Siamashkafe038a72017-03-06 03:16:53 +0200107config ARM_ERRATA_725233
108 bool
109
Tom Rinibacb52c2017-03-07 07:13:42 -0500110config ARM_ERRATA_742230
111 bool
112
113config ARM_ERRATA_743622
114 bool
115
116config ARM_ERRATA_751472
117 bool
118
119config ARM_ERRATA_761320
120 bool
121
122config ARM_ERRATA_773022
123 bool
124
125config ARM_ERRATA_774769
126 bool
127
128config ARM_ERRATA_794072
129 bool
130
131config ARM_ERRATA_798870
132 bool
133
134config ARM_ERRATA_801819
135 bool
136
137config ARM_ERRATA_826974
138 bool
139
140config ARM_ERRATA_828024
141 bool
142
143config ARM_ERRATA_829520
144 bool
145
146config ARM_ERRATA_833069
147 bool
148
149config ARM_ERRATA_833471
150 bool
151
Peng Fan5ac341f2017-08-08 13:34:52 +0800152config ARM_ERRATA_845369
153 bool
154
Nisal Menukafaa993a2017-04-26 16:18:01 -0500155config ARM_ERRATA_852421
156 bool
157
158config ARM_ERRATA_852423
159 bool
160
Alison Wangc1293872017-12-28 13:00:55 +0800161config ARM_ERRATA_855873
162 bool
163
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100164config CPU_ARM720T
Tom Rinibca01962016-08-22 08:22:18 -0400165 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400166 select SYS_CACHE_SHIFT_5
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530167 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100168
169config CPU_ARM920T
Tom Rinibca01962016-08-22 08:22:18 -0400170 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400171 select SYS_CACHE_SHIFT_5
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530172 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100173
174config CPU_ARM926EJS
Tom Rinibca01962016-08-22 08:22:18 -0400175 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400176 select SYS_CACHE_SHIFT_5
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530177 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100178
179config CPU_ARM946ES
Tom Rinibca01962016-08-22 08:22:18 -0400180 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400181 select SYS_CACHE_SHIFT_5
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530182 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100183
184config CPU_ARM1136
Tom Rinibca01962016-08-22 08:22:18 -0400185 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400186 select SYS_CACHE_SHIFT_5
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530187 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100188
189config CPU_ARM1176
Tom Rinibca01962016-08-22 08:22:18 -0400190 bool
191 select HAS_VBAR
Tom Rini84f9b612016-08-22 08:22:17 -0400192 select SYS_CACHE_SHIFT_5
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530193 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100194
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530195config CPU_V7A
Tom Rinibca01962016-08-22 08:22:18 -0400196 bool
197 select HAS_VBAR
198 select HAS_THUMB2
Tom Rini84f9b612016-08-22 08:22:17 -0400199 select SYS_CACHE_SHIFT_6
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530200 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100201
rev13@wp.plb3b57e82015-03-01 12:44:39 +0100202config CPU_V7M
203 bool
Tom Rinibca01962016-08-22 08:22:18 -0400204 select HAS_THUMB2
Phil Edworthy3b8f16a2017-06-01 07:33:28 +0100205 select THUMB2_KERNEL
Tom Rini84f9b612016-08-22 08:22:17 -0400206 select SYS_CACHE_SHIFT_5
rev13@wp.plb3b57e82015-03-01 12:44:39 +0100207
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100208config CPU_PXA
Tom Rinibca01962016-08-22 08:22:18 -0400209 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400210 select SYS_CACHE_SHIFT_5
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530211 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100212
213config CPU_SA1100
Tom Rinibca01962016-08-22 08:22:18 -0400214 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400215 select SYS_CACHE_SHIFT_5
Lokesh Vutlab2d00d62018-04-26 18:21:27 +0530216 imply SYS_ARM_MMU
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100217
218config SYS_CPU
Tom Rinibca01962016-08-22 08:22:18 -0400219 default "arm720t" if CPU_ARM720T
220 default "arm920t" if CPU_ARM920T
221 default "arm926ejs" if CPU_ARM926EJS
222 default "arm946es" if CPU_ARM946ES
223 default "arm1136" if CPU_ARM1136
224 default "arm1176" if CPU_ARM1176
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530225 default "armv7" if CPU_V7A
Tom Rinibca01962016-08-22 08:22:18 -0400226 default "armv7m" if CPU_V7M
227 default "pxa" if CPU_PXA
228 default "sa1100" if CPU_SA1100
Masahiro Yamadadade3b02014-11-06 11:39:27 +0900229 default "armv8" if ARM64
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100230
Marek Vasutb06c9542016-05-26 18:01:36 +0200231config SYS_ARM_ARCH
232 int
233 default 4 if CPU_ARM720T
234 default 4 if CPU_ARM920T
235 default 5 if CPU_ARM926EJS
236 default 5 if CPU_ARM946ES
237 default 6 if CPU_ARM1136
238 default 6 if CPU_ARM1176
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530239 default 7 if CPU_V7A
Marek Vasutb06c9542016-05-26 18:01:36 +0200240 default 7 if CPU_V7M
241 default 5 if CPU_PXA
242 default 4 if CPU_SA1100
243 default 8 if ARM64
244
Tom Rini84f9b612016-08-22 08:22:17 -0400245config SYS_CACHE_SHIFT_5
246 bool
247
248config SYS_CACHE_SHIFT_6
249 bool
250
251config SYS_CACHE_SHIFT_7
252 bool
253
254config SYS_CACHELINE_SIZE
255 int
256 default 128 if SYS_CACHE_SHIFT_7
257 default 64 if SYS_CACHE_SHIFT_6
258 default 32 if SYS_CACHE_SHIFT_5
259
Andre Przywara7b169252018-04-12 04:24:46 +0300260config SYS_ARCH_TIMER
261 bool "ARM Generic Timer support"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530262 depends on CPU_V7A || ARM64
Andre Przywara7b169252018-04-12 04:24:46 +0300263 default y if ARM64
264 help
265 The ARM Generic Timer (aka arch-timer) provides an architected
266 interface to a timer source on an SoC.
267 It is mandantory for ARMv8 implementation and widely available
268 on ARMv7 systems.
269
Masahiro Yamadae8ead732017-04-14 11:10:23 +0900270config ARM_SMCCC
271 bool "Support for ARM SMC Calling Convention (SMCCC)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530272 depends on CPU_V7A || ARM64
Masahiro Yamada836c55d2017-04-14 11:10:24 +0900273 select ARM_PSCI_FW
Masahiro Yamadae8ead732017-04-14 11:10:23 +0900274 help
275 Say Y here if you want to enable ARM SMC Calling Convention.
276 This should be enabled if U-Boot needs to communicate with system
277 firmware (for example, PSCI) according to SMCCC.
278
Linus Walleij800d6fd2015-01-23 11:50:53 +0100279config SEMIHOSTING
280 bool "support boot from semihosting"
281 help
282 In emulated environments, semihosting is a way for
283 the hosted environment to call out to the emulator to
284 retrieve files from the host machine.
285
Tom Rini1c640a62017-03-18 09:01:44 -0400286config SYS_THUMB_BUILD
287 bool "Build U-Boot using the Thumb instruction set"
288 depends on !ARM64
289 help
290 Use this flag to build U-Boot using the Thumb instruction set for
291 ARM architectures. Thumb instruction set provides better code
292 density. For ARM architectures that support Thumb2 this flag will
293 result in Thumb2 code generated by GCC.
294
295config SPL_SYS_THUMB_BUILD
296 bool "Build SPL using the Thumb instruction set"
297 default y if SYS_THUMB_BUILD
298 depends on !ARM64
299 help
300 Use this flag to build SPL using the Thumb instruction set for
301 ARM architectures. Thumb instruction set provides better code
302 density. For ARM architectures that support Thumb2 this flag will
303 result in Thumb2 code generated by GCC.
304
Peng Fan10ddab42015-08-19 15:48:57 +0800305config SYS_L2CACHE_OFF
306 bool "L2cache off"
307 help
308 If SoC does not support L2CACHE or one do not want to enable
309 L2CACHE, choose this option.
310
Andre Przywara48321ba2016-05-31 10:45:06 -0700311config ENABLE_ARM_SOC_BOOT0_HOOK
312 bool "prepare BOOT0 header"
313 help
314 If the SoC's BOOT0 requires a header area filled with (magic)
Simon Goldschmidt387218a2018-02-13 13:18:00 +0100315 values, then choose this option, and create a file included as
316 <asm/arch/boot0.h> which contains the required assembler code.
Andre Przywara48321ba2016-05-31 10:45:06 -0700317
Andre Przywara4330eb92017-02-16 01:20:21 +0000318config ARM_CORTEX_CPU_IS_UP
319 bool
320 default n
321
Fabio Estevam988f5052016-12-15 19:30:40 -0200322config USE_ARCH_MEMCPY
323 bool "Use an assembly optimized implementation of memcpy"
Tom Rini443b5162017-01-12 13:16:02 -0500324 default y
Masahiro Yamadae55f1462016-12-19 19:31:02 +0900325 depends on !ARM64
Fabio Estevam988f5052016-12-15 19:30:40 -0200326 help
327 Enable the generation of an optimized version of memcpy.
328 Such implementation may be faster under some conditions
329 but may increase the binary size.
330
Tom Rini443b5162017-01-12 13:16:02 -0500331config SPL_USE_ARCH_MEMCPY
Andy Yan524f3ce2017-06-28 16:27:37 +0800332 bool "Use an assembly optimized implementation of memcpy for SPL"
Tom Rini443b5162017-01-12 13:16:02 -0500333 default y if USE_ARCH_MEMCPY
334 depends on !ARM64
335 help
336 Enable the generation of an optimized version of memcpy.
337 Such implementation may be faster under some conditions
338 but may increase the binary size.
339
Fabio Estevam988f5052016-12-15 19:30:40 -0200340config USE_ARCH_MEMSET
341 bool "Use an assembly optimized implementation of memset"
Tom Rini443b5162017-01-12 13:16:02 -0500342 default y
343 depends on !ARM64
344 help
345 Enable the generation of an optimized version of memset.
346 Such implementation may be faster under some conditions
347 but may increase the binary size.
348
349config SPL_USE_ARCH_MEMSET
Andy Yan524f3ce2017-06-28 16:27:37 +0800350 bool "Use an assembly optimized implementation of memset for SPL"
Tom Rini443b5162017-01-12 13:16:02 -0500351 default y if USE_ARCH_MEMSET
Masahiro Yamadae55f1462016-12-19 19:31:02 +0900352 depends on !ARM64
Fabio Estevam988f5052016-12-15 19:30:40 -0200353 help
354 Enable the generation of an optimized version of memset.
355 Such implementation may be faster under some conditions
356 but may increase the binary size.
357
Alison Wang73818d52016-11-10 10:49:03 +0800358config ARM64_SUPPORT_AARCH32
359 bool "ARM64 system support AArch32 execution state"
360 default y if ARM64 && !TARGET_THUNDERX_88XX
361 help
362 This ARM64 system supports AArch32 execution state.
363
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900364choice
365 prompt "Target select"
Simon Glassdfd904a2015-08-30 19:19:30 -0600366 default TARGET_HIKEY
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900367
Masahiro Yamadaaf908ee2015-02-20 17:04:01 +0900368config ARCH_AT91
369 bool "Atmel AT91"
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +0800370 select SPL_BOARD_INIT if SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900371
372config TARGET_EDB93XX
373 bool "Support edb93xx"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100374 select CPU_ARM920T
Alexander Graf2184ccd2018-01-25 12:05:50 +0100375 select PL010_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900376
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900377config TARGET_ASPENITE
378 bool "Support aspenite"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100379 select CPU_ARM926EJS
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900380
381config TARGET_GPLUGD
382 bool "Support gplugd"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100383 select CPU_ARM926EJS
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900384
Masahiro Yamadae604ef92014-08-31 07:11:01 +0900385config ARCH_DAVINCI
386 bool "TI DaVinci"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100387 select CPU_ARM926EJS
Simon Glassd09f3772017-08-04 16:34:43 -0600388 imply CMD_SAVES
Masahiro Yamadae604ef92014-08-31 07:11:01 +0900389 help
390 Support for TI's DaVinci platform.
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900391
Masahiro Yamadad7570852014-08-31 07:10:59 +0900392config KIRKWOOD
393 bool "Marvell Kirkwood"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100394 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700395 select BOARD_EARLY_INIT_F
Simon Glass95d31412017-01-23 13:31:21 -0700396 select ARCH_MISC_INIT
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900397
Stefan Roese383e0c12015-08-25 13:18:38 +0200398config ARCH_MVEBU
Stefan Roesecb410332016-05-25 08:13:45 +0200399 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
Stefan Roese096de4f2015-09-01 11:27:52 +0200400 select OF_CONTROL
401 select OF_SEPARATE
402 select DM
Stefan Roese05b38c12015-11-19 07:46:15 +0100403 select DM_ETH
Stefan Roese7f9f8e32015-09-02 08:41:41 +0200404 select DM_SERIAL
Stefan Roese49e7d772015-11-20 13:51:57 +0100405 select DM_SPI
406 select DM_SPI_FLASH
Adam Ford4e96ff82018-04-15 13:51:26 -0400407 select SPI
Stefan Roese9b1e2312014-10-22 12:13:19 +0200408
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900409config TARGET_DEVKIT3250
410 bool "Support devkit3250"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100411 select CPU_ARM926EJS
Vladimir Zapolskiy89f86a22015-07-18 01:47:11 +0300412 select SUPPORT_SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900413
Albert ARIBAUD \(3ADEV\)ee69a392015-03-31 11:40:51 +0200414config TARGET_WORK_92105
415 bool "Support work_92105"
416 select CPU_ARM926EJS
417 select SUPPORT_SPL
418
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900419config TARGET_APF27
420 bool "Support apf27"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100421 select CPU_ARM926EJS
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900422 select SUPPORT_SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900423
Masahiro Yamada04ffbc12014-08-31 07:11:06 +0900424config ORION5X
425 bool "Marvell Orion"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100426 select CPU_ARM926EJS
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900427
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900428config TARGET_SPEAR300
429 bool "Support spear300"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100430 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700431 select BOARD_EARLY_INIT_F
Simon Glassd09f3772017-08-04 16:34:43 -0600432 imply CMD_SAVES
Alexander Graf65bfb422018-01-25 12:05:51 +0100433 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900434
435config TARGET_SPEAR310
436 bool "Support spear310"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100437 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700438 select BOARD_EARLY_INIT_F
Simon Glassd09f3772017-08-04 16:34:43 -0600439 imply CMD_SAVES
Alexander Graf65bfb422018-01-25 12:05:51 +0100440 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900441
442config TARGET_SPEAR320
443 bool "Support spear320"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100444 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700445 select BOARD_EARLY_INIT_F
Simon Glassd09f3772017-08-04 16:34:43 -0600446 imply CMD_SAVES
Alexander Graf65bfb422018-01-25 12:05:51 +0100447 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900448
449config TARGET_SPEAR600
450 bool "Support spear600"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100451 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700452 select BOARD_EARLY_INIT_F
Simon Glassd09f3772017-08-04 16:34:43 -0600453 imply CMD_SAVES
Alexander Graf65bfb422018-01-25 12:05:51 +0100454 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900455
Vikas Manocha33913c52014-11-18 10:42:22 -0800456config TARGET_STV0991
457 bool "Support stv0991"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530458 select CPU_V7A
Masahiro Yamada0906a822015-03-31 12:48:01 +0900459 select DM
460 select DM_SERIAL
Vikas Manocha8cc062f2015-07-02 18:29:41 -0700461 select DM_SPI
462 select DM_SPI_FLASH
Adam Ford4e96ff82018-04-15 13:51:26 -0400463 select SPI
Vikas Manocha8cc062f2015-07-02 18:29:41 -0700464 select SPI_FLASH
Alexander Graf633ef892018-01-25 12:05:52 +0100465 select PL01X_SERIAL
Vikas Manocha33913c52014-11-18 10:42:22 -0800466
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900467config TARGET_X600
468 bool "Support x600"
Tom Rini22d567e2017-01-22 19:43:11 -0500469 select BOARD_LATE_INIT
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100470 select CPU_ARM926EJS
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900471 select SUPPORT_SPL
Alexander Graf65bfb422018-01-25 12:05:51 +0100472 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900473
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900474config TARGET_MX31PDK
475 bool "Support mx31pdk"
Tom Rini22d567e2017-01-22 19:43:11 -0500476 select BOARD_LATE_INIT
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100477 select CPU_ARM1136
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900478 select SUPPORT_SPL
Simon Glass7a99a872017-01-23 13:31:20 -0700479 select BOARD_EARLY_INIT_F
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900480
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900481config TARGET_WOODBURN
482 bool "Support woodburn"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100483 select CPU_ARM1136
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900484
485config TARGET_WOODBURN_SD
486 bool "Support woodburn_sd"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100487 select CPU_ARM1136
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900488 select SUPPORT_SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900489
490config TARGET_FLEA3
491 bool "Support flea3"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100492 select CPU_ARM1136
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900493
494config TARGET_MX35PDK
495 bool "Support mx35pdk"
Tom Rini22d567e2017-01-22 19:43:11 -0500496 select BOARD_LATE_INIT
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100497 select CPU_ARM1136
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900498
Masahiro Yamadaed22cc72015-03-19 19:42:56 +0900499config ARCH_BCM283X
500 bool "Broadcom BCM283X family"
Masahiro Yamada5ef5ccc2015-03-31 12:47:53 +0900501 select DM
502 select DM_SERIAL
503 select DM_GPIO
Fabian Vogtf9e3ed52016-09-26 14:26:51 +0200504 select OF_CONTROL
Alexander Graf633ef892018-01-25 12:05:52 +0100505 select PL01X_SERIAL
Alexander Grafc8bda542018-01-29 13:57:20 +0100506 select SERIAL_SEARCH_ALL
Tom Rinid8532af2017-06-02 11:03:50 -0400507 imply FAT_WRITE
Stephen Warrendc7ea682015-02-16 12:16:15 -0700508
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900509config TARGET_VEXPRESS_CA15_TC2
510 bool "Support vexpress_ca15_tc2"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530511 select CPU_V7A
Hans de Goede85437352014-11-14 09:34:30 +0100512 select CPU_V7_HAS_NONSEC
513 select CPU_V7_HAS_VIRT
Alexander Graf65bfb422018-01-25 12:05:51 +0100514 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900515
516config TARGET_VEXPRESS_CA5X2
517 bool "Support vexpress_ca5x2"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530518 select CPU_V7A
Alexander Graf65bfb422018-01-25 12:05:51 +0100519 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900520
521config TARGET_VEXPRESS_CA9X4
522 bool "Support vexpress_ca9x4"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530523 select CPU_V7A
Alexander Graf65bfb422018-01-25 12:05:51 +0100524 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900525
Steve Rae45f2c702016-06-02 15:10:56 -0700526config TARGET_BCM23550_W1D
527 bool "Support bcm23550_w1d"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530528 select CPU_V7A
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100529 imply CRC32_VERIFY
Tom Rinid8532af2017-06-02 11:03:50 -0400530 imply FAT_WRITE
Steve Rae45f2c702016-06-02 15:10:56 -0700531
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900532config TARGET_BCM28155_AP
533 bool "Support bcm28155_ap"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530534 select CPU_V7A
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100535 imply CRC32_VERIFY
Tom Rinid8532af2017-06-02 11:03:50 -0400536 imply FAT_WRITE
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900537
Steve Rae1c5f31c2014-11-11 11:32:18 -0800538config TARGET_BCMCYGNUS
539 bool "Support bcmcygnus"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530540 select CPU_V7A
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100541 imply CRC32_VERIFY
Simon Glass027608e2017-05-17 03:25:25 -0600542 imply CMD_HASH
Tom Rinid8532af2017-06-02 11:03:50 -0400543 imply FAT_WRITE
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100544 imply HASH_VERIFY
Suji Velupillaid2f677a2017-07-10 14:05:41 -0700545 imply NETDEVICES
546 imply BCM_SF2_ETH
547 imply BCM_SF2_ETH_GMAC
Steve Rae729da8b2014-08-11 13:58:26 -0700548
Steve Rae1c5f31c2014-11-11 11:32:18 -0800549config TARGET_BCMNSP
550 bool "Support bcmnsp"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530551 select CPU_V7A
Steve Rae729da8b2014-08-11 13:58:26 -0700552
Jon Masond59b5862017-03-17 12:12:14 -0400553config TARGET_BCMNS2
554 bool "Support Broadcom Northstar2"
555 select ARM64
556 help
557 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
558 ARMv8 Cortex-A57 processors targeting a broad range of networking
559 applications
560
Masahiro Yamadac54550b2014-08-31 07:11:00 +0900561config ARCH_EXYNOS
562 bool "Samsung EXYNOS"
Masahiro Yamada5ef5ccc2015-03-31 12:47:53 +0900563 select DM
Simon Glass7bbb7d92016-11-23 06:34:40 -0700564 select DM_I2C
Masahiro Yamada5ef5ccc2015-03-31 12:47:53 +0900565 select DM_SPI_FLASH
566 select DM_SERIAL
567 select DM_SPI
568 select DM_GPIO
Simon Glassaa8484f2015-10-18 21:17:17 -0600569 select DM_KEYBOARD
Adam Ford4e96ff82018-04-15 13:51:26 -0400570 select SPI
Tom Rinid8532af2017-06-02 11:03:50 -0400571 imply FAT_WRITE
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900572
Simon Glass96aa0722014-10-07 22:01:50 -0600573config ARCH_S5PC1XX
574 bool "Samsung S5PC1XX"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530575 select CPU_V7A
Masahiro Yamada5ef5ccc2015-03-31 12:47:53 +0900576 select DM
577 select DM_SERIAL
578 select DM_GPIO
Simon Glassc6aa9702016-11-23 06:34:41 -0700579 select DM_I2C
Simon Glass96aa0722014-10-07 22:01:50 -0600580
Masahiro Yamada52ece9c2014-08-31 07:11:07 +0900581config ARCH_HIGHBANK
582 bool "Calxeda Highbank"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530583 select CPU_V7A
Alexander Graf65bfb422018-01-25 12:05:51 +0100584 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900585
Masahiro Yamadacad44162015-04-21 21:59:36 +0900586config ARCH_INTEGRATOR
587 bool "ARM Ltd. Integrator family"
Linus Walleij616d9a02015-07-27 11:22:48 +0200588 select DM
589 select DM_SERIAL
Alexander Graf633ef892018-01-25 12:05:52 +0100590 select PL01X_SERIAL
Masahiro Yamadacad44162015-04-21 21:59:36 +0900591
Masahiro Yamada32013fb2014-08-31 07:11:05 +0900592config ARCH_KEYSTONE
593 bool "TI Keystone"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530594 select CPU_V7A
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900595 select SUPPORT_SPL
Tom Rini1c640a62017-03-18 09:01:44 -0400596 select SYS_THUMB_BUILD
Tom Rini393a4ce2016-03-16 09:19:43 -0400597 select CMD_POWEROFF
Andre Przywara7b169252018-04-12 04:24:46 +0300598 select SYS_ARCH_TIMER
Tom Rinic20bb732017-07-22 18:36:16 -0400599 imply CMD_MTDPARTS
Andrew F. Davis848944c2017-04-21 10:01:28 -0500600 imply FIT
Simon Glassd09f3772017-08-04 16:34:43 -0600601 imply CMD_SAVES
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900602
Masahiro Yamada6e1288c2017-04-25 13:10:11 +0900603config ARCH_OMAP2PLUS
604 bool "TI OMAP2+"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530605 select CPU_V7A
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +0800606 select SPL_BOARD_INIT if SPL
Tom Rinic37e0cf2017-09-17 11:44:49 -0400607 select SPL_STACK_R if SPL
Masahiro Yamada6e1288c2017-04-25 13:10:11 +0900608 select SUPPORT_SPL
609 imply FIT
610
Beniamino Galvanid1037e42016-05-08 08:30:16 +0200611config ARCH_MESON
612 bool "Amlogic Meson"
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900613 imply DISTRO_DEFAULTS
Beniamino Galvanid1037e42016-05-08 08:30:16 +0200614 help
615 Support for the Meson SoC family developed by Amlogic Inc.,
616 targeted at media players and tablet computers. We currently
617 support the S905 (GXBaby) 64-bit SoC.
618
Peng Fan66294882018-01-10 13:20:19 +0800619config ARCH_MX8M
620 bool "NXP i.MX8M platform"
621 select ARM64
622 select DM
623 select SUPPORT_SPL
624
Stefan Agner081ea1f2018-02-06 09:44:34 +0100625config ARCH_MX23
626 bool "NXP i.MX23 family"
627 select CPU_ARM926EJS
628 select PL011_SERIAL
629 select SUPPORT_SPL
630
Fabio Estevam52b2f452017-11-03 13:40:08 -0200631config ARCH_MX25
632 bool "NXP MX25"
633 select CPU_ARM926EJS
Adam Fordb413c452018-02-04 09:32:43 -0600634 imply MXC_GPIO
Fabio Estevam52b2f452017-11-03 13:40:08 -0200635
Stefan Agner663a3232018-02-06 09:44:35 +0100636config ARCH_MX28
637 bool "NXP i.MX28 family"
638 select CPU_ARM926EJS
639 select PL011_SERIAL
640 select SUPPORT_SPL
641
Peng Fan2c7b1702017-02-22 16:21:39 +0800642config ARCH_MX7ULP
643 bool "NXP MX7ULP"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530644 select CPU_V7A
Peng Fan2c7b1702017-02-22 16:21:39 +0800645 select ROM_UNIFIED_SECTIONS
Adam Fordb413c452018-02-04 09:32:43 -0600646 imply MXC_GPIO
Peng Fan2c7b1702017-02-22 16:21:39 +0800647
Adrian Alonso98810772015-09-03 11:49:28 -0500648config ARCH_MX7
649 bool "Freescale MX7"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530650 select CPU_V7A
York Sun92c36e22016-12-28 08:43:30 -0800651 select SYS_FSL_HAS_SEC if SECURE_BOOT
652 select SYS_FSL_SEC_COMPAT_4
York Sunfa4199422016-12-28 08:43:31 -0800653 select SYS_FSL_SEC_LE
Simon Glass7a99a872017-01-23 13:31:20 -0700654 select BOARD_EARLY_INIT_F
Simon Glass95d31412017-01-23 13:31:21 -0700655 select ARCH_MISC_INIT
Adam Fordb413c452018-02-04 09:32:43 -0600656 imply MXC_GPIO
Adrian Alonso98810772015-09-03 11:49:28 -0500657
Boris BREZILLON51e82662015-03-04 13:13:03 +0100658config ARCH_MX6
659 bool "Freescale MX6"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530660 select CPU_V7A
York Sun92c36e22016-12-28 08:43:30 -0800661 select SYS_FSL_HAS_SEC if SECURE_BOOT
662 select SYS_FSL_SEC_COMPAT_4
York Sunfa4199422016-12-28 08:43:31 -0800663 select SYS_FSL_SEC_LE
Tom Rini1c640a62017-03-18 09:01:44 -0400664 select SYS_THUMB_BUILD if SPL
Adam Fordb413c452018-02-04 09:32:43 -0600665 imply MXC_GPIO
Boris BREZILLON51e82662015-03-04 13:13:03 +0100666
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +0200667if ARCH_MX6
668config SPL_LDSCRIPT
669 default "arch/arm/mach-omap2/u-boot-spl.lds"
670endif
671
Andrej Rosano1ac4bca2015-04-08 18:56:29 +0200672config ARCH_MX5
673 bool "Freescale MX5"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530674 select CPU_V7A
Simon Glass7a99a872017-01-23 13:31:20 -0700675 select BOARD_EARLY_INIT_F
Adam Fordb413c452018-02-04 09:32:43 -0600676 imply MXC_GPIO
Andrej Rosano1ac4bca2015-04-08 18:56:29 +0200677
Tuomas Tynkkynen28cac522017-09-19 23:18:07 +0300678config ARCH_QEMU
679 bool "QEMU Virtual Platform"
Tuomas Tynkkynen28cac522017-09-19 23:18:07 +0300680 select DM
681 select DM_SERIAL
682 select OF_CONTROL
Alexander Graf633ef892018-01-25 12:05:52 +0100683 select PL01X_SERIAL
Tuomas Tynkkynen28cac522017-09-19 23:18:07 +0300684
Nobuhiro Iwamatsu7c112732015-10-10 05:58:28 +0900685config ARCH_RMOBILE
Masahiro Yamadac9c54e22014-08-31 07:10:57 +0900686 bool "Renesas ARM SoCs"
Nobuhiro Iwamatsu7c112732015-10-10 05:58:28 +0900687 select DM
688 select DM_SERIAL
Simon Glass7a99a872017-01-23 13:31:20 -0700689 select BOARD_EARLY_INIT_F
Tom Rinid8532af2017-06-02 11:03:50 -0400690 imply FAT_WRITE
Tom Rini1c640a62017-03-18 09:01:44 -0400691 imply SYS_THUMB_BUILD
Nikita Kiryanovf5cab0f2014-09-07 18:59:29 +0300692
Eddy Petrișor5178dc12016-06-05 03:43:00 +0300693config TARGET_S32V234EVB
694 bool "Support s32v234evb"
695 select ARM64
York Sun097e3602016-12-28 08:43:42 -0800696 select SYS_FSL_ERRATUM_ESDHC111
Eddy Petrișor5178dc12016-06-05 03:43:00 +0300697
Mateusz Kulikowski2507d822016-03-31 23:12:32 +0200698config ARCH_SNAPDRAGON
699 bool "Qualcomm Snapdragon SoCs"
700 select ARM64
701 select DM
702 select DM_GPIO
703 select DM_SERIAL
704 select SPMI
705 select OF_CONTROL
706 select OF_SEPARATE
707
Masahiro Yamada144a3e02015-04-21 20:38:20 +0900708config ARCH_SOCFPGA
709 bool "Altera SOCFPGA family"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530710 select CPU_V7A
Marek Vasut69295472014-12-30 18:16:08 +0100711 select SUPPORT_SPL
Marek Vasutf44fb6f2015-08-19 23:23:52 +0200712 select OF_CONTROL
713 select SPL_OF_CONTROL
Masahiro Yamadae2005542015-03-31 12:47:59 +0900714 select DM
Marek Vasutbcd861b2016-11-16 17:20:23 +0100715 select ENABLE_ARM_SOC_BOOT0_HOOK
Simon Glass62adede2017-01-23 13:31:19 -0700716 select ARCH_EARLY_INIT_R
Simon Glass95d31412017-01-23 13:31:21 -0700717 select ARCH_MISC_INIT
Tom Rini1c640a62017-03-18 09:01:44 -0400718 select SYS_THUMB_BUILD
Tom Rinic20bb732017-07-22 18:36:16 -0400719 imply CMD_MTDPARTS
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100720 imply CRC32_VERIFY
Simon Goldschmidta4347302018-02-13 06:34:14 +0100721 imply DM_SPI
722 imply DM_SPI_FLASH
Tom Rinid8532af2017-06-02 11:03:50 -0400723 imply FAT_WRITE
Simon Goldschmidta4347302018-02-13 06:34:14 +0100724 imply HW_WATCHDOG
725 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
Marek Vasut69295472014-12-30 18:16:08 +0100726
Ian Campbelld8e69e02014-10-24 21:20:44 +0100727config ARCH_SUNXI
728 bool "Support sunxi (Allwinner) SoCs"
Masahiro Yamada87247af2017-10-17 13:42:44 +0900729 select BINMAN
Hans de Goedec9511672016-04-03 09:41:44 +0200730 select CMD_GPIO
Hans de Goede2c526402016-05-15 13:51:58 +0200731 select CMD_MMC if MMC
Yann E. MORINe28217d2016-10-31 22:33:40 +0100732 select CMD_USB if DISTRO_DEFAULTS
Hans de Goede03914882015-04-15 20:46:48 +0200733 select DM
Tom Rini10e87172015-06-30 16:51:15 -0400734 select DM_ETH
Hans de Goedec8d43472015-12-21 20:22:00 +0100735 select DM_GPIO
736 select DM_KEYBOARD
Tom Rini10e87172015-06-30 16:51:15 -0400737 select DM_SERIAL
Yann E. MORINe28217d2016-10-31 22:33:40 +0100738 select DM_USB if DISTRO_DEFAULTS
Hans de Goede48a234a2016-03-22 22:51:52 +0100739 select OF_BOARD_SETUP
Hans de Goede03914882015-04-15 20:46:48 +0200740 select OF_CONTROL
741 select OF_SEPARATE
Tom Rinie69ba982018-03-06 19:02:27 -0500742 select SPECIFY_CONSOLE_INDEX
Tom Rinidac518f2017-06-21 07:54:46 -0400743 select SPL_STACK_R if SPL
744 select SPL_SYS_MALLOC_SIMPLE if SPL
Hans de Goede9cce88a2015-12-10 11:10:17 +0100745 select SYS_NS16550
Tom Rini1c640a62017-03-18 09:01:44 -0400746 select SPL_SYS_THUMB_BUILD if !ARM64
Maxime Ripard2ba0f212017-10-19 11:49:29 +0200747 select SYS_THUMB_BUILD if !ARM64
Yann E. MORINe28217d2016-10-31 22:33:40 +0100748 select USB if DISTRO_DEFAULTS
749 select USB_STORAGE if DISTRO_DEFAULTS
750 select USB_KEYBOARD if DISTRO_DEFAULTS
Hans de Goede42a31822016-06-10 12:19:40 +0200751 select USE_TINY_PRINTF
Maxime Ripardbc7db012017-08-24 11:54:03 +0200752 imply CMD_GPT
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900753 imply DISTRO_DEFAULTS
Tom Rinid8532af2017-06-02 11:03:50 -0400754 imply FAT_WRITE
Andre Heider11790742018-01-16 09:44:22 +0100755 imply OF_LIBFDT_OVERLAY
Masahiro Yamada8e5e1ea2017-04-28 19:42:19 +0900756 imply PRE_CONSOLE_BUFFER
757 imply SPL_GPIO_SUPPORT
758 imply SPL_LIBCOMMON_SUPPORT
759 imply SPL_LIBDISK_SUPPORT
760 imply SPL_LIBGENERIC_SUPPORT
Masahiro Yamada0a780172017-05-09 20:31:39 +0900761 imply SPL_MMC_SUPPORT if MMC
Masahiro Yamada8e5e1ea2017-04-28 19:42:19 +0900762 imply SPL_POWER_SUPPORT
763 imply SPL_SERIAL_SUPPORT
Maxime Ripardabb17b42017-09-07 10:46:24 +0200764 imply USB_GADGET
Chen-Yu Tsai848c2632014-10-22 16:47:44 +0800765
Stefan Agnerd53c0a42017-03-13 18:41:36 -0700766config ARCH_VF610
767 bool "Freescale Vybrid"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530768 select CPU_V7A
York Sun097e3602016-12-28 08:43:42 -0800769 select SYS_FSL_ERRATUM_ESDHC111
Tom Rinic20bb732017-07-22 18:36:16 -0400770 imply CMD_MTDPARTS
Adam Ford42efb612017-08-07 17:37:18 -0400771 imply NAND
Sanchayan Maitycc4d78f2015-04-15 16:24:26 +0530772
Masahiro Yamada8204bd12015-03-16 16:43:24 +0900773config ARCH_ZYNQ
Michal Simek8caedde2017-11-23 08:25:41 +0100774 bool "Xilinx Zynq based platform"
Tom Rini22d567e2017-01-22 19:43:11 -0500775 select BOARD_LATE_INIT
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530776 select CPU_V7A
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900777 select SUPPORT_SPL
Jagan Tekif522bf52015-06-29 14:17:32 +0530778 select OF_CONTROL
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +0800779 select SPL_BOARD_INIT if SPL
Michal Simek309ef802018-02-21 17:04:28 +0100780 select BOARD_EARLY_INIT_F if WDT
Michal Simek6dae8492016-01-13 14:32:43 +0100781 select SPL_OF_CONTROL if SPL
Masahiro Yamada2df07d42015-03-31 12:47:55 +0900782 select DM
Michal Simek6d35f3f2018-01-09 14:49:28 +0100783 select DM_ETH if NET
Michal Simek6dae8492016-01-13 14:32:43 +0100784 select SPL_DM if SPL
Michal Simek6d35f3f2018-01-09 14:49:28 +0100785 select DM_MMC if MMC
Jagan Teki0bd03a52015-06-27 00:51:32 +0530786 select DM_SPI
Simon Glass23d9b622015-10-17 19:41:27 -0600787 select DM_SERIAL
Jagan Teki0bd03a52015-06-27 00:51:32 +0530788 select DM_SPI_FLASH
Michal Simek6dae8492016-01-13 14:32:43 +0100789 select SPL_SEPARATE_BSS if SPL
Simon Glass476e63f2016-07-05 17:10:14 -0600790 select DM_USB if USB
Stefan Herbrechtsmeiere67c6c42017-01-17 16:27:30 +0100791 select CLK
Ezequiel Garciad4f835a2018-01-12 12:33:24 -0300792 select SPL_CLK if SPL
Stefan Herbrechtsmeiere67c6c42017-01-17 16:27:30 +0100793 select CLK_ZYNQ
Adam Ford4e96ff82018-04-15 13:51:26 -0400794 select SPI
Simon Glass04ac6f12017-04-26 22:28:02 -0600795 imply CMD_CLK
Tom Rinid8532af2017-06-02 11:03:50 -0400796 imply FAT_WRITE
Simon Glassc6567fa2017-08-04 16:34:48 -0600797 imply CMD_SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900798
Siva Durga Prasad Paladugu650fb402015-06-10 15:50:57 +0530799config ARCH_ZYNQMP
Michal Simek8caedde2017-11-23 08:25:41 +0100800 bool "Xilinx ZynqMP based platform"
Michal Simek04b7e622015-01-15 10:01:51 +0100801 select ARM64
Tom Rini22d567e2017-01-22 19:43:11 -0500802 select BOARD_LATE_INIT
Michal Simek25b83712015-10-17 19:41:25 -0600803 select DM
804 select OF_CONTROL
805 select DM_SERIAL
Michal Simek72536fd2015-11-20 13:17:22 +0100806 select SUPPORT_SPL
Michal Simek6f88c702016-07-14 15:07:54 +0200807 select CLK
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +0800808 select SPL_BOARD_INIT if SPL
Michal Simekfd1d7662017-12-01 15:13:36 +0100809 select SPL_CLK if SPL
Simon Glass476e63f2016-07-05 17:10:14 -0600810 select DM_USB if USB
Tom Rinid8532af2017-06-02 11:03:50 -0400811 imply FAT_WRITE
Michal Simek04b7e622015-01-15 10:01:51 +0100812
Masahiro Yamada73a5b1a2014-08-31 07:10:56 +0900813config TEGRA
814 bool "NVIDIA Tegra"
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900815 imply DISTRO_DEFAULTS
Tom Rinid8532af2017-06-02 11:03:50 -0400816 imply FAT_WRITE
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900817
Linus Walleij800d6fd2015-01-23 11:50:53 +0100818config TARGET_VEXPRESS64_AEMV8A
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900819 bool "Support vexpress_aemv8a"
Masahiro Yamada0d46c342014-09-14 03:01:51 +0900820 select ARM64
Alexander Graf633ef892018-01-25 12:05:52 +0100821 select PL01X_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900822
Linus Walleij800d6fd2015-01-23 11:50:53 +0100823config TARGET_VEXPRESS64_BASE_FVP
824 bool "Support Versatile Express ARMv8a FVP BASE model"
825 select ARM64
826 select SEMIHOSTING
Alexander Graf633ef892018-01-25 12:05:52 +0100827 select PL01X_SERIAL
Linus Walleij800d6fd2015-01-23 11:50:53 +0100828
Ryan Harkinb6b96652015-10-09 17:18:02 +0100829config TARGET_VEXPRESS64_BASE_FVP_DRAM
830 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
831 select ARM64
Alexander Graf633ef892018-01-25 12:05:52 +0100832 select PL01X_SERIAL
Ryan Harkinb6b96652015-10-09 17:18:02 +0100833 help
834 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
835 the default config to allow the user to load the images directly into
836 DRAM using model parameters rather than by using semi-hosting to load
837 the files from the host filesystem.
838
Linus Walleijc5822502015-01-23 14:41:10 +0100839config TARGET_VEXPRESS64_JUNO
840 bool "Support Versatile Express Juno Development Platform"
841 select ARM64
Alexander Graf633ef892018-01-25 12:05:52 +0100842 select PL01X_SERIAL
Linus Walleijc5822502015-01-23 14:41:10 +0100843
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530844config TARGET_LS2080A_EMU
845 bool "Support ls2080a_emu"
York Sun4dd8c612016-10-04 14:31:48 -0700846 select ARCH_LS2080A
Masahiro Yamada0d46c342014-09-14 03:01:51 +0900847 select ARM64
Linus Walleij74771392015-03-09 10:53:21 +0100848 select ARMV8_MULTIENTRY
Simon Glass95d31412017-01-23 13:31:21 -0700849 select ARCH_MISC_INIT
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530850 help
851 Support for Freescale LS2080A_EMU platform
852 The LS2080A Development System (EMULATOR) is a pre silicon
853 development platform that supports the QorIQ LS2080A
854 Layerscape Architecture processor.
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900855
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530856config TARGET_LS2080A_SIMU
857 bool "Support ls2080a_simu"
York Sun4dd8c612016-10-04 14:31:48 -0700858 select ARCH_LS2080A
Masahiro Yamada0d46c342014-09-14 03:01:51 +0900859 select ARM64
Linus Walleij74771392015-03-09 10:53:21 +0100860 select ARMV8_MULTIENTRY
Simon Glass95d31412017-01-23 13:31:21 -0700861 select ARCH_MISC_INIT
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530862 help
863 Support for Freescale LS2080A_SIMU platform
864 The LS2080A Development System (QDS) is a pre silicon
865 development platform that supports the QorIQ LS2080A
866 Layerscape Architecture processor.
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900867
Ashish Kumar1ef4c772017-08-31 16:12:55 +0530868config TARGET_LS1088AQDS
869 bool "Support ls1088aqds"
870 select ARCH_LS1088A
871 select ARM64
872 select ARMV8_MULTIENTRY
873 select ARCH_MISC_INIT
874 select BOARD_LATE_INIT
Ashish Kumar4feb83b2017-11-06 13:18:44 +0530875 select SUPPORT_SPL
Ashish Kumar1ef4c772017-08-31 16:12:55 +0530876 help
877 Support for NXP LS1088AQDS platform
878 The LS1088A Development System (QDS) is a high-performance
879 development platform that supports the QorIQ LS1088A
880 Layerscape Architecture processor.
881
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530882config TARGET_LS2080AQDS
883 bool "Support ls2080aqds"
York Sun4dd8c612016-10-04 14:31:48 -0700884 select ARCH_LS2080A
York Sun03017032015-03-20 19:28:23 -0700885 select ARM64
886 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -0500887 select BOARD_LATE_INIT
Scott Wood8e728cd2015-03-24 13:25:02 -0700888 select SUPPORT_SPL
Simon Glass95d31412017-01-23 13:31:21 -0700889 select ARCH_MISC_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600890 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200891 imply SCSI_AHCI
York Sun03017032015-03-20 19:28:23 -0700892 help
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530893 Support for Freescale LS2080AQDS platform
894 The LS2080A Development System (QDS) is a high-performance
895 development platform that supports the QorIQ LS2080A
York Sun03017032015-03-20 19:28:23 -0700896 Layerscape Architecture processor.
897
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530898config TARGET_LS2080ARDB
899 bool "Support ls2080ardb"
York Sun4dd8c612016-10-04 14:31:48 -0700900 select ARCH_LS2080A
York Sune12abcb2015-03-20 19:28:24 -0700901 select ARM64
902 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -0500903 select BOARD_LATE_INIT
Scott Wood212b8d82015-03-24 13:25:03 -0700904 select SUPPORT_SPL
Simon Glass95d31412017-01-23 13:31:21 -0700905 select ARCH_MISC_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600906 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200907 imply SCSI_AHCI
York Sune12abcb2015-03-20 19:28:24 -0700908 help
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530909 Support for Freescale LS2080ARDB platform.
910 The LS2080A Reference design board (RDB) is a high-performance
911 development platform that supports the QorIQ LS2080A
York Sune12abcb2015-03-20 19:28:24 -0700912 Layerscape Architecture processor.
913
Priyanka Jain75cd67f2017-04-27 15:08:07 +0530914config TARGET_LS2081ARDB
915 bool "Support ls2081ardb"
916 select ARCH_LS2080A
917 select ARM64
918 select ARMV8_MULTIENTRY
919 select BOARD_LATE_INIT
920 select SUPPORT_SPL
921 select ARCH_MISC_INIT
922 help
923 Support for Freescale LS2081ARDB platform.
924 The LS2081A Reference design board (RDB) is a high-performance
925 development platform that supports the QorIQ LS2081A/LS2041A
926 Layerscape Architecture processor.
927
Peter Griffin31f327e2015-07-30 18:55:23 +0100928config TARGET_HIKEY
929 bool "Support HiKey 96boards Consumer Edition Platform"
930 select ARM64
Peter Griffinff9302f2015-09-10 21:55:16 +0100931 select DM
932 select DM_GPIO
Peter Griffin0382c642015-09-10 21:55:17 +0100933 select DM_SERIAL
Peter Griffinc97c37a2016-04-20 17:13:59 +0100934 select OF_CONTROL
Alexander Graf633ef892018-01-25 12:05:52 +0100935 select PL01X_SERIAL
Tom Rinie69ba982018-03-06 19:02:27 -0500936 select SPECIFY_CONSOLE_INDEX
Peter Griffin31f327e2015-07-30 18:55:23 +0100937 help
938 Support for HiKey 96boards platform. It features a HI6220
939 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
940
Jorge Ramirez-Ortizf5b38422017-06-26 15:52:49 +0200941config TARGET_POPLAR
942 bool "Support Poplar 96boards Enterprise Edition Platform"
943 select ARM64
944 select DM
945 select OF_CONTROL
946 select DM_SERIAL
947 select DM_USB
Alexander Graf633ef892018-01-25 12:05:52 +0100948 select PL01X_SERIAL
Jorge Ramirez-Ortizf5b38422017-06-26 15:52:49 +0200949 help
950 Support for Poplar 96boards EE platform. It features a HI3798cv200
951 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
952 making it capable of running any commercial set-top solution based on
953 Linux or Android.
954
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530955config TARGET_LS1012AQDS
956 bool "Support ls1012aqds"
York Sunb3d71642016-09-26 08:09:26 -0700957 select ARCH_LS1012A
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530958 select ARM64
Tom Rini22d567e2017-01-22 19:43:11 -0500959 select BOARD_LATE_INIT
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530960 help
961 Support for Freescale LS1012AQDS platform.
962 The LS1012A Development System (QDS) is a high-performance
963 development platform that supports the QorIQ LS1012A
964 Layerscape Architecture processor.
965
Prabhakar Kushwahaa315c662016-06-03 18:41:35 +0530966config TARGET_LS1012ARDB
967 bool "Support ls1012ardb"
York Sunb3d71642016-09-26 08:09:26 -0700968 select ARCH_LS1012A
Prabhakar Kushwahaa315c662016-06-03 18:41:35 +0530969 select ARM64
Tom Rini22d567e2017-01-22 19:43:11 -0500970 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600971 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200972 imply SCSI_AHCI
Prabhakar Kushwahaa315c662016-06-03 18:41:35 +0530973 help
974 Support for Freescale LS1012ARDB platform.
975 The LS1012A Reference design board (RDB) is a high-performance
976 development platform that supports the QorIQ LS1012A
977 Layerscape Architecture processor.
978
Bhaskar Upadhaya7fff22a2018-01-11 20:03:31 +0530979config TARGET_LS1012A2G5RDB
980 bool "Support ls1012a2g5rdb"
981 select ARCH_LS1012A
982 select ARM64
983 select BOARD_LATE_INIT
984 imply SCSI
985 help
986 Support for Freescale LS1012A2G5RDB platform.
987 The LS1012A 2G5 Reference design board (RDB) is a high-performance
988 development platform that supports the QorIQ LS1012A
989 Layerscape Architecture processor.
990
Prabhakar Kushwaha9e7ee7b2016-06-03 18:41:36 +0530991config TARGET_LS1012AFRDM
992 bool "Support ls1012afrdm"
York Sunb3d71642016-09-26 08:09:26 -0700993 select ARCH_LS1012A
Prabhakar Kushwaha9e7ee7b2016-06-03 18:41:36 +0530994 select ARM64
995 help
996 Support for Freescale LS1012AFRDM platform.
997 The LS1012A Freedom board (FRDM) is a high-performance
998 development platform that supports the QorIQ LS1012A
999 Layerscape Architecture processor.
1000
Ashish Kumar227b4bc2017-08-31 16:12:54 +05301001config TARGET_LS1088ARDB
1002 bool "Support ls1088ardb"
1003 select ARCH_LS1088A
1004 select ARM64
1005 select ARMV8_MULTIENTRY
1006 select ARCH_MISC_INIT
1007 select BOARD_LATE_INIT
Ashish Kumar5676ceb2017-11-06 13:18:43 +05301008 select SUPPORT_SPL
Ashish Kumar227b4bc2017-08-31 16:12:54 +05301009 help
1010 Support for NXP LS1088ARDB platform.
1011 The LS1088A Reference design board (RDB) is a high-performance
1012 development platform that supports the QorIQ LS1088A
1013 Layerscape Architecture processor.
1014
Wang Huanf0ce7d62014-09-05 13:52:44 +08001015config TARGET_LS1021AQDS
Alison Wang6ea8ad42014-12-03 16:18:09 +08001016 bool "Support ls1021aqds"
Tom Rini22d567e2017-01-22 19:43:11 -05001017 select BOARD_LATE_INIT
Lokesh Vutla81b1a672018-04-26 18:21:26 +05301018 select CPU_V7A
Hongbo Zhange80fccf2016-09-21 18:31:04 +08001019 select CPU_V7_HAS_NONSEC
1020 select CPU_V7_HAS_VIRT
Alison Wang024e6b12014-12-03 15:00:45 +08001021 select SUPPORT_SPL
York Sun149eb332016-09-26 08:09:27 -07001022 select ARCH_LS1021A
Masahiro Yamadad5415b22016-08-30 16:22:22 +09001023 select ARCH_SUPPORT_PSCI
York Sun4de7e932016-09-26 08:09:29 -07001024 select LS1_DEEP_SLEEP
York Sund297d392016-12-28 08:43:40 -08001025 select SYS_FSL_DDR
Simon Glass7a99a872017-01-23 13:31:20 -07001026 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001027 imply SCSI
Masahiro Yamadad5415b22016-08-30 16:22:22 +09001028
Wang Huanddf89f92014-09-05 13:52:45 +08001029config TARGET_LS1021ATWR
Alison Wang6ea8ad42014-12-03 16:18:09 +08001030 bool "Support ls1021atwr"
Tom Rini22d567e2017-01-22 19:43:11 -05001031 select BOARD_LATE_INIT
Lokesh Vutla81b1a672018-04-26 18:21:26 +05301032 select CPU_V7A
Hongbo Zhange80fccf2016-09-21 18:31:04 +08001033 select CPU_V7_HAS_NONSEC
1034 select CPU_V7_HAS_VIRT
Alison Wang024e6b12014-12-03 15:00:45 +08001035 select SUPPORT_SPL
York Sun149eb332016-09-26 08:09:27 -07001036 select ARCH_LS1021A
Masahiro Yamadad5415b22016-08-30 16:22:22 +09001037 select ARCH_SUPPORT_PSCI
York Sun4de7e932016-09-26 08:09:29 -07001038 select LS1_DEEP_SLEEP
Simon Glass7a99a872017-01-23 13:31:20 -07001039 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001040 imply SCSI
Wang Huanddf89f92014-09-05 13:52:45 +08001041
Feng Li39e112d2016-11-03 14:15:17 +08001042config TARGET_LS1021AIOT
1043 bool "Support ls1021aiot"
Tom Rini22d567e2017-01-22 19:43:11 -05001044 select BOARD_LATE_INIT
Lokesh Vutla81b1a672018-04-26 18:21:26 +05301045 select CPU_V7A
Feng Li39e112d2016-11-03 14:15:17 +08001046 select CPU_V7_HAS_NONSEC
1047 select CPU_V7_HAS_VIRT
1048 select SUPPORT_SPL
1049 select ARCH_LS1021A
1050 select ARCH_SUPPORT_PSCI
Simon Glass0e5faf02017-06-14 21:28:21 -06001051 imply SCSI
Feng Li39e112d2016-11-03 14:15:17 +08001052 help
1053 Support for Freescale LS1021AIOT platform.
1054 The LS1021A Freescale board (IOT) is a high-performance
1055 development platform that supports the QorIQ LS1021A
1056 Layerscape Architecture processor.
1057
Shaohui Xiedd335672015-11-11 17:58:37 +08001058config TARGET_LS1043AQDS
1059 bool "Support ls1043aqds"
York Sun149eb332016-09-26 08:09:27 -07001060 select ARCH_LS1043A
Shaohui Xiedd335672015-11-11 17:58:37 +08001061 select ARM64
1062 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -05001063 select BOARD_LATE_INIT
Shaohui Xiedd335672015-11-11 17:58:37 +08001064 select SUPPORT_SPL
Simon Glass7a99a872017-01-23 13:31:20 -07001065 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001066 imply SCSI
Shaohui Xiedd335672015-11-11 17:58:37 +08001067 help
1068 Support for Freescale LS1043AQDS platform.
1069
Mingkai Hueee86ff2015-10-26 19:47:52 +08001070config TARGET_LS1043ARDB
1071 bool "Support ls1043ardb"
York Sun149eb332016-09-26 08:09:27 -07001072 select ARCH_LS1043A
Mingkai Hueee86ff2015-10-26 19:47:52 +08001073 select ARM64
Hou Zhiqiangc7098fa2015-10-26 19:47:57 +08001074 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -05001075 select BOARD_LATE_INIT
Gong Qianyu8168a0f2015-10-26 19:47:53 +08001076 select SUPPORT_SPL
Simon Glass7a99a872017-01-23 13:31:20 -07001077 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001078 imply SCSI
Mingkai Hueee86ff2015-10-26 19:47:52 +08001079 help
1080 Support for Freescale LS1043ARDB platform.
1081
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001082config TARGET_LS1046AQDS
1083 bool "Support ls1046aqds"
York Sunbad49842016-09-26 08:09:24 -07001084 select ARCH_LS1046A
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001085 select ARM64
1086 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -05001087 select BOARD_LATE_INIT
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001088 select SUPPORT_SPL
1089 select DM_SPI_FLASH if DM_SPI
Simon Glass7a99a872017-01-23 13:31:20 -07001090 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001091 imply SCSI
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001092 help
1093 Support for Freescale LS1046AQDS platform.
1094 The LS1046A Development System (QDS) is a high-performance
1095 development platform that supports the QorIQ LS1046A
1096 Layerscape Architecture processor.
1097
Mingkai Hud2396512016-09-07 18:47:28 +08001098config TARGET_LS1046ARDB
1099 bool "Support ls1046ardb"
York Sunbad49842016-09-26 08:09:24 -07001100 select ARCH_LS1046A
Mingkai Hud2396512016-09-07 18:47:28 +08001101 select ARM64
1102 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -05001103 select BOARD_LATE_INIT
Mingkai Hud2396512016-09-07 18:47:28 +08001104 select SUPPORT_SPL
1105 select DM_SPI_FLASH if DM_SPI
Hou Zhiqiang67b6d0a2016-12-09 16:09:01 +08001106 select POWER_MC34VR500
Simon Glass7a99a872017-01-23 13:31:20 -07001107 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001108 imply SCSI
Mingkai Hud2396512016-09-07 18:47:28 +08001109 help
1110 Support for Freescale LS1046ARDB platform.
1111 The LS1046A Reference Design Board (RDB) is a high-performance
1112 development platform that supports the QorIQ LS1046A
1113 Layerscape Architecture processor.
1114
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001115config TARGET_H2200
1116 bool "Support h2200"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +01001117 select CPU_PXA
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001118
Vasily Khoruzhicka2cbff02016-03-20 18:37:00 -07001119config TARGET_ZIPITZ2
1120 bool "Support zipitz2"
1121 select CPU_PXA
1122
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001123config TARGET_COLIBRI_PXA270
1124 bool "Support colibri_pxa270"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +01001125 select CPU_PXA
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001126
Masahiro Yamada82069432014-10-03 19:21:07 +09001127config ARCH_UNIPHIER
Masahiro Yamada563ee4c2015-05-29 17:30:01 +09001128 bool "Socionext UniPhier SoCs"
Tom Rini22d567e2017-01-22 19:43:11 -05001129 select BOARD_LATE_INIT
Masahiro Yamada85eb8262015-03-31 12:47:54 +09001130 select DM
Masahiro Yamada5f128922016-02-16 17:03:50 +09001131 select DM_GPIO
Masahiro Yamada85eb8262015-03-31 12:47:54 +09001132 select DM_I2C
Masahiro Yamada867453e2016-02-18 19:52:49 +09001133 select DM_MMC
Masahiro Yamada2aa4b5b2016-10-08 13:25:31 +09001134 select DM_RESET
Masahiro Yamada694adf12016-09-14 01:05:59 +09001135 select DM_SERIAL
Masahiro Yamada5021b8a2016-09-14 01:06:00 +09001136 select DM_USB
Masahiro Yamada694adf12016-09-14 01:05:59 +09001137 select OF_CONTROL
1138 select OF_LIBFDT
Masahiro Yamada0c977252016-09-17 03:33:01 +09001139 select PINCTRL
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +08001140 select SPL_BOARD_INIT if SPL
Masahiro Yamadadabee242017-01-21 18:05:22 +09001141 select SPL_DM if SPL
1142 select SPL_LIBCOMMON_SUPPORT if SPL
1143 select SPL_LIBGENERIC_SUPPORT if SPL
1144 select SPL_OF_CONTROL if SPL
1145 select SPL_PINCTRL if SPL
Masahiro Yamada694adf12016-09-14 01:05:59 +09001146 select SUPPORT_SPL
Tom Rinid8532af2017-06-02 11:03:50 -04001147 imply FAT_WRITE
Masahiro Yamada563ee4c2015-05-29 17:30:01 +09001148 help
1149 Support for UniPhier SoC family developed by Socionext Inc.
1150 (formerly, System LSI Business Division of Panasonic Corporation)
Masahiro Yamada82069432014-10-03 19:21:07 +09001151
Vikas Manocha95c89192016-01-15 17:49:06 -08001152config STM32
Patrick Delaunay85b53972018-03-12 10:46:10 +01001153 bool "Support STMicroelectronics STM32 MCU with cortex M"
rev13@wp.pl6b5e5a92015-03-01 12:44:42 +01001154 select CPU_V7M
Kamil Lulko75d48a62015-12-01 09:08:19 +01001155 select DM
1156 select DM_SERIAL
Tom Rini1c640a62017-03-18 09:01:44 -04001157 select SYS_THUMB_BUILD
rev13@wp.pl6b5e5a92015-03-01 12:44:42 +01001158
Patrice Chotard5b428242017-02-21 13:37:04 +01001159config ARCH_STI
1160 bool "Support STMicrolectronics SoCs"
Lokesh Vutla81b1a672018-04-26 18:21:26 +05301161 select CPU_V7A
Patrice Chotard42d742b2017-02-21 13:37:07 +01001162 select DM
1163 select DM_SERIAL
Patrice Chotard2eea7d82017-02-21 13:37:09 +01001164 select BLK
1165 select DM_MMC
Patrice Chotard1235aa02017-03-22 10:54:03 +01001166 select DM_RESET
Patrice Chotard5b428242017-02-21 13:37:04 +01001167 help
1168 Support for STMicroelectronics STiH407/10 SoC family.
1169 This SoC is used on Linaro 96Board STiH410-B2260
1170
Patrick Delaunay85b53972018-03-12 10:46:10 +01001171config ARCH_STM32MP
1172 bool "Support STMicroelectronics STM32MP Socs with cortex A"
Patrick Delaunayc5d15652018-03-20 10:54:53 +01001173 select ARCH_MISC_INIT
Patrick Delaunay85b53972018-03-12 10:46:10 +01001174 select BOARD_LATE_INIT
1175 select CLK
1176 select DM
1177 select DM_GPIO
1178 select DM_RESET
1179 select DM_SERIAL
1180 select OF_CONTROL
1181 select OF_LIBFDT
1182 select PINCTRL
1183 select REGMAP
1184 select SUPPORT_SPL
1185 select SYSCON
Patrick Delaunay32ddd262018-03-20 14:15:06 +01001186 select SYSRESET
Patrick Delaunay85b53972018-03-12 10:46:10 +01001187 select SYS_THUMB_BUILD
1188 help
1189 Support for STM32MP SoC family developed by STMicroelectronics,
1190 MPUs based on ARM cortex A core
1191 U-BOOT is running in DDR and SPL support is the unsecure First Stage
1192 BootLoader (FSBL)
1193
Simon Glass2cffe662015-08-30 16:55:38 -06001194config ARCH_ROCKCHIP
1195 bool "Support Rockchip SoCs"
Simon Glass2cffe662015-08-30 16:55:38 -06001196 select OF_CONTROL
Simon Glass94106272016-06-12 23:30:14 -06001197 select BLK
Simon Glass2cffe662015-08-30 16:55:38 -06001198 select DM
Kever Yang0d3d7832016-07-19 21:16:59 +08001199 select SPL_DM if SPL
Simon Glass94106272016-06-12 23:30:14 -06001200 select SYS_MALLOC_F
Tom Rini1c640a62017-03-18 09:01:44 -04001201 select SYS_THUMB_BUILD if !ARM64
Kever Yang0d3d7832016-07-19 21:16:59 +08001202 select SPL_SYS_MALLOC_SIMPLE if SPL
Simon Glass94106272016-06-12 23:30:14 -06001203 select DM_GPIO
1204 select DM_I2C
1205 select DM_MMC
1206 select DM_SERIAL
1207 select DM_SPI
1208 select DM_SPI_FLASH
MengDongyangf0bf5de2016-08-24 12:02:18 +08001209 select DM_USB if USB
Kever Yangb8594e22016-09-23 15:57:21 +08001210 select DM_PWM
1211 select DM_REGULATOR
Philipp Tomsichb6f395c2017-10-10 16:21:03 +02001212 select ENABLE_ARM_SOC_BOOT0_HOOK
Adam Ford4e96ff82018-04-15 13:51:26 -04001213 select SPI
Tom Rinib5bf5622017-08-25 17:50:27 -04001214 imply CMD_FASTBOOT
Masahiro Yamada9afc6c52018-04-25 18:47:52 +09001215 imply DISTRO_DEFAULTS
Tom Rinib5bf5622017-08-25 17:50:27 -04001216 imply FASTBOOT
Tom Rinid8532af2017-06-02 11:03:50 -04001217 imply FAT_WRITE
Tom Rinib5bf5622017-08-25 17:50:27 -04001218 imply USB_FUNCTION_FASTBOOT
Kever Yang22f08442017-09-08 11:00:54 +08001219 imply SPL_SYSRESET
Kever Yangc9e90292017-09-13 09:39:06 +08001220 imply TPL_SYSRESET
Philipp Tomsich2fa7b7e2017-09-20 13:50:13 +02001221 imply ADC
1222 imply SARADC_ROCKCHIP
Kever Yang4a3448c2018-04-19 11:37:09 +08001223 imply SYS_NS16550
Simon Glass2cffe662015-08-30 16:55:38 -06001224
Sergey Temerkhanov69f7a032015-10-14 09:55:50 -07001225config TARGET_THUNDERX_88XX
1226 bool "Support ThunderX 88xx"
Marek Vasut09ab8ad2016-06-01 02:33:53 +02001227 select ARM64
Sergey Temerkhanov69f7a032015-10-14 09:55:50 -07001228 select OF_CONTROL
Tom Rini84f9b612016-08-22 08:22:17 -04001229 select SYS_CACHE_SHIFT_7
Alexander Graf633ef892018-01-25 12:05:52 +01001230 select PL01X_SERIAL
Sergey Temerkhanov69f7a032015-10-14 09:55:50 -07001231
maxims@google.comf57bd002017-01-18 13:44:55 -08001232config ARCH_ASPEED
1233 bool "Support Aspeed SoCs"
1234 select OF_CONTROL
1235 select DM
1236
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001237endchoice
1238
Andrew F. Davisd3fe9172018-02-14 11:53:37 -06001239config TI_SECURE_DEVICE
1240 bool "HS Device Type Support"
1241 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS
1242 help
1243 If a high secure (HS) device type is being used, this config
1244 must be set. This option impacts various aspects of the
1245 build system (to create signed boot images that can be
1246 authenticated) and the code. See the doc/README.ti-secure
1247 file for further details.
1248
maxims@google.comf57bd002017-01-18 13:44:55 -08001249source "arch/arm/mach-aspeed/Kconfig"
1250
Masahiro Yamadaaf908ee2015-02-20 17:04:01 +09001251source "arch/arm/mach-at91/Kconfig"
1252
Masahiro Yamadaed22cc72015-03-19 19:42:56 +09001253source "arch/arm/mach-bcm283x/Kconfig"
Masahiro Yamadae604ef92014-08-31 07:11:01 +09001254
Masahiro Yamadaed22cc72015-03-19 19:42:56 +09001255source "arch/arm/mach-davinci/Kconfig"
Simon Glass13fc6a22015-02-05 21:41:39 -07001256
Thomas Abraham74f84862015-08-03 17:58:00 +05301257source "arch/arm/mach-exynos/Kconfig"
Masahiro Yamadac54550b2014-08-31 07:11:00 +09001258
Masahiro Yamada95ec48b2015-02-20 17:04:08 +09001259source "arch/arm/mach-highbank/Kconfig"
Masahiro Yamada52ece9c2014-08-31 07:11:07 +09001260
Masahiro Yamadacad44162015-04-21 21:59:36 +09001261source "arch/arm/mach-integrator/Kconfig"
1262
Masahiro Yamadaf058b792015-02-20 17:04:11 +09001263source "arch/arm/mach-keystone/Kconfig"
Masahiro Yamada32013fb2014-08-31 07:11:05 +09001264
Masahiro Yamada5e5e23a2015-02-20 17:04:06 +09001265source "arch/arm/mach-kirkwood/Kconfig"
Masahiro Yamadad7570852014-08-31 07:10:59 +09001266
Stefan Roese383e0c12015-08-25 13:18:38 +02001267source "arch/arm/mach-mvebu/Kconfig"
1268
York Sun149eb332016-09-26 08:09:27 -07001269source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1270
Fabio Estevam52b2f452017-11-03 13:40:08 -02001271source "arch/arm/mach-imx/mx2/Kconfig"
1272
Peng Fan66294882018-01-10 13:20:19 +08001273source "arch/arm/mach-imx/mx5/Kconfig"
1274
1275source "arch/arm/mach-imx/mx6/Kconfig"
Peng Fan2c7b1702017-02-22 16:21:39 +08001276
Stefano Babic33731bc2017-06-29 10:16:06 +02001277source "arch/arm/mach-imx/mx7/Kconfig"
Adrian Alonso98810772015-09-03 11:49:28 -05001278
Peng Fan66294882018-01-10 13:20:19 +08001279source "arch/arm/mach-imx/mx7ulp/Kconfig"
Boris BREZILLON51e82662015-03-04 13:13:03 +01001280
Peng Fan66294882018-01-10 13:20:19 +08001281source "arch/arm/mach-imx/mx8m/Kconfig"
Andrej Rosano1ac4bca2015-04-08 18:56:29 +02001282
Stefan Agner081ea1f2018-02-06 09:44:34 +01001283source "arch/arm/mach-imx/mxs/Kconfig"
1284
Tom Rini28eec372016-11-07 21:34:54 -05001285source "arch/arm/mach-omap2/Kconfig"
Madan Srinivaseba13cd2016-05-19 19:10:43 -05001286
York Sunbad49842016-09-26 08:09:24 -07001287source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1288
Masahiro Yamada22537642015-02-20 17:04:09 +09001289source "arch/arm/mach-orion5x/Kconfig"
Masahiro Yamada04ffbc12014-08-31 07:11:06 +09001290
Nobuhiro Iwamatsuc91ef682015-10-09 16:40:09 +09001291source "arch/arm/mach-rmobile/Kconfig"
Masahiro Yamadac9c54e22014-08-31 07:10:57 +09001292
Beniamino Galvanid1037e42016-05-08 08:30:16 +02001293source "arch/arm/mach-meson/Kconfig"
1294
Tuomas Tynkkynen28cac522017-09-19 23:18:07 +03001295source "arch/arm/mach-qemu/Kconfig"
1296
Simon Glass2cffe662015-08-30 16:55:38 -06001297source "arch/arm/mach-rockchip/Kconfig"
1298
Minkyu Kang56b820a2015-11-20 15:24:57 +09001299source "arch/arm/mach-s5pc1xx/Kconfig"
Simon Glass96aa0722014-10-07 22:01:50 -06001300
Mateusz Kulikowski2507d822016-03-31 23:12:32 +02001301source "arch/arm/mach-snapdragon/Kconfig"
1302
Masahiro Yamada144a3e02015-04-21 20:38:20 +09001303source "arch/arm/mach-socfpga/Kconfig"
1304
Patrice Chotard5b428242017-02-21 13:37:04 +01001305source "arch/arm/mach-sti/Kconfig"
1306
Vikas Manocha95c89192016-01-15 17:49:06 -08001307source "arch/arm/mach-stm32/Kconfig"
1308
Patrick Delaunay85b53972018-03-12 10:46:10 +01001309source "arch/arm/mach-stm32mp/Kconfig"
1310
Masahiro Yamada4976a222017-04-28 19:42:18 +09001311source "arch/arm/mach-sunxi/Kconfig"
1312
Masahiro Yamadaed1632a2015-02-20 17:04:04 +09001313source "arch/arm/mach-tegra/Kconfig"
Masahiro Yamada73a5b1a2014-08-31 07:10:56 +09001314
Masahiro Yamadaf8563982015-02-27 02:26:42 +09001315source "arch/arm/mach-uniphier/Kconfig"
Masahiro Yamada82069432014-10-03 19:21:07 +09001316
Stefan Agnerd53c0a42017-03-13 18:41:36 -07001317source "arch/arm/cpu/armv7/vf610/Kconfig"
1318
Masahiro Yamada43246cc2015-03-16 16:43:22 +09001319source "arch/arm/mach-zynq/Kconfig"
Masahiro Yamada73a5b1a2014-08-31 07:10:56 +09001320
Hans de Goede85437352014-11-14 09:34:30 +01001321source "arch/arm/cpu/armv7/Kconfig"
1322
Siva Durga Prasad Paladugu4095bc22015-06-10 15:50:56 +05301323source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1324
Linus Walleij74771392015-03-09 10:53:21 +01001325source "arch/arm/cpu/armv8/Kconfig"
1326
Stefano Babic33731bc2017-06-29 10:16:06 +02001327source "arch/arm/mach-imx/Kconfig"
Boris BREZILLON6b9b9a02015-03-04 13:13:04 +01001328
Heiko Schocherf1163962016-06-07 08:31:25 +02001329source "board/bosch/shc/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001330source "board/CarMediaLab/flea3/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001331source "board/Marvell/aspenite/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001332source "board/Marvell/gplugd/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001333source "board/armadeus/apf27/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001334source "board/armltd/vexpress/Kconfig"
1335source "board/armltd/vexpress64/Kconfig"
Steve Rae45f2c702016-06-02 15:10:56 -07001336source "board/broadcom/bcm23550_w1d/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001337source "board/broadcom/bcm28155_ap/Kconfig"
Steve Rae1c5f31c2014-11-11 11:32:18 -08001338source "board/broadcom/bcmcygnus/Kconfig"
1339source "board/broadcom/bcmnsp/Kconfig"
Jon Masond59b5862017-03-17 12:12:14 -04001340source "board/broadcom/bcmns2/Kconfig"
Sergey Temerkhanov69f7a032015-10-14 09:55:50 -07001341source "board/cavium/thunderx/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001342source "board/cirrus/edb93xx/Kconfig"
Felix Brack1ba8c9e2018-01-23 18:27:22 +01001343source "board/eets/pdu001/Kconfig"
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +05301344source "board/freescale/ls2080a/Kconfig"
1345source "board/freescale/ls2080aqds/Kconfig"
1346source "board/freescale/ls2080ardb/Kconfig"
Ashish Kumar227b4bc2017-08-31 16:12:54 +05301347source "board/freescale/ls1088a/Kconfig"
Wang Huanf0ce7d62014-09-05 13:52:44 +08001348source "board/freescale/ls1021aqds/Kconfig"
Shaohui Xiedd335672015-11-11 17:58:37 +08001349source "board/freescale/ls1043aqds/Kconfig"
Wang Huanddf89f92014-09-05 13:52:45 +08001350source "board/freescale/ls1021atwr/Kconfig"
Feng Li39e112d2016-11-03 14:15:17 +08001351source "board/freescale/ls1021aiot/Kconfig"
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001352source "board/freescale/ls1046aqds/Kconfig"
Mingkai Hueee86ff2015-10-26 19:47:52 +08001353source "board/freescale/ls1043ardb/Kconfig"
Mingkai Hud2396512016-09-07 18:47:28 +08001354source "board/freescale/ls1046ardb/Kconfig"
Prabhakar Kushwaha55432502016-06-03 18:41:34 +05301355source "board/freescale/ls1012aqds/Kconfig"
Prabhakar Kushwahaa315c662016-06-03 18:41:35 +05301356source "board/freescale/ls1012ardb/Kconfig"
Prabhakar Kushwaha9e7ee7b2016-06-03 18:41:36 +05301357source "board/freescale/ls1012afrdm/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001358source "board/freescale/mx31pdk/Kconfig"
1359source "board/freescale/mx35pdk/Kconfig"
Eddy Petrișor5178dc12016-06-05 03:43:00 +03001360source "board/freescale/s32v234evb/Kconfig"
Dirk Eibachfb605942017-02-22 16:07:23 +01001361source "board/gdsys/a38x/Kconfig"
Marcin Niestroj20315d22017-01-25 09:53:08 +01001362source "board/grinn/chiliboard/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001363source "board/gumstix/pepper/Kconfig"
1364source "board/h2200/Kconfig"
Tom Rinibdf4f182015-09-02 15:32:20 -04001365source "board/hisilicon/hikey/Kconfig"
Jorge Ramirez-Ortizf5b38422017-06-26 15:52:49 +02001366source "board/hisilicon/poplar/Kconfig"
Ladislav Michl10bdc712017-04-01 17:17:16 +02001367source "board/isee/igep003x/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001368source "board/phytec/pcm051/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001369source "board/silica/pengwyn/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001370source "board/spear/spear300/Kconfig"
1371source "board/spear/spear310/Kconfig"
1372source "board/spear/spear320/Kconfig"
1373source "board/spear/spear600/Kconfig"
1374source "board/spear/x600/Kconfig"
Vikas Manocha33913c52014-11-18 10:42:22 -08001375source "board/st/stv0991/Kconfig"
Enric Balletbò i Serra9d89b082015-09-07 07:43:20 +02001376source "board/tcl/sl50/Kconfig"
Gilles Gameiroebd46d12015-02-10 01:36:01 -08001377source "board/birdland/bav335x/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001378source "board/timll/devkit3250/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001379source "board/toradex/colibri_pxa270/Kconfig"
Yegor Yefremovfa8b71b2015-05-29 19:27:29 +02001380source "board/vscom/baltos/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001381source "board/woodburn/Kconfig"
Albert ARIBAUD \(3ADEV\)ee69a392015-03-31 11:40:51 +02001382source "board/work-microwave/work_92105/Kconfig"
Siva Durga Prasad Paladugub1acb652018-02-28 13:26:53 +05301383source "board/xilinx/zynqmp/Kconfig"
Vasily Khoruzhicka2cbff02016-03-20 18:37:00 -07001384source "board/zipitz2/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001385
Masahiro Yamadadf00e522014-09-01 11:06:34 +09001386source "arch/arm/Kconfig.debug"
1387
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001388endmenu
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +02001389
1390config SPL_LDSCRIPT
Mans Rullgard65d21902018-04-21 16:11:10 +01001391 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +02001392 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1393 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1394
1395