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