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