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