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