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