blob: 576b8f5874c26116f5cfffe7ed583b5cd1c7fbf1 [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
Tom Rinibacb52c2017-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 Siamashkafe038a72017-03-06 03:16:53 +0200101config ARM_ERRATA_725233
102 bool
103
Tom Rinibacb52c2017-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 Fan5ac341f2017-08-08 13:34:52 +0800146config ARM_ERRATA_845369
147 bool
148
Nisal Menukafaa993a2017-04-26 16:18:01 -0500149config ARM_ERRATA_852421
150 bool
151
152config ARM_ERRATA_852423
153 bool
154
Alison Wangc1293872017-12-28 13:00:55 +0800155config ARM_ERRATA_855873
156 bool
157
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100158config CPU_ARM720T
Tom Rinibca01962016-08-22 08:22:18 -0400159 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400160 select SYS_CACHE_SHIFT_5
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100161
162config CPU_ARM920T
Tom Rinibca01962016-08-22 08:22:18 -0400163 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400164 select SYS_CACHE_SHIFT_5
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100165
166config CPU_ARM926EJS
Tom Rinibca01962016-08-22 08:22:18 -0400167 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400168 select SYS_CACHE_SHIFT_5
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100169
170config CPU_ARM946ES
Tom Rinibca01962016-08-22 08:22:18 -0400171 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400172 select SYS_CACHE_SHIFT_5
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100173
174config CPU_ARM1136
Tom Rinibca01962016-08-22 08:22:18 -0400175 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400176 select SYS_CACHE_SHIFT_5
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100177
178config CPU_ARM1176
Tom Rinibca01962016-08-22 08:22:18 -0400179 bool
180 select HAS_VBAR
Tom Rini84f9b612016-08-22 08:22:17 -0400181 select SYS_CACHE_SHIFT_5
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100182
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530183config CPU_V7A
Tom Rinibca01962016-08-22 08:22:18 -0400184 bool
185 select HAS_VBAR
186 select HAS_THUMB2
Tom Rini84f9b612016-08-22 08:22:17 -0400187 select SYS_CACHE_SHIFT_6
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100188
rev13@wp.plb3b57e82015-03-01 12:44:39 +0100189config CPU_V7M
190 bool
Tom Rinibca01962016-08-22 08:22:18 -0400191 select HAS_THUMB2
Phil Edworthy3b8f16a2017-06-01 07:33:28 +0100192 select THUMB2_KERNEL
Tom Rini84f9b612016-08-22 08:22:17 -0400193 select SYS_CACHE_SHIFT_5
rev13@wp.plb3b57e82015-03-01 12:44:39 +0100194
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100195config CPU_PXA
Tom Rinibca01962016-08-22 08:22:18 -0400196 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400197 select SYS_CACHE_SHIFT_5
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100198
199config CPU_SA1100
Tom Rinibca01962016-08-22 08:22:18 -0400200 bool
Tom Rini84f9b612016-08-22 08:22:17 -0400201 select SYS_CACHE_SHIFT_5
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100202
203config SYS_CPU
Tom Rinibca01962016-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 Vutla81b1a672018-04-26 18:21:26 +0530210 default "armv7" if CPU_V7A
Tom Rinibca01962016-08-22 08:22:18 -0400211 default "armv7m" if CPU_V7M
212 default "pxa" if CPU_PXA
213 default "sa1100" if CPU_SA1100
Masahiro Yamadadade3b02014-11-06 11:39:27 +0900214 default "armv8" if ARM64
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100215
Marek Vasutb06c9542016-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 Vutla81b1a672018-04-26 18:21:26 +0530224 default 7 if CPU_V7A
Marek Vasutb06c9542016-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 Rini84f9b612016-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 Przywara7b169252018-04-12 04:24:46 +0300245config SYS_ARCH_TIMER
246 bool "ARM Generic Timer support"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530247 depends on CPU_V7A || ARM64
Andre Przywara7b169252018-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 Yamadae8ead732017-04-14 11:10:23 +0900255config ARM_SMCCC
256 bool "Support for ARM SMC Calling Convention (SMCCC)"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530257 depends on CPU_V7A || ARM64
Masahiro Yamada836c55d2017-04-14 11:10:24 +0900258 select ARM_PSCI_FW
Masahiro Yamadae8ead732017-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 Walleij800d6fd2015-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 Rini1c640a62017-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 Fan10ddab42015-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 Przywara48321ba2016-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 Goldschmidt387218a2018-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 Przywara48321ba2016-05-31 10:45:06 -0700302
Andre Przywara4330eb92017-02-16 01:20:21 +0000303config ARM_CORTEX_CPU_IS_UP
304 bool
305 default n
306
Fabio Estevam988f5052016-12-15 19:30:40 -0200307config USE_ARCH_MEMCPY
308 bool "Use an assembly optimized implementation of memcpy"
Tom Rini443b5162017-01-12 13:16:02 -0500309 default y
Masahiro Yamadae55f1462016-12-19 19:31:02 +0900310 depends on !ARM64
Fabio Estevam988f5052016-12-15 19:30:40 -0200311 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
Tom Rini443b5162017-01-12 13:16:02 -0500316config SPL_USE_ARCH_MEMCPY
Andy Yan524f3ce2017-06-28 16:27:37 +0800317 bool "Use an assembly optimized implementation of memcpy for SPL"
Tom Rini443b5162017-01-12 13:16:02 -0500318 default y if USE_ARCH_MEMCPY
319 depends on !ARM64
320 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
Fabio Estevam988f5052016-12-15 19:30:40 -0200325config USE_ARCH_MEMSET
326 bool "Use an assembly optimized implementation of memset"
Tom Rini443b5162017-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 Yan524f3ce2017-06-28 16:27:37 +0800335 bool "Use an assembly optimized implementation of memset for SPL"
Tom Rini443b5162017-01-12 13:16:02 -0500336 default y if USE_ARCH_MEMSET
Masahiro Yamadae55f1462016-12-19 19:31:02 +0900337 depends on !ARM64
Fabio Estevam988f5052016-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 Wang73818d52016-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 Yamadad3ae6782014-07-30 14:08:14 +0900349choice
350 prompt "Target select"
Simon Glassdfd904a2015-08-30 19:19:30 -0600351 default TARGET_HIKEY
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900352
Masahiro Yamadaaf908ee2015-02-20 17:04:01 +0900353config ARCH_AT91
354 bool "Atmel AT91"
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +0800355 select SPL_BOARD_INIT if SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900356
357config TARGET_EDB93XX
358 bool "Support edb93xx"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100359 select CPU_ARM920T
Alexander Graf2184ccd2018-01-25 12:05:50 +0100360 select PL010_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900361
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900362config TARGET_ASPENITE
363 bool "Support aspenite"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100364 select CPU_ARM926EJS
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900365
366config TARGET_GPLUGD
367 bool "Support gplugd"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100368 select CPU_ARM926EJS
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900369
Masahiro Yamadae604ef92014-08-31 07:11:01 +0900370config ARCH_DAVINCI
371 bool "TI DaVinci"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100372 select CPU_ARM926EJS
Simon Glassd09f3772017-08-04 16:34:43 -0600373 imply CMD_SAVES
Masahiro Yamadae604ef92014-08-31 07:11:01 +0900374 help
375 Support for TI's DaVinci platform.
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900376
Masahiro Yamadad7570852014-08-31 07:10:59 +0900377config KIRKWOOD
378 bool "Marvell Kirkwood"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100379 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700380 select BOARD_EARLY_INIT_F
Simon Glass95d31412017-01-23 13:31:21 -0700381 select ARCH_MISC_INIT
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900382
Stefan Roese383e0c12015-08-25 13:18:38 +0200383config ARCH_MVEBU
Stefan Roesecb410332016-05-25 08:13:45 +0200384 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
Stefan Roese096de4f2015-09-01 11:27:52 +0200385 select OF_CONTROL
386 select OF_SEPARATE
387 select DM
Stefan Roese05b38c12015-11-19 07:46:15 +0100388 select DM_ETH
Stefan Roese7f9f8e32015-09-02 08:41:41 +0200389 select DM_SERIAL
Stefan Roese49e7d772015-11-20 13:51:57 +0100390 select DM_SPI
391 select DM_SPI_FLASH
Adam Ford4e96ff82018-04-15 13:51:26 -0400392 select SPI
Stefan Roese9b1e2312014-10-22 12:13:19 +0200393
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900394config TARGET_DEVKIT3250
395 bool "Support devkit3250"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100396 select CPU_ARM926EJS
Vladimir Zapolskiy89f86a22015-07-18 01:47:11 +0300397 select SUPPORT_SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900398
Albert ARIBAUD \(3ADEV\)ee69a392015-03-31 11:40:51 +0200399config TARGET_WORK_92105
400 bool "Support work_92105"
401 select CPU_ARM926EJS
402 select SUPPORT_SPL
403
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900404config TARGET_APF27
405 bool "Support apf27"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100406 select CPU_ARM926EJS
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900407 select SUPPORT_SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900408
Masahiro Yamada04ffbc12014-08-31 07:11:06 +0900409config ORION5X
410 bool "Marvell Orion"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100411 select CPU_ARM926EJS
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900412
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900413config TARGET_SPEAR300
414 bool "Support spear300"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100415 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700416 select BOARD_EARLY_INIT_F
Simon Glassd09f3772017-08-04 16:34:43 -0600417 imply CMD_SAVES
Alexander Graf65bfb422018-01-25 12:05:51 +0100418 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900419
420config TARGET_SPEAR310
421 bool "Support spear310"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100422 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700423 select BOARD_EARLY_INIT_F
Simon Glassd09f3772017-08-04 16:34:43 -0600424 imply CMD_SAVES
Alexander Graf65bfb422018-01-25 12:05:51 +0100425 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900426
427config TARGET_SPEAR320
428 bool "Support spear320"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100429 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700430 select BOARD_EARLY_INIT_F
Simon Glassd09f3772017-08-04 16:34:43 -0600431 imply CMD_SAVES
Alexander Graf65bfb422018-01-25 12:05:51 +0100432 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900433
434config TARGET_SPEAR600
435 bool "Support spear600"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100436 select CPU_ARM926EJS
Simon Glass7a99a872017-01-23 13:31:20 -0700437 select BOARD_EARLY_INIT_F
Simon Glassd09f3772017-08-04 16:34:43 -0600438 imply CMD_SAVES
Alexander Graf65bfb422018-01-25 12:05:51 +0100439 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900440
Vikas Manocha33913c52014-11-18 10:42:22 -0800441config TARGET_STV0991
442 bool "Support stv0991"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530443 select CPU_V7A
Masahiro Yamada0906a822015-03-31 12:48:01 +0900444 select DM
445 select DM_SERIAL
Vikas Manocha8cc062f2015-07-02 18:29:41 -0700446 select DM_SPI
447 select DM_SPI_FLASH
Adam Ford4e96ff82018-04-15 13:51:26 -0400448 select SPI
Vikas Manocha8cc062f2015-07-02 18:29:41 -0700449 select SPI_FLASH
Alexander Graf633ef892018-01-25 12:05:52 +0100450 select PL01X_SERIAL
Vikas Manocha33913c52014-11-18 10:42:22 -0800451
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900452config TARGET_X600
453 bool "Support x600"
Tom Rini22d567e2017-01-22 19:43:11 -0500454 select BOARD_LATE_INIT
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100455 select CPU_ARM926EJS
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900456 select SUPPORT_SPL
Alexander Graf65bfb422018-01-25 12:05:51 +0100457 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900458
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900459config TARGET_MX31PDK
460 bool "Support mx31pdk"
Tom Rini22d567e2017-01-22 19:43:11 -0500461 select BOARD_LATE_INIT
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100462 select CPU_ARM1136
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900463 select SUPPORT_SPL
Simon Glass7a99a872017-01-23 13:31:20 -0700464 select BOARD_EARLY_INIT_F
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900465
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900466config TARGET_WOODBURN
467 bool "Support woodburn"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100468 select CPU_ARM1136
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900469
470config TARGET_WOODBURN_SD
471 bool "Support woodburn_sd"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100472 select CPU_ARM1136
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900473 select SUPPORT_SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900474
475config TARGET_FLEA3
476 bool "Support flea3"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100477 select CPU_ARM1136
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900478
479config TARGET_MX35PDK
480 bool "Support mx35pdk"
Tom Rini22d567e2017-01-22 19:43:11 -0500481 select BOARD_LATE_INIT
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +0100482 select CPU_ARM1136
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900483
Masahiro Yamadaed22cc72015-03-19 19:42:56 +0900484config ARCH_BCM283X
485 bool "Broadcom BCM283X family"
Masahiro Yamada5ef5ccc2015-03-31 12:47:53 +0900486 select DM
487 select DM_SERIAL
488 select DM_GPIO
Fabian Vogtf9e3ed52016-09-26 14:26:51 +0200489 select OF_CONTROL
Alexander Graf633ef892018-01-25 12:05:52 +0100490 select PL01X_SERIAL
Alexander Grafc8bda542018-01-29 13:57:20 +0100491 select SERIAL_SEARCH_ALL
Tom Rinid8532af2017-06-02 11:03:50 -0400492 imply FAT_WRITE
Stephen Warrendc7ea682015-02-16 12:16:15 -0700493
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900494config TARGET_VEXPRESS_CA15_TC2
495 bool "Support vexpress_ca15_tc2"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530496 select CPU_V7A
Hans de Goede85437352014-11-14 09:34:30 +0100497 select CPU_V7_HAS_NONSEC
498 select CPU_V7_HAS_VIRT
Alexander Graf65bfb422018-01-25 12:05:51 +0100499 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900500
501config TARGET_VEXPRESS_CA5X2
502 bool "Support vexpress_ca5x2"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530503 select CPU_V7A
Alexander Graf65bfb422018-01-25 12:05:51 +0100504 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900505
506config TARGET_VEXPRESS_CA9X4
507 bool "Support vexpress_ca9x4"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530508 select CPU_V7A
Alexander Graf65bfb422018-01-25 12:05:51 +0100509 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900510
Steve Rae45f2c702016-06-02 15:10:56 -0700511config TARGET_BCM23550_W1D
512 bool "Support bcm23550_w1d"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530513 select CPU_V7A
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100514 imply CRC32_VERIFY
Tom Rinid8532af2017-06-02 11:03:50 -0400515 imply FAT_WRITE
Steve Rae45f2c702016-06-02 15:10:56 -0700516
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900517config TARGET_BCM28155_AP
518 bool "Support bcm28155_ap"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530519 select CPU_V7A
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100520 imply CRC32_VERIFY
Tom Rinid8532af2017-06-02 11:03:50 -0400521 imply FAT_WRITE
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900522
Steve Rae1c5f31c2014-11-11 11:32:18 -0800523config TARGET_BCMCYGNUS
524 bool "Support bcmcygnus"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530525 select CPU_V7A
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100526 imply CRC32_VERIFY
Simon Glass027608e2017-05-17 03:25:25 -0600527 imply CMD_HASH
Tom Rinid8532af2017-06-02 11:03:50 -0400528 imply FAT_WRITE
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100529 imply HASH_VERIFY
Suji Velupillaid2f677a2017-07-10 14:05:41 -0700530 imply NETDEVICES
531 imply BCM_SF2_ETH
532 imply BCM_SF2_ETH_GMAC
Steve Rae729da8b2014-08-11 13:58:26 -0700533
Steve Rae1c5f31c2014-11-11 11:32:18 -0800534config TARGET_BCMNSP
535 bool "Support bcmnsp"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530536 select CPU_V7A
Steve Rae729da8b2014-08-11 13:58:26 -0700537
Jon Masond59b5862017-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 Yamadac54550b2014-08-31 07:11:00 +0900546config ARCH_EXYNOS
547 bool "Samsung EXYNOS"
Masahiro Yamada5ef5ccc2015-03-31 12:47:53 +0900548 select DM
Simon Glass7bbb7d92016-11-23 06:34:40 -0700549 select DM_I2C
Masahiro Yamada5ef5ccc2015-03-31 12:47:53 +0900550 select DM_SPI_FLASH
551 select DM_SERIAL
552 select DM_SPI
553 select DM_GPIO
Simon Glassaa8484f2015-10-18 21:17:17 -0600554 select DM_KEYBOARD
Adam Ford4e96ff82018-04-15 13:51:26 -0400555 select SPI
Tom Rinid8532af2017-06-02 11:03:50 -0400556 imply FAT_WRITE
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900557
Simon Glass96aa0722014-10-07 22:01:50 -0600558config ARCH_S5PC1XX
559 bool "Samsung S5PC1XX"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530560 select CPU_V7A
Masahiro Yamada5ef5ccc2015-03-31 12:47:53 +0900561 select DM
562 select DM_SERIAL
563 select DM_GPIO
Simon Glassc6aa9702016-11-23 06:34:41 -0700564 select DM_I2C
Simon Glass96aa0722014-10-07 22:01:50 -0600565
Masahiro Yamada52ece9c2014-08-31 07:11:07 +0900566config ARCH_HIGHBANK
567 bool "Calxeda Highbank"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530568 select CPU_V7A
Alexander Graf65bfb422018-01-25 12:05:51 +0100569 select PL011_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900570
Masahiro Yamadacad44162015-04-21 21:59:36 +0900571config ARCH_INTEGRATOR
572 bool "ARM Ltd. Integrator family"
Linus Walleij616d9a02015-07-27 11:22:48 +0200573 select DM
574 select DM_SERIAL
Alexander Graf633ef892018-01-25 12:05:52 +0100575 select PL01X_SERIAL
Masahiro Yamadacad44162015-04-21 21:59:36 +0900576
Masahiro Yamada32013fb2014-08-31 07:11:05 +0900577config ARCH_KEYSTONE
578 bool "TI Keystone"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530579 select CPU_V7A
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900580 select SUPPORT_SPL
Tom Rini1c640a62017-03-18 09:01:44 -0400581 select SYS_THUMB_BUILD
Tom Rini393a4ce2016-03-16 09:19:43 -0400582 select CMD_POWEROFF
Andre Przywara7b169252018-04-12 04:24:46 +0300583 select SYS_ARCH_TIMER
Tom Rinic20bb732017-07-22 18:36:16 -0400584 imply CMD_MTDPARTS
Andrew F. Davis848944c2017-04-21 10:01:28 -0500585 imply FIT
Simon Glassd09f3772017-08-04 16:34:43 -0600586 imply CMD_SAVES
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900587
Masahiro Yamada6e1288c2017-04-25 13:10:11 +0900588config ARCH_OMAP2PLUS
589 bool "TI OMAP2+"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530590 select CPU_V7A
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +0800591 select SPL_BOARD_INIT if SPL
Tom Rinic37e0cf2017-09-17 11:44:49 -0400592 select SPL_STACK_R if SPL
Masahiro Yamada6e1288c2017-04-25 13:10:11 +0900593 select SUPPORT_SPL
594 imply FIT
595
Beniamino Galvanid1037e42016-05-08 08:30:16 +0200596config ARCH_MESON
597 bool "Amlogic Meson"
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900598 imply DISTRO_DEFAULTS
Beniamino Galvanid1037e42016-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 Fan66294882018-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 Agner081ea1f2018-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 Estevam52b2f452017-11-03 13:40:08 -0200616config ARCH_MX25
617 bool "NXP MX25"
618 select CPU_ARM926EJS
Adam Fordb413c452018-02-04 09:32:43 -0600619 imply MXC_GPIO
Fabio Estevam52b2f452017-11-03 13:40:08 -0200620
Stefan Agner663a3232018-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 Fan2c7b1702017-02-22 16:21:39 +0800627config ARCH_MX7ULP
628 bool "NXP MX7ULP"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530629 select CPU_V7A
Peng Fan2c7b1702017-02-22 16:21:39 +0800630 select ROM_UNIFIED_SECTIONS
Adam Fordb413c452018-02-04 09:32:43 -0600631 imply MXC_GPIO
Peng Fan2c7b1702017-02-22 16:21:39 +0800632
Adrian Alonso98810772015-09-03 11:49:28 -0500633config ARCH_MX7
634 bool "Freescale MX7"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530635 select CPU_V7A
York Sun92c36e22016-12-28 08:43:30 -0800636 select SYS_FSL_HAS_SEC if SECURE_BOOT
637 select SYS_FSL_SEC_COMPAT_4
York Sunfa4199422016-12-28 08:43:31 -0800638 select SYS_FSL_SEC_LE
Simon Glass7a99a872017-01-23 13:31:20 -0700639 select BOARD_EARLY_INIT_F
Simon Glass95d31412017-01-23 13:31:21 -0700640 select ARCH_MISC_INIT
Adam Fordb413c452018-02-04 09:32:43 -0600641 imply MXC_GPIO
Adrian Alonso98810772015-09-03 11:49:28 -0500642
Boris BREZILLON51e82662015-03-04 13:13:03 +0100643config ARCH_MX6
644 bool "Freescale MX6"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530645 select CPU_V7A
York Sun92c36e22016-12-28 08:43:30 -0800646 select SYS_FSL_HAS_SEC if SECURE_BOOT
647 select SYS_FSL_SEC_COMPAT_4
York Sunfa4199422016-12-28 08:43:31 -0800648 select SYS_FSL_SEC_LE
Tom Rini1c640a62017-03-18 09:01:44 -0400649 select SYS_THUMB_BUILD if SPL
Adam Fordb413c452018-02-04 09:32:43 -0600650 imply MXC_GPIO
Boris BREZILLON51e82662015-03-04 13:13:03 +0100651
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +0200652if ARCH_MX6
653config SPL_LDSCRIPT
654 default "arch/arm/mach-omap2/u-boot-spl.lds"
655endif
656
Andrej Rosano1ac4bca2015-04-08 18:56:29 +0200657config ARCH_MX5
658 bool "Freescale MX5"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530659 select CPU_V7A
Simon Glass7a99a872017-01-23 13:31:20 -0700660 select BOARD_EARLY_INIT_F
Adam Fordb413c452018-02-04 09:32:43 -0600661 imply MXC_GPIO
Andrej Rosano1ac4bca2015-04-08 18:56:29 +0200662
Tuomas Tynkkynen28cac522017-09-19 23:18:07 +0300663config ARCH_QEMU
664 bool "QEMU Virtual Platform"
Tuomas Tynkkynen28cac522017-09-19 23:18:07 +0300665 select DM
666 select DM_SERIAL
667 select OF_CONTROL
Alexander Graf633ef892018-01-25 12:05:52 +0100668 select PL01X_SERIAL
Tuomas Tynkkynen28cac522017-09-19 23:18:07 +0300669
Nobuhiro Iwamatsu7c112732015-10-10 05:58:28 +0900670config ARCH_RMOBILE
Masahiro Yamadac9c54e22014-08-31 07:10:57 +0900671 bool "Renesas ARM SoCs"
Nobuhiro Iwamatsu7c112732015-10-10 05:58:28 +0900672 select DM
673 select DM_SERIAL
Simon Glass7a99a872017-01-23 13:31:20 -0700674 select BOARD_EARLY_INIT_F
Tom Rinid8532af2017-06-02 11:03:50 -0400675 imply FAT_WRITE
Tom Rini1c640a62017-03-18 09:01:44 -0400676 imply SYS_THUMB_BUILD
Nikita Kiryanovf5cab0f2014-09-07 18:59:29 +0300677
Eddy Petrișor5178dc12016-06-05 03:43:00 +0300678config TARGET_S32V234EVB
679 bool "Support s32v234evb"
680 select ARM64
York Sun097e3602016-12-28 08:43:42 -0800681 select SYS_FSL_ERRATUM_ESDHC111
Eddy Petrișor5178dc12016-06-05 03:43:00 +0300682
Mateusz Kulikowski2507d822016-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 Yamada144a3e02015-04-21 20:38:20 +0900693config ARCH_SOCFPGA
694 bool "Altera SOCFPGA family"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530695 select CPU_V7A
Marek Vasut69295472014-12-30 18:16:08 +0100696 select SUPPORT_SPL
Marek Vasutf44fb6f2015-08-19 23:23:52 +0200697 select OF_CONTROL
698 select SPL_OF_CONTROL
Masahiro Yamadae2005542015-03-31 12:47:59 +0900699 select DM
Marek Vasutbcd861b2016-11-16 17:20:23 +0100700 select ENABLE_ARM_SOC_BOOT0_HOOK
Simon Glass62adede2017-01-23 13:31:19 -0700701 select ARCH_EARLY_INIT_R
Simon Glass95d31412017-01-23 13:31:21 -0700702 select ARCH_MISC_INIT
Tom Rini1c640a62017-03-18 09:01:44 -0400703 select SYS_THUMB_BUILD
Tom Rinic20bb732017-07-22 18:36:16 -0400704 imply CMD_MTDPARTS
Daniel Thompsona9e2c672017-05-19 17:26:58 +0100705 imply CRC32_VERIFY
Simon Goldschmidta4347302018-02-13 06:34:14 +0100706 imply DM_SPI
707 imply DM_SPI_FLASH
Tom Rinid8532af2017-06-02 11:03:50 -0400708 imply FAT_WRITE
Simon Goldschmidta4347302018-02-13 06:34:14 +0100709 imply HW_WATCHDOG
710 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
Marek Vasut69295472014-12-30 18:16:08 +0100711
Ian Campbelld8e69e02014-10-24 21:20:44 +0100712config ARCH_SUNXI
713 bool "Support sunxi (Allwinner) SoCs"
Masahiro Yamada87247af2017-10-17 13:42:44 +0900714 select BINMAN
Hans de Goedec9511672016-04-03 09:41:44 +0200715 select CMD_GPIO
Hans de Goede2c526402016-05-15 13:51:58 +0200716 select CMD_MMC if MMC
Yann E. MORINe28217d2016-10-31 22:33:40 +0100717 select CMD_USB if DISTRO_DEFAULTS
Hans de Goede03914882015-04-15 20:46:48 +0200718 select DM
Tom Rini10e87172015-06-30 16:51:15 -0400719 select DM_ETH
Hans de Goedec8d43472015-12-21 20:22:00 +0100720 select DM_GPIO
721 select DM_KEYBOARD
Tom Rini10e87172015-06-30 16:51:15 -0400722 select DM_SERIAL
Yann E. MORINe28217d2016-10-31 22:33:40 +0100723 select DM_USB if DISTRO_DEFAULTS
Hans de Goede48a234a2016-03-22 22:51:52 +0100724 select OF_BOARD_SETUP
Hans de Goede03914882015-04-15 20:46:48 +0200725 select OF_CONTROL
726 select OF_SEPARATE
Tom Rinie69ba982018-03-06 19:02:27 -0500727 select SPECIFY_CONSOLE_INDEX
Tom Rinidac518f2017-06-21 07:54:46 -0400728 select SPL_STACK_R if SPL
729 select SPL_SYS_MALLOC_SIMPLE if SPL
Hans de Goede9cce88a2015-12-10 11:10:17 +0100730 select SYS_NS16550
Tom Rini1c640a62017-03-18 09:01:44 -0400731 select SPL_SYS_THUMB_BUILD if !ARM64
Maxime Ripard2ba0f212017-10-19 11:49:29 +0200732 select SYS_THUMB_BUILD if !ARM64
Yann E. MORINe28217d2016-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 Goede42a31822016-06-10 12:19:40 +0200736 select USE_TINY_PRINTF
Maxime Ripardbc7db012017-08-24 11:54:03 +0200737 imply CMD_GPT
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900738 imply DISTRO_DEFAULTS
Tom Rinid8532af2017-06-02 11:03:50 -0400739 imply FAT_WRITE
Andre Heider11790742018-01-16 09:44:22 +0100740 imply OF_LIBFDT_OVERLAY
Masahiro Yamada8e5e1ea2017-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 Yamada0a780172017-05-09 20:31:39 +0900746 imply SPL_MMC_SUPPORT if MMC
Masahiro Yamada8e5e1ea2017-04-28 19:42:19 +0900747 imply SPL_POWER_SUPPORT
748 imply SPL_SERIAL_SUPPORT
Maxime Ripardabb17b42017-09-07 10:46:24 +0200749 imply USB_GADGET
Chen-Yu Tsai848c2632014-10-22 16:47:44 +0800750
Stefan Agnerd53c0a42017-03-13 18:41:36 -0700751config ARCH_VF610
752 bool "Freescale Vybrid"
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530753 select CPU_V7A
York Sun097e3602016-12-28 08:43:42 -0800754 select SYS_FSL_ERRATUM_ESDHC111
Tom Rinic20bb732017-07-22 18:36:16 -0400755 imply CMD_MTDPARTS
Adam Ford42efb612017-08-07 17:37:18 -0400756 imply NAND
Sanchayan Maitycc4d78f2015-04-15 16:24:26 +0530757
Masahiro Yamada8204bd12015-03-16 16:43:24 +0900758config ARCH_ZYNQ
Michal Simek8caedde2017-11-23 08:25:41 +0100759 bool "Xilinx Zynq based platform"
Tom Rini22d567e2017-01-22 19:43:11 -0500760 select BOARD_LATE_INIT
Lokesh Vutla81b1a672018-04-26 18:21:26 +0530761 select CPU_V7A
Masahiro Yamada6e0971b2014-10-20 17:45:56 +0900762 select SUPPORT_SPL
Jagan Tekif522bf52015-06-29 14:17:32 +0530763 select OF_CONTROL
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +0800764 select SPL_BOARD_INIT if SPL
Michal Simek309ef802018-02-21 17:04:28 +0100765 select BOARD_EARLY_INIT_F if WDT
Michal Simek6dae8492016-01-13 14:32:43 +0100766 select SPL_OF_CONTROL if SPL
Masahiro Yamada2df07d42015-03-31 12:47:55 +0900767 select DM
Michal Simek6d35f3f2018-01-09 14:49:28 +0100768 select DM_ETH if NET
Michal Simek6dae8492016-01-13 14:32:43 +0100769 select SPL_DM if SPL
Michal Simek6d35f3f2018-01-09 14:49:28 +0100770 select DM_MMC if MMC
Jagan Teki0bd03a52015-06-27 00:51:32 +0530771 select DM_SPI
Simon Glass23d9b622015-10-17 19:41:27 -0600772 select DM_SERIAL
Jagan Teki0bd03a52015-06-27 00:51:32 +0530773 select DM_SPI_FLASH
Michal Simek6dae8492016-01-13 14:32:43 +0100774 select SPL_SEPARATE_BSS if SPL
Simon Glass476e63f2016-07-05 17:10:14 -0600775 select DM_USB if USB
Stefan Herbrechtsmeiere67c6c42017-01-17 16:27:30 +0100776 select CLK
Ezequiel Garciad4f835a2018-01-12 12:33:24 -0300777 select SPL_CLK if SPL
Stefan Herbrechtsmeiere67c6c42017-01-17 16:27:30 +0100778 select CLK_ZYNQ
Adam Ford4e96ff82018-04-15 13:51:26 -0400779 select SPI
Simon Glass04ac6f12017-04-26 22:28:02 -0600780 imply CMD_CLK
Tom Rinid8532af2017-06-02 11:03:50 -0400781 imply FAT_WRITE
Simon Glassc6567fa2017-08-04 16:34:48 -0600782 imply CMD_SPL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900783
Siva Durga Prasad Paladugu650fb402015-06-10 15:50:57 +0530784config ARCH_ZYNQMP
Michal Simek8caedde2017-11-23 08:25:41 +0100785 bool "Xilinx ZynqMP based platform"
Michal Simek04b7e622015-01-15 10:01:51 +0100786 select ARM64
Tom Rini22d567e2017-01-22 19:43:11 -0500787 select BOARD_LATE_INIT
Michal Simek25b83712015-10-17 19:41:25 -0600788 select DM
789 select OF_CONTROL
790 select DM_SERIAL
Michal Simek72536fd2015-11-20 13:17:22 +0100791 select SUPPORT_SPL
Michal Simek6f88c702016-07-14 15:07:54 +0200792 select CLK
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +0800793 select SPL_BOARD_INIT if SPL
Michal Simekfd1d7662017-12-01 15:13:36 +0100794 select SPL_CLK if SPL
Simon Glass476e63f2016-07-05 17:10:14 -0600795 select DM_USB if USB
Tom Rinid8532af2017-06-02 11:03:50 -0400796 imply FAT_WRITE
Michal Simek04b7e622015-01-15 10:01:51 +0100797
Masahiro Yamada73a5b1a2014-08-31 07:10:56 +0900798config TEGRA
799 bool "NVIDIA Tegra"
Masahiro Yamada9afc6c52018-04-25 18:47:52 +0900800 imply DISTRO_DEFAULTS
Tom Rinid8532af2017-06-02 11:03:50 -0400801 imply FAT_WRITE
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900802
Linus Walleij800d6fd2015-01-23 11:50:53 +0100803config TARGET_VEXPRESS64_AEMV8A
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900804 bool "Support vexpress_aemv8a"
Masahiro Yamada0d46c342014-09-14 03:01:51 +0900805 select ARM64
Alexander Graf633ef892018-01-25 12:05:52 +0100806 select PL01X_SERIAL
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900807
Linus Walleij800d6fd2015-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 Graf633ef892018-01-25 12:05:52 +0100812 select PL01X_SERIAL
Linus Walleij800d6fd2015-01-23 11:50:53 +0100813
Ryan Harkinb6b96652015-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 Graf633ef892018-01-25 12:05:52 +0100817 select PL01X_SERIAL
Ryan Harkinb6b96652015-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 Walleijc5822502015-01-23 14:41:10 +0100824config TARGET_VEXPRESS64_JUNO
825 bool "Support Versatile Express Juno Development Platform"
826 select ARM64
Alexander Graf633ef892018-01-25 12:05:52 +0100827 select PL01X_SERIAL
Linus Walleijc5822502015-01-23 14:41:10 +0100828
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530829config TARGET_LS2080A_EMU
830 bool "Support ls2080a_emu"
York Sun4dd8c612016-10-04 14:31:48 -0700831 select ARCH_LS2080A
Masahiro Yamada0d46c342014-09-14 03:01:51 +0900832 select ARM64
Linus Walleij74771392015-03-09 10:53:21 +0100833 select ARMV8_MULTIENTRY
Simon Glass95d31412017-01-23 13:31:21 -0700834 select ARCH_MISC_INIT
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530835 help
836 Support for Freescale LS2080A_EMU platform
837 The LS2080A Development System (EMULATOR) is a pre silicon
838 development platform that supports the QorIQ LS2080A
839 Layerscape Architecture processor.
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900840
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530841config TARGET_LS2080A_SIMU
842 bool "Support ls2080a_simu"
York Sun4dd8c612016-10-04 14:31:48 -0700843 select ARCH_LS2080A
Masahiro Yamada0d46c342014-09-14 03:01:51 +0900844 select ARM64
Linus Walleij74771392015-03-09 10:53:21 +0100845 select ARMV8_MULTIENTRY
Simon Glass95d31412017-01-23 13:31:21 -0700846 select ARCH_MISC_INIT
Prabhakar Kushwaha122bcfd2015-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.
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900852
Ashish Kumar1ef4c772017-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 Kumar4feb83b2017-11-06 13:18:44 +0530860 select SUPPORT_SPL
Ashish Kumar1ef4c772017-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 Kushwaha122bcfd2015-11-09 16:42:07 +0530867config TARGET_LS2080AQDS
868 bool "Support ls2080aqds"
York Sun4dd8c612016-10-04 14:31:48 -0700869 select ARCH_LS2080A
York Sun03017032015-03-20 19:28:23 -0700870 select ARM64
871 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -0500872 select BOARD_LATE_INIT
Scott Wood8e728cd2015-03-24 13:25:02 -0700873 select SUPPORT_SPL
Simon Glass95d31412017-01-23 13:31:21 -0700874 select ARCH_MISC_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600875 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200876 imply SCSI_AHCI
York Sun03017032015-03-20 19:28:23 -0700877 help
Prabhakar Kushwaha122bcfd2015-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
York Sun03017032015-03-20 19:28:23 -0700881 Layerscape Architecture processor.
882
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530883config TARGET_LS2080ARDB
884 bool "Support ls2080ardb"
York Sun4dd8c612016-10-04 14:31:48 -0700885 select ARCH_LS2080A
York Sune12abcb2015-03-20 19:28:24 -0700886 select ARM64
887 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -0500888 select BOARD_LATE_INIT
Scott Wood212b8d82015-03-24 13:25:03 -0700889 select SUPPORT_SPL
Simon Glass95d31412017-01-23 13:31:21 -0700890 select ARCH_MISC_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600891 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200892 imply SCSI_AHCI
York Sune12abcb2015-03-20 19:28:24 -0700893 help
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +0530894 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 Sune12abcb2015-03-20 19:28:24 -0700897 Layerscape Architecture processor.
898
Priyanka Jain75cd67f2017-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 Griffin31f327e2015-07-30 18:55:23 +0100913config TARGET_HIKEY
914 bool "Support HiKey 96boards Consumer Edition Platform"
915 select ARM64
Peter Griffinff9302f2015-09-10 21:55:16 +0100916 select DM
917 select DM_GPIO
Peter Griffin0382c642015-09-10 21:55:17 +0100918 select DM_SERIAL
Peter Griffinc97c37a2016-04-20 17:13:59 +0100919 select OF_CONTROL
Alexander Graf633ef892018-01-25 12:05:52 +0100920 select PL01X_SERIAL
Tom Rinie69ba982018-03-06 19:02:27 -0500921 select SPECIFY_CONSOLE_INDEX
Peter Griffin31f327e2015-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-Ortizf5b38422017-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 Graf633ef892018-01-25 12:05:52 +0100933 select PL01X_SERIAL
Jorge Ramirez-Ortizf5b38422017-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 Kushwaha55432502016-06-03 18:41:34 +0530940config TARGET_LS1012AQDS
941 bool "Support ls1012aqds"
York Sunb3d71642016-09-26 08:09:26 -0700942 select ARCH_LS1012A
Prabhakar Kushwaha55432502016-06-03 18:41:34 +0530943 select ARM64
Tom Rini22d567e2017-01-22 19:43:11 -0500944 select BOARD_LATE_INIT
Prabhakar Kushwaha55432502016-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 Kushwahaa315c662016-06-03 18:41:35 +0530951config TARGET_LS1012ARDB
952 bool "Support ls1012ardb"
York Sunb3d71642016-09-26 08:09:26 -0700953 select ARCH_LS1012A
Prabhakar Kushwahaa315c662016-06-03 18:41:35 +0530954 select ARM64
Tom Rini22d567e2017-01-22 19:43:11 -0500955 select BOARD_LATE_INIT
Simon Glass0e5faf02017-06-14 21:28:21 -0600956 imply SCSI
Tuomas Tynkkynenedf9f622017-12-08 15:36:19 +0200957 imply SCSI_AHCI
Prabhakar Kushwahaa315c662016-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 Upadhaya7fff22a2018-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 Kushwaha9e7ee7b2016-06-03 18:41:36 +0530976config TARGET_LS1012AFRDM
977 bool "Support ls1012afrdm"
York Sunb3d71642016-09-26 08:09:26 -0700978 select ARCH_LS1012A
Prabhakar Kushwaha9e7ee7b2016-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 Kumar227b4bc2017-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 Kumar5676ceb2017-11-06 13:18:43 +0530993 select SUPPORT_SPL
Ashish Kumar227b4bc2017-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 Huanf0ce7d62014-09-05 13:52:44 +08001000config TARGET_LS1021AQDS
Alison Wang6ea8ad42014-12-03 16:18:09 +08001001 bool "Support ls1021aqds"
Tom Rini22d567e2017-01-22 19:43:11 -05001002 select BOARD_LATE_INIT
Lokesh Vutla81b1a672018-04-26 18:21:26 +05301003 select CPU_V7A
Hongbo Zhange80fccf2016-09-21 18:31:04 +08001004 select CPU_V7_HAS_NONSEC
1005 select CPU_V7_HAS_VIRT
Alison Wang024e6b12014-12-03 15:00:45 +08001006 select SUPPORT_SPL
York Sun149eb332016-09-26 08:09:27 -07001007 select ARCH_LS1021A
Masahiro Yamadad5415b22016-08-30 16:22:22 +09001008 select ARCH_SUPPORT_PSCI
York Sun4de7e932016-09-26 08:09:29 -07001009 select LS1_DEEP_SLEEP
York Sund297d392016-12-28 08:43:40 -08001010 select SYS_FSL_DDR
Simon Glass7a99a872017-01-23 13:31:20 -07001011 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001012 imply SCSI
Masahiro Yamadad5415b22016-08-30 16:22:22 +09001013
Wang Huanddf89f92014-09-05 13:52:45 +08001014config TARGET_LS1021ATWR
Alison Wang6ea8ad42014-12-03 16:18:09 +08001015 bool "Support ls1021atwr"
Tom Rini22d567e2017-01-22 19:43:11 -05001016 select BOARD_LATE_INIT
Lokesh Vutla81b1a672018-04-26 18:21:26 +05301017 select CPU_V7A
Hongbo Zhange80fccf2016-09-21 18:31:04 +08001018 select CPU_V7_HAS_NONSEC
1019 select CPU_V7_HAS_VIRT
Alison Wang024e6b12014-12-03 15:00:45 +08001020 select SUPPORT_SPL
York Sun149eb332016-09-26 08:09:27 -07001021 select ARCH_LS1021A
Masahiro Yamadad5415b22016-08-30 16:22:22 +09001022 select ARCH_SUPPORT_PSCI
York Sun4de7e932016-09-26 08:09:29 -07001023 select LS1_DEEP_SLEEP
Simon Glass7a99a872017-01-23 13:31:20 -07001024 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001025 imply SCSI
Wang Huanddf89f92014-09-05 13:52:45 +08001026
Feng Li39e112d2016-11-03 14:15:17 +08001027config TARGET_LS1021AIOT
1028 bool "Support ls1021aiot"
Tom Rini22d567e2017-01-22 19:43:11 -05001029 select BOARD_LATE_INIT
Lokesh Vutla81b1a672018-04-26 18:21:26 +05301030 select CPU_V7A
Feng Li39e112d2016-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 Glass0e5faf02017-06-14 21:28:21 -06001036 imply SCSI
Feng Li39e112d2016-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 Xiedd335672015-11-11 17:58:37 +08001043config TARGET_LS1043AQDS
1044 bool "Support ls1043aqds"
York Sun149eb332016-09-26 08:09:27 -07001045 select ARCH_LS1043A
Shaohui Xiedd335672015-11-11 17:58:37 +08001046 select ARM64
1047 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -05001048 select BOARD_LATE_INIT
Shaohui Xiedd335672015-11-11 17:58:37 +08001049 select SUPPORT_SPL
Simon Glass7a99a872017-01-23 13:31:20 -07001050 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001051 imply SCSI
Shaohui Xiedd335672015-11-11 17:58:37 +08001052 help
1053 Support for Freescale LS1043AQDS platform.
1054
Mingkai Hueee86ff2015-10-26 19:47:52 +08001055config TARGET_LS1043ARDB
1056 bool "Support ls1043ardb"
York Sun149eb332016-09-26 08:09:27 -07001057 select ARCH_LS1043A
Mingkai Hueee86ff2015-10-26 19:47:52 +08001058 select ARM64
Hou Zhiqiangc7098fa2015-10-26 19:47:57 +08001059 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -05001060 select BOARD_LATE_INIT
Gong Qianyu8168a0f2015-10-26 19:47:53 +08001061 select SUPPORT_SPL
Simon Glass7a99a872017-01-23 13:31:20 -07001062 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001063 imply SCSI
Mingkai Hueee86ff2015-10-26 19:47:52 +08001064 help
1065 Support for Freescale LS1043ARDB platform.
1066
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001067config TARGET_LS1046AQDS
1068 bool "Support ls1046aqds"
York Sunbad49842016-09-26 08:09:24 -07001069 select ARCH_LS1046A
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001070 select ARM64
1071 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -05001072 select BOARD_LATE_INIT
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001073 select SUPPORT_SPL
1074 select DM_SPI_FLASH if DM_SPI
Simon Glass7a99a872017-01-23 13:31:20 -07001075 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001076 imply SCSI
Shaohui Xie085ac1c2016-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 Hud2396512016-09-07 18:47:28 +08001083config TARGET_LS1046ARDB
1084 bool "Support ls1046ardb"
York Sunbad49842016-09-26 08:09:24 -07001085 select ARCH_LS1046A
Mingkai Hud2396512016-09-07 18:47:28 +08001086 select ARM64
1087 select ARMV8_MULTIENTRY
Tom Rini22d567e2017-01-22 19:43:11 -05001088 select BOARD_LATE_INIT
Mingkai Hud2396512016-09-07 18:47:28 +08001089 select SUPPORT_SPL
1090 select DM_SPI_FLASH if DM_SPI
Hou Zhiqiang67b6d0a2016-12-09 16:09:01 +08001091 select POWER_MC34VR500
Simon Glass7a99a872017-01-23 13:31:20 -07001092 select BOARD_EARLY_INIT_F
Simon Glass0e5faf02017-06-14 21:28:21 -06001093 imply SCSI
Mingkai Hud2396512016-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 Yamadad3ae6782014-07-30 14:08:14 +09001100config TARGET_H2200
1101 bool "Support h2200"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +01001102 select CPU_PXA
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001103
Vasily Khoruzhicka2cbff02016-03-20 18:37:00 -07001104config TARGET_ZIPITZ2
1105 bool "Support zipitz2"
1106 select CPU_PXA
1107
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001108config TARGET_COLIBRI_PXA270
1109 bool "Support colibri_pxa270"
Georges Savoundararadj3bae15f2014-10-28 23:16:09 +01001110 select CPU_PXA
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001111
Masahiro Yamada82069432014-10-03 19:21:07 +09001112config ARCH_UNIPHIER
Masahiro Yamada563ee4c2015-05-29 17:30:01 +09001113 bool "Socionext UniPhier SoCs"
Tom Rini22d567e2017-01-22 19:43:11 -05001114 select BOARD_LATE_INIT
Masahiro Yamada85eb8262015-03-31 12:47:54 +09001115 select DM
Masahiro Yamada5f128922016-02-16 17:03:50 +09001116 select DM_GPIO
Masahiro Yamada85eb8262015-03-31 12:47:54 +09001117 select DM_I2C
Masahiro Yamada867453e2016-02-18 19:52:49 +09001118 select DM_MMC
Masahiro Yamada2aa4b5b2016-10-08 13:25:31 +09001119 select DM_RESET
Masahiro Yamada694adf12016-09-14 01:05:59 +09001120 select DM_SERIAL
Masahiro Yamada5021b8a2016-09-14 01:06:00 +09001121 select DM_USB
Masahiro Yamada694adf12016-09-14 01:05:59 +09001122 select OF_CONTROL
1123 select OF_LIBFDT
Masahiro Yamada0c977252016-09-17 03:33:01 +09001124 select PINCTRL
Ley Foon Tan48fcc4a2017-05-03 17:13:32 +08001125 select SPL_BOARD_INIT if SPL
Masahiro Yamadadabee242017-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 Yamada694adf12016-09-14 01:05:59 +09001131 select SUPPORT_SPL
Tom Rinid8532af2017-06-02 11:03:50 -04001132 imply FAT_WRITE
Masahiro Yamada563ee4c2015-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 Yamada82069432014-10-03 19:21:07 +09001136
Vikas Manocha95c89192016-01-15 17:49:06 -08001137config STM32
Patrick Delaunay85b53972018-03-12 10:46:10 +01001138 bool "Support STMicroelectronics STM32 MCU with cortex M"
rev13@wp.pl6b5e5a92015-03-01 12:44:42 +01001139 select CPU_V7M
Kamil Lulko75d48a62015-12-01 09:08:19 +01001140 select DM
1141 select DM_SERIAL
Tom Rini1c640a62017-03-18 09:01:44 -04001142 select SYS_THUMB_BUILD
rev13@wp.pl6b5e5a92015-03-01 12:44:42 +01001143
Patrice Chotard5b428242017-02-21 13:37:04 +01001144config ARCH_STI
1145 bool "Support STMicrolectronics SoCs"
Lokesh Vutla81b1a672018-04-26 18:21:26 +05301146 select CPU_V7A
Patrice Chotard42d742b2017-02-21 13:37:07 +01001147 select DM
1148 select DM_SERIAL
Patrice Chotard2eea7d82017-02-21 13:37:09 +01001149 select BLK
1150 select DM_MMC
Patrice Chotard1235aa02017-03-22 10:54:03 +01001151 select DM_RESET
Patrice Chotard5b428242017-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 Delaunay85b53972018-03-12 10:46:10 +01001156config ARCH_STM32MP
1157 bool "Support STMicroelectronics STM32MP Socs with cortex A"
Patrick Delaunayc5d15652018-03-20 10:54:53 +01001158 select ARCH_MISC_INIT
Patrick Delaunay85b53972018-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 Delaunay32ddd262018-03-20 14:15:06 +01001171 select SYSRESET
Patrick Delaunay85b53972018-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 Glass2cffe662015-08-30 16:55:38 -06001179config ARCH_ROCKCHIP
1180 bool "Support Rockchip SoCs"
Simon Glass2cffe662015-08-30 16:55:38 -06001181 select OF_CONTROL
Simon Glass94106272016-06-12 23:30:14 -06001182 select BLK
Simon Glass2cffe662015-08-30 16:55:38 -06001183 select DM
Kever Yang0d3d7832016-07-19 21:16:59 +08001184 select SPL_DM if SPL
Simon Glass94106272016-06-12 23:30:14 -06001185 select SYS_MALLOC_F
Tom Rini1c640a62017-03-18 09:01:44 -04001186 select SYS_THUMB_BUILD if !ARM64
Kever Yang0d3d7832016-07-19 21:16:59 +08001187 select SPL_SYS_MALLOC_SIMPLE if SPL
Simon Glass94106272016-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
MengDongyangf0bf5de2016-08-24 12:02:18 +08001194 select DM_USB if USB
Kever Yangb8594e22016-09-23 15:57:21 +08001195 select DM_PWM
1196 select DM_REGULATOR
Philipp Tomsichb6f395c2017-10-10 16:21:03 +02001197 select ENABLE_ARM_SOC_BOOT0_HOOK
Adam Ford4e96ff82018-04-15 13:51:26 -04001198 select SPI
Tom Rinib5bf5622017-08-25 17:50:27 -04001199 imply CMD_FASTBOOT
Masahiro Yamada9afc6c52018-04-25 18:47:52 +09001200 imply DISTRO_DEFAULTS
Tom Rinib5bf5622017-08-25 17:50:27 -04001201 imply FASTBOOT
Tom Rinid8532af2017-06-02 11:03:50 -04001202 imply FAT_WRITE
Tom Rinib5bf5622017-08-25 17:50:27 -04001203 imply USB_FUNCTION_FASTBOOT
Kever Yang22f08442017-09-08 11:00:54 +08001204 imply SPL_SYSRESET
Kever Yangc9e90292017-09-13 09:39:06 +08001205 imply TPL_SYSRESET
Philipp Tomsich2fa7b7e2017-09-20 13:50:13 +02001206 imply ADC
1207 imply SARADC_ROCKCHIP
Kever Yang4a3448c2018-04-19 11:37:09 +08001208 imply SYS_NS16550
Simon Glass2cffe662015-08-30 16:55:38 -06001209
Sergey Temerkhanov69f7a032015-10-14 09:55:50 -07001210config TARGET_THUNDERX_88XX
1211 bool "Support ThunderX 88xx"
Marek Vasut09ab8ad2016-06-01 02:33:53 +02001212 select ARM64
Sergey Temerkhanov69f7a032015-10-14 09:55:50 -07001213 select OF_CONTROL
Tom Rini84f9b612016-08-22 08:22:17 -04001214 select SYS_CACHE_SHIFT_7
Alexander Graf633ef892018-01-25 12:05:52 +01001215 select PL01X_SERIAL
Sergey Temerkhanov69f7a032015-10-14 09:55:50 -07001216
maxims@google.comf57bd002017-01-18 13:44:55 -08001217config ARCH_ASPEED
1218 bool "Support Aspeed SoCs"
1219 select OF_CONTROL
1220 select DM
1221
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001222endchoice
1223
Andrew F. Davisd3fe9172018-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.comf57bd002017-01-18 13:44:55 -08001234source "arch/arm/mach-aspeed/Kconfig"
1235
Masahiro Yamadaaf908ee2015-02-20 17:04:01 +09001236source "arch/arm/mach-at91/Kconfig"
1237
Masahiro Yamadaed22cc72015-03-19 19:42:56 +09001238source "arch/arm/mach-bcm283x/Kconfig"
Masahiro Yamadae604ef92014-08-31 07:11:01 +09001239
Masahiro Yamadaed22cc72015-03-19 19:42:56 +09001240source "arch/arm/mach-davinci/Kconfig"
Simon Glass13fc6a22015-02-05 21:41:39 -07001241
Thomas Abraham74f84862015-08-03 17:58:00 +05301242source "arch/arm/mach-exynos/Kconfig"
Masahiro Yamadac54550b2014-08-31 07:11:00 +09001243
Masahiro Yamada95ec48b2015-02-20 17:04:08 +09001244source "arch/arm/mach-highbank/Kconfig"
Masahiro Yamada52ece9c2014-08-31 07:11:07 +09001245
Masahiro Yamadacad44162015-04-21 21:59:36 +09001246source "arch/arm/mach-integrator/Kconfig"
1247
Masahiro Yamadaf058b792015-02-20 17:04:11 +09001248source "arch/arm/mach-keystone/Kconfig"
Masahiro Yamada32013fb2014-08-31 07:11:05 +09001249
Masahiro Yamada5e5e23a2015-02-20 17:04:06 +09001250source "arch/arm/mach-kirkwood/Kconfig"
Masahiro Yamadad7570852014-08-31 07:10:59 +09001251
Stefan Roese383e0c12015-08-25 13:18:38 +02001252source "arch/arm/mach-mvebu/Kconfig"
1253
York Sun149eb332016-09-26 08:09:27 -07001254source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1255
Fabio Estevam52b2f452017-11-03 13:40:08 -02001256source "arch/arm/mach-imx/mx2/Kconfig"
1257
Peng Fan66294882018-01-10 13:20:19 +08001258source "arch/arm/mach-imx/mx5/Kconfig"
1259
1260source "arch/arm/mach-imx/mx6/Kconfig"
Peng Fan2c7b1702017-02-22 16:21:39 +08001261
Stefano Babic33731bc2017-06-29 10:16:06 +02001262source "arch/arm/mach-imx/mx7/Kconfig"
Adrian Alonso98810772015-09-03 11:49:28 -05001263
Peng Fan66294882018-01-10 13:20:19 +08001264source "arch/arm/mach-imx/mx7ulp/Kconfig"
Boris BREZILLON51e82662015-03-04 13:13:03 +01001265
Peng Fan66294882018-01-10 13:20:19 +08001266source "arch/arm/mach-imx/mx8m/Kconfig"
Andrej Rosano1ac4bca2015-04-08 18:56:29 +02001267
Stefan Agner081ea1f2018-02-06 09:44:34 +01001268source "arch/arm/mach-imx/mxs/Kconfig"
1269
Tom Rini28eec372016-11-07 21:34:54 -05001270source "arch/arm/mach-omap2/Kconfig"
Madan Srinivaseba13cd2016-05-19 19:10:43 -05001271
York Sunbad49842016-09-26 08:09:24 -07001272source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1273
Masahiro Yamada22537642015-02-20 17:04:09 +09001274source "arch/arm/mach-orion5x/Kconfig"
Masahiro Yamada04ffbc12014-08-31 07:11:06 +09001275
Nobuhiro Iwamatsuc91ef682015-10-09 16:40:09 +09001276source "arch/arm/mach-rmobile/Kconfig"
Masahiro Yamadac9c54e22014-08-31 07:10:57 +09001277
Beniamino Galvanid1037e42016-05-08 08:30:16 +02001278source "arch/arm/mach-meson/Kconfig"
1279
Tuomas Tynkkynen28cac522017-09-19 23:18:07 +03001280source "arch/arm/mach-qemu/Kconfig"
1281
Simon Glass2cffe662015-08-30 16:55:38 -06001282source "arch/arm/mach-rockchip/Kconfig"
1283
Minkyu Kang56b820a2015-11-20 15:24:57 +09001284source "arch/arm/mach-s5pc1xx/Kconfig"
Simon Glass96aa0722014-10-07 22:01:50 -06001285
Mateusz Kulikowski2507d822016-03-31 23:12:32 +02001286source "arch/arm/mach-snapdragon/Kconfig"
1287
Masahiro Yamada144a3e02015-04-21 20:38:20 +09001288source "arch/arm/mach-socfpga/Kconfig"
1289
Patrice Chotard5b428242017-02-21 13:37:04 +01001290source "arch/arm/mach-sti/Kconfig"
1291
Vikas Manocha95c89192016-01-15 17:49:06 -08001292source "arch/arm/mach-stm32/Kconfig"
1293
Patrick Delaunay85b53972018-03-12 10:46:10 +01001294source "arch/arm/mach-stm32mp/Kconfig"
1295
Masahiro Yamada4976a222017-04-28 19:42:18 +09001296source "arch/arm/mach-sunxi/Kconfig"
1297
Masahiro Yamadaed1632a2015-02-20 17:04:04 +09001298source "arch/arm/mach-tegra/Kconfig"
Masahiro Yamada73a5b1a2014-08-31 07:10:56 +09001299
Masahiro Yamadaf8563982015-02-27 02:26:42 +09001300source "arch/arm/mach-uniphier/Kconfig"
Masahiro Yamada82069432014-10-03 19:21:07 +09001301
Stefan Agnerd53c0a42017-03-13 18:41:36 -07001302source "arch/arm/cpu/armv7/vf610/Kconfig"
1303
Masahiro Yamada43246cc2015-03-16 16:43:22 +09001304source "arch/arm/mach-zynq/Kconfig"
Masahiro Yamada73a5b1a2014-08-31 07:10:56 +09001305
Hans de Goede85437352014-11-14 09:34:30 +01001306source "arch/arm/cpu/armv7/Kconfig"
1307
Siva Durga Prasad Paladugu4095bc22015-06-10 15:50:56 +05301308source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1309
Linus Walleij74771392015-03-09 10:53:21 +01001310source "arch/arm/cpu/armv8/Kconfig"
1311
Stefano Babic33731bc2017-06-29 10:16:06 +02001312source "arch/arm/mach-imx/Kconfig"
Boris BREZILLON6b9b9a02015-03-04 13:13:04 +01001313
Heiko Schocherf1163962016-06-07 08:31:25 +02001314source "board/bosch/shc/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001315source "board/CarMediaLab/flea3/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001316source "board/Marvell/aspenite/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001317source "board/Marvell/gplugd/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001318source "board/armadeus/apf27/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001319source "board/armltd/vexpress/Kconfig"
1320source "board/armltd/vexpress64/Kconfig"
Steve Rae45f2c702016-06-02 15:10:56 -07001321source "board/broadcom/bcm23550_w1d/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001322source "board/broadcom/bcm28155_ap/Kconfig"
Steve Rae1c5f31c2014-11-11 11:32:18 -08001323source "board/broadcom/bcmcygnus/Kconfig"
1324source "board/broadcom/bcmnsp/Kconfig"
Jon Masond59b5862017-03-17 12:12:14 -04001325source "board/broadcom/bcmns2/Kconfig"
Sergey Temerkhanov69f7a032015-10-14 09:55:50 -07001326source "board/cavium/thunderx/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001327source "board/cirrus/edb93xx/Kconfig"
Felix Brack1ba8c9e2018-01-23 18:27:22 +01001328source "board/eets/pdu001/Kconfig"
Prabhakar Kushwaha122bcfd2015-11-09 16:42:07 +05301329source "board/freescale/ls2080a/Kconfig"
1330source "board/freescale/ls2080aqds/Kconfig"
1331source "board/freescale/ls2080ardb/Kconfig"
Ashish Kumar227b4bc2017-08-31 16:12:54 +05301332source "board/freescale/ls1088a/Kconfig"
Wang Huanf0ce7d62014-09-05 13:52:44 +08001333source "board/freescale/ls1021aqds/Kconfig"
Shaohui Xiedd335672015-11-11 17:58:37 +08001334source "board/freescale/ls1043aqds/Kconfig"
Wang Huanddf89f92014-09-05 13:52:45 +08001335source "board/freescale/ls1021atwr/Kconfig"
Feng Li39e112d2016-11-03 14:15:17 +08001336source "board/freescale/ls1021aiot/Kconfig"
Shaohui Xie085ac1c2016-09-07 17:56:14 +08001337source "board/freescale/ls1046aqds/Kconfig"
Mingkai Hueee86ff2015-10-26 19:47:52 +08001338source "board/freescale/ls1043ardb/Kconfig"
Mingkai Hud2396512016-09-07 18:47:28 +08001339source "board/freescale/ls1046ardb/Kconfig"
Prabhakar Kushwaha55432502016-06-03 18:41:34 +05301340source "board/freescale/ls1012aqds/Kconfig"
Prabhakar Kushwahaa315c662016-06-03 18:41:35 +05301341source "board/freescale/ls1012ardb/Kconfig"
Prabhakar Kushwaha9e7ee7b2016-06-03 18:41:36 +05301342source "board/freescale/ls1012afrdm/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001343source "board/freescale/mx31pdk/Kconfig"
1344source "board/freescale/mx35pdk/Kconfig"
Eddy Petrișor5178dc12016-06-05 03:43:00 +03001345source "board/freescale/s32v234evb/Kconfig"
Dirk Eibachfb605942017-02-22 16:07:23 +01001346source "board/gdsys/a38x/Kconfig"
Marcin Niestroj20315d22017-01-25 09:53:08 +01001347source "board/grinn/chiliboard/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001348source "board/gumstix/pepper/Kconfig"
1349source "board/h2200/Kconfig"
Tom Rinibdf4f182015-09-02 15:32:20 -04001350source "board/hisilicon/hikey/Kconfig"
Jorge Ramirez-Ortizf5b38422017-06-26 15:52:49 +02001351source "board/hisilicon/poplar/Kconfig"
Ladislav Michl10bdc712017-04-01 17:17:16 +02001352source "board/isee/igep003x/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001353source "board/phytec/pcm051/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001354source "board/silica/pengwyn/Kconfig"
Masahiro Yamadad3ae6782014-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 Manocha33913c52014-11-18 10:42:22 -08001360source "board/st/stv0991/Kconfig"
Enric Balletbò i Serra9d89b082015-09-07 07:43:20 +02001361source "board/tcl/sl50/Kconfig"
Gilles Gameiroebd46d12015-02-10 01:36:01 -08001362source "board/birdland/bav335x/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001363source "board/timll/devkit3250/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001364source "board/toradex/colibri_pxa270/Kconfig"
Yegor Yefremovfa8b71b2015-05-29 19:27:29 +02001365source "board/vscom/baltos/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001366source "board/woodburn/Kconfig"
Albert ARIBAUD \(3ADEV\)ee69a392015-03-31 11:40:51 +02001367source "board/work-microwave/work_92105/Kconfig"
Siva Durga Prasad Paladugub1acb652018-02-28 13:26:53 +05301368source "board/xilinx/zynqmp/Kconfig"
Vasily Khoruzhicka2cbff02016-03-20 18:37:00 -07001369source "board/zipitz2/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001370
Masahiro Yamadadf00e522014-09-01 11:06:34 +09001371source "arch/arm/Kconfig.debug"
1372
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001373endmenu
Philipp Tomsich2d6a0cc2017-08-03 23:23:55 +02001374
1375config SPL_LDSCRIPT
Mans Rullgard65d21902018-04-21 16:11:10 +01001376 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK
Philipp Tomsich2d6a0cc2017-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