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