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