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