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