xref: /openbmc/u-boot/arch/arm/Kconfig (revision d5abcf94)
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 ARCH_EXYNOS
563	bool "Samsung EXYNOS"
564	select DM
565	select DM_I2C
566	select DM_SPI_FLASH
567	select DM_SERIAL
568	select DM_SPI
569	select DM_GPIO
570	select DM_KEYBOARD
571
572config ARCH_S5PC1XX
573	bool "Samsung S5PC1XX"
574	select CPU_V7
575	select DM
576	select DM_SERIAL
577	select DM_GPIO
578	select DM_I2C
579
580config ARCH_HIGHBANK
581	bool "Calxeda Highbank"
582	select CPU_V7
583
584config ARCH_INTEGRATOR
585	bool "ARM Ltd. Integrator family"
586	select DM
587	select DM_SERIAL
588
589config ARCH_KEYSTONE
590	bool "TI Keystone"
591	select CPU_V7
592	select SUPPORT_SPL
593	select SYS_THUMB_BUILD
594	select CMD_POWEROFF
595
596config ARCH_MESON
597	bool "Amlogic Meson"
598	help
599	  Support for the Meson SoC family developed by Amlogic Inc.,
600	  targeted at media players and tablet computers. We currently
601	  support the S905 (GXBaby) 64-bit SoC.
602
603config ARCH_MX7ULP
604        bool "NXP MX7ULP"
605        select CPU_V7
606	select ROM_UNIFIED_SECTIONS
607
608config ARCH_MX7
609	bool "Freescale MX7"
610	select CPU_V7
611	select SYS_FSL_HAS_SEC if SECURE_BOOT
612	select SYS_FSL_SEC_COMPAT_4
613	select SYS_FSL_SEC_LE
614	select BOARD_EARLY_INIT_F
615	select ARCH_MISC_INIT
616
617config ARCH_MX6
618	bool "Freescale MX6"
619	select CPU_V7
620	select SYS_FSL_HAS_SEC if SECURE_BOOT
621	select SYS_FSL_SEC_COMPAT_4
622	select SYS_FSL_SEC_LE
623	select SYS_THUMB_BUILD if SPL
624
625config ARCH_MX5
626	bool "Freescale MX5"
627	select CPU_V7
628	select BOARD_EARLY_INIT_F
629
630config TARGET_M53EVK
631	bool "Support m53evk"
632	select CPU_V7
633	select SUPPORT_SPL
634	select BOARD_EARLY_INIT_F
635
636config TARGET_MX51EVK
637	bool "Support mx51evk"
638	select BOARD_LATE_INIT
639	select CPU_V7
640	select BOARD_EARLY_INIT_F
641
642config TARGET_MX53ARD
643	bool "Support mx53ard"
644	select CPU_V7
645	select BOARD_EARLY_INIT_F
646
647config TARGET_MX53EVK
648	bool "Support mx53evk"
649	select BOARD_LATE_INIT
650	select CPU_V7
651	select BOARD_EARLY_INIT_F
652
653config TARGET_MX53LOCO
654	bool "Support mx53loco"
655	select BOARD_LATE_INIT
656	select CPU_V7
657	select BOARD_EARLY_INIT_F
658
659config TARGET_MX53SMD
660	bool "Support mx53smd"
661	select CPU_V7
662	select BOARD_EARLY_INIT_F
663
664config OMAP34XX
665	bool "OMAP34XX SoC"
666	select ARCH_OMAP2
667	select ARM_ERRATA_430973
668	select ARM_ERRATA_454179
669	select ARM_ERRATA_621766
670	select ARM_ERRATA_725233
671	select USE_TINY_PRINTF
672	imply SPL_EXT_SUPPORT
673	imply SPL_FAT_SUPPORT
674	imply SPL_GPIO_SUPPORT
675	imply SPL_I2C_SUPPORT
676	imply SPL_LIBCOMMON_SUPPORT
677	imply SPL_LIBDISK_SUPPORT
678	imply SPL_LIBGENERIC_SUPPORT
679	imply SPL_MMC_SUPPORT
680	imply SPL_NAND_SUPPORT
681	imply SPL_POWER_SUPPORT
682	imply SPL_SERIAL_SUPPORT
683	imply SYS_THUMB_BUILD
684
685config OMAP44XX
686	bool "OMAP44XX SoC"
687	select ARCH_OMAP2
688	select USE_TINY_PRINTF
689	imply SPL_DISPLAY_PRINT
690	imply SPL_EXT_SUPPORT
691	imply SPL_FAT_SUPPORT
692	imply SPL_GPIO_SUPPORT
693	imply SPL_I2C_SUPPORT
694	imply SPL_LIBCOMMON_SUPPORT
695	imply SPL_LIBDISK_SUPPORT
696	imply SPL_LIBGENERIC_SUPPORT
697	imply SPL_MMC_SUPPORT
698	imply SPL_NAND_SUPPORT
699	imply SPL_POWER_SUPPORT
700	imply SPL_SERIAL_SUPPORT
701	imply SYS_THUMB_BUILD
702
703config OMAP54XX
704	bool "OMAP54XX SoC"
705	select ARCH_OMAP2
706	select ARM_ERRATA_798870
707	select SYS_THUMB_BUILD
708	imply SPL_DISPLAY_PRINT
709	imply SPL_ENV_SUPPORT
710	imply SPL_EXT_SUPPORT
711	imply SPL_FAT_SUPPORT
712	imply SPL_GPIO_SUPPORT
713	imply SPL_I2C_SUPPORT
714	imply SPL_LIBCOMMON_SUPPORT
715	imply SPL_LIBDISK_SUPPORT
716	imply SPL_LIBGENERIC_SUPPORT
717	imply SPL_MMC_SUPPORT
718	imply SPL_NAND_SUPPORT
719	imply SPL_POWER_SUPPORT
720	imply SPL_SERIAL_SUPPORT
721
722config AM43XX
723	bool "AM43XX SoC"
724	select ARCH_OMAP2
725	imply SYS_THUMB_BUILD
726	help
727	  Support for AM43xx SOC from Texas Instruments.
728	  The AM43xx high performance SOC features a Cortex-A9
729	  ARM core, a quad core PRU-ICSS for industrial Ethernet
730	  protocols, dual camera support, optional 3D graphics
731	  and an optional customer programmable secure boot.
732
733config AM33XX
734	bool "AM33XX SoC"
735	select ARCH_OMAP2
736	imply SYS_THUMB_BUILD
737	help
738	  Support for AM335x SOC from Texas Instruments.
739	  The AM335x high performance SOC features a Cortex-A8
740	  ARM core, a dual core PRU-ICSS for industrial Ethernet
741	  protocols, optional 3D graphics and an optional customer
742	  programmable secure boot.
743
744config ARCH_RMOBILE
745	bool "Renesas ARM SoCs"
746	select DM
747	select DM_SERIAL
748	select BOARD_EARLY_INIT_F
749	imply SYS_THUMB_BUILD
750
751config TARGET_S32V234EVB
752	bool "Support s32v234evb"
753	select ARM64
754	select SYS_FSL_ERRATUM_ESDHC111
755
756config ARCH_SNAPDRAGON
757	bool "Qualcomm Snapdragon SoCs"
758	select ARM64
759	select DM
760	select DM_GPIO
761	select DM_SERIAL
762	select SPMI
763	select OF_CONTROL
764	select OF_SEPARATE
765
766config ARCH_SOCFPGA
767	bool "Altera SOCFPGA family"
768	select CPU_V7
769	select SUPPORT_SPL
770	select OF_CONTROL
771	select SPL_OF_CONTROL
772	select DM
773	select DM_SPI_FLASH
774	select DM_SPI
775	select ENABLE_ARM_SOC_BOOT0_HOOK
776	select ARCH_EARLY_INIT_R
777	select ARCH_MISC_INIT
778	select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
779	select SYS_THUMB_BUILD
780
781config TARGET_CM_T43
782	bool "Support cm_t43"
783	select ARCH_OMAP2
784
785config ARCH_SUNXI
786	bool "Support sunxi (Allwinner) SoCs"
787	select CMD_GPIO
788	select CMD_MMC if MMC
789	select CMD_USB if DISTRO_DEFAULTS
790	select DM
791	select DM_ETH
792	select DM_GPIO
793	select DM_KEYBOARD
794	select DM_SERIAL
795	select DM_USB if DISTRO_DEFAULTS
796	select OF_BOARD_SETUP
797	select OF_CONTROL
798	select OF_SEPARATE
799	select SPL_STACK_R if SUPPORT_SPL
800	select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
801	select SYS_NS16550
802	select SPL_SYS_THUMB_BUILD if !ARM64
803	select USB if DISTRO_DEFAULTS
804	select USB_STORAGE if DISTRO_DEFAULTS
805	select USB_KEYBOARD if DISTRO_DEFAULTS
806	select USE_TINY_PRINTF
807
808config TARGET_TS4600
809	bool "Support TS4600"
810	select CPU_ARM926EJS
811	select SUPPORT_SPL
812
813config TARGET_TS4800
814	bool "Support TS4800"
815	select CPU_V7
816	select SYS_FSL_ERRATUM_ESDHC_A001
817
818config ARCH_VF610
819	bool "Freescale Vybrid"
820	select CPU_V7
821	select SYS_FSL_ERRATUM_ESDHC111
822
823config ARCH_ZYNQ
824	bool "Xilinx Zynq Platform"
825	select BOARD_LATE_INIT
826	select CPU_V7
827	select SUPPORT_SPL
828	select OF_CONTROL
829	select SPL_OF_CONTROL if SPL
830	select DM
831	select DM_ETH
832	select DM_GPIO
833	select SPL_DM if SPL
834	select DM_MMC
835	select DM_MMC_OPS
836	select DM_SPI
837	select DM_SERIAL
838	select DM_SPI_FLASH
839	select SPL_SEPARATE_BSS if SPL
840	select DM_USB if USB
841	select BLK
842	select CLK
843	select SPL_CLK
844	select CLK_ZYNQ
845
846config ARCH_ZYNQMP
847	bool "Support Xilinx ZynqMP Platform"
848	select ARM64
849	select BOARD_LATE_INIT
850	select DM
851	select OF_CONTROL
852	select DM_SERIAL
853	select SUPPORT_SPL
854	select CLK
855	select SPL_CLK
856	select DM_USB if USB
857
858config TEGRA
859	bool "NVIDIA Tegra"
860
861config TARGET_VEXPRESS64_AEMV8A
862	bool "Support vexpress_aemv8a"
863	select ARM64
864
865config TARGET_VEXPRESS64_BASE_FVP
866	bool "Support Versatile Express ARMv8a FVP BASE model"
867	select ARM64
868	select SEMIHOSTING
869
870config TARGET_VEXPRESS64_BASE_FVP_DRAM
871	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
872	select ARM64
873	help
874	  This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
875	  the default config to allow the user to load the images directly into
876	  DRAM using model parameters rather than by using semi-hosting to load
877	  the files from the host filesystem.
878
879config TARGET_VEXPRESS64_JUNO
880	bool "Support Versatile Express Juno Development Platform"
881	select ARM64
882
883config TARGET_LS2080A_EMU
884	bool "Support ls2080a_emu"
885	select ARCH_LS2080A
886	select ARM64
887	select ARMV8_MULTIENTRY
888	select ARCH_MISC_INIT
889	help
890	  Support for Freescale LS2080A_EMU platform
891	  The LS2080A Development System (EMULATOR) is a pre silicon
892	  development platform that supports the QorIQ LS2080A
893	  Layerscape Architecture processor.
894
895config TARGET_LS2080A_SIMU
896	bool "Support ls2080a_simu"
897	select ARCH_LS2080A
898	select ARM64
899	select ARMV8_MULTIENTRY
900	select ARCH_MISC_INIT
901	help
902	  Support for Freescale LS2080A_SIMU platform
903	  The LS2080A Development System (QDS) is a pre silicon
904	  development platform that supports the QorIQ LS2080A
905	  Layerscape Architecture processor.
906
907config TARGET_LS2080AQDS
908	bool "Support ls2080aqds"
909	select ARCH_LS2080A
910	select ARM64
911	select ARMV8_MULTIENTRY
912	select BOARD_LATE_INIT
913	select SUPPORT_SPL
914	select ARCH_MISC_INIT
915	help
916	  Support for Freescale LS2080AQDS platform
917	  The LS2080A Development System (QDS) is a high-performance
918	  development platform that supports the QorIQ LS2080A
919	  Layerscape Architecture processor.
920
921config TARGET_LS2080ARDB
922	bool "Support ls2080ardb"
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 LS2080ARDB platform.
931	  The LS2080A Reference design board (RDB) is a high-performance
932	  development platform that supports the QorIQ LS2080A
933	  Layerscape Architecture processor.
934
935config TARGET_HIKEY
936	bool "Support HiKey 96boards Consumer Edition Platform"
937	select ARM64
938	select DM
939	select DM_GPIO
940	select DM_SERIAL
941	select OF_CONTROL
942	  help
943	  Support for HiKey 96boards platform. It features a HI6220
944	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
945
946config TARGET_LS1012AQDS
947	bool "Support ls1012aqds"
948	select ARCH_LS1012A
949	select ARM64
950	select BOARD_LATE_INIT
951	help
952	  Support for Freescale LS1012AQDS platform.
953	  The LS1012A Development System (QDS) is a high-performance
954	  development platform that supports the QorIQ LS1012A
955	  Layerscape Architecture processor.
956
957config TARGET_LS1012ARDB
958	bool "Support ls1012ardb"
959	select ARCH_LS1012A
960	select ARM64
961	select BOARD_LATE_INIT
962	help
963	  Support for Freescale LS1012ARDB platform.
964	  The LS1012A Reference design board (RDB) is a high-performance
965	  development platform that supports the QorIQ LS1012A
966	  Layerscape Architecture processor.
967
968config TARGET_LS1012AFRDM
969	bool "Support ls1012afrdm"
970	select ARCH_LS1012A
971	select ARM64
972	help
973	  Support for Freescale LS1012AFRDM platform.
974	  The LS1012A Freedom  board (FRDM) is a high-performance
975	  development platform that supports the QorIQ LS1012A
976	  Layerscape Architecture processor.
977
978config TARGET_LS1021AQDS
979	bool "Support ls1021aqds"
980	select BOARD_LATE_INIT
981	select CPU_V7
982	select CPU_V7_HAS_NONSEC
983	select CPU_V7_HAS_VIRT
984	select SUPPORT_SPL
985	select ARCH_LS1021A
986	select ARCH_SUPPORT_PSCI
987	select LS1_DEEP_SLEEP
988	select SYS_FSL_DDR
989	select BOARD_EARLY_INIT_F
990
991config TARGET_LS1021ATWR
992	bool "Support ls1021atwr"
993	select BOARD_LATE_INIT
994	select CPU_V7
995	select CPU_V7_HAS_NONSEC
996	select CPU_V7_HAS_VIRT
997	select SUPPORT_SPL
998	select ARCH_LS1021A
999	select ARCH_SUPPORT_PSCI
1000	select LS1_DEEP_SLEEP
1001	select BOARD_EARLY_INIT_F
1002
1003config TARGET_LS1021AIOT
1004	bool "Support ls1021aiot"
1005	select BOARD_LATE_INIT
1006	select CPU_V7
1007	select CPU_V7_HAS_NONSEC
1008	select CPU_V7_HAS_VIRT
1009	select SUPPORT_SPL
1010	select ARCH_LS1021A
1011	select ARCH_SUPPORT_PSCI
1012	help
1013	  Support for Freescale LS1021AIOT platform.
1014	  The LS1021A Freescale board (IOT) is a high-performance
1015	  development platform that supports the QorIQ LS1021A
1016	  Layerscape Architecture processor.
1017
1018config TARGET_LS1043AQDS
1019	bool "Support ls1043aqds"
1020	select ARCH_LS1043A
1021	select ARM64
1022	select ARMV8_MULTIENTRY
1023	select BOARD_LATE_INIT
1024	select SUPPORT_SPL
1025	select BOARD_EARLY_INIT_F
1026	help
1027	  Support for Freescale LS1043AQDS platform.
1028
1029config TARGET_LS1043ARDB
1030	bool "Support ls1043ardb"
1031	select ARCH_LS1043A
1032	select ARM64
1033	select ARMV8_MULTIENTRY
1034	select BOARD_LATE_INIT
1035	select SUPPORT_SPL
1036	select BOARD_EARLY_INIT_F
1037	help
1038	  Support for Freescale LS1043ARDB platform.
1039
1040config TARGET_LS1046AQDS
1041	bool "Support ls1046aqds"
1042	select ARCH_LS1046A
1043	select ARM64
1044	select ARMV8_MULTIENTRY
1045	select BOARD_LATE_INIT
1046	select SUPPORT_SPL
1047	select DM_SPI_FLASH if DM_SPI
1048	select BOARD_EARLY_INIT_F
1049	help
1050	  Support for Freescale LS1046AQDS platform.
1051	  The LS1046A Development System (QDS) is a high-performance
1052	  development platform that supports the QorIQ LS1046A
1053	  Layerscape Architecture processor.
1054
1055config TARGET_LS1046ARDB
1056	bool "Support ls1046ardb"
1057	select ARCH_LS1046A
1058	select ARM64
1059	select ARMV8_MULTIENTRY
1060	select BOARD_LATE_INIT
1061	select SUPPORT_SPL
1062	select DM_SPI_FLASH if DM_SPI
1063	select POWER_MC34VR500
1064	select BOARD_EARLY_INIT_F
1065	help
1066	  Support for Freescale LS1046ARDB platform.
1067	  The LS1046A Reference Design Board (RDB) is a high-performance
1068	  development platform that supports the QorIQ LS1046A
1069	  Layerscape Architecture processor.
1070
1071config TARGET_H2200
1072	bool "Support h2200"
1073	select CPU_PXA
1074
1075config TARGET_ZIPITZ2
1076	bool "Support zipitz2"
1077	select CPU_PXA
1078
1079config TARGET_COLIBRI_PXA270
1080	bool "Support colibri_pxa270"
1081	select CPU_PXA
1082
1083config ARCH_UNIPHIER
1084	bool "Socionext UniPhier SoCs"
1085	select BOARD_LATE_INIT
1086	select CLK_UNIPHIER
1087	select DM
1088	select DM_GPIO
1089	select DM_I2C
1090	select DM_MMC
1091	select DM_RESET
1092	select DM_SERIAL
1093	select DM_USB
1094	select OF_CONTROL
1095	select OF_LIBFDT
1096	select PINCTRL
1097	select SPL_DM if SPL
1098	select SPL_LIBCOMMON_SUPPORT if SPL
1099	select SPL_LIBGENERIC_SUPPORT if SPL
1100	select SPL_OF_CONTROL if SPL
1101	select SPL_PINCTRL if SPL
1102	select SUPPORT_SPL
1103	help
1104	  Support for UniPhier SoC family developed by Socionext Inc.
1105	  (formerly, System LSI Business Division of Panasonic Corporation)
1106
1107config STM32
1108	bool "Support STM32"
1109	select CPU_V7M
1110	select DM
1111	select DM_SERIAL
1112	select SYS_THUMB_BUILD
1113
1114config ARCH_STI
1115	bool "Support STMicrolectronics SoCs"
1116	select CPU_V7
1117	select DM
1118	select DM_SERIAL
1119	select BLK
1120	select DM_MMC
1121	help
1122	  Support for STMicroelectronics STiH407/10 SoC family.
1123	  This SoC is used on Linaro 96Board STiH410-B2260
1124
1125config ARCH_ROCKCHIP
1126	bool "Support Rockchip SoCs"
1127	select OF_CONTROL
1128	select BLK
1129	select DM
1130	select SPL_DM if SPL
1131	select SYS_MALLOC_F
1132	select SYS_THUMB_BUILD if !ARM64
1133	select SPL_SYS_MALLOC_SIMPLE if SPL
1134	select DM_GPIO
1135	select DM_I2C
1136	select DM_MMC
1137	select DM_MMC_OPS
1138	select DM_SERIAL
1139	select DM_SPI
1140	select DM_SPI_FLASH
1141	select DM_USB if USB
1142	select DM_PWM
1143	select DM_REGULATOR
1144
1145config TARGET_THUNDERX_88XX
1146	bool "Support ThunderX 88xx"
1147	select ARM64
1148	select OF_CONTROL
1149	select SYS_CACHE_SHIFT_7
1150
1151config ARCH_ASPEED
1152	bool "Support Aspeed SoCs"
1153	select OF_CONTROL
1154	select DM
1155
1156endchoice
1157
1158source "arch/arm/mach-aspeed/Kconfig"
1159
1160source "arch/arm/mach-at91/Kconfig"
1161
1162source "arch/arm/mach-bcm283x/Kconfig"
1163
1164source "arch/arm/mach-davinci/Kconfig"
1165
1166source "arch/arm/mach-exynos/Kconfig"
1167
1168source "arch/arm/mach-highbank/Kconfig"
1169
1170source "arch/arm/mach-integrator/Kconfig"
1171
1172source "arch/arm/mach-keystone/Kconfig"
1173
1174source "arch/arm/mach-kirkwood/Kconfig"
1175
1176source "arch/arm/mach-mvebu/Kconfig"
1177
1178source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1179
1180source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1181
1182source "arch/arm/cpu/armv7/mx7/Kconfig"
1183
1184source "arch/arm/cpu/armv7/mx6/Kconfig"
1185
1186source "arch/arm/cpu/armv7/mx5/Kconfig"
1187
1188source "arch/arm/mach-omap2/Kconfig"
1189
1190source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1191
1192source "arch/arm/mach-orion5x/Kconfig"
1193
1194source "arch/arm/mach-rmobile/Kconfig"
1195
1196source "arch/arm/mach-meson/Kconfig"
1197
1198source "arch/arm/mach-rockchip/Kconfig"
1199
1200source "arch/arm/mach-s5pc1xx/Kconfig"
1201
1202source "arch/arm/mach-snapdragon/Kconfig"
1203
1204source "arch/arm/mach-socfpga/Kconfig"
1205
1206source "arch/arm/mach-sti/Kconfig"
1207
1208source "arch/arm/mach-stm32/Kconfig"
1209
1210source "arch/arm/mach-tegra/Kconfig"
1211
1212source "arch/arm/mach-uniphier/Kconfig"
1213
1214source "arch/arm/cpu/armv7/vf610/Kconfig"
1215
1216source "arch/arm/mach-zynq/Kconfig"
1217
1218source "arch/arm/cpu/armv7/Kconfig"
1219
1220source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1221
1222source "arch/arm/cpu/armv8/Kconfig"
1223
1224source "arch/arm/imx-common/Kconfig"
1225
1226source "board/bosch/shc/Kconfig"
1227source "board/BuR/brxre1/Kconfig"
1228source "board/BuR/brppt1/Kconfig"
1229source "board/CarMediaLab/flea3/Kconfig"
1230source "board/Marvell/aspenite/Kconfig"
1231source "board/Marvell/gplugd/Kconfig"
1232source "board/armadeus/apf27/Kconfig"
1233source "board/armltd/vexpress/Kconfig"
1234source "board/armltd/vexpress64/Kconfig"
1235source "board/bluegiga/apx4devkit/Kconfig"
1236source "board/broadcom/bcm23550_w1d/Kconfig"
1237source "board/broadcom/bcm28155_ap/Kconfig"
1238source "board/broadcom/bcmcygnus/Kconfig"
1239source "board/broadcom/bcmnsp/Kconfig"
1240source "board/cavium/thunderx/Kconfig"
1241source "board/cirrus/edb93xx/Kconfig"
1242source "board/compulab/cm_t335/Kconfig"
1243source "board/compulab/cm_t43/Kconfig"
1244source "board/creative/xfi3/Kconfig"
1245source "board/denx/m28evk/Kconfig"
1246source "board/denx/m53evk/Kconfig"
1247source "board/freescale/ls2080a/Kconfig"
1248source "board/freescale/ls2080aqds/Kconfig"
1249source "board/freescale/ls2080ardb/Kconfig"
1250source "board/freescale/ls1021aqds/Kconfig"
1251source "board/freescale/ls1043aqds/Kconfig"
1252source "board/freescale/ls1021atwr/Kconfig"
1253source "board/freescale/ls1021aiot/Kconfig"
1254source "board/freescale/ls1046aqds/Kconfig"
1255source "board/freescale/ls1043ardb/Kconfig"
1256source "board/freescale/ls1046ardb/Kconfig"
1257source "board/freescale/ls1012aqds/Kconfig"
1258source "board/freescale/ls1012ardb/Kconfig"
1259source "board/freescale/ls1012afrdm/Kconfig"
1260source "board/freescale/mx23evk/Kconfig"
1261source "board/freescale/mx25pdk/Kconfig"
1262source "board/freescale/mx28evk/Kconfig"
1263source "board/freescale/mx31ads/Kconfig"
1264source "board/freescale/mx31pdk/Kconfig"
1265source "board/freescale/mx35pdk/Kconfig"
1266source "board/freescale/mx51evk/Kconfig"
1267source "board/freescale/mx53ard/Kconfig"
1268source "board/freescale/mx53evk/Kconfig"
1269source "board/freescale/mx53loco/Kconfig"
1270source "board/freescale/mx53smd/Kconfig"
1271source "board/freescale/s32v234evb/Kconfig"
1272source "board/grinn/chiliboard/Kconfig"
1273source "board/gumstix/pepper/Kconfig"
1274source "board/h2200/Kconfig"
1275source "board/hisilicon/hikey/Kconfig"
1276source "board/imx31_phycore/Kconfig"
1277source "board/isee/igep0033/Kconfig"
1278source "board/olimex/mx23_olinuxino/Kconfig"
1279source "board/phytec/pcm051/Kconfig"
1280source "board/ppcag/bg0900/Kconfig"
1281source "board/sandisk/sansa_fuze_plus/Kconfig"
1282source "board/schulercontrol/sc_sps_1/Kconfig"
1283source "board/siemens/draco/Kconfig"
1284source "board/siemens/pxm2/Kconfig"
1285source "board/siemens/rut/Kconfig"
1286source "board/silica/pengwyn/Kconfig"
1287source "board/spear/spear300/Kconfig"
1288source "board/spear/spear310/Kconfig"
1289source "board/spear/spear320/Kconfig"
1290source "board/spear/spear600/Kconfig"
1291source "board/spear/x600/Kconfig"
1292source "board/st/stv0991/Kconfig"
1293source "board/sunxi/Kconfig"
1294source "board/syteco/zmx25/Kconfig"
1295source "board/tcl/sl50/Kconfig"
1296source "board/ti/am335x/Kconfig"
1297source "board/ti/am43xx/Kconfig"
1298source "board/birdland/bav335x/Kconfig"
1299source "board/ti/ti814x/Kconfig"
1300source "board/ti/ti816x/Kconfig"
1301source "board/timll/devkit3250/Kconfig"
1302source "board/toradex/colibri_pxa270/Kconfig"
1303source "board/technologic/ts4600/Kconfig"
1304source "board/technologic/ts4800/Kconfig"
1305source "board/vscom/baltos/Kconfig"
1306source "board/woodburn/Kconfig"
1307source "board/work-microwave/work_92105/Kconfig"
1308source "board/zipitz2/Kconfig"
1309
1310source "arch/arm/Kconfig.debug"
1311
1312endmenu
1313