]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/Kconfig
board: ns2: Add support for Broadcom Northstar 2
[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 TARGET_BCMNS2
563 bool "Support Broadcom Northstar2"
564 select ARM64
565 help
566 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit
567 ARMv8 Cortex-A57 processors targeting a broad range of networking
568 applications
569
570 config ARCH_EXYNOS
571 bool "Samsung EXYNOS"
572 select DM
573 select DM_I2C
574 select DM_SPI_FLASH
575 select DM_SERIAL
576 select DM_SPI
577 select DM_GPIO
578 select DM_KEYBOARD
579
580 config ARCH_S5PC1XX
581 bool "Samsung S5PC1XX"
582 select CPU_V7
583 select DM
584 select DM_SERIAL
585 select DM_GPIO
586 select DM_I2C
587
588 config ARCH_HIGHBANK
589 bool "Calxeda Highbank"
590 select CPU_V7
591
592 config ARCH_INTEGRATOR
593 bool "ARM Ltd. Integrator family"
594 select DM
595 select DM_SERIAL
596
597 config ARCH_KEYSTONE
598 bool "TI Keystone"
599 select CPU_V7
600 select SUPPORT_SPL
601 select SYS_THUMB_BUILD
602 select CMD_POWEROFF
603
604 config ARCH_MESON
605 bool "Amlogic Meson"
606 help
607 Support for the Meson SoC family developed by Amlogic Inc.,
608 targeted at media players and tablet computers. We currently
609 support the S905 (GXBaby) 64-bit SoC.
610
611 config ARCH_MX7ULP
612 bool "NXP MX7ULP"
613 select CPU_V7
614 select ROM_UNIFIED_SECTIONS
615
616 config ARCH_MX7
617 bool "Freescale MX7"
618 select CPU_V7
619 select SYS_FSL_HAS_SEC if SECURE_BOOT
620 select SYS_FSL_SEC_COMPAT_4
621 select SYS_FSL_SEC_LE
622 select BOARD_EARLY_INIT_F
623 select ARCH_MISC_INIT
624
625 config ARCH_MX6
626 bool "Freescale MX6"
627 select CPU_V7
628 select SYS_FSL_HAS_SEC if SECURE_BOOT
629 select SYS_FSL_SEC_COMPAT_4
630 select SYS_FSL_SEC_LE
631 select SYS_THUMB_BUILD if SPL
632
633 config ARCH_MX5
634 bool "Freescale MX5"
635 select CPU_V7
636 select BOARD_EARLY_INIT_F
637
638 config TARGET_M53EVK
639 bool "Support m53evk"
640 select CPU_V7
641 select SUPPORT_SPL
642 select BOARD_EARLY_INIT_F
643
644 config TARGET_MX51EVK
645 bool "Support mx51evk"
646 select BOARD_LATE_INIT
647 select CPU_V7
648 select BOARD_EARLY_INIT_F
649
650 config TARGET_MX53ARD
651 bool "Support mx53ard"
652 select CPU_V7
653 select BOARD_EARLY_INIT_F
654
655 config TARGET_MX53EVK
656 bool "Support mx53evk"
657 select BOARD_LATE_INIT
658 select CPU_V7
659 select BOARD_EARLY_INIT_F
660
661 config TARGET_MX53LOCO
662 bool "Support mx53loco"
663 select BOARD_LATE_INIT
664 select CPU_V7
665 select BOARD_EARLY_INIT_F
666
667 config TARGET_MX53SMD
668 bool "Support mx53smd"
669 select CPU_V7
670 select BOARD_EARLY_INIT_F
671
672 config OMAP34XX
673 bool "OMAP34XX SoC"
674 select ARCH_OMAP2
675 select ARM_ERRATA_430973
676 select ARM_ERRATA_454179
677 select ARM_ERRATA_621766
678 select ARM_ERRATA_725233
679 select USE_TINY_PRINTF
680 imply SPL_EXT_SUPPORT
681 imply SPL_FAT_SUPPORT
682 imply SPL_GPIO_SUPPORT
683 imply SPL_I2C_SUPPORT
684 imply SPL_LIBCOMMON_SUPPORT
685 imply SPL_LIBDISK_SUPPORT
686 imply SPL_LIBGENERIC_SUPPORT
687 imply SPL_MMC_SUPPORT
688 imply SPL_NAND_SUPPORT
689 imply SPL_POWER_SUPPORT
690 imply SPL_SERIAL_SUPPORT
691 imply SYS_THUMB_BUILD
692
693 config OMAP44XX
694 bool "OMAP44XX SoC"
695 select ARCH_OMAP2
696 select USE_TINY_PRINTF
697 imply SPL_DISPLAY_PRINT
698 imply SPL_EXT_SUPPORT
699 imply SPL_FAT_SUPPORT
700 imply SPL_GPIO_SUPPORT
701 imply SPL_I2C_SUPPORT
702 imply SPL_LIBCOMMON_SUPPORT
703 imply SPL_LIBDISK_SUPPORT
704 imply SPL_LIBGENERIC_SUPPORT
705 imply SPL_MMC_SUPPORT
706 imply SPL_NAND_SUPPORT
707 imply SPL_POWER_SUPPORT
708 imply SPL_SERIAL_SUPPORT
709 imply SYS_THUMB_BUILD
710
711 config OMAP54XX
712 bool "OMAP54XX SoC"
713 select ARCH_OMAP2
714 select ARM_ERRATA_798870
715 select SYS_THUMB_BUILD
716 imply SPL_DISPLAY_PRINT
717 imply SPL_ENV_SUPPORT
718 imply SPL_EXT_SUPPORT
719 imply SPL_FAT_SUPPORT
720 imply SPL_GPIO_SUPPORT
721 imply SPL_I2C_SUPPORT
722 imply SPL_LIBCOMMON_SUPPORT
723 imply SPL_LIBDISK_SUPPORT
724 imply SPL_LIBGENERIC_SUPPORT
725 imply SPL_MMC_SUPPORT
726 imply SPL_NAND_SUPPORT
727 imply SPL_POWER_SUPPORT
728 imply SPL_SERIAL_SUPPORT
729
730 config AM43XX
731 bool "AM43XX SoC"
732 select ARCH_OMAP2
733 imply SYS_THUMB_BUILD
734 help
735 Support for AM43xx SOC from Texas Instruments.
736 The AM43xx high performance SOC features a Cortex-A9
737 ARM core, a quad core PRU-ICSS for industrial Ethernet
738 protocols, dual camera support, optional 3D graphics
739 and an optional customer programmable secure boot.
740
741 config AM33XX
742 bool "AM33XX SoC"
743 select ARCH_OMAP2
744 imply SYS_THUMB_BUILD
745 help
746 Support for AM335x SOC from Texas Instruments.
747 The AM335x high performance SOC features a Cortex-A8
748 ARM core, a dual core PRU-ICSS for industrial Ethernet
749 protocols, optional 3D graphics and an optional customer
750 programmable secure boot.
751
752 config ARCH_RMOBILE
753 bool "Renesas ARM SoCs"
754 select DM
755 select DM_SERIAL
756 select BOARD_EARLY_INIT_F
757 imply SYS_THUMB_BUILD
758
759 config TARGET_S32V234EVB
760 bool "Support s32v234evb"
761 select ARM64
762 select SYS_FSL_ERRATUM_ESDHC111
763
764 config ARCH_SNAPDRAGON
765 bool "Qualcomm Snapdragon SoCs"
766 select ARM64
767 select DM
768 select DM_GPIO
769 select DM_SERIAL
770 select SPMI
771 select OF_CONTROL
772 select OF_SEPARATE
773
774 config ARCH_SOCFPGA
775 bool "Altera SOCFPGA family"
776 select CPU_V7
777 select SUPPORT_SPL
778 select OF_CONTROL
779 select SPL_OF_CONTROL
780 select DM
781 select DM_SPI_FLASH
782 select DM_SPI
783 select ENABLE_ARM_SOC_BOOT0_HOOK
784 select ARCH_EARLY_INIT_R
785 select ARCH_MISC_INIT
786 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
787 select SYS_THUMB_BUILD
788
789 config TARGET_CM_T43
790 bool "Support cm_t43"
791 select ARCH_OMAP2
792
793 config ARCH_SUNXI
794 bool "Support sunxi (Allwinner) SoCs"
795 select CMD_GPIO
796 select CMD_MMC if MMC
797 select CMD_USB if DISTRO_DEFAULTS
798 select DM
799 select DM_ETH
800 select DM_GPIO
801 select DM_KEYBOARD
802 select DM_SERIAL
803 select DM_USB if DISTRO_DEFAULTS
804 select OF_BOARD_SETUP
805 select OF_CONTROL
806 select OF_SEPARATE
807 select SPL_STACK_R if SUPPORT_SPL
808 select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
809 select SYS_NS16550
810 select SPL_SYS_THUMB_BUILD if !ARM64
811 select USB if DISTRO_DEFAULTS
812 select USB_STORAGE if DISTRO_DEFAULTS
813 select USB_KEYBOARD if DISTRO_DEFAULTS
814 select USE_TINY_PRINTF
815
816 config TARGET_TS4600
817 bool "Support TS4600"
818 select CPU_ARM926EJS
819 select SUPPORT_SPL
820
821 config TARGET_TS4800
822 bool "Support TS4800"
823 select CPU_V7
824 select SYS_FSL_ERRATUM_ESDHC_A001
825
826 config ARCH_VF610
827 bool "Freescale Vybrid"
828 select CPU_V7
829 select SYS_FSL_ERRATUM_ESDHC111
830
831 config ARCH_ZYNQ
832 bool "Xilinx Zynq Platform"
833 select BOARD_LATE_INIT
834 select CPU_V7
835 select SUPPORT_SPL
836 select OF_CONTROL
837 select SPL_OF_CONTROL if SPL
838 select DM
839 select DM_ETH
840 select DM_GPIO
841 select SPL_DM if SPL
842 select DM_MMC
843 select DM_MMC_OPS
844 select DM_SPI
845 select DM_SERIAL
846 select DM_SPI_FLASH
847 select SPL_SEPARATE_BSS if SPL
848 select DM_USB if USB
849 select BLK
850 select CLK
851 select SPL_CLK
852 select CLK_ZYNQ
853
854 config ARCH_ZYNQMP
855 bool "Support Xilinx ZynqMP Platform"
856 select ARM64
857 select BOARD_LATE_INIT
858 select DM
859 select OF_CONTROL
860 select DM_SERIAL
861 select SUPPORT_SPL
862 select CLK
863 select SPL_CLK
864 select DM_USB if USB
865
866 config TEGRA
867 bool "NVIDIA Tegra"
868
869 config TARGET_VEXPRESS64_AEMV8A
870 bool "Support vexpress_aemv8a"
871 select ARM64
872
873 config TARGET_VEXPRESS64_BASE_FVP
874 bool "Support Versatile Express ARMv8a FVP BASE model"
875 select ARM64
876 select SEMIHOSTING
877
878 config TARGET_VEXPRESS64_BASE_FVP_DRAM
879 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
880 select ARM64
881 help
882 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
883 the default config to allow the user to load the images directly into
884 DRAM using model parameters rather than by using semi-hosting to load
885 the files from the host filesystem.
886
887 config TARGET_VEXPRESS64_JUNO
888 bool "Support Versatile Express Juno Development Platform"
889 select ARM64
890
891 config TARGET_LS2080A_EMU
892 bool "Support ls2080a_emu"
893 select ARCH_LS2080A
894 select ARM64
895 select ARMV8_MULTIENTRY
896 select ARCH_MISC_INIT
897 help
898 Support for Freescale LS2080A_EMU platform
899 The LS2080A Development System (EMULATOR) is a pre silicon
900 development platform that supports the QorIQ LS2080A
901 Layerscape Architecture processor.
902
903 config TARGET_LS2080A_SIMU
904 bool "Support ls2080a_simu"
905 select ARCH_LS2080A
906 select ARM64
907 select ARMV8_MULTIENTRY
908 select ARCH_MISC_INIT
909 help
910 Support for Freescale LS2080A_SIMU platform
911 The LS2080A Development System (QDS) is a pre silicon
912 development platform that supports the QorIQ LS2080A
913 Layerscape Architecture processor.
914
915 config TARGET_LS2080AQDS
916 bool "Support ls2080aqds"
917 select ARCH_LS2080A
918 select ARM64
919 select ARMV8_MULTIENTRY
920 select BOARD_LATE_INIT
921 select SUPPORT_SPL
922 select ARCH_MISC_INIT
923 help
924 Support for Freescale LS2080AQDS platform
925 The LS2080A Development System (QDS) is a high-performance
926 development platform that supports the QorIQ LS2080A
927 Layerscape Architecture processor.
928
929 config TARGET_LS2080ARDB
930 bool "Support ls2080ardb"
931 select ARCH_LS2080A
932 select ARM64
933 select ARMV8_MULTIENTRY
934 select BOARD_LATE_INIT
935 select SUPPORT_SPL
936 select ARCH_MISC_INIT
937 help
938 Support for Freescale LS2080ARDB platform.
939 The LS2080A Reference design board (RDB) is a high-performance
940 development platform that supports the QorIQ LS2080A
941 Layerscape Architecture processor.
942
943 config TARGET_HIKEY
944 bool "Support HiKey 96boards Consumer Edition Platform"
945 select ARM64
946 select DM
947 select DM_GPIO
948 select DM_SERIAL
949 select OF_CONTROL
950 help
951 Support for HiKey 96boards platform. It features a HI6220
952 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
953
954 config TARGET_LS1012AQDS
955 bool "Support ls1012aqds"
956 select ARCH_LS1012A
957 select ARM64
958 select BOARD_LATE_INIT
959 help
960 Support for Freescale LS1012AQDS platform.
961 The LS1012A Development System (QDS) is a high-performance
962 development platform that supports the QorIQ LS1012A
963 Layerscape Architecture processor.
964
965 config TARGET_LS1012ARDB
966 bool "Support ls1012ardb"
967 select ARCH_LS1012A
968 select ARM64
969 select BOARD_LATE_INIT
970 help
971 Support for Freescale LS1012ARDB platform.
972 The LS1012A Reference design board (RDB) is a high-performance
973 development platform that supports the QorIQ LS1012A
974 Layerscape Architecture processor.
975
976 config TARGET_LS1012AFRDM
977 bool "Support ls1012afrdm"
978 select ARCH_LS1012A
979 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
986 config TARGET_LS1021AQDS
987 bool "Support ls1021aqds"
988 select BOARD_LATE_INIT
989 select CPU_V7
990 select CPU_V7_HAS_NONSEC
991 select CPU_V7_HAS_VIRT
992 select SUPPORT_SPL
993 select ARCH_LS1021A
994 select ARCH_SUPPORT_PSCI
995 select LS1_DEEP_SLEEP
996 select SYS_FSL_DDR
997 select BOARD_EARLY_INIT_F
998
999 config TARGET_LS1021ATWR
1000 bool "Support ls1021atwr"
1001 select BOARD_LATE_INIT
1002 select CPU_V7
1003 select CPU_V7_HAS_NONSEC
1004 select CPU_V7_HAS_VIRT
1005 select SUPPORT_SPL
1006 select ARCH_LS1021A
1007 select ARCH_SUPPORT_PSCI
1008 select LS1_DEEP_SLEEP
1009 select BOARD_EARLY_INIT_F
1010
1011 config TARGET_LS1021AIOT
1012 bool "Support ls1021aiot"
1013 select BOARD_LATE_INIT
1014 select CPU_V7
1015 select CPU_V7_HAS_NONSEC
1016 select CPU_V7_HAS_VIRT
1017 select SUPPORT_SPL
1018 select ARCH_LS1021A
1019 select ARCH_SUPPORT_PSCI
1020 help
1021 Support for Freescale LS1021AIOT platform.
1022 The LS1021A Freescale board (IOT) is a high-performance
1023 development platform that supports the QorIQ LS1021A
1024 Layerscape Architecture processor.
1025
1026 config TARGET_LS1043AQDS
1027 bool "Support ls1043aqds"
1028 select ARCH_LS1043A
1029 select ARM64
1030 select ARMV8_MULTIENTRY
1031 select BOARD_LATE_INIT
1032 select SUPPORT_SPL
1033 select BOARD_EARLY_INIT_F
1034 help
1035 Support for Freescale LS1043AQDS platform.
1036
1037 config TARGET_LS1043ARDB
1038 bool "Support ls1043ardb"
1039 select ARCH_LS1043A
1040 select ARM64
1041 select ARMV8_MULTIENTRY
1042 select BOARD_LATE_INIT
1043 select SUPPORT_SPL
1044 select BOARD_EARLY_INIT_F
1045 help
1046 Support for Freescale LS1043ARDB platform.
1047
1048 config TARGET_LS1046AQDS
1049 bool "Support ls1046aqds"
1050 select ARCH_LS1046A
1051 select ARM64
1052 select ARMV8_MULTIENTRY
1053 select BOARD_LATE_INIT
1054 select SUPPORT_SPL
1055 select DM_SPI_FLASH if DM_SPI
1056 select BOARD_EARLY_INIT_F
1057 help
1058 Support for Freescale LS1046AQDS platform.
1059 The LS1046A Development System (QDS) is a high-performance
1060 development platform that supports the QorIQ LS1046A
1061 Layerscape Architecture processor.
1062
1063 config TARGET_LS1046ARDB
1064 bool "Support ls1046ardb"
1065 select ARCH_LS1046A
1066 select ARM64
1067 select ARMV8_MULTIENTRY
1068 select BOARD_LATE_INIT
1069 select SUPPORT_SPL
1070 select DM_SPI_FLASH if DM_SPI
1071 select POWER_MC34VR500
1072 select BOARD_EARLY_INIT_F
1073 help
1074 Support for Freescale LS1046ARDB platform.
1075 The LS1046A Reference Design Board (RDB) is a high-performance
1076 development platform that supports the QorIQ LS1046A
1077 Layerscape Architecture processor.
1078
1079 config TARGET_H2200
1080 bool "Support h2200"
1081 select CPU_PXA
1082
1083 config TARGET_ZIPITZ2
1084 bool "Support zipitz2"
1085 select CPU_PXA
1086
1087 config TARGET_COLIBRI_PXA270
1088 bool "Support colibri_pxa270"
1089 select CPU_PXA
1090
1091 config ARCH_UNIPHIER
1092 bool "Socionext UniPhier SoCs"
1093 select BOARD_LATE_INIT
1094 select CLK_UNIPHIER
1095 select DM
1096 select DM_GPIO
1097 select DM_I2C
1098 select DM_MMC
1099 select DM_RESET
1100 select DM_SERIAL
1101 select DM_USB
1102 select OF_CONTROL
1103 select OF_LIBFDT
1104 select PINCTRL
1105 select SPL_DM if SPL
1106 select SPL_LIBCOMMON_SUPPORT if SPL
1107 select SPL_LIBGENERIC_SUPPORT if SPL
1108 select SPL_OF_CONTROL if SPL
1109 select SPL_PINCTRL if SPL
1110 select SUPPORT_SPL
1111 help
1112 Support for UniPhier SoC family developed by Socionext Inc.
1113 (formerly, System LSI Business Division of Panasonic Corporation)
1114
1115 config STM32
1116 bool "Support STM32"
1117 select CPU_V7M
1118 select DM
1119 select DM_SERIAL
1120 select SYS_THUMB_BUILD
1121
1122 config ARCH_STI
1123 bool "Support STMicrolectronics SoCs"
1124 select CPU_V7
1125 select DM
1126 select DM_SERIAL
1127 select BLK
1128 select DM_MMC
1129 help
1130 Support for STMicroelectronics STiH407/10 SoC family.
1131 This SoC is used on Linaro 96Board STiH410-B2260
1132
1133 config ARCH_ROCKCHIP
1134 bool "Support Rockchip SoCs"
1135 select OF_CONTROL
1136 select BLK
1137 select DM
1138 select SPL_DM if SPL
1139 select SYS_MALLOC_F
1140 select SYS_THUMB_BUILD if !ARM64
1141 select SPL_SYS_MALLOC_SIMPLE if SPL
1142 select DM_GPIO
1143 select DM_I2C
1144 select DM_MMC
1145 select DM_MMC_OPS
1146 select DM_SERIAL
1147 select DM_SPI
1148 select DM_SPI_FLASH
1149 select DM_USB if USB
1150 select DM_PWM
1151 select DM_REGULATOR
1152
1153 config TARGET_THUNDERX_88XX
1154 bool "Support ThunderX 88xx"
1155 select ARM64
1156 select OF_CONTROL
1157 select SYS_CACHE_SHIFT_7
1158
1159 config ARCH_ASPEED
1160 bool "Support Aspeed SoCs"
1161 select OF_CONTROL
1162 select DM
1163
1164 endchoice
1165
1166 source "arch/arm/mach-aspeed/Kconfig"
1167
1168 source "arch/arm/mach-at91/Kconfig"
1169
1170 source "arch/arm/mach-bcm283x/Kconfig"
1171
1172 source "arch/arm/mach-davinci/Kconfig"
1173
1174 source "arch/arm/mach-exynos/Kconfig"
1175
1176 source "arch/arm/mach-highbank/Kconfig"
1177
1178 source "arch/arm/mach-integrator/Kconfig"
1179
1180 source "arch/arm/mach-keystone/Kconfig"
1181
1182 source "arch/arm/mach-kirkwood/Kconfig"
1183
1184 source "arch/arm/mach-mvebu/Kconfig"
1185
1186 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1187
1188 source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1189
1190 source "arch/arm/cpu/armv7/mx7/Kconfig"
1191
1192 source "arch/arm/cpu/armv7/mx6/Kconfig"
1193
1194 source "arch/arm/cpu/armv7/mx5/Kconfig"
1195
1196 source "arch/arm/mach-omap2/Kconfig"
1197
1198 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1199
1200 source "arch/arm/mach-orion5x/Kconfig"
1201
1202 source "arch/arm/mach-rmobile/Kconfig"
1203
1204 source "arch/arm/mach-meson/Kconfig"
1205
1206 source "arch/arm/mach-rockchip/Kconfig"
1207
1208 source "arch/arm/mach-s5pc1xx/Kconfig"
1209
1210 source "arch/arm/mach-snapdragon/Kconfig"
1211
1212 source "arch/arm/mach-socfpga/Kconfig"
1213
1214 source "arch/arm/mach-sti/Kconfig"
1215
1216 source "arch/arm/mach-stm32/Kconfig"
1217
1218 source "arch/arm/mach-tegra/Kconfig"
1219
1220 source "arch/arm/mach-uniphier/Kconfig"
1221
1222 source "arch/arm/cpu/armv7/vf610/Kconfig"
1223
1224 source "arch/arm/mach-zynq/Kconfig"
1225
1226 source "arch/arm/cpu/armv7/Kconfig"
1227
1228 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1229
1230 source "arch/arm/cpu/armv8/Kconfig"
1231
1232 source "arch/arm/imx-common/Kconfig"
1233
1234 source "board/bosch/shc/Kconfig"
1235 source "board/BuR/brxre1/Kconfig"
1236 source "board/BuR/brppt1/Kconfig"
1237 source "board/CarMediaLab/flea3/Kconfig"
1238 source "board/Marvell/aspenite/Kconfig"
1239 source "board/Marvell/gplugd/Kconfig"
1240 source "board/armadeus/apf27/Kconfig"
1241 source "board/armltd/vexpress/Kconfig"
1242 source "board/armltd/vexpress64/Kconfig"
1243 source "board/bluegiga/apx4devkit/Kconfig"
1244 source "board/broadcom/bcm23550_w1d/Kconfig"
1245 source "board/broadcom/bcm28155_ap/Kconfig"
1246 source "board/broadcom/bcmcygnus/Kconfig"
1247 source "board/broadcom/bcmnsp/Kconfig"
1248 source "board/broadcom/bcmns2/Kconfig"
1249 source "board/cavium/thunderx/Kconfig"
1250 source "board/cirrus/edb93xx/Kconfig"
1251 source "board/compulab/cm_t335/Kconfig"
1252 source "board/compulab/cm_t43/Kconfig"
1253 source "board/creative/xfi3/Kconfig"
1254 source "board/denx/m28evk/Kconfig"
1255 source "board/denx/m53evk/Kconfig"
1256 source "board/freescale/ls2080a/Kconfig"
1257 source "board/freescale/ls2080aqds/Kconfig"
1258 source "board/freescale/ls2080ardb/Kconfig"
1259 source "board/freescale/ls1021aqds/Kconfig"
1260 source "board/freescale/ls1043aqds/Kconfig"
1261 source "board/freescale/ls1021atwr/Kconfig"
1262 source "board/freescale/ls1021aiot/Kconfig"
1263 source "board/freescale/ls1046aqds/Kconfig"
1264 source "board/freescale/ls1043ardb/Kconfig"
1265 source "board/freescale/ls1046ardb/Kconfig"
1266 source "board/freescale/ls1012aqds/Kconfig"
1267 source "board/freescale/ls1012ardb/Kconfig"
1268 source "board/freescale/ls1012afrdm/Kconfig"
1269 source "board/freescale/mx23evk/Kconfig"
1270 source "board/freescale/mx25pdk/Kconfig"
1271 source "board/freescale/mx28evk/Kconfig"
1272 source "board/freescale/mx31ads/Kconfig"
1273 source "board/freescale/mx31pdk/Kconfig"
1274 source "board/freescale/mx35pdk/Kconfig"
1275 source "board/freescale/mx51evk/Kconfig"
1276 source "board/freescale/mx53ard/Kconfig"
1277 source "board/freescale/mx53evk/Kconfig"
1278 source "board/freescale/mx53loco/Kconfig"
1279 source "board/freescale/mx53smd/Kconfig"
1280 source "board/freescale/s32v234evb/Kconfig"
1281 source "board/grinn/chiliboard/Kconfig"
1282 source "board/gumstix/pepper/Kconfig"
1283 source "board/h2200/Kconfig"
1284 source "board/hisilicon/hikey/Kconfig"
1285 source "board/imx31_phycore/Kconfig"
1286 source "board/isee/igep0033/Kconfig"
1287 source "board/olimex/mx23_olinuxino/Kconfig"
1288 source "board/phytec/pcm051/Kconfig"
1289 source "board/ppcag/bg0900/Kconfig"
1290 source "board/sandisk/sansa_fuze_plus/Kconfig"
1291 source "board/schulercontrol/sc_sps_1/Kconfig"
1292 source "board/siemens/draco/Kconfig"
1293 source "board/siemens/pxm2/Kconfig"
1294 source "board/siemens/rut/Kconfig"
1295 source "board/silica/pengwyn/Kconfig"
1296 source "board/spear/spear300/Kconfig"
1297 source "board/spear/spear310/Kconfig"
1298 source "board/spear/spear320/Kconfig"
1299 source "board/spear/spear600/Kconfig"
1300 source "board/spear/x600/Kconfig"
1301 source "board/st/stv0991/Kconfig"
1302 source "board/sunxi/Kconfig"
1303 source "board/syteco/zmx25/Kconfig"
1304 source "board/tcl/sl50/Kconfig"
1305 source "board/ti/am335x/Kconfig"
1306 source "board/ti/am43xx/Kconfig"
1307 source "board/birdland/bav335x/Kconfig"
1308 source "board/ti/ti814x/Kconfig"
1309 source "board/ti/ti816x/Kconfig"
1310 source "board/timll/devkit3250/Kconfig"
1311 source "board/toradex/colibri_pxa270/Kconfig"
1312 source "board/technologic/ts4600/Kconfig"
1313 source "board/technologic/ts4800/Kconfig"
1314 source "board/vscom/baltos/Kconfig"
1315 source "board/woodburn/Kconfig"
1316 source "board/work-microwave/work_92105/Kconfig"
1317 source "board/zipitz2/Kconfig"
1318
1319 source "arch/arm/Kconfig.debug"
1320
1321 endmenu