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 ORION5X 400 bool "Marvell Orion" 401 select CPU_ARM926EJS 402 403config TARGET_SPEAR300 404 bool "Support spear300" 405 select CPU_ARM926EJS 406 select BOARD_EARLY_INIT_F 407 imply CMD_SAVES 408 select PL011_SERIAL 409 410config TARGET_SPEAR310 411 bool "Support spear310" 412 select CPU_ARM926EJS 413 select BOARD_EARLY_INIT_F 414 imply CMD_SAVES 415 select PL011_SERIAL 416 417config TARGET_SPEAR320 418 bool "Support spear320" 419 select CPU_ARM926EJS 420 select BOARD_EARLY_INIT_F 421 imply CMD_SAVES 422 select PL011_SERIAL 423 424config TARGET_SPEAR600 425 bool "Support spear600" 426 select CPU_ARM926EJS 427 select BOARD_EARLY_INIT_F 428 imply CMD_SAVES 429 select PL011_SERIAL 430 431config TARGET_STV0991 432 bool "Support stv0991" 433 select CPU_V7 434 select DM 435 select DM_SERIAL 436 select DM_SPI 437 select DM_SPI_FLASH 438 select SPI_FLASH 439 select PL01X_SERIAL 440 441config TARGET_X600 442 bool "Support x600" 443 select BOARD_LATE_INIT 444 select CPU_ARM926EJS 445 select SUPPORT_SPL 446 select PL011_SERIAL 447 448config TARGET_IMX31_PHYCORE 449 bool "Support imx31_phycore_eet" 450 select CPU_ARM1136 451 select BOARD_EARLY_INIT_F 452 453config TARGET_IMX31_PHYCORE_EET 454 bool "Support imx31_phycore_eet" 455 select BOARD_LATE_INIT 456 select CPU_ARM1136 457 select BOARD_EARLY_INIT_F 458 459config TARGET_MX31ADS 460 bool "Support mx31ads" 461 select CPU_ARM1136 462 select BOARD_EARLY_INIT_F 463 464config TARGET_MX31PDK 465 bool "Support mx31pdk" 466 select BOARD_LATE_INIT 467 select CPU_ARM1136 468 select SUPPORT_SPL 469 select BOARD_EARLY_INIT_F 470 471config TARGET_WOODBURN 472 bool "Support woodburn" 473 select CPU_ARM1136 474 475config TARGET_WOODBURN_SD 476 bool "Support woodburn_sd" 477 select CPU_ARM1136 478 select SUPPORT_SPL 479 480config TARGET_FLEA3 481 bool "Support flea3" 482 select CPU_ARM1136 483 484config TARGET_MX35PDK 485 bool "Support mx35pdk" 486 select BOARD_LATE_INIT 487 select CPU_ARM1136 488 489config ARCH_BCM283X 490 bool "Broadcom BCM283X family" 491 select DM 492 select DM_SERIAL 493 select DM_GPIO 494 select OF_CONTROL 495 select PL01X_SERIAL 496 select SERIAL_SEARCH_ALL 497 imply FAT_WRITE 498 499config TARGET_VEXPRESS_CA15_TC2 500 bool "Support vexpress_ca15_tc2" 501 select CPU_V7 502 select CPU_V7_HAS_NONSEC 503 select CPU_V7_HAS_VIRT 504 select PL011_SERIAL 505 506config TARGET_VEXPRESS_CA5X2 507 bool "Support vexpress_ca5x2" 508 select CPU_V7 509 select PL011_SERIAL 510 511config TARGET_VEXPRESS_CA9X4 512 bool "Support vexpress_ca9x4" 513 select CPU_V7 514 select PL011_SERIAL 515 516config TARGET_BCM23550_W1D 517 bool "Support bcm23550_w1d" 518 select CPU_V7 519 imply CRC32_VERIFY 520 imply FAT_WRITE 521 522config TARGET_BCM28155_AP 523 bool "Support bcm28155_ap" 524 select CPU_V7 525 imply CRC32_VERIFY 526 imply FAT_WRITE 527 528config TARGET_BCMCYGNUS 529 bool "Support bcmcygnus" 530 select CPU_V7 531 imply CRC32_VERIFY 532 imply CMD_HASH 533 imply FAT_WRITE 534 imply HASH_VERIFY 535 imply NETDEVICES 536 imply BCM_SF2_ETH 537 imply BCM_SF2_ETH_GMAC 538 539config TARGET_BCMNSP 540 bool "Support bcmnsp" 541 select CPU_V7 542 543config TARGET_BCMNS2 544 bool "Support Broadcom Northstar2" 545 select ARM64 546 help 547 Support for Broadcom Northstar 2 SoCs. NS2 is a quad-core 64-bit 548 ARMv8 Cortex-A57 processors targeting a broad range of networking 549 applications 550 551config ARCH_EXYNOS 552 bool "Samsung EXYNOS" 553 select DM 554 select DM_I2C 555 select DM_SPI_FLASH 556 select DM_SERIAL 557 select DM_SPI 558 select DM_GPIO 559 select DM_KEYBOARD 560 imply FAT_WRITE 561 562config ARCH_S5PC1XX 563 bool "Samsung S5PC1XX" 564 select CPU_V7 565 select DM 566 select DM_SERIAL 567 select DM_GPIO 568 select DM_I2C 569 570config ARCH_HIGHBANK 571 bool "Calxeda Highbank" 572 select CPU_V7 573 select PL011_SERIAL 574 575config ARCH_INTEGRATOR 576 bool "ARM Ltd. Integrator family" 577 select DM 578 select DM_SERIAL 579 select PL01X_SERIAL 580 581config ARCH_KEYSTONE 582 bool "TI Keystone" 583 select CPU_V7 584 select SUPPORT_SPL 585 select SYS_THUMB_BUILD 586 select CMD_POWEROFF 587 imply CMD_MTDPARTS 588 imply FIT 589 imply CMD_SAVES 590 591config ARCH_OMAP2PLUS 592 bool "TI OMAP2+" 593 select CPU_V7 594 select SPL_BOARD_INIT if SPL 595 select SPL_STACK_R if SPL 596 select SUPPORT_SPL 597 imply FIT 598 599config ARCH_MESON 600 bool "Amlogic Meson" 601 help 602 Support for the Meson SoC family developed by Amlogic Inc., 603 targeted at media players and tablet computers. We currently 604 support the S905 (GXBaby) 64-bit SoC. 605 606config ARCH_MX8M 607 bool "NXP i.MX8M platform" 608 select ARM64 609 select DM 610 select SUPPORT_SPL 611 612config ARCH_MX23 613 bool "NXP i.MX23 family" 614 select CPU_ARM926EJS 615 select PL011_SERIAL 616 select SUPPORT_SPL 617 618config ARCH_MX25 619 bool "NXP MX25" 620 select CPU_ARM926EJS 621 imply MXC_GPIO 622 623config ARCH_MX28 624 bool "NXP i.MX28 family" 625 select CPU_ARM926EJS 626 select PL011_SERIAL 627 select SUPPORT_SPL 628 629config ARCH_MX7ULP 630 bool "NXP MX7ULP" 631 select CPU_V7 632 select ROM_UNIFIED_SECTIONS 633 imply MXC_GPIO 634 635config ARCH_MX7 636 bool "Freescale MX7" 637 select CPU_V7 638 select SYS_FSL_HAS_SEC if SECURE_BOOT 639 select SYS_FSL_SEC_COMPAT_4 640 select SYS_FSL_SEC_LE 641 select BOARD_EARLY_INIT_F 642 select ARCH_MISC_INIT 643 imply MXC_GPIO 644 645config ARCH_MX6 646 bool "Freescale MX6" 647 select CPU_V7 648 select SYS_FSL_HAS_SEC if SECURE_BOOT 649 select SYS_FSL_SEC_COMPAT_4 650 select SYS_FSL_SEC_LE 651 select SYS_THUMB_BUILD if SPL 652 imply MXC_GPIO 653 654if ARCH_MX6 655config SPL_LDSCRIPT 656 default "arch/arm/mach-omap2/u-boot-spl.lds" 657endif 658 659config ARCH_MX5 660 bool "Freescale MX5" 661 select CPU_V7 662 select BOARD_EARLY_INIT_F 663 imply MXC_GPIO 664 665config ARCH_QEMU 666 bool "QEMU Virtual Platform" 667 select DM 668 select DM_SERIAL 669 select OF_CONTROL 670 select PL01X_SERIAL 671 672config ARCH_RMOBILE 673 bool "Renesas ARM SoCs" 674 select DM 675 select DM_SERIAL 676 select BOARD_EARLY_INIT_F 677 imply FAT_WRITE 678 imply SYS_THUMB_BUILD 679 680config TARGET_S32V234EVB 681 bool "Support s32v234evb" 682 select ARM64 683 select SYS_FSL_ERRATUM_ESDHC111 684 685config ARCH_SNAPDRAGON 686 bool "Qualcomm Snapdragon SoCs" 687 select ARM64 688 select DM 689 select DM_GPIO 690 select DM_SERIAL 691 select SPMI 692 select OF_CONTROL 693 select OF_SEPARATE 694 695config ARCH_SOCFPGA 696 bool "Altera SOCFPGA family" 697 select CPU_V7 698 select SUPPORT_SPL 699 select OF_CONTROL 700 select SPL_OF_CONTROL 701 select DM 702 select DM_SPI_FLASH 703 select DM_SPI 704 select ENABLE_ARM_SOC_BOOT0_HOOK 705 select ARCH_EARLY_INIT_R 706 select ARCH_MISC_INIT 707 select SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION 708 select SYS_THUMB_BUILD 709 imply CMD_MTDPARTS 710 imply CRC32_VERIFY 711 imply FAT_WRITE 712 713config ARCH_SUNXI 714 bool "Support sunxi (Allwinner) SoCs" 715 select BINMAN 716 select CMD_GPIO 717 select CMD_MMC if MMC 718 select CMD_USB if DISTRO_DEFAULTS 719 select DM 720 select DM_ETH 721 select DM_GPIO 722 select DM_KEYBOARD 723 select DM_SERIAL 724 select DM_USB if DISTRO_DEFAULTS 725 select OF_BOARD_SETUP 726 select OF_CONTROL 727 select OF_SEPARATE 728 select SPL_STACK_R if SPL 729 select SPL_SYS_MALLOC_SIMPLE if SPL 730 select SYS_NS16550 731 select SPL_SYS_THUMB_BUILD if !ARM64 732 select SYS_THUMB_BUILD if !ARM64 733 select USB if DISTRO_DEFAULTS 734 select USB_STORAGE if DISTRO_DEFAULTS 735 select USB_KEYBOARD if DISTRO_DEFAULTS 736 select USE_TINY_PRINTF 737 imply CMD_GPT 738 imply FAT_WRITE 739 imply OF_LIBFDT_OVERLAY 740 imply PRE_CONSOLE_BUFFER 741 imply SPL_GPIO_SUPPORT 742 imply SPL_LIBCOMMON_SUPPORT 743 imply SPL_LIBDISK_SUPPORT 744 imply SPL_LIBGENERIC_SUPPORT 745 imply SPL_MMC_SUPPORT if MMC 746 imply SPL_POWER_SUPPORT 747 imply SPL_SERIAL_SUPPORT 748 imply USB_GADGET 749 750config ARCH_VF610 751 bool "Freescale Vybrid" 752 select CPU_V7 753 select SYS_FSL_ERRATUM_ESDHC111 754 imply CMD_MTDPARTS 755 imply NAND 756 757config ARCH_ZYNQ 758 bool "Xilinx Zynq based platform" 759 select BOARD_LATE_INIT 760 select CPU_V7 761 select SUPPORT_SPL 762 select OF_CONTROL 763 select SPL_BOARD_INIT if SPL 764 select SPL_OF_CONTROL if SPL 765 select DM 766 select DM_ETH if NET 767 select SPL_DM if SPL 768 select DM_MMC if MMC 769 select DM_SPI 770 select DM_SERIAL 771 select DM_SPI_FLASH 772 select SPL_SEPARATE_BSS if SPL 773 select DM_USB if USB 774 select CLK 775 select SPL_CLK if SPL 776 select CLK_ZYNQ 777 imply CMD_CLK 778 imply FAT_WRITE 779 imply CMD_SPL 780 781config ARCH_ZYNQMP 782 bool "Xilinx ZynqMP based platform" 783 select ARM64 784 select BOARD_LATE_INIT 785 select DM 786 select OF_CONTROL 787 select DM_SERIAL 788 select SUPPORT_SPL 789 select CLK 790 select SPL_BOARD_INIT if SPL 791 select SPL_CLK if SPL 792 select DM_USB if USB 793 imply FAT_WRITE 794 795config TEGRA 796 bool "NVIDIA Tegra" 797 imply FAT_WRITE 798 799config TARGET_VEXPRESS64_AEMV8A 800 bool "Support vexpress_aemv8a" 801 select ARM64 802 select PL01X_SERIAL 803 804config TARGET_VEXPRESS64_BASE_FVP 805 bool "Support Versatile Express ARMv8a FVP BASE model" 806 select ARM64 807 select SEMIHOSTING 808 select PL01X_SERIAL 809 810config TARGET_VEXPRESS64_BASE_FVP_DRAM 811 bool "Support Versatile Express ARMv8a FVP BASE model booting from DRAM" 812 select ARM64 813 select PL01X_SERIAL 814 help 815 This target is derived from TARGET_VEXPRESS64_BASE_FVP and over-rides 816 the default config to allow the user to load the images directly into 817 DRAM using model parameters rather than by using semi-hosting to load 818 the files from the host filesystem. 819 820config TARGET_VEXPRESS64_JUNO 821 bool "Support Versatile Express Juno Development Platform" 822 select ARM64 823 select PL01X_SERIAL 824 825config TARGET_LS2080A_EMU 826 bool "Support ls2080a_emu" 827 select ARCH_LS2080A 828 select ARM64 829 select ARMV8_MULTIENTRY 830 select ARCH_MISC_INIT 831 help 832 Support for Freescale LS2080A_EMU platform 833 The LS2080A Development System (EMULATOR) is a pre silicon 834 development platform that supports the QorIQ LS2080A 835 Layerscape Architecture processor. 836 837config TARGET_LS2080A_SIMU 838 bool "Support ls2080a_simu" 839 select ARCH_LS2080A 840 select ARM64 841 select ARMV8_MULTIENTRY 842 select ARCH_MISC_INIT 843 help 844 Support for Freescale LS2080A_SIMU platform 845 The LS2080A Development System (QDS) is a pre silicon 846 development platform that supports the QorIQ LS2080A 847 Layerscape Architecture processor. 848 849config TARGET_LS1088AQDS 850 bool "Support ls1088aqds" 851 select ARCH_LS1088A 852 select ARM64 853 select ARMV8_MULTIENTRY 854 select ARCH_MISC_INIT 855 select BOARD_LATE_INIT 856 select SUPPORT_SPL 857 help 858 Support for NXP LS1088AQDS platform 859 The LS1088A Development System (QDS) is a high-performance 860 development platform that supports the QorIQ LS1088A 861 Layerscape Architecture processor. 862 863config TARGET_LS2080AQDS 864 bool "Support ls2080aqds" 865 select ARCH_LS2080A 866 select ARM64 867 select ARMV8_MULTIENTRY 868 select BOARD_LATE_INIT 869 select SUPPORT_SPL 870 select ARCH_MISC_INIT 871 imply SCSI 872 imply SCSI_AHCI 873 help 874 Support for Freescale LS2080AQDS platform 875 The LS2080A Development System (QDS) is a high-performance 876 development platform that supports the QorIQ LS2080A 877 Layerscape Architecture processor. 878 879config TARGET_LS2080ARDB 880 bool "Support ls2080ardb" 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 imply SCSI_AHCI 889 help 890 Support for Freescale LS2080ARDB platform. 891 The LS2080A Reference design board (RDB) is a high-performance 892 development platform that supports the QorIQ LS2080A 893 Layerscape Architecture processor. 894 895config TARGET_LS2081ARDB 896 bool "Support ls2081ardb" 897 select ARCH_LS2080A 898 select ARM64 899 select ARMV8_MULTIENTRY 900 select BOARD_LATE_INIT 901 select SUPPORT_SPL 902 select ARCH_MISC_INIT 903 help 904 Support for Freescale LS2081ARDB platform. 905 The LS2081A Reference design board (RDB) is a high-performance 906 development platform that supports the QorIQ LS2081A/LS2041A 907 Layerscape Architecture processor. 908 909config TARGET_HIKEY 910 bool "Support HiKey 96boards Consumer Edition Platform" 911 select ARM64 912 select DM 913 select DM_GPIO 914 select DM_SERIAL 915 select OF_CONTROL 916 select PL01X_SERIAL 917 help 918 Support for HiKey 96boards platform. It features a HI6220 919 SoC, with 8xA53 CPU, mali450 gpu, and 1GB RAM. 920 921config TARGET_POPLAR 922 bool "Support Poplar 96boards Enterprise Edition Platform" 923 select ARM64 924 select DM 925 select OF_CONTROL 926 select DM_SERIAL 927 select DM_USB 928 select PL01X_SERIAL 929 help 930 Support for Poplar 96boards EE platform. It features a HI3798cv200 931 SoC, with 4xA53 CPU, 1GB RAM and the high performance Mali T720 GPU 932 making it capable of running any commercial set-top solution based on 933 Linux or Android. 934 935config TARGET_LS1012AQDS 936 bool "Support ls1012aqds" 937 select ARCH_LS1012A 938 select ARM64 939 select BOARD_LATE_INIT 940 help 941 Support for Freescale LS1012AQDS platform. 942 The LS1012A Development System (QDS) is a high-performance 943 development platform that supports the QorIQ LS1012A 944 Layerscape Architecture processor. 945 946config TARGET_LS1012ARDB 947 bool "Support ls1012ardb" 948 select ARCH_LS1012A 949 select ARM64 950 select BOARD_LATE_INIT 951 imply SCSI 952 imply SCSI_AHCI 953 help 954 Support for Freescale LS1012ARDB platform. 955 The LS1012A Reference design board (RDB) is a high-performance 956 development platform that supports the QorIQ LS1012A 957 Layerscape Architecture processor. 958 959config TARGET_LS1012A2G5RDB 960 bool "Support ls1012a2g5rdb" 961 select ARCH_LS1012A 962 select ARM64 963 select BOARD_LATE_INIT 964 imply SCSI 965 help 966 Support for Freescale LS1012A2G5RDB platform. 967 The LS1012A 2G5 Reference design board (RDB) is a high-performance 968 development platform that supports the QorIQ LS1012A 969 Layerscape Architecture processor. 970 971config TARGET_LS1012AFRDM 972 bool "Support ls1012afrdm" 973 select ARCH_LS1012A 974 select ARM64 975 help 976 Support for Freescale LS1012AFRDM platform. 977 The LS1012A Freedom board (FRDM) is a high-performance 978 development platform that supports the QorIQ LS1012A 979 Layerscape Architecture processor. 980 981config TARGET_LS1088ARDB 982 bool "Support ls1088ardb" 983 select ARCH_LS1088A 984 select ARM64 985 select ARMV8_MULTIENTRY 986 select ARCH_MISC_INIT 987 select BOARD_LATE_INIT 988 select SUPPORT_SPL 989 help 990 Support for NXP LS1088ARDB platform. 991 The LS1088A Reference design board (RDB) is a high-performance 992 development platform that supports the QorIQ LS1088A 993 Layerscape Architecture processor. 994 995config TARGET_LS1021AQDS 996 bool "Support ls1021aqds" 997 select BOARD_LATE_INIT 998 select CPU_V7 999 select CPU_V7_HAS_NONSEC 1000 select CPU_V7_HAS_VIRT 1001 select SUPPORT_SPL 1002 select ARCH_LS1021A 1003 select ARCH_SUPPORT_PSCI 1004 select LS1_DEEP_SLEEP 1005 select SYS_FSL_DDR 1006 select BOARD_EARLY_INIT_F 1007 imply SCSI 1008 1009config TARGET_LS1021ATWR 1010 bool "Support ls1021atwr" 1011 select BOARD_LATE_INIT 1012 select CPU_V7 1013 select CPU_V7_HAS_NONSEC 1014 select CPU_V7_HAS_VIRT 1015 select SUPPORT_SPL 1016 select ARCH_LS1021A 1017 select ARCH_SUPPORT_PSCI 1018 select LS1_DEEP_SLEEP 1019 select BOARD_EARLY_INIT_F 1020 imply SCSI 1021 1022config TARGET_LS1021AIOT 1023 bool "Support ls1021aiot" 1024 select BOARD_LATE_INIT 1025 select CPU_V7 1026 select CPU_V7_HAS_NONSEC 1027 select CPU_V7_HAS_VIRT 1028 select SUPPORT_SPL 1029 select ARCH_LS1021A 1030 select ARCH_SUPPORT_PSCI 1031 imply SCSI 1032 help 1033 Support for Freescale LS1021AIOT platform. 1034 The LS1021A Freescale board (IOT) is a high-performance 1035 development platform that supports the QorIQ LS1021A 1036 Layerscape Architecture processor. 1037 1038config TARGET_LS1043AQDS 1039 bool "Support ls1043aqds" 1040 select ARCH_LS1043A 1041 select ARM64 1042 select ARMV8_MULTIENTRY 1043 select BOARD_LATE_INIT 1044 select SUPPORT_SPL 1045 select BOARD_EARLY_INIT_F 1046 imply SCSI 1047 help 1048 Support for Freescale LS1043AQDS platform. 1049 1050config TARGET_LS1043ARDB 1051 bool "Support ls1043ardb" 1052 select ARCH_LS1043A 1053 select ARM64 1054 select ARMV8_MULTIENTRY 1055 select BOARD_LATE_INIT 1056 select SUPPORT_SPL 1057 select BOARD_EARLY_INIT_F 1058 imply SCSI 1059 help 1060 Support for Freescale LS1043ARDB platform. 1061 1062config TARGET_LS1046AQDS 1063 bool "Support ls1046aqds" 1064 select ARCH_LS1046A 1065 select ARM64 1066 select ARMV8_MULTIENTRY 1067 select BOARD_LATE_INIT 1068 select SUPPORT_SPL 1069 select DM_SPI_FLASH if DM_SPI 1070 select BOARD_EARLY_INIT_F 1071 imply SCSI 1072 help 1073 Support for Freescale LS1046AQDS platform. 1074 The LS1046A Development System (QDS) is a high-performance 1075 development platform that supports the QorIQ LS1046A 1076 Layerscape Architecture processor. 1077 1078config TARGET_LS1046ARDB 1079 bool "Support ls1046ardb" 1080 select ARCH_LS1046A 1081 select ARM64 1082 select ARMV8_MULTIENTRY 1083 select BOARD_LATE_INIT 1084 select SUPPORT_SPL 1085 select DM_SPI_FLASH if DM_SPI 1086 select POWER_MC34VR500 1087 select BOARD_EARLY_INIT_F 1088 imply SCSI 1089 help 1090 Support for Freescale LS1046ARDB platform. 1091 The LS1046A Reference Design Board (RDB) is a high-performance 1092 development platform that supports the QorIQ LS1046A 1093 Layerscape Architecture processor. 1094 1095config TARGET_H2200 1096 bool "Support h2200" 1097 select CPU_PXA 1098 1099config TARGET_ZIPITZ2 1100 bool "Support zipitz2" 1101 select CPU_PXA 1102 1103config TARGET_COLIBRI_PXA270 1104 bool "Support colibri_pxa270" 1105 select CPU_PXA 1106 1107config ARCH_UNIPHIER 1108 bool "Socionext UniPhier SoCs" 1109 select BOARD_LATE_INIT 1110 select DM 1111 select DM_GPIO 1112 select DM_I2C 1113 select DM_MMC 1114 select DM_RESET 1115 select DM_SERIAL 1116 select DM_USB 1117 select OF_CONTROL 1118 select OF_LIBFDT 1119 select PINCTRL 1120 select SPL_BOARD_INIT if SPL 1121 select SPL_DM if SPL 1122 select SPL_LIBCOMMON_SUPPORT if SPL 1123 select SPL_LIBGENERIC_SUPPORT if SPL 1124 select SPL_OF_CONTROL if SPL 1125 select SPL_PINCTRL if SPL 1126 select SUPPORT_SPL 1127 imply FAT_WRITE 1128 help 1129 Support for UniPhier SoC family developed by Socionext Inc. 1130 (formerly, System LSI Business Division of Panasonic Corporation) 1131 1132config STM32 1133 bool "Support STM32" 1134 select CPU_V7M 1135 select DM 1136 select DM_SERIAL 1137 select SYS_THUMB_BUILD 1138 1139config ARCH_STI 1140 bool "Support STMicrolectronics SoCs" 1141 select CPU_V7 1142 select DM 1143 select DM_SERIAL 1144 select BLK 1145 select DM_MMC 1146 select DM_RESET 1147 help 1148 Support for STMicroelectronics STiH407/10 SoC family. 1149 This SoC is used on Linaro 96Board STiH410-B2260 1150 1151config ARCH_ROCKCHIP 1152 bool "Support Rockchip SoCs" 1153 select OF_CONTROL 1154 select BLK 1155 select DM 1156 select SPL_DM if SPL 1157 select SYS_MALLOC_F 1158 select SYS_THUMB_BUILD if !ARM64 1159 select SPL_SYS_MALLOC_SIMPLE if SPL 1160 select DM_GPIO 1161 select DM_I2C 1162 select DM_MMC 1163 select DM_SERIAL 1164 select DM_SPI 1165 select DM_SPI_FLASH 1166 select DM_USB if USB 1167 select DM_PWM 1168 select DM_REGULATOR 1169 select ENABLE_ARM_SOC_BOOT0_HOOK 1170 imply CMD_FASTBOOT 1171 imply FASTBOOT 1172 imply FAT_WRITE 1173 imply USB_FUNCTION_FASTBOOT 1174 imply SPL_SYSRESET 1175 imply TPL_SYSRESET 1176 imply ADC 1177 imply SARADC_ROCKCHIP 1178 1179config TARGET_THUNDERX_88XX 1180 bool "Support ThunderX 88xx" 1181 select ARM64 1182 select OF_CONTROL 1183 select SYS_CACHE_SHIFT_7 1184 select PL01X_SERIAL 1185 1186config ARCH_ASPEED 1187 bool "Support Aspeed SoCs" 1188 select OF_CONTROL 1189 select DM 1190 1191endchoice 1192 1193source "arch/arm/mach-aspeed/Kconfig" 1194 1195source "arch/arm/mach-at91/Kconfig" 1196 1197source "arch/arm/mach-bcm283x/Kconfig" 1198 1199source "arch/arm/mach-davinci/Kconfig" 1200 1201source "arch/arm/mach-exynos/Kconfig" 1202 1203source "arch/arm/mach-highbank/Kconfig" 1204 1205source "arch/arm/mach-integrator/Kconfig" 1206 1207source "arch/arm/mach-keystone/Kconfig" 1208 1209source "arch/arm/mach-kirkwood/Kconfig" 1210 1211source "arch/arm/mach-mvebu/Kconfig" 1212 1213source "arch/arm/cpu/armv7/ls102xa/Kconfig" 1214 1215source "arch/arm/mach-imx/mx2/Kconfig" 1216 1217source "arch/arm/mach-imx/mx5/Kconfig" 1218 1219source "arch/arm/mach-imx/mx6/Kconfig" 1220 1221source "arch/arm/mach-imx/mx7/Kconfig" 1222 1223source "arch/arm/mach-imx/mx7ulp/Kconfig" 1224 1225source "arch/arm/mach-imx/mx8m/Kconfig" 1226 1227source "arch/arm/mach-imx/mxs/Kconfig" 1228 1229source "arch/arm/mach-omap2/Kconfig" 1230 1231source "arch/arm/cpu/armv8/fsl-layerscape/Kconfig" 1232 1233source "arch/arm/mach-orion5x/Kconfig" 1234 1235source "arch/arm/mach-rmobile/Kconfig" 1236 1237source "arch/arm/mach-meson/Kconfig" 1238 1239source "arch/arm/mach-qemu/Kconfig" 1240 1241source "arch/arm/mach-rockchip/Kconfig" 1242 1243source "arch/arm/mach-s5pc1xx/Kconfig" 1244 1245source "arch/arm/mach-snapdragon/Kconfig" 1246 1247source "arch/arm/mach-socfpga/Kconfig" 1248 1249source "arch/arm/mach-sti/Kconfig" 1250 1251source "arch/arm/mach-stm32/Kconfig" 1252 1253source "arch/arm/mach-sunxi/Kconfig" 1254 1255source "arch/arm/mach-tegra/Kconfig" 1256 1257source "arch/arm/mach-uniphier/Kconfig" 1258 1259source "arch/arm/cpu/armv7/vf610/Kconfig" 1260 1261source "arch/arm/mach-zynq/Kconfig" 1262 1263source "arch/arm/cpu/armv7/Kconfig" 1264 1265source "arch/arm/cpu/armv8/zynqmp/Kconfig" 1266 1267source "arch/arm/cpu/armv8/Kconfig" 1268 1269source "arch/arm/mach-imx/Kconfig" 1270 1271source "board/bosch/shc/Kconfig" 1272source "board/CarMediaLab/flea3/Kconfig" 1273source "board/Marvell/aspenite/Kconfig" 1274source "board/Marvell/gplugd/Kconfig" 1275source "board/armadeus/apf27/Kconfig" 1276source "board/armltd/vexpress/Kconfig" 1277source "board/armltd/vexpress64/Kconfig" 1278source "board/broadcom/bcm23550_w1d/Kconfig" 1279source "board/broadcom/bcm28155_ap/Kconfig" 1280source "board/broadcom/bcmcygnus/Kconfig" 1281source "board/broadcom/bcmnsp/Kconfig" 1282source "board/broadcom/bcmns2/Kconfig" 1283source "board/cavium/thunderx/Kconfig" 1284source "board/cirrus/edb93xx/Kconfig" 1285source "board/eets/pdu001/Kconfig" 1286source "board/freescale/ls2080a/Kconfig" 1287source "board/freescale/ls2080aqds/Kconfig" 1288source "board/freescale/ls2080ardb/Kconfig" 1289source "board/freescale/ls1088a/Kconfig" 1290source "board/freescale/ls1021aqds/Kconfig" 1291source "board/freescale/ls1043aqds/Kconfig" 1292source "board/freescale/ls1021atwr/Kconfig" 1293source "board/freescale/ls1021aiot/Kconfig" 1294source "board/freescale/ls1046aqds/Kconfig" 1295source "board/freescale/ls1043ardb/Kconfig" 1296source "board/freescale/ls1046ardb/Kconfig" 1297source "board/freescale/ls1012aqds/Kconfig" 1298source "board/freescale/ls1012ardb/Kconfig" 1299source "board/freescale/ls1012afrdm/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/phytec/pcm051/Kconfig" 1313source "board/silica/pengwyn/Kconfig" 1314source "board/spear/spear300/Kconfig" 1315source "board/spear/spear310/Kconfig" 1316source "board/spear/spear320/Kconfig" 1317source "board/spear/spear600/Kconfig" 1318source "board/spear/x600/Kconfig" 1319source "board/st/stv0991/Kconfig" 1320source "board/tcl/sl50/Kconfig" 1321source "board/birdland/bav335x/Kconfig" 1322source "board/timll/devkit3250/Kconfig" 1323source "board/toradex/colibri_pxa270/Kconfig" 1324source "board/vscom/baltos/Kconfig" 1325source "board/woodburn/Kconfig" 1326source "board/work-microwave/work_92105/Kconfig" 1327source "board/zipitz2/Kconfig" 1328 1329source "arch/arm/Kconfig.debug" 1330 1331endmenu 1332 1333config SPL_LDSCRIPT 1334 default "arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds" if ARCH_MX23 || ARCH_MX28 1335 default "arch/arm/cpu/arm1136/u-boot-spl.lds" if CPU_ARM1136 1336 default "arch/arm/cpu/armv8/u-boot-spl.lds" if ARM64 1337 1338 1339