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