odroid: remove CONFIG_DM_I2C_COMPAT config
[platform/kernel/u-boot.git] / arch / arm / Kconfig
1 menu "ARM architecture"
2         depends on ARM
3
4 config SYS_ARCH
5         default "arm"
6
7 config ARM64
8         bool
9         select PHYS_64BIT
10         select SYS_CACHE_SHIFT_6
11
12 config DMA_ADDR_T_64BIT
13         bool
14         default y if ARM64
15
16 config HAS_VBAR
17         bool
18
19 config 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
34 config ARM_ERRATA_430973
35         bool
36
37 config ARM_ERRATA_454179
38         bool
39
40 config ARM_ERRATA_621766
41         bool
42
43 config ARM_ERRATA_716044
44         bool
45
46 config ARM_ERRATA_725233
47         bool
48
49 config ARM_ERRATA_742230
50         bool
51
52 config ARM_ERRATA_743622
53         bool
54
55 config ARM_ERRATA_751472
56         bool
57
58 config ARM_ERRATA_761320
59         bool
60
61 config ARM_ERRATA_773022
62         bool
63
64 config ARM_ERRATA_774769
65         bool
66
67 config ARM_ERRATA_794072
68         bool
69
70 config ARM_ERRATA_798870
71         bool
72
73 config ARM_ERRATA_801819
74         bool
75
76 config ARM_ERRATA_826974
77         bool
78
79 config ARM_ERRATA_828024
80         bool
81
82 config ARM_ERRATA_829520
83         bool
84
85 config ARM_ERRATA_833069
86         bool
87
88 config ARM_ERRATA_833471
89         bool
90
91 config ARM_ERRATA_852421
92         bool
93
94 config ARM_ERRATA_852423
95         bool
96
97 config CPU_ARM720T
98         bool
99         select SYS_CACHE_SHIFT_5
100
101 config CPU_ARM920T
102         bool
103         select SYS_CACHE_SHIFT_5
104
105 config CPU_ARM926EJS
106         bool
107         select SYS_CACHE_SHIFT_5
108
109 config CPU_ARM946ES
110         bool
111         select SYS_CACHE_SHIFT_5
112
113 config CPU_ARM1136
114         bool
115         select SYS_CACHE_SHIFT_5
116
117 config CPU_ARM1176
118         bool
119         select HAS_VBAR
120         select SYS_CACHE_SHIFT_5
121
122 config CPU_V7
123         bool
124         select HAS_VBAR
125         select HAS_THUMB2
126         select SYS_CACHE_SHIFT_6
127
128 config CPU_V7M
129         bool
130         select HAS_THUMB2
131         select SYS_CACHE_SHIFT_5
132
133 config CPU_PXA
134         bool
135         select SYS_CACHE_SHIFT_5
136
137 config CPU_SA1100
138         bool
139         select SYS_CACHE_SHIFT_5
140
141 config 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
154 config 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
168 config SYS_CACHE_SHIFT_5
169         bool
170
171 config SYS_CACHE_SHIFT_6
172         bool
173
174 config SYS_CACHE_SHIFT_7
175         bool
176
177 config 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
183 config 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
192 config 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
199 config 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
208 config 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
218 config 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
224 config 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
232 config ARM_CORTEX_CPU_IS_UP
233         bool
234         default n
235
236 config 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
245 config 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
254 config 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
263 config 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
272 config 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
278 choice
279         prompt "Target select"
280         default TARGET_HIKEY
281
282 config ARCH_AT91
283         bool "Atmel AT91"
284         select SPL_BOARD_INIT if SPL
285
286 config TARGET_EDB93XX
287         bool "Support edb93xx"
288         select CPU_ARM920T
289
290 config TARGET_ASPENITE
291         bool "Support aspenite"
292         select CPU_ARM926EJS
293
294 config TARGET_GPLUGD
295         bool "Support gplugd"
296         select CPU_ARM926EJS
297
298 config ARCH_DAVINCI
299         bool "TI DaVinci"
300         select CPU_ARM926EJS
301         help
302           Support for TI's DaVinci platform.
303
304 config KIRKWOOD
305         bool "Marvell Kirkwood"
306         select CPU_ARM926EJS
307         select BOARD_EARLY_INIT_F
308         select ARCH_MISC_INIT
309
310 config 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
320 config TARGET_DEVKIT3250
321         bool "Support devkit3250"
322         select CPU_ARM926EJS
323         select SUPPORT_SPL
324
325 config TARGET_WORK_92105
326         bool "Support work_92105"
327         select CPU_ARM926EJS
328         select SUPPORT_SPL
329
330 config TARGET_MX25PDK
331         bool "Support mx25pdk"
332         select BOARD_LATE_INIT
333         select CPU_ARM926EJS
334         select BOARD_EARLY_INIT_F
335
336 config TARGET_ZMX25
337         bool "Support zmx25"
338         select BOARD_LATE_INIT
339         select CPU_ARM926EJS
340
341 config TARGET_APF27
342         bool "Support apf27"
343         select CPU_ARM926EJS
344         select SUPPORT_SPL
345
346 config TARGET_APX4DEVKIT
347         bool "Support apx4devkit"
348         select CPU_ARM926EJS
349         select SUPPORT_SPL
350
351 config TARGET_XFI3
352         bool "Support xfi3"
353         select CPU_ARM926EJS
354         select SUPPORT_SPL
355
356 config TARGET_M28EVK
357         bool "Support m28evk"
358         select CPU_ARM926EJS
359         select SUPPORT_SPL
360
361 config TARGET_MX23EVK
362         bool "Support mx23evk"
363         select CPU_ARM926EJS
364         select SUPPORT_SPL
365         select BOARD_EARLY_INIT_F
366
367 config TARGET_MX28EVK
368         bool "Support mx28evk"
369         select CPU_ARM926EJS
370         select SUPPORT_SPL
371         select BOARD_EARLY_INIT_F
372
373 config TARGET_MX23_OLINUXINO
374         bool "Support mx23_olinuxino"
375         select CPU_ARM926EJS
376         select SUPPORT_SPL
377         select BOARD_EARLY_INIT_F
378
379 config TARGET_BG0900
380         bool "Support bg0900"
381         select CPU_ARM926EJS
382         select SUPPORT_SPL
383
384 config TARGET_SANSA_FUZE_PLUS
385         bool "Support sansa_fuze_plus"
386         select CPU_ARM926EJS
387         select SUPPORT_SPL
388
389 config TARGET_SC_SPS_1
390         bool "Support sc_sps_1"
391         select CPU_ARM926EJS
392         select SUPPORT_SPL
393
394 config ORION5X
395         bool "Marvell Orion"
396         select CPU_ARM926EJS
397
398 config TARGET_SPEAR300
399         bool "Support spear300"
400         select CPU_ARM926EJS
401         select BOARD_EARLY_INIT_F
402
403 config TARGET_SPEAR310
404         bool "Support spear310"
405         select CPU_ARM926EJS
406         select BOARD_EARLY_INIT_F
407
408 config TARGET_SPEAR320
409         bool "Support spear320"
410         select CPU_ARM926EJS
411         select BOARD_EARLY_INIT_F
412
413 config TARGET_SPEAR600
414         bool "Support spear600"
415         select CPU_ARM926EJS
416         select BOARD_EARLY_INIT_F
417
418 config 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
427 config TARGET_X600
428         bool "Support x600"
429         select BOARD_LATE_INIT
430         select CPU_ARM926EJS
431         select SUPPORT_SPL
432
433 config TARGET_IMX31_PHYCORE
434         bool "Support imx31_phycore_eet"
435         select CPU_ARM1136
436         select BOARD_EARLY_INIT_F
437
438 config 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
444 config TARGET_MX31ADS
445         bool "Support mx31ads"
446         select CPU_ARM1136
447         select BOARD_EARLY_INIT_F
448
449 config 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
456 config TARGET_WOODBURN
457         bool "Support woodburn"
458         select CPU_ARM1136
459
460 config TARGET_WOODBURN_SD
461         bool "Support woodburn_sd"
462         select CPU_ARM1136
463         select SUPPORT_SPL
464
465 config TARGET_FLEA3
466         bool "Support flea3"
467         select CPU_ARM1136
468
469 config TARGET_MX35PDK
470         bool "Support mx35pdk"
471         select BOARD_LATE_INIT
472         select CPU_ARM1136
473
474 config 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
482 config 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
488 config TARGET_VEXPRESS_CA5X2
489         bool "Support vexpress_ca5x2"
490         select CPU_V7
491
492 config TARGET_VEXPRESS_CA9X4
493         bool "Support vexpress_ca9x4"
494         select CPU_V7
495
496 config TARGET_BCM23550_W1D
497         bool "Support bcm23550_w1d"
498         select CPU_V7
499         imply CRC32_VERIFY
500         imply FAT_WRITE
501
502 config TARGET_BCM28155_AP
503         bool "Support bcm28155_ap"
504         select CPU_V7
505         imply CRC32_VERIFY
506         imply FAT_WRITE
507
508 config 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
516 config TARGET_BCMNSP
517         bool "Support bcmnsp"
518         select CPU_V7
519
520 config 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
528 config 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
539 config 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
547 config ARCH_HIGHBANK
548         bool "Calxeda Highbank"
549         select CPU_V7
550
551 config ARCH_INTEGRATOR
552         bool "ARM Ltd. Integrator family"
553         select DM
554         select DM_SERIAL
555
556 config 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
564 config 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
571 config 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
578 config ARCH_MX7ULP
579         bool "NXP MX7ULP"
580         select CPU_V7
581         select ROM_UNIFIED_SECTIONS
582
583 config 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
592 config 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
600 config ARCH_MX5
601         bool "Freescale MX5"
602         select CPU_V7
603         select BOARD_EARLY_INIT_F
604
605 config 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
613 config TARGET_S32V234EVB
614         bool "Support s32v234evb"
615         select ARM64
616         select SYS_FSL_ERRATUM_ESDHC111
617
618 config 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
628 config 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
645 config 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
677 config TARGET_TS4600
678         bool "Support TS4600"
679         select CPU_ARM926EJS
680         select SUPPORT_SPL
681
682 config ARCH_VF610
683         bool "Freescale Vybrid"
684         select CPU_V7
685         select SYS_FSL_ERRATUM_ESDHC111
686
687 config 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
713 config 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
727 config TEGRA
728         bool "NVIDIA Tegra"
729         imply FAT_WRITE
730
731 config TARGET_VEXPRESS64_AEMV8A
732         bool "Support vexpress_aemv8a"
733         select ARM64
734
735 config TARGET_VEXPRESS64_BASE_FVP
736         bool "Support Versatile Express ARMv8a FVP BASE model"
737         select ARM64
738         select SEMIHOSTING
739
740 config 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
749 config TARGET_VEXPRESS64_JUNO
750         bool "Support Versatile Express Juno Development Platform"
751         select ARM64
752
753 config 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
765 config 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
777 config 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
791 config 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
805 config 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
819 config 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
830 config 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
841 config 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
852 config 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
862 config 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
875 config 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
887 config 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
902 config 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
913 config 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
924 config 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
939 config 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
955 config TARGET_H2200
956         bool "Support h2200"
957         select CPU_PXA
958
959 config TARGET_ZIPITZ2
960         bool "Support zipitz2"
961         select CPU_PXA
962
963 config TARGET_COLIBRI_PXA270
964         bool "Support colibri_pxa270"
965         select CPU_PXA
966
967 config 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
993 config STM32
994         bool "Support STM32"
995         select CPU_V7M
996         select DM
997         select DM_SERIAL
998         select SYS_THUMB_BUILD
999
1000 config 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
1012 config 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
1033 config TARGET_THUNDERX_88XX
1034         bool "Support ThunderX 88xx"
1035         select ARM64
1036         select OF_CONTROL
1037         select SYS_CACHE_SHIFT_7
1038
1039 config ARCH_ASPEED
1040         bool "Support Aspeed SoCs"
1041         select OF_CONTROL
1042         select DM
1043
1044 endchoice
1045
1046 source "arch/arm/mach-aspeed/Kconfig"
1047
1048 source "arch/arm/mach-at91/Kconfig"
1049
1050 source "arch/arm/mach-bcm283x/Kconfig"
1051
1052 source "arch/arm/mach-davinci/Kconfig"
1053
1054 source "arch/arm/mach-exynos/Kconfig"
1055
1056 source "arch/arm/mach-highbank/Kconfig"
1057
1058 source "arch/arm/mach-integrator/Kconfig"
1059
1060 source "arch/arm/mach-keystone/Kconfig"
1061
1062 source "arch/arm/mach-kirkwood/Kconfig"
1063
1064 source "arch/arm/mach-mvebu/Kconfig"
1065
1066 source "arch/arm/cpu/armv7/ls102xa/Kconfig"
1067
1068 source "arch/arm/cpu/armv7/mx7ulp/Kconfig"
1069
1070 source "arch/arm/cpu/armv7/mx7/Kconfig"
1071
1072 source "arch/arm/cpu/armv7/mx6/Kconfig"
1073
1074 source "arch/arm/cpu/armv7/mx5/Kconfig"
1075
1076 source "arch/arm/mach-omap2/Kconfig"
1077
1078 source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig"
1079
1080 source "arch/arm/mach-orion5x/Kconfig"
1081
1082 source "arch/arm/mach-rmobile/Kconfig"
1083
1084 source "arch/arm/mach-meson/Kconfig"
1085
1086 source "arch/arm/mach-rockchip/Kconfig"
1087
1088 source "arch/arm/mach-s5pc1xx/Kconfig"
1089
1090 source "arch/arm/mach-snapdragon/Kconfig"
1091
1092 source "arch/arm/mach-socfpga/Kconfig"
1093
1094 source "arch/arm/mach-sti/Kconfig"
1095
1096 source "arch/arm/mach-stm32/Kconfig"
1097
1098 source "arch/arm/mach-sunxi/Kconfig"
1099
1100 source "arch/arm/mach-tegra/Kconfig"
1101
1102 source "arch/arm/mach-uniphier/Kconfig"
1103
1104 source "arch/arm/cpu/armv7/vf610/Kconfig"
1105
1106 source "arch/arm/mach-zynq/Kconfig"
1107
1108 source "arch/arm/cpu/armv7/Kconfig"
1109
1110 source "arch/arm/cpu/armv8/zynqmp/Kconfig"
1111
1112 source "arch/arm/cpu/armv8/Kconfig"
1113
1114 source "arch/arm/imx-common/Kconfig"
1115
1116 source "board/aries/m28evk/Kconfig"
1117 source "board/bosch/shc/Kconfig"
1118 source "board/CarMediaLab/flea3/Kconfig"
1119 source "board/Marvell/aspenite/Kconfig"
1120 source "board/Marvell/gplugd/Kconfig"
1121 source "board/armadeus/apf27/Kconfig"
1122 source "board/armltd/vexpress/Kconfig"
1123 source "board/armltd/vexpress64/Kconfig"
1124 source "board/bluegiga/apx4devkit/Kconfig"
1125 source "board/broadcom/bcm23550_w1d/Kconfig"
1126 source "board/broadcom/bcm28155_ap/Kconfig"
1127 source "board/broadcom/bcmcygnus/Kconfig"
1128 source "board/broadcom/bcmnsp/Kconfig"
1129 source "board/broadcom/bcmns2/Kconfig"
1130 source "board/cavium/thunderx/Kconfig"
1131 source "board/cirrus/edb93xx/Kconfig"
1132 source "board/creative/xfi3/Kconfig"
1133 source "board/freescale/ls2080a/Kconfig"
1134 source "board/freescale/ls2080aqds/Kconfig"
1135 source "board/freescale/ls2080ardb/Kconfig"
1136 source "board/freescale/ls1021aqds/Kconfig"
1137 source "board/freescale/ls1043aqds/Kconfig"
1138 source "board/freescale/ls1021atwr/Kconfig"
1139 source "board/freescale/ls1021aiot/Kconfig"
1140 source "board/freescale/ls1046aqds/Kconfig"
1141 source "board/freescale/ls1043ardb/Kconfig"
1142 source "board/freescale/ls1046ardb/Kconfig"
1143 source "board/freescale/ls1012aqds/Kconfig"
1144 source "board/freescale/ls1012ardb/Kconfig"
1145 source "board/freescale/ls1012afrdm/Kconfig"
1146 source "board/freescale/mx23evk/Kconfig"
1147 source "board/freescale/mx25pdk/Kconfig"
1148 source "board/freescale/mx28evk/Kconfig"
1149 source "board/freescale/mx31ads/Kconfig"
1150 source "board/freescale/mx31pdk/Kconfig"
1151 source "board/freescale/mx35pdk/Kconfig"
1152 source "board/freescale/s32v234evb/Kconfig"
1153 source "board/gdsys/a38x/Kconfig"
1154 source "board/grinn/chiliboard/Kconfig"
1155 source "board/gumstix/pepper/Kconfig"
1156 source "board/h2200/Kconfig"
1157 source "board/hisilicon/hikey/Kconfig"
1158 source "board/imx31_phycore/Kconfig"
1159 source "board/isee/igep003x/Kconfig"
1160 source "board/olimex/mx23_olinuxino/Kconfig"
1161 source "board/phytec/pcm051/Kconfig"
1162 source "board/ppcag/bg0900/Kconfig"
1163 source "board/sandisk/sansa_fuze_plus/Kconfig"
1164 source "board/schulercontrol/sc_sps_1/Kconfig"
1165 source "board/silica/pengwyn/Kconfig"
1166 source "board/spear/spear300/Kconfig"
1167 source "board/spear/spear310/Kconfig"
1168 source "board/spear/spear320/Kconfig"
1169 source "board/spear/spear600/Kconfig"
1170 source "board/spear/x600/Kconfig"
1171 source "board/st/stv0991/Kconfig"
1172 source "board/syteco/zmx25/Kconfig"
1173 source "board/tcl/sl50/Kconfig"
1174 source "board/birdland/bav335x/Kconfig"
1175 source "board/timll/devkit3250/Kconfig"
1176 source "board/toradex/colibri_pxa270/Kconfig"
1177 source "board/technologic/ts4600/Kconfig"
1178 source "board/vscom/baltos/Kconfig"
1179 source "board/woodburn/Kconfig"
1180 source "board/work-microwave/work_92105/Kconfig"
1181 source "board/zipitz2/Kconfig"
1182
1183 source "arch/arm/Kconfig.debug"
1184
1185 endmenu