]> git.sur5r.net Git - u-boot/blob - arch/arm/Kconfig
39b001fd531fb21f9cdbdce838fdb6ec13ac5bfc
[u-boot] / 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 if ARCH_MX6
622 config SPL_LDSCRIPT
623         default "arch/arm/mach-omap2/u-boot-spl.lds"
624 endif
625
626 config ARCH_MX5
627         bool "Freescale MX5"
628         select CPU_V7
629         select BOARD_EARLY_INIT_F
630
631 config ARCH_RMOBILE
632         bool "Renesas ARM SoCs"
633         select DM
634         select DM_SERIAL
635         select BOARD_EARLY_INIT_F
636         imply FAT_WRITE
637         imply SYS_THUMB_BUILD
638
639 config TARGET_S32V234EVB
640         bool "Support s32v234evb"
641         select ARM64
642         select SYS_FSL_ERRATUM_ESDHC111
643
644 config ARCH_SNAPDRAGON
645         bool "Qualcomm Snapdragon SoCs"
646         select ARM64
647         select DM
648         select DM_GPIO
649         select DM_SERIAL
650         select SPMI
651         select OF_CONTROL
652         select OF_SEPARATE
653
654 config ARCH_SOCFPGA
655         bool "Altera SOCFPGA family"
656         select CPU_V7
657         select SUPPORT_SPL
658         select OF_CONTROL
659         select SPL_OF_CONTROL
660         select DM
661         select DM_SPI_FLASH
662         select DM_SPI
663         select ENABLE_ARM_SOC_BOOT0_HOOK
664         select ARCH_EARLY_INIT_R
665         select ARCH_MISC_INIT
666         select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
667         select SYS_THUMB_BUILD
668         imply CMD_MTDPARTS
669         imply CRC32_VERIFY
670         imply FAT_WRITE
671
672 config ARCH_SUNXI
673         bool "Support sunxi (Allwinner) SoCs"
674         select CMD_GPIO
675         select CMD_MMC if MMC
676         select CMD_USB if DISTRO_DEFAULTS
677         select DM
678         select DM_ETH
679         select DM_GPIO
680         select DM_KEYBOARD
681         select DM_SERIAL
682         select DM_USB if DISTRO_DEFAULTS
683         select OF_BOARD_SETUP
684         select OF_CONTROL
685         select OF_SEPARATE
686         select SPL_STACK_R if SPL
687         select SPL_SYS_MALLOC_SIMPLE if SPL
688         select SYS_NS16550
689         select SPL_SYS_THUMB_BUILD if !ARM64
690         select USB if DISTRO_DEFAULTS
691         select USB_STORAGE if DISTRO_DEFAULTS
692         select USB_KEYBOARD if DISTRO_DEFAULTS
693         select USE_TINY_PRINTF
694         imply FAT_WRITE
695         imply PRE_CONSOLE_BUFFER
696         imply SPL_GPIO_SUPPORT
697         imply SPL_LIBCOMMON_SUPPORT
698         imply SPL_LIBDISK_SUPPORT
699         imply SPL_LIBGENERIC_SUPPORT
700         imply SPL_MMC_SUPPORT if MMC
701         imply SPL_POWER_SUPPORT
702         imply SPL_SERIAL_SUPPORT
703
704 config TARGET_TS4600
705         bool "Support TS4600"
706         select CPU_ARM926EJS
707         select SUPPORT_SPL
708
709 config ARCH_VF610
710         bool "Freescale Vybrid"
711         select CPU_V7
712         select SYS_FSL_ERRATUM_ESDHC111
713         imply CMD_MTDPARTS
714         imply NAND
715
716 config ARCH_ZYNQ
717         bool "Xilinx Zynq Platform"
718         select BOARD_LATE_INIT
719         select CPU_V7
720         select SUPPORT_SPL
721         select OF_CONTROL
722         select SPL_BOARD_INIT if SPL
723         select SPL_OF_CONTROL if SPL
724         select DM
725         select DM_ETH
726         select DM_GPIO
727         select SPL_DM if SPL
728         select DM_MMC
729         select DM_MMC_OPS
730         select DM_SPI
731         select DM_SERIAL
732         select DM_SPI_FLASH
733         select SPL_SEPARATE_BSS if SPL
734         select DM_USB if USB
735         select BLK
736         select CLK
737         select SPL_CLK
738         select CLK_ZYNQ
739         imply CMD_CLK
740         imply FAT_WRITE
741         imply CMD_SPL
742
743 config ARCH_ZYNQMP
744         bool "Support Xilinx ZynqMP Platform"
745         select ARM64
746         select BOARD_LATE_INIT
747         select DM
748         select OF_CONTROL
749         select DM_SERIAL
750         select SUPPORT_SPL
751         select CLK
752         select SPL_BOARD_INIT if SPL
753         select SPL_CLK
754         select DM_USB if USB
755         imply FAT_WRITE
756
757 config TEGRA
758         bool "NVIDIA Tegra"
759         imply FAT_WRITE
760
761 config TARGET_VEXPRESS64_AEMV8A
762         bool "Support vexpress_aemv8a"
763         select ARM64
764
765 config TARGET_VEXPRESS64_BASE_FVP
766         bool "Support Versatile Express ARMv8a FVP BASE model"
767         select ARM64
768         select SEMIHOSTING
769
770 config TARGET_VEXPRESS64_BASE_FVP_DRAM
771         bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
772         select ARM64
773         help
774           This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
775           the default config to allow the user to load the images directly into
776           DRAM using model parameters rather than by using semi-hosting to load
777           the files from the host filesystem.
778
779 config TARGET_VEXPRESS64_JUNO
780         bool "Support Versatile Express Juno Development Platform"
781         select ARM64
782
783 config TARGET_LS2080A_EMU
784         bool "Support ls2080a_emu"
785         select ARCH_LS2080A
786         select ARM64
787         select ARMV8_MULTIENTRY
788         select ARCH_MISC_INIT
789         help
790           Support for Freescale LS2080A_EMU platform
791           The LS2080A Development System (EMULATOR) is a pre silicon
792           development platform that supports the QorIQ LS2080A
793           Layerscape Architecture processor.
794
795 config TARGET_LS2080A_SIMU
796         bool "Support ls2080a_simu"
797         select ARCH_LS2080A
798         select ARM64
799         select ARMV8_MULTIENTRY
800         select ARCH_MISC_INIT
801         help
802           Support for Freescale LS2080A_SIMU platform
803           The LS2080A Development System (QDS) is a pre silicon
804           development platform that supports the QorIQ LS2080A
805           Layerscape Architecture processor.
806
807 config TARGET_LS2080AQDS
808         bool "Support ls2080aqds"
809         select ARCH_LS2080A
810         select ARM64
811         select ARMV8_MULTIENTRY
812         select BOARD_LATE_INIT
813         select SUPPORT_SPL
814         select ARCH_MISC_INIT
815         imply SCSI
816         help
817           Support for Freescale LS2080AQDS platform
818           The LS2080A Development System (QDS) is a high-performance
819           development platform that supports the QorIQ LS2080A
820           Layerscape Architecture processor.
821
822 config TARGET_LS2080ARDB
823         bool "Support ls2080ardb"
824         select ARCH_LS2080A
825         select ARM64
826         select ARMV8_MULTIENTRY
827         select BOARD_LATE_INIT
828         select SUPPORT_SPL
829         select ARCH_MISC_INIT
830         imply SCSI
831         help
832           Support for Freescale LS2080ARDB platform.
833           The LS2080A Reference design board (RDB) is a high-performance
834           development platform that supports the QorIQ LS2080A
835           Layerscape Architecture processor.
836
837 config TARGET_LS2081ARDB
838         bool "Support ls2081ardb"
839         select ARCH_LS2080A
840         select ARM64
841         select ARMV8_MULTIENTRY
842         select BOARD_LATE_INIT
843         select SUPPORT_SPL
844         select ARCH_MISC_INIT
845         help
846           Support for Freescale LS2081ARDB platform.
847           The LS2081A Reference design board (RDB) is a high-performance
848           development platform that supports the QorIQ LS2081A/LS2041A
849           Layerscape Architecture processor.
850
851 config TARGET_HIKEY
852         bool "Support HiKey 96boards Consumer Edition Platform"
853         select ARM64
854         select DM
855         select DM_GPIO
856         select DM_SERIAL
857         select OF_CONTROL
858           help
859           Support for HiKey 96boards platform. It features a HI6220
860           SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
861
862 config TARGET_POPLAR
863         bool "Support Poplar 96boards Enterprise Edition Platform"
864         select ARM64
865         select DM
866         select OF_CONTROL
867         select DM_SERIAL
868         select DM_USB
869           help
870           Support for Poplar 96boards EE platform. It features a HI3798cv200
871           SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU
872           making it capable of running any commercial set-top solution based on
873           Linux or Android.
874
875 config TARGET_LS1012AQDS
876         bool "Support ls1012aqds"
877         select ARCH_LS1012A
878         select ARM64
879         select BOARD_LATE_INIT
880         help
881           Support for Freescale LS1012AQDS platform.
882           The LS1012A Development System (QDS) is a high-performance
883           development platform that supports the QorIQ LS1012A
884           Layerscape Architecture processor.
885
886 config TARGET_LS1012ARDB
887         bool "Support ls1012ardb"
888         select ARCH_LS1012A
889         select ARM64
890         select BOARD_LATE_INIT
891         imply SCSI
892         help
893           Support for Freescale LS1012ARDB platform.
894           The LS1012A Reference design board (RDB) is a high-performance
895           development platform that supports the QorIQ LS1012A
896           Layerscape Architecture processor.
897
898 config TARGET_LS1012AFRDM
899         bool "Support ls1012afrdm"
900         select ARCH_LS1012A
901         select ARM64
902         help
903           Support for Freescale LS1012AFRDM platform.
904           The LS1012A Freedom  board (FRDM) is a high-performance
905           development platform that supports the QorIQ LS1012A
906           Layerscape Architecture processor.
907
908 config TARGET_LS1021AQDS
909         bool "Support ls1021aqds"
910         select BOARD_LATE_INIT
911         select CPU_V7
912         select CPU_V7_HAS_NONSEC
913         select CPU_V7_HAS_VIRT
914         select SUPPORT_SPL
915         select ARCH_LS1021A
916         select ARCH_SUPPORT_PSCI
917         select LS1_DEEP_SLEEP
918         select SYS_FSL_DDR
919         select BOARD_EARLY_INIT_F
920         imply SCSI
921
922 config TARGET_LS1021ATWR
923         bool "Support ls1021atwr"
924         select BOARD_LATE_INIT
925         select CPU_V7
926         select CPU_V7_HAS_NONSEC
927         select CPU_V7_HAS_VIRT
928         select SUPPORT_SPL
929         select ARCH_LS1021A
930         select ARCH_SUPPORT_PSCI
931         select LS1_DEEP_SLEEP
932         select BOARD_EARLY_INIT_F
933         imply SCSI
934
935 config TARGET_LS1021AIOT
936         bool "Support ls1021aiot"
937         select BOARD_LATE_INIT
938         select CPU_V7
939         select CPU_V7_HAS_NONSEC
940         select CPU_V7_HAS_VIRT
941         select SUPPORT_SPL
942         select ARCH_LS1021A
943         select ARCH_SUPPORT_PSCI
944         imply SCSI
945         help
946           Support for Freescale LS1021AIOT platform.
947           The LS1021A Freescale board (IOT) is a high-performance
948           development platform that supports the QorIQ LS1021A
949           Layerscape Architecture processor.
950
951 config TARGET_LS1043AQDS
952         bool "Support ls1043aqds"
953         select ARCH_LS1043A
954         select ARM64
955         select ARMV8_MULTIENTRY
956         select BOARD_LATE_INIT
957         select SUPPORT_SPL
958         select BOARD_EARLY_INIT_F
959         imply SCSI
960         help
961           Support for Freescale LS1043AQDS platform.
962
963 config TARGET_LS1043ARDB
964         bool "Support ls1043ardb"
965         select ARCH_LS1043A
966         select ARM64
967         select ARMV8_MULTIENTRY
968         select BOARD_LATE_INIT
969         select SUPPORT_SPL
970         select BOARD_EARLY_INIT_F
971         imply SCSI
972         help
973           Support for Freescale LS1043ARDB platform.
974
975 config TARGET_LS1046AQDS
976         bool "Support ls1046aqds"
977         select ARCH_LS1046A
978         select ARM64
979         select ARMV8_MULTIENTRY
980         select BOARD_LATE_INIT
981         select SUPPORT_SPL
982         select DM_SPI_FLASH if DM_SPI
983         select BOARD_EARLY_INIT_F
984         imply SCSI
985         help
986           Support for Freescale LS1046AQDS platform.
987           The LS1046A Development System (QDS) is a high-performance
988           development platform that supports the QorIQ LS1046A
989           Layerscape Architecture processor.
990
991 config TARGET_LS1046ARDB
992         bool "Support ls1046ardb"
993         select ARCH_LS1046A
994         select ARM64
995         select ARMV8_MULTIENTRY
996         select BOARD_LATE_INIT
997         select SUPPORT_SPL
998         select DM_SPI_FLASH if DM_SPI
999         select POWER_MC34VR500
1000         select BOARD_EARLY_INIT_F
1001         imply SCSI
1002         help
1003           Support for Freescale LS1046ARDB platform.
1004           The LS1046A Reference Design Board (RDB) is a high-performance
1005           development platform that supports the QorIQ LS1046A
1006           Layerscape Architecture processor.
1007
1008 config TARGET_H2200
1009         bool "Support h2200"
1010         select CPU_PXA
1011
1012 config TARGET_ZIPITZ2
1013         bool "Support zipitz2"
1014         select CPU_PXA
1015
1016 config TARGET_COLIBRI_PXA270
1017         bool "Support colibri_pxa270"
1018         select CPU_PXA
1019
1020 config ARCH_UNIPHIER
1021         bool "Socionext UniPhier SoCs"
1022         select BOARD_LATE_INIT
1023         select CLK_UNIPHIER
1024         select DM
1025         select DM_GPIO
1026         select DM_I2C
1027         select DM_MMC
1028         select DM_RESET
1029         select DM_SERIAL
1030         select DM_USB
1031         select OF_CONTROL
1032         select OF_LIBFDT
1033         select PINCTRL
1034         select SPL_BOARD_INIT if SPL
1035         select SPL_DM if SPL
1036         select SPL_LIBCOMMON_SUPPORT if SPL
1037         select SPL_LIBGENERIC_SUPPORT if SPL
1038         select SPL_OF_CONTROL if SPL
1039         select SPL_PINCTRL if SPL
1040         select SUPPORT_SPL
1041         imply FAT_WRITE
1042         imply ENV_IS_IN_MMC
1043         help
1044           Support for UniPhier SoC family developed by Socionext Inc.
1045           (formerly, System LSI Business Division of Panasonic Corporation)
1046
1047 config STM32
1048         bool "Support STM32"
1049         select CPU_V7M
1050         select DM
1051         select DM_SERIAL
1052         select SYS_THUMB_BUILD
1053
1054 config ARCH_STI
1055         bool "Support STMicrolectronics SoCs"
1056         select CPU_V7
1057         select DM
1058         select DM_SERIAL
1059         select BLK
1060         select DM_MMC
1061         select DM_RESET
1062         help
1063           Support for STMicroelectronics STiH407/10 SoC family.
1064           This SoC is used on Linaro 96Board STiH410-B2260
1065
1066 config ARCH_ROCKCHIP
1067         bool "Support Rockchip SoCs"
1068         select OF_CONTROL
1069         select BLK
1070         select DM
1071         select SPL_DM if SPL
1072         select SYS_MALLOC_F
1073         select SYS_THUMB_BUILD if !ARM64
1074         select SPL_SYS_MALLOC_SIMPLE if SPL
1075         select DM_GPIO
1076         select DM_I2C
1077         select DM_MMC
1078         select DM_MMC_OPS
1079         select DM_SERIAL
1080         select DM_SPI
1081         select DM_SPI_FLASH
1082         select DM_USB if USB
1083         select DM_PWM
1084         select DM_REGULATOR
1085         imply FAT_WRITE
1086
1087 config TARGET_THUNDERX_88XX
1088         bool "Support ThunderX 88xx"
1089         select ARM64
1090         select OF_CONTROL
1091         select SYS_CACHE_SHIFT_7
1092
1093 config ARCH_ASPEED
1094         bool "Support Aspeed SoCs"
1095         select OF_CONTROL
1096         select DM
1097
1098 endchoice
1099
1100 source "arch/arm/mach-aspeed/Kconfig"
1101
1102 source "arch/arm/mach-at91/Kconfig"
1103
1104 source "arch/arm/mach-bcm283x/Kconfig"
1105
1106 source "arch/arm/mach-davinci/Kconfig"
1107
1108 source "arch/arm/mach-exynos/Kconfig"
1109
1110 source "arch/arm/mach-highbank/Kconfig"
1111
1112 source "arch/arm/mach-integrator/Kconfig"
1113
1114 source "arch/arm/mach-keystone/Kconfig"
1115
1116 source "arch/arm/mach-kirkwood/Kconfig"
1117
1118 source "arch/arm/mach-mvebu/Kconfig"
1119
1120 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1121
1122 source "arch/arm/mach-imx/mx7ulp/Kconfig"
1123
1124 source "arch/arm/mach-imx/mx7/Kconfig"
1125
1126 source "arch/arm/mach-imx/mx6/Kconfig"
1127
1128 source "arch/arm/mach-imx/mx5/Kconfig"
1129
1130 source "arch/arm/mach-omap2/Kconfig"
1131
1132 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1133
1134 source "arch/arm/mach-orion5x/Kconfig"
1135
1136 source "arch/arm/mach-rmobile/Kconfig"
1137
1138 source "arch/arm/mach-meson/Kconfig"
1139
1140 source "arch/arm/mach-rockchip/Kconfig"
1141
1142 source "arch/arm/mach-s5pc1xx/Kconfig"
1143
1144 source "arch/arm/mach-snapdragon/Kconfig"
1145
1146 source "arch/arm/mach-socfpga/Kconfig"
1147
1148 source "arch/arm/mach-sti/Kconfig"
1149
1150 source "arch/arm/mach-stm32/Kconfig"
1151
1152 source "arch/arm/mach-sunxi/Kconfig"
1153
1154 source "arch/arm/mach-tegra/Kconfig"
1155
1156 source "arch/arm/mach-uniphier/Kconfig"
1157
1158 source "arch/arm/cpu/armv7/vf610/Kconfig"
1159
1160 source "arch/arm/mach-zynq/Kconfig"
1161
1162 source "arch/arm/cpu/armv7/Kconfig"
1163
1164 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1165
1166 source "arch/arm/cpu/armv8/Kconfig"
1167
1168 source "arch/arm/mach-imx/Kconfig"
1169
1170 source "board/aries/m28evk/Kconfig"
1171 source "board/bosch/shc/Kconfig"
1172 source "board/CarMediaLab/flea3/Kconfig"
1173 source "board/Marvell/aspenite/Kconfig"
1174 source "board/Marvell/gplugd/Kconfig"
1175 source "board/armadeus/apf27/Kconfig"
1176 source "board/armltd/vexpress/Kconfig"
1177 source "board/armltd/vexpress64/Kconfig"
1178 source "board/bluegiga/apx4devkit/Kconfig"
1179 source "board/broadcom/bcm23550_w1d/Kconfig"
1180 source "board/broadcom/bcm28155_ap/Kconfig"
1181 source "board/broadcom/bcmcygnus/Kconfig"
1182 source "board/broadcom/bcmnsp/Kconfig"
1183 source "board/broadcom/bcmns2/Kconfig"
1184 source "board/cavium/thunderx/Kconfig"
1185 source "board/cirrus/edb93xx/Kconfig"
1186 source "board/creative/xfi3/Kconfig"
1187 source "board/freescale/ls2080a/Kconfig"
1188 source "board/freescale/ls2080aqds/Kconfig"
1189 source "board/freescale/ls2080ardb/Kconfig"
1190 source "board/freescale/ls1021aqds/Kconfig"
1191 source "board/freescale/ls1043aqds/Kconfig"
1192 source "board/freescale/ls1021atwr/Kconfig"
1193 source "board/freescale/ls1021aiot/Kconfig"
1194 source "board/freescale/ls1046aqds/Kconfig"
1195 source "board/freescale/ls1043ardb/Kconfig"
1196 source "board/freescale/ls1046ardb/Kconfig"
1197 source "board/freescale/ls1012aqds/Kconfig"
1198 source "board/freescale/ls1012ardb/Kconfig"
1199 source "board/freescale/ls1012afrdm/Kconfig"
1200 source "board/freescale/mx23evk/Kconfig"
1201 source "board/freescale/mx25pdk/Kconfig"
1202 source "board/freescale/mx28evk/Kconfig"
1203 source "board/freescale/mx31ads/Kconfig"
1204 source "board/freescale/mx31pdk/Kconfig"
1205 source "board/freescale/mx35pdk/Kconfig"
1206 source "board/freescale/s32v234evb/Kconfig"
1207 source "board/gdsys/a38x/Kconfig"
1208 source "board/grinn/chiliboard/Kconfig"
1209 source "board/gumstix/pepper/Kconfig"
1210 source "board/h2200/Kconfig"
1211 source "board/hisilicon/hikey/Kconfig"
1212 source "board/hisilicon/poplar/Kconfig"
1213 source "board/imx31_phycore/Kconfig"
1214 source "board/isee/igep003x/Kconfig"
1215 source "board/olimex/mx23_olinuxino/Kconfig"
1216 source "board/phytec/pcm051/Kconfig"
1217 source "board/ppcag/bg0900/Kconfig"
1218 source "board/sandisk/sansa_fuze_plus/Kconfig"
1219 source "board/schulercontrol/sc_sps_1/Kconfig"
1220 source "board/silica/pengwyn/Kconfig"
1221 source "board/spear/spear300/Kconfig"
1222 source "board/spear/spear310/Kconfig"
1223 source "board/spear/spear320/Kconfig"
1224 source "board/spear/spear600/Kconfig"
1225 source "board/spear/x600/Kconfig"
1226 source "board/st/stv0991/Kconfig"
1227 source "board/syteco/zmx25/Kconfig"
1228 source "board/tcl/sl50/Kconfig"
1229 source "board/birdland/bav335x/Kconfig"
1230 source "board/timll/devkit3250/Kconfig"
1231 source "board/toradex/colibri_pxa270/Kconfig"
1232 source "board/technologic/ts4600/Kconfig"
1233 source "board/vscom/baltos/Kconfig"
1234 source "board/woodburn/Kconfig"
1235 source "board/work-microwave/work_92105/Kconfig"
1236 source "board/zipitz2/Kconfig"
1237
1238 source "arch/arm/Kconfig.debug"
1239
1240 endmenu
1241
1242 config SPL_LDSCRIPT
1243         default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if TARGET_APX4DEVKIT || TARGET_BG0900 || TARGET_M28EVK || TARGET_MX23_OLINUXINO || TARGET_MX23EVK || TARGET_MX28EVK || TARGET_SANSA_FUZE_PLUS || TARGET_SC_SPS_1 || TARGET_TS4600 || TARGET_XFI3
1244         default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136
1245         default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64
1246
1247