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