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