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