]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/Kconfig
ARM: adjust arm-smccc code for use in U-Boot
[people/ms/u-boot.git] / arch / arm / Kconfig
1 menu "ARM architecture"
2 depends on ARM
3
4 config SYS_ARCH
5 default "arm"
6
7 config ARM64
8 bool
9 select PHYS_64BIT
10 select SYS_CACHE_SHIFT_6
11
12 config DMA_ADDR_T_64BIT
13 bool
14 default y if ARM64
15
16 config HAS_VBAR
17 bool
18
19 config HAS_THUMB2
20 bool
21
22 # If set, the workarounds for these ARM errata are applied early during U-Boot
23 # startup. Note that in general these options force the workarounds to be
24 # applied; no CPU-type/version detection exists, unlike the similar options in
25 # the Linux kernel. Do not set these options unless they apply! Also note that
26 # the following can be machine specific errata. These do have ability to
27 # provide rudimentary version and machine specific checks, but expect no
28 # product checks:
29 # CONFIG_ARM_ERRATA_430973
30 # CONFIG_ARM_ERRATA_454179
31 # CONFIG_ARM_ERRATA_621766
32 # CONFIG_ARM_ERRATA_798870
33 # CONFIG_ARM_ERRATA_801819
34 config ARM_ERRATA_430973
35 bool
36
37 config ARM_ERRATA_454179
38 bool
39
40 config ARM_ERRATA_621766
41 bool
42
43 config ARM_ERRATA_716044
44 bool
45
46 config ARM_ERRATA_725233
47 bool
48
49 config ARM_ERRATA_742230
50 bool
51
52 config ARM_ERRATA_743622
53 bool
54
55 config ARM_ERRATA_751472
56 bool
57
58 config ARM_ERRATA_761320
59 bool
60
61 config ARM_ERRATA_773022
62 bool
63
64 config ARM_ERRATA_774769
65 bool
66
67 config ARM_ERRATA_794072
68 bool
69
70 config ARM_ERRATA_798870
71 bool
72
73 config ARM_ERRATA_801819
74 bool
75
76 config ARM_ERRATA_826974
77 bool
78
79 config ARM_ERRATA_828024
80 bool
81
82 config ARM_ERRATA_829520
83 bool
84
85 config ARM_ERRATA_833069
86 bool
87
88 config ARM_ERRATA_833471
89 bool
90
91 config CPU_ARM720T
92 bool
93 select SYS_CACHE_SHIFT_5
94
95 config CPU_ARM920T
96 bool
97 select SYS_CACHE_SHIFT_5
98
99 config CPU_ARM926EJS
100 bool
101 select SYS_CACHE_SHIFT_5
102
103 config CPU_ARM946ES
104 bool
105 select SYS_CACHE_SHIFT_5
106
107 config CPU_ARM1136
108 bool
109 select SYS_CACHE_SHIFT_5
110
111 config CPU_ARM1176
112 bool
113 select HAS_VBAR
114 select SYS_CACHE_SHIFT_5
115
116 config CPU_V7
117 bool
118 select HAS_VBAR
119 select HAS_THUMB2
120 select SYS_CACHE_SHIFT_6
121
122 config CPU_V7M
123 bool
124 select HAS_THUMB2
125 select SYS_CACHE_SHIFT_5
126
127 config CPU_PXA
128 bool
129 select SYS_CACHE_SHIFT_5
130
131 config CPU_SA1100
132 bool
133 select SYS_CACHE_SHIFT_5
134
135 config SYS_CPU
136 default "arm720t" if CPU_ARM720T
137 default "arm920t" if CPU_ARM920T
138 default "arm926ejs" if CPU_ARM926EJS
139 default "arm946es" if CPU_ARM946ES
140 default "arm1136" if CPU_ARM1136
141 default "arm1176" if CPU_ARM1176
142 default "armv7" if CPU_V7
143 default "armv7m" if CPU_V7M
144 default "pxa" if CPU_PXA
145 default "sa1100" if CPU_SA1100
146 default "armv8" if ARM64
147
148 config SYS_ARM_ARCH
149 int
150 default 4 if CPU_ARM720T
151 default 4 if CPU_ARM920T
152 default 5 if CPU_ARM926EJS
153 default 5 if CPU_ARM946ES
154 default 6 if CPU_ARM1136
155 default 6 if CPU_ARM1176
156 default 7 if CPU_V7
157 default 7 if CPU_V7M
158 default 5 if CPU_PXA
159 default 4 if CPU_SA1100
160 default 8 if ARM64
161
162 config SYS_CACHE_SHIFT_5
163 bool
164
165 config SYS_CACHE_SHIFT_6
166 bool
167
168 config SYS_CACHE_SHIFT_7
169 bool
170
171 config SYS_CACHELINE_SIZE
172 int
173 default 128 if SYS_CACHE_SHIFT_7
174 default 64 if SYS_CACHE_SHIFT_6
175 default 32 if SYS_CACHE_SHIFT_5
176
177 config ARM_SMCCC
178 bool "Support for ARM SMC Calling Convention (SMCCC)"
179 depends on CPU_V7 || ARM64
180 help
181 Say Y here if you want to enable ARM SMC Calling Convention.
182 This should be enabled if U-Boot needs to communicate with system
183 firmware (for example, PSCI) according to SMCCC.
184
185 config SEMIHOSTING
186 bool "support boot from semihosting"
187 help
188 In emulated environments, semihosting is a way for
189 the hosted environment to call out to the emulator to
190 retrieve files from the host machine.
191
192 config SYS_THUMB_BUILD
193 bool "Build U-Boot using the Thumb instruction set"
194 depends on !ARM64
195 help
196 Use this flag to build U-Boot using the Thumb instruction set for
197 ARM architectures. Thumb instruction set provides better code
198 density. For ARM architectures that support Thumb2 this flag will
199 result in Thumb2 code generated by GCC.
200
201 config SPL_SYS_THUMB_BUILD
202 bool "Build SPL using the Thumb instruction set"
203 default y if SYS_THUMB_BUILD
204 depends on !ARM64
205 help
206 Use this flag to build SPL using the Thumb instruction set for
207 ARM architectures. Thumb instruction set provides better code
208 density. For ARM architectures that support Thumb2 this flag will
209 result in Thumb2 code generated by GCC.
210
211 config SYS_L2CACHE_OFF
212 bool "L2cache off"
213 help
214 If SoC does not support L2CACHE or one do not want to enable
215 L2CACHE, choose this option.
216
217 config ENABLE_ARM_SOC_BOOT0_HOOK
218 bool "prepare BOOT0 header"
219 help
220 If the SoC's BOOT0 requires a header area filled with (magic)
221 values, then choose this option, and create a define called
222 ARM_SOC_BOOT0_HOOK which contains the required assembler
223 preprocessor code.
224
225 config ARM_CORTEX_CPU_IS_UP
226 bool
227 default n
228
229 config USE_ARCH_MEMCPY
230 bool "Use an assembly optimized implementation of memcpy"
231 default y
232 depends on !ARM64
233 help
234 Enable the generation of an optimized version of memcpy.
235 Such implementation may be faster under some conditions
236 but may increase the binary size.
237
238 config SPL_USE_ARCH_MEMCPY
239 bool "Use an assembly optimized implementation of memcpy"
240 default y if USE_ARCH_MEMCPY
241 depends on !ARM64
242 help
243 Enable the generation of an optimized version of memcpy.
244 Such implementation may be faster under some conditions
245 but may increase the binary size.
246
247 config USE_ARCH_MEMSET
248 bool "Use an assembly optimized implementation of memset"
249 default y
250 depends on !ARM64
251 help
252 Enable the generation of an optimized version of memset.
253 Such implementation may be faster under some conditions
254 but may increase the binary size.
255
256 config SPL_USE_ARCH_MEMSET
257 bool "Use an assembly optimized implementation of memset"
258 default y if USE_ARCH_MEMSET
259 depends on !ARM64
260 help
261 Enable the generation of an optimized version of memset.
262 Such implementation may be faster under some conditions
263 but may increase the binary size.
264
265 config ARCH_OMAP2
266 bool
267 select CPU_V7
268 select SUPPORT_SPL
269
270 config ARM64_SUPPORT_AARCH32
271 bool "ARM64 system support AArch32 execution state"
272 default y if ARM64 && !TARGET_THUNDERX_88XX
273 help
274 This ARM64 system supports AArch32 execution state.
275
276 choice
277 prompt "Target select"
278 default TARGET_HIKEY
279
280 config ARCH_AT91
281 bool "Atmel AT91"
282
283 config TARGET_EDB93XX
284 bool "Support edb93xx"
285 select CPU_ARM920T
286
287 config TARGET_ASPENITE
288 bool "Support aspenite"
289 select CPU_ARM926EJS
290
291 config TARGET_GPLUGD
292 bool "Support gplugd"
293 select CPU_ARM926EJS
294
295 config ARCH_DAVINCI
296 bool "TI DaVinci"
297 select CPU_ARM926EJS
298 help
299 Support for TI's DaVinci platform.
300
301 config KIRKWOOD
302 bool "Marvell Kirkwood"
303 select CPU_ARM926EJS
304 select BOARD_EARLY_INIT_F
305 select ARCH_MISC_INIT
306
307 config ARCH_MVEBU
308 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
309 select OF_CONTROL
310 select OF_SEPARATE
311 select DM
312 select DM_ETH
313 select DM_SERIAL
314 select DM_SPI
315 select DM_SPI_FLASH
316
317 config TARGET_DEVKIT3250
318 bool "Support devkit3250"
319 select CPU_ARM926EJS
320 select SUPPORT_SPL
321
322 config TARGET_WORK_92105
323 bool "Support work_92105"
324 select CPU_ARM926EJS
325 select SUPPORT_SPL
326
327 config TARGET_MX25PDK
328 bool "Support mx25pdk"
329 select BOARD_LATE_INIT
330 select CPU_ARM926EJS
331 select BOARD_EARLY_INIT_F
332
333 config TARGET_ZMX25
334 bool "Support zmx25"
335 select BOARD_LATE_INIT
336 select CPU_ARM926EJS
337
338 config TARGET_APF27
339 bool "Support apf27"
340 select CPU_ARM926EJS
341 select SUPPORT_SPL
342
343 config TARGET_APX4DEVKIT
344 bool "Support apx4devkit"
345 select CPU_ARM926EJS
346 select SUPPORT_SPL
347
348 config TARGET_XFI3
349 bool "Support xfi3"
350 select CPU_ARM926EJS
351 select SUPPORT_SPL
352
353 config TARGET_M28EVK
354 bool "Support m28evk"
355 select CPU_ARM926EJS
356 select SUPPORT_SPL
357
358 config TARGET_MX23EVK
359 bool "Support mx23evk"
360 select CPU_ARM926EJS
361 select SUPPORT_SPL
362 select BOARD_EARLY_INIT_F
363
364 config TARGET_MX28EVK
365 bool "Support mx28evk"
366 select CPU_ARM926EJS
367 select SUPPORT_SPL
368 select BOARD_EARLY_INIT_F
369
370 config TARGET_MX23_OLINUXINO
371 bool "Support mx23_olinuxino"
372 select CPU_ARM926EJS
373 select SUPPORT_SPL
374 select BOARD_EARLY_INIT_F
375
376 config TARGET_BG0900
377 bool "Support bg0900"
378 select CPU_ARM926EJS
379 select SUPPORT_SPL
380
381 config TARGET_SANSA_FUZE_PLUS
382 bool "Support sansa_fuze_plus"
383 select CPU_ARM926EJS
384 select SUPPORT_SPL
385
386 config TARGET_SC_SPS_1
387 bool "Support sc_sps_1"
388 select CPU_ARM926EJS
389 select SUPPORT_SPL
390
391 config ORION5X
392 bool "Marvell Orion"
393 select CPU_ARM926EJS
394
395 config TARGET_SPEAR300
396 bool "Support spear300"
397 select CPU_ARM926EJS
398 select BOARD_EARLY_INIT_F
399
400 config TARGET_SPEAR310
401 bool "Support spear310"
402 select CPU_ARM926EJS
403 select BOARD_EARLY_INIT_F
404
405 config TARGET_SPEAR320
406 bool "Support spear320"
407 select CPU_ARM926EJS
408 select BOARD_EARLY_INIT_F
409
410 config TARGET_SPEAR600
411 bool "Support spear600"
412 select CPU_ARM926EJS
413 select BOARD_EARLY_INIT_F
414
415 config TARGET_STV0991
416 bool "Support stv0991"
417 select CPU_V7
418 select DM
419 select DM_SERIAL
420 select DM_SPI
421 select DM_SPI_FLASH
422 select SPI_FLASH
423
424 config TARGET_X600
425 bool "Support x600"
426 select BOARD_LATE_INIT
427 select CPU_ARM926EJS
428 select SUPPORT_SPL
429
430 config TARGET_IMX31_PHYCORE
431 bool "Support imx31_phycore_eet"
432 select CPU_ARM1136
433 select BOARD_EARLY_INIT_F
434
435 config TARGET_IMX31_PHYCORE_EET
436 bool "Support imx31_phycore_eet"
437 select BOARD_LATE_INIT
438 select CPU_ARM1136
439 select BOARD_EARLY_INIT_F
440
441 config TARGET_MX31ADS
442 bool "Support mx31ads"
443 select CPU_ARM1136
444 select BOARD_EARLY_INIT_F
445
446 config TARGET_MX31PDK
447 bool "Support mx31pdk"
448 select BOARD_LATE_INIT
449 select CPU_ARM1136
450 select SUPPORT_SPL
451 select BOARD_EARLY_INIT_F
452
453 config TARGET_WOODBURN
454 bool "Support woodburn"
455 select CPU_ARM1136
456
457 config TARGET_WOODBURN_SD
458 bool "Support woodburn_sd"
459 select CPU_ARM1136
460 select SUPPORT_SPL
461
462 config TARGET_FLEA3
463 bool "Support flea3"
464 select CPU_ARM1136
465
466 config TARGET_MX35PDK
467 bool "Support mx35pdk"
468 select BOARD_LATE_INIT
469 select CPU_ARM1136
470
471 config ARCH_BCM283X
472 bool "Broadcom BCM283X family"
473 select DM
474 select DM_SERIAL
475 select DM_GPIO
476 select OF_CONTROL
477
478 config TARGET_VEXPRESS_CA15_TC2
479 bool "Support vexpress_ca15_tc2"
480 select CPU_V7
481 select CPU_V7_HAS_NONSEC
482 select CPU_V7_HAS_VIRT
483
484 config TARGET_VEXPRESS_CA5X2
485 bool "Support vexpress_ca5x2"
486 select CPU_V7
487
488 config TARGET_VEXPRESS_CA9X4
489 bool "Support vexpress_ca9x4"
490 select CPU_V7
491
492 config TARGET_BRXRE1
493 bool "Support BRXRE1"
494 select ARCH_OMAP2
495 select BOARD_LATE_INIT
496
497 config TARGET_BRPPT1
498 bool "Support BRPPT1"
499 select ARCH_OMAP2
500 select BOARD_LATE_INIT
501
502 config TARGET_DRACO
503 bool "Support draco"
504 select ARCH_OMAP2
505 select BOARD_LATE_INIT
506 select DM
507 select DM_SERIAL
508 select DM_GPIO
509
510 config TARGET_THUBAN
511 bool "Support thuban"
512 select ARCH_OMAP2
513 select BOARD_LATE_INIT
514 select DM
515 select DM_SERIAL
516 select DM_GPIO
517
518 config TARGET_RASTABAN
519 bool "Support rastaban"
520 select ARCH_OMAP2
521 select BOARD_LATE_INIT
522 select DM
523 select DM_SERIAL
524 select DM_GPIO
525
526 config TARGET_ETAMIN
527 bool "Support etamin"
528 select ARCH_OMAP2
529 select BOARD_LATE_INIT
530 select DM
531 select DM_SERIAL
532 select DM_GPIO
533
534 config TARGET_PXM2
535 bool "Support pxm2"
536 select ARCH_OMAP2
537 select BOARD_LATE_INIT
538 select DM
539 select DM_SERIAL
540 select DM_GPIO
541
542 config TARGET_RUT
543 bool "Support rut"
544 select ARCH_OMAP2
545 select BOARD_LATE_INIT
546 select DM
547 select DM_SERIAL
548 select DM_GPIO
549
550 config TARGET_TI814X_EVM
551 bool "Support ti814x_evm"
552 select ARCH_OMAP2
553
554 config TARGET_TI816X_EVM
555 bool "Support ti816x_evm"
556 select ARCH_OMAP2
557
558 config TARGET_BCM23550_W1D
559 bool "Support bcm23550_w1d"
560 select CPU_V7
561
562 config TARGET_BCM28155_AP
563 bool "Support bcm28155_ap"
564 select CPU_V7
565
566 config TARGET_BCMCYGNUS
567 bool "Support bcmcygnus"
568 select CPU_V7
569
570 config TARGET_BCMNSP
571 bool "Support bcmnsp"
572 select CPU_V7
573
574 config TARGET_BCMNS2
575 bool "Support Broadcom Northstar2"
576 select ARM64
577 help
578 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
579 ARMv8 Cortex-A57 processors targeting a broad range of networking
580 applications
581
582 config ARCH_EXYNOS
583 bool "Samsung EXYNOS"
584 select DM
585 select DM_I2C
586 select DM_SPI_FLASH
587 select DM_SERIAL
588 select DM_SPI
589 select DM_GPIO
590 select DM_KEYBOARD
591
592 config ARCH_S5PC1XX
593 bool "Samsung S5PC1XX"
594 select CPU_V7
595 select DM
596 select DM_SERIAL
597 select DM_GPIO
598 select DM_I2C
599
600 config ARCH_HIGHBANK
601 bool "Calxeda Highbank"
602 select CPU_V7
603
604 config ARCH_INTEGRATOR
605 bool "ARM Ltd. Integrator family"
606 select DM
607 select DM_SERIAL
608
609 config ARCH_KEYSTONE
610 bool "TI Keystone"
611 select CPU_V7
612 select SUPPORT_SPL
613 select SYS_THUMB_BUILD
614 select CMD_POWEROFF
615
616 config ARCH_MESON
617 bool "Amlogic Meson"
618 help
619 Support for the Meson SoC family developed by Amlogic Inc.,
620 targeted at media players and tablet computers. We currently
621 support the S905 (GXBaby) 64-bit SoC.
622
623 config ARCH_MX7ULP
624 bool "NXP MX7ULP"
625 select CPU_V7
626 select ROM_UNIFIED_SECTIONS
627
628 config ARCH_MX7
629 bool "Freescale MX7"
630 select CPU_V7
631 select SYS_FSL_HAS_SEC if SECURE_BOOT
632 select SYS_FSL_SEC_COMPAT_4
633 select SYS_FSL_SEC_LE
634 select BOARD_EARLY_INIT_F
635 select ARCH_MISC_INIT
636
637 config ARCH_MX6
638 bool "Freescale MX6"
639 select CPU_V7
640 select SYS_FSL_HAS_SEC if SECURE_BOOT
641 select SYS_FSL_SEC_COMPAT_4
642 select SYS_FSL_SEC_LE
643 select SYS_THUMB_BUILD if SPL
644
645 config ARCH_MX5
646 bool "Freescale MX5"
647 select CPU_V7
648 select BOARD_EARLY_INIT_F
649
650 config TARGET_M53EVK
651 bool "Support m53evk"
652 select CPU_V7
653 select SUPPORT_SPL
654 select BOARD_EARLY_INIT_F
655
656 config TARGET_MX51EVK
657 bool "Support mx51evk"
658 select BOARD_LATE_INIT
659 select CPU_V7
660 select BOARD_EARLY_INIT_F
661
662 config TARGET_MX53ARD
663 bool "Support mx53ard"
664 select CPU_V7
665 select BOARD_EARLY_INIT_F
666
667 config TARGET_MX53EVK
668 bool "Support mx53evk"
669 select BOARD_LATE_INIT
670 select CPU_V7
671 select BOARD_EARLY_INIT_F
672
673 config TARGET_MX53LOCO
674 bool "Support mx53loco"
675 select BOARD_LATE_INIT
676 select CPU_V7
677 select BOARD_EARLY_INIT_F
678
679 config TARGET_MX53SMD
680 bool "Support mx53smd"
681 select CPU_V7
682 select BOARD_EARLY_INIT_F
683
684 config OMAP34XX
685 bool "OMAP34XX SoC"
686 select ARCH_OMAP2
687 select ARM_ERRATA_430973
688 select ARM_ERRATA_454179
689 select ARM_ERRATA_621766
690 select ARM_ERRATA_725233
691 select USE_TINY_PRINTF
692 imply SPL_EXT_SUPPORT
693 imply SPL_FAT_SUPPORT
694 imply SPL_GPIO_SUPPORT
695 imply SPL_I2C_SUPPORT
696 imply SPL_LIBCOMMON_SUPPORT
697 imply SPL_LIBDISK_SUPPORT
698 imply SPL_LIBGENERIC_SUPPORT
699 imply SPL_MMC_SUPPORT
700 imply SPL_NAND_SUPPORT
701 imply SPL_POWER_SUPPORT
702 imply SPL_SERIAL_SUPPORT
703 imply SYS_THUMB_BUILD
704
705 config OMAP44XX
706 bool "OMAP44XX SoC"
707 select ARCH_OMAP2
708 select USE_TINY_PRINTF
709 imply SPL_DISPLAY_PRINT
710 imply SPL_EXT_SUPPORT
711 imply SPL_FAT_SUPPORT
712 imply SPL_GPIO_SUPPORT
713 imply SPL_I2C_SUPPORT
714 imply SPL_LIBCOMMON_SUPPORT
715 imply SPL_LIBDISK_SUPPORT
716 imply SPL_LIBGENERIC_SUPPORT
717 imply SPL_MMC_SUPPORT
718 imply SPL_NAND_SUPPORT
719 imply SPL_POWER_SUPPORT
720 imply SPL_SERIAL_SUPPORT
721 imply SYS_THUMB_BUILD
722
723 config OMAP54XX
724 bool "OMAP54XX SoC"
725 select ARCH_OMAP2
726 select ARM_ERRATA_798870
727 select SYS_THUMB_BUILD
728 imply SPL_DISPLAY_PRINT
729 imply SPL_ENV_SUPPORT
730 imply SPL_EXT_SUPPORT
731 imply SPL_FAT_SUPPORT
732 imply SPL_GPIO_SUPPORT
733 imply SPL_I2C_SUPPORT
734 imply SPL_LIBCOMMON_SUPPORT
735 imply SPL_LIBDISK_SUPPORT
736 imply SPL_LIBGENERIC_SUPPORT
737 imply SPL_MMC_SUPPORT
738 imply SPL_NAND_SUPPORT
739 imply SPL_POWER_SUPPORT
740 imply SPL_SERIAL_SUPPORT
741
742 config AM43XX
743 bool "AM43XX SoC"
744 select ARCH_OMAP2
745 imply SPL_DM
746 imply SPL_DM_SEQ_ALIAS
747 imply SPL_OF_CONTROL
748 imply SPL_OF_TRANSLATE
749 imply SPL_SEPARATE_BSS
750 imply SPL_SYS_MALLOC_SIMPLE
751 imply SYS_THUMB_BUILD
752 help
753 Support for AM43xx SOC from Texas Instruments.
754 The AM43xx high performance SOC features a Cortex-A9
755 ARM core, a quad core PRU-ICSS for industrial Ethernet
756 protocols, dual camera support, optional 3D graphics
757 and an optional customer programmable secure boot.
758
759 config AM33XX
760 bool "AM33XX SoC"
761 select ARCH_OMAP2
762 imply SYS_THUMB_BUILD
763 help
764 Support for AM335x SOC from Texas Instruments.
765 The AM335x high performance SOC features a Cortex-A8
766 ARM core, a dual core PRU-ICSS for industrial Ethernet
767 protocols, optional 3D graphics and an optional customer
768 programmable secure boot.
769
770 config ARCH_RMOBILE
771 bool "Renesas ARM SoCs"
772 select DM
773 select DM_SERIAL
774 select BOARD_EARLY_INIT_F
775 imply SYS_THUMB_BUILD
776
777 config TARGET_S32V234EVB
778 bool "Support s32v234evb"
779 select ARM64
780 select SYS_FSL_ERRATUM_ESDHC111
781
782 config ARCH_SNAPDRAGON
783 bool "Qualcomm Snapdragon SoCs"
784 select ARM64
785 select DM
786 select DM_GPIO
787 select DM_SERIAL
788 select SPMI
789 select OF_CONTROL
790 select OF_SEPARATE
791
792 config ARCH_SOCFPGA
793 bool "Altera SOCFPGA family"
794 select CPU_V7
795 select SUPPORT_SPL
796 select OF_CONTROL
797 select SPL_OF_CONTROL
798 select DM
799 select DM_SPI_FLASH
800 select DM_SPI
801 select ENABLE_ARM_SOC_BOOT0_HOOK
802 select ARCH_EARLY_INIT_R
803 select ARCH_MISC_INIT
804 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
805 select SYS_THUMB_BUILD
806
807 config TARGET_CM_T43
808 bool "Support cm_t43"
809 select ARCH_OMAP2
810
811 config ARCH_SUNXI
812 bool "Support sunxi (Allwinner) SoCs"
813 select CMD_GPIO
814 select CMD_MMC if MMC
815 select CMD_USB if DISTRO_DEFAULTS
816 select DM
817 select DM_ETH
818 select DM_GPIO
819 select DM_KEYBOARD
820 select DM_SERIAL
821 select DM_USB if DISTRO_DEFAULTS
822 select OF_BOARD_SETUP
823 select OF_CONTROL
824 select OF_SEPARATE
825 select SPL_STACK_R if SUPPORT_SPL
826 select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
827 select SYS_NS16550
828 select SPL_SYS_THUMB_BUILD if !ARM64
829 select USB if DISTRO_DEFAULTS
830 select USB_STORAGE if DISTRO_DEFAULTS
831 select USB_KEYBOARD if DISTRO_DEFAULTS
832 select USE_TINY_PRINTF
833
834 config TARGET_TS4600
835 bool "Support TS4600"
836 select CPU_ARM926EJS
837 select SUPPORT_SPL
838
839 config TARGET_TS4800
840 bool "Support TS4800"
841 select CPU_V7
842 select SYS_FSL_ERRATUM_ESDHC_A001
843
844 config ARCH_VF610
845 bool "Freescale Vybrid"
846 select CPU_V7
847 select SYS_FSL_ERRATUM_ESDHC111
848
849 config ARCH_ZYNQ
850 bool "Xilinx Zynq Platform"
851 select BOARD_LATE_INIT
852 select CPU_V7
853 select SUPPORT_SPL
854 select OF_CONTROL
855 select SPL_OF_CONTROL if SPL
856 select DM
857 select DM_ETH
858 select DM_GPIO
859 select SPL_DM if SPL
860 select DM_MMC
861 select DM_MMC_OPS
862 select DM_SPI
863 select DM_SERIAL
864 select DM_SPI_FLASH
865 select SPL_SEPARATE_BSS if SPL
866 select DM_USB if USB
867 select BLK
868 select CLK
869 select SPL_CLK
870 select CLK_ZYNQ
871
872 config ARCH_ZYNQMP
873 bool "Support Xilinx ZynqMP Platform"
874 select ARM64
875 select BOARD_LATE_INIT
876 select DM
877 select OF_CONTROL
878 select DM_SERIAL
879 select SUPPORT_SPL
880 select CLK
881 select SPL_CLK
882 select DM_USB if USB
883
884 config TEGRA
885 bool "NVIDIA Tegra"
886
887 config TARGET_VEXPRESS64_AEMV8A
888 bool "Support vexpress_aemv8a"
889 select ARM64
890
891 config TARGET_VEXPRESS64_BASE_FVP
892 bool "Support Versatile Express ARMv8a FVP BASE model"
893 select ARM64
894 select SEMIHOSTING
895
896 config TARGET_VEXPRESS64_BASE_FVP_DRAM
897 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
898 select ARM64
899 help
900 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
901 the default config to allow the user to load the images directly into
902 DRAM using model parameters rather than by using semi-hosting to load
903 the files from the host filesystem.
904
905 config TARGET_VEXPRESS64_JUNO
906 bool "Support Versatile Express Juno Development Platform"
907 select ARM64
908
909 config TARGET_LS2080A_EMU
910 bool "Support ls2080a_emu"
911 select ARCH_LS2080A
912 select ARM64
913 select ARMV8_MULTIENTRY
914 select ARCH_MISC_INIT
915 help
916 Support for Freescale LS2080A_EMU platform
917 The LS2080A Development System (EMULATOR) is a pre silicon
918 development platform that supports the QorIQ LS2080A
919 Layerscape Architecture processor.
920
921 config TARGET_LS2080A_SIMU
922 bool "Support ls2080a_simu"
923 select ARCH_LS2080A
924 select ARM64
925 select ARMV8_MULTIENTRY
926 select ARCH_MISC_INIT
927 help
928 Support for Freescale LS2080A_SIMU platform
929 The LS2080A Development System (QDS) is a pre silicon
930 development platform that supports the QorIQ LS2080A
931 Layerscape Architecture processor.
932
933 config TARGET_LS2080AQDS
934 bool "Support ls2080aqds"
935 select ARCH_LS2080A
936 select ARM64
937 select ARMV8_MULTIENTRY
938 select BOARD_LATE_INIT
939 select SUPPORT_SPL
940 select ARCH_MISC_INIT
941 help
942 Support for Freescale LS2080AQDS platform
943 The LS2080A Development System (QDS) is a high-performance
944 development platform that supports the QorIQ LS2080A
945 Layerscape Architecture processor.
946
947 config TARGET_LS2080ARDB
948 bool "Support ls2080ardb"
949 select ARCH_LS2080A
950 select ARM64
951 select ARMV8_MULTIENTRY
952 select BOARD_LATE_INIT
953 select SUPPORT_SPL
954 select ARCH_MISC_INIT
955 help
956 Support for Freescale LS2080ARDB platform.
957 The LS2080A Reference design board (RDB) is a high-performance
958 development platform that supports the QorIQ LS2080A
959 Layerscape Architecture processor.
960
961 config TARGET_HIKEY
962 bool "Support HiKey 96boards Consumer Edition Platform"
963 select ARM64
964 select DM
965 select DM_GPIO
966 select DM_SERIAL
967 select OF_CONTROL
968 help
969 Support for HiKey 96boards platform. It features a HI6220
970 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
971
972 config TARGET_LS1012AQDS
973 bool "Support ls1012aqds"
974 select ARCH_LS1012A
975 select ARM64
976 select BOARD_LATE_INIT
977 help
978 Support for Freescale LS1012AQDS platform.
979 The LS1012A Development System (QDS) is a high-performance
980 development platform that supports the QorIQ LS1012A
981 Layerscape Architecture processor.
982
983 config TARGET_LS1012ARDB
984 bool "Support ls1012ardb"
985 select ARCH_LS1012A
986 select ARM64
987 select BOARD_LATE_INIT
988 help
989 Support for Freescale LS1012ARDB platform.
990 The LS1012A Reference design board (RDB) is a high-performance
991 development platform that supports the QorIQ LS1012A
992 Layerscape Architecture processor.
993
994 config TARGET_LS1012AFRDM
995 bool "Support ls1012afrdm"
996 select ARCH_LS1012A
997 select ARM64
998 help
999 Support for Freescale LS1012AFRDM platform.
1000 The LS1012A Freedom board (FRDM) is a high-performance
1001 development platform that supports the QorIQ LS1012A
1002 Layerscape Architecture processor.
1003
1004 config TARGET_LS1021AQDS
1005 bool "Support ls1021aqds"
1006 select BOARD_LATE_INIT
1007 select CPU_V7
1008 select CPU_V7_HAS_NONSEC
1009 select CPU_V7_HAS_VIRT
1010 select SUPPORT_SPL
1011 select ARCH_LS1021A
1012 select ARCH_SUPPORT_PSCI
1013 select LS1_DEEP_SLEEP
1014 select SYS_FSL_DDR
1015 select BOARD_EARLY_INIT_F
1016
1017 config TARGET_LS1021ATWR
1018 bool "Support ls1021atwr"
1019 select BOARD_LATE_INIT
1020 select CPU_V7
1021 select CPU_V7_HAS_NONSEC
1022 select CPU_V7_HAS_VIRT
1023 select SUPPORT_SPL
1024 select ARCH_LS1021A
1025 select ARCH_SUPPORT_PSCI
1026 select LS1_DEEP_SLEEP
1027 select BOARD_EARLY_INIT_F
1028
1029 config TARGET_LS1021AIOT
1030 bool "Support ls1021aiot"
1031 select BOARD_LATE_INIT
1032 select CPU_V7
1033 select CPU_V7_HAS_NONSEC
1034 select CPU_V7_HAS_VIRT
1035 select SUPPORT_SPL
1036 select ARCH_LS1021A
1037 select ARCH_SUPPORT_PSCI
1038 help
1039 Support for Freescale LS1021AIOT platform.
1040 The LS1021A Freescale board (IOT) is a high-performance
1041 development platform that supports the QorIQ LS1021A
1042 Layerscape Architecture processor.
1043
1044 config TARGET_LS1043AQDS
1045 bool "Support ls1043aqds"
1046 select ARCH_LS1043A
1047 select ARM64
1048 select ARMV8_MULTIENTRY
1049 select BOARD_LATE_INIT
1050 select SUPPORT_SPL
1051 select BOARD_EARLY_INIT_F
1052 help
1053 Support for Freescale LS1043AQDS platform.
1054
1055 config TARGET_LS1043ARDB
1056 bool "Support ls1043ardb"
1057 select ARCH_LS1043A
1058 select ARM64
1059 select ARMV8_MULTIENTRY
1060 select BOARD_LATE_INIT
1061 select SUPPORT_SPL
1062 select BOARD_EARLY_INIT_F
1063 help
1064 Support for Freescale LS1043ARDB platform.
1065
1066 config TARGET_LS1046AQDS
1067 bool "Support ls1046aqds"
1068 select ARCH_LS1046A
1069 select ARM64
1070 select ARMV8_MULTIENTRY
1071 select BOARD_LATE_INIT
1072 select SUPPORT_SPL
1073 select DM_SPI_FLASH if DM_SPI
1074 select BOARD_EARLY_INIT_F
1075 help
1076 Support for Freescale LS1046AQDS platform.
1077 The LS1046A Development System (QDS) is a high-performance
1078 development platform that supports the QorIQ LS1046A
1079 Layerscape Architecture processor.
1080
1081 config TARGET_LS1046ARDB
1082 bool "Support ls1046ardb"
1083 select ARCH_LS1046A
1084 select ARM64
1085 select ARMV8_MULTIENTRY
1086 select BOARD_LATE_INIT
1087 select SUPPORT_SPL
1088 select DM_SPI_FLASH if DM_SPI
1089 select POWER_MC34VR500
1090 select BOARD_EARLY_INIT_F
1091 help
1092 Support for Freescale LS1046ARDB platform.
1093 The LS1046A Reference Design Board (RDB) is a high-performance
1094 development platform that supports the QorIQ LS1046A
1095 Layerscape Architecture processor.
1096
1097 config TARGET_H2200
1098 bool "Support h2200"
1099 select CPU_PXA
1100
1101 config TARGET_ZIPITZ2
1102 bool "Support zipitz2"
1103 select CPU_PXA
1104
1105 config TARGET_COLIBRI_PXA270
1106 bool "Support colibri_pxa270"
1107 select CPU_PXA
1108
1109 config ARCH_UNIPHIER
1110 bool "Socionext UniPhier SoCs"
1111 select BOARD_LATE_INIT
1112 select CLK_UNIPHIER
1113 select DM
1114 select DM_GPIO
1115 select DM_I2C
1116 select DM_MMC
1117 select DM_RESET
1118 select DM_SERIAL
1119 select DM_USB
1120 select OF_CONTROL
1121 select OF_LIBFDT
1122 select PINCTRL
1123 select SPL_DM if SPL
1124 select SPL_LIBCOMMON_SUPPORT if SPL
1125 select SPL_LIBGENERIC_SUPPORT if SPL
1126 select SPL_OF_CONTROL if SPL
1127 select SPL_PINCTRL if SPL
1128 select SUPPORT_SPL
1129 help
1130 Support for UniPhier SoC family developed by Socionext Inc.
1131 (formerly, System LSI Business Division of Panasonic Corporation)
1132
1133 config STM32
1134 bool "Support STM32"
1135 select CPU_V7M
1136 select DM
1137 select DM_SERIAL
1138 select SYS_THUMB_BUILD
1139
1140 config ARCH_STI
1141 bool "Support STMicrolectronics SoCs"
1142 select CPU_V7
1143 select DM
1144 select DM_SERIAL
1145 select BLK
1146 select DM_MMC
1147 select DM_RESET
1148 help
1149 Support for STMicroelectronics STiH407/10 SoC family.
1150 This SoC is used on Linaro 96Board STiH410-B2260
1151
1152 config ARCH_ROCKCHIP
1153 bool "Support Rockchip SoCs"
1154 select OF_CONTROL
1155 select BLK
1156 select DM
1157 select SPL_DM if SPL
1158 select SYS_MALLOC_F
1159 select SYS_THUMB_BUILD if !ARM64
1160 select SPL_SYS_MALLOC_SIMPLE if SPL
1161 select DM_GPIO
1162 select DM_I2C
1163 select DM_MMC
1164 select DM_MMC_OPS
1165 select DM_SERIAL
1166 select DM_SPI
1167 select DM_SPI_FLASH
1168 select DM_USB if USB
1169 select DM_PWM
1170 select DM_REGULATOR
1171
1172 config TARGET_THUNDERX_88XX
1173 bool "Support ThunderX 88xx"
1174 select ARM64
1175 select OF_CONTROL
1176 select SYS_CACHE_SHIFT_7
1177
1178 config ARCH_ASPEED
1179 bool "Support Aspeed SoCs"
1180 select OF_CONTROL
1181 select DM
1182
1183 endchoice
1184
1185 source "arch/arm/mach-aspeed/Kconfig"
1186
1187 source "arch/arm/mach-at91/Kconfig"
1188
1189 source "arch/arm/mach-bcm283x/Kconfig"
1190
1191 source "arch/arm/mach-davinci/Kconfig"
1192
1193 source "arch/arm/mach-exynos/Kconfig"
1194
1195 source "arch/arm/mach-highbank/Kconfig"
1196
1197 source "arch/arm/mach-integrator/Kconfig"
1198
1199 source "arch/arm/mach-keystone/Kconfig"
1200
1201 source "arch/arm/mach-kirkwood/Kconfig"
1202
1203 source "arch/arm/mach-mvebu/Kconfig"
1204
1205 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1206
1207 source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1208
1209 source "arch/arm/cpu/armv7/mx7/Kconfig"
1210
1211 source "arch/arm/cpu/armv7/mx6/Kconfig"
1212
1213 source "arch/arm/cpu/armv7/mx5/Kconfig"
1214
1215 source "arch/arm/mach-omap2/Kconfig"
1216
1217 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1218
1219 source "arch/arm/mach-orion5x/Kconfig"
1220
1221 source "arch/arm/mach-rmobile/Kconfig"
1222
1223 source "arch/arm/mach-meson/Kconfig"
1224
1225 source "arch/arm/mach-rockchip/Kconfig"
1226
1227 source "arch/arm/mach-s5pc1xx/Kconfig"
1228
1229 source "arch/arm/mach-snapdragon/Kconfig"
1230
1231 source "arch/arm/mach-socfpga/Kconfig"
1232
1233 source "arch/arm/mach-sti/Kconfig"
1234
1235 source "arch/arm/mach-stm32/Kconfig"
1236
1237 source "arch/arm/mach-tegra/Kconfig"
1238
1239 source "arch/arm/mach-uniphier/Kconfig"
1240
1241 source "arch/arm/cpu/armv7/vf610/Kconfig"
1242
1243 source "arch/arm/mach-zynq/Kconfig"
1244
1245 source "arch/arm/cpu/armv7/Kconfig"
1246
1247 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1248
1249 source "arch/arm/cpu/armv8/Kconfig"
1250
1251 source "arch/arm/imx-common/Kconfig"
1252
1253 source "board/aries/m28evk/Kconfig"
1254 source "board/aries/m53evk/Kconfig"
1255 source "board/bosch/shc/Kconfig"
1256 source "board/BuR/brxre1/Kconfig"
1257 source "board/BuR/brppt1/Kconfig"
1258 source "board/CarMediaLab/flea3/Kconfig"
1259 source "board/Marvell/aspenite/Kconfig"
1260 source "board/Marvell/gplugd/Kconfig"
1261 source "board/armadeus/apf27/Kconfig"
1262 source "board/armltd/vexpress/Kconfig"
1263 source "board/armltd/vexpress64/Kconfig"
1264 source "board/bluegiga/apx4devkit/Kconfig"
1265 source "board/broadcom/bcm23550_w1d/Kconfig"
1266 source "board/broadcom/bcm28155_ap/Kconfig"
1267 source "board/broadcom/bcmcygnus/Kconfig"
1268 source "board/broadcom/bcmnsp/Kconfig"
1269 source "board/broadcom/bcmns2/Kconfig"
1270 source "board/cavium/thunderx/Kconfig"
1271 source "board/cirrus/edb93xx/Kconfig"
1272 source "board/compulab/cm_t335/Kconfig"
1273 source "board/compulab/cm_t43/Kconfig"
1274 source "board/creative/xfi3/Kconfig"
1275 source "board/freescale/ls2080a/Kconfig"
1276 source "board/freescale/ls2080aqds/Kconfig"
1277 source "board/freescale/ls2080ardb/Kconfig"
1278 source "board/freescale/ls1021aqds/Kconfig"
1279 source "board/freescale/ls1043aqds/Kconfig"
1280 source "board/freescale/ls1021atwr/Kconfig"
1281 source "board/freescale/ls1021aiot/Kconfig"
1282 source "board/freescale/ls1046aqds/Kconfig"
1283 source "board/freescale/ls1043ardb/Kconfig"
1284 source "board/freescale/ls1046ardb/Kconfig"
1285 source "board/freescale/ls1012aqds/Kconfig"
1286 source "board/freescale/ls1012ardb/Kconfig"
1287 source "board/freescale/ls1012afrdm/Kconfig"
1288 source "board/freescale/mx23evk/Kconfig"
1289 source "board/freescale/mx25pdk/Kconfig"
1290 source "board/freescale/mx28evk/Kconfig"
1291 source "board/freescale/mx31ads/Kconfig"
1292 source "board/freescale/mx31pdk/Kconfig"
1293 source "board/freescale/mx35pdk/Kconfig"
1294 source "board/freescale/mx51evk/Kconfig"
1295 source "board/freescale/mx53ard/Kconfig"
1296 source "board/freescale/mx53evk/Kconfig"
1297 source "board/freescale/mx53loco/Kconfig"
1298 source "board/freescale/mx53smd/Kconfig"
1299 source "board/freescale/s32v234evb/Kconfig"
1300 source "board/gdsys/a38x/Kconfig"
1301 source "board/grinn/chiliboard/Kconfig"
1302 source "board/gumstix/pepper/Kconfig"
1303 source "board/h2200/Kconfig"
1304 source "board/hisilicon/hikey/Kconfig"
1305 source "board/imx31_phycore/Kconfig"
1306 source "board/isee/igep0033/Kconfig"
1307 source "board/olimex/mx23_olinuxino/Kconfig"
1308 source "board/phytec/pcm051/Kconfig"
1309 source "board/ppcag/bg0900/Kconfig"
1310 source "board/sandisk/sansa_fuze_plus/Kconfig"
1311 source "board/schulercontrol/sc_sps_1/Kconfig"
1312 source "board/siemens/draco/Kconfig"
1313 source "board/siemens/pxm2/Kconfig"
1314 source "board/siemens/rut/Kconfig"
1315 source "board/silica/pengwyn/Kconfig"
1316 source "board/spear/spear300/Kconfig"
1317 source "board/spear/spear310/Kconfig"
1318 source "board/spear/spear320/Kconfig"
1319 source "board/spear/spear600/Kconfig"
1320 source "board/spear/x600/Kconfig"
1321 source "board/st/stv0991/Kconfig"
1322 source "board/sunxi/Kconfig"
1323 source "board/syteco/zmx25/Kconfig"
1324 source "board/tcl/sl50/Kconfig"
1325 source "board/ti/am335x/Kconfig"
1326 source "board/ti/am43xx/Kconfig"
1327 source "board/birdland/bav335x/Kconfig"
1328 source "board/ti/ti814x/Kconfig"
1329 source "board/ti/ti816x/Kconfig"
1330 source "board/timll/devkit3250/Kconfig"
1331 source "board/toradex/colibri_pxa270/Kconfig"
1332 source "board/technologic/ts4600/Kconfig"
1333 source "board/technologic/ts4800/Kconfig"
1334 source "board/vscom/baltos/Kconfig"
1335 source "board/woodburn/Kconfig"
1336 source "board/work-microwave/work_92105/Kconfig"
1337 source "board/zipitz2/Kconfig"
1338
1339 source "arch/arm/Kconfig.debug"
1340
1341 endmenu