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 12if ARM64 13config POSITION_INDEPENDENT 14 bool "Generate position-independent pre-relocation code" 15 help 16 U-Boot expects to be linked to a specific hard-coded address, and to 17 be loaded to and run from that address. This option lifts that 18 restriction, thus allowing the code to be loaded to and executed 19 from almost any address. This logic relies on the relocation 20 information that is embedded in the binary to support U-Boot 21 relocating itself to the top-of-RAM later during execution. 22 23config INIT_SP_RELATIVE 24 bool "Specify the early stack pointer relative to the .bss section" 25 help 26 U-Boot typically uses a hard-coded value for the stack pointer 27 before relocation. Enable this option to instead calculate the 28 initial SP at run-time. This is useful to avoid hard-coding addresses 29 into U-Boot, so that it can be loaded and executed at arbitrary 30 addresses and thus avoid using arbitrary addresses at runtime. 31 32 If this option is enabled, the early stack pointer is set to 33 &_bss_start with a offset value added. The offset is specified by 34 SYS_INIT_SP_BSS_OFFSET. 35 36config SYS_INIT_SP_BSS_OFFSET 37 int "Early stack offset from the .bss base address" 38 depends on INIT_SP_RELATIVE 39 default 524288 40 help 41 This option's value is the offset added to &_bss_start in order to 42 calculate the stack pointer. This offset should be large enough so 43 that the early malloc region, global data (gd), and early stack usage 44 do not overlap any appended DTB. 45 46config LINUX_KERNEL_IMAGE_HEADER 47 bool 48 help 49 Place a Linux kernel image header at the start of the U-Boot binary. 50 The format of the header is described in the Linux kernel source at 51 Documentation/arm64/booting.txt. This feature is useful since the 52 image header reports the amount of memory (BSS and similar) that 53 U-Boot needs to use, but which isn't part of the binary. 54 55if LINUX_KERNEL_IMAGE_HEADER 56config LNX_KRNL_IMG_TEXT_OFFSET_BASE 57 hex 58 help 59 The value subtracted from CONFIG_SYS_TEXT_BASE to calculate the 60 TEXT_OFFSET value written to the Linux kernel image header. 61endif 62endif 63 64config STATIC_RELA 65 bool 66 default y if ARM64 && !POSITION_INDEPENDENT 67 68config DMA_ADDR_T_64BIT 69 bool 70 default y if ARM64 71 72config MINI_BOOT 73 bool "Enable hisi minit uboot" 74 default n 75 76config HAS_VBAR 77 bool 78 79config HAS_THUMB2 80 bool 81 82# Used for compatibility with asm files copied from the kernel 83config ARM_ASM_UNIFIED 84 bool 85 default y 86 87# Used for compatibility with asm files copied from the kernel 88config THUMB2_KERNEL 89 bool 90 91config SYS_ICACHE_OFF 92 bool "Do not enable icache" 93 default n 94 help 95 Do not enable instruction cache in U-Boot. 96 97config SPL_SYS_ICACHE_OFF 98 bool "Do not enable icache in SPL" 99 depends on SPL 100 default SYS_ICACHE_OFF 101 help 102 Do not enable instruction cache in SPL. 103 104config SYS_DCACHE_OFF 105 bool "Do not enable dcache" 106 default n 107 help 108 Do not enable data cache in U-Boot. 109 110config SPL_SYS_DCACHE_OFF 111 bool "Do not enable dcache in SPL" 112 depends on SPL 113 default SYS_DCACHE_OFF 114 help 115 Do not enable data cache in SPL. 116 117config SYS_ARM_CACHE_CP15 118 bool "CP15 based cache enabling support" 119 help 120 Select this if your processor suports enabling caches by using 121 CP15 registers. 122 123config SYS_ARM_MMU 124 bool "MMU-based Paged Memory Management Support" 125 select SYS_ARM_CACHE_CP15 126 help 127 Select if you want MMU-based virtualised addressing space 128 support via paged memory management. 129 130config SYS_ARM_MPU 131 bool 'Use the ARM v7 PMSA Compliant MPU' 132 help 133 Some ARM systems without an MMU have instead a Memory Protection 134 Unit (MPU) that defines the type and permissions for regions of 135 memory. 136 If your CPU has an MPU then you should choose 'y' here unless you 137 know that you do not want to use the MPU. 138 139# If set, the workarounds for these ARM errata are applied early during U-Boot 140# startup. Note that in general these options force the workarounds to be 141# applied; no CPU-type/version detection exists, unlike the similar options in 142# the Linux kernel. Do not set these options unless they apply! Also note that 143# the following can be machine-specific errata. These do have ability to 144# provide rudimentary version and machine-specific checks, but expect no 145# product checks: 146# CONFIG_ARM_ERRATA_430973 147# CONFIG_ARM_ERRATA_454179 148# CONFIG_ARM_ERRATA_621766 149# CONFIG_ARM_ERRATA_798870 150# CONFIG_ARM_ERRATA_801819 151# CONFIG_ARM_CORTEX_A8_CVE_2017_5715 152# CONFIG_ARM_CORTEX_A15_CVE_2017_5715 153 154config ARM_ERRATA_430973 155 bool 156 157config ARM_ERRATA_454179 158 bool 159 160config ARM_ERRATA_621766 161 bool 162 163config ARM_ERRATA_716044 164 bool 165 166config ARM_ERRATA_725233 167 bool 168 169config ARM_ERRATA_742230 170 bool 171 172config ARM_ERRATA_743622 173 bool 174 175config ARM_ERRATA_751472 176 bool 177 178config ARM_ERRATA_761320 179 bool 180 181config ARM_ERRATA_773022 182 bool 183 184config ARM_ERRATA_774769 185 bool 186 187config ARM_ERRATA_794072 188 bool 189 190config ARM_ERRATA_798870 191 bool 192 193config ARM_ERRATA_801819 194 bool 195 196config ARM_ERRATA_826974 197 bool 198 199config ARM_ERRATA_828024 200 bool 201 202config ARM_ERRATA_829520 203 bool 204 205config ARM_ERRATA_833069 206 bool 207 208config ARM_ERRATA_833471 209 bool 210 211config ARM_ERRATA_845369 212 bool 213 214config ARM_ERRATA_852421 215 bool 216 217config ARM_ERRATA_852423 218 bool 219 220config ARM_ERRATA_855873 221 bool 222 223config ARM_CORTEX_A8_CVE_2017_5715 224 bool 225 226config ARM_CORTEX_A15_CVE_2017_5715 227 bool 228 229config CPU_ARM720T 230 bool 231 select SYS_CACHE_SHIFT_5 232 imply SYS_ARM_MMU 233 234config CPU_ARM920T 235 bool 236 select SYS_CACHE_SHIFT_5 237 imply SYS_ARM_MMU 238 239config CPU_ARM926EJS 240 bool 241 select SYS_CACHE_SHIFT_5 242 imply SYS_ARM_MMU 243 244config CPU_ARM946ES 245 bool 246 select SYS_CACHE_SHIFT_5 247 imply SYS_ARM_MMU 248 249config CPU_ARM1136 250 bool 251 select SYS_CACHE_SHIFT_5 252 imply SYS_ARM_MMU 253 254config CPU_ARM1176 255 bool 256 select HAS_VBAR 257 select SYS_CACHE_SHIFT_5 258 imply SYS_ARM_MMU 259 260config CPU_V7A 261 bool 262 select HAS_THUMB2 263 select HAS_VBAR 264 select SYS_CACHE_SHIFT_6 265 imply SYS_ARM_MMU 266 267config CPU_V7M 268 bool 269 select HAS_THUMB2 270 select SYS_ARM_MPU 271 select SYS_CACHE_SHIFT_5 272 select SYS_THUMB_BUILD 273 select THUMB2_KERNEL 274 275config CPU_V7R 276 bool 277 select HAS_THUMB2 278 select SYS_ARM_CACHE_CP15 279 select SYS_ARM_MPU 280 select SYS_CACHE_SHIFT_6 281 282config CPU_PXA 283 bool 284 select SYS_CACHE_SHIFT_5 285 imply SYS_ARM_MMU 286 287config CPU_SA1100 288 bool 289 select SYS_CACHE_SHIFT_5 290 imply SYS_ARM_MMU 291 292config SYS_CPU 293 default "arm720t" if CPU_ARM720T 294 default "arm920t" if CPU_ARM920T 295 default "arm926ejs" if CPU_ARM926EJS 296 default "arm946es" if CPU_ARM946ES 297 default "arm1136" if CPU_ARM1136 298 default "arm1176" if CPU_ARM1176 299 default "armv7" if CPU_V7A 300 default "armv7" if CPU_V7R 301 default "armv7m" if CPU_V7M 302 default "pxa" if CPU_PXA 303 default "sa1100" if CPU_SA1100 304 default "armv8" if ARM64 305 306config SYS_ARM_ARCH 307 int 308 default 4 if CPU_ARM720T 309 default 4 if CPU_ARM920T 310 default 5 if CPU_ARM926EJS 311 default 5 if CPU_ARM946ES 312 default 6 if CPU_ARM1136 313 default 6 if CPU_ARM1176 314 default 7 if CPU_V7A 315 default 7 if CPU_V7M 316 default 7 if CPU_V7R 317 default 5 if CPU_PXA 318 default 4 if CPU_SA1100 319 default 8 if ARM64 320 321config SYS_CACHE_SHIFT_5 322 bool 323 324config SYS_CACHE_SHIFT_6 325 bool 326 327config SYS_CACHE_SHIFT_7 328 bool 329 330config SYS_CACHELINE_SIZE 331 int 332 default 128 if SYS_CACHE_SHIFT_7 333 default 64 if SYS_CACHE_SHIFT_6 334 default 32 if SYS_CACHE_SHIFT_5 335 336config ARCH_CPU_INIT 337 bool "Enable ARCH_CPU_INIT" 338 help 339 Some architectures require a call to arch_cpu_init(). 340 Say Y here to enable it 341 342config SYS_ARCH_TIMER 343 bool "ARM Generic Timer support" 344 depends on CPU_V7A || ARM64 345 default y if ARM64 346 help 347 The ARM Generic Timer (aka arch-timer) provides an architected 348 interface to a timer source on an SoC. 349 It is mandatory for ARMv8 implementation and widely available 350 on ARMv7 systems. 351 352config ARM_SMCCC 353 bool "Support for ARM SMC Calling Convention (SMCCC)" 354 depends on CPU_V7A || ARM64 355 select ARM_PSCI_FW 356 help 357 Say Y here if you want to enable ARM SMC Calling Convention. 358 This should be enabled if U-Boot needs to communicate with system 359 firmware (for example, PSCI) according to SMCCC. 360 361config SEMIHOSTING 362 bool "support boot from semihosting" 363 help 364 In emulated environments, semihosting is a way for 365 the hosted environment to call out to the emulator to 366 retrieve files from the host machine. 367 368config SYS_THUMB_BUILD 369 bool "Build U-Boot using the Thumb instruction set" 370 depends on !ARM64 371 help 372 Use this flag to build U-Boot using the Thumb instruction set for 373 ARM architectures. Thumb instruction set provides better code 374 density. For ARM architectures that support Thumb2 this flag will 375 result in Thumb2 code generated by GCC. 376 377config SPL_SYS_THUMB_BUILD 378 bool "Build SPL using the Thumb instruction set" 379 default y if SYS_THUMB_BUILD 380 depends on !ARM64 && SPL 381 help 382 Use this flag to build SPL using the Thumb instruction set for 383 ARM architectures. Thumb instruction set provides better code 384 density. For ARM architectures that support Thumb2 this flag will 385 result in Thumb2 code generated by GCC. 386 387config TPL_SYS_THUMB_BUILD 388 bool "Build TPL using the Thumb instruction set" 389 default y if SYS_THUMB_BUILD 390 depends on TPL && !ARM64 391 help 392 Use this flag to build TPL using the Thumb instruction set for 393 ARM architectures. Thumb instruction set provides better code 394 density. For ARM architectures that support Thumb2 this flag will 395 result in Thumb2 code generated by GCC. 396 397 398config SYS_L2CACHE_OFF 399 bool "L2cache off" 400 help 401 If SoC does not support L2CACHE or one does not want to enable 402 L2CACHE, choose this option. 403 404config ENABLE_ARM_SOC_BOOT0_HOOK 405 bool "prepare BOOT0 header" 406 help 407 If the SoC's BOOT0 requires a header area filled with (magic) 408 values, then choose this option, and create a file included as 409 <asm/arch/boot0.h> which contains the required assembler code. 410 411config ARM_CORTEX_CPU_IS_UP 412 bool 413 default n 414 415config USE_ARCH_MEMCPY 416 bool "Use an assembly optimized implementation of memcpy" 417 default y 418 depends on !ARM64 419 help 420 Enable the generation of an optimized version of memcpy. 421 Such an implementation may be faster under some conditions 422 but may increase the binary size. 423 424config SPL_USE_ARCH_MEMCPY 425 bool "Use an assembly optimized implementation of memcpy for SPL" 426 default y if USE_ARCH_MEMCPY 427 depends on !ARM64 && SPL 428 help 429 Enable the generation of an optimized version of memcpy. 430 Such an implementation may be faster under some conditions 431 but may increase the binary size. 432 433config TPL_USE_ARCH_MEMCPY 434 bool "Use an assembly optimized implementation of memcpy for TPL" 435 default y if USE_ARCH_MEMCPY 436 depends on !ARM64 && TPL 437 help 438 Enable the generation of an optimized version of memcpy. 439 Such an implementation may be faster under some conditions 440 but may increase the binary size. 441 442config USE_ARCH_MEMSET 443 bool "Use an assembly optimized implementation of memset" 444 default y 445 depends on !ARM64 446 help 447 Enable the generation of an optimized version of memset. 448 Such an implementation may be faster under some conditions 449 but may increase the binary size. 450 451config SPL_USE_ARCH_MEMSET 452 bool "Use an assembly optimized implementation of memset for SPL" 453 default y if USE_ARCH_MEMSET 454 depends on !ARM64 && SPL 455 help 456 Enable the generation of an optimized version of memset. 457 Such an implementation may be faster under some conditions 458 but may increase the binary size. 459 460config TPL_USE_ARCH_MEMSET 461 bool "Use an assembly optimized implementation of memset for TPL" 462 default y if USE_ARCH_MEMSET 463 depends on !ARM64 && TPL 464 help 465 Enable the generation of an optimized version of memset. 466 Such an implementation may be faster under some conditions 467 but may increase the binary size. 468 469config SET_STACK_SIZE 470 bool "Enable an option to set max stack size that can be used" 471 default y if ARCH_VERSAL || ARCH_ZYNQMP 472 help 473 This will enable an option to set max stack size that can be 474 used by U-Boot. 475 476config STACK_SIZE 477 hex "Define max stack size that can be used by U-Boot" 478 depends on SET_STACK_SIZE 479 default 0x4000000 if ARCH_VERSAL || ARCH_ZYNQMP 480 help 481 Define Max stack size that can be used by U-Boot so that the 482 initrd_high will be calculated as base stack pointer minus this 483 stack size. 484 485config ARM64_SUPPORT_AARCH32 486 bool "ARM64 system support AArch32 execution state" 487 depends on ARM64 488 default y if !TARGET_THUNDERX_88XX 489 help 490 This ARM64 system supports AArch32 execution state. 491 492choice 493 prompt "Target select" 494 default TARGET_HIKEY 495 496config ARCH_AT91 497 bool "Atmel AT91" 498 select SPL_BOARD_INIT if SPL && !TARGET_SMARTWEB 499 500config TARGET_EDB93XX 501 bool "Support edb93xx" 502 select CPU_ARM920T 503 select PL010_SERIAL 504 505config TARGET_ASPENITE 506 bool "Support aspenite" 507 select CPU_ARM926EJS 508 509config TARGET_GPLUGD 510 bool "Support gplugd" 511 select CPU_ARM926EJS 512 513config ARCH_DAVINCI 514 bool "TI DaVinci" 515 select CPU_ARM926EJS 516 imply CMD_SAVES 517 help 518 Support for TI's DaVinci platform. 519 520config KIRKWOOD 521 bool "Marvell Kirkwood" 522 select ARCH_MISC_INIT 523 select BOARD_EARLY_INIT_F 524 select CPU_ARM926EJS 525 526config ARCH_MVEBU 527 bool "Marvell MVEBU family (Armada XP/375/38x/3700/7K/8K)" 528 select DM 529 select DM_ETH 530 select DM_SERIAL 531 select DM_SPI 532 select DM_SPI_FLASH 533 select OF_CONTROL 534 select OF_SEPARATE 535 select SPI 536 imply CMD_DM 537 538config TARGET_APF27 539 bool "Support apf27" 540 select CPU_ARM926EJS 541 select SUPPORT_SPL 542 543config ORION5X 544 bool "Marvell Orion" 545 select CPU_ARM926EJS 546 547config TARGET_SPEAR300 548 bool "Support spear300" 549 select BOARD_EARLY_INIT_F 550 select CPU_ARM926EJS 551 select PL011_SERIAL 552 imply CMD_SAVES 553 554config TARGET_SPEAR310 555 bool "Support spear310" 556 select BOARD_EARLY_INIT_F 557 select CPU_ARM926EJS 558 select PL011_SERIAL 559 imply CMD_SAVES 560 561config TARGET_SPEAR320 562 bool "Support spear320" 563 select BOARD_EARLY_INIT_F 564 select CPU_ARM926EJS 565 select PL011_SERIAL 566 imply CMD_SAVES 567 568config TARGET_SPEAR600 569 bool "Support spear600" 570 select BOARD_EARLY_INIT_F 571 select CPU_ARM926EJS 572 select PL011_SERIAL 573 imply CMD_SAVES 574 575config TARGET_STV0991 576 bool "Support stv0991" 577 select CPU_V7A 578 select DM 579 select DM_SERIAL 580 select DM_SPI 581 select DM_SPI_FLASH 582 select PL01X_SERIAL 583 select SPI 584 select SPI_FLASH 585 imply CMD_DM 586 587config TARGET_X600 588 bool "Support x600" 589 select BOARD_LATE_INIT 590 select CPU_ARM926EJS 591 select PL011_SERIAL 592 select SUPPORT_SPL 593 594config TARGET_WOODBURN 595 bool "Support woodburn" 596 select CPU_ARM1136 597 598config TARGET_WOODBURN_SD 599 bool "Support woodburn_sd" 600 select CPU_ARM1136 601 select SUPPORT_SPL 602 603config TARGET_FLEA3 604 bool "Support flea3" 605 select CPU_ARM1136 606 607config TARGET_MX35PDK 608 bool "Support mx35pdk" 609 select BOARD_LATE_INIT 610 select CPU_ARM1136 611 612config ARCH_BCM283X 613 bool "Broadcom BCM283X family" 614 select DM 615 select DM_GPIO 616 select DM_SERIAL 617 select OF_CONTROL 618 select PL01X_SERIAL 619 select SERIAL_SEARCH_ALL 620 imply CMD_DM 621 imply FAT_WRITE 622 623config ARCH_BCM63158 624 bool "Broadcom BCM63158 family" 625 select DM 626 select OF_CONTROL 627 imply CMD_DM 628 629config ARCH_BCM6858 630 bool "Broadcom BCM6858 family" 631 select DM 632 select OF_CONTROL 633 imply CMD_DM 634 635config TARGET_VEXPRESS_CA15_TC2 636 bool "Support vexpress_ca15_tc2" 637 select CPU_V7A 638 select CPU_V7_HAS_NONSEC 639 select CPU_V7_HAS_VIRT 640 select PL011_SERIAL 641 642config ARCH_BCMSTB 643 bool "Broadcom BCM7XXX family" 644 select CPU_V7A 645 select DM 646 select OF_CONTROL 647 select OF_PRIOR_STAGE 648 imply CMD_DM 649 help 650 This enables support for Broadcom ARM-based set-top box 651 chipsets, including the 7445 family of chips. 652 653config TARGET_VEXPRESS_CA5X2 654 bool "Support vexpress_ca5x2" 655 select CPU_V7A 656 select PL011_SERIAL 657 658config TARGET_VEXPRESS_CA9X4 659 bool "Support vexpress_ca9x4" 660 select CPU_V7A 661 select PL011_SERIAL 662 663config TARGET_BCM23550_W1D 664 bool "Support bcm23550_w1d" 665 select CPU_V7A 666 imply CRC32_VERIFY 667 imply FAT_WRITE 668 669config TARGET_BCM28155_AP 670 bool "Support bcm28155_ap" 671 select CPU_V7A 672 imply CRC32_VERIFY 673 imply FAT_WRITE 674 675config TARGET_BCMCYGNUS 676 bool "Support bcmcygnus" 677 select CPU_V7A 678 imply BCM_SF2_ETH 679 imply BCM_SF2_ETH_GMAC 680 imply CMD_HASH 681 imply CRC32_VERIFY 682 imply FAT_WRITE 683 imply HASH_VERIFY 684 imply NETDEVICES 685 686config TARGET_BCMNSP 687 bool "Support bcmnsp" 688 select CPU_V7A 689 690config TARGET_BCMNS2 691 bool "Support Broadcom Northstar2" 692 select ARM64 693 help 694 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit 695 ARMv8 Cortex-A57 processors targeting a broad range of networking 696 applications. 697 698config ARCH_EXYNOS 699 bool "Samsung EXYNOS" 700 select DM 701 select DM_GPIO 702 select DM_I2C 703 select DM_KEYBOARD 704 select DM_SERIAL 705 select DM_SPI 706 select DM_SPI_FLASH 707 select SPI 708 imply SYS_THUMB_BUILD 709 imply CMD_DM 710 imply FAT_WRITE 711 712config ARCH_S5PC1XX 713 bool "Samsung S5PC1XX" 714 select CPU_V7A 715 select DM 716 select DM_GPIO 717 select DM_I2C 718 select DM_SERIAL 719 imply CMD_DM 720 721config ARCH_HIGHBANK 722 bool "Calxeda Highbank" 723 select CPU_V7A 724 select PL011_SERIAL 725 726config ARCH_INTEGRATOR 727 bool "ARM Ltd. Integrator family" 728 select DM 729 select DM_SERIAL 730 select PL01X_SERIAL 731 imply CMD_DM 732 733config ARCH_KEYSTONE 734 bool "TI Keystone" 735 select CMD_POWEROFF 736 select CPU_V7A 737 select SUPPORT_SPL 738 select SYS_ARCH_TIMER 739 select SYS_THUMB_BUILD 740 imply CMD_MTDPARTS 741 imply CMD_SAVES 742 imply FIT 743 744config ARCH_K3 745 bool "Texas Instruments' K3 Architecture" 746 select SPL 747 select SUPPORT_SPL 748 select FIT 749 750config ARCH_OMAP2PLUS 751 bool "TI OMAP2+" 752 select CPU_V7A 753 select SPL_BOARD_INIT if SPL 754 select SPL_STACK_R if SPL 755 select SUPPORT_SPL 756 imply FIT 757 758config ARCH_MESON 759 bool "Amlogic Meson" 760 imply DISTRO_DEFAULTS 761 help 762 Support for the Meson SoC family developed by Amlogic Inc., 763 targeted at media players and tablet computers. We currently 764 support the S905 (GXBaby) 64-bit SoC. 765 766config ARCH_MEDIATEK 767 bool "MediaTek SoCs" 768 select BINMAN 769 select DM 770 select OF_CONTROL 771 select SPL_DM if SPL 772 select SPL_LIBCOMMON_SUPPORT if SPL 773 select SPL_LIBGENERIC_SUPPORT if SPL 774 select SPL_OF_CONTROL if SPL 775 select SUPPORT_SPL 776 help 777 Support for the MediaTek SoCs family developed by MediaTek Inc. 778 Please refer to doc/README.mediatek for more information. 779 780config ARCH_LPC32XX 781 bool "NXP LPC32xx platform" 782 select CPU_ARM926EJS 783 select DM 784 select DM_GPIO 785 select DM_SERIAL 786 select SPL_DM if SPL 787 select SUPPORT_SPL 788 imply CMD_DM 789 790config ARCH_IMX8 791 bool "NXP i.MX8 platform" 792 select ARM64 793 select DM 794 select OF_CONTROL 795 select ENABLE_ARM_SOC_BOOT0_HOOK 796 797config ARCH_IMX8M 798 bool "NXP i.MX8M platform" 799 select ARM64 800 select DM 801 select SUPPORT_SPL 802 imply CMD_DM 803 804config ARCH_MX23 805 bool "NXP i.MX23 family" 806 select CPU_ARM926EJS 807 select PL011_SERIAL 808 select SUPPORT_SPL 809 810config ARCH_MX25 811 bool "NXP MX25" 812 select CPU_ARM926EJS 813 imply MXC_GPIO 814 815config ARCH_MX28 816 bool "NXP i.MX28 family" 817 select CPU_ARM926EJS 818 select PL011_SERIAL 819 select SUPPORT_SPL 820 821config ARCH_MX31 822 bool "NXP i.MX31 family" 823 select CPU_ARM1136 824 825config ARCH_MX7ULP 826 bool "NXP MX7ULP" 827 select CPU_V7A 828 select ROM_UNIFIED_SECTIONS 829 imply MXC_GPIO 830 831config ARCH_MX7 832 bool "Freescale MX7" 833 select ARCH_MISC_INIT 834 select BOARD_EARLY_INIT_F 835 select CPU_V7A 836 select SYS_FSL_HAS_SEC if IMX_HAB 837 select SYS_FSL_SEC_COMPAT_4 838 select SYS_FSL_SEC_LE 839 imply MXC_GPIO 840 841config ARCH_MX6 842 bool "Freescale MX6" 843 select CPU_V7A 844 select SYS_FSL_HAS_SEC if IMX_HAB 845 select SYS_FSL_SEC_COMPAT_4 846 select SYS_FSL_SEC_LE 847 select SYS_THUMB_BUILD if SPL 848 imply MXC_GPIO 849 850if ARCH_MX6 851config SPL_LDSCRIPT 852 default "arch/arm/mach-omap2/u-boot-spl.lds" 853endif 854 855config ARCH_MX5 856 bool "Freescale MX5" 857 select BOARD_EARLY_INIT_F 858 select CPU_V7A 859 imply MXC_GPIO 860 861config ARCH_OWL 862 bool "Actions Semi OWL SoCs" 863 select ARM64 864 select DM 865 select DM_SERIAL 866 select OF_CONTROL 867 imply CMD_DM 868 869config ARCH_QEMU 870 bool "QEMU Virtual Platform" 871 select ARCH_SUPPORT_TFABOOT 872 select DM 873 select DM_SERIAL 874 select OF_CONTROL 875 select PL01X_SERIAL 876 imply CMD_DM 877 imply DM_RTC 878 imply RTC_PL031 879 880config ARCH_RMOBILE 881 bool "Renesas ARM SoCs" 882 select BOARD_EARLY_INIT_F if !RZA1 883 select DM 884 select DM_SERIAL 885 imply CMD_DM 886 imply FAT_WRITE 887 imply SYS_THUMB_BUILD 888 imply ARCH_MISC_INIT if DISPLAY_CPUINFO 889 890config TARGET_S32V234EVB 891 bool "Support s32v234evb" 892 select ARM64 893 select SYS_FSL_ERRATUM_ESDHC111 894 895config ARCH_SNAPDRAGON 896 bool "Qualcomm Snapdragon SoCs" 897 select ARM64 898 select DM 899 select DM_GPIO 900 select DM_SERIAL 901 select MSM_SMEM 902 select OF_CONTROL 903 select OF_SEPARATE 904 select SMEM 905 select SPMI 906 imply CMD_DM 907 908config ARCH_SOCFPGA 909 bool "Altera SOCFPGA family" 910 select ARCH_EARLY_INIT_R 911 select ARCH_MISC_INIT if !TARGET_SOCFPGA_ARRIA10 912 select ARM64 if TARGET_SOCFPGA_STRATIX10 913 select CPU_V7A if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10 914 select DM 915 select DM_SERIAL 916 select ENABLE_ARM_SOC_BOOT0_HOOK if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10 917 select OF_CONTROL 918 select SPL_DM_RESET if DM_RESET 919 select SPL_DM_SERIAL 920 select SPL_LIBCOMMON_SUPPORT 921 select SPL_LIBGENERIC_SUPPORT 922 select SPL_NAND_SUPPORT if SPL_NAND_DENALI 923 select SPL_OF_CONTROL 924 select SPL_SEPARATE_BSS if TARGET_SOCFPGA_STRATIX10 925 select SPL_SERIAL_SUPPORT 926 select SPL_SYSRESET 927 select SPL_WATCHDOG_SUPPORT 928 select SUPPORT_SPL 929 select SYS_NS16550 930 select SYS_THUMB_BUILD if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10 931 select SYSRESET 932 select SYSRESET_SOCFPGA if TARGET_SOCFPGA_GEN5 || TARGET_SOCFPGA_ARRIA10 933 select SYSRESET_SOCFPGA_S10 if TARGET_SOCFPGA_STRATIX10 934 imply CMD_DM 935 imply CMD_MTDPARTS 936 imply CRC32_VERIFY 937 imply DM_SPI 938 imply DM_SPI_FLASH 939 imply FAT_WRITE 940 imply SPL 941 imply SPL_DM 942 imply SPL_LIBDISK_SUPPORT 943 imply SPL_MMC_SUPPORT 944 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 945 imply SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE 946 imply SPL_SPI_FLASH_SUPPORT 947 imply SPL_SPI_SUPPORT 948 imply L2X0_CACHE 949 950config ARCH_SUNXI 951 bool "Support sunxi (Allwinner) SoCs" 952 select BINMAN 953 select CMD_GPIO 954 select CMD_MMC if MMC 955 select CMD_USB if DISTRO_DEFAULTS 956 select CLK 957 select DM 958 select DM_ETH 959 select DM_GPIO 960 select DM_KEYBOARD 961 select DM_MMC if MMC 962 select DM_SCSI if SCSI 963 select DM_SERIAL 964 select DM_USB if DISTRO_DEFAULTS 965 select OF_BOARD_SETUP 966 select OF_CONTROL 967 select OF_SEPARATE 968 select SPECIFY_CONSOLE_INDEX 969 select SPL_STACK_R if SPL 970 select SPL_SYS_MALLOC_SIMPLE if SPL 971 select SPL_SYS_THUMB_BUILD if !ARM64 972 select SUNXI_GPIO 973 select SYS_NS16550 974 select SYS_THUMB_BUILD if !ARM64 975 select USB if DISTRO_DEFAULTS 976 select USB_KEYBOARD if DISTRO_DEFAULTS 977 select USB_STORAGE if DISTRO_DEFAULTS 978 select SPL_USE_TINY_PRINTF 979 imply CMD_DM 980 imply CMD_GPT 981 imply CMD_UBI if MTD_RAW_NAND 982 imply DISTRO_DEFAULTS 983 imply FAT_WRITE 984 imply FIT 985 imply OF_LIBFDT_OVERLAY 986 imply PRE_CONSOLE_BUFFER 987 imply SPL_GPIO_SUPPORT 988 imply SPL_LIBCOMMON_SUPPORT 989 imply SPL_LIBGENERIC_SUPPORT 990 imply SPL_MMC_SUPPORT if MMC 991 imply SPL_POWER_SUPPORT 992 imply SPL_SERIAL_SUPPORT 993 imply USB_GADGET 994 995config ARCH_VERSAL 996 bool "Support Xilinx Versal Platform" 997 select ARM64 998 select CLK 999 select DM 1000 select DM_ETH if NET 1001 select DM_MMC if MMC 1002 select DM_SERIAL 1003 select OF_CONTROL 1004 imply BOARD_LATE_INIT 1005 1006config ARCH_VF610 1007 bool "Freescale Vybrid" 1008 select CPU_V7A 1009 select SYS_FSL_ERRATUM_ESDHC111 1010 imply CMD_MTDPARTS 1011 imply MTD_RAW_NAND 1012 1013config ARCH_ZYNQ 1014 bool "Xilinx Zynq based platform" 1015 select CLK 1016 select CLK_ZYNQ 1017 select CPU_V7A 1018 select DM 1019 select DM_ETH if NET 1020 select DM_MMC if MMC 1021 select DM_SERIAL 1022 select DM_SPI 1023 select DM_SPI_FLASH 1024 select DM_USB if USB 1025 select OF_CONTROL 1026 select SPI 1027 select SPL_BOARD_INIT if SPL 1028 select SPL_CLK if SPL 1029 select SPL_DM if SPL 1030 select SPL_OF_CONTROL if SPL 1031 select SPL_SEPARATE_BSS if SPL 1032 select SUPPORT_SPL 1033 imply ARCH_EARLY_INIT_R 1034 imply BOARD_LATE_INIT 1035 imply CMD_CLK 1036 imply CMD_DM 1037 imply CMD_SPL 1038 imply FAT_WRITE 1039 1040config ARCH_ZYNQMP_R5 1041 bool "Xilinx ZynqMP R5 based platform" 1042 select CLK 1043 select CPU_V7R 1044 select DM 1045 select DM_ETH if NET 1046 select DM_MMC if MMC 1047 select DM_SERIAL 1048 select OF_CONTROL 1049 imply CMD_DM 1050 imply DM_USB_GADGET 1051 1052config ARCH_ZYNQMP 1053 bool "Xilinx ZynqMP based platform" 1054 select ARM64 1055 select CLK 1056 select DM 1057 select DM_ETH if NET 1058 select DM_MAILBOX 1059 select DM_MMC if MMC 1060 select DM_SERIAL 1061 select DM_SPI if SPI 1062 select DM_SPI_FLASH if DM_SPI 1063 select DM_USB if USB 1064 select FIRMWARE 1065 select OF_CONTROL 1066 select SPL_BOARD_INIT if SPL 1067 select SPL_CLK if SPL 1068 select SPL_DM_MAILBOX if SPL 1069 select SPL_FIRMWARE if SPL 1070 select SPL_SEPARATE_BSS if SPL 1071 select SUPPORT_SPL 1072 select ZYNQMP_IPI 1073 imply BOARD_LATE_INIT 1074 imply CMD_DM 1075 imply FAT_WRITE 1076 imply MP 1077 imply DM_USB_GADGET 1078 1079config TEGRA 1080 bool "NVIDIA Tegra" 1081 imply DISTRO_DEFAULTS 1082 imply FAT_WRITE 1083 1084config TARGET_VEXPRESS64_AEMV8A 1085 bool "Support vexpress_aemv8a" 1086 select ARM64 1087 select PL01X_SERIAL 1088 1089config TARGET_VEXPRESS64_BASE_FVP 1090 bool "Support Versatile Express ARMv8a FVP BASE model" 1091 select ARM64 1092 select PL01X_SERIAL 1093 select SEMIHOSTING 1094 1095config TARGET_VEXPRESS64_JUNO 1096 bool "Support Versatile Express Juno Development Platform" 1097 select ARM64 1098 select PL01X_SERIAL 1099 1100config TARGET_LS2080A_EMU 1101 bool "Support ls2080a_emu" 1102 select ARCH_LS2080A 1103 select ARCH_MISC_INIT 1104 select ARM64 1105 select ARMV8_MULTIENTRY 1106 select FSL_DDR_SYNC_REFRESH 1107 help 1108 Support for Freescale LS2080A_EMU platform. 1109 The LS2080A Development System (EMULATOR) is a pre-silicon 1110 development platform that supports the QorIQ LS2080A 1111 Layerscape Architecture processor. 1112 1113config TARGET_LS2080A_SIMU 1114 bool "Support ls2080a_simu" 1115 select ARCH_LS2080A 1116 select ARCH_MISC_INIT 1117 select ARM64 1118 select ARMV8_MULTIENTRY 1119 select BOARD_LATE_INIT 1120 help 1121 Support for Freescale LS2080A_SIMU platform. 1122 The LS2080A Development System (QDS) is a pre silicon 1123 development platform that supports the QorIQ LS2080A 1124 Layerscape Architecture processor. 1125 1126config TARGET_LS1088AQDS 1127 bool "Support ls1088aqds" 1128 select ARCH_LS1088A 1129 select ARCH_MISC_INIT 1130 select ARM64 1131 select ARMV8_MULTIENTRY 1132 select ARCH_SUPPORT_TFABOOT 1133 select BOARD_LATE_INIT 1134 select SUPPORT_SPL 1135 select FSL_DDR_INTERACTIVE if !SD_BOOT 1136 help 1137 Support for NXP LS1088AQDS platform. 1138 The LS1088A Development System (QDS) is a high-performance 1139 development platform that supports the QorIQ LS1088A 1140 Layerscape Architecture processor. 1141 1142config TARGET_LS2080AQDS 1143 bool "Support ls2080aqds" 1144 select ARCH_LS2080A 1145 select ARCH_MISC_INIT 1146 select ARM64 1147 select ARMV8_MULTIENTRY 1148 select ARCH_SUPPORT_TFABOOT 1149 select BOARD_LATE_INIT 1150 select SUPPORT_SPL 1151 imply SCSI 1152 imply SCSI_AHCI 1153 select FSL_DDR_BIST 1154 select FSL_DDR_INTERACTIVE if !SPL 1155 help 1156 Support for Freescale LS2080AQDS platform. 1157 The LS2080A Development System (QDS) is a high-performance 1158 development platform that supports the QorIQ LS2080A 1159 Layerscape Architecture processor. 1160 1161config TARGET_LS2080ARDB 1162 bool "Support ls2080ardb" 1163 select ARCH_LS2080A 1164 select ARCH_MISC_INIT 1165 select ARM64 1166 select ARMV8_MULTIENTRY 1167 select ARCH_SUPPORT_TFABOOT 1168 select BOARD_LATE_INIT 1169 select SUPPORT_SPL 1170 select FSL_DDR_BIST 1171 select FSL_DDR_INTERACTIVE if !SPL 1172 imply SCSI 1173 imply SCSI_AHCI 1174 help 1175 Support for Freescale LS2080ARDB platform. 1176 The LS2080A Reference design board (RDB) is a high-performance 1177 development platform that supports the QorIQ LS2080A 1178 Layerscape Architecture processor. 1179 1180config TARGET_LS2081ARDB 1181 bool "Support ls2081ardb" 1182 select ARCH_LS2080A 1183 select ARCH_MISC_INIT 1184 select ARM64 1185 select ARMV8_MULTIENTRY 1186 select BOARD_LATE_INIT 1187 select SUPPORT_SPL 1188 help 1189 Support for Freescale LS2081ARDB platform. 1190 The LS2081A Reference design board (RDB) is a high-performance 1191 development platform that supports the QorIQ LS2081A/LS2041A 1192 Layerscape Architecture processor. 1193 1194config TARGET_LX2160ARDB 1195 bool "Support lx2160ardb" 1196 select ARCH_LX2160A 1197 select ARCH_MISC_INIT 1198 select ARM64 1199 select ARMV8_MULTIENTRY 1200 select ARCH_SUPPORT_TFABOOT 1201 select BOARD_LATE_INIT 1202 help 1203 Support for NXP LX2160ARDB platform. 1204 The lx2160ardb (LX2160A Reference design board (RDB) 1205 is a high-performance development platform that supports the 1206 QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor. 1207 1208config TARGET_LX2160AQDS 1209 bool "Support lx2160aqds" 1210 select ARCH_LX2160A 1211 select ARCH_MISC_INIT 1212 select ARM64 1213 select ARMV8_MULTIENTRY 1214 select ARCH_SUPPORT_TFABOOT 1215 select BOARD_LATE_INIT 1216 help 1217 Support for NXP LX2160AQDS platform. 1218 The lx2160aqds (LX2160A QorIQ Development System (QDS) 1219 is a high-performance development platform that supports the 1220 QorIQ LX2160A/LX2120A/LX2080A Layerscape Architecture processor. 1221 1222config TARGET_HIKEY 1223 bool "Support HiKey 96boards Consumer Edition Platform" 1224 select ARM64 1225 select DM 1226 select DM_GPIO 1227 select DM_SERIAL 1228 select OF_CONTROL 1229 select PL01X_SERIAL 1230 select SPECIFY_CONSOLE_INDEX 1231 imply CMD_DM 1232 help 1233 Support for HiKey 96boards platform. It features a HI6220 1234 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM. 1235 1236config TARGET_HI3559AV100 1237 bool "Support Hi3559av100" 1238 select ARM64 1239 select DM 1240 help 1241 Support for Hisilicon Hi3559av100 platform. 1242 1243config TARGET_HI3569V100 1244 bool "Support Hi3569v100" 1245 select ARM64 1246 select DM 1247 help 1248 Support for Hisilicon Hi3569v100 platform. 1249 1250config TARGET_HI3531DV200 1251 bool "Support Hi3531DV200" 1252 select ARM64 1253 help 1254 Support for Hisilicon Hi3531DV200 platform. 1255 1256config TARGET_HI3535AV100 1257 bool "Support Hi3535AV100" 1258 select ARM64 1259 help 1260 Support for Hisilicon Hi3535AV100 platform. 1261 1262config TARGET_HI3556AV100 1263 bool "Support Hi3556av100" 1264 select CPU_V7A 1265 select DM 1266 help 1267 Support for Hisilicon Hi3556AV100 platform. 1268 1269config TARGET_HI3519AV100 1270 bool "Support Hi3519av100" 1271 select CPU_V7A 1272 select DM 1273 help 1274 Support for Hisilicon Hi3519AV100 platform. 1275 1276config TARGET_HI3556V200 1277 bool "Support Hi3556v200" 1278 select CPU_V7A 1279 select DM 1280 select CPU_V7A_HAS_NONSEC 1281 help 1282 Support for Hisilicon Hi3556V200 platform. 1283 1284config TARGET_HI3559V200 1285 bool "Support Hi3559v200" 1286 select CPU_V7A 1287 select DM 1288 select CPU_V7A_HAS_NONSEC 1289 help 1290 Support for Hisilicon Hi3559V200 platform. 1291 1292config TARGET_HI3516CV500 1293 bool "Support Hi3516cv500" 1294 select CPU_V7A 1295 select DM 1296 select CPU_V7A_HAS_NONSEC 1297 help 1298 Support for Hisilicon Hi3516CV500 platform. 1299 1300config TARGET_HI3516DV300 1301 bool "Support Hi3516dv300" 1302 select CPU_V7A 1303 select DM 1304 select CPU_V7A_HAS_NONSEC 1305 help 1306 Support for Hisilicon Hi3516DV300 platform. 1307 1308config TARGET_HI3516AV300 1309 bool "Support Hi3516av300" 1310 select CPU_V7A 1311 select DM 1312 select CPU_V7A_HAS_NONSEC 1313 help 1314 Support for Hisilicon Hi3516AV300 platform. 1315config TARGET_HI3562V100 1316 bool "Support Hi3562v100" 1317 select CPU_V7A 1318 select DM 1319 select CPU_V7A_HAS_NONSEC 1320 help 1321 Support for Hisilicon Hi3562v100 platform. 1322config TARGET_HI3566V100 1323 bool "Support Hi3566v100" 1324 select CPU_V7A 1325 select DM 1326 select CPU_V7A_HAS_NONSEC 1327 help 1328 Support for Hisilicon Hi3566v100 platform. 1329 1330config TARGET_HI3516EV200 1331 bool "Support Hi3516EV200" 1332 select CPU_V7A 1333 select DM if !MINI_BOOT 1334 select CPU_V7A_HAS_NONSEC if !MINI_BOOT 1335 help 1336 Support for Hisilicon Hi3516EV200 platform. 1337 1338config TARGET_HI3518EV300 1339 bool "Support Hi3518EV300" 1340 select CPU_V7A 1341 select DM if !MINI_BOOT 1342 select CPU_V7A_HAS_NONSEC if !MINI_BOOT 1343 help 1344 Support for Hisilicon Hi3518EV300 platform. 1345 1346config TARGET_HI3516DV200 1347 bool "Support Hi3516DV200" 1348 select CPU_V7A 1349 select DM 1350 select CPU_V7A_HAS_NONSEC 1351 help 1352 Support for Hisilicon Hi3516DV200 platform. 1353 1354config TARGET_HI3516EV300 1355 bool "Support Hi3516EV300" 1356 select CPU_V7A 1357 select DM 1358 select CPU_V7A_HAS_NONSEC 1359 help 1360 Support for Hisilicon Hi3516EV300 platform. 1361 1362config TARGET_HI3521DV200 1363 bool "Support Hi3521DV200" 1364 select CPU_V7A 1365 select CPU_V7A_HAS_NONSEC 1366 help 1367 Support for Hisilicon Hi3521DV200 platform. 1368 1369config TARGET_HI3520DV500 1370 bool "Support Hi3520DV500" 1371 select CPU_V7A 1372 select CPU_V7A_HAS_NONSEC 1373 help 1374 Support for Hisilicon Hi3520DV500 platform. 1375 1376config ARCH_HI35XX 1377 bool "Hisilicon Hi35XX SoCs" 1378 select DM 1379 1380 1381config TARGET_HIKEY960 1382 bool "Support HiKey960 96boards Consumer Edition Platform" 1383 select ARM64 1384 select DM 1385 select DM_SERIAL 1386 select OF_CONTROL 1387 select PL01X_SERIAL 1388 imply CMD_DM 1389 help 1390 Support for HiKey960 96boards platform. It features a HI3660 1391 SoC, with 4xA73 CPU, 4xA53 CPU, MALI-G71 GPU, and 3GB RAM. 1392 1393config TARGET_POPLAR 1394 bool "Support Poplar 96boards Enterprise Edition Platform" 1395 select ARM64 1396 select DM 1397 select DM_SERIAL 1398 select DM_USB 1399 select OF_CONTROL 1400 select PL01X_SERIAL 1401 imply CMD_DM 1402 help 1403 Support for Poplar 96boards EE platform. It features a HI3798cv200 1404 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU 1405 making it capable of running any commercial set-top solution based on 1406 Linux or Android. 1407 1408config TARGET_LS1012AQDS 1409 bool "Support ls1012aqds" 1410 select ARCH_LS1012A 1411 select ARM64 1412 select ARCH_SUPPORT_TFABOOT 1413 select BOARD_LATE_INIT 1414 help 1415 Support for Freescale LS1012AQDS platform. 1416 The LS1012A Development System (QDS) is a high-performance 1417 development platform that supports the QorIQ LS1012A 1418 Layerscape Architecture processor. 1419 1420config TARGET_LS1012ARDB 1421 bool "Support ls1012ardb" 1422 select ARCH_LS1012A 1423 select ARM64 1424 select ARCH_SUPPORT_TFABOOT 1425 select BOARD_LATE_INIT 1426 imply SCSI 1427 imply SCSI_AHCI 1428 help 1429 Support for Freescale LS1012ARDB platform. 1430 The LS1012A Reference design board (RDB) is a high-performance 1431 development platform that supports the QorIQ LS1012A 1432 Layerscape Architecture processor. 1433 1434config TARGET_LS1012A2G5RDB 1435 bool "Support ls1012a2g5rdb" 1436 select ARCH_LS1012A 1437 select ARM64 1438 select ARCH_SUPPORT_TFABOOT 1439 select BOARD_LATE_INIT 1440 imply SCSI 1441 help 1442 Support for Freescale LS1012A2G5RDB platform. 1443 The LS1012A 2G5 Reference design board (RDB) is a high-performance 1444 development platform that supports the QorIQ LS1012A 1445 Layerscape Architecture processor. 1446 1447config TARGET_LS1012AFRWY 1448 bool "Support ls1012afrwy" 1449 select ARCH_LS1012A 1450 select ARM64 1451 select ARCH_SUPPORT_TFABOOT 1452 select BOARD_LATE_INIT 1453 imply SCSI 1454 imply SCSI_AHCI 1455 help 1456 Support for Freescale LS1012AFRWY platform. 1457 The LS1012A FRWY board (FRWY) is a high-performance 1458 development platform that supports the QorIQ LS1012A 1459 Layerscape Architecture processor. 1460 1461config TARGET_LS1012AFRDM 1462 bool "Support ls1012afrdm" 1463 select ARCH_LS1012A 1464 select ARM64 1465 select ARCH_SUPPORT_TFABOOT 1466 help 1467 Support for Freescale LS1012AFRDM platform. 1468 The LS1012A Freedom board (FRDM) is a high-performance 1469 development platform that supports the QorIQ LS1012A 1470 Layerscape Architecture processor. 1471 1472config TARGET_LS1028AQDS 1473 bool "Support ls1028aqds" 1474 select ARCH_LS1028A 1475 select ARM64 1476 select ARMV8_MULTIENTRY 1477 select ARCH_SUPPORT_TFABOOT 1478 select BOARD_LATE_INIT 1479 select ARCH_MISC_INIT 1480 help 1481 Support for Freescale LS1028AQDS platform 1482 The LS1028A Development System (QDS) is a high-performance 1483 development platform that supports the QorIQ LS1028A 1484 Layerscape Architecture processor. 1485 1486config TARGET_LS1028ARDB 1487 bool "Support ls1028ardb" 1488 select ARCH_LS1028A 1489 select ARM64 1490 select ARMV8_MULTIENTRY 1491 select ARCH_SUPPORT_TFABOOT 1492 help 1493 Support for Freescale LS1028ARDB platform 1494 The LS1028A Development System (RDB) is a high-performance 1495 development platform that supports the QorIQ LS1028A 1496 Layerscape Architecture processor. 1497 1498config TARGET_LS1088ARDB 1499 bool "Support ls1088ardb" 1500 select ARCH_LS1088A 1501 select ARCH_MISC_INIT 1502 select ARM64 1503 select ARMV8_MULTIENTRY 1504 select ARCH_SUPPORT_TFABOOT 1505 select BOARD_LATE_INIT 1506 select SUPPORT_SPL 1507 select FSL_DDR_INTERACTIVE if !SD_BOOT 1508 help 1509 Support for NXP LS1088ARDB platform. 1510 The LS1088A Reference design board (RDB) is a high-performance 1511 development platform that supports the QorIQ LS1088A 1512 Layerscape Architecture processor. 1513 1514config TARGET_LS1021AQDS 1515 bool "Support ls1021aqds" 1516 select ARCH_LS1021A 1517 select ARCH_SUPPORT_PSCI 1518 select BOARD_EARLY_INIT_F 1519 select BOARD_LATE_INIT 1520 select CPU_V7A 1521 select CPU_V7_HAS_NONSEC 1522 select CPU_V7_HAS_VIRT 1523 select LS1_DEEP_SLEEP 1524 select SUPPORT_SPL 1525 select SYS_FSL_DDR 1526 select FSL_DDR_INTERACTIVE 1527 imply SCSI 1528 1529config TARGET_LS1021ATWR 1530 bool "Support ls1021atwr" 1531 select ARCH_LS1021A 1532 select ARCH_SUPPORT_PSCI 1533 select BOARD_EARLY_INIT_F 1534 select BOARD_LATE_INIT 1535 select CPU_V7A 1536 select CPU_V7_HAS_NONSEC 1537 select CPU_V7_HAS_VIRT 1538 select LS1_DEEP_SLEEP 1539 select SUPPORT_SPL 1540 imply SCSI 1541 1542config TARGET_LS1021ATSN 1543 bool "Support ls1021atsn" 1544 select ARCH_LS1021A 1545 select ARCH_SUPPORT_PSCI 1546 select BOARD_EARLY_INIT_F 1547 select BOARD_LATE_INIT 1548 select CPU_V7A 1549 select CPU_V7_HAS_NONSEC 1550 select CPU_V7_HAS_VIRT 1551 select LS1_DEEP_SLEEP 1552 select SUPPORT_SPL 1553 imply SCSI 1554 1555config TARGET_LS1021AIOT 1556 bool "Support ls1021aiot" 1557 select ARCH_LS1021A 1558 select ARCH_SUPPORT_PSCI 1559 select BOARD_LATE_INIT 1560 select CPU_V7A 1561 select CPU_V7_HAS_NONSEC 1562 select CPU_V7_HAS_VIRT 1563 select SUPPORT_SPL 1564 imply SCSI 1565 help 1566 Support for Freescale LS1021AIOT platform. 1567 The LS1021A Freescale board (IOT) is a high-performance 1568 development platform that supports the QorIQ LS1021A 1569 Layerscape Architecture processor. 1570 1571config TARGET_LS1043AQDS 1572 bool "Support ls1043aqds" 1573 select ARCH_LS1043A 1574 select ARM64 1575 select ARMV8_MULTIENTRY 1576 select ARCH_SUPPORT_TFABOOT 1577 select BOARD_EARLY_INIT_F 1578 select BOARD_LATE_INIT 1579 select SUPPORT_SPL 1580 select FSL_DDR_INTERACTIVE if !SPL 1581 imply SCSI 1582 imply SCSI_AHCI 1583 help 1584 Support for Freescale LS1043AQDS platform. 1585 1586config TARGET_LS1043ARDB 1587 bool "Support ls1043ardb" 1588 select ARCH_LS1043A 1589 select ARM64 1590 select ARMV8_MULTIENTRY 1591 select ARCH_SUPPORT_TFABOOT 1592 select BOARD_EARLY_INIT_F 1593 select BOARD_LATE_INIT 1594 select SUPPORT_SPL 1595 help 1596 Support for Freescale LS1043ARDB platform. 1597 1598config TARGET_LS1046AQDS 1599 bool "Support ls1046aqds" 1600 select ARCH_LS1046A 1601 select ARM64 1602 select ARMV8_MULTIENTRY 1603 select ARCH_SUPPORT_TFABOOT 1604 select BOARD_EARLY_INIT_F 1605 select BOARD_LATE_INIT 1606 select DM_SPI_FLASH if DM_SPI 1607 select SUPPORT_SPL 1608 select FSL_DDR_BIST if !SPL 1609 select FSL_DDR_INTERACTIVE if !SPL 1610 select FSL_DDR_INTERACTIVE if !SPL 1611 imply SCSI 1612 help 1613 Support for Freescale LS1046AQDS platform. 1614 The LS1046A Development System (QDS) is a high-performance 1615 development platform that supports the QorIQ LS1046A 1616 Layerscape Architecture processor. 1617 1618config TARGET_LS1046ARDB 1619 bool "Support ls1046ardb" 1620 select ARCH_LS1046A 1621 select ARM64 1622 select ARMV8_MULTIENTRY 1623 select ARCH_SUPPORT_TFABOOT 1624 select BOARD_EARLY_INIT_F 1625 select BOARD_LATE_INIT 1626 select DM_SPI_FLASH if DM_SPI 1627 select POWER_MC34VR500 1628 select SUPPORT_SPL 1629 select FSL_DDR_BIST 1630 select FSL_DDR_INTERACTIVE if !SPL 1631 imply SCSI 1632 help 1633 Support for Freescale LS1046ARDB platform. 1634 The LS1046A Reference Design Board (RDB) is a high-performance 1635 development platform that supports the QorIQ LS1046A 1636 Layerscape Architecture processor. 1637 1638config TARGET_LS1046AFRWY 1639 bool "Support ls1046afrwy" 1640 select ARCH_LS1046A 1641 select ARM64 1642 select ARMV8_MULTIENTRY 1643 select ARCH_SUPPORT_TFABOOT 1644 select BOARD_EARLY_INIT_F 1645 select BOARD_LATE_INIT 1646 select DM_SPI_FLASH if DM_SPI 1647 imply SCSI 1648 help 1649 Support for Freescale LS1046AFRWY platform. 1650 The LS1046A Freeway Board (FRWY) is a high-performance 1651 development platform that supports the QorIQ LS1046A 1652 Layerscape Architecture processor. 1653 1654config TARGET_COLIBRI_PXA270 1655 bool "Support colibri_pxa270" 1656 select CPU_PXA 1657 1658config ARCH_UNIPHIER 1659 bool "Socionext UniPhier SoCs" 1660 select BOARD_LATE_INIT 1661 select DM 1662 select DM_GPIO 1663 select DM_I2C 1664 select DM_MMC 1665 select DM_RESET 1666 select DM_SERIAL 1667 select DM_USB 1668 select OF_BOARD_SETUP 1669 select OF_CONTROL 1670 select OF_LIBFDT 1671 select PINCTRL 1672 select SPL_BOARD_INIT if SPL 1673 select SPL_DM if SPL 1674 select SPL_LIBCOMMON_SUPPORT if SPL 1675 select SPL_LIBGENERIC_SUPPORT if SPL 1676 select SPL_OF_CONTROL if SPL 1677 select SPL_PINCTRL if SPL 1678 select SUPPORT_SPL 1679 imply CMD_DM 1680 imply DISTRO_DEFAULTS 1681 imply FAT_WRITE 1682 help 1683 Support for UniPhier SoC family developed by Socionext Inc. 1684 (formerly, System LSI Business Division of Panasonic Corporation) 1685 1686config STM32 1687 bool "Support STMicroelectronics STM32 MCU with cortex M" 1688 select CPU_V7M 1689 select DM 1690 select DM_SERIAL 1691 imply CMD_DM 1692 1693config ARCH_STI 1694 bool "Support STMicrolectronics SoCs" 1695 select BLK 1696 select CPU_V7A 1697 select DM 1698 select DM_MMC 1699 select DM_RESET 1700 select DM_SERIAL 1701 imply CMD_DM 1702 help 1703 Support for STMicroelectronics STiH407/10 SoC family. 1704 This SoC is used on Linaro 96Board STiH410-B2260 1705 1706config ARCH_STM32MP 1707 bool "Support STMicroelectronics STM32MP Socs with cortex A" 1708 select ARCH_MISC_INIT 1709 select BOARD_LATE_INIT 1710 select CLK 1711 select DM 1712 select DM_GPIO 1713 select DM_RESET 1714 select DM_SERIAL 1715 select MISC 1716 select OF_CONTROL 1717 select OF_LIBFDT 1718 select OF_SYSTEM_SETUP 1719 select PINCTRL 1720 select REGMAP 1721 select SUPPORT_SPL 1722 select SYSCON 1723 select SYSRESET 1724 select SYS_THUMB_BUILD 1725 imply SPL_SYSRESET 1726 imply CMD_DM 1727 imply CMD_POWEROFF 1728 imply OF_LIBFDT_OVERLAY 1729 imply ENV_VARS_UBOOT_RUNTIME_CONFIG 1730 imply USE_PREBOOT 1731 help 1732 Support for STM32MP SoC family developed by STMicroelectronics, 1733 MPUs based on ARM cortex A core 1734 U-BOOT is running in DDR, loaded by the First Stage BootLoader (FSBL). 1735 FSBL can be TF-A: Trusted Firmware for Cortex A, for trusted boot 1736 chain. 1737 SPL is the unsecure FSBL for the basic boot chain. 1738 1739config ARCH_ROCKCHIP 1740 bool "Support Rockchip SoCs" 1741 select BLK 1742 select DM 1743 select DM_GPIO 1744 select DM_I2C 1745 select DM_MMC 1746 select DM_PWM 1747 select DM_REGULATOR 1748 select DM_SERIAL 1749 select DM_SPI 1750 select DM_SPI_FLASH 1751 select DM_USB if USB 1752 select ENABLE_ARM_SOC_BOOT0_HOOK 1753 select OF_CONTROL 1754 select SPI 1755 select SPL_DM if SPL 1756 select SYS_MALLOC_F 1757 select SYS_THUMB_BUILD if !ARM64 1758 imply ADC 1759 imply CMD_DM 1760 imply DEBUG_UART_BOARD_INIT 1761 imply DISTRO_DEFAULTS 1762 imply FAT_WRITE 1763 imply SARADC_ROCKCHIP 1764 imply SPL_SYSRESET 1765 imply SPL_SYS_MALLOC_SIMPLE 1766 imply SYS_NS16550 1767 imply TPL_SYSRESET 1768 imply USB_FUNCTION_FASTBOOT 1769 1770config TARGET_THUNDERX_88XX 1771 bool "Support ThunderX 88xx" 1772 select ARM64 1773 select OF_CONTROL 1774 select PL01X_SERIAL 1775 select SYS_CACHE_SHIFT_7 1776 1777config ARCH_ASPEED 1778 bool "Support Aspeed SoCs" 1779 select DM 1780 select OF_CONTROL 1781 imply CMD_DM 1782 1783config TARGET_DURIAN 1784 bool "Support Phytium Durian Platform" 1785 select ARM64 1786 help 1787 Support for durian platform. 1788 It has 2GB Sdram, uart and pcie. 1789 1790endchoice 1791 1792config ARCH_SUPPORT_TFABOOT 1793 bool 1794 1795config TFABOOT 1796 bool "Support for booting from TF-A" 1797 depends on ARCH_SUPPORT_TFABOOT 1798 default n 1799 help 1800 Enabling this will make a U-Boot binary that is capable of being 1801 booted via TF-A (Trusted Firmware for Cortex-A). 1802 1803config TI_SECURE_DEVICE 1804 bool "HS Device Type Support" 1805 depends on ARCH_KEYSTONE || ARCH_OMAP2PLUS || ARCH_K3 1806 help 1807 If a high secure (HS) device type is being used, this config 1808 must be set. This option impacts various aspects of the 1809 build system (to create signed boot images that can be 1810 authenticated) and the code. See the doc/README.ti-secure 1811 file for further details. 1812 1813if AM43XX || AM33XX || OMAP54XX || ARCH_KEYSTONE 1814config ISW_ENTRY_ADDR 1815 hex "Address in memory or XIP address of bootloader entry point" 1816 default 0x402F4000 if AM43XX 1817 default 0x402F0400 if AM33XX 1818 default 0x40301350 if OMAP54XX 1819 help 1820 After any reset, the boot ROM searches the boot media for a valid 1821 boot image. For non-XIP devices, the ROM then copies the image into 1822 internal memory. For all boot modes, after the ROM processes the 1823 boot image it eventually computes the entry point address depending 1824 on the device type (secure/non-secure), boot media (xip/non-xip) and 1825 image headers. 1826endif 1827 1828source "arch/arm/mach-aspeed/Kconfig" 1829 1830source "arch/arm/mach-at91/Kconfig" 1831 1832source "arch/arm/mach-bcm283x/Kconfig" 1833 1834source "arch/arm/mach-bcmstb/Kconfig" 1835 1836source "arch/arm/mach-davinci/Kconfig" 1837 1838source "arch/arm/mach-exynos/Kconfig" 1839 1840source "arch/arm/mach-highbank/Kconfig" 1841 1842source "arch/arm/mach-hi35xx/Kconfig" 1843 1844source "arch/arm/mach-integrator/Kconfig" 1845 1846source "arch/arm/mach-k3/Kconfig" 1847 1848source "arch/arm/mach-keystone/Kconfig" 1849 1850source "arch/arm/mach-kirkwood/Kconfig" 1851 1852source "arch/arm/cpu/arm926ejs/lpc32xx/Kconfig" 1853 1854source "arch/arm/mach-mvebu/Kconfig" 1855 1856source "arch/arm/cpu/armv7/ls102xa/Kconfig" 1857 1858source "arch/arm/mach-imx/mx2/Kconfig" 1859 1860source "arch/arm/mach-imx/mx3/Kconfig" 1861 1862source "arch/arm/mach-imx/mx5/Kconfig" 1863 1864source "arch/arm/mach-imx/mx6/Kconfig" 1865 1866source "arch/arm/mach-imx/mx7/Kconfig" 1867 1868source "arch/arm/mach-imx/mx7ulp/Kconfig" 1869 1870source "arch/arm/mach-imx/imx8/Kconfig" 1871 1872source "arch/arm/mach-imx/imx8m/Kconfig" 1873 1874source "arch/arm/mach-imx/mxs/Kconfig" 1875 1876source "arch/arm/mach-omap2/Kconfig" 1877 1878source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig" 1879 1880source "arch/arm/mach-orion5x/Kconfig" 1881 1882source "arch/arm/mach-owl/Kconfig" 1883 1884source "arch/arm/mach-rmobile/Kconfig" 1885 1886source "arch/arm/mach-meson/Kconfig" 1887 1888source "arch/arm/mach-mediatek/Kconfig" 1889 1890source "arch/arm/mach-qemu/Kconfig" 1891 1892source "arch/arm/mach-rockchip/Kconfig" 1893 1894source "arch/arm/mach-s5pc1xx/Kconfig" 1895 1896source "arch/arm/mach-snapdragon/Kconfig" 1897 1898source "arch/arm/mach-socfpga/Kconfig" 1899 1900source "arch/arm/mach-sti/Kconfig" 1901 1902source "arch/arm/mach-stm32/Kconfig" 1903 1904source "arch/arm/mach-stm32mp/Kconfig" 1905 1906source "arch/arm/mach-sunxi/Kconfig" 1907 1908source "arch/arm/mach-tegra/Kconfig" 1909 1910source "arch/arm/mach-uniphier/Kconfig" 1911 1912source "arch/arm/cpu/armv7/vf610/Kconfig" 1913 1914source "arch/arm/mach-zynq/Kconfig" 1915 1916source "arch/arm/mach-zynqmp/Kconfig" 1917 1918source "arch/arm/mach-versal/Kconfig" 1919 1920source "arch/arm/mach-zynqmp-r5/Kconfig" 1921 1922source "arch/arm/cpu/armv7/Kconfig" 1923 1924source "arch/arm/cpu/armv8/Kconfig" 1925 1926source "arch/arm/mach-imx/Kconfig" 1927 1928source "board/bosch/shc/Kconfig" 1929source "board/bosch/guardian/Kconfig" 1930source "board/CarMediaLab/flea3/Kconfig" 1931source "board/Marvell/aspenite/Kconfig" 1932source "board/Marvell/gplugd/Kconfig" 1933source "board/armadeus/apf27/Kconfig" 1934source "board/armltd/vexpress/Kconfig" 1935source "board/armltd/vexpress64/Kconfig" 1936source "board/broadcom/bcm23550_w1d/Kconfig" 1937source "board/broadcom/bcm28155_ap/Kconfig" 1938source "board/broadcom/bcm963158/Kconfig" 1939source "board/broadcom/bcm968580xref/Kconfig" 1940source "board/broadcom/bcmcygnus/Kconfig" 1941source "board/broadcom/bcmnsp/Kconfig" 1942source "board/broadcom/bcmns2/Kconfig" 1943source "board/cavium/thunderx/Kconfig" 1944source "board/cirrus/edb93xx/Kconfig" 1945source "board/eets/pdu001/Kconfig" 1946source "board/emulation/qemu-arm/Kconfig" 1947source "board/freescale/ls2080a/Kconfig" 1948source "board/freescale/ls2080aqds/Kconfig" 1949source "board/freescale/ls2080ardb/Kconfig" 1950source "board/freescale/ls1088a/Kconfig" 1951source "board/freescale/ls1028a/Kconfig" 1952source "board/freescale/ls1021aqds/Kconfig" 1953source "board/freescale/ls1043aqds/Kconfig" 1954source "board/freescale/ls1021atwr/Kconfig" 1955source "board/freescale/ls1021atsn/Kconfig" 1956source "board/freescale/ls1021aiot/Kconfig" 1957source "board/freescale/ls1046aqds/Kconfig" 1958source "board/freescale/ls1043ardb/Kconfig" 1959source "board/freescale/ls1046ardb/Kconfig" 1960source "board/freescale/ls1046afrwy/Kconfig" 1961source "board/freescale/ls1012aqds/Kconfig" 1962source "board/freescale/ls1012ardb/Kconfig" 1963source "board/freescale/ls1012afrdm/Kconfig" 1964source "board/freescale/lx2160a/Kconfig" 1965source "board/freescale/mx35pdk/Kconfig" 1966source "board/freescale/s32v234evb/Kconfig" 1967source "board/grinn/chiliboard/Kconfig" 1968source "board/gumstix/pepper/Kconfig" 1969source "board/hisilicon/hikey/Kconfig" 1970source "board/hisilicon/hi3559av100/Kconfig" 1971source "board/hisilicon/hi3531dv200/Kconfig" 1972source "board/hisilicon/hi3535av100/Kconfig" 1973source "board/hisilicon/hi3556av100/Kconfig" 1974source "board/hisilicon/hi3519av100/Kconfig" 1975source "board/hisilicon/hi3516dv300/Kconfig" 1976source "board/hisilicon/hi3516av300/Kconfig" 1977source "board/hisilicon/hi3516cv500/Kconfig" 1978source "board/hisilicon/hi3516ev200/Kconfig" 1979source "board/hisilicon/hi3516ev300/Kconfig" 1980source "board/hisilicon/hi3518ev300/Kconfig" 1981source "board/hisilicon/hi3516dv200/Kconfig" 1982source "board/hisilicon/hi3521dv200/Kconfig" 1983source "board/hisilicon/hi3520dv500/Kconfig" 1984source "board/hisilicon/hi3531dv200/Kconfig" 1985source "board/hisilicon/hi3535av100/Kconfig" 1986source "board/hisilicon/hikey960/Kconfig" 1987source "board/hisilicon/poplar/Kconfig" 1988source "board/isee/igep003x/Kconfig" 1989source "board/phytec/pcm051/Kconfig" 1990source "board/silica/pengwyn/Kconfig" 1991source "board/spear/spear300/Kconfig" 1992source "board/spear/spear310/Kconfig" 1993source "board/spear/spear320/Kconfig" 1994source "board/spear/spear600/Kconfig" 1995source "board/spear/x600/Kconfig" 1996source "board/st/stv0991/Kconfig" 1997source "board/tcl/sl50/Kconfig" 1998source "board/ucRobotics/bubblegum_96/Kconfig" 1999source "board/birdland/bav335x/Kconfig" 2000source "board/toradex/colibri_pxa270/Kconfig" 2001source "board/variscite/dart_6ul/Kconfig" 2002source "board/vscom/baltos/Kconfig" 2003source "board/woodburn/Kconfig" 2004source "board/xilinx/Kconfig" 2005source "board/xilinx/zynq/Kconfig" 2006source "board/xilinx/zynqmp/Kconfig" 2007source "board/phytium/durian/Kconfig" 2008 2009source "arch/arm/Kconfig.debug" 2010 2011endmenu 2012 2013config SPL_LDSCRIPT 2014 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if (ARCH_MX23 || ARCH_MX28) && !SPL_FRAMEWORK 2015 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136 2016 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64 && !TARGET_HI3559AV100 && !TARGET_HI3531DV200 &&\ 2017 !TARGET_HI3535AV100 && !TARGET_HI3569V100 2018 2019 2020