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