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