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