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