xref: /openbmc/u-boot/arch/arm/Kconfig (revision 089df18b)
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
481config TARGET_VEXPRESS_CA15_TC2
482	bool "Support vexpress_ca15_tc2"
483	select CPU_V7
484	select CPU_V7_HAS_NONSEC
485	select CPU_V7_HAS_VIRT
486
487config TARGET_VEXPRESS_CA5X2
488	bool "Support vexpress_ca5x2"
489	select CPU_V7
490
491config TARGET_VEXPRESS_CA9X4
492	bool "Support vexpress_ca9x4"
493	select CPU_V7
494
495config TARGET_BCM23550_W1D
496	bool "Support bcm23550_w1d"
497	select CPU_V7
498
499config TARGET_BCM28155_AP
500	bool "Support bcm28155_ap"
501	select CPU_V7
502
503config TARGET_BCMCYGNUS
504	bool "Support bcmcygnus"
505	select CPU_V7
506
507config TARGET_BCMNSP
508	bool "Support bcmnsp"
509	select CPU_V7
510
511config TARGET_BCMNS2
512	bool "Support Broadcom Northstar2"
513	select ARM64
514	help
515	  Support for Broadcom Northstar 2 SoCs.  NS2 is a quad-core 64-bit
516	  ARMv8 Cortex-A57 processors targeting a broad range of networking
517	  applications
518
519config ARCH_EXYNOS
520	bool "Samsung EXYNOS"
521	select DM
522	select DM_I2C
523	select DM_SPI_FLASH
524	select DM_SERIAL
525	select DM_SPI
526	select DM_GPIO
527	select DM_KEYBOARD
528
529config ARCH_S5PC1XX
530	bool "Samsung S5PC1XX"
531	select CPU_V7
532	select DM
533	select DM_SERIAL
534	select DM_GPIO
535	select DM_I2C
536
537config ARCH_HIGHBANK
538	bool "Calxeda Highbank"
539	select CPU_V7
540
541config ARCH_INTEGRATOR
542	bool "ARM Ltd. Integrator family"
543	select DM
544	select DM_SERIAL
545
546config ARCH_KEYSTONE
547	bool "TI Keystone"
548	select CPU_V7
549	select SUPPORT_SPL
550	select SYS_THUMB_BUILD
551	select CMD_POWEROFF
552	imply FIT
553
554config ARCH_OMAP2PLUS
555	bool "TI OMAP2+"
556	select CPU_V7
557	select SPL_BOARD_INIT if SPL
558	select SUPPORT_SPL
559	imply FIT
560
561config ARCH_MESON
562	bool "Amlogic Meson"
563	help
564	  Support for the Meson SoC family developed by Amlogic Inc.,
565	  targeted at media players and tablet computers. We currently
566	  support the S905 (GXBaby) 64-bit SoC.
567
568config ARCH_MX7ULP
569        bool "NXP MX7ULP"
570        select CPU_V7
571	select ROM_UNIFIED_SECTIONS
572
573config ARCH_MX7
574	bool "Freescale MX7"
575	select CPU_V7
576	select SYS_FSL_HAS_SEC if SECURE_BOOT
577	select SYS_FSL_SEC_COMPAT_4
578	select SYS_FSL_SEC_LE
579	select BOARD_EARLY_INIT_F
580	select ARCH_MISC_INIT
581
582config ARCH_MX6
583	bool "Freescale MX6"
584	select CPU_V7
585	select SYS_FSL_HAS_SEC if SECURE_BOOT
586	select SYS_FSL_SEC_COMPAT_4
587	select SYS_FSL_SEC_LE
588	select SYS_THUMB_BUILD if SPL
589
590config ARCH_MX5
591	bool "Freescale MX5"
592	select CPU_V7
593	select BOARD_EARLY_INIT_F
594
595config ARCH_RMOBILE
596	bool "Renesas ARM SoCs"
597	select DM
598	select DM_SERIAL
599	select BOARD_EARLY_INIT_F
600	imply SYS_THUMB_BUILD
601
602config TARGET_S32V234EVB
603	bool "Support s32v234evb"
604	select ARM64
605	select SYS_FSL_ERRATUM_ESDHC111
606
607config ARCH_SNAPDRAGON
608	bool "Qualcomm Snapdragon SoCs"
609	select ARM64
610	select DM
611	select DM_GPIO
612	select DM_SERIAL
613	select SPMI
614	select OF_CONTROL
615	select OF_SEPARATE
616
617config ARCH_SOCFPGA
618	bool "Altera SOCFPGA family"
619	select CPU_V7
620	select SUPPORT_SPL
621	select OF_CONTROL
622	select SPL_OF_CONTROL
623	select DM
624	select DM_SPI_FLASH
625	select DM_SPI
626	select ENABLE_ARM_SOC_BOOT0_HOOK
627	select ARCH_EARLY_INIT_R
628	select ARCH_MISC_INIT
629	select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
630	select SYS_THUMB_BUILD
631
632config ARCH_SUNXI
633	bool "Support sunxi (Allwinner) SoCs"
634	select CMD_GPIO
635	select CMD_MMC if MMC
636	select CMD_USB if DISTRO_DEFAULTS
637	select DM
638	select DM_ETH
639	select DM_GPIO
640	select DM_KEYBOARD
641	select DM_SERIAL
642	select DM_USB if DISTRO_DEFAULTS
643	select OF_BOARD_SETUP
644	select OF_CONTROL
645	select OF_SEPARATE
646	select SPL_STACK_R if SUPPORT_SPL
647	select SPL_SYS_MALLOC_SIMPLE if SUPPORT_SPL
648	select SYS_NS16550
649	select SPL_SYS_THUMB_BUILD if !ARM64
650	select USB if DISTRO_DEFAULTS
651	select USB_STORAGE if DISTRO_DEFAULTS
652	select USB_KEYBOARD if DISTRO_DEFAULTS
653	select USE_TINY_PRINTF
654	imply PRE_CONSOLE_BUFFER
655	imply SPL_GPIO_SUPPORT
656	imply SPL_LIBCOMMON_SUPPORT
657	imply SPL_LIBDISK_SUPPORT
658	imply SPL_LIBGENERIC_SUPPORT
659	imply SPL_MMC_SUPPORT if MMC
660	imply SPL_POWER_SUPPORT
661	imply SPL_SERIAL_SUPPORT
662
663config TARGET_TS4600
664	bool "Support TS4600"
665	select CPU_ARM926EJS
666	select SUPPORT_SPL
667
668config ARCH_VF610
669	bool "Freescale Vybrid"
670	select CPU_V7
671	select SYS_FSL_ERRATUM_ESDHC111
672
673config ARCH_ZYNQ
674	bool "Xilinx Zynq Platform"
675	select BOARD_LATE_INIT
676	select CPU_V7
677	select SUPPORT_SPL
678	select OF_CONTROL
679	select SPL_BOARD_INIT if SPL
680	select SPL_OF_CONTROL if SPL
681	select DM
682	select DM_ETH
683	select DM_GPIO
684	select SPL_DM if SPL
685	select DM_MMC
686	select DM_MMC_OPS
687	select DM_SPI
688	select DM_SERIAL
689	select DM_SPI_FLASH
690	select SPL_SEPARATE_BSS if SPL
691	select DM_USB if USB
692	select BLK
693	select CLK
694	select SPL_CLK
695	select CLK_ZYNQ
696	imply CMD_CLK
697
698config ARCH_ZYNQMP
699	bool "Support Xilinx ZynqMP Platform"
700	select ARM64
701	select BOARD_LATE_INIT
702	select DM
703	select OF_CONTROL
704	select DM_SERIAL
705	select SUPPORT_SPL
706	select CLK
707	select SPL_BOARD_INIT if SPL
708	select SPL_CLK
709	select DM_USB if USB
710
711config TEGRA
712	bool "NVIDIA Tegra"
713
714config TARGET_VEXPRESS64_AEMV8A
715	bool "Support vexpress_aemv8a"
716	select ARM64
717
718config TARGET_VEXPRESS64_BASE_FVP
719	bool "Support Versatile Express ARMv8a FVP BASE model"
720	select ARM64
721	select SEMIHOSTING
722
723config TARGET_VEXPRESS64_BASE_FVP_DRAM
724	bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM"
725	select ARM64
726	help
727	  This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides
728	  the default config to allow the user to load the images directly into
729	  DRAM using model parameters rather than by using semi-hosting to load
730	  the files from the host filesystem.
731
732config TARGET_VEXPRESS64_JUNO
733	bool "Support Versatile Express Juno Development Platform"
734	select ARM64
735
736config TARGET_LS2080A_EMU
737	bool "Support ls2080a_emu"
738	select ARCH_LS2080A
739	select ARM64
740	select ARMV8_MULTIENTRY
741	select ARCH_MISC_INIT
742	help
743	  Support for Freescale LS2080A_EMU platform
744	  The LS2080A Development System (EMULATOR) is a pre silicon
745	  development platform that supports the QorIQ LS2080A
746	  Layerscape Architecture processor.
747
748config TARGET_LS2080A_SIMU
749	bool "Support ls2080a_simu"
750	select ARCH_LS2080A
751	select ARM64
752	select ARMV8_MULTIENTRY
753	select ARCH_MISC_INIT
754	help
755	  Support for Freescale LS2080A_SIMU platform
756	  The LS2080A Development System (QDS) is a pre silicon
757	  development platform that supports the QorIQ LS2080A
758	  Layerscape Architecture processor.
759
760config TARGET_LS2080AQDS
761	bool "Support ls2080aqds"
762	select ARCH_LS2080A
763	select ARM64
764	select ARMV8_MULTIENTRY
765	select BOARD_LATE_INIT
766	select SUPPORT_SPL
767	select ARCH_MISC_INIT
768	help
769	  Support for Freescale LS2080AQDS platform
770	  The LS2080A Development System (QDS) is a high-performance
771	  development platform that supports the QorIQ LS2080A
772	  Layerscape Architecture processor.
773
774config TARGET_LS2080ARDB
775	bool "Support ls2080ardb"
776	select ARCH_LS2080A
777	select ARM64
778	select ARMV8_MULTIENTRY
779	select BOARD_LATE_INIT
780	select SUPPORT_SPL
781	select ARCH_MISC_INIT
782	help
783	  Support for Freescale LS2080ARDB platform.
784	  The LS2080A Reference design board (RDB) is a high-performance
785	  development platform that supports the QorIQ LS2080A
786	  Layerscape Architecture processor.
787
788config TARGET_HIKEY
789	bool "Support HiKey 96boards Consumer Edition Platform"
790	select ARM64
791	select DM
792	select DM_GPIO
793	select DM_SERIAL
794	select OF_CONTROL
795	  help
796	  Support for HiKey 96boards platform. It features a HI6220
797	  SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM.
798
799config TARGET_LS1012AQDS
800	bool "Support ls1012aqds"
801	select ARCH_LS1012A
802	select ARM64
803	select BOARD_LATE_INIT
804	help
805	  Support for Freescale LS1012AQDS platform.
806	  The LS1012A Development System (QDS) is a high-performance
807	  development platform that supports the QorIQ LS1012A
808	  Layerscape Architecture processor.
809
810config TARGET_LS1012ARDB
811	bool "Support ls1012ardb"
812	select ARCH_LS1012A
813	select ARM64
814	select BOARD_LATE_INIT
815	help
816	  Support for Freescale LS1012ARDB platform.
817	  The LS1012A Reference design board (RDB) is a high-performance
818	  development platform that supports the QorIQ LS1012A
819	  Layerscape Architecture processor.
820
821config TARGET_LS1012AFRDM
822	bool "Support ls1012afrdm"
823	select ARCH_LS1012A
824	select ARM64
825	help
826	  Support for Freescale LS1012AFRDM platform.
827	  The LS1012A Freedom  board (FRDM) is a high-performance
828	  development platform that supports the QorIQ LS1012A
829	  Layerscape Architecture processor.
830
831config TARGET_LS1021AQDS
832	bool "Support ls1021aqds"
833	select BOARD_LATE_INIT
834	select CPU_V7
835	select CPU_V7_HAS_NONSEC
836	select CPU_V7_HAS_VIRT
837	select SUPPORT_SPL
838	select ARCH_LS1021A
839	select ARCH_SUPPORT_PSCI
840	select LS1_DEEP_SLEEP
841	select SYS_FSL_DDR
842	select BOARD_EARLY_INIT_F
843
844config TARGET_LS1021ATWR
845	bool "Support ls1021atwr"
846	select BOARD_LATE_INIT
847	select CPU_V7
848	select CPU_V7_HAS_NONSEC
849	select CPU_V7_HAS_VIRT
850	select SUPPORT_SPL
851	select ARCH_LS1021A
852	select ARCH_SUPPORT_PSCI
853	select LS1_DEEP_SLEEP
854	select BOARD_EARLY_INIT_F
855
856config TARGET_LS1021AIOT
857	bool "Support ls1021aiot"
858	select BOARD_LATE_INIT
859	select CPU_V7
860	select CPU_V7_HAS_NONSEC
861	select CPU_V7_HAS_VIRT
862	select SUPPORT_SPL
863	select ARCH_LS1021A
864	select ARCH_SUPPORT_PSCI
865	help
866	  Support for Freescale LS1021AIOT platform.
867	  The LS1021A Freescale board (IOT) is a high-performance
868	  development platform that supports the QorIQ LS1021A
869	  Layerscape Architecture processor.
870
871config TARGET_LS1043AQDS
872	bool "Support ls1043aqds"
873	select ARCH_LS1043A
874	select ARM64
875	select ARMV8_MULTIENTRY
876	select BOARD_LATE_INIT
877	select SUPPORT_SPL
878	select BOARD_EARLY_INIT_F
879	help
880	  Support for Freescale LS1043AQDS platform.
881
882config TARGET_LS1043ARDB
883	bool "Support ls1043ardb"
884	select ARCH_LS1043A
885	select ARM64
886	select ARMV8_MULTIENTRY
887	select BOARD_LATE_INIT
888	select SUPPORT_SPL
889	select BOARD_EARLY_INIT_F
890	help
891	  Support for Freescale LS1043ARDB platform.
892
893config TARGET_LS1046AQDS
894	bool "Support ls1046aqds"
895	select ARCH_LS1046A
896	select ARM64
897	select ARMV8_MULTIENTRY
898	select BOARD_LATE_INIT
899	select SUPPORT_SPL
900	select DM_SPI_FLASH if DM_SPI
901	select BOARD_EARLY_INIT_F
902	help
903	  Support for Freescale LS1046AQDS platform.
904	  The LS1046A Development System (QDS) is a high-performance
905	  development platform that supports the QorIQ LS1046A
906	  Layerscape Architecture processor.
907
908config TARGET_LS1046ARDB
909	bool "Support ls1046ardb"
910	select ARCH_LS1046A
911	select ARM64
912	select ARMV8_MULTIENTRY
913	select BOARD_LATE_INIT
914	select SUPPORT_SPL
915	select DM_SPI_FLASH if DM_SPI
916	select POWER_MC34VR500
917	select BOARD_EARLY_INIT_F
918	help
919	  Support for Freescale LS1046ARDB platform.
920	  The LS1046A Reference Design Board (RDB) is a high-performance
921	  development platform that supports the QorIQ LS1046A
922	  Layerscape Architecture processor.
923
924config TARGET_H2200
925	bool "Support h2200"
926	select CPU_PXA
927
928config TARGET_ZIPITZ2
929	bool "Support zipitz2"
930	select CPU_PXA
931
932config TARGET_COLIBRI_PXA270
933	bool "Support colibri_pxa270"
934	select CPU_PXA
935
936config ARCH_UNIPHIER
937	bool "Socionext UniPhier SoCs"
938	select BOARD_LATE_INIT
939	select CLK_UNIPHIER
940	select DM
941	select DM_GPIO
942	select DM_I2C
943	select DM_MMC
944	select DM_RESET
945	select DM_SERIAL
946	select DM_USB
947	select OF_CONTROL
948	select OF_LIBFDT
949	select PINCTRL
950	select SPL_BOARD_INIT if SPL
951	select SPL_DM if SPL
952	select SPL_LIBCOMMON_SUPPORT if SPL
953	select SPL_LIBGENERIC_SUPPORT if SPL
954	select SPL_OF_CONTROL if SPL
955	select SPL_PINCTRL if SPL
956	select SUPPORT_SPL
957	help
958	  Support for UniPhier SoC family developed by Socionext Inc.
959	  (formerly, System LSI Business Division of Panasonic Corporation)
960
961config STM32
962	bool "Support STM32"
963	select CPU_V7M
964	select DM
965	select DM_SERIAL
966	select SYS_THUMB_BUILD
967
968config ARCH_STI
969	bool "Support STMicrolectronics SoCs"
970	select CPU_V7
971	select DM
972	select DM_SERIAL
973	select BLK
974	select DM_MMC
975	select DM_RESET
976	help
977	  Support for STMicroelectronics STiH407/10 SoC family.
978	  This SoC is used on Linaro 96Board STiH410-B2260
979
980config ARCH_ROCKCHIP
981	bool "Support Rockchip SoCs"
982	select OF_CONTROL
983	select BLK
984	select DM
985	select SPL_DM if SPL
986	select SYS_MALLOC_F
987	select SYS_THUMB_BUILD if !ARM64
988	select SPL_SYS_MALLOC_SIMPLE if SPL
989	select DM_GPIO
990	select DM_I2C
991	select DM_MMC
992	select DM_MMC_OPS
993	select DM_SERIAL
994	select DM_SPI
995	select DM_SPI_FLASH
996	select DM_USB if USB
997	select DM_PWM
998	select DM_REGULATOR
999
1000config TARGET_THUNDERX_88XX
1001	bool "Support ThunderX 88xx"
1002	select ARM64
1003	select OF_CONTROL
1004	select SYS_CACHE_SHIFT_7
1005
1006config ARCH_ASPEED
1007	bool "Support Aspeed SoCs"
1008	select OF_CONTROL
1009	select DM
1010
1011endchoice
1012
1013source "arch/arm/mach-aspeed/Kconfig"
1014
1015source "arch/arm/mach-at91/Kconfig"
1016
1017source "arch/arm/mach-bcm283x/Kconfig"
1018
1019source "arch/arm/mach-davinci/Kconfig"
1020
1021source "arch/arm/mach-exynos/Kconfig"
1022
1023source "arch/arm/mach-highbank/Kconfig"
1024
1025source "arch/arm/mach-integrator/Kconfig"
1026
1027source "arch/arm/mach-keystone/Kconfig"
1028
1029source "arch/arm/mach-kirkwood/Kconfig"
1030
1031source "arch/arm/mach-mvebu/Kconfig"
1032
1033source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1034
1035source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1036
1037source "arch/arm/cpu/armv7/mx7/Kconfig"
1038
1039source "arch/arm/cpu/armv7/mx6/Kconfig"
1040
1041source "arch/arm/cpu/armv7/mx5/Kconfig"
1042
1043source "arch/arm/mach-omap2/Kconfig"
1044
1045source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1046
1047source "arch/arm/mach-orion5x/Kconfig"
1048
1049source "arch/arm/mach-rmobile/Kconfig"
1050
1051source "arch/arm/mach-meson/Kconfig"
1052
1053source "arch/arm/mach-rockchip/Kconfig"
1054
1055source "arch/arm/mach-s5pc1xx/Kconfig"
1056
1057source "arch/arm/mach-snapdragon/Kconfig"
1058
1059source "arch/arm/mach-socfpga/Kconfig"
1060
1061source "arch/arm/mach-sti/Kconfig"
1062
1063source "arch/arm/mach-stm32/Kconfig"
1064
1065source "arch/arm/mach-sunxi/Kconfig"
1066
1067source "arch/arm/mach-tegra/Kconfig"
1068
1069source "arch/arm/mach-uniphier/Kconfig"
1070
1071source "arch/arm/cpu/armv7/vf610/Kconfig"
1072
1073source "arch/arm/mach-zynq/Kconfig"
1074
1075source "arch/arm/cpu/armv7/Kconfig"
1076
1077source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1078
1079source "arch/arm/cpu/armv8/Kconfig"
1080
1081source "arch/arm/imx-common/Kconfig"
1082
1083source "board/aries/m28evk/Kconfig"
1084source "board/bosch/shc/Kconfig"
1085source "board/CarMediaLab/flea3/Kconfig"
1086source "board/Marvell/aspenite/Kconfig"
1087source "board/Marvell/gplugd/Kconfig"
1088source "board/armadeus/apf27/Kconfig"
1089source "board/armltd/vexpress/Kconfig"
1090source "board/armltd/vexpress64/Kconfig"
1091source "board/bluegiga/apx4devkit/Kconfig"
1092source "board/broadcom/bcm23550_w1d/Kconfig"
1093source "board/broadcom/bcm28155_ap/Kconfig"
1094source "board/broadcom/bcmcygnus/Kconfig"
1095source "board/broadcom/bcmnsp/Kconfig"
1096source "board/broadcom/bcmns2/Kconfig"
1097source "board/cavium/thunderx/Kconfig"
1098source "board/cirrus/edb93xx/Kconfig"
1099source "board/creative/xfi3/Kconfig"
1100source "board/freescale/ls2080a/Kconfig"
1101source "board/freescale/ls2080aqds/Kconfig"
1102source "board/freescale/ls2080ardb/Kconfig"
1103source "board/freescale/ls1021aqds/Kconfig"
1104source "board/freescale/ls1043aqds/Kconfig"
1105source "board/freescale/ls1021atwr/Kconfig"
1106source "board/freescale/ls1021aiot/Kconfig"
1107source "board/freescale/ls1046aqds/Kconfig"
1108source "board/freescale/ls1043ardb/Kconfig"
1109source "board/freescale/ls1046ardb/Kconfig"
1110source "board/freescale/ls1012aqds/Kconfig"
1111source "board/freescale/ls1012ardb/Kconfig"
1112source "board/freescale/ls1012afrdm/Kconfig"
1113source "board/freescale/mx23evk/Kconfig"
1114source "board/freescale/mx25pdk/Kconfig"
1115source "board/freescale/mx28evk/Kconfig"
1116source "board/freescale/mx31ads/Kconfig"
1117source "board/freescale/mx31pdk/Kconfig"
1118source "board/freescale/mx35pdk/Kconfig"
1119source "board/freescale/s32v234evb/Kconfig"
1120source "board/gdsys/a38x/Kconfig"
1121source "board/grinn/chiliboard/Kconfig"
1122source "board/gumstix/pepper/Kconfig"
1123source "board/h2200/Kconfig"
1124source "board/hisilicon/hikey/Kconfig"
1125source "board/imx31_phycore/Kconfig"
1126source "board/isee/igep003x/Kconfig"
1127source "board/olimex/mx23_olinuxino/Kconfig"
1128source "board/phytec/pcm051/Kconfig"
1129source "board/ppcag/bg0900/Kconfig"
1130source "board/sandisk/sansa_fuze_plus/Kconfig"
1131source "board/schulercontrol/sc_sps_1/Kconfig"
1132source "board/silica/pengwyn/Kconfig"
1133source "board/spear/spear300/Kconfig"
1134source "board/spear/spear310/Kconfig"
1135source "board/spear/spear320/Kconfig"
1136source "board/spear/spear600/Kconfig"
1137source "board/spear/x600/Kconfig"
1138source "board/st/stv0991/Kconfig"
1139source "board/syteco/zmx25/Kconfig"
1140source "board/tcl/sl50/Kconfig"
1141source "board/birdland/bav335x/Kconfig"
1142source "board/timll/devkit3250/Kconfig"
1143source "board/toradex/colibri_pxa270/Kconfig"
1144source "board/technologic/ts4600/Kconfig"
1145source "board/vscom/baltos/Kconfig"
1146source "board/woodburn/Kconfig"
1147source "board/work-microwave/work_92105/Kconfig"
1148source "board/zipitz2/Kconfig"
1149
1150source "arch/arm/Kconfig.debug"
1151
1152endmenu
1153