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