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