Merge branch 'master' of git://git.denx.de/u-boot-samsung
[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 # 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"
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"
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         help
312           Support for TI's DaVinci platform.
313
314 config KIRKWOOD
315         bool "Marvell Kirkwood"
316         select CPU_ARM926EJS
317         select BOARD_EARLY_INIT_F
318         select ARCH_MISC_INIT
319
320 config ARCH_MVEBU
321         bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)"
322         select OF_CONTROL
323         select OF_SEPARATE
324         select DM
325         select DM_ETH
326         select DM_SERIAL
327         select DM_SPI
328         select DM_SPI_FLASH
329
330 config TARGET_DEVKIT3250
331         bool "Support devkit3250"
332         select CPU_ARM926EJS
333         select SUPPORT_SPL
334
335 config TARGET_WORK_92105
336         bool "Support work_92105"
337         select CPU_ARM926EJS
338         select SUPPORT_SPL
339
340 config TARGET_MX25PDK
341         bool "Support mx25pdk"
342         select BOARD_LATE_INIT
343         select CPU_ARM926EJS
344         select BOARD_EARLY_INIT_F
345
346 config TARGET_ZMX25
347         bool "Support zmx25"
348         select BOARD_LATE_INIT
349         select CPU_ARM926EJS
350
351 config TARGET_APF27
352         bool "Support apf27"
353         select CPU_ARM926EJS
354         select SUPPORT_SPL
355
356 config TARGET_APX4DEVKIT
357         bool "Support apx4devkit"
358         select CPU_ARM926EJS
359         select SUPPORT_SPL
360
361 config TARGET_XFI3
362         bool "Support xfi3"
363         select CPU_ARM926EJS
364         select SUPPORT_SPL
365
366 config TARGET_M28EVK
367         bool "Support m28evk"
368         select CPU_ARM926EJS
369         select SUPPORT_SPL
370
371 config TARGET_MX23EVK
372         bool "Support mx23evk"
373         select CPU_ARM926EJS
374         select SUPPORT_SPL
375         select BOARD_EARLY_INIT_F
376
377 config TARGET_MX28EVK
378         bool "Support mx28evk"
379         select CPU_ARM926EJS
380         select SUPPORT_SPL
381         select BOARD_EARLY_INIT_F
382
383 config TARGET_MX23_OLINUXINO
384         bool "Support mx23_olinuxino"
385         select CPU_ARM926EJS
386         select SUPPORT_SPL
387         select BOARD_EARLY_INIT_F
388
389 config TARGET_BG0900
390         bool "Support bg0900"
391         select CPU_ARM926EJS
392         select SUPPORT_SPL
393
394 config TARGET_SANSA_FUZE_PLUS
395         bool "Support sansa_fuze_plus"
396         select CPU_ARM926EJS
397         select SUPPORT_SPL
398
399 config TARGET_SC_SPS_1
400         bool "Support sc_sps_1"
401         select CPU_ARM926EJS
402         select SUPPORT_SPL
403
404 config ORION5X
405         bool "Marvell Orion"
406         select CPU_ARM926EJS
407
408 config TARGET_SPEAR300
409         bool "Support spear300"
410         select CPU_ARM926EJS
411         select BOARD_EARLY_INIT_F
412
413 config TARGET_SPEAR310
414         bool "Support spear310"
415         select CPU_ARM926EJS
416         select BOARD_EARLY_INIT_F
417
418 config TARGET_SPEAR320
419         bool "Support spear320"
420         select CPU_ARM926EJS
421         select BOARD_EARLY_INIT_F
422
423 config TARGET_SPEAR600
424         bool "Support spear600"
425         select CPU_ARM926EJS
426         select BOARD_EARLY_INIT_F
427
428 config TARGET_STV0991
429         bool "Support stv0991"
430         select CPU_V7
431         select DM
432         select DM_SERIAL
433         select DM_SPI
434         select DM_SPI_FLASH
435         select SPI_FLASH
436
437 config TARGET_X600
438         bool "Support x600"
439         select BOARD_LATE_INIT
440         select CPU_ARM926EJS
441         select SUPPORT_SPL
442
443 config TARGET_IMX31_PHYCORE
444         bool "Support imx31_phycore_eet"
445         select CPU_ARM1136
446         select BOARD_EARLY_INIT_F
447
448 config TARGET_IMX31_PHYCORE_EET
449         bool "Support imx31_phycore_eet"
450         select BOARD_LATE_INIT
451         select CPU_ARM1136
452         select BOARD_EARLY_INIT_F
453
454 config TARGET_MX31ADS
455         bool "Support mx31ads"
456         select CPU_ARM1136
457         select BOARD_EARLY_INIT_F
458
459 config TARGET_MX31PDK
460         bool "Support mx31pdk"
461         select BOARD_LATE_INIT
462         select CPU_ARM1136
463         select SUPPORT_SPL
464         select BOARD_EARLY_INIT_F
465
466 config TARGET_WOODBURN
467         bool "Support woodburn"
468         select CPU_ARM1136
469
470 config TARGET_WOODBURN_SD
471         bool "Support woodburn_sd"
472         select CPU_ARM1136
473         select SUPPORT_SPL
474
475 config TARGET_FLEA3
476         bool "Support flea3"
477         select CPU_ARM1136
478
479 config TARGET_MX35PDK
480         bool "Support mx35pdk"
481         select BOARD_LATE_INIT
482         select CPU_ARM1136
483
484 config ARCH_BCM283X
485         bool "Broadcom BCM283X family"
486         select DM
487         select DM_SERIAL
488         select DM_GPIO
489         select OF_CONTROL
490         imply FAT_WRITE
491
492 config TARGET_VEXPRESS_CA15_TC2
493         bool "Support vexpress_ca15_tc2"
494         select CPU_V7
495         select CPU_V7_HAS_NONSEC
496         select CPU_V7_HAS_VIRT
497
498 config TARGET_VEXPRESS_CA5X2
499         bool "Support vexpress_ca5x2"
500         select CPU_V7
501
502 config TARGET_VEXPRESS_CA9X4
503         bool "Support vexpress_ca9x4"
504         select CPU_V7
505
506 config TARGET_BCM23550_W1D
507         bool "Support bcm23550_w1d"
508         select CPU_V7
509         imply CRC32_VERIFY
510         imply FAT_WRITE
511
512 config TARGET_BCM28155_AP
513         bool "Support bcm28155_ap"
514         select CPU_V7
515         imply CRC32_VERIFY
516         imply FAT_WRITE
517
518 config TARGET_BCMCYGNUS
519         bool "Support bcmcygnus"
520         select CPU_V7
521         imply CRC32_VERIFY
522         imply CMD_HASH
523         imply FAT_WRITE
524         imply HASH_VERIFY
525
526 config TARGET_BCMNSP
527         bool "Support bcmnsp"
528         select CPU_V7
529
530 config TARGET_BCMNS2
531         bool "Support Broadcom Northstar2"
532         select ARM64
533         help
534           Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
535           ARMv8 Cortex-A57 processors targeting a broad range of networking
536           applications
537
538 config ARCH_EXYNOS
539         bool "Samsung EXYNOS"
540         select DM
541         select DM_I2C
542         select DM_SPI_FLASH
543         select DM_SERIAL
544         select DM_SPI
545         select DM_GPIO
546         select DM_KEYBOARD
547         imply FAT_WRITE
548
549 config ARCH_S5PC1XX
550         bool "Samsung S5PC1XX"
551         select CPU_V7
552         select DM
553         select DM_SERIAL
554         select DM_GPIO
555         select DM_I2C
556
557 config ARCH_HIGHBANK
558         bool "Calxeda Highbank"
559         select CPU_V7
560
561 config ARCH_INTEGRATOR
562         bool "ARM Ltd. Integrator family"
563         select DM
564         select DM_SERIAL
565
566 config ARCH_KEYSTONE
567         bool "TI Keystone"
568         select CPU_V7
569         select SUPPORT_SPL
570         select SYS_THUMB_BUILD
571         select CMD_POWEROFF
572         imply FIT
573
574 config ARCH_OMAP2PLUS
575         bool "TI OMAP2+"
576         select CPU_V7
577         select SPL_BOARD_INIT if SPL
578         select SUPPORT_SPL
579         imply FIT
580
581 config ARCH_MESON
582         bool "Amlogic Meson"
583         help
584           Support for the Meson SoC family developed by Amlogic Inc.,
585           targeted at media players and tablet computers. We currently
586           support the S905 (GXBaby) 64-bit SoC.
587
588 config ARCH_MX7ULP
589         bool "NXP MX7ULP"
590         select CPU_V7
591         select ROM_UNIFIED_SECTIONS
592
593 config ARCH_MX7
594         bool "Freescale MX7"
595         select CPU_V7
596         select SYS_FSL_HAS_SEC if SECURE_BOOT
597         select SYS_FSL_SEC_COMPAT_4
598         select SYS_FSL_SEC_LE
599         select BOARD_EARLY_INIT_F
600         select ARCH_MISC_INIT
601
602 config ARCH_MX6
603         bool "Freescale MX6"
604         select CPU_V7
605         select SYS_FSL_HAS_SEC if SECURE_BOOT
606         select SYS_FSL_SEC_COMPAT_4
607         select SYS_FSL_SEC_LE
608         select SYS_THUMB_BUILD if SPL
609
610 config ARCH_MX5
611         bool "Freescale MX5"
612         select CPU_V7
613         select BOARD_EARLY_INIT_F
614
615 config ARCH_RMOBILE
616         bool "Renesas ARM SoCs"
617         select DM
618         select DM_SERIAL
619         select BOARD_EARLY_INIT_F
620         imply FAT_WRITE
621         imply SYS_THUMB_BUILD
622
623 config TARGET_S32V234EVB
624         bool "Support s32v234evb"
625         select ARM64
626         select SYS_FSL_ERRATUM_ESDHC111
627
628 config ARCH_SNAPDRAGON
629         bool "Qualcomm Snapdragon SoCs"
630         select ARM64
631         select DM
632         select DM_GPIO
633         select DM_SERIAL
634         select SPMI
635         select OF_CONTROL
636         select OF_SEPARATE
637
638 config ARCH_SOCFPGA
639         bool "Altera SOCFPGA family"
640         select CPU_V7
641         select SUPPORT_SPL
642         select OF_CONTROL
643         select SPL_OF_CONTROL
644         select DM
645         select DM_SPI_FLASH
646         select DM_SPI
647         select ENABLE_ARM_SOC_BOOT0_HOOK
648         select ARCH_EARLY_INIT_R
649         select ARCH_MISC_INIT
650         select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
651         select SYS_THUMB_BUILD
652         imply CRC32_VERIFY
653         imply FAT_WRITE
654
655 config ARCH_SUNXI
656         bool "Support sunxi (Allwinner) SoCs"
657         select CMD_GPIO
658         select CMD_MMC if MMC
659         select CMD_USB if DISTRO_DEFAULTS
660         select DM
661         select DM_ETH
662         select DM_GPIO
663         select DM_KEYBOARD
664         select DM_SERIAL
665         select DM_USB if DISTRO_DEFAULTS
666         select OF_BOARD_SETUP
667         select OF_CONTROL
668         select OF_SEPARATE
669         select SPL_STACK_R if SPL
670         select SPL_SYS_MALLOC_SIMPLE if SPL
671         select SYS_NS16550
672         select SPL_SYS_THUMB_BUILD if !ARM64
673         select USB if DISTRO_DEFAULTS
674         select USB_STORAGE if DISTRO_DEFAULTS
675         select USB_KEYBOARD if DISTRO_DEFAULTS
676         select USE_TINY_PRINTF
677         imply FAT_WRITE
678         imply PRE_CONSOLE_BUFFER
679         imply SPL_GPIO_SUPPORT
680         imply SPL_LIBCOMMON_SUPPORT
681         imply SPL_LIBDISK_SUPPORT
682         imply SPL_LIBGENERIC_SUPPORT
683         imply SPL_MMC_SUPPORT if MMC
684         imply SPL_POWER_SUPPORT
685         imply SPL_SERIAL_SUPPORT
686
687 config TARGET_TS4600
688         bool "Support TS4600"
689         select CPU_ARM926EJS
690         select SUPPORT_SPL
691
692 config ARCH_VF610
693         bool "Freescale Vybrid"
694         select CPU_V7
695         select SYS_FSL_ERRATUM_ESDHC111
696
697 config ARCH_ZYNQ
698         bool "Xilinx Zynq Platform"
699         select BOARD_LATE_INIT
700         select CPU_V7
701         select SUPPORT_SPL
702         select OF_CONTROL
703         select SPL_BOARD_INIT if SPL
704         select SPL_OF_CONTROL if SPL
705         select DM
706         select DM_ETH
707         select DM_GPIO
708         select SPL_DM if SPL
709         select DM_MMC
710         select DM_MMC_OPS
711         select DM_SPI
712         select DM_SERIAL
713         select DM_SPI_FLASH
714         select SPL_SEPARATE_BSS if SPL
715         select DM_USB if USB
716         select BLK
717         select CLK
718         select SPL_CLK
719         select CLK_ZYNQ
720         imply CMD_CLK
721         imply FAT_WRITE
722
723 config ARCH_ZYNQMP
724         bool "Support Xilinx ZynqMP Platform"
725         select ARM64
726         select BOARD_LATE_INIT
727         select DM
728         select OF_CONTROL
729         select DM_SERIAL
730         select SUPPORT_SPL
731         select CLK
732         select SPL_BOARD_INIT if SPL
733         select SPL_CLK
734         select DM_USB if USB
735         imply FAT_WRITE
736
737 config TEGRA
738         bool "NVIDIA Tegra"
739         imply FAT_WRITE
740
741 config TARGET_VEXPRESS64_AEMV8A
742         bool "Support vexpress_aemv8a"
743         select ARM64
744
745 config TARGET_VEXPRESS64_BASE_FVP
746         bool "Support Versatile Express ARMv8a FVP BASE model"
747         select ARM64
748         select SEMIHOSTING
749
750 config TARGET_VEXPRESS64_BASE_FVP_DRAM
751         bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
752         select ARM64
753         help
754           This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
755           the default config to allow the user to load the images directly into
756           DRAM using model parameters rather than by using semi-hosting to load
757           the files from the host filesystem.
758
759 config TARGET_VEXPRESS64_JUNO
760         bool "Support Versatile Express Juno Development Platform"
761         select ARM64
762
763 config TARGET_LS2080A_EMU
764         bool "Support ls2080a_emu"
765         select ARCH_LS2080A
766         select ARM64
767         select ARMV8_MULTIENTRY
768         select ARCH_MISC_INIT
769         help
770           Support for Freescale LS2080A_EMU platform
771           The LS2080A Development System (EMULATOR) is a pre silicon
772           development platform that supports the QorIQ LS2080A
773           Layerscape Architecture processor.
774
775 config TARGET_LS2080A_SIMU
776         bool "Support ls2080a_simu"
777         select ARCH_LS2080A
778         select ARM64
779         select ARMV8_MULTIENTRY
780         select ARCH_MISC_INIT
781         help
782           Support for Freescale LS2080A_SIMU platform
783           The LS2080A Development System (QDS) is a pre silicon
784           development platform that supports the QorIQ LS2080A
785           Layerscape Architecture processor.
786
787 config TARGET_LS2080AQDS
788         bool "Support ls2080aqds"
789         select ARCH_LS2080A
790         select ARM64
791         select ARMV8_MULTIENTRY
792         select BOARD_LATE_INIT
793         select SUPPORT_SPL
794         select ARCH_MISC_INIT
795         help
796           Support for Freescale LS2080AQDS platform
797           The LS2080A Development System (QDS) is a high-performance
798           development platform that supports the QorIQ LS2080A
799           Layerscape Architecture processor.
800
801 config TARGET_LS2080ARDB
802         bool "Support ls2080ardb"
803         select ARCH_LS2080A
804         select ARM64
805         select ARMV8_MULTIENTRY
806         select BOARD_LATE_INIT
807         select SUPPORT_SPL
808         select ARCH_MISC_INIT
809         help
810           Support for Freescale LS2080ARDB platform.
811           The LS2080A Reference design board (RDB) is a high-performance
812           development platform that supports the QorIQ LS2080A
813           Layerscape Architecture processor.
814
815 config TARGET_LS2081ARDB
816         bool "Support ls2081ardb"
817         select ARCH_LS2080A
818         select ARM64
819         select ARMV8_MULTIENTRY
820         select BOARD_LATE_INIT
821         select SUPPORT_SPL
822         select ARCH_MISC_INIT
823         help
824           Support for Freescale LS2081ARDB platform.
825           The LS2081A Reference design board (RDB) is a high-performance
826           development platform that supports the QorIQ LS2081A/LS2041A
827           Layerscape Architecture processor.
828
829 config TARGET_HIKEY
830         bool "Support HiKey 96boards Consumer Edition Platform"
831         select ARM64
832         select DM
833         select DM_GPIO
834         select DM_SERIAL
835         select OF_CONTROL
836           help
837           Support for HiKey 96boards platform. It features a HI6220
838           SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
839
840 config TARGET_LS1012AQDS
841         bool "Support ls1012aqds"
842         select ARCH_LS1012A
843         select ARM64
844         select BOARD_LATE_INIT
845         help
846           Support for Freescale LS1012AQDS platform.
847           The LS1012A Development System (QDS) is a high-performance
848           development platform that supports the QorIQ LS1012A
849           Layerscape Architecture processor.
850
851 config TARGET_LS1012ARDB
852         bool "Support ls1012ardb"
853         select ARCH_LS1012A
854         select ARM64
855         select BOARD_LATE_INIT
856         help
857           Support for Freescale LS1012ARDB platform.
858           The LS1012A Reference design board (RDB) is a high-performance
859           development platform that supports the QorIQ LS1012A
860           Layerscape Architecture processor.
861
862 config TARGET_LS1012AFRDM
863         bool "Support ls1012afrdm"
864         select ARCH_LS1012A
865         select ARM64
866         help
867           Support for Freescale LS1012AFRDM platform.
868           The LS1012A Freedom  board (FRDM) is a high-performance
869           development platform that supports the QorIQ LS1012A
870           Layerscape Architecture processor.
871
872 config TARGET_LS1021AQDS
873         bool "Support ls1021aqds"
874         select BOARD_LATE_INIT
875         select CPU_V7
876         select CPU_V7_HAS_NONSEC
877         select CPU_V7_HAS_VIRT
878         select SUPPORT_SPL
879         select ARCH_LS1021A
880         select ARCH_SUPPORT_PSCI
881         select LS1_DEEP_SLEEP
882         select SYS_FSL_DDR
883         select BOARD_EARLY_INIT_F
884
885 config TARGET_LS1021ATWR
886         bool "Support ls1021atwr"
887         select BOARD_LATE_INIT
888         select CPU_V7
889         select CPU_V7_HAS_NONSEC
890         select CPU_V7_HAS_VIRT
891         select SUPPORT_SPL
892         select ARCH_LS1021A
893         select ARCH_SUPPORT_PSCI
894         select LS1_DEEP_SLEEP
895         select BOARD_EARLY_INIT_F
896
897 config TARGET_LS1021AIOT
898         bool "Support ls1021aiot"
899         select BOARD_LATE_INIT
900         select CPU_V7
901         select CPU_V7_HAS_NONSEC
902         select CPU_V7_HAS_VIRT
903         select SUPPORT_SPL
904         select ARCH_LS1021A
905         select ARCH_SUPPORT_PSCI
906         help
907           Support for Freescale LS1021AIOT platform.
908           The LS1021A Freescale board (IOT) is a high-performance
909           development platform that supports the QorIQ LS1021A
910           Layerscape Architecture processor.
911
912 config TARGET_LS1043AQDS
913         bool "Support ls1043aqds"
914         select ARCH_LS1043A
915         select ARM64
916         select ARMV8_MULTIENTRY
917         select BOARD_LATE_INIT
918         select SUPPORT_SPL
919         select BOARD_EARLY_INIT_F
920         help
921           Support for Freescale LS1043AQDS platform.
922
923 config TARGET_LS1043ARDB
924         bool "Support ls1043ardb"
925         select ARCH_LS1043A
926         select ARM64
927         select ARMV8_MULTIENTRY
928         select BOARD_LATE_INIT
929         select SUPPORT_SPL
930         select BOARD_EARLY_INIT_F
931         help
932           Support for Freescale LS1043ARDB platform.
933
934 config TARGET_LS1046AQDS
935         bool "Support ls1046aqds"
936         select ARCH_LS1046A
937         select ARM64
938         select ARMV8_MULTIENTRY
939         select BOARD_LATE_INIT
940         select SUPPORT_SPL
941         select DM_SPI_FLASH if DM_SPI
942         select BOARD_EARLY_INIT_F
943         help
944           Support for Freescale LS1046AQDS platform.
945           The LS1046A Development System (QDS) is a high-performance
946           development platform that supports the QorIQ LS1046A
947           Layerscape Architecture processor.
948
949 config TARGET_LS1046ARDB
950         bool "Support ls1046ardb"
951         select ARCH_LS1046A
952         select ARM64
953         select ARMV8_MULTIENTRY
954         select BOARD_LATE_INIT
955         select SUPPORT_SPL
956         select DM_SPI_FLASH if DM_SPI
957         select POWER_MC34VR500
958         select BOARD_EARLY_INIT_F
959         help
960           Support for Freescale LS1046ARDB platform.
961           The LS1046A Reference Design Board (RDB) is a high-performance
962           development platform that supports the QorIQ LS1046A
963           Layerscape Architecture processor.
964
965 config TARGET_H2200
966         bool "Support h2200"
967         select CPU_PXA
968
969 config TARGET_ZIPITZ2
970         bool "Support zipitz2"
971         select CPU_PXA
972
973 config TARGET_COLIBRI_PXA270
974         bool "Support colibri_pxa270"
975         select CPU_PXA
976
977 config ARCH_UNIPHIER
978         bool "Socionext UniPhier SoCs"
979         select BOARD_LATE_INIT
980         select CLK_UNIPHIER
981         select DM
982         select DM_GPIO
983         select DM_I2C
984         select DM_MMC
985         select DM_RESET
986         select DM_SERIAL
987         select DM_USB
988         select OF_CONTROL
989         select OF_LIBFDT
990         select PINCTRL
991         select SPL_BOARD_INIT if SPL
992         select SPL_DM if SPL
993         select SPL_LIBCOMMON_SUPPORT if SPL
994         select SPL_LIBGENERIC_SUPPORT if SPL
995         select SPL_OF_CONTROL if SPL
996         select SPL_PINCTRL if SPL
997         select SUPPORT_SPL
998         imply FAT_WRITE
999         help
1000           Support for UniPhier SoC family developed by Socionext Inc.
1001           (formerly, System LSI Business Division of Panasonic Corporation)
1002
1003 config STM32
1004         bool "Support STM32"
1005         select CPU_V7M
1006         select DM
1007         select DM_SERIAL
1008         select SYS_THUMB_BUILD
1009
1010 config ARCH_STI
1011         bool "Support STMicrolectronics SoCs"
1012         select CPU_V7
1013         select DM
1014         select DM_SERIAL
1015         select BLK
1016         select DM_MMC
1017         select DM_RESET
1018         help
1019           Support for STMicroelectronics STiH407/10 SoC family.
1020           This SoC is used on Linaro 96Board STiH410-B2260
1021
1022 config ARCH_ROCKCHIP
1023         bool "Support Rockchip SoCs"
1024         select OF_CONTROL
1025         select BLK
1026         select DM
1027         select SPL_DM if SPL
1028         select SYS_MALLOC_F
1029         select SYS_THUMB_BUILD if !ARM64
1030         select SPL_SYS_MALLOC_SIMPLE if SPL
1031         select DM_GPIO
1032         select DM_I2C
1033         select DM_MMC
1034         select DM_MMC_OPS
1035         select DM_SERIAL
1036         select DM_SPI
1037         select DM_SPI_FLASH
1038         select DM_USB if USB
1039         select DM_PWM
1040         select DM_REGULATOR
1041         imply FAT_WRITE
1042
1043 config TARGET_THUNDERX_88XX
1044         bool "Support ThunderX 88xx"
1045         select ARM64
1046         select OF_CONTROL
1047         select SYS_CACHE_SHIFT_7
1048
1049 config ARCH_ASPEED
1050         bool "Support Aspeed SoCs"
1051         select OF_CONTROL
1052         select DM
1053
1054 endchoice
1055
1056 source "arch/arm/mach-aspeed/Kconfig"
1057
1058 source "arch/arm/mach-at91/Kconfig"
1059
1060 source "arch/arm/mach-bcm283x/Kconfig"
1061
1062 source "arch/arm/mach-davinci/Kconfig"
1063
1064 source "arch/arm/mach-exynos/Kconfig"
1065
1066 source "arch/arm/mach-highbank/Kconfig"
1067
1068 source "arch/arm/mach-integrator/Kconfig"
1069
1070 source "arch/arm/mach-keystone/Kconfig"
1071
1072 source "arch/arm/mach-kirkwood/Kconfig"
1073
1074 source "arch/arm/mach-mvebu/Kconfig"
1075
1076 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1077
1078 source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1079
1080 source "arch/arm/cpu/armv7/mx7/Kconfig"
1081
1082 source "arch/arm/cpu/armv7/mx6/Kconfig"
1083
1084 source "arch/arm/cpu/armv7/mx5/Kconfig"
1085
1086 source "arch/arm/mach-omap2/Kconfig"
1087
1088 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1089
1090 source "arch/arm/mach-orion5x/Kconfig"
1091
1092 source "arch/arm/mach-rmobile/Kconfig"
1093
1094 source "arch/arm/mach-meson/Kconfig"
1095
1096 source "arch/arm/mach-rockchip/Kconfig"
1097
1098 source "arch/arm/mach-s5pc1xx/Kconfig"
1099
1100 source "arch/arm/mach-snapdragon/Kconfig"
1101
1102 source "arch/arm/mach-socfpga/Kconfig"
1103
1104 source "arch/arm/mach-sti/Kconfig"
1105
1106 source "arch/arm/mach-stm32/Kconfig"
1107
1108 source "arch/arm/mach-sunxi/Kconfig"
1109
1110 source "arch/arm/mach-tegra/Kconfig"
1111
1112 source "arch/arm/mach-uniphier/Kconfig"
1113
1114 source "arch/arm/cpu/armv7/vf610/Kconfig"
1115
1116 source "arch/arm/mach-zynq/Kconfig"
1117
1118 source "arch/arm/cpu/armv7/Kconfig"
1119
1120 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1121
1122 source "arch/arm/cpu/armv8/Kconfig"
1123
1124 source "arch/arm/imx-common/Kconfig"
1125
1126 source "board/aries/m28evk/Kconfig"
1127 source "board/bosch/shc/Kconfig"
1128 source "board/CarMediaLab/flea3/Kconfig"
1129 source "board/Marvell/aspenite/Kconfig"
1130 source "board/Marvell/gplugd/Kconfig"
1131 source "board/armadeus/apf27/Kconfig"
1132 source "board/armltd/vexpress/Kconfig"
1133 source "board/armltd/vexpress64/Kconfig"
1134 source "board/bluegiga/apx4devkit/Kconfig"
1135 source "board/broadcom/bcm23550_w1d/Kconfig"
1136 source "board/broadcom/bcm28155_ap/Kconfig"
1137 source "board/broadcom/bcmcygnus/Kconfig"
1138 source "board/broadcom/bcmnsp/Kconfig"
1139 source "board/broadcom/bcmns2/Kconfig"
1140 source "board/cavium/thunderx/Kconfig"
1141 source "board/cirrus/edb93xx/Kconfig"
1142 source "board/creative/xfi3/Kconfig"
1143 source "board/freescale/ls2080a/Kconfig"
1144 source "board/freescale/ls2080aqds/Kconfig"
1145 source "board/freescale/ls2080ardb/Kconfig"
1146 source "board/freescale/ls1021aqds/Kconfig"
1147 source "board/freescale/ls1043aqds/Kconfig"
1148 source "board/freescale/ls1021atwr/Kconfig"
1149 source "board/freescale/ls1021aiot/Kconfig"
1150 source "board/freescale/ls1046aqds/Kconfig"
1151 source "board/freescale/ls1043ardb/Kconfig"
1152 source "board/freescale/ls1046ardb/Kconfig"
1153 source "board/freescale/ls1012aqds/Kconfig"
1154 source "board/freescale/ls1012ardb/Kconfig"
1155 source "board/freescale/ls1012afrdm/Kconfig"
1156 source "board/freescale/mx23evk/Kconfig"
1157 source "board/freescale/mx25pdk/Kconfig"
1158 source "board/freescale/mx28evk/Kconfig"
1159 source "board/freescale/mx31ads/Kconfig"
1160 source "board/freescale/mx31pdk/Kconfig"
1161 source "board/freescale/mx35pdk/Kconfig"
1162 source "board/freescale/s32v234evb/Kconfig"
1163 source "board/gdsys/a38x/Kconfig"
1164 source "board/grinn/chiliboard/Kconfig"
1165 source "board/gumstix/pepper/Kconfig"
1166 source "board/h2200/Kconfig"
1167 source "board/hisilicon/hikey/Kconfig"
1168 source "board/imx31_phycore/Kconfig"
1169 source "board/isee/igep003x/Kconfig"
1170 source "board/olimex/mx23_olinuxino/Kconfig"
1171 source "board/phytec/pcm051/Kconfig"
1172 source "board/ppcag/bg0900/Kconfig"
1173 source "board/sandisk/sansa_fuze_plus/Kconfig"
1174 source "board/schulercontrol/sc_sps_1/Kconfig"
1175 source "board/silica/pengwyn/Kconfig"
1176 source "board/spear/spear300/Kconfig"
1177 source "board/spear/spear310/Kconfig"
1178 source "board/spear/spear320/Kconfig"
1179 source "board/spear/spear600/Kconfig"
1180 source "board/spear/x600/Kconfig"
1181 source "board/st/stv0991/Kconfig"
1182 source "board/syteco/zmx25/Kconfig"
1183 source "board/tcl/sl50/Kconfig"
1184 source "board/birdland/bav335x/Kconfig"
1185 source "board/timll/devkit3250/Kconfig"
1186 source "board/toradex/colibri_pxa270/Kconfig"
1187 source "board/technologic/ts4600/Kconfig"
1188 source "board/vscom/baltos/Kconfig"
1189 source "board/woodburn/Kconfig"
1190 source "board/work-microwave/work_92105/Kconfig"
1191 source "board/zipitz2/Kconfig"
1192
1193 source "arch/arm/Kconfig.debug"
1194
1195 endmenu