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