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