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